:root{--font-serif:"Fraunces","IBM Plex Sans Thai",Georgia,serif;--font-sans:"IBM Plex Sans Thai","Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--bg:#11131a;--surface:#1a1d28;--surface2:#232736;--text:#f4f1ea;--text-soft:#d8d4c9;--muted:#9da3b3;--line:#2a2f3d;--accent:#d4a657;--accent-soft:#e9c07a;--red:#c8485e;--brand-red:#d03050;--green:#4fb896;--gold:#e9c07a;--radius:12px}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:var(--font-sans)}body.game-active{overflow:hidden}.screen{position:fixed;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .45s ease,visibility .45s;z-index:1;display:flex;flex-direction:column}.screen.active{opacity:1;pointer-events:auto;visibility:visible;z-index:2}.screen-content{max-width:480px;margin:0 auto;padding:24px 20px 60px;flex:1 0 auto;width:100%;display:flex;flex-direction:column}.btn{display:block;width:100%;padding:16px 24px;border:1px solid transparent;box-sizing:border-box;border-radius:var(--radius);font-family:inherit;font-size:16px;font-weight:600;line-height:1.25;cursor:pointer;transition:transform .12s,opacity .15s;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn.btn-emoji{justify-content:center;gap:6px}.btn-emoji-icon,.btn.btn-emoji{display:flex;align-items:center}.btn-emoji-icon{font-size:18px;line-height:0}.btn-primary{background:var(--accent);color:#1a1509;padding:15px 20px;border-radius:10px;font-size:15px;font-weight:600}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--muted)}.btn-danger{background:var(--red);color:#fff;border:1px solid var(--red)}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}.btn-ghost:hover{background:rgba(245,158,11,.1)}.btn:disabled{opacity:.4;pointer-events:none}.mono-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}html[lang=th] .mono-label{letter-spacing:.3px;font-size:11px}.mono-label.mono-label-accent{color:var(--accent-soft)}.mono-rule{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mono-rule-hair{flex:1 1;height:1px;background:var(--line)}.mono-rule-count{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}html[lang=th] .mono-rule-count{letter-spacing:.3px;font-size:11px}.mono-rule-pins{font-family:var(--font-mono);font-size:10px;color:var(--accent-soft);letter-spacing:.5px;white-space:nowrap;padding:2px 8px;border:1px solid var(--line);border-radius:10px}html[lang=th] .mono-rule-pins{font-size:11px}.section-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;display:flex;align-items:center;gap:12px}html[lang=th] .section-label{letter-spacing:.3px;font-size:11px}.section-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.lives-bar .section-label{display:block}.lives-bar .section-label:after{display:none}.section-divider{height:1px;background:var(--line);margin:24px 0}.intro-screen{flex:1 1;display:flex;flex-direction:column;justify-content:flex-start;padding-top:0}@media (min-width:768px){.intro-screen{justify-content:center;padding-block:40px}}.intro-stamp{display:flex;align-items:center;gap:12px;margin:0 0 36px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:2px;color:rgba(208,48,80,.6);text-transform:uppercase;opacity:0;animation:fadeIn .6s ease forwards}html[lang=th] .intro-stamp{letter-spacing:1.5px}.intro-stamp-line{flex:1 1;height:0;border-top:1px dashed;opacity:.65}.intro-hero{text-align:center;padding:0 0 32px}.intro-hero-date{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase;margin-bottom:18px;opacity:0;animation:fadeInUp .5s ease .2s forwards}.intro-logotype{font-family:var(--font-serif);font-size:52px;font-weight:600;line-height:.95;letter-spacing:-.02em;color:var(--text);margin:0;opacity:0;animation:fadeInUp .6s ease .4s forwards}.intro-logotype em{display:block;font-style:italic;color:var(--brand-red);font-weight:500;margin-top:2px}.intro-file-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px 10px;border:1px solid var(--line);border-bottom:2px solid var(--brand-red);border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1.5px;color:var(--text);text-transform:uppercase;margin-top:22px;opacity:0;animation:fadeInUp .5s ease .7s forwards}.intro-file-tab .intro-file-id{font-weight:600}.intro-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand-red);border-radius:12px;padding:18px 20px 20px;margin:0 0 16px;opacity:0;animation:fadeInUp .5s ease .9s forwards}.intro-card-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}html[lang=th] .intro-card-label{letter-spacing:.3px;font-size:11px}.intro-card-title{font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.2;color:var(--text);margin:0 0 10px}.intro-card-preview{font-size:13.5px;color:var(--text-soft);line-height:1.65;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.intro-card-divider{height:0;border-top:1px dashed var(--line);margin:0 0 14px}.intro-card-chips{display:flex;flex-wrap:wrap;gap:6px}.intro-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);background:var(--surface2);border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.8px;color:var(--text-soft);text-transform:uppercase}html[lang=th] .intro-chip{letter-spacing:.2px;font-size:11px}.intro-chip-emoji{font-size:13px;line-height:1;letter-spacing:0}.intro-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 20px;background:var(--brand-red);color:#fff;border:none;border-radius:10px;font-family:var(--font-sans);font-size:16px;font-weight:600;cursor:pointer;letter-spacing:.2px;box-shadow:0 4px 18px rgba(208,48,80,.3);transition:transform .12s,box-shadow .15s,background .15s;-webkit-tap-highlight-color:transparent;opacity:0;animation:fadeInUp .5s ease 1.1s forwards}.intro-cta:hover{background:#e03e60;box-shadow:0 6px 22px rgba(208,48,80,.42)}.intro-cta:active{transform:scale(.98)}.intro-cta-icon{font-size:12px}.intro-bottom-strip{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:16px;opacity:0;animation:fadeInUp .5s ease 1.3s forwards}.intro-bottom-cell{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px 14px;text-align:center;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.intro-bottom-link:hover{border-color:var(--muted);background:var(--surface2)}.intro-bottom-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}html[lang=th] .intro-bottom-label{letter-spacing:.3px;font-size:11px}.intro-bottom-value{font-family:var(--font-mono);font-size:18px;font-weight:500;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.intro-bottom-link .intro-bottom-value{color:var(--accent-soft)}.intro-disclaimer{font-size:11px;color:var(--muted);margin-top:24px;opacity:.8;text-align:center;line-height:1.55}.intro-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:20px;padding-bottom:8px}.intro-footer a{font-size:12px;color:var(--muted);text-decoration:none}.intro-footer a:hover{text-decoration:underline}.intro-footer-btn{background:transparent;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;line-height:1;-webkit-tap-highlight-color:transparent;transition:color .15s}.intro-footer-btn:hover{color:var(--text)}.difficulty-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.difficulty-medium{background:rgba(74,222,128,.15);color:var(--green)}.difficulty-hard{background:rgba(245,158,11,.15);color:var(--gold)}.difficulty-sherlock{background:rgba(200,72,94,.15);color:#e07a8e}.case-header{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase}html[lang=th] .case-header{letter-spacing:.3px;font-size:12px}.case-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.case-header-dot{opacity:.6}.difficulty-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;border:1px solid;background:transparent}html[lang=th] .difficulty-pill{letter-spacing:.3px;font-size:11px}.difficulty-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.difficulty-pill--medium{color:var(--green);background:rgba(79,184,150,.12);border-color:rgba(79,184,150,.35)}.difficulty-pill--hard{color:var(--accent-soft);background:rgba(212,166,87,.12);border-color:rgba(212,166,87,.35)}.difficulty-pill--sherlock{color:#e07a8e;background:rgba(200,72,94,.12);border-color:rgba(200,72,94,.35)}.case-title{font-family:var(--font-serif);font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--text);margin:6px 0 12px}.theme-line{font-size:13px;color:var(--muted);margin-bottom:20px}.theme-line-name{color:var(--accent-soft);font-weight:500}.story-text{font-family:var(--font-sans);font-size:16px;line-height:1.85;color:var(--text-soft);white-space:pre-line}.story-text strong{color:var(--text);font-weight:600;background:linear-gradient(transparent 60%,rgba(212,166,87,.2) 0);padding:0 2px}.gallery-wrap{position:relative}.gallery-wrap:after,.gallery-wrap:before{content:"";position:absolute;top:0;bottom:0;width:24px;pointer-events:none;z-index:1;transition:opacity .3s ease}.gallery-wrap:before{left:0;background:linear-gradient(90deg,var(--bg),transparent);opacity:0}.gallery-wrap:after{right:0;background:linear-gradient(-90deg,var(--bg),transparent);opacity:1}.gallery-wrap.at-end:before{opacity:1}.gallery-wrap.at-end:after{opacity:0}.gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.evidence-card{flex:0 0 85%;scroll-snap-align:start;background:var(--surface);border-radius:var(--radius);overflow:hidden}.evidence-image{height:140px;display:flex;align-items:center;justify-content:center;position:relative}.evidence-image .emoji-main{font-size:52px;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.evidence-number{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 10px;border-radius:8px;font-size:11px;font-weight:500;color:rgba(255,255,255,.8)}.evidence-info{padding:16px}.evidence-info h3{font-family:var(--font-serif);font-size:16px;font-weight:600;line-height:1.25;margin-bottom:6px}.evidence-info p{font-size:14px;color:#bbb;line-height:1.7}[data-theme=light] .evidence-info p{color:#444}.gallery-nav{display:flex;gap:16px;margin-top:16px;margin-bottom:32px}.gallery-arrow,.gallery-nav{align-items:center;justify-content:center}.gallery-arrow{width:40px;height:40px;border-radius:50%;border:1px solid #333;background:var(--surface);color:var(--text);font-size:18px;cursor:pointer;display:none;transition:opacity .2s,background .2s;-webkit-tap-highlight-color:transparent;flex-shrink:0}.gallery-arrow:hover{background:var(--surface2)}.gallery-arrow:disabled{opacity:.25;pointer-events:none}@media (min-width:520px){.gallery-arrow{display:flex}}.gallery-dots{display:flex;justify-content:center;gap:8px}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#444455;transition:background .3s,transform .3s;cursor:pointer}.gallery-dot.active{background:var(--accent);transform:scale(1.3)}.witness-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;transition:border-color .2s}.witness-card.open{border-color:rgba(212,166,87,.3)}.witness-header{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s}@media (hover:hover){.witness-header:hover{background:var(--surface2)}}.witness-card.open>.witness-header{background:var(--surface2)}.witness-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:600;font-size:18px;flex-shrink:0}.witness-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.witness-role{order:-1;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:1px;text-transform:uppercase;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}html[lang=th] .witness-role{letter-spacing:.3px;font-size:11px}.witness-name{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.witness-card .evidence-list-arrow{transition:transform .3s ease}.witness-card.collapsed .evidence-list-arrow{transform:rotate(0deg)}.witness-card.open .evidence-list-arrow{transform:rotate(180deg)}.witness-collapsible{max-height:0;opacity:0;overflow:hidden;padding:0 16px;transition:max-height .3s ease,opacity .3s ease,padding-bottom .3s ease}.witness-card.open>.witness-collapsible{max-height:500px;opacity:1;padding-bottom:16px}.witness-statement{position:relative;font-family:var(--font-serif);font-size:15.5px;color:var(--text-soft);line-height:1.75;font-style:italic;padding:14px 0 0 18px;margin-top:2px}.witness-statement:before{content:"\201C";position:absolute;left:-2px;top:6px;font-size:38px;line-height:1}.witness-statement:after,.witness-statement:before{font-family:var(--font-serif);font-style:normal;color:var(--accent);font-weight:600}.witness-statement:after{content:"\201D";font-size:22px;line-height:0;vertical-align:-6px;margin-left:5px}.pin-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .2s,border-color .2s;-webkit-tap-highlight-color:transparent;filter:grayscale(1) brightness(1.2);opacity:.6}.pin-btn:hover{opacity:.9}.pin-btn:active{transform:scale(.9)}.pin-btn.pinned{background:var(--accent);border-color:var(--accent);color:#1a1509;filter:none;opacity:1;transform:rotate(-18deg)}.pin-btn.pinned:active{transform:rotate(-18deg) scale(.9)}.pinned-section{background:var(--surface);border:1px dashed var(--accent);border-radius:var(--radius);padding:14px;margin-bottom:20px}.pinned-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pinned-section-title{font-size:13px;font-weight:600;color:var(--accent-soft);letter-spacing:.5px;min-width:0}.pinned-count{color:var(--muted);font-weight:400;margin-left:4px}.pinned-story-link{flex-shrink:0;background:transparent;border:none;padding:2px 0;font-family:inherit;font-size:12px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s}.pinned-story-link:hover{color:var(--accent-soft)}.pinned-empty{padding:14px 12px;text-align:center;font-size:12.5px;color:var(--muted);font-style:italic;line-height:1.5}.pinned-item{background:var(--surface2);border-radius:10px;margin-bottom:8px;overflow:hidden}.pinned-item:last-child{margin-bottom:0}.pinned-item>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pinned-item>summary::-webkit-details-marker{display:none}.pinned-item>summary:after{content:"\25BE";margin-left:auto;color:var(--muted);font-size:11px;transition:transform .2s}.pinned-item[open]>summary:after{transform:rotate(180deg)}.pinned-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.pinned-icon.witness-avatar{border-radius:50%;font-family:var(--font-serif);font-weight:600;font-size:14px}.pinned-label{display:flex;flex-direction:column;min-width:0;flex:1 1;gap:1px}.pinned-prefix{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.3px}.pinned-title{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-body{padding:0 12px 12px;font-size:13.5px;color:var(--text-soft);line-height:1.65}.pinned-body.pinned-statement{font-family:var(--font-serif);font-style:italic;color:var(--text-soft)}[data-theme=light] .pinned-section{background:var(--surface)}[data-theme=light] .pinned-item{background:var(--surface2);border:1px solid var(--line)}.q-header{justify-content:space-between;gap:16px;margin-bottom:22px}.q-header,.q-progress-wrap{display:flex;align-items:center}.q-progress-wrap{gap:10px;min-width:0}.q-progress-num{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:1px;white-space:nowrap}.q-progress-bar{width:120px;height:3px;background:var(--line);border-radius:2px;overflow:hidden}.q-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.q-lives-wrap{display:flex;align-items:center;gap:8px;flex-shrink:0}.q-lives{display:flex;gap:5px}.q-life-dot{width:10px;height:10px;border-radius:50%;background:var(--red);transition:background .3s,transform .3s}.q-life-dot.lost{background:var(--line);transform:scale(.8)}.q-tag{display:block;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent-soft);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}html[lang=th] .q-tag{letter-spacing:.5px;font-size:12px}.lives-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.lives{display:flex;gap:4px;font-size:18px}.heart{display:inline-block;transition:opacity .3s,transform .3s}.heart.lost{opacity:.15;transform:scale(.8)}.question-progress{display:flex;justify-content:center;gap:10px;margin-bottom:24px}.progress-dot{width:10px;height:10px;border-radius:50%;background:#333;transition:background .3s,transform .3s}.progress-dot.current{background:var(--accent);transform:scale(1.3)}.progress-dot.done{background:var(--green)}[data-theme=light] .progress-dot{background:#ddd}[data-theme=light] .progress-dot.current{background:var(--accent)}[data-theme=light] .progress-dot.done{background:var(--green)}.question-block{margin-bottom:28px}.question-text{font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.35;letter-spacing:-.005em;margin-bottom:16px;color:var(--text)}.choices{display:flex;flex-direction:column;gap:8px}.choice{display:grid;grid-template-columns:28px 1fr;align-items:center;grid-gap:14px;gap:14px;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.45;cursor:pointer;transition:border-color .15s,background .15s,transform .12s;text-align:left;-webkit-tap-highlight-color:transparent}@media (hover:hover){.choice:hover:not(.selected):not(.correct):not(.wrong):not(.eliminated){border-color:var(--muted)}}.choice:active{transform:scale(.98)}.choice.selected{border-color:var(--accent);background:rgba(212,166,87,.12);color:var(--text)}.choice-icon{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:500;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.choice.selected .choice-icon{background:var(--accent);border-color:var(--accent);color:#1a1509}.choice.correct{border-color:var(--green);background:rgba(59,166,122,.12)}.choice.correct .choice-icon{background:var(--green);color:#000}.choice.wrong{border-color:var(--red);background:rgba(233,69,96,.1);opacity:.7}.choice.eliminated{opacity:.2;pointer-events:none}.choice.eliminated .choice-icon{background:var(--muted)}.btn-confirm{margin-top:12px;padding:12px 20px;background:var(--accent);color:#1a1509;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent;transition:transform .15s;animation:fadeInUp .25s ease}.btn-confirm:active{transform:scale(.97)}.checking-dots{font-size:24px;letter-spacing:6px;animation:blink 1s ease-in-out infinite}.answer-feedback{margin-top:12px;padding:14px 16px;border-radius:12px;font-size:16px;font-weight:600;text-align:center;animation:feedbackPop .4s ease}.answer-feedback.correct{background:rgba(74,222,128,.15);color:var(--green);border:1px solid rgba(74,222,128,.3)}.answer-feedback.wrong{background:rgba(233,69,96,.15);color:#f06070;border:1px solid rgba(233,69,96,.3)}@keyframes feedbackPop{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.review-link-wrap{margin-bottom:8px}.story-link{background:none;border:none;padding:4px 0;margin:0 auto 16px;display:block;font-family:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-tap-highlight-color:transparent;transition:color .15s}.story-link:hover{color:var(--text)}.story-overlay{position:fixed;inset:0;z-index:9000;background:var(--bg);display:flex;flex-direction:column;animation:storyOverlayIn .28s ease-out}@keyframes storyOverlayIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.story-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:480px;width:100%;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.08)}[data-theme=light] .story-overlay-header{border-bottom-color:rgba(0,0,0,.08)}.story-overlay-title{font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.story-overlay-close{background:var(--surface);border:none;color:var(--text);width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background .15s}.story-overlay-close:hover{background:var(--surface2)}.story-overlay-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px;max-width:480px;width:100%;margin:0 auto}.evidence-detail-image{height:160px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);margin-bottom:20px}.evidence-detail-image .emoji-main{font-size:64px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.evidence-detail-title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:12px}.evidence-detail-desc{font-size:15px;color:#ccc;line-height:1.8}[data-theme=light] .evidence-detail-desc{color:#444}.evidence-card{cursor:pointer}.section-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.view-toggle{background:var(--surface);border:1px solid rgba(255,255,255,.1);color:var(--muted);width:34px;height:34px;border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}.view-toggle:hover{color:var(--text);background:var(--surface2)}[data-theme=light] .view-toggle{border-color:#ddd}.evidence-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.evidence-list-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.evidence-list-item.open{border-color:rgba(212,166,87,.3)}.evidence-list-header{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s}@media (hover:hover){.evidence-list-header:hover{background:var(--surface2)}}.evidence-list-item.open>.evidence-list-header{background:var(--surface2)}.evidence-list-arrow{color:var(--muted);font-size:12px;transition:transform .3s ease;flex-shrink:0}.evidence-list-item.open .evidence-list-arrow{transform:rotate(180deg)}.evidence-list-emoji{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;padding-top:2px;flex-shrink:0}.evidence-list-titlewrap{display:flex;flex-direction:column;gap:2px;min-width:0}.evidence-list-id{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.3px}.evidence-list-title{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.evidence-list-pin-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface2);font-size:12px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.55;transition:opacity .15s,filter .15s,transform .2s,background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.evidence-list-pin-btn:hover{opacity:.8}.evidence-list-pin-btn.pinned{filter:none;opacity:1;transform:rotate(-18deg);background:var(--accent);border-color:var(--accent);color:#1a1509}.evidence-list-body{max-height:0;opacity:0;overflow:hidden;padding:0 16px;transition:max-height .3s ease,opacity .3s ease,padding-bottom .3s ease}.evidence-list-item.open>.evidence-list-body{max-height:500px;opacity:1;padding-bottom:16px}.evidence-list-body p{font-size:14.5px;color:var(--text-soft);line-height:1.75;margin:0;padding-top:14px;border-top:1px dashed var(--line)}[data-theme=light] .evidence-list-item{box-shadow:0 1px 3px rgba(0,0,0,.04)}.error-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.error-dialog{background:var(--surface);border-radius:var(--radius);padding:20px;max-width:320px;width:100%}.error-dialog-title{color:var(--text);font-size:17px;font-weight:600;text-align:center;margin-bottom:16px}.error-dialog-body{color:var(--muted);font-size:14px;line-height:1.5;text-align:center;margin-bottom:24px}.error-dialog-actions{display:flex;gap:16px}.error-dialog-actions .btn{flex:1 1;padding:10px 16px;font-size:14px}.tutorial-banner{background:var(--gold);color:#1a1a2e;padding:10px 16px;border-radius:var(--radius);font-weight:500;margin-bottom:16px}.review-nudge,.tutorial-banner{font-size:13px;text-align:center}.review-nudge{font-family:var(--font-sans);color:var(--accent-soft);background:rgba(212,166,87,.08);border:1px solid rgba(212,166,87,.2);border-radius:10px;max-height:0;opacity:0;padding:0 16px;margin-bottom:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease,padding .35s ease,margin-bottom .35s ease}.review-nudge.show{max-height:80px;opacity:1;padding:10px 16px;margin-bottom:14px}[data-theme=light] .review-nudge{color:var(--accent);background:rgba(163,120,47,.08);border-color:rgba(163,120,47,.3)}.review-link-wrap:has(.ad){text-align:center}.review-link{font-size:13px;color:var(--text);text-decoration:none;cursor:pointer;padding:10px 18px;border:1px solid var(--muted);border-radius:var(--radius);background:var(--surface);font-family:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s}.review-link:hover{background:var(--surface2);border-color:var(--text)}.review-link:before{content:"← "}.review-link.ad{color:var(--accent-soft);border-color:var(--accent-soft)}.review-link.ad:before{content:""}.review-link.ad:hover{background:var(--surface2);border-color:var(--accent)}.review-link.ad:disabled{opacity:.5;cursor:not-allowed}.review-link.ad.requesting{color:var(--accent-soft);cursor:wait;border-color:var(--accent-soft);opacity:1;animation:blink 1s ease-in-out infinite}.review-link.expired{opacity:.35;cursor:default;pointer-events:none}.review-link.expired:before{content:""}.review-notice{font-size:12px;color:var(--muted);margin-bottom:24px;line-height:1.5}.review-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;margin:-24px -20px 0;padding:14px 20px;background:var(--bg);display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0;width:100%}.review-bar-time{color:var(--gold)}.hint-nudge{background:rgba(233,69,96,.1);border:1px solid rgba(233,69,96,.35);border-radius:12px;padding:14px 16px;text-align:center;font-size:14px;color:var(--red);margin-bottom:20px;animation:nudgePulse 2s ease-in-out infinite}@keyframes nudgePulse{0%,to{opacity:1;border-color:rgba(233,69,96,.35)}50%{opacity:.65;border-color:rgba(233,69,96,.8)}}.hints-section{margin-bottom:28px}.hint-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:border-color .2s}.hint-card.revealed{border-color:rgba(212,166,87,.25)}.hint-card.revealed>.hint-contact{background:var(--surface2)}.hint-contact{display:grid;grid-template-columns:36px 1fr auto;align-items:center;padding:12px 14px;grid-gap:12px;gap:12px;transition:background .2s}.hint-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:600;font-size:16px;flex-shrink:0}.hint-contact-info{display:flex;flex-direction:column;gap:2px;min-width:0}.hint-contact-role{order:-1;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:1px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[lang=th] .hint-contact-role{letter-spacing:.3px;font-size:11px}.hint-contact-name{font-family:var(--font-serif);font-weight:600;font-size:14.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint-tag{font-family:var(--font-mono);font-size:10px;padding:3px 8px;border-radius:999px;font-weight:500;letter-spacing:.8px;text-transform:uppercase}html[lang=th] .hint-tag{letter-spacing:.3px;font-size:11px}.hint-tag.free{background:rgba(79,184,150,.15);color:var(--green)}.hint-tag.busy{background:rgba(200,72,94,.12);color:#e07a8e;border:1px solid rgba(200,72,94,.3)}.hint-tag.locked{background:transparent;color:var(--muted);border:1px solid var(--line)}.hint-tag.calling{background:rgba(212,166,87,.15);color:var(--accent-soft)}.hint-status{display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0}.hint-calling{font-family:var(--font-mono);font-size:11px;white-space:nowrap}.hint-calling,.requesting-access{color:var(--accent-soft);animation:blink 1s ease-in-out infinite}.requesting-access{font-size:13px;text-align:center;padding:8px 0}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hint-reveal-btn{padding:3px 8px;border-radius:999px;border:1px solid rgba(212,166,87,.35);background:rgba(212,166,87,.08);color:var(--accent-soft);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}html[lang=th] .hint-reveal-btn{letter-spacing:.3px;font-size:11px}.hint-reveal-btn:hover{background:rgba(212,166,87,.14);border-color:var(--accent)}.hint-reveal-btn:active{transform:scale(.95)}.hint-reveal-btn.locked{background:transparent;border-color:rgba(212,166,87,.3);color:var(--accent-soft)}.hint-reveal-btn.locked:hover{background:rgba(212,166,87,.1);border-color:var(--accent);color:var(--accent)}.hint-body{position:relative;margin:2px 14px 0;padding:14px 0 14px 18px;font-family:var(--font-serif);font-size:15.5px;color:var(--text-soft);line-height:1.75;font-style:italic}.hint-body:before{content:"\201C";position:absolute;left:-2px;top:6px;font-size:38px;line-height:1}.hint-body:before,.hint-quote:after{font-family:var(--font-serif);font-style:normal;color:var(--accent);font-weight:600}.hint-quote:after{content:"\201D";font-size:22px;line-height:0;vertical-align:-6px;margin-left:5px}.hint-quote-by{display:block;margin-top:6px;font-family:var(--font-mono);font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.5px}.result-verdict{text-align:center;padding:24px 0 0;margin-bottom:16px}.result-verdict-banner{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;opacity:0;animation:fadeIn .5s ease forwards}html[lang=th] .result-verdict-banner{letter-spacing:.8px;font-size:12px}.result-verdict-banner:after,.result-verdict-banner:before{content:"";width:24px;height:1px;background:var(--muted);opacity:.5}.result-stamp{display:inline-block;padding:10px 36px;border:2.5px solid;border-radius:8px;font-family:var(--font-serif);font-size:38px;font-weight:700;font-style:italic;letter-spacing:2px;text-transform:uppercase;transform:rotate(-3deg);margin:0 0 18px;opacity:0;animation:fadeInUp .6s ease .2s forwards,stampSettle .45s ease .2s forwards;box-shadow:inset 0 0 0 1.5px currentColor;background:transparent}.result-stamp.solved{color:var(--green)}.result-stamp.partial{color:var(--accent-soft)}.result-stamp.unsolved{color:var(--red)}@keyframes stampSettle{0%{transform:rotate(-8deg) scale(1.2);opacity:0}60%{transform:rotate(-1deg) scale(.95);opacity:1}to{transform:rotate(-3deg) scale(1);opacity:1}}.result-title{font-family:var(--font-serif);font-size:26px;font-weight:600;line-height:1.2;margin:0;opacity:0;animation:fadeInUp .5s ease .5s forwards}.result-subtitle{font-size:14px;color:var(--muted);margin-top:6px;opacity:0;animation:fadeInUp .5s ease .65s forwards}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin:0 0 16px;opacity:0;animation:fadeInUp .5s ease .8s forwards}.stat-card{background:transparent;border:none;border-radius:0;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:4px}.stat-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase}html[lang=th] .stat-label{letter-spacing:.3px;font-size:11px}.stat-value{font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--text);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-actions{gap:8px;margin-bottom:16px;opacity:0;animation:fadeInUp .5s ease .95s forwards}.intro-bottom-strip--inline{margin-top:0;margin-bottom:16px}.result-secondary-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:13px 20px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.result-secondary-btn:hover{border-color:var(--muted);background:var(--surface2)}.result-section-bar{width:3px;height:16px;background:var(--accent);border-radius:2px}.result-section-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:1.5px;color:var(--accent-soft);text-transform:uppercase}html[lang=th] .result-section-label{letter-spacing:.3px;font-size:11px}.result-explanation p{margin:0}.result-explanation strong{color:var(--text)}.result-group{margin-bottom:16px}.result-group-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.result-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-family:var(--font-sans);font-size:14.5px;line-height:1.75;color:var(--text-soft);opacity:0;animation:fadeInUp .4s ease 1.1s forwards}.result-card p{margin:0}.result-card strong{color:var(--text);font-weight:600}.result-card .conclusion-block strong{color:var(--accent-soft)}[data-theme=light] .result-card .conclusion-block strong{color:var(--accent)}.trivia-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:8px;font-family:var(--font-sans);font-size:14px;line-height:1.7;color:var(--text-soft);opacity:0;animation:fadeInUp .4s ease 1.2s forwards}.trivia-card:last-child{margin-bottom:0}.trivia-card strong{color:var(--accent-soft);font-weight:600}[data-theme=light] .trivia-card strong{color:var(--accent)}.breakdown-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:border-color .2s;opacity:0;animation:fadeInUp .4s ease 1.1s forwards}.breakdown-card:last-child{margin-bottom:0}.breakdown-card[open]{border-color:rgba(212,166,87,.3)}.breakdown-card-summary{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s}.breakdown-card[open]>.breakdown-card-summary{background:var(--surface2)}.breakdown-card-summary::-webkit-details-marker{display:none}.breakdown-card-titlewrap{display:flex;flex-direction:column;gap:3px;min-width:0}.breakdown-card-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase}html[lang=th] .breakdown-card-label{letter-spacing:.3px;font-size:11px}.breakdown-card-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text);line-height:1.35}.breakdown-card-arrow{color:var(--muted);font-size:12px;transition:transform .3s ease;flex-shrink:0}.breakdown-card[open] .breakdown-card-arrow{transform:rotate(180deg)}.breakdown-card-body{padding:0 16px 16px;font-family:var(--font-sans);font-size:14.5px;line-height:1.75;color:var(--text-soft)}.breakdown-card-body>div{padding-top:14px;border-top:1px dashed var(--line)}.breakdown-card-body strong{color:var(--text);font-weight:600}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conclusion-block{padding:0;background:transparent;border:none;border-radius:0;font-family:var(--font-sans);font-size:14.5px;line-height:1.75;color:var(--text-soft);margin:0}.conclusion-block strong{color:var(--accent-soft);font-weight:600}[data-theme=light] .conclusion-block strong{color:var(--accent)}.install-prompt{text-align:center;padding:16px;margin-bottom:16px;border:1px dashed var(--muted);border-radius:var(--radius);background:var(--surface)}.install-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}.install-body{font-size:13px;color:var(--muted);line-height:1.5}.countdown{text-align:center;font-size:14px;color:var(--muted);margin-bottom:24px;padding:16px;background:var(--surface);border-radius:var(--radius)}.countdown-time{font-size:20px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:8px}.result-actions{display:flex;flex-direction:column;gap:10px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--text);color:var(--bg);padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;transition:all .3s ease;z-index:100;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px rgba(0,0,0,.4)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.tutorial-prompt{width:100%}.tutorial-prompt-text{font-size:14px;color:var(--muted);text-align:center;margin-bottom:14px}.tutorial-prompt-actions{display:flex;gap:10px}.tutorial-page-scroll{max-width:480px;margin:0 auto;padding:60px 24px 80px}.tutorial-hero{text-align:center;margin-bottom:48px}.tutorial-j{width:72px;height:72px;border-radius:50%;background:var(--accent);color:#1a1509;font-size:32px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.tutorial-greeting{font-size:28px;font-weight:700;margin-bottom:12px}.tutorial-intro{font-size:16px;line-height:1.7;color:var(--muted)}.tutorial-section{margin-bottom:40px;padding:24px;background:var(--surface);border-radius:var(--radius)}.tutorial-section-emoji{font-size:32px;margin-bottom:12px}.tutorial-section-title{font-size:18px;font-weight:600;margin-bottom:8px}.tutorial-section-body{font-size:15px;line-height:1.7;color:var(--muted)}.tutorial-cta{margin-top:24px;position:-webkit-sticky;position:sticky;bottom:20px}[data-theme=light] .tutorial-section{box-shadow:0 1px 3px rgba(0,0,0,.06)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpDim{0%{opacity:0;transform:translateY(20px)}to{opacity:.75;transform:translateY(0)}}[data-theme=light]{--bg:#f6f2e9;--surface:#ffffff;--surface2:#f1ebde;--text:#171818;--text-soft:#3a3b3d;--muted:#7a7670;--line:#e2dccc;--accent:#a3782f;--accent-soft:#bd9455;--red:#b82e42;--brand-red:#d03050;--gold:#7a5f00;--green:#166e3b}[data-theme=light] .story-text{color:#444}[data-theme=light] .story-text strong{color:var(--text)}[data-theme=light] .result-explanation p,[data-theme=light] .witness-statement{color:#555}[data-theme=light] .breakdown-card-body{color:#3a3b3d}[data-theme=light] .conclusion-block{background:transparent}[data-theme=light] .choice{background:var(--surface);border-color:var(--line)}[data-theme=light] .choice.selected{border-color:var(--accent);background:rgba(163,120,47,.1)}[data-theme=light] .choice.correct{background:rgba(22,110,59,.12);border-color:var(--green)}[data-theme=light] .choice.wrong{background:rgba(214,56,81,.1);border-color:var(--red)}[data-theme=light] .choice.eliminated{opacity:.35}[data-theme=light] .answer-feedback.correct{background:rgba(22,110,59,.12);border-color:rgba(22,110,59,.4)}[data-theme=light] .answer-feedback.wrong{background:rgba(214,56,81,.1);border-color:rgba(214,56,81,.4)}[data-theme=light] .hint-nudge{background:rgba(214,56,81,.08);border-color:rgba(214,56,81,.3)}[data-theme=light] .gallery-dot:not(.active){background:#b0b0b8}[data-theme=light] .gallery-arrow{border-color:#ddd;background:var(--surface)}[data-theme=light] .hint-reveal-btn{border-color:#ccc;color:var(--text)}[data-theme=light] .witness-avatar{filter:saturate(1.5) brightness(.55)}[data-theme=light] .hint-card,[data-theme=light] .result-explanation,[data-theme=light] .stat-card,[data-theme=light] .witness-card{box-shadow:0 1px 3px rgba(0,0,0,.06)}[data-theme=light] .evidence-image{filter:brightness(2.5) saturate(1.4)}[data-theme=light] .evidence-image .emoji-main{filter:brightness(.4) saturate(.7)}.top-bar{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px 0;max-width:480px;width:100%;margin:0 auto;flex-shrink:0}.top-bar-btn--back{margin-right:auto}.top-bar-btn{background:var(--surface);border:none;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;text-decoration:none;font-family:inherit;line-height:1;-webkit-tap-highlight-color:transparent}.top-bar-btn:hover{color:var(--text)}.icon-moon,[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon{display:inline}@media (min-width:520px){.evidence-card{flex:0 0 75%}}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 20px}.auth-card{width:100%;max-width:400px;background:var(--surface);border-radius:var(--radius);padding:32px 28px}.auth-title{font-size:22px;font-weight:700;text-align:center;margin-bottom:8px;color:var(--text)}.auth-subtitle{font-size:14px;color:var(--muted);text-align:center;margin:0 0 24px}.auth-form{gap:16px}.auth-form,.auth-label{display:flex;flex-direction:column}.auth-label{gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.auth-input{padding:12px 14px;border:1px solid #333;border-radius:10px;background:var(--bg);color:var(--text);font-family:inherit;font-size:15px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--gold)}[data-theme=light] .auth-input{border-color:#ddd;background:var(--surface2)}[data-theme=light] .auth-input:focus{border-color:var(--gold)}.auth-error{font-size:13px;color:var(--red);text-align:center}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:13px;color:var(--muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:#333}[data-theme=light] .auth-divider:after,[data-theme=light] .auth-divider:before{background:#ddd}.auth-google{gap:10px}.auth-google,.auth-google-gis{display:flex;align-items:center;justify-content:center}.auth-google-gis{flex-direction:column;min-height:44px}.auth-loading{font-size:13px;color:var(--muted);margin:8px 0 0}.auth-switch{display:block;width:100%;margin-top:20px;background:none;border:none;font-family:inherit;font-size:13px;color:var(--gold);cursor:pointer;text-align:center;padding:0}.auth-switch:hover{text-decoration:underline}.past-cases-page{max-width:480px;margin:0 auto;padding:24px 20px 60px;min-height:100dvh}.past-cases-top-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:16px 20px 0;margin:-24px -20px 20px}.past-cases-stamp{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:2px;color:rgba(208,48,80,.55);text-transform:uppercase;opacity:0;animation:fadeIn .6s ease forwards}html[lang=th] .past-cases-stamp{letter-spacing:1.2px}.past-cases-stamp-line{flex:1 1;height:0;border-top:1px dashed;opacity:.6}.past-cases-header{text-align:center;margin-bottom:28px}.past-cases-title{font-family:var(--font-serif);font-size:30px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--text);margin:0 0 6px;opacity:0;animation:fadeInUp .5s ease .2s forwards}.past-cases-subtitle{font-size:13.5px;color:var(--muted);opacity:0;animation:fadeInUp .5s ease .4s forwards}.past-cases-list{display:flex;flex-direction:column;gap:10px}.past-case-card{display:block;width:100%;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand-red);border-radius:12px;padding:14px 18px 16px;cursor:pointer;text-align:left;font-family:inherit;color:var(--text);-webkit-tap-highlight-color:transparent;opacity:0;animation:fadeInUp .4s ease forwards;transition:border-color .15s,background .15s,transform .12s}.past-case-card:first-child{animation-delay:.6s}.past-case-card:nth-child(2){animation-delay:.7s}.past-case-card:nth-child(3){animation-delay:.8s}.past-case-card:nth-child(4){animation-delay:.9s}.past-case-card:nth-child(5){animation-delay:1s}.past-case-card:nth-child(6){animation-delay:1.1s}.past-case-card:nth-child(7){animation-delay:1.2s}.past-case-card:active{transform:scale(.99)}@media (hover:hover){.past-case-card:hover{background:var(--surface2)}}.past-case-card--locked{background:transparent;border:1px dashed var(--line);border-top:3px dashed var(--line)}.past-case-card--locked .past-case-title{color:var(--muted)}.past-case-card--locked .past-case-location{color:var(--muted);opacity:.7}.past-case-card--locked .past-case-emoji{filter:grayscale(1);opacity:.5}@media (hover:hover){.past-case-card--locked:hover{background:rgba(154,163,179,.04);border-color:var(--muted);border-top-color:var(--muted)}}.past-case-card--done{border-top-color:var(--green);background:rgba(79,184,150,.04)}[data-theme=light] .past-case-card--done{background:rgba(22,110,59,.04)}.past-case-meta-top{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html[lang=th] .past-case-meta-top{letter-spacing:.3px;font-size:11.5px}.past-case-meta-top .past-case-sep{opacity:.5}.past-case-title{font-family:var(--font-serif);font-size:18px;font-weight:600;line-height:1.3;color:var(--text);margin:0 0 6px;display:flex;align-items:center;gap:10px}.past-case-emoji{font-size:22px;line-height:1;flex-shrink:0}.past-case-location{font-size:12.5px;color:var(--text-soft);margin-bottom:12px}.past-case-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.past-case-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;border:1px solid transparent}html[lang=th] .past-case-status{letter-spacing:.3px;font-size:11px}.past-case-status--locked{color:var(--muted);background:transparent;border-color:var(--line)}.past-case-status--ready{color:#0a1f16;background:var(--green);border-color:var(--green)}[data-theme=light] .past-case-status--ready{color:#fff;background:var(--green);border-color:var(--green)}.past-case-status--done{color:var(--green);background:rgba(79,184,150,.15);border-color:rgba(79,184,150,.4)}.past-cases-back{display:flex;align-items:center;justify-content:center;gap:6px;width:-moz-fit-content;width:fit-content;margin:28px auto 0;padding:10px 18px;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--accent-soft);background:transparent;border:1px solid rgba(212,166,87,.3);border-radius:999px;text-decoration:none;opacity:0;animation:fadeInUp .5s ease 1.3s forwards;transition:background .15s,border-color .15s,color .15s}.past-cases-back:hover{background:rgba(212,166,87,.08);border-color:var(--accent);color:var(--accent)}.login-prompt-card{background:var(--surface);border-radius:var(--radius);padding:28px 24px;max-width:340px;width:90%;text-align:center}.login-prompt-text{font-size:15px;font-weight:500;color:var(--text);margin-bottom:20px;line-height:1.5}.login-prompt-actions{display:flex;gap:10px}.mock-ad-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.mock-ad-content{text-align:center;padding:40px}.mock-ad-spinner{width:40px;height:40px;border:3px solid #333;border-top:3px solid var(--gold);border-radius:50%;margin:0 auto 20px;animation:adSpin .8s linear infinite}@keyframes adSpin{to{transform:rotate(1turn)}}.mock-ad-text{font-size:14px;color:var(--muted);margin-bottom:12px}.mock-ad-countdown{font-size:36px;font-weight:700;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-theme=light] .past-case-card{border-top-color:rgba(0,0,0,.06);border-right-color:rgba(0,0,0,.06);border-bottom-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.03)}[data-theme=light] .past-case-card.unlocked{border:2px solid var(--green)}[data-theme=light] .past-case-title{color:#1a1a2e}[data-theme=light] .past-case-location{color:#3a3a52}[data-theme=light] .past-case-date{color:#6a6a7e}[data-theme=light] .past-case-status .status-lock{color:#5e5e72;border-color:rgba(0,0,0,.15)}@keyframes slideUpBanner{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--surface);border-top:1px solid var(--surface2);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;animation:slideUpBanner .3s ease forwards}.cookie-message{flex:1 1;font-size:13px;color:var(--muted);line-height:1.5;min-width:180px}.cookie-policy-link{color:var(--muted);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.cookie-policy-link:hover{color:var(--text)}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-btn{padding:8px 16px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s;-webkit-tap-highlight-color:transparent}.cookie-btn:active{opacity:.75}.cookie-btn-accept{background:var(--accent);color:#1a1509}.cookie-btn-decline{background:var(--surface2);color:var(--muted)}.cookie-btn-decline:hover{color:var(--text)}[data-theme=light] .cookie-banner{border-top-color:#ddd}[data-theme=light] .cookie-btn-decline{border:1px solid #ddd}.dev-edit-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:rgba(0,0,0,.8);color:#f5c518;font-size:11px;line-height:18px;text-align:center;cursor:pointer;opacity:0;transition:opacity .15s;z-index:100;pointer-events:none}.dev-editable:hover>.dev-edit-btn{opacity:1;pointer-events:auto}.dev-editable:hover{outline:1px dashed rgba(245,197,24,.3);outline-offset:2px}