:root{color:#171613;--paper:#fbfaf6;--line:#d8d2c7;--muted:#777168;--ink:#171613;--soft:#eee9df;background:#f3f0e9;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:#f3f0e9;margin:0}button,input,select,textarea{font:inherit}.shell{max-width:1500px;margin:0 auto;padding:34px 32px 72px}.site-header{border-bottom:1px solid #cfc8bc;grid-template-columns:180px minmax(0,1fr) 180px;align-items:start;margin-bottom:34px;padding:6px 0 30px;display:grid}.brand{letter-spacing:.23em;padding-top:8px;font-family:Georgia,serif;font-size:15px}.site-header>div:nth-child(2){text-align:center;max-width:720px;margin:auto}.kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0 0 12px;font-size:10px}h1,h2,h3,h4{font-family:Georgia,serif;font-weight:400}h1{margin:0 0 12px;font-size:44px;line-height:1.05}.intro{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.site-header a{color:var(--ink);border-bottom:1px solid #aaa39a;justify-self:end;padding:8px 0;font-size:12px;text-decoration:none}.workspace{grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);align-items:start;gap:32px;display:grid}.configurator{gap:18px;display:grid}.step{background:var(--paper);border:1px solid var(--line);padding:28px}.step-title{grid-template-columns:46px 1fr;align-items:start;gap:12px;margin-bottom:22px;display:grid}.step-title>span{letter-spacing:.14em;color:var(--muted);padding-top:7px;font-size:11px}.step-title h2{margin:0 0 5px;font-size:28px}.step-title p{color:var(--muted);margin:0;font-size:13px}.setting-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.setting-card,.choice-card{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fffdf9;padding:0;transition:border-color .15s,transform .15s,background .15s}.setting-card:hover,.choice-card:hover{border-color:#8e877d}.setting-card.selected,.choice-card.selected{border-color:#171613;box-shadow:inset 0 0 0 1px #171613}.setting-image,.choice-image{background:#f4f1eb;display:block;overflow:hidden}.setting-image{aspect-ratio:1}.setting-image img,.choice-image img{object-fit:contain;width:100%;height:100%;display:block}.setting-card>span:last-child{min-height:43px;padding:10px 11px 12px;font-size:12px;line-height:1.25;display:block}.choice-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.choice-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.choice-image{aspect-ratio:1}.choice-label{min-height:37px;padding:8px 9px 10px;font-size:11px;line-height:1.25;display:block}.subhead{text-transform:uppercase;letter-spacing:.14em;color:#615b53;margin:26px 0 10px;font-family:Arial,Helvetica,sans-serif;font-size:10px}.paired-stones{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stone-panel{border:1px solid var(--line);background:#f8f5ef;padding:18px}.stone-panel-head{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:10px;margin-bottom:16px;padding-bottom:14px;display:grid}.stone-panel-head>span{border:1px solid #1e1b17;border-radius:50%;place-items:center;width:30px;height:30px;font:14px Georgia,serif;display:grid}.stone-panel h3{margin:0 0 4px;font-size:20px}.stone-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.stone-panel h4{text-transform:uppercase;letter-spacing:.13em;color:#615b53;margin:20px 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:10px}.preview-column{position:sticky;top:22px}.preview-card{background:var(--paper);border:1px solid var(--line);padding:18px}.preview-head{text-transform:uppercase;letter-spacing:.13em;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;display:flex}.status-dot{color:var(--muted)}.preview-stage{aspect-ratio:1;background:#ece8df;border:1px solid #e0d9ce;place-items:center;display:grid;overflow:hidden}.preview-stage img{object-fit:contain;width:100%;height:100%;display:block}.empty-preview{text-align:center;color:#716b62;max-width:230px;padding:24px}.empty-preview span{color:#a7a095;font:28px Georgia,serif}.empty-preview p{font-size:12px;line-height:1.6}.summary{flex-wrap:wrap;gap:6px;padding:14px 0;display:flex}.summary span{background:#fffdf9;border:1px solid #d7d0c5;padding:6px 8px;font-size:10px}.generate,.secondary-action{cursor:pointer;width:100%;padding:14px 16px}.generate{color:#fff;background:#191713;border:1px solid #191713}.generate:disabled,.secondary-action:disabled{opacity:.38;cursor:not-allowed}.secondary-action{color:#191713;background:0 0;border:1px solid #191713;margin-top:8px}.preview-note{color:#7a746b;margin:12px 0 0;font-size:10px;line-height:1.5}.error{color:#8b3027;font-size:12px;line-height:1.5}.view-switch{color:var(--muted);justify-content:space-between;align-items:center;margin:-4px 0 12px;font-size:10px;display:flex}.view-switch button{cursor:pointer;color:var(--ink);background:0 0;border:0;padding:0;text-decoration:underline}label{gap:8px;font-size:13px;display:grid}input,select,textarea{background:#fff;border:1px solid #bdb5a9;padding:12px}.result{background:var(--paper);border:1px solid var(--line);padding:28px}.result img{width:100%;height:auto}.result a{color:var(--ink)}@media (max-width:1100px){.setting-grid{grid-template-columns:repeat(3,1fr)}.choice-grid{grid-template-columns:repeat(4,1fr)}.paired-stones{grid-template-columns:1fr}.choice-grid.compact{grid-template-columns:repeat(5,1fr)}}@media (max-width:820px){.shell{padding:22px 16px 48px}.site-header{text-align:center;grid-template-columns:1fr;gap:18px}.brand,.site-header a{justify-self:center}.workspace{grid-template-columns:1fr}.preview-column{order:-1;position:static}.preview-card{grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:0 16px;display:grid}.preview-head,.preview-stage{grid-column:1}.summary,.generate,.secondary-action,.preview-note,.error,.view-switch{grid-column:2}.preview-stage{grid-row:2/9}.summary{align-content:start;padding-top:0}.step{padding:22px}.setting-grid{grid-template-columns:repeat(2,1fr)}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){h1{font-size:36px}.preview-card{display:block}.setting-grid,.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,1fr)}.step-title{grid-template-columns:36px 1fr}.step-title h2{font-size:24px}}
