:root{font-family:Arial,Helvetica,sans-serif;color:#263e43;background:#f4eddf;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation;transition:background .16s,transform .16s,box-shadow .16s}button:hover{filter:brightness(1.1)}button:active{transform:translateY(2px)}button:focus-visible,canvas:focus-visible{outline:3px solid #f4d294;outline-offset:3px}button:disabled{opacity:.35;cursor:default;filter:none}button svg{flex:none;width:29px;height:29px}button span{white-space:nowrap}[hidden]{display:none!important}#shell{position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(ellipse at center,#f8f2e7,#e5dac5)}#app{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:center;overflow:hidden;background:#f4eddf;isolation:isolate}#city{position:absolute;inset:0;width:100%;height:100%;outline:0}header{position:absolute;top:20px;left:103px;right:34px;height:88px;display:flex;align-items:center;gap:28px}.wordmark{display:flex;align-items:center;gap:13px;background:transparent;padding:0;text-align:left;min-width:294px;height:88px;letter-spacing:-.6px;font-size:27px;font-weight:700}.wordmark svg{color:#d6d4ae;width:38px;height:46px}.wordmark small{display:block;font-size:11px;letter-spacing:3px;color:#9bb5ad;margin-top:8px}.level-heading{border-left:1px solid #59756c65;padding-left:26px;white-space:nowrap}.level-heading>span,.eyebrow{font-size:15px;font-weight:700;letter-spacing:2px;color:#61736e}.level-heading h1{font-size:27px;font-weight:600;letter-spacing:-.7px;margin:9px 0 0}.top-actions{display:flex;margin-left:auto;gap:7px}.icon-button{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e5dac8}.icon-button svg{width:30px;height:30px}.icon-button>span{display:none}#dispatch{position:absolute;top:144px;left:1003px;width:228px;bottom:141px}.dispatch-label{font-size:14px;font-weight:700;letter-spacing:2.6px;color:#61736e;display:flex;align-items:center;gap:10px}.dispatch-label i{width:7px;height:7px;background:#afd7be;border-radius:50%;box-shadow:0 0 11px #9ee5ba66}.dispatch-icon{width:50px;height:50px;color:#bcd4c4;margin:24px 0 13px}.dispatch-icon svg{width:100%;height:100%}#dispatch h2{font-size:32px;line-height:1.12;letter-spacing:-1px;margin:0 0 14px;font-weight:500}#dispatch p{font-size:21px;line-height:1.36;color:#526260;margin:0}.rule-line{height:1px;background:#5b766644;margin:20px 0}.objective{display:flex;align-items:center;gap:12px;font-size:17px;color:#4b615b;margin:13px 0}.target-chip{width:17px;height:24px;background:#eda061;border-radius:5px;box-shadow:inset 0 6px #f4b478,inset 0 -5px #b7744d}.exit-chip{background:#d4b77d;color:#28413e;width:21px;height:21px;text-align:center;border-radius:4px;font-weight:700}.text-button{background:none;color:#365d63;font-size:18px;min-height:50px;padding:10px 0;display:inline-flex;align-items:center;justify-content:center;gap:12px}.text-button svg{width:20px;height:20px}.progress-track{background:#38534d;height:3px;margin-top:11px}.progress-track i{display:block;height:100%;background:#c9d5b5}.chapter-progress{display:block;font-size:12px;letter-spacing:1.7px;color:#63776c;margin-top:10px}footer{position:absolute;bottom:15px;left:104px;right:37px;height:96px;display:flex;align-items:center;gap:25px}.turn-count{width:165px;display:grid;grid-template-columns:75px 80px;grid-template-rows:19px 39px;align-items:center}.turn-count>span{font-size:11px;letter-spacing:1.5px;color:#526a64}.turn-count strong{grid-column:1;grid-row:2;font-size:39px;font-weight:500;line-height:1;letter-spacing:-2px}.turn-count small{grid-column:2;grid-row:1 / 3;color:#425b53;font-size:12px;line-height:1.7}.turn-count small span{display:block;font-size:10px;letter-spacing:1.4px;color:#63776c}.tools{display:flex;align-items:center;gap:10px}.tools button{min-width:119px;height:88px;border-radius:20px;background:#e2d8c5;display:flex;align-items:center;justify-content:center;gap:12px;font-size:21px;box-shadow:inset 0 1px #b3d3b41a,0 4px #0f262b}.tools button svg{width:25px;height:25px}.tools .primary{background:#e6c894;color:#243e3e;width:160px;box-shadow:inset 0 1px #fff8d6,0 4px #947a57}.primary{background:#e6c894;color:#233c3d;border-radius:16px;font-size:22px;font-weight:700;min-height:82px;padding:18px 25px;display:flex;align-items:center;justify-content:center;gap:20px}.secondary{background:#e7decc;color:#304946;border-radius:16px;font-size:22px;min-height:82px;padding:18px 25px;display:flex;align-items:center;justify-content:center;gap:18px}.casebook{margin-left:auto;min-width:184px;height:88px;display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid #67847466;background:none;border-radius:19px;font-size:20px}.casebook svg{width:24px;height:24px}#toast{position:absolute;bottom:123px;left:50%;transform:translate(-50%,15px);max-width:830px;padding:16px 28px;border:1px solid #b1cbb366;border-radius:16px;background:#fffaf0f5;color:#eee7ce;font-size:22px;text-align:center;pointer-events:none;opacity:0;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%)}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b252a9c;backdrop-filter:blur(5px);z-index:3}.modal{position:relative;background:#fffaf0;border:1px solid #79917b60;border-radius:29px;box-shadow:0 30px 90px #07181db3;animation:arrive .22s ease-out;overflow:hidden}.modal h2{font-size:46px;letter-spacing:-1.7px;line-height:1.1;font-weight:500;margin:13px 0 18px}.modal p{font-size:23px;line-height:1.45;color:#b9cbbd}.modal-close{position:absolute;right:14px;top:14px;border-radius:50%;background:#31504b;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.modal-close span{display:none}.pause{width:920px;height:536px;display:flex}.pause-art{width:390px;background:linear-gradient(90deg,transparent,#fffaf022),url(./assets/city.webp) 71% center/auto 100%;border-right:1px solid #9fba9c33}.pause-content{flex:1;padding:33px 36px}.pause h2{font-size:39px;margin:10px 0}.pause p{font-size:19px;margin:0 0 23px}.pause .primary,.pause .secondary{width:100%;min-height:74px;margin:10px 0}.pause .text-button{width:100%;min-height:44px}.save-note{display:block;text-align:center;font-size:14px;letter-spacing:.5px;color:#93afa1;margin-top:6px}.result{text-align:center;width:676px;padding:28px 44px}.result-emblem{width:64px;height:64px;margin:0 auto 15px;color:#c7ddc2}.result-emblem svg{width:64px;height:64px}.result h2{font-size:46px}.result p{font-size:23px;margin:0 0 18px}.stars{display:flex;justify-content:center;gap:13px;margin:20px 0}.stars i{width:45px;height:45px;display:block;color:#597773}.stars svg{width:45px;height:45px}.filled{color:#ecd293!important}.stars .filled svg{fill:#dec28733}.result-stats{display:flex;align-items:center;justify-content:center;gap:50px;padding:15px 0 25px;color:#acbfb0;font-size:20px}.result-stats strong{font-size:34px;font-weight:500;color:#f0e4c4;margin-right:6px}.result-actions{display:grid;gap:10px}.result .text-button{margin-top:8px}.failure .result-emblem{color:#e5b582}.failure .eyebrow{color:#e2b082}.escape-track{height:65px;display:flex;align-items:center;gap:20px;justify-content:center;margin:24px 0}.escape-track span{width:250px;height:3px;background:repeating-linear-gradient(90deg,#b7996d 0 9px,transparent 9px 20px)}.escape-track b{padding:11px;border:2px solid #e3b778;border-radius:8px;font-size:23px;color:#ecc995}.guide{width:1080px;padding:34px 46px}.guide h2{margin-bottom:25px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.guide-steps>div{padding:18px 20px;background:#2d4c48;border-radius:18px}.guide-steps svg{width:39px;height:39px;display:block;margin-bottom:15px;color:#e5c894}.guide-steps b{font-size:24px;font-weight:500}.guide-steps p{font-size:20px;margin:10px 0 0}.mechanic-note{display:flex;gap:22px;align-items:center;margin:18px 0}.mechanic-note svg{width:46px;height:46px;flex:none;color:#b9d9c2}.mechanic-note p{font-size:19px;margin:0}.keyboard-help{font-size:15px!important;color:#98b2a4!important;line-height:1.5!important}.quiet{font-size:17px!important;margin:9px 0 17px}.guide .primary{margin:auto;min-height:72px}.operations{width:1088px;height:632px}.operations-top{height:108px;padding:25px 32px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #78937844}.operations-top h2{font-size:34px;margin:9px 0 0}.operations-top .eyebrow{font-size:12px}.overall{margin-left:auto;margin-right:72px;font-size:26px;white-space:nowrap}.overall small{font-size:16px;color:#9bb5a5}.operations-body{display:flex;height:524px}.chapters{width:292px;flex:none;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:7px;padding:18px 14px;border-right:1px solid #7b927a33}.chapter-tab{height:77px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;border-radius:11px;background:#294745;padding:10px;text-align:left;gap:5px}.chapter-tab b{color:#bdccba;font-size:17px;font-weight:400}.chapter-tab span{font-size:12px;white-space:normal;line-height:1.2}.chapter-tab.active{background:#d5c195;color:#25423f}.chapter-tab.active b{color:#25423f}.chapter-tab svg{position:absolute;top:10px;right:9px;width:15px;height:15px;color:#889f8e}.chapter-page{padding:20px 26px;flex:1;min-width:0}.chapter-art{height:176px;border-radius:17px;padding:25px 27px;background:linear-gradient(90deg,#102e33ef,#173f4170 60%,#15393805),url(./assets/city.webp) 70% 53%/cover}.chapter-art h3{font-weight:500;font-size:40px;letter-spacing:-1.3px;margin:11px 0 9px}.chapter-art p{font-size:19px;color:#dbdec6;margin:0}.chapter-art .eyebrow{font-size:12px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.level-tile{height:90px;border-radius:13px;background:#34544f;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px}.level-tile strong{font-size:28px;font-weight:500}.level-tile>span{display:flex;gap:3px;font-size:12px;letter-spacing:1px;height:20px}.level-tile>span>svg{width:18px;height:18px}.level-tile i svg{width:15px;height:15px;color:#789385}.level-tile .filled svg{color:#e8d091;fill:#c4ad7155}.level-tile.current{background:#e0c38e;color:#25403c;box-shadow:0 0 0 2px #e7d6ac4f}.level-tile:disabled{opacity:.5}.chapter-description{font-size:16px!important;line-height:1.3!important;margin:15px 0!important}#ad-cover{position:absolute;inset:0;z-index:10;background:#143035;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;font-size:23px}.spinner,.initial-loading i{border:3px solid #3c615c;border-top-color:#e3c796;border-radius:50%;width:35px;height:35px;animation:spin .8s linear infinite}.initial-loading{position:absolute;inset:0;display:grid;place-items:center}.initial-loading i{display:block}.thinking svg{animation:breathe 1s infinite}.suggested{box-shadow:0 0 0 4px #eecf93,0 0 28px #eecf9377!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.4}}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.operations{height:696px}.operations-top{height:92px;padding:16px 32px}.operations-body{height:604px}.chapters{padding:10px 12px;gap:6px}.chapter-tab{height:88px;padding:7px 10px;gap:3px}.chapter-tab span{font-size:20px;line-height:1.08}.chapter-tab b{font-size:17px;line-height:18px}.chapter-tab svg{width:13px;height:13px;right:7px;top:7px}.chapter-art p{font-size:22px}.chapter-description{font-size:21px!important;line-height:1.35!important}.chapter-page{padding-top:20px}.level-grid{margin-top:18px}.modal-close{width:88px;height:88px;top:2px;right:5px}.primary,.secondary,.result-actions .primary,.result-actions .secondary{min-height:88px}.guide-steps p{font-size:22px}.keyboard-help{font-size:18px!important}#dispatch .dispatch-icon{width:36px;height:36px;margin:12px 0 8px}#dispatch h2{font-size:30px}#dispatch p{font-size:22px}#dispatch .rule-line{margin:16px 0}.turn-count>span{font-size:10px;letter-spacing:1px;white-space:nowrap}#city.arrest{animation:arrest-focus .45s ease-out}#city.escape{animation:escape-shift .28s ease-out}@keyframes arrest-focus{40%{transform:scale(1.009)}to{transform:scale(1)}}@keyframes escape-shift{25%{transform:translate(-3px)}60%{transform:translate(3px)}to{transform:translate(0)}}.tools button{min-width:160px}.tools .primary{width:194px}#app.portrait #city{inset:90px auto auto -37px;width:665.6px;height:374.4px}.portrait header{top:12px;left:16px;right:16px;height:96px;gap:8px;align-items:flex-start;flex-wrap:wrap}.portrait .wordmark{min-width:0;height:44px;font-size:21px;gap:8px}.portrait .wordmark svg{width:26px;height:32px}.portrait .wordmark small{display:none}.portrait .top-actions{position:absolute;right:0;top:0;gap:6px}.portrait .icon-button{width:52px;height:52px}.portrait .icon-button svg{width:24px;height:24px}.portrait .level-heading{position:absolute;top:57px;left:0;border:0;padding:0}.portrait .level-heading>span{font-size:11px;letter-spacing:1px}.portrait .level-heading h1{font-size:22px;margin:4px 0 0}.portrait #dispatch{top:415px;left:20px;width:440px;bottom:auto;padding:12px 14px;background:#fffaf0;border-radius:16px}.portrait #dispatch .dispatch-label,.portrait #dispatch .dispatch-icon,.portrait #dispatch .rule-line,.portrait #dispatch .progress-track,.portrait #dispatch .chapter-progress{display:none}.portrait #dispatch h2{font-size:22px;margin:0 0 7px}.portrait #dispatch p{font-size:17px;line-height:1.3;margin:0 0 5px}.portrait .objective{display:inline-flex;font-size:14px;margin:8px 14px 0 0;gap:7px}.portrait .target-chip{width:12px;height:17px}.portrait .exit-chip{width:17px;height:17px}.portrait #dispatch .text-button{display:flex;font-size:16px;min-height:46px;padding:8px 0}.portrait footer{left:20px;right:20px;bottom:16px;height:114px;display:grid;grid-template-columns:1fr 140px;grid-template-rows:48px 56px;gap:10px}.portrait .turn-count{width:230px;grid-template-columns:95px 135px;grid-template-rows:16px 28px}.portrait .turn-count strong{font-size:29px}.portrait .turn-count small{font-size:14px}.portrait .turn-count small span{display:inline;font-size:11px}.portrait .casebook{grid-column:2;grid-row:1;min-width:0;width:140px;height:48px;font-size:15px;gap:8px;border-radius:12px}.portrait .tools{grid-column:1 / 3;grid-row:2;gap:8px}.portrait .tools button{flex:1;min-width:0;width:auto;height:56px;font-size:18px;gap:8px;border-radius:14px}.portrait .tools button svg{width:22px;height:22px}.portrait #toast{bottom:145px;max-width:none;width:430px;padding:12px 16px;font-size:17px;z-index:2}.portrait #overlay{padding:12px;align-items:center}.portrait .modal{max-height:100%;width:100%;height:auto;overflow:auto;touch-action:pan-y;border-radius:20px}.portrait .modal *{touch-action:pan-y}.portrait .modal h2{font-size:30px;letter-spacing:-1px}.portrait .modal p{font-size:18px}.portrait .modal-close{width:48px;height:48px;top:8px;right:8px}.portrait .primary,.portrait .secondary,.portrait .result-actions .primary,.portrait .result-actions .secondary{min-height:56px;font-size:18px;padding:12px 16px;gap:12px}.portrait .pause-art{display:none}.portrait .pause-content{padding:24px}.portrait .pause .primary,.portrait .pause .secondary{min-height:56px}.portrait .result{padding:24px}.portrait .result h2{font-size:32px}.portrait .guide{padding:22px}.portrait .guide>.eyebrow{display:block;max-width:330px;font-size:11px}.portrait .guide h2{padding-right:22px}.portrait .guide-steps{grid-template-columns:1fr;gap:8px}.portrait .guide-steps>div{padding:12px}.portrait .guide-steps svg{float:left;margin:0 12px 0 0;width:28px;height:28px}.portrait .guide-steps b{font-size:18px}.portrait .guide-steps p{font-size:16px;margin:7px 0 0}.portrait .keyboard-help{display:none}.portrait .mechanic-note p,.portrait .quiet{font-size:16px!important}.portrait .operations-top{height:auto;min-height:112px;padding:18px;display:block}.portrait .operations-top h2{font-size:25px;max-width:340px}.portrait .overall{font-size:18px;margin:0}.portrait .overall small{font-size:14px}.portrait .operations-body{display:block;height:auto}.portrait .chapters{width:100%;grid-template-columns:repeat(4,1fr);padding:10px;gap:6px;border:0}.portrait .chapter-tab{height:66px;padding:7px}.portrait .chapter-tab span{font-size:13px}.portrait .chapter-tab b{font-size:14px}.portrait .chapter-page{padding:12px}.portrait .chapter-art{height:auto;min-height:125px;padding:16px}.portrait .chapter-art h3{font-size:28px}.portrait .chapter-art p{font-size:16px}.portrait .level-grid{gap:6px;margin-top:12px}.portrait .level-tile{height:64px}.portrait .level-tile strong{font-size:24px}.portrait .chapter-description{font-size:16px!important}.portrait .icon-button{width:66px;height:66px}.portrait .wordmark{font-size:18px;max-width:300px}.portrait .wordmark svg{width:22px}.portrait footer{height:138px;grid-template-rows:58px 70px}.portrait .tools button{height:70px}.portrait .casebook{height:58px}:root{color:#263e43;background:#f4eddf;font-family:Trebuchet MS,Arial,sans-serif;color-scheme:light}#shell,#app{background:#f4eddf}.wordmark{font-weight:800}.wordmark svg{color:#346b79}.wordmark small{color:#63776c}.level-heading>span,.eyebrow{color:#61736e}.icon-button{background:#e9dfcd;color:#34515b}#dispatch{padding:18px 0;background:transparent;border-radius:0}#dispatch h2{font-size:29px;color:#213f48}#dispatch p{color:#50625e;font-size:20px;line-height:1.5}.mission-goal{display:block;color:#a75229;font-size:14px;font-weight:800;letter-spacing:1px;margin-bottom:14px}.dispatch-meta{display:flex;align-items:center;gap:18px;margin-top:16px;font-size:15px;color:#556b63}.dispatch-meta .text-button{margin-left:auto;color:#315f71;font-size:16px}.tools button{border:1px solid #cbbda6;box-shadow:0 3px #c6b69a;border-radius:12px}.tools .primary,.primary{background:#d4763f;color:#fffaf1;box-shadow:0 4px #a95b2f}.casebook{border-color:#b5baa5;color:#345862}.turn-count small{color:#536a61}#overlay{background:#e8dfccd9;backdrop-filter:blur(5px)}.modal{background:#fffaf0;color:#263e43;border-color:#d2c5ad;box-shadow:0 18px 60px #74684c25}.modal p,.quiet,.save-note{color:#596b63}.secondary{background:#e7decc;color:#304946}.modal-close{background:#e6ddcd;color:#36565b}.chapter-tab,.level-tile,.guide-steps>div,.mechanic-note{background:#ede7d8;color:#304946}.chapter-tab.active,.level-tile.current{background:#f6d5ac;color:#643e23}.chapter-art{background:#dbe5d3;color:#2c514a}.chapter-art p,.chapter-description{color:#435d53}.portrait header{top:10px;height:110px}.portrait .wordmark{font-size:19px;max-width:290px}.portrait .icon-button{width:60px;height:60px}.portrait .level-heading{top:62px}#app.portrait #city{left:-112.3px;top:108px;width:832px;height:468px}.portrait #dispatch{top:548px;left:20px;width:440px;padding:8px 0;background:none;border-radius:0}.portrait .mission-goal{font-size:15px;margin-bottom:5px;letter-spacing:.5px}.portrait #dispatch h2{font-size:23px;margin:0 0 4px}.portrait #dispatch p{font-size:17px;line-height:1.3;margin:0}.portrait .dispatch-meta{margin-top:0;font-size:15px;gap:10px}.portrait .dispatch-meta .text-button{display:inline-flex;min-height:48px;padding:0;font-size:16px}.portrait footer{height:124px;grid-template-rows:52px 62px;gap:10px}.portrait .tools button{height:62px}.portrait .casebook{height:52px}.portrait #toast{bottom:148px;background:#fffaf0;color:#304946;border-color:#b5baa5}
