@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--navy:#101c35;--panel:#1b2b49;--panel2:#233755;--gold:#d5b56a;--cream:#f4f1e9;--muted:#aebbd0;--red:#c95757;--green:#65bd91}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at top,#203657 0%,var(--navy) 55%);color:var(--cream);font-family:Inter,system-ui,sans-serif;min-height:100vh}.snow{position:absolute;top:70px;left:0;width:100%;text-align:center;color:#d5b56a;opacity:.22;letter-spacing:12px;pointer-events:none;font-size:18px}.topbar{height:62px;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 850px)/2));background:#0c172bd9;position:relative;z-index:2}.brand{font:12px 'DM Mono',monospace;letter-spacing:1px;color:var(--cream);text-decoration:none}.brand b{color:var(--gold);font-weight:500}.brand-mark{color:var(--gold);font-size:18px;margin-right:7px}.logout{color:var(--muted);font-size:12px;text-decoration:none}.container{width:min(100% - 28px,760px);margin:0 auto;padding:30px 0 50px}.hero{text-align:center;padding:24px 12px 26px}.eyebrow,.day-kicker{font:11px 'DM Mono',monospace;letter-spacing:1.7px;color:var(--gold)}h1{font:700 clamp(32px,8vw,54px) 'Playfair Display',serif;letter-spacing:1px;margin:13px 0 2px}h1 em{color:var(--gold)}.subtitle{font:italic 19px 'Playfair Display',serif;color:#d9dfeb;margin:5px 0 14px}.intro{max-width:510px;margin:0 auto;color:#c2ccda;line-height:1.65;font-size:14px}.panel,.login-card{background:linear-gradient(145deg,#203452,#182944);border:1px solid #ffffff17;border-radius:18px;padding:20px;margin:14px 0;box-shadow:0 12px 35px #0002}.suspect{display:flex;align-items:center;gap:17px}.suspect img{width:90px;height:90px;object-fit:cover;border-radius:15px;border:2px solid #d5b56a66}.suspect h2{font:700 25px 'Playfair Display',serif;margin:5px 0}.suspect p{font-size:12px;color:var(--muted);margin:0 0 9px}.status{font:10px 'DM Mono',monospace;color:var(--gold);letter-spacing:1px}.progress-head,.section-title{display:flex;justify-content:space-between;align-items:center;font:11px 'DM Mono',monospace;letter-spacing:1px;color:var(--gold)}.progress-head strong{font-size:15px}.progress-track{height:8px;background:#101c35;border-radius:10px;margin:13px 0 8px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#b48b40,var(--gold));border-radius:10px}.small{font-size:12px}.tiny{font-size:10px}.muted{color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:17px}.day{min-height:70px;border:1px solid #ffffff18;background:#14233b;border-radius:12px;color:#e7eaf0;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:.15s}.day span{font-size:13px;color:var(--gold)}.day b{font:600 17px 'DM Mono',monospace}.day.locked{opacity:.45}.day.done{border-color:#65bd9177;background:#1c3b3c}.day.done span{color:var(--green)}.day.selected{border:2px solid var(--gold);background:#35425a}.story-panel{padding:23px}.story-panel h2{font:700 29px 'Playfair Display',serif;margin:9px 0 15px}.story{font-size:15px;line-height:1.8;color:#e0e5ed;white-space:normal}.evidence{display:flex;gap:12px;padding:14px;background:#101c3580;border:1px solid #d5b56a35;border-radius:12px;margin:18px 0}.evidence>span{color:var(--gold);font-size:22px}.evidence b{font-size:12px;color:var(--gold)}.evidence p{font-size:13px;line-height:1.5;margin:4px 0 0;color:#dce3ed}.challenge{border-top:1px solid #ffffff1b;padding-top:20px;margin-top:20px}.challenge h3{font-size:17px;line-height:1.5;margin:9px 0 17px}.answer-input,input:not([type=radio]){width:100%;padding:14px;border:1px solid #ffffff30;border-radius:10px;background:#101c35;color:white;font:15px Inter,sans-serif;outline:none}.answer-input:focus,input:focus{border-color:var(--gold)}.button{border:0;border-radius:10px;padding:13px 16px;font-weight:700;cursor:pointer;font-size:13px}.button.gold{background:var(--gold);color:#18243a;width:100%;margin-top:12px}.button.subtle{background:#283b58;color:#e7dfcc;border:1px solid #ffffff20;padding:9px 12px}.options{display:grid;gap:9px}.option{display:block;cursor:pointer}.option input{position:absolute;opacity:0}.option span{display:block;padding:13px;border:1px solid #ffffff24;border-radius:10px;background:#14233b;font-size:14px}.option input:checked+span{border-color:var(--gold);background:#3b3b38}.hints{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}.hints p{width:100%;margin:0}.hint-form{margin:0}.hint-box,.success-box{padding:14px;border-radius:11px;margin-top:14px;line-height:1.6;font-size:13px}.hint-box{background:#293b57;border:1px solid #d5b56a66}.success-box{background:#173c38;border:1px solid #65bd9177}.success-box b{color:#8be0ae;font:12px 'DM Mono',monospace;letter-spacing:1px}.success-box p{margin:7px 0 0}.error{color:#ffaaa5;font-size:13px}.story-photo{width:100%;max-height:260px;object-fit:cover;border-radius:13px;margin:5px 0 12px}.footer-note{text-align:center}.footer-note p{font:italic 17px 'Playfair Display',serif;color:#e2d5b4}.footer-note span{font:10px 'DM Mono',monospace;color:var(--gold);letter-spacing:1px}.login-hero{padding-top:45px}.cat-placeholder{width:112px;height:112px;margin:22px auto;border-radius:50%;border:2px solid var(--gold);background:#263b5b;overflow:hidden;display:grid;place-items:center}.cat-placeholder img{width:100%;height:100%;object-fit:cover}.fallback-cat{display:none;font-size:56px}.login-card{max-width:390px;margin:24px auto;text-align:left}.login-card label{display:block;font-size:12px;color:var(--muted);margin-bottom:13px}.login-card input{margin-top:7px}.login-card .button{margin-top:6px}.login-hero .small{margin-top:15px}footer{text-align:center;padding:22px;color:#8292aa;font:10px 'DM Mono',monospace;letter-spacing:1.4px}footer span{color:var(--gold);padding:0 8px}
@media(min-width:620px){.calendar{grid-template-columns:repeat(6,1fr)}.day{min-height:82px}.container{padding-top:42px}.panel{padding:24px}.story-panel{padding:30px}}@media(max-width:380px){.calendar{gap:6px}.day{min-height:62px}.panel{padding:16px}.suspect img{width:74px;height:74px}}
