:root{--brand-blue:#0f5d7a;--brand-blue-dark:#0b4257;--brand-orange:#e2722b;--brand-orange-dark:#c95e1b;--ink:#f4f1ea;--ink-dim:#f4f1eabd;--ink-faint:#f4f1ea80;--gold:#f0bf3a;--green:#79c25e;--red:#e8735a;--panel:#092c3bcc;--panel-solid:#0c3a4d;--panel-border:#f4f1ea24;--paper:#f7f0dd;--paper-ink:#2f2b24;--shadow:0 10px 30px #03121a59;--radius:14px;--font-display:"Bree Serif", Rockwell, "Roboto Slab", Georgia, serif;--font-body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-body);color:var(--ink)}*{box-sizing:border-box}html,body{background:#0b2230;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}.game-canvas{width:100%;height:100%;display:block}[hidden]{display:none!important}.icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.hud,.menu-layer,.dialog-layer,.hud-toasts,.loading-screen{zoom:1}@media (min-width:1700px) and (min-height:940px){.hud,.menu-layer,.dialog-layer,.hud-toasts,.loading-screen{zoom:1.3}}kbd,.mouse{background:var(--ink);min-width:26px;color:var(--brand-blue-dark);font:700 13px/20px var(--font-body);text-align:center;white-space:nowrap;border-bottom:3px solid #bdb5a3;border-radius:6px;margin-right:3px;padding:1px 7px 0;display:inline-block}.mouse{color:var(--ink);background:#f4f1ea29;border-bottom-color:#f4f1ea4d;font-weight:600}.ui-btn{min-height:42px;color:var(--ink);font:600 15px var(--font-body);cursor:pointer;background:#f4f1ea1f;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.ui-btn:hover{background:#f4f1ea33}.ui-btn:active{transform:translateY(1px)}.ui-btn:focus-visible,.menu-btn:focus-visible,.choice:focus-visible,.seg-btn:focus-visible,.sheet-back:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.ui-btn--primary{background:var(--brand-orange);color:#fff;box-shadow:0 3px 0 var(--brand-orange-dark)}.ui-btn--primary:hover{background:#ec7f37}.ui-btn--danger{color:#fff;background:#c8513b;box-shadow:0 3px #9b3a28}.ui-btn--danger:hover{background:#d65c45}.ui-btn--ghost{background:0 0;box-shadow:inset 0 0 0 1.5px #f4f1ea59}.ui-btn--ghost:hover{background:#f4f1ea1a}.ui-btn--ink{background:var(--brand-blue);color:#fff;box-shadow:0 3px 0 var(--brand-blue-dark)}.ui-btn--ink:hover{background:#136c8d}.ui-btn--small{min-height:34px;padding:0 14px;font-size:13px}.logo{filter:drop-shadow(0 8px 18px #00000059);flex-direction:column;align-items:flex-start;display:inline-flex;position:relative}.logo-plate{background:linear-gradient(180deg, #137099, var(--brand-blue) 55%, #0d5470);border-radius:12px;padding:8px 26px 12px;transform:rotate(-3.5deg);box-shadow:inset 0 -4px #00000026}.logo-name{font:400 64px/1.05 var(--font-display);color:#fff;letter-spacing:.01em;text-shadow:0 3px #0000002e;white-space:nowrap;display:block}.logo-tag{background:linear-gradient(180deg, #ec7e36, var(--brand-orange));border-radius:9px;align-items:center;gap:8px;margin:-6px 0 0 auto;padding:6px 18px 7px 12px;display:flex;transform:rotate(-2deg)translate(8px);box-shadow:inset 0 -3px #00000024}.logo-tag span{font:400 26px/1.1 var(--font-display);color:#fff;white-space:nowrap}.logo-ear{color:#fde7a6;width:15px;height:32px}.loading-screen{background:radial-gradient(circle at 50% 38%, #e2722b29, transparent 45%), radial-gradient(circle at 50% 40%, var(--brand-blue), var(--brand-blue-dark) 75%);z-index:20;place-content:center;justify-items:center;gap:28px;transition:opacity .6s;display:grid;position:absolute;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-track{background:#ffffff29;border-radius:5px;width:min(360px,70vw);height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #00000040}.loading-bar{background:linear-gradient(90deg, var(--brand-orange), #f39a4f);border-radius:5px;width:0;height:100%;transition:width .25s}.loading-label{color:var(--ink-dim);font-size:15px}.menu-layer{z-index:10;position:absolute;inset:0}.title-screen,.pause-screen,.sheet-host{position:absolute;inset:0}.menu-layer[data-screen=title] .pause-screen,.menu-layer[data-screen=pause] .title-screen{display:none}.title-shade{pointer-events:none;background:linear-gradient(90deg,#06222fe6 0%,#06222fb8 26%,#06222f33 52%,#06222f00 70%),linear-gradient(#0000 70%,#06222f80);position:absolute;inset:0}.title-panel{flex-direction:column;width:400px;animation:.8s cubic-bezier(.2,.8,.2,1) both rise;display:flex;position:absolute;top:50%;left:clamp(36px,7vw,120px);transform:translateY(-50%)}.title-blurb{max-width:340px;color:var(--ink-dim);margin:26px 0 24px;font-size:16px;line-height:1.5}.menu-buttons{flex-direction:column;gap:8px;display:flex}.menu-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:320px;height:50px;color:var(--ink);font:600 17px var(--font-body);text-align:left;cursor:pointer;background:#f4f1ea12;border:1px solid #f4f1ea21;border-radius:12px;align-items:center;gap:14px;padding:0 18px;transition:background .15s,border-color .15s,transform .15s,padding .15s;display:flex}.menu-btn .icon{width:20px;height:20px;color:var(--brand-orange);transition:color .15s}.menu-btn:hover,.menu-btn:focus-visible{background:#f4f1ea29;border-color:#f4f1ea4d;padding-left:22px}.menu-btn--primary{background:var(--brand-orange);box-shadow:0 4px 0 var(--brand-orange-dark), 0 10px 24px #e2722b4d;color:#fff;border-color:#0000}.menu-btn--primary .icon{color:#fff}.menu-btn--primary:hover,.menu-btn--primary:focus-visible{background:#ec7f37;border-color:#0000}.menu-btn--primary:focus-visible{outline-color:#fff}.title-buttons .menu-btn[hidden]+.menu-btn{background:var(--brand-orange);box-shadow:0 4px 0 var(--brand-orange-dark), 0 10px 24px #e2722b4d;color:#fff;border-color:#0000}.title-buttons .menu-btn[hidden]+.menu-btn .icon{color:#fff}.title-buttons .menu-btn--primary+.menu-btn{margin-top:4px}.title-footer{color:var(--ink-faint);margin-top:28px;font-size:13px}.menu-layer[data-screen=title][data-sheet] .title-panel{opacity:.55;filter:saturate(.7);transition:opacity .2s}.pause-screen{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04161f6b;place-items:center;animation:.18s both fade-in;display:grid}.menu-layer[data-screen=pause][data-sheet] .pause-screen>.menu-card{display:none}.menu-card{border:1px solid var(--panel-border);background:linear-gradient(#0f5d7af2,#0b3a4ff5);border-radius:18px;box-shadow:0 24px 60px #020e1480}.pause-card{width:380px;padding:26px 30px 22px;animation:.22s cubic-bezier(.2,.9,.3,1.2) both pop-in}.pause-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.pause-ear{width:18px;height:38px;color:var(--gold)}.menu-heading{font:400 30px/1.1 var(--font-display);color:#fff;margin:0}.pause-buttons .menu-btn{width:100%}.pause-foot{color:var(--ink-faint);margin-top:16px;font-size:12.5px;line-height:1.45}.pause-foot b{color:var(--ink-dim)}.sheet-host{pointer-events:none;place-items:center;display:grid}.menu-layer[data-screen=title] .sheet-host{left:calc(clamp(36px,7vw,120px) + 420px);right:24px}.menu-layer[data-screen=pause] .sheet-host{background:0 0}.sheet{pointer-events:auto;flex-direction:column;width:min(580px,100%);max-height:calc(100% - 48px);padding:20px 26px 22px;animation:.22s cubic-bezier(.2,.9,.3,1.15) both pop-in;display:flex}.sheet--controls{width:min(680px,100%)}.sheet-head{border-bottom:1px solid var(--panel-border);align-items:center;gap:14px;margin-bottom:6px;padding-bottom:14px;display:flex}.sheet-back{height:34px;color:var(--ink);font:600 14px var(--font-body);cursor:pointer;background:#f4f1ea1a;border:0;border-radius:9px;align-items:center;gap:4px;padding:0 12px 0 8px;display:inline-flex}.sheet-back:hover{background:#f4f1ea2e}.sheet-body{margin-right:-4px;padding-right:4px;overflow-y:auto}.sheet-body h3{color:var(--brand-orange);font:700 12px var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin:16px 0 6px}.sheet-foot{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.sheet-note{color:var(--ink-faint);font-size:12.5px}.set-row{cursor:default;grid-template-columns:1fr 200px 48px;align-items:center;gap:14px;min-height:44px;padding:4px 0;display:grid}.set-row--toggle{cursor:pointer;grid-template-columns:1fr auto}.set-row:has(.segmented){grid-template-columns:1fr auto}.set-label{font-size:15px}.set-value{color:var(--ink-dim);font:600 14px var(--font-body);font-variant-numeric:tabular-nums;text-align:right}.set-range{--fill:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}.set-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--brand-orange) var(--fill), #f4f1ea33 var(--fill));border-radius:3px;height:6px}.set-range::-moz-range-track{background:linear-gradient(90deg, var(--brand-orange) var(--fill), #f4f1ea33 var(--fill));border-radius:3px;height:6px}.set-range::-webkit-slider-thumb{appearance:none;border:3px solid var(--brand-orange);background:#fff;border-radius:50%;width:20px;height:20px;margin-top:-7px;box-shadow:0 2px 6px #0000004d}.set-range::-moz-range-thumb{border:3px solid var(--brand-orange);background:#fff;border-radius:50%;width:14px;height:14px}.set-range:focus-visible{outline:none}.set-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #f0bf3a99}.set-toggle{opacity:0;pointer-events:none;position:absolute}.set-switch{background:#f4f1ea38;border-radius:13px;width:46px;height:26px;transition:background .18s;position:relative}.set-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s cubic-bezier(.3,.8,.3,1.2);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000004d}.set-toggle:checked+.set-switch{background:var(--brand-orange)}.set-toggle:checked+.set-switch:after{transform:translate(20px)}.set-toggle:focus-visible+.set-switch{outline:3px solid var(--gold);outline-offset:2px}.segmented{background:#00000038;border-radius:10px;padding:3px;display:inline-flex}.seg-btn{min-width:78px;height:34px;color:var(--ink-dim);font:600 14px var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px}.seg-btn:hover{color:var(--ink)}.seg-btn[aria-checked=true]{background:var(--ink);color:var(--brand-blue-dark);box-shadow:0 2px 6px #0003}.controls-grid{grid-template-columns:1fr 1fr;gap:4px 28px;display:grid}.controls-group dl{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;margin:0;display:grid}.controls-group dt{white-space:nowrap}.controls-group dd{color:var(--ink-dim);margin:0;font-size:14px}.about-lead{color:var(--ink-dim);margin:12px 0 4px;line-height:1.55}.about-lead b{color:var(--ink)}.credits{gap:2px;margin:0;padding:0;list-style:none;display:grid}.credits li{border-bottom:1px solid #f4f1ea14;grid-template-columns:120px 1fr;gap:12px;padding:7px 0;font-size:14px;display:grid}.credits li span{color:var(--ink-dim)}.about-small{color:var(--ink-faint);margin:14px 0 0;font-size:12.5px;line-height:1.5}.hud{pointer-events:none;z-index:5;transition:opacity .3s;position:absolute;inset:0}body.ui-title .hud{opacity:0;visibility:hidden}body.ui-paused .hud{opacity:.35}.hud-panel,.hud-status,.hud-objective,.hud-hint,.hud-vehicle,.hud-toast{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-status{border-radius:var(--radius);min-width:176px;padding:9px 14px 10px;position:absolute;top:16px;left:16px}.status-row{white-space:nowrap;align-items:center;gap:8px;display:flex}.status-time{color:var(--ink-dim);font-size:15px}.status-icon{place-items:center;width:22px;display:inline-grid}.status-dayicon{color:#ffd15c}.status-dayicon.is-night{color:#bcd3ff}.status-day{font:400 17px var(--font-display);color:var(--ink)}.status-sep{background:var(--ink-faint);border-radius:50%;width:4px;height:4px}.hud-clock{font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--ink);font-weight:600}.status-money{border-top:1px solid #f4f1ea1a;margin-top:5px;padding-top:6px;position:relative}.status-coin{color:var(--gold)}.status-coin .icon{width:20px;height:20px}.money-value{font:700 21px var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.01em}.status-money.flash-gain .money-value{animation:.9s flash-gain}.status-money.flash-loss .money-value{animation:.9s flash-loss}.money-delta{font:700 15px var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:8px;padding:2px 9px;animation:1.8s ease-out both delta-float;position:absolute;top:4px;left:calc(100% + 12px)}.money-delta.is-gain{color:#fff;background:#408c34eb}.money-delta.is-loss{color:#fff;background:#b0402ceb}.hud-objective{border-radius:var(--radius);border-left:4px solid var(--brand-orange);width:300px;padding:11px 14px 12px;transition:border-color .4s;position:absolute;top:112px;left:16px}.hud-objective.is-new{animation:.5s cubic-bezier(.2,.8,.2,1) both slide-in-left}.hud-objective.is-complete{border-left-color:var(--green)}.obj-kicker{color:var(--brand-orange);font:700 11px var(--font-body);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:5px;display:inline-flex}.obj-kicker .icon{width:13px;height:13px}.obj-title{font:400 18px/1.25 var(--font-display);margin:3px 0 8px}.obj-steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.obj-step{border-radius:8px;grid-template-columns:20px 1fr auto;grid-template-areas:"check text pct"".bar bar";align-items:center;column-gap:8px;margin:0 -6px;padding:3px 6px;font-size:14.5px;line-height:1.35;display:grid}.obj-check{color:#0000;border:2px solid #f4f1ea73;border-radius:50%;grid-area:check;place-items:center;width:18px;height:18px;display:grid}.obj-check .icon{stroke-width:3.4px;width:12px;height:12px}.obj-text{grid-area:text}.obj-pct{color:var(--ink-dim);font:600 13px var(--font-body);font-variant-numeric:tabular-nums;grid-area:pct;display:none}.obj-bar{background:#f4f1ea29;border-radius:3px;grid-area:bar;height:5px;margin-top:4px;display:none;overflow:hidden}.obj-fill{background:linear-gradient(90deg, var(--brand-orange), #f3a052);border-radius:3px;width:0;height:100%;transition:width .35s;display:block}.obj-step.has-progress .obj-bar,.obj-step.has-progress .obj-pct{display:block}.obj-step.is-done .obj-check{background:var(--green);border-color:var(--green);color:#fff}.obj-step.is-done .obj-text{color:var(--ink-faint)}.obj-step.just-done{animation:1.6s both step-done}.obj-step.just-done .obj-check{animation:.5s cubic-bezier(.3,1.6,.5,1) both check-pop}.hud-minimap{background:var(--brand-blue-dark);width:184px;height:184px;box-shadow:0 0 0 3px var(--brand-blue-dark), 0 0 0 5px #f4f1ead9, var(--shadow);border-radius:50%;position:absolute;top:16px;right:16px}.minimap-canvas{border-radius:50%;width:184px;height:184px;display:block}.minimap-north{background:var(--brand-orange);border:2px solid var(--ink);color:#fff;width:22px;height:22px;font:700 11px/18px var(--font-body);text-align:center;border-radius:50%;margin-left:-11px;position:absolute;top:-11px;left:50%}.hud-fps{color:var(--ink-dim);background:#03121a99;border-radius:7px;padding:3px 9px;font:600 12px Consolas,Cascadia Mono,monospace;position:absolute;top:212px;right:16px}.hud:has(.hud-minimap[hidden]) .hud-fps{top:16px}.hud-controls{border-radius:var(--radius);background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;padding:10px 14px 11px;font-size:13px;position:absolute;bottom:16px;left:16px}.hud-controls.is-new{animation:.3s both hint-in}.ctl-title{color:var(--brand-orange);font:700 11px var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.hud-controls ul{grid-template-columns:max-content auto;align-items:center;gap:5px 12px;margin:0;padding:0;list-style:none;display:grid}.hud-controls li{color:var(--ink-dim);display:contents}.ctl-what{color:var(--ink-dim)}.hud-controls kbd{min-width:22px;margin-right:2px;padding:0 5px;font-size:11px;line-height:17px}.hud-hint{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:8px 16px 8px 10px;font-size:16px;font-weight:600;animation:.18s both hint-in;display:flex;position:absolute;bottom:56px;left:50%;transform:translate(-50%)}.hud-hint kbd{background:var(--brand-orange);border-bottom-color:var(--brand-orange-dark);color:#fff;min-width:28px;margin-right:8px;font-size:14px;line-height:22px}.hud-vehicle{border-radius:var(--radius);width:250px;padding:12px 16px 14px;position:absolute;bottom:16px;right:16px}.veh-top{justify-content:space-between;align-items:center;display:flex}.veh-icon{width:38px;height:38px;color:var(--brand-orange);background:#e2722b2e;border-radius:10px;place-items:center;display:grid}.veh-icon .icon{width:24px;height:24px}.hud-speed{align-items:baseline;gap:6px;display:flex}.speed-num{min-width:2ch;font:400 40px/1 var(--font-display);font-variant-numeric:tabular-nums;text-align:right}.speed-unit{color:var(--ink-dim);font:600 14px var(--font-body)}.hud-vehicle.is-reverse .speed-unit:after{content:" · R";color:var(--brand-orange)}.veh-implement{border-top:1px solid #f4f1ea1f;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.veh-impl-name{font:400 16px var(--font-display)}.veh-state{color:var(--ink-dim);font:700 12px var(--font-body);background:#f4f1ea1f;border-radius:20px;align-items:center;gap:4px;padding:2px 9px 2px 6px;display:inline-flex}.veh-state .icon{width:14px;height:14px}.veh-state.is-lowered{color:#ffc79f;background:#e2722b40}.veh-state.is-working{background:var(--green);color:#fff;animation:1.6s ease-in-out infinite pulse-soft}.veh-bar{margin-top:9px}.veh-bar-head{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;display:flex}.veh-bar-label{color:var(--ink-dim);align-items:center;gap:5px;display:inline-flex}.veh-bar-label .icon{width:15px;height:15px;color:var(--gold)}.veh-bar-value{font-variant-numeric:tabular-nums;font-weight:700}.veh-track{background:#f4f1ea24;border-radius:4px;height:8px;overflow:hidden}.veh-fill{background:linear-gradient(90deg, #d9a72c, var(--gold));border-radius:4px;width:0;height:100%;transition:width .3s}.veh-bar--coverage .veh-fill{background:linear-gradient(90deg, #4f9a3e, var(--green))}.veh-bar--coverage .veh-bar-label .icon{color:var(--green)}.veh-bar.is-low .veh-fill{background:var(--red)}.veh-bar.is-low .veh-bar-value{color:#ffb3a2}.veh-bar.is-full .veh-fill{background:var(--brand-orange);animation:1.2s ease-in-out infinite pulse-soft}.hud-saved{color:var(--ink-dim);opacity:0;background:#03121a99;border-radius:10px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:16px;left:16px;transform:translateY(6px)}.hud-saved.is-on{opacity:1;transform:none}.hud-toasts{pointer-events:none;z-index:16;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%)}.hud-toast{background:#092c3beb;border-radius:12px;align-items:center;gap:10px;max-width:520px;padding:10px 18px 10px 12px;font-size:15.5px;line-height:1.35;transition:opacity .6s,transform .6s;animation:.35s cubic-bezier(.2,.9,.3,1.2) both toast-in;display:flex}.toast-icon{width:26px;height:26px;color:var(--ink);background:#f4f1ea24;border-radius:50%;place-items:center;display:grid}.toast-icon .icon{width:17px;height:17px}.hud-toast--success .toast-icon{background:var(--green);color:#fff}.hud-toast--warning .toast-icon{background:var(--brand-orange);color:#fff}.hud-toast--success{border-color:#79c25e73}.hud-toast--warning{border-color:#e2722b8c}.hud-toast.fade-out{opacity:0;transform:translateY(-8px)}.screen-fade{opacity:0;pointer-events:none;z-index:18;background:#02080b;transition:opacity .7s;position:absolute;inset:0}.screen-fade.is-on{opacity:1}.dialog-layer{z-index:14;position:absolute;inset:0}.dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04161f80;place-items:center;padding:24px;animation:.2s both fade-in;display:grid;position:absolute;inset:0}.dialog-backdrop.closing{animation:.18s both fade-out}.dialog-card{border:1px solid var(--panel-border);background:linear-gradient(#0f5d7af7,#0b3a4ffa);border-radius:18px;width:min(460px,100%);padding:24px 28px 22px;animation:.24s cubic-bezier(.2,.9,.3,1.2) both pop-in;position:relative;box-shadow:0 24px 60px #020e1480}.dialog-title{font:400 25px/1.2 var(--font-display);color:#fff;margin:0 0 8px}.dialog-text{color:var(--ink-dim);margin:0;font-size:16px;line-height:1.5}.dialog-confirm .dialog-title+.dialog-text{margin-top:4px}.dialog-sub{color:var(--ink-dim);margin:-2px 0 12px;font-size:14.5px}.dialog-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.dialog-keys{color:var(--ink-faint);margin-right:auto;font-size:12.5px}.dialog-keys kbd{min-width:22px;padding:0 5px;font-size:11px;line-height:17px}.dialog-choose{width:min(520px,100%)}.choice-list{gap:6px;max-height:min(56vh,420px);margin:0 -4px;padding:4px;display:grid;overflow-y:auto}.choice{min-height:48px;color:var(--ink);font:600 15.5px var(--font-body);text-align:left;cursor:pointer;background:#f4f1ea0f;border:1px solid #f4f1ea1f;border-radius:11px;grid-template-columns:26px 1fr auto;align-items:center;gap:12px;padding:8px 14px 8px 10px;transition:background .12s,border-color .12s;display:grid}.choice:hover:not(:disabled),.choice:focus-visible{background:#e2722b38;border-color:#e2722bb3}.choice:focus-visible{outline-offset:0}.choice:disabled{opacity:.45;cursor:not-allowed}.choice-num{width:24px;height:24px;color:var(--ink-dim);background:#f4f1ea1f;border-radius:7px;place-items:center;font-size:12.5px;display:grid}.choice-detail{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.choice:disabled .choice-detail{color:var(--ink-dim)}.dialog-backdrop--paper{background:#04161f9e}.letter{width:min(580px,100%);max-height:calc(100% - 20px);color:var(--paper-ink);background:radial-gradient(ellipse at 30% 0%, #fffaf0, transparent 70%), radial-gradient(ellipse at 100% 100%, #b28c5038, transparent 60%), var(--paper);border-radius:4px;padding:38px 48px 26px;animation:.45s cubic-bezier(.2,.9,.3,1.1) both letter-in;position:relative;overflow-y:auto;transform:rotate(-.7deg);box-shadow:inset 0 1px #fff9,0 30px 70px #00000073,0 3px 8px #00000040}.letter:before{content:"";background:linear-gradient(90deg,#0000,#785a3229,#0000);height:1px;position:absolute;top:50%;left:0;right:0}.letter-stamp{background:#e2722b14;border:2px dashed #e2722bbf;border-radius:4px;place-items:center;width:54px;height:62px;display:grid;position:absolute;top:22px;right:26px;transform:rotate(5deg)}.letter-stamp-ear{width:20px;height:44px;color:var(--brand-orange)}.letter-from{color:var(--brand-orange-dark);font:700 12px var(--font-body);letter-spacing:.14em;text-transform:uppercase}.letter-title{color:var(--brand-blue-dark);font:400 31px/1.15 var(--font-display);margin:6px 70px 14px 0}.letter-body{font:17px/1.7 Georgia,Palatino Linotype,Book Antiqua,serif}.letter-body p{margin:0 0 14px}.letter-sign{width:max-content;color:var(--brand-blue);font:400 25px var(--font-display);margin:4px 14px 0 auto;transform:rotate(-3deg)}.letter-sign:before{content:"— ";color:#0f5d7a80}.letter-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;display:flex}.letter .dialog-keys{color:#2f2b248c}.letter kbd{background:#fff;border-bottom-color:#d4cbb6}.dialog-result{text-align:center;width:min(520px,100%);padding-top:30px;overflow:hidden}.result-rays{background:repeating-conic-gradient(#f0bf3a1f 0 10deg, transparent 10deg 20deg);pointer-events:none;border-radius:50%;width:460px;height:460px;margin-left:-230px;animation:40s linear infinite spin;position:absolute;top:-150px;left:50%;-webkit-mask-image:radial-gradient(circle,#000 25%,#0000 68%);mask-image:radial-gradient(circle,#000 25%,#0000 68%)}.medal{width:124px;height:150px;margin:0 auto 8px;animation:.7s cubic-bezier(.2,1.4,.4,1) .1s both medal-in;position:relative}.medal-ribbon{background:linear-gradient(90deg, var(--brand-orange) 0 30%, var(--ink) 30% 70%, var(--brand-orange) 70%);clip-path:polygon(0 0,100% 0,78% 100%,50% 80%,22% 100%);width:70px;height:64px;margin-left:-35px;position:absolute;top:0;left:50%}.medal-disc{background:radial-gradient(circle at 35% 30%, #fff6c9, var(--m1) 38%, var(--m2) 100%);width:104px;height:104px;box-shadow:inset 0 0 0 6px var(--m3), inset 0 0 0 8px #ffffff59, 0 10px 24px #00000059;border-radius:50%;place-items:center;margin-left:-52px;display:grid;position:absolute;bottom:0;left:50%}.medal-ear{width:28px;height:60px;color:var(--m3)}.medal-label{background:var(--m3);color:#fff;font:400 14px var(--font-display);border-radius:12px;padding:2px 12px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.medal--goud{--m1:#f6cf4a;--m2:#c8901a;--m3:#a8740f}.medal--zilver{--m1:#e4e8ec;--m2:#9aa3ab;--m3:#7a838b}.medal--brons{--m1:#e3a06a;--m2:#a86434;--m3:#8a4f26}.medal--none{--m1:#c9d2c4;--m2:#87947f;--m3:#6c7866;height:110px}.result-title{margin-top:18px;font-size:28px}.result-lines{color:var(--ink-dim);gap:4px;margin:8px 0 0;padding:0;font-size:16px;line-height:1.45;list-style:none;display:grid}.result-lines li:first-child{color:var(--ink);font-weight:600}.dialog-result .dialog-actions{justify-content:center}.perf-overlay{z-index:15;pointer-events:none;background:#0000008c;border-radius:4px;padding:4px 8px;font:12px/1.4 Consolas,monospace;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.fatal-error{text-align:center;place-content:center;padding:24px;font-size:18px;display:grid;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(calc(24px - 50%))}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}}@keyframes letter-in{0%{opacity:0;transform:rotate(-4deg)translateY(40px)scale(.96)}}@keyframes medal-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,6px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}}@keyframes step-done{0%{background:#79c25e00}15%{background:#79c25e59}to{background:#79c25e00}}@keyframes check-pop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes delta-float{0%{opacity:0;transform:translateY(6px)scale(.9)}12%{opacity:1;transform:translateY(0)scale(1.05)}25%{transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-16px)}}@keyframes flash-gain{20%{color:#a6f08c}}@keyframes flash-loss{20%{color:#ffb19e}}@keyframes pulse-soft{50%{opacity:.75}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
