:root{--bg:#f6f4ef;--surface:#fff;--surface-soft:#fbfaf7;--surface-strong:#16213a;--text:#15181f;--muted:#667085;--line:#d8d2c4;--line-strong:#b9ad95;--accent:#0f766e;--accent-strong:#134e4a;--gold:#c1842f;--copper:#a6532f;--ink:#27364f;--shadow:0 18px 45px #21201b1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 15% 0%, #0f766e21, transparent 26rem), radial-gradient(circle at 90% 6%, #c1842f2e, transparent 24rem), var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{max-width:1240px;margin:0 auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:24px;padding:8px 0 24px;display:flex}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-mark{border-radius:16px;width:58px;height:58px;box-shadow:0 10px 25px #16213a2e}.topbar h1,.hero-copy h2,.section-heading h2,.wave-heading h2,.missing-panel h2,.feedback-panel h2{letter-spacing:0;margin:0}.topbar h1{font-size:clamp(2rem,4vw,3.7rem);line-height:.95}.eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.nav-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-pills a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:10px 14px;font-size:.92rem;font-weight:700}.nav-pills a:hover{border-color:var(--line-strong);transform:translateY(-1px)}.hero-panel{box-shadow:var(--shadow);color:#fff;background:linear-gradient(135deg,#0f766e38,#0000 34%),linear-gradient(#16213a 0%,#202b43 100%);border-radius:8px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch;gap:24px;min-height:300px;display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(28px,5vw,56px);display:flex}.hero-badge{color:#eaf5f4;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;width:fit-content;margin-bottom:22px;padding:7px 12px 7px 7px;font-size:.86rem;font-weight:800;display:flex}.hero-badge img{border-radius:999px;width:28px;height:28px}.hero-copy .eyebrow{color:#8ddbd4}.hero-copy h2{max-width:760px;font-size:clamp(2rem,4vw,4rem);line-height:1}.hero-copy p:not(.eyebrow){color:#d8e3ea;max-width:680px;margin:18px 0 0;font-size:1.05rem;line-height:1.6}.shelf-visual{background:linear-gradient(#ffffff1f,#0000 38%),repeating-linear-gradient(90deg,#ffffff0f 0 1px,#0000 1px 64px);flex-direction:column;justify-content:end;min-height:280px;padding:32px;display:flex}.shelf-row{border-bottom:10px solid #fff3;justify-content:center;align-items:end;gap:14px;min-height:120px;padding:0 8px 10px;display:flex}.figure-token,.box-token{filter:drop-shadow(0 16px 18px #00000038);display:block}.figure-token{background:var(--gold);border-radius:999px 999px 8px 8px;width:38px;height:84px}.figure-token:before{content:"";background:#f2d6aa;border-radius:50%;width:28px;height:28px;margin:-20px auto 0;display:block}.figure-token.tall{height:106px}.figure-token.short{height:66px}.figure-token.teal{background:var(--accent)}.box-token{background:#e6e0d1;border:4px solid #fff6;border-radius:6px;width:62px;height:78px}.box-token.copper{background:var(--copper)}.box-token.ink{background:#7a8cab}.stats-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 0;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 8px 24px #21201b0d}.stat strong{font-size:1.8rem;line-height:1;display:block}.stat span{color:var(--muted);margin-top:8px;font-size:.9rem;display:block}.workspace-grid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.wave-list,.checklist-panel,.missing-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.wave-list{gap:10px;padding:18px;display:grid;position:sticky;top:16px}.section-heading h2,.wave-heading h2,.missing-panel h2{font-size:1.55rem}.wave-button{background:var(--surface-soft);color:var(--text);text-align:left;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px;display:flex}.wave-button:hover{border-color:var(--line-strong)}.wave-button.active{background:#e7f4f2;border-color:#83c5be}.wave-button strong,.wave-button small{display:block}.wave-button small{color:var(--muted);margin-top:4px}.wave-button b{color:var(--accent-strong);font-size:1.05rem}.checklist-panel{padding:22px}.wave-heading{justify-content:space-between;align-items:start;gap:24px;margin-bottom:18px;display:flex}.wave-heading p:not(.eyebrow){color:var(--muted);max-width:680px;margin:8px 0 0;line-height:1.5}.completion-stack{gap:10px;min-width:230px;display:grid}.completion{background:var(--surface-soft);border-radius:8px;padding:12px}.completion div{justify-content:space-between;align-items:center;display:flex}.completion span{color:var(--muted);font-size:.86rem;font-weight:700}progress{accent-color:var(--accent);width:100%;height:10px;margin-top:8px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.item-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:82px minmax(0,1fr);min-height:178px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.item-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 14px 30px #21201b14}.item-art{color:#ffffffd1;background:linear-gradient(160deg,#d9ccad,#0f766e);justify-content:center;align-items:center;font-size:2.8rem;font-weight:900;display:flex}.item-art img{object-fit:cover;width:100%;height:100%}.item-body{gap:14px;padding:14px;display:grid}.item-title-row,.control-row{justify-content:space-between;align-items:start;gap:12px;display:flex}.item-title-row h3{margin:0;font-size:1.05rem}.item-title-row p{color:var(--muted);margin:4px 0 0;font-size:.86rem;line-height:1.35}.check-control,.baf-control{white-space:nowrap;align-items:center;gap:8px;display:flex}.check-control span,.baf-control span,.control-row label{color:var(--ink);font-size:.86rem;font-weight:800}.check-control input,.baf-control input{accent-color:var(--accent);width:18px;height:18px}.control-row label:first-child{gap:5px;min-width:160px;display:grid}select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;width:100%;min-height:36px;padding:6px 8px}.baf-control{background:#f2f7f6;border-radius:8px;padding:10px}.no-part{color:var(--muted);margin:0;font-size:.86rem;font-weight:700}.photo-control{background:#fffaf0;border:1px solid #ead9b7;border-radius:8px;gap:10px;padding:10px;display:grid}.photo-control p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.photo-kicker{letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--accent-strong)!important;font-size:.72rem!important}.photo-control-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.photo-upload{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 11px;font-size:.84rem;font-weight:900;display:inline-flex}.photo-upload:hover{border-color:var(--line-strong)}.photo-upload input{opacity:0;width:1px;height:1px;position:absolute}.photo-fields{gap:8px;display:grid}.photo-fields label{color:var(--ink);gap:5px;font-size:.8rem;font-weight:900;display:grid}.photo-fields input,.photo-fields textarea{background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:6px;width:100%;min-height:34px;padding:7px 8px}.photo-fields textarea{resize:vertical;min-height:70px}.text-button{color:var(--copper);background:0 0;border:0;padding:6px 0;font-size:.84rem;font-weight:900}.permission-control{color:var(--ink);align-items:start;gap:8px;display:flex}.permission-control input{accent-color:var(--accent);flex:none;width:17px;height:17px;margin-top:2px}.permission-control span{font-size:.8rem;font-weight:800;line-height:1.35}.contribute-link{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:fit-content;padding:9px 11px;font-size:.84rem;font-weight:900;display:inline-flex}.contribute-link.disabled{color:#746b5d;cursor:not-allowed;background:#d9d2c2;border:0}.submission-message{font-weight:900;color:var(--accent-strong)!important}.submission-message.error{color:#a23f2d!important}.missing-panel{margin-top:18px;padding:22px}.missing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.missing-list{background:var(--surface-soft);border-radius:8px;min-height:160px;padding:16px}.missing-list h3{margin:0 0 12px}.missing-list ul{gap:8px;margin:0;padding-left:18px;display:grid}.missing-list p,.missing-list li{color:var(--muted);line-height:1.4}.missing-list p{margin:0}.feedback-panel{background:var(--surface-strong);box-shadow:var(--shadow);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:26px;display:flex}.feedback-panel .eyebrow{color:#8ddbd4}.feedback-panel h2{font-size:1.7rem}.feedback-panel p{color:#d8e3ea;max-width:680px;margin:8px 0 0;line-height:1.5}.feedback-button{background:var(--gold);color:#1e1a12;border-radius:8px;flex:none;padding:13px 16px;font-weight:900}.feedback-button:hover{background:#d0953b}.feedback-button.disabled{color:#d8e3ea;cursor:not-allowed;background:#ffffff29}@media (max-width:980px){.hero-panel,.workspace-grid{grid-template-columns:1fr}.wave-list{position:static}.stats-strip,.item-grid,.missing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-panel{flex-direction:column;align-items:stretch}}@media (max-width:680px){.app-shell{padding:16px}.topbar,.wave-heading,.item-title-row,.control-row{flex-direction:column;align-items:stretch}.nav-pills{width:100%}.nav-pills a{text-align:center;flex:1}.brand-mark{width:50px;height:50px}.stats-strip,.item-grid,.missing-grid,.item-card{grid-template-columns:1fr}.item-art{min-height:96px}.completion-stack{min-width:0}}
