*{box-sizing:border-box} :root{--bg:#f6f4f0;--paper:#fff;--ink:#171714;--muted:#827e76;--line:#dedad2;--accent:#171714;--soft:#eeece7;--ok:#1b7a4a;--warn:#9a6418}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
body{min-height:100vh}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(246,244,240,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:14px}.logo{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#151513;color:white;font-family:Georgia,serif;font-size:24px}.brand-name{font-weight:800;letter-spacing:.18em;font-size:15px}.brand-sub{font-size:12px;color:var(--muted);margin-top:3px}
.badge{border:1px solid var(--line);background:white;border-radius:99px;padding:9px 13px;font-size:12px}.badge-ok{color:var(--ok);border-color:#bbd9c9}.badge-warn{color:var(--warn)}
.shell{max-width:1440px;margin:auto;padding:54px 4vw 70px}.hero{max-width:920px;margin-bottom:44px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.19em;color:#8d887f;margin:0 0 14px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(46px,6vw,88px);line-height:.92;letter-spacing:-.045em;margin:0 0 26px}.lead{max-width:820px;color:#66625b;font-size:17px;line-height:1.65}
.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:22px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:30px}.settings-panel{position:sticky;top:94px}
.step-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.step-head.compact{margin-bottom:18px}.step-num{font-size:11px;font-weight:800;border:1px solid var(--line);border-radius:99px;padding:7px 9px;color:#77736d}.step-head h2{font-family:Georgia,serif;font-weight:400;font-size:31px;margin:0 0 6px}.step-head p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}.optional{font-family:Inter,sans-serif;color:#9a958d;font-size:11px;margin-left:6px;font-weight:500}
.dropzone{border:1.5px dashed #bbb6ac;border-radius:18px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;background:#faf9f6;transition:.2s;padding:24px}.dropzone:hover,.dropzone.drag{border-color:#171714;background:#f4f2ed}.dropzone.small{min-height:135px}.drop-icon{font-size:30px;margin-bottom:8px}.dropzone strong{font-size:16px}.dropzone span{font-size:13px;color:var(--muted);margin-top:6px}.thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.thumb{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#eee}.thumb img{width:100%;height:100%;object-fit:cover}.thumb button{position:absolute;right:7px;top:7px;border:0;background:rgba(0,0,0,.75);color:white;border-radius:50%;width:28px;height:28px;cursor:pointer}.model-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.divider{height:1px;background:var(--line);margin:32px 0}
.field{display:block;border-top:1px solid var(--line);padding:19px 0}.field>span{display:block;font-weight:700;font-size:13px;margin-bottom:10px}.field em{font-style:normal;color:#9a958d;font-weight:500}.field select,.field textarea{width:100%;border:1px solid #d8d3ca;border-radius:12px;background:white;padding:13px 14px;font:inherit;color:var(--ink)}.field textarea{resize:vertical}.field .hint{display:block;color:var(--muted);font-size:12px;margin-top:8px;line-height:1.4}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks label{font-size:13px;border:1px solid #ddd8d0;border-radius:11px;padding:11px;background:#faf9f7}.checks input{accent-color:#151513;margin-right:6px}.checks .locked{background:#f1efeb;color:#4d4a45}
.fixed-pill{padding:12px 14px;border:1px solid #ddd;border-radius:10px;background:#f0f0f0;color:#333;font-size:14px}
.toggle-row{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:18px;align-items:center}.toggle-row strong{display:block;font-size:13px}.toggle-row small{display:block;color:var(--muted);margin-top:5px;line-height:1.35;max-width:330px}.toggle-row input{width:42px;height:23px;accent-color:#151513}
.face-box{border-top:1px solid var(--line);padding:18px 0}.face-box strong{display:block;font-size:13px;margin-bottom:8px}.face-box ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.5}
.cost{border-radius:14px;background:#f3f0ea;padding:15px;margin:12px 0 18px}.cost>div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.cost strong{text-align:right}.cost small{display:block;color:var(--muted);margin-top:7px;line-height:1.35}
.primary,.secondary{border:0;border-radius:13px;padding:15px 18px;font-weight:750;font-size:14px;cursor:pointer}.primary{width:100%;background:#171714;color:white;display:flex;justify-content:space-between}.primary:disabled{opacity:.35;cursor:not-allowed}.secondary{background:white;border:1px solid var(--line)}.setup-hint{font-size:12px;color:#8f5c16;line-height:1.45}.hidden{display:none!important}
.results{margin-top:34px;background:white;border:1px solid var(--line);border-radius:24px;padding:30px}.results-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.results-head h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:0}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#faf9f7}.result-card img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:#f0f0f0}.result-meta{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px}.result-meta button{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 11px;cursor:pointer}.progress-box{margin:0 0 16px;background:#f3f0ea;border-radius:12px;padding:13px;font-size:13px;color:#5f5a53}.error{color:#a22;line-height:1.45;padding:18px}.notes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.notes>div{padding:20px;border-top:1px solid var(--line)}.notes strong{font-size:12px;text-transform:uppercase;letter-spacing:.15em}.notes p{color:var(--muted);font-size:13px;line-height:1.55}
@media(max-width:980px){.grid{grid-template-columns:1fr}.settings-panel{position:static}.results-grid{grid-template-columns:1fr}.hero h1{font-size:58px}}
@media(max-width:640px){.shell{padding:34px 16px 50px}.topbar{padding:0 16px}.brand-sub{display:none}.panel{padding:20px;border-radius:18px}.thumb-grid{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:repeat(3,1fr)}.checks{grid-template-columns:1fr}.notes{grid-template-columns:1fr}.hero h1{font-size:44px}}


.settings-panel select{cursor:pointer}
.field select:focus,.field textarea:focus{outline:2px solid rgba(23,23,20,.12);border-color:#aaa59c}
.face-box{background:#faf9f7;border-radius:14px;padding:16px;margin:4px 0 10px;border:1px solid #e1ddd5}
.face-box strong{font-size:13px}
.face-box li{margin:3px 0}

.model-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.model-card{appearance:none;border:1px solid #ddd8d0;background:#fff;border-radius:12px;padding:5px;cursor:pointer;text-align:left;color:var(--ink);transition:.16s}.model-card:hover{transform:translateY(-1px);border-color:#aaa59c}.model-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:9px;background:#eee}.model-card strong{display:block;font-size:11px;letter-spacing:.08em;margin:7px 3px 1px}.model-card small{display:block;font-size:10px;color:var(--muted);margin:0 3px 5px;line-height:1.25}.model-card.selected{border:2px solid #171714;padding:4px;box-shadow:0 0 0 2px #eeece7}.custom-model-active .model-card{opacity:.48}.custom-model-active .model-card.selected{opacity:.75}@media(max-width:640px){.model-library{grid-template-columns:repeat(3,1fr)}}


.mode-grid{display:grid;gap:10px;margin-top:8px}.mode-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #ddd;border-radius:12px;padding:12px;background:#fff;cursor:pointer}.mode-option:has(input:checked){border-color:#111;box-shadow:0 0 0 1px #111 inset}.mode-option input{margin-top:3px}.mode-option div{display:grid;gap:3px}.mode-option small{color:#777;line-height:1.35}.step-actions{margin:12px 0 18px;padding:16px;border:1px solid #ddd;border-radius:14px;background:#fafafa;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.step-review-copy{display:grid;gap:4px;max-width:560px}.step-review-copy small{color:#666}.step-action-buttons{display:flex;gap:10px;flex-wrap:wrap}.step-primary{width:auto;margin:0}.step-actions.hidden{display:none}@media(max-width:760px){.step-actions{align-items:stretch}.step-action-buttons{display:grid;width:100%}.step-action-buttons button{width:100%}}
