:root{color-scheme:dark;--ink: #142c28;--ink-deep: #0e211e;--ink-soft: #203c35;--paper: #f1ead8;--paper-deep: #dfd2b5;--gold: #d7b968;--coral: #e1785b;--sage: #9fb0a8;--line: rgba(215, 185, 104, .28);--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}html{background:var(--ink)}body{overflow:hidden;color:var(--paper);background:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}::selection{color:var(--ink-deep);background:var(--gold)}#game-root{position:fixed;inset:0;overflow:hidden;background:var(--ink)}#game-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 65% 45%,transparent 20%,rgba(7,22,19,.18) 65%,rgba(7,22,19,.72) 120%)}#ui-overlay{position:absolute;inset:0;overflow-y:auto;pointer-events:none;scrollbar-width:thin;scrollbar-color:var(--gold) var(--ink-deep)}#ui-overlay>*{pointer-events:auto}.button{min-height:48px;padding:11px 20px;border:1px solid transparent;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:650;line-height:1.3;transition:transform .16s ease-out,background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}.button:not(:disabled):hover{transform:translateY(-2px)}.button:not(:disabled):active{transform:translateY(0) scale(.98)}.button-primary{color:var(--ink-deep);background:var(--gold);border-color:var(--gold)}.button-primary:not(:disabled):hover{background:#ead18c}.button-secondary{color:var(--paper);background:#142c2873;border-color:var(--line)}.button-secondary:not(:disabled):hover{border-color:var(--gold);background:#203c35d9}.button-light{color:var(--ink-deep);background:var(--paper);border-color:var(--paper)}.full-button{width:100%}.text-button{min-height:44px;padding:6px 4px;border:0;color:inherit;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:550;text-decoration:none;transition:color .16s ease-out,opacity .16s ease-out}.text-button:not(:disabled):hover{color:var(--gold)}.icon-button{width:46px;height:46px;flex:0 0 46px;border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;color:var(--paper);background:#0e211e94;transition:background-color .16s ease-out,border-color .16s ease-out,transform .16s ease-out}.icon-button:hover{background:var(--ink-soft);border-color:var(--gold)}.icon-button:active{transform:scale(.94)}.game-header{position:fixed;z-index:20;top:0;left:0;right:0;min-height:82px;padding:calc(14px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 14px max(24px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(215,185,104,.15);background:linear-gradient(to bottom,#0e211ef5,#0e211ea3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-button{min-height:48px;padding:0;border:0;display:flex;align-items:center;gap:11px;color:var(--paper);background:transparent;text-align:left}.brand-number{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:Georgia,serif;font-size:21px;font-weight:700}.brand-button strong,.brand-button small{display:block;line-height:1.25}.brand-button strong{font-size:15px;letter-spacing:.08em}.brand-button small{margin-top:4px;color:var(--sage);font-size:11px;letter-spacing:.22em}.header-actions{display:flex;align-items:center;gap:9px}.header-link{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;color:var(--sage)}.header-link:hover{color:var(--gold)}.case-progress{display:flex;align-items:center;gap:8px}.case-progress span{width:34px;height:34px;border:1px solid rgba(159,176,168,.3);border-radius:50%;display:grid;place-items:center;color:var(--sage);font-size:12px;transition:background-color .2s ease-out,color .2s ease-out}.case-progress span.done{color:var(--ink-deep);background:var(--sage);border-color:var(--sage)}.case-progress span.active{color:var(--ink-deep);background:var(--gold);border-color:var(--gold);transform:scale(1.12)}.title-screen{position:relative;width:100%;min-height:100dvh;padding:130px 6vw 64px;display:flex;align-items:center;background:linear-gradient(90deg,#0e211ef5,#0e211ecc 37%,#0e211e14 70%)}.title-copy{width:min(590px,48vw)}.case-label{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--gold);font-size:12px;letter-spacing:.12em}.case-label span+span{padding-left:16px;border-left:1px solid var(--line);color:var(--sage)}.title-copy h1{margin-bottom:24px;font-family:var(--font-serif);font-size:clamp(52px,5.4vw,82px);font-weight:700;line-height:1.12;letter-spacing:-.04em}.title-copy h1 em{color:var(--gold);font-style:normal}.title-lead{margin-bottom:26px;color:#c8d2ca;font-size:17px;line-height:1.85}.name-field{width:min(340px,100%);margin-bottom:6px;display:flex;align-items:center;gap:14px}.field-note{display:block;width:min(340px,100%);margin-bottom:18px;color:var(--sage);font-size:12px;line-height:1.6}.name-field label{flex:0 0 auto;color:var(--sage);font-size:13px}.name-field input{min-width:0;width:100%;height:44px;padding:0 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--paper);background:transparent}.name-field input::placeholder{color:#849b90}.title-actions{display:flex;flex-wrap:wrap;gap:12px}.start-button{min-width:210px}.title-meta{margin-top:24px;display:flex;flex-wrap:wrap;gap:18px;color:var(--sage);font-size:13px}.title-meta span{display:inline-flex;align-items:center;gap:6px}.case-notes{width:min(480px,100%);margin-top:16px;color:var(--sage);font-size:13px}.case-notes summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#c8d2ca}.case-notes p{max-width:65ch;margin-bottom:0;line-height:1.8}.case-stamp{position:absolute;right:7vw;bottom:12vh;width:132px;height:132px;border:2px solid rgba(215,185,104,.65);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold);transform:rotate(-9deg)}.case-stamp:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(215,185,104,.5);border-radius:50%}.case-stamp span{font-size:12px;letter-spacing:.25em}.case-stamp strong{font-family:Georgia,serif;font-size:30px}.title-footer{position:absolute;left:6vw;bottom:24px;color:#849b90;font-size:12px}.center-screen{min-height:100dvh;padding:112px 24px calc(48px + env(safe-area-inset-bottom));display:grid;place-items:center}.paper-panel{color:var(--ink-deep);background:var(--paper);box-shadow:0 28px 80px #04120f66}.brief-panel{position:relative;width:min(690px,100%);padding:clamp(28px,5vw,56px)}.brief-panel:before{content:"";position:absolute;inset:12px;border:1px solid rgba(20,44,40,.18);pointer-events:none}.brief-panel>*{position:relative}.panel-kicker,.modal-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:12px;font-weight:650;letter-spacing:.14em}.paper-panel .panel-kicker{color:#6f5a24}.brief-panel h1{margin:18px 0 22px;font-family:var(--font-serif);font-size:clamp(30px,4vw,43px);line-height:1.35}.brief-panel>p{color:#3d5049;line-height:1.85}.brief-rules{margin:28px 0;padding:22px 0;border-top:1px solid rgba(20,44,40,.18);border-bottom:1px solid rgba(20,44,40,.18);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.brief-rules div{display:flex;align-items:center;gap:10px}.brief-rules strong{color:#745f29;font-family:Georgia,serif;font-size:30px}.brief-rules span{color:#3d5049;font-size:12px;line-height:1.55}.brief-panel .save-note{font-size:12px}.paper-panel .button-primary{color:var(--paper);background:var(--ink);border-color:var(--ink)}.paper-panel .button-primary:hover{background:#28473f}.game-screen{min-height:100dvh;padding:108px 24px 40px}.game-panel{width:min(1060px,100%);margin:0 auto;padding:0 clamp(20px,4vw,46px) 28px;border:1px solid rgba(215,185,104,.25);background:#0e211ef2;box-shadow:0 24px 80px #03110e5c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.game-status{min-height:54px;margin:0 calc(clamp(20px,4vw,46px)*-1) 30px;padding:0 clamp(20px,4vw,46px);border-bottom:1px solid rgba(215,185,104,.18);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--sage);font-size:13px}.game-status>span{display:inline-flex;align-items:center;gap:8px}.game-status strong{color:var(--paper)}.life-pips{display:inline-flex;gap:5px}.life-pips i{width:14px;height:7px;border:1px solid var(--coral);display:block;transform:skew(-18deg)}.life-pips i.filled{background:var(--coral)}.puzzle-heading{max-width:800px;margin-bottom:28px}.puzzle-heading h1{margin:10px 0;font-family:var(--font-serif);font-size:clamp(27px,3.2vw,39px);line-height:1.35;text-wrap:balance}.puzzle-heading p{max-width:75ch;margin-bottom:0;color:#b8c7be;line-height:1.75}.puzzle-body{min-height:260px}.puzzle-actions{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.selection-count{color:var(--sage);font-size:13px}.puzzle-feedback{margin:14px 0 0;font-size:14px}.error-text{color:#ffad95!important}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.evidence-item{position:relative;min-height:135px;padding:18px;border:1px solid rgba(159,176,168,.22);border-radius:2px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:var(--paper);background:#203c3585;text-align:left;transition:transform .16s ease-out,border-color .16s ease-out,background-color .16s ease-out}.evidence-item:hover{transform:translateY(-3px);border-color:var(--gold)}.evidence-item.is-selected{border-color:var(--gold);background:#d7b96821}.evidence-item strong{margin-top:5px;font-size:16px}.evidence-item>span:not(.evidence-time):not(.select-mark){color:var(--sage);font-size:12px}.evidence-time{color:var(--gold);font-family:Georgia,serif;font-size:21px}.select-mark{position:absolute;top:13px;right:13px;width:23px;height:23px;border:1px solid rgba(159,176,168,.35);border-radius:50%;display:grid;place-items:center}.is-selected .select-mark{color:var(--ink-deep);background:var(--gold);border-color:var(--gold)}.chat-list{display:grid;gap:10px}.chat-message{min-height:66px;padding:12px 18px;border-left:2px solid var(--gold);display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;background:#203c358f}.chat-message time{color:var(--gold);font-family:Georgia,serif;font-size:18px}.chat-message p{margin:0;font-size:18px;letter-spacing:.08em}.chat-message>span{color:var(--sage);font-size:12px}.decode-rule{margin:20px 0;padding:14px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);display:grid;grid-template-columns:auto 1fr auto 1fr;gap:12px;color:var(--sage);font-size:13px}.decode-rule strong{color:var(--paper)}.answer-form label{display:block;margin-bottom:8px;color:var(--sage);font-size:13px}.answer-row{display:flex;gap:12px}.answer-row input{min-width:0;flex:1;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:2px;color:var(--paper);background:#203c3580;font-size:20px;letter-spacing:.35em}.answer-row input::placeholder{color:#799187;font-size:15px;letter-spacing:.1em}.memory-puzzle{text-align:center}.memory-status{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px}.memory-status>span:last-child{color:var(--sage);font-family:Georgia,serif}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--coral);animation:pulse 1s ease-in-out infinite}.pulse-dot.is-ready{background:var(--gold);animation:none}.memory-progress{margin:10px auto 22px;display:flex;justify-content:center;gap:7px}.memory-progress span{width:32px;height:3px;background:#9fb0a840}.memory-progress span.filled{background:var(--gold)}.memory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.memory-key{min-height:126px;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--paper);background:#203c359e;transition:transform .12s ease-out,background-color .12s ease-out,color .12s ease-out}.memory-key span{color:var(--sage);font-family:Georgia,serif;font-size:13px}.memory-key strong{font-size:20px}.memory-key.is-active{color:var(--ink-deep);background:var(--gold);transform:scale(1.05)}.memory-key.is-active span{color:var(--ink-soft)}.order-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:28px}.order-clues{padding:22px;border:1px solid var(--line)}.order-clues h3{margin-bottom:14px;color:var(--gold);font-family:var(--font-serif)}.order-clues ul{margin:0;padding-left:19px;color:#b8c7be}.order-clues li{margin-bottom:10px;font-size:14px;line-height:1.7}.order-slots{display:grid;gap:7px}.order-slot{min-height:44px;padding:7px 12px;border-bottom:1px dashed rgba(159,176,168,.25);display:flex;align-items:center;gap:12px;color:#728b80;font-size:14px}.order-slot span{width:23px;color:var(--gold);font-family:Georgia,serif}.order-slot.is-filled{color:var(--paper);border-bottom-style:solid}.task-pool{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-pool button{min-height:62px;padding:9px 12px;border:1px solid rgba(159,176,168,.24);border-radius:2px;display:flex;flex-direction:column;align-items:flex-start;color:var(--paper);background:#203c3580;text-align:left}.task-pool button span{color:var(--sage);font-size:11px}.task-pool button:not(:disabled):hover{border-color:var(--gold)}.split-actions>div{display:flex;gap:16px}.fragment-recap{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px}.fragment-recap span{padding:7px 10px;border:1px solid var(--line);color:var(--gold);font-size:12px}.suspect-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.suspect-list button{min-height:116px;padding:18px;border:1px solid rgba(159,176,168,.24);border-radius:2px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--paper);background:#203c3585;text-align:left}.suspect-list button strong{font-size:17px}.suspect-list button span{color:var(--sage);font-size:13px;line-height:1.65}.suspect-list button.is-selected{border-color:var(--gold);background:#d7b96821}.hint-dock{margin-top:26px;padding-top:14px;border-top:1px solid rgba(215,185,104,.14);display:flex;align-items:center;justify-content:space-between;gap:16px}.hint-button{color:var(--gold)}.hint-dock>span{color:#829a8f;font-size:12px}.unlocked-hint{margin-top:10px;padding:13px 16px;display:flex;align-items:flex-start;gap:12px;color:var(--ink-deep);background:var(--gold)}.unlocked-hint p{margin:0}.unlocked-hint strong{display:block;font-size:12px;letter-spacing:.1em}.modal-backdrop{position:fixed;z-index:40;inset:0;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;background:#061411c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-preview{width:min(430px,92vw);max-height:calc(100dvh - 40px);padding:12px;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;background:var(--ink-deep)}.card-preview img{width:100%;max-height:60dvh;object-fit:contain;background:var(--ink);-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.card-preview p{margin:0;color:var(--gold);text-align:center;font-size:13px}.modal{position:relative;width:min(510px,100%);max-height:90dvh;overflow-y:auto;padding:38px;border:1px solid var(--line);color:var(--paper);background:var(--ink-deep);box-shadow:0 30px 90px #0000006b}.modal h2,.modal h1{margin:12px 0 16px;font-family:var(--font-serif);line-height:1.35}.modal>p{color:#b8c7be;line-height:1.8}.modal-close{position:absolute;z-index:2;top:12px;right:12px}.ad-policy{margin:22px 0;display:flex;flex-wrap:wrap;gap:14px;color:var(--gold);font-size:13px}.ad-policy svg{vertical-align:-4px}.ad-modal>.text-button{margin-top:8px}.demo-ad{margin:-38px;padding:30px 38px 38px;min-height:510px;color:var(--ink-deep);background:var(--gold);text-align:center}.demo-ad-label{display:block;margin-bottom:24px;font-size:11px;letter-spacing:.12em}.ad-sun{position:relative;width:124px;height:124px;margin:0 auto 20px;border:2px solid var(--ink);border-radius:50%}.ad-sun:before,.ad-sun:after{content:"";position:absolute;left:50%;top:-20px;bottom:-20px;width:1px;background:var(--ink)}.ad-sun:after{transform:rotate(90deg)}.ad-sun span{position:absolute;inset:24px;border-radius:50%;background:var(--coral)}.ad-brand{margin-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.22em}.demo-ad h2{margin:0 0 12px;font-size:40px}.demo-ad>p:not(.ad-brand){font-size:14px}.ad-countdown{margin-top:30px;padding:13px;border:1px solid rgba(14,33,30,.35);font-weight:650}.demo-ad .button{margin-top:22px}.pause-modal .button,.gameover-modal .button{margin-top:10px}.pause-modal>.text-button,.gameover-modal>.text-button{margin-top:10px}.fragment-backdrop{background:#061411a8}.fragment-ticket{position:relative;width:min(520px,100%);padding:46px 44px 36px;color:var(--ink-deep);background:var(--paper);text-align:center;box-shadow:0 30px 90px #0006;animation:ticket-in .24s ease-out}.fragment-ticket:before,.fragment-ticket:after{content:"";position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:var(--ink-deep);transform:translateY(-50%)}.fragment-ticket:before{left:-12px}.fragment-ticket:after{right:-12px}.fragment-ticket .panel-kicker{color:#745f29}.fragment-ticket h2{margin:10px 0 24px;font-family:var(--font-serif)}.fragment-ticket blockquote{margin:0;padding:28px 0;border-top:1px dashed rgba(20,44,40,.3);border-bottom:1px dashed rgba(20,44,40,.3);font-family:var(--font-serif);font-size:24px;line-height:1.65}.fragment-score{margin:20px 0;display:flex;justify-content:space-between;gap:10px;color:#52645d;font-size:12px}.result-screen{background:#0e211e66}.result-panel{width:min(790px,100%);padding:clamp(28px,5vw,54px)}.result-panel h1{margin:12px 0 16px;font-family:var(--font-serif);font-size:clamp(36px,5vw,54px);line-height:1.25}.result-truth{max-width:65ch;color:#3d5049;line-height:1.85}.result-score{margin:25px 0 12px;display:flex;align-items:baseline;gap:16px}.result-score>strong{color:#6f5a24;font-family:Georgia,serif;font-size:76px;line-height:1}.result-score>span{color:#52645d}.result-score>b{margin-left:auto;padding:6px 12px;border:1px solid #8c7438;color:#6f5a24;font-family:var(--font-serif)}.result-stats{padding-bottom:22px;display:flex;gap:24px;color:#52645d;font-size:13px}.result-stats strong{color:var(--ink-deep)}.life-challenge{margin:8px 0 24px;padding:24px;color:var(--paper);background:var(--ink)}.life-challenge>span{color:var(--gold);font-size:11px;letter-spacing:.12em}.life-challenge h2{margin:8px 0;font-family:var(--font-serif);font-size:27px;text-wrap:balance}.life-challenge p{color:#c8d2ca;line-height:1.8}.life-challenge .button-secondary{color:var(--paper)}.result-panel .life-challenge .button-secondary{color:var(--paper);border-color:var(--line)}.result-panel .life-challenge .button-secondary:disabled{opacity:.78}.result-actions{display:flex;flex-wrap:wrap;gap:10px}.result-panel .button-secondary{color:var(--ink);border-color:#142c284d;background:transparent}.result-panel .button-secondary:hover{background:#142c2814}.result-links{margin-top:14px;display:flex;justify-content:space-between}.result-links .text-button{color:#3d5049}.leaderboard-modal{width:min(570px,100%)}.leaderboard-list{margin:24px 0 0;padding:0;list-style:none}.leaderboard-list li{min-height:66px;padding:10px 0;border-bottom:1px solid rgba(215,185,104,.15);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.leaderboard-list .rank{color:var(--gold);font-family:Georgia,serif}.leaderboard-list div strong,.leaderboard-list div span{display:block}.leaderboard-list div span{color:var(--sage);font-size:12px}.leaderboard-list li>b{color:var(--gold);font-family:Georgia,serif;font-size:22px}.empty-state{padding:32px 12px;color:var(--sage);text-align:center}.toast{position:fixed;z-index:60;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid var(--line);display:flex;align-items:center;gap:9px;color:var(--paper);background:var(--ink-deep);box-shadow:0 12px 40px #00000059;transform:translate(-50%);font-size:14px;animation:toast-in .18s ease-out}.studio-page{height:100dvh;overflow-y:auto;color:var(--ink-deep);background:var(--paper)}.studio-header{padding:40px max(5vw,24px) 32px;border-bottom:1px solid rgba(20,44,40,.16);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.studio-header .text-button{margin-bottom:22px;padding-left:0;color:#3d5049}.studio-kicker{display:block;color:#6f5a24;font-size:12px;font-weight:700;letter-spacing:.14em}.studio-header h1{margin:8px 0;font-family:var(--font-serif);font-size:clamp(30px,4vw,48px)}.studio-header p{margin:0;color:#52645d}.studio-header .button-secondary{flex:0 0 auto;color:var(--ink);border-color:#142c284d}.studio-main{padding:32px max(5vw,24px) 48px}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(20,44,40,.2);border-bottom:1px solid rgba(20,44,40,.2)}.metrics-grid article{min-height:160px;padding:22px;border-right:1px solid rgba(20,44,40,.16);display:flex;flex-direction:column}.metrics-grid article:last-child{border-right:0}.metrics-grid svg{color:#80692e}.metrics-grid span{margin-top:12px;color:#52645d;font-size:13px}.metrics-grid strong{font-family:Georgia,serif;font-size:35px}.metrics-grid small{color:#52645d}.studio-columns{margin-top:32px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:24px}.studio-section{border:1px solid rgba(20,44,40,.18);background:#fffdf547}.section-heading{min-height:84px;padding:18px 22px;border-bottom:1px solid rgba(20,44,40,.15);display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading span{color:#6f5a24;font-size:11px;letter-spacing:.12em}.section-heading h2{margin:3px 0 0;font-family:var(--font-serif);font-size:23px}.section-heading small{color:#52645d}.run-table-wrap{overflow-x:auto}.run-table{width:100%;border-collapse:collapse;font-size:13px}.run-table th,.run-table td{padding:14px 16px;border-bottom:1px solid rgba(20,44,40,.1);text-align:left;white-space:nowrap}.run-table th{color:#52645d;font-size:11px;font-weight:550}.status-tag{padding:3px 8px;border:1px solid #879b91;font-size:11px}.status-tag.completed{color:#255e43;border-color:#53816a}.launch-list{margin:0;padding:12px 22px;list-style:none}.launch-list li{padding:13px 0;display:flex;align-items:flex-start;gap:10px}.launch-list svg{flex:0 0 auto;margin-top:3px;color:#587a58}.launch-list strong,.launch-list span{display:block}.launch-list span{color:#52645d;font-size:12px}.integration-note{margin:10px 22px 22px;padding:16px;color:var(--paper);background:var(--ink)}.integration-note strong{color:var(--gold)}.integration-note p{margin:6px 0 0;color:#c8d2ca;font-size:12px;line-height:1.75}.content-section{margin-top:24px}.content-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.content-stages article{min-height:210px;padding:22px;border-right:1px solid rgba(20,44,40,.14);display:flex;flex-direction:column;gap:22px}.content-stages article:last-child{border-right:0}.content-stages article>span{color:#80692e;font-family:Georgia,serif;font-size:25px}.content-stages strong{display:block;line-height:1.6}.content-stages p{margin:8px 0 0;color:#52645d;font-size:12px;line-height:1.75}.studio-footer{padding:20px max(5vw,24px) 32px;color:#52645d;font-size:12px}.studio-empty{min-height:45vh;display:grid;place-items:center;align-content:center;gap:16px;color:#52645d}.studio-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-gate{width:min(420px,100%);margin:6vh auto 0;padding:26px 24px;color:var(--paper);background:var(--ink);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.admin-gate label{color:var(--gold);font-size:13px;letter-spacing:2px}.admin-gate input{min-height:48px;padding:10px 14px;color:var(--paper);background:#091815e6;border:1px solid var(--line);border-radius:3px}.admin-gate input:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.admin-gate-error{margin:0;color:var(--coral);font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes pulse{50%{opacity:.3;transform:scale(.75)}}@keyframes ticket-in{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.title-copy{width:min(570px,60vw)}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid article:nth-child(3){border-right:0}.metrics-grid article:nth-child(-n+3){border-bottom:1px solid rgba(20,44,40,.16)}.content-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.content-stages article{border-bottom:1px solid rgba(20,44,40,.14)}}@media(max-width:760px){.game-header{min-height:72px;padding:calc(10px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));gap:10px}.brand-number{width:38px;height:38px;font-size:18px}.brand-button strong{font-size:13px}.brand-button small{font-size:9px}.header-actions{gap:6px}.header-link{width:44px;padding:0;justify-content:center}.header-link span{display:none}.icon-button{width:44px;height:44px;flex-basis:44px}.game-header.in-game{min-height:112px;align-items:flex-start}.game-header.in-game .case-progress{position:absolute;left:16px;right:16px;top:calc(67px + env(safe-area-inset-top));justify-content:center}.case-progress span{width:29px;height:29px;font-size:11px}.title-screen{padding:108px 22px 58px;align-items:flex-start;flex-direction:column;background:linear-gradient(180deg,#0e211ebd,#0e211ef5 52%,#0e211efa)}.title-copy{width:100%}.case-label{margin-bottom:18px;font-size:10px}.title-copy h1{margin-bottom:18px;font-size:clamp(43px,13vw,60px)}.title-lead{font-size:15px}.name-field{width:100%}.title-actions{flex-direction:column;align-items:stretch}.title-actions .button{width:100%}.title-meta{gap:12px;font-size:11px}.case-stamp{display:none}.title-footer{position:static;margin-top:18px;font-size:10px}.center-screen{padding:96px 14px calc(28px + env(safe-area-inset-bottom))}.brief-panel{padding:30px 24px}.brief-rules{gap:8px}.brief-rules div{flex-direction:column;align-items:flex-start;gap:2px}.brief-rules strong{font-size:26px}.game-screen{padding:128px 10px calc(24px + env(safe-area-inset-bottom))}.game-panel{padding:0 16px 20px}.game-status{min-height:48px;margin:0 -16px 24px;padding:0 16px;gap:8px;font-size:11px}.life-pips{gap:3px}.life-pips i{width:10px}.puzzle-heading{margin-bottom:22px}.puzzle-heading h1{font-size:27px}.puzzle-heading p{font-size:14px}.puzzle-body{min-height:220px}.evidence-grid{gap:8px}.evidence-item{min-height:132px;padding:13px}.evidence-item strong{font-size:14px}.evidence-item>span:not(.evidence-time):not(.select-mark){font-size:11px}.evidence-time{font-size:19px}.select-mark{top:10px;right:10px}.chat-message{padding:10px 12px;grid-template-columns:55px 1fr;gap:10px}.chat-message p{font-size:16px}.chat-message>span{display:none}.decode-rule{grid-template-columns:auto 1fr}.answer-row{flex-direction:column}.answer-row .button{width:100%}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.memory-key{min-height:91px}.memory-key strong{font-size:17px}.memory-progress span{width:24px}.order-layout{grid-template-columns:1fr;gap:16px}.order-clues{padding:16px}.order-clues li{font-size:13px}.task-pool{grid-template-columns:1fr}.task-pool button{min-height:58px}.puzzle-actions{align-items:stretch;flex-direction:column}.puzzle-actions>.button{width:100%}.split-actions>div{justify-content:space-between}.suspect-list{grid-template-columns:1fr}.suspect-list button{min-height:95px}.hint-dock{align-items:flex-start;flex-direction:column;gap:0}.hint-dock>span{font-size:11px}.modal-backdrop{padding:calc(14px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom))}.modal{padding:32px 24px}.demo-ad{margin:-32px -24px;padding:28px 24px 32px}.fragment-ticket{padding:38px 28px 28px}.fragment-ticket blockquote{font-size:21px}.result-panel{padding:30px 22px}.result-score{flex-wrap:wrap;gap:10px}.result-score>strong{font-size:64px}.result-score>b{margin-left:0}.result-stats{gap:14px;font-size:12px}.life-challenge{padding:20px}.result-actions{flex-direction:column}.result-actions .button{width:100%}.studio-header{padding-top:24px;align-items:flex-start;flex-direction:column}.studio-header .button{width:100%}.studio-header-actions{width:100%;align-items:stretch}.studio-header-actions .text-button{justify-content:flex-start}.studio-main{padding-top:22px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid article{min-height:145px;padding:16px;border-bottom:1px solid rgba(20,44,40,.16)}.metrics-grid article:nth-child(2n){border-right:0}.metrics-grid article:nth-child(3){border-right:1px solid rgba(20,44,40,.16)}.metrics-grid article:last-child{grid-column:1 / -1;border-bottom:0;border-right:0}.studio-columns{grid-template-columns:1fr}.section-heading{padding:16px}.section-heading small{display:none}.content-stages{grid-template-columns:1fr}.content-stages article{min-height:0;border-right:0;flex-direction:row;gap:16px}}@media(max-width:390px){.brand-button small,.studio-link{display:none}.title-copy h1{font-size:43px}.title-meta{flex-direction:column;gap:4px}.evidence-item{min-height:137px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-key:last-child{grid-column:1 / -1}.game-status>span:first-child{gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
