:root{color:#eceee9;font-synthesis:none;--bg:#10131a;--panel:#181d25;--line:#2c323b;--muted:#9299a5;--orange:#ff7247;--green:#b4d692;background:#10131a;font-family:Inter,Segoe UI,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.38}button:focus-visible{outline-offset:5px;outline:2px solid #ffe3a0}a:focus-visible{outline-offset:5px;outline:2px solid #ffe3a0}button{transition:background .18s,border-color .18s,transform .18s}button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}small{font-size:10px}em{font-style:normal}.orange{color:var(--orange)}.dim{color:#5b6473}.shell{max-width:1600px;margin:auto;padding:0 48px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:100px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{background:var(--orange);letter-spacing:-8px;color:#141820;clip-path:polygon(15% 0,100% 0,85% 100%,0 100%);justify-content:center;align-items:center;width:47px;height:43px;padding-right:6px;font-size:35px;font-style:italic;font-weight:950;display:inline-flex}.brand-mark span{font-size:26px}.brand-text{letter-spacing:1px;font-size:21px;font-weight:900;line-height:1}.brand-text small{letter-spacing:2px;color:#9ea4ad;margin-top:7px;font-size:8px;display:block}.header-center{letter-spacing:1.7px;color:#b2b6bd;align-items:center;gap:13px;font:10px monospace;display:flex}.status-dot{background:#b8cf9a;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 9px #adc38433}.header-right{align-items:center;gap:12px;display:flex}.wallet{text-align:right;margin-right:17px}.wallet small{color:var(--muted);letter-spacing:1.5px;font-size:8px;display:block}.wallet b{font:600 20px/1.6 monospace}.icon-button{color:#cbd0d5;background:0 0;border:1px solid #39404b;border-radius:50%;width:34px;height:34px;font-size:16px}nav{border-bottom:1px solid var(--line);align-items:stretch;gap:34px;height:72px;display:flex}.nav-item{color:var(--muted);background:0 0;border:0;align-items:center;gap:9px;padding:0 2px;font-size:12px;font-weight:600;display:flex;position:relative}.nav-item>span{font-size:20px;font-weight:400}.nav-item small{color:#58616e;margin-left:11px;font:9px monospace}.nav-item.active{color:#f4f0e8}.nav-item.active>span{color:var(--orange)}.nav-item.active:after{content:"";background:var(--orange);height:2px;position:absolute;bottom:-1px;left:0;right:0}.nav-end{letter-spacing:1px;color:#b6bac3;align-self:center;margin-left:auto;font:10px monospace}.nav-end i{color:var(--orange);margin-left:9px;font-size:8px;font-style:normal}main{min-height:calc(100vh - 240px)}.page-heading{justify-content:space-between;align-items:center;gap:16px;padding:29px 0 25px;display:flex}.eyebrow{letter-spacing:2.5px;color:#9da5b1;font:9px monospace;display:block}.eyebrow.orange{color:var(--orange)}h1{letter-spacing:1px;margin-top:8px;font-size:24px;font-weight:650}h2{letter-spacing:.4px;font-size:23px}h3{font-size:17px}.track-tag{color:#a4acb8;border:1px solid var(--line);letter-spacing:1px;align-items:center;gap:12px;padding:11px 13px;font:9px monospace;display:flex}.track-tag b{color:#e0d6c3;border-left:1px solid #46505d;padding-left:11px;font-weight:500}.race-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;display:grid}.race-main{min-width:0}.scene-wrap{aspect-ratio:1200/640;background:#1c2433;border:1px solid #3d404b;position:relative;overflow:hidden}.scene-wrap canvas{width:100%;height:100%;display:block}.hero-copy{pointer-events:none;position:absolute;top:6.8%;left:5.3%}.hero-copy .eyebrow{letter-spacing:3px;font-size:9px}.hero-title{letter-spacing:-7px;color:#f2eee4;text-shadow:0 3px #c0baa21a;margin-top:10px;font-family:Arial Black,Segoe UI,sans-serif;font-size:clamp(72px,7.8vw,128px);font-style:italic;font-weight:950;line-height:.98;transform:skew(-5deg)}.hero-title span{color:var(--orange)}.hero-sub{letter-spacing:7px;margin-top:8px;margin-left:5px;font-size:11px;font-weight:650}.hero-copy p{letter-spacing:2px;color:#e1d1c0;margin-top:18px;font-size:10px}.scene-corner{letter-spacing:1px;color:#c4c1bf;text-align:right;font:8px/1.8 monospace;position:absolute;top:8%;right:4%}.scene-caption{text-shadow:0 2px 3px #000;flex-direction:column;display:flex;position:absolute;bottom:5%;left:5.3%}.scene-caption span{letter-spacing:1.5px;color:var(--orange);margin-bottom:7px;font:8px monospace}.scene-caption strong{letter-spacing:1.5px;font-size:17px;font-style:italic}.scene-caption small{color:#a5afb9;letter-spacing:1px;margin-top:4px;font:8px monospace}.car-specs{border:1px solid var(--line);background:#181d25;border-top:none;justify-content:space-between;align-items:center;gap:14px;padding:22px 23px;display:flex}.car-specs>div{border-right:1px solid #333943;flex-grow:1;padding-right:24px}.car-specs>div:nth-child(4){border:0;padding-right:0}.car-specs small,.record-stats small{color:var(--muted);letter-spacing:1.3px;margin-bottom:8px;font:8px monospace;display:block}.car-specs strong{letter-spacing:-.5px;font:23px Segoe UI,sans-serif}.car-specs em{color:var(--muted);margin-left:6px;font:9px monospace}.text-button{color:#bfc5cb;white-space:nowrap;background:0 0;border:0;padding:0;font-size:10px}.text-button span{color:var(--orange);margin-left:6px}.control-strip{color:#9ba2ae;align-items:center;gap:15px;padding:18px 0;font-size:9px;display:flex}.control-strip .tiny-label{color:#7e8794;margin-right:2px}.tiny-label{letter-spacing:1px;color:#9aa3b1;font:8px monospace}.control-strip .text-button{margin-left:auto;font-size:9px}.control-strip>span{white-space:nowrap}kbd{color:#d8dbdf;background:#202630;border:1px solid #414956;border-radius:3px;margin-right:4px;padding:3px 5px;font:8px monospace}.race-sidebar{flex-direction:column;gap:17px;display:flex}.event-card{border:1px solid var(--line);background:linear-gradient(125deg,#20242d,#181d25);padding:21px}.section-label{letter-spacing:1.2px;color:#a5abb6;justify-content:space-between;align-items:center;gap:10px;font:8px monospace;display:flex}.event-top{align-items:center;gap:13px;margin:25px 0;display:flex}.event-emblem{color:#d9b68a;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);background:#b3906020;border:1px solid #9b7551;justify-content:center;align-items:center;width:40px;height:43px;font-size:24px;display:flex}.event-top small{letter-spacing:1px;color:#c6b392;font:7px monospace}.event-top h2{font-size:18px;line-height:1.9}.rival-profile{border-top:1px solid #363d46;align-items:center;gap:12px;padding-top:20px;display:flex}.avatar{background:linear-gradient(145deg,var(--rival),#242e40);justify-content:center;align-items:flex-end;width:47px;height:51px;display:flex;position:relative;overflow:hidden}.avatar:before{content:"";background:#192331;border-radius:45% 50% 40% 35%;width:22px;height:25px;position:absolute;top:7px;transform:rotate(-12deg)}.avatar:after{content:"";clip-path:polygon(20% 0,70% 0,100% 100%,0 100%);background:#18202a;width:44px;height:31px;position:absolute;top:34px}.avatar span{z-index:1;color:#d9ddd8;font:8px monospace;position:absolute;bottom:3px;right:4px}.rival-profile h3{letter-spacing:1px;font-size:21px;font-style:italic}.rival-profile h3 span{vertical-align:middle;color:#aeb6bf;border:1px solid #4c5461;margin-left:9px;padding:2px 4px;font:6px monospace}.rival-profile p{color:#909aa8;letter-spacing:.7px;margin-top:5px;font:8px monospace}.rival-no{color:#3b424f;margin-left:auto;font:italic 37px sans-serif}.rival-quote{color:#9da6b3;min-height:42px;margin:17px 0;font-size:11px;line-height:1.9}.event-info{border-top:1px solid var(--line);gap:23px;padding:17px 0;display:flex}.event-info small{letter-spacing:1px;color:#939da9;margin-bottom:7px;font:7px monospace;display:block}.event-info strong{font-size:24px;font-weight:500}.event-info em{color:#a1a7b0;margin-left:4px;font:9px monospace}.primary,.secondary{border:1px solid var(--orange);background:var(--orange);color:#151a20;border-radius:2px;justify-content:center;align-items:center;gap:18px;min-height:47px;padding:13px 22px;font-size:12px;font-weight:700;display:flex}.primary>span,.secondary>span{margin-left:auto;font-size:21px;font-weight:400;line-height:1}.event-card>.primary,.parts-panel>.primary{justify-content:space-between;width:100%}.secondary{color:#e4e4df;background:#252c36;border-color:#414955}.entry-note{color:#929ba8;text-align:center;margin-top:12px;font-size:8px}.entry-note i{margin:0 5px;font-style:normal}.progress-card{border:1px solid var(--line);padding:20px}.rival-steps{justify-content:space-between;gap:8px;margin:20px 0 14px;display:flex}.rival-steps button{color:#647080;background:0 0;border:0;flex:1;padding:0}.rival-steps button>span{background:#1b212a;border:1px solid #3a4351;justify-content:center;align-items:center;height:32px;font:10px monospace;display:flex}.rival-steps .selected>span{border-color:var(--orange);color:var(--orange);background:#ff724712}.rival-steps .cleared>span{color:var(--green);border-color:#91b37966}.rival-steps small{letter-spacing:.5px;margin-top:8px;font:6px monospace;display:block}.progress-card>p{color:#8f99a6;font-size:9px}.tip-card{gap:11px;padding:0 4px;line-height:1.9;display:flex}.tip-card>span{color:#c8aa73;font-size:19px}.tip-card p{color:#8e98a8;font-size:10px}.tip-card b{color:#c4c6c6;font-weight:500;display:block}footer{border-top:1px solid var(--line);color:#7b8594;letter-spacing:1px;justify-content:space-between;gap:20px;margin-top:16px;padding:23px 0;font:8px monospace;display:flex}footer i{color:#525c6a;margin:0 9px;font-style:normal}footer b{color:var(--orange);margin:0 4px}.live-top{justify-content:space-between;align-items:center;display:flex;position:absolute;top:5%;left:4%;right:4%}.live-badge{letter-spacing:1px;color:var(--orange);background:#131a2699;border:1px solid #68616a;padding:8px 10px;font:9px monospace}#race-time{color:#f2efe9;text-shadow:0 2px 5px #000;font:34px monospace}#race-time span{color:#d1c5b9;margin-left:6px;font-size:13px}.race-names{color:var(--orange);justify-content:space-between;font:9px monospace;display:flex;position:absolute;top:20%;left:4%;right:4%}.race-names b{letter-spacing:1px;color:#d7cfc3;margin-top:5px;font:8px monospace;display:block}.race-names>span:last-child{text-align:right;color:#d3d9e0}.countdown{text-align:center;text-shadow:0 4px 25px #0008;color:#fff0de;pointer-events:none;font:italic 900 80px Arial Black,sans-serif;position:absolute;top:24%;left:0;right:0}.countdown.go{color:var(--green)}.feedback{text-align:center;letter-spacing:2px;color:#c6e6ab;text-shadow:0 3px 8px #000;font:700 14px monospace;position:absolute;top:46%;left:0;right:0}.distance-track{background:#b9b9af33;height:3px;position:absolute;bottom:8%;left:4%;right:4%}.distance-track>div{background:var(--orange);max-width:100%;height:3px;box-shadow:0 0 9px #ff724744}.distance-track i{background:#cbd3d6;width:3px;max-width:100%;height:9px;position:absolute;top:-3px}.distance-track>span,.distance-track>b{color:#b7bcbf;font:8px monospace;position:absolute;bottom:-19px}.distance-track>b{right:0}.dashboard{background:#181f29;border:1px solid #383e49;border-top:0;align-items:center;gap:20px;padding:20px;display:flex}.gear-display{text-align:center;min-width:40px}.gear-display small,.gear-display span{color:#a3adba;letter-spacing:1px;font:7px monospace;display:block}.gear-display strong{color:var(--orange);font:italic 42px/1.2 sans-serif;display:block}.gear-display span{font-size:6px}.tach{flex:1;min-width:100px}.tach-head{letter-spacing:.4px;color:#a3acb6;justify-content:space-between;gap:8px;margin-bottom:13px;font:7px monospace;display:flex}.tach-head b{color:#d5d7d7;margin-left:5px;font-weight:400}.tach-head>.orange{font-size:6px}.tach-track{clip-path:polygon(0 0,100% 0,98% 100%,0 100%);background:#323b48;height:17px;position:relative;overflow:hidden}.tach-track:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(5% - 2px),#181f29 calc(5% - 2px) 5%);position:absolute;top:0;bottom:0;left:0;right:0}.perfect-band{background:#a3d18a80;width:13.4%;height:100%;position:absolute;top:0;left:79.3%}#rpm-fill{background:#d6d4bd;max-width:100%;height:100%;position:absolute;top:0;left:0}#rpm-fill.perfect{background:#b4e38b}#rpm-fill.redline{background:#ff7756}.tach-numbers{color:#8a95a4;justify-content:space-between;margin-top:7px;font:7px monospace;display:flex}.tach-numbers small{font-size:6px}.speed-display{text-align:right;min-width:57px}.speed-display strong{font:36px monospace;display:block}.speed-display small{color:#9ba7b6;font:7px monospace}.pedals{gap:7px;display:flex}.pedal{touch-action:none;-webkit-user-select:none;user-select:none;background:#252e3c;border:1px solid #4b5563;border-radius:2px;min-width:62px;height:61px;padding:8px;font:700 10px monospace}.pedal small{color:#a5b3c3;letter-spacing:.4px;margin-top:8px;font:5px monospace;display:block}.pedal.shift{background:var(--orange);color:#191d24;border-color:var(--orange)}.pedal.shift small{color:#5f3428}.pedal.pressed{color:#141d20;background:#a9cb8b}.pedal.nitro{color:#a8d3eb;min-width:47px}.racing-label{text-align:center;color:#c6d5b8;border:1px solid #4d5a4b;padding:17px 0;font:10px monospace}.racing-label .status-dot{margin-left:12px}.result-panel{z-index:3;background:linear-gradient(100deg,#101620f2,#182130ef);flex-direction:column;justify-content:center;padding:6%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.result-panel>.eyebrow{color:var(--orange);font-size:8px}.result-panel h2{letter-spacing:-2px;margin:10px 0;font:italic 900 clamp(36px,4vw,68px) Arial Black,sans-serif}.result-panel>p{color:#b8c0cb;font-size:11px;line-height:1.9}.result-times{gap:38px;margin:24px 0 28px;display:flex}.result-times small{color:#8f9eae;letter-spacing:1px;margin-bottom:8px;font:8px monospace;display:block}.result-times strong{font:26px monospace}.result-times em{color:#8090a0;margin-left:4px;font:11px monospace}.result-buttons{gap:10px;display:flex}.result-buttons button{min-height:41px;font-size:11px}.result-panel .champion-note{color:var(--green);margin-top:-14px;margin-bottom:20px;font-size:10px}.garage-layout{grid-template-columns:minmax(0,1fr) 370px;gap:25px;display:grid}.garage-heading{position:absolute;top:8%;left:5%}.garage-heading h2{margin:9px 0;font:italic 800 33px sans-serif}.garage-heading p{letter-spacing:1.5px;color:#c0bfbd;font:9px monospace}.garage-scene{aspect-ratio:1200/640}.car-selector{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;display:grid}.car-option{text-align:left;background:#181e27;border:1px solid #343e4b;min-width:0;padding:8px 12px 15px;overflow:hidden}.car-option.chosen{border-color:var(--orange);background:#ff72470b}.car-preview{width:100%;height:auto;margin:0 auto 5px;display:block}.car-option strong{letter-spacing:.6px;font-size:11px;font-style:italic;display:block}.car-option small{color:#9da6b2;margin-top:7px;font:8px monospace;display:block}.car-option.chosen small{color:var(--orange)}.parts-panel{border:1px solid var(--line);background:#181d25;padding:22px}.part{border-bottom:1px solid #343b47;gap:15px;padding:24px 0;display:flex}.part-icon{color:#c8b896;width:35px;padding-top:9px;font-size:28px}.part-body{flex:1}.part-body>small{color:#97a2b0;letter-spacing:1.4px;font:7px monospace}.part-body h3{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;font-size:16px;display:flex}.part-body h3 span{color:var(--orange);font:7px monospace}.part-body p{color:#9aa5b3;margin:10px 0;font-size:10px;line-height:1.9}.upgrade-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.level-bars{gap:4px;display:flex}.level-bars i{background:#37404c;width:19px;height:5px;transform:skew(-20deg)}.level-bars i.filled{background:var(--orange)}.upgrade{background:#2c3540;border:1px solid #505a66;min-width:97px;padding:8px 12px;font:11px monospace}.nitro-part{border-bottom:0;padding-bottom:25px}.nitro-part .part-icon{color:#9bb9d3;font:22px monospace}.muted-note{color:#8390a0;margin-top:15px;font-size:9px;line-height:1.9}.city-intro{background:linear-gradient(125deg,#282d3a,#171e29);border:1px solid #3b424f;align-items:center;gap:30px;margin-bottom:24px;padding:32px;display:flex}.city-icon{color:#c5a97e;background:#c6af8712;border:1px solid #9b856a88;flex-shrink:0;justify-content:center;align-items:center;width:85px;height:85px;font-size:44px;display:flex}.city-intro h2{margin:13px 0;font-size:22px}.city-intro p{color:#a6afbd;font-size:12px;line-height:1.9}.jobs{grid-template-columns:1fr 1fr;gap:24px;display:grid}.job-card{background:#1a202a;border:1px solid #37414e;grid-template-columns:34% 1fr;display:grid;overflow:hidden}.job-visual{background:linear-gradient(155deg,#374357,#151f2e);justify-content:center;align-items:center;min-height:300px;display:flex;position:relative;overflow:hidden}.delivery .job-visual{background:linear-gradient(135deg,#625046,#231f28)}.building{color:#6683a04d;text-shadow:35px 24px #111c2b80;font:200px sans-serif;transform:rotate(-12deg)scale(1.5)}.job-visual:after{content:"";background:repeating-linear-gradient(0deg,#0000 0 3px,#0001 3px 4px);position:absolute;top:0;bottom:0;left:0;right:0}.job-symbol{color:#d4bf93;text-shadow:0 0 40px #ecd8b755;font:84px sans-serif;position:absolute}.job-visual small{text-align:center;letter-spacing:1px;color:#a4b4c9;width:100%;font:6px monospace;position:absolute;bottom:20px;left:0}.job-content{padding:28px 24px}.job-content h2{margin:13px 0;font-size:22px}.job-content>p{color:#a1acbb;font-size:11px;line-height:2}.job-meta{color:#8e9cac;justify-content:space-between;margin:24px 0;font-size:9px;display:flex}.job-meta b{color:#dac8a4;margin-left:8px;font:15px monospace}.job-content>button{width:100%}.patrol-panel,.pit-panel{background:#181f29;border:1px solid #3d4755;padding:28px}.patrol-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:40px;padding:30px 0 0;display:grid}.warehouse{background:#0b1019;border:1px solid #3a4657;grid-template-columns:repeat(9,1fr);gap:3px;padding:8px;display:grid}.tile{aspect-ratio:1;color:#e5c287;background:#202c3d;justify-content:center;align-items:center;font-size:24px;display:flex;position:relative}.tile:after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 1px #586f8815}.tile.wall{background:repeating-linear-gradient(0deg,#344254 0 5px,#2b3748 5px 7px);box-shadow:inset 0 -5px #111b28}.tile.checkpoint{background:#73634155}.tile.checked{color:var(--green);background:#32473866}.patrol-player{color:#e4dec9;text-shadow:0 0 20px #ffffd8;font-size:33px;line-height:1}.patrol-info h2{margin:15px 0;font-size:27px}.hp{color:var(--orange);letter-spacing:3px;margin:10px 0;font-size:24px}.hp span{color:#69778b}.patrol-info>p:not(.hp){color:#a0adbf;font-size:11px;line-height:1.9}.patrol-info>p b{color:#e1ddcf;margin:0 7px}.job-message{color:#d3d6d6;background:#121a25;border:1px solid #3c4959;margin:20px 0;padding:17px;font-size:12px;line-height:2}.dpad{grid-template-rows:repeat(2,42px);grid-template-columns:repeat(3,48px);justify-content:center;gap:6px;display:grid}.dpad button{touch-action:manipulation;background:#2c394a;border:1px solid #5a687b;font-size:20px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-area:2/1}.dpad button:nth-child(3){grid-area:2/2}.dpad button:nth-child(4){grid-area:2/3}.fight-buttons{gap:10px;display:flex}.fight-buttons button{flex:1;padding:13px 10px;font-size:11px}.enemy{align-items:center;gap:16px;margin:20px 0;display:flex}.enemy>span{color:var(--orange);font-size:32px}.enemy h3{font-size:16px}.enemy p{color:var(--orange);margin-top:6px;font-size:12px}.pit-panel{text-align:center;max-width:900px;margin:0 auto;padding:70px 55px}.pit-panel h2{margin:20px 0;font-size:32px}.pit-panel>p{color:#a5b3c5;font-size:12px}.pit-meter{background:repeating-linear-gradient(90deg,#283344 0 9.8%,#374456 9.8% 10%);border:1px solid #556071;height:70px;margin:50px 0 20px;position:relative}.pit-zone{background:#a9d18b50;border:2px solid #b3d593;width:12%;height:100%;position:absolute;left:44%}#pit-marker{background:var(--orange);width:4px;height:calc(100% + 16px);position:absolute;top:-8px;left:0;box-shadow:0 0 18px #ff724788}.pit-results{letter-spacing:1px;color:#b1c49d;justify-content:space-between;margin-bottom:35px;font:11px monospace;display:flex}.pit-panel .primary{min-width:210px;margin:auto}.pit-panel .muted-note{font-size:10px}.record-stats{background:#363f4b;border:1px solid #363f4b;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.record-stats>div{background:#1b222d;padding:30px}.record-stats strong{letter-spacing:-1px;font:36px monospace}.record-stats>div:first-child strong{color:var(--orange)}.record-stats em{color:#8e9aab;margin-left:8px;font:12px monospace}.record-stats>div:last-child strong{font-size:28px}.records-table{background:#171e28;border:1px solid #363f4b;margin-top:25px;padding:25px}table{border-collapse:collapse;text-align:left;width:100%;margin-top:22px;font:14px monospace}th{color:#8d9aaa;border-bottom:1px solid #394555;padding:15px;font-size:9px;font-weight:400}td{border-bottom:1px solid #2c3746;padding:17px 15px}td small{color:#8e9bab;font-size:9px}.result-tag{color:#aca3a1;border:1px solid #6f625f;padding:4px 9px;font:9px monospace}.result-tag.win{color:var(--green);border-color:#667b59}.empty-record{text-align:center;padding:65px 20px}.empty-record>span{color:var(--orange);font-size:40px}.empty-record h2{margin:15px 0;font-size:22px}.empty-record p{color:#8e9bad;margin-bottom:25px;font-size:12px}.empty-record .primary{margin:auto}.modal-backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:20;background:#050b15d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{border:1px solid #475263;border-top:2px solid var(--orange);background:#1c2430;width:min(560px,100%);max-height:90dvh;padding:38px;overflow:auto;box-shadow:0 25px 100px #0008}.modal h2{margin:15px 0 22px;font-size:32px}.modal .primary{width:100%;margin-top:25px}.instructions{margin:0;padding-left:23px}.instructions li{color:var(--orange);margin:20px 0;padding-left:8px;font-size:12px}.instructions b{color:#e2e6e9;font-size:13px}.instructions p{color:#aab6c5;margin-top:8px;font-size:11px;line-height:2}.instructions strong{color:#d1dbb6;font-weight:500}.compact{text-align:center;max-width:410px}.compact p{color:#a8b4c4;font-size:12px}.compact .secondary{width:100%;margin-top:10px}#toast{z-index:30;color:#19222b;border-left:3px solid var(--orange);opacity:0;pointer-events:none;background:#e1e1ce;width:max-content;max-width:90vw;padding:14px 24px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);box-shadow:0 4px 30px #0005}#toast.show{opacity:1;transform:translate(-50%)}.loading{z-index:40;background:#10131af5;flex-direction:column;justify-content:center;align-items:center;gap:25px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading p{color:#aab3bf;letter-spacing:2px;font-size:12px}@media (min-width:1600px){.hero-title{font-size:134px}.scene-wrap{aspect-ratio:1200/640}}@media (max-width:1190px){.shell{padding:0 28px}.race-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.event-card{padding:17px}.header-center{letter-spacing:1px;font-size:8px}.car-specs{padding:18px}.car-specs>div{padding-right:15px}.car-specs .text-button{display:none}.car-specs strong{font-size:21px}.dashboard{gap:12px;padding:14px}.pedals{gap:5px}.pedal{min-width:50px;height:54px;padding:7px;font-size:9px}.pedal.nitro{min-width:40px}.tach-head>.orange{display:none}.gear-display strong{font-size:34px}.speed-display strong{font-size:28px}.speed-display{min-width:45px}.garage-layout{grid-template-columns:minmax(0,1fr) 330px}.part{gap:10px}.job-card{grid-template-columns:28% 1fr}.job-content{padding:24px 18px}.job-content h2{font-size:20px}.job-content .eyebrow{font-size:8px}.patrol-layout{grid-template-columns:minmax(0,1fr) 310px;gap:25px}.control-strip{gap:10px}.control-strip .tiny-label{display:none}.result-times{gap:23px;margin:20px 0}.result-times strong{font-size:23px}.result-panel h2{font-size:45px}.result-panel .eyebrow{font-size:7px}.hero-sub{letter-spacing:5px;font-size:9px}}@media (max-width:960px){.race-layout{grid-template-columns:minmax(0,1fr)}.race-sidebar{grid-template-columns:1fr 1fr;gap:20px;display:grid}.event-card{grid-row:span 2}.event-top{margin:16px 0}.event-info{gap:40px}.tip-card{align-self:start}.hero-copy .eyebrow{font-size:10px}.hero-sub,.hero-copy p{font-size:12px}.hero-copy{top:7%}.header-center{display:none}.scene-wrap{aspect-ratio:1200/640}.car-specs .text-button{display:block}.dashboard{gap:24px;padding:20px}.tach-head>.orange{display:block}.pedal{min-width:66px;height:61px;font-size:11px}.pedal small{font-size:6px}.hero-title{font-size:clamp(90px,14vw,132px)}.garage-layout{grid-template-columns:1fr}.parts-panel{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.parts-panel>.section-label,.parts-panel>.primary{grid-column:span 2}.nitro-part{border-bottom:1px solid #343b47}.parts-panel>.primary{margin-top:20px}.jobs{gap:18px}.job-card{display:block}.job-visual{min-height:150px}.building{font-size:160px}.job-symbol{font-size:60px}.job-content{padding:25px}.job-content>p{min-height:85px}.record-stats>div{padding:23px}.record-stats strong{font-size:30px}.record-stats>div:last-child strong{font-size:23px}}@media (max-width:640px){.shell{padding:0 17px}header{gap:10px;height:77px}.brand{gap:9px}.brand-mark{width:36px;height:35px;font-size:29px}.brand-mark span{font-size:22px}.brand-text{font-size:17px}.brand-text small{letter-spacing:1.5px;font-size:6px}.header-right{gap:8px}.wallet{margin-right:0}.wallet small{font-size:6px}.wallet b{font-size:16px}.icon-button{width:29px;height:29px;font-size:14px}.header-right>.icon-button:last-child{display:none}nav{justify-content:space-between;gap:0;height:59px}.nav-item{gap:5px;padding:0 4px;font-size:10px}.nav-item>span{font-size:18px}.nav-item small,.nav-end{display:none}.page-heading{gap:10px;padding:24px 0 18px}.eyebrow{letter-spacing:1.7px;font-size:7px}h1{letter-spacing:.5px;margin-top:8px;font-size:21px}.track-tag{letter-spacing:.3px;gap:6px;padding:8px;font-size:6px}.page-heading .track-tag .status-dot{display:none}.track-tag b{padding-left:6px}.page-heading .track-tag{max-width:110px;line-height:1.7}.race-layout{gap:18px}.hero-title{letter-spacing:-5px;margin-top:8px;font-size:clamp(72px,17vw,100px)}.hero-sub{letter-spacing:4px;margin-top:4px;font-size:8px}.hero-copy .eyebrow{letter-spacing:1.8px;font-size:6px}.hero-copy p{letter-spacing:1px;margin-top:10px;font-size:8px}.scene-corner{font-size:5px;top:9%;right:4%}.scene-caption strong{font-size:12px}.scene-caption small{font-size:6px}.scene-caption span{margin-bottom:5px;font-size:5px}.scene-wrap{aspect-ratio:1.45}.scene-wrap canvas{object-fit:fill}.hero-copy{top:7%;left:5%}.scene-caption{bottom:5%}.car-specs{gap:7px;padding:16px 12px}.car-specs>div{padding-right:10px}.car-specs small{letter-spacing:.5px;margin-bottom:7px;font-size:5px}.car-specs strong{font-size:19px}.car-specs em{margin-left:3px;font-size:6px}.car-specs .text-button{display:none}.control-strip{gap:9px;padding:15px 0 0;font-size:8px}.control-strip .text-button{font-size:7px}.control-strip kbd{margin-right:2px;padding:2px 3px;font-size:6px}.race-sidebar{gap:15px;display:flex}.event-card{padding:21px}.event-top{margin:21px 0}.event-top h2{font-size:20px}.event-top small{font-size:8px}.event-emblem{width:44px;height:47px}.rival-profile{padding-top:18px}.rival-quote{min-height:0;margin:17px 0}.event-info{justify-content:space-between;gap:20px}.event-card>.primary{min-height:49px}.entry-note{font-size:9px}.progress-card{padding:20px}.rival-steps{gap:13px}.rival-steps small{font-size:8px}.rival-steps button>span{height:37px}.tip-card{padding:0 6px}.tip-card p{font-size:11px}.tip-card b{margin-right:6px;display:inline}footer{letter-spacing:.3px;gap:10px;margin-top:25px;padding:19px 0;font-size:6px;line-height:1.8}footer>span:nth-child(2){display:none}.scene-wrap.live{aspect-ratio:1.3}.live-top{top:6%}#race-time{font-size:26px}.live-badge{padding:6px;font-size:7px}.race-names{font-size:8px;top:20%}.race-names b{font-size:6px}.countdown{font-size:66px;top:26%}.feedback{letter-spacing:1px;font-size:10px;top:48%}.dashboard{flex-wrap:wrap;gap:12px;padding:16px 12px}.gear-display{min-width:31px}.gear-display strong{font-size:37px}.tach{min-width:140px}.tach-head{font-size:7px}.tach-head>.orange{font-size:5px}.speed-display{min-width:46px}.speed-display strong{font-size:29px}.pedals{gap:9px;width:100%;margin-top:5px}.pedal{flex:1;height:64px;min-height:64px;font-size:13px}.pedal.nitro{flex:.6}.pedal small{margin-top:7px;font-size:7px}.gear-display span{font-size:5px}.race-main:has(.live){scroll-margin-top:10px}.result-panel{padding:6%}.result-panel h2{letter-spacing:-1px;margin:7px 0;font-size:38px}.result-panel .eyebrow{font-size:6px}.result-panel>p{font-size:9px}.result-times{gap:18px;margin:16px 0 19px}.result-times small{margin-bottom:6px;font-size:6px}.result-times strong{font-size:22px}.result-times em{font-size:8px}.result-buttons{gap:7px}.result-buttons button{min-height:39px;padding:11px 13px;font-size:9px}.result-panel .champion-note{margin:0 0 12px;font-size:8px}.garage-heading h2{font-size:25px}.garage-heading p{font-size:7px}.car-selector{gap:7px;margin-top:10px}.car-option{padding:7px 8px 12px}.car-option strong{letter-spacing:0;font-size:8px}.car-option small{font-size:6px;line-height:1.7}.car-preview{margin-bottom:0}.parts-panel{padding:20px;display:block}.parts-panel>.primary{margin-top:22px}.part{gap:14px;padding:23px 0}.part-body h3{font-size:17px}.part-body p{font-size:11px}.part-body>small{font-size:7px}.part-body h3 span{font-size:8px}.part-icon{width:36px}.upgrade{padding:8px 15px;font-size:12px}.level-bars i{width:24px}.city-intro{gap:18px;padding:22px}.city-icon{display:none}.city-intro h2{font-size:21px;line-height:1.6}.city-intro p{font-size:11px}.jobs{grid-template-columns:1fr}.job-card{grid-template-columns:28% 1fr;display:grid}.job-visual{min-height:100%}.job-visual small{writing-mode:vertical-rl;width:auto;font-size:5px;bottom:15px;left:15px}.building{font-size:200px}.job-symbol{font-size:53px}.job-content{padding:24px 18px}.job-content .eyebrow{font-size:6px}.job-content h2{font-size:20px}.job-content>p{min-height:0;font-size:10px}.job-meta{gap:8px;margin:20px 0;font-size:8px}.job-meta b{margin-left:4px;font-size:13px}.job-content button{min-height:43px;padding:11px 13px;font-size:10px}.patrol-panel{padding:17px}.patrol-layout{grid-template-columns:1fr;gap:25px;padding-top:20px}.tile{font-size:20px}.patrol-player{font-size:27px}.patrol-info h2{font-size:25px}.patrol-info .eyebrow{font-size:8px}.hp{font-size:22px}.dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,58px)}.patrol-info .primary{width:100%}.patrol-info .muted-note{text-align:center}.job-message{font-size:11px}.pit-panel{padding:40px 22px}.pit-panel h2{font-size:26px;line-height:1.6}.pit-panel>p{font-size:11px;line-height:1.9}.pit-results{letter-spacing:.3px;font-size:8px}.pit-meter{height:60px;margin-top:35px}.record-stats{grid-template-columns:1fr 1fr}.record-stats>div{padding:24px 18px}.record-stats strong{font-size:30px}.record-stats small{font-size:7px}.record-stats>div:last-child strong{font-size:24px}.records-table{padding:17px}.records-table .section-label{font-size:7px}th{padding:13px 7px;font-size:7px}td{padding:15px 7px;font-size:12px}td small{font-size:7px}.empty-record{padding:45px 5px}.empty-record h2{font-size:18px}.empty-record p{font-size:10px}.modal-backdrop{padding:17px}.modal{padding:28px 24px}.modal h2{font-size:27px}.instructions li{margin:16px 0;padding-left:4px}.instructions p{font-size:10px}.instructions b{font-size:12px}.modal .muted-note{font-size:9px}#toast{white-space:normal;width:90vw;padding:13px 17px;font-size:11px;bottom:18px}}@media (prefers-reduced-motion:reduce){button,#toast{transition:none}}.garage-advice{color:#c7b998;background:#29343e;border:1px solid #59646a;grid-column:span 2;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:20px;padding:12px 15px;font-size:9px;display:flex}.garage-advice>span{color:#d1d5cb;font-size:11px}.chapter-strip{text-align:left;color:#e8e2d7;background:linear-gradient(110deg,#2d2b2e,#1a222d);border:1px solid #4a4542;border-left:3px solid #c5a379;align-items:center;gap:20px;width:100%;margin-bottom:22px;padding:17px 22px;display:flex}.chapter-number{color:#c2a67f;letter-spacing:1px;border-right:1px solid #595043;padding-right:20px;font:8px monospace}.chapter-number b{font:28px/1.3 monospace;display:block}.chapter-strip>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.chapter-strip small{color:#bda685;letter-spacing:1.4px;font-size:8px}.chapter-strip strong{letter-spacing:1px;font-size:16px}.chapter-strip em{color:#aab0b8;font-size:10px;line-height:1.8}.chapter-arrow{color:#cbb490;white-space:nowrap;margin-left:auto;font-size:11px}.small-button{min-height:35px;padding:9px 15px;font-size:10px}.town-layout{grid-template-columns:minmax(0,1fr) 310px;gap:23px;display:grid}.town-map{aspect-ratio:1.9;background:#182737;border:1px solid #465261;position:relative;overflow:hidden}.town-art{width:100%;height:100%;display:block}.map-pin{white-space:nowrap;z-index:2;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-pin:active:not(:disabled){transform:translate(-50%,-50%)}.map-pin>span{color:#e1c59a;background:#1a2636ed;border:1px solid #c7b085;justify-content:center;align-items:center;width:29px;height:29px;font:14px serif;display:flex;box-shadow:0 3px 15px #07111c88}.map-pin>b{color:#e3ded1;background:#142132e8;border-bottom:1px solid #b6a17b77;padding:6px 8px;font-size:10px;font-weight:500;box-shadow:0 2px 10px #05101b44}.map-pin.selected>span{color:#172331;background:#d5b287;box-shadow:0 0 20px #d6b48744}.map-legend{letter-spacing:1px;color:#acbac9;align-items:center;gap:9px;font:8px monospace;display:flex;position:absolute;bottom:15px;left:20px}.location-card{background:linear-gradient(135deg,#252e3b,#1a212b);border:1px solid #414b59;flex-direction:column;padding:23px;display:flex}.location-person{align-items:center;gap:17px;margin:25px 0;display:flex}.location-person>.character-art{border:1px solid #7b7c7577;width:67px;height:85px}.location-person small{color:#b1a38e;font-size:8px;line-height:1.7;display:block}.location-person h2{margin:7px 0 4px;font-size:26px}.location-person>div>span{color:#b9ccaa;font-size:8px}.location-card>h3{font-size:15px}.location-card>p{color:#a6b2c2;margin:12px 0 20px;font-size:11px;line-height:2}.location-card>.primary{margin-top:auto}.location-card>.secondary{min-height:39px;margin-top:9px;font-size:10px}.town-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:34px 0 18px;display:flex}.town-section-heading h2{margin-top:8px;font-size:22px}.town-section-heading>span{color:#8e9db0;letter-spacing:.4px;font-size:10px}.request-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;display:grid}.request-card{background:#1c232e;border:1px solid #3c4756;padding:23px}.request-top{color:#ad9a7e;justify-content:space-between;gap:10px;margin-bottom:17px;font-size:9px;display:flex}.request-top>b{color:#cad8b4;font-size:8px;font-weight:400}.request-card>h3{color:#e5e0d4;font-size:17px}.request-card>p{color:#9daabd;min-height:44px;margin:13px 0 17px;font-size:11px;line-height:2}.request-card>small{color:#c6cdb9;margin-bottom:15px;font-size:9px;display:block}.request-bottom{justify-content:space-between;align-items:center;gap:15px;display:flex}.request-bottom>span{color:#8f9dae;font-size:9px}.request-bottom b{color:#dac299;margin-left:6px;font:16px monospace}.request-bottom small{font-size:8px}.request-bottom button{min-height:33px;padding:8px 14px;font-size:10px}.request-card.done{border-color:#5c715166}.request-card.done .request-top>b{color:#a6c58b}.expanded-jobs .job-meta{gap:9px}.expanded-jobs .job-meta b{font-size:13px}.guard-shop{background:#1d2531;border:1px solid #414b59;grid-template-columns:1fr 1.1fr;align-items:center;gap:30px;margin-top:25px;padding:26px;display:grid}.guard-shop h2{margin:8px 0 10px;font-size:21px}.guard-shop p{color:#9faebe;font-size:10px;line-height:2}.shop-items{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.shop-items button{text-align:left;background:#293442;border:1px solid #4e5d6e;padding:17px 15px}.shop-items small{color:#acb6c3;font:9px monospace;display:block}.shop-items strong{margin:10px 0 15px;font-size:12px;display:block}.shop-items button>span{color:#d9bc96;font:13px monospace}.journal{background:linear-gradient(120deg,#252930,#1b2530);border:1px solid #4a4b48;padding:30px}.journal-grid{grid-template-columns:1fr 1fr;gap:45px;margin-top:30px;display:grid}.journal h2{color:#dbc5a6;margin-bottom:23px;font-size:21px}.journal article{border-bottom:1px solid #424a53;padding:20px 0}.journal article>b{color:#d0d8cd;font-size:13px}.journal article>p{color:#a4b0bf;margin:12px 0;font-size:11px;line-height:2}.journal article>small{color:#c3ae8a;font-size:9px}.journal .journal-subtitle{margin-top:30px}.memory-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.memory-list button{min-height:38px;padding:10px;font-size:9px}.memory-list>p{color:#99a9bb;font-size:11px;line-height:2}.dialogue-backdrop{z-index:25;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060d17e8;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.story-dialogue{background:#182432;border:1px solid #697278;width:min(960px,100%);max-height:94dvh;position:relative;overflow-y:auto;box-shadow:0 30px 120px #000a}.dialogue-top{letter-spacing:1px;color:#e1c9a4;background:#1a2737;border-bottom:1px solid #6b6659;justify-content:space-between;align-items:center;gap:20px;padding:15px 23px;font-size:11px;display:flex}.dialogue-top>button{color:#9baaba;white-space:nowrap;background:0 0;border:0;font-size:9px}.dialogue-scene{background:#2d4052;height:265px;position:relative;overflow:hidden}.dialogue-scene>.town-art{transform-origin:bottom;filter:brightness(.8);width:100%;height:auto;position:absolute;top:-90%;transform:scale(1.5)}.dialogue-scene.location-sayo>.town-art{transform-origin:45% 80%;top:-90%;transform:scale(2)}.dialogue-scene.location-shio>.town-art{transform-origin:20% 80%;top:-100%;transform:scale(2)}.dialogue-scene:after{content:"";pointer-events:none;background:linear-gradient(90deg,#16243499,#16243400 60%),linear-gradient(#0000 55%,#101c2ba8);position:absolute;top:0;bottom:0;left:0;right:0}.dialogue-location{z-index:1;text-shadow:0 2px 9px #000;position:absolute;top:35px;left:35px}.dialogue-location small{letter-spacing:2px;color:#c5b697;margin-bottom:13px;font:8px monospace;display:block}.dialogue-figure{z-index:1;filter:drop-shadow(0 4px 25px #121e2a);width:196px;position:absolute;bottom:-12px;right:70px}.character-art{image-rendering:pixelated;display:block}.dialogue-figure>.character-art{background:linear-gradient(135deg,#bcc6c311,#6c86a122);border:1px solid #ccd0b133;width:100%}.scene-subtitle{z-index:1;letter-spacing:1.4px;color:#d0cfbd;font:9px monospace;position:absolute;bottom:30px;left:35px}.dialogue-box{background:linear-gradient(110deg,#243345,#192635);border-top:2px solid #b5a17b;min-height:235px;padding:27px 35px 20px;position:relative}.speaker{justify-content:space-between;align-items:center;gap:25px;display:flex}.speaker>small{color:#8f9eaf;letter-spacing:2px;font:9px monospace}.dialogue-text{letter-spacing:.7px;color:#eee9de;min-height:72px;margin:16px 0 22px;font-size:17px;line-height:2.15}.dialogue-next{justify-content:space-between;align-items:center;gap:20px;display:flex}.dialogue-next>.primary{min-width:150px;min-height:41px;padding:10px 20px;font-size:11px}.dialogue-next>.text-button{color:#b1b8ba;font-size:9px}.dialogue-keyhint{color:#7f91a5;letter-spacing:.6px;margin-top:18px;font-size:8px;display:block}.dialogue-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dialogue-choices button{text-align:left;color:#eee4cd;background:#354452;border:1px solid #7e806e;align-items:center;gap:15px;padding:15px;font-size:12px;line-height:1.8;display:flex}.dialogue-choices button>span{color:#c6ae80;font:10px monospace}.dialogue-choices button>b{color:#d1bb91;margin-left:auto;font-size:13px}.conversation-log{z-index:4;background:#152232f7;min-height:230px;padding:25px 35px;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.conversation-log p{color:#becbd7;border-bottom:1px solid #374657;padding:10px 0;font-size:11px;line-height:2}.conversation-log p>b{color:#d1b68f;font-size:12px;display:block}.conversation-log button{min-height:35px;margin-top:18px;font-size:10px}.guard-game{background:#18232e;border:1px solid #465564;padding:25px}.guard-game-top{border-bottom:1px solid #3c4d5d;justify-content:space-between;align-items:center;gap:25px;padding-bottom:23px;display:flex}.guard-game-top h2{margin-top:8px;font-size:24px}.guard-objective{color:#adbbc8;text-align:right;max-width:50%;font-size:11px;line-height:1.9}.guard-objective>b{color:#e3c99f;white-space:nowrap;margin-left:15px;font:18px monospace}.guard-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding-top:24px;display:grid}.rpg-map{background:#08141f;border:1px solid #536473;grid-template-columns:repeat(13,1fr);gap:2px;padding:5px;display:grid}.rpg-tile{aspect-ratio:1;color:#e9cf8f;background:repeating-linear-gradient(0deg,#293e4c 0 48%,#314652 48% 50%);justify-content:center;align-items:center;font-size:20px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #607d8630}.rpg-tile.solid{background:repeating-linear-gradient(0deg,#526575 0 20%,#3b5060 20% 24%,#526575 24% 49%,#354c5c 49% 51%);box-shadow:inset 0 -5px #213746,inset 0 3px #81909a55}.rpg-tile.fog{color:#0000;background:#101d2a;box-shadow:inset 0 0 0 1px #24374744}.rpg-tile.you{background:#455b5d;box-shadow:inset 0 0 0 1px #b7c8a7aa}.guard-sprite{filter:drop-shadow(0 2px 4px #08121f);width:60%;height:75%;position:absolute;bottom:12%;left:20%}.guard-sprite:before{content:"";background:linear-gradient(#a7c4b6 0 28%,#3f576c 28% 47%,#d0a78e 47%);width:50%;height:40%;position:absolute;top:0;left:24%;box-shadow:0 1px #243d4f}.guard-sprite:after{content:"";background:linear-gradient(90deg,#546f85 0 70%,#d9c28c 70% 85%,#546f85 85%);width:72%;height:40%;position:absolute;top:41%;left:15%;box-shadow:0 3px #233b4c}.guard-sprite i{background:#162b3b;width:20%;height:20%;position:absolute;bottom:0;left:25%;box-shadow:9px 0 #162b3b}.rpg-legend{color:#9caeba;flex-wrap:wrap;justify-content:center;gap:17px;padding:15px 5px;font-size:9px;display:flex}.guard-radio{background:#111f2d;border:1px solid #43596b;min-height:105px;margin-top:16px;padding:18px 20px}.radio-label{letter-spacing:2px;color:#b4a17e;font:7px monospace}.guard-radio p{color:#d3d9da;margin-top:10px;font-size:12px;line-height:2}.guard-officer{align-items:center;gap:15px;margin-bottom:22px;display:flex}.guard-officer>.character-art{border:1px solid #677b87;width:53px}.guard-officer h3{margin:8px 0;font-size:18px}.guard-officer h3 b{color:#dec39b;margin-left:12px;font:19px monospace}.guard-officer small{color:#9faebd;font:9px monospace}.resource{margin:17px 0}.resource>span{color:#9eafbc;letter-spacing:1px;justify-content:space-between;font:9px monospace;display:flex}.resource b{color:#d1d9cb;font:13px monospace}.resource>div{background:#314552;height:7px;margin-top:9px}.resource i{background:#aac58f;height:100%;transition:width .2s;display:block}.resource.mp i{background:#92b7c7}.guard-equipment{color:#9aafbe;border-bottom:1px solid #40515f;justify-content:space-between;gap:15px;padding:16px 0;font-size:9px;display:flex}.guard-equipment b{color:#d4d5c9;margin-left:6px;font:14px monospace}.guard-pay{padding:15px 0}.guard-pay span{color:#93a6b7;justify-content:space-between;margin:7px 0;font-size:10px;display:flex}.guard-pay b{color:#c6b392;font:13px monospace}.guard-status .dpad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,52px);margin:15px auto 22px}.guard-commands{flex-direction:column;gap:8px;margin-top:15px;display:flex}.guard-commands>button{justify-content:flex-start;gap:12px;min-height:43px;padding:11px 15px;font-size:11px}.guard-commands>button>span{border-right:1px solid #86939c66;margin:0;padding-right:12px;font:10px monospace}.guard-commands>button>small{opacity:.75;margin-left:auto;font-size:8px}.guard-commands>.text-button{text-align:right;justify-content:flex-end;min-height:30px;font-size:9px}.guard-commands.explore>.primary{justify-content:space-between}.guard-status .muted-note{font-size:9px}.guard-log{border-top:1px solid #3d5261;margin-top:22px;padding-top:15px}.guard-log summary{color:#a6b5c4;cursor:pointer;font-size:10px}.guard-log p{color:#8eacb9;border-bottom:1px solid #3a4d5b;padding:10px 0;font-size:10px;line-height:1.9}.battle-scene{aspect-ratio:1.5;background:repeating-linear-gradient(0deg,#172d40 0 3px,#152b3e 3px 4px);border:1px solid #65737b;flex-direction:column;justify-content:center;align-items:center;min-height:380px;padding:35px;display:flex;position:relative;overflow:hidden}.battle-scene:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 19.7%,#8392a22b 19.7% 20%),repeating-linear-gradient(0deg,#0000 0 19%,#8392a22b 19% 20%);border:2px solid #82939e22;height:60%;position:absolute;bottom:14%;left:5%;right:5%;transform:perspective(300px)rotateX(60deg)}.battle-header{letter-spacing:1.5px;color:#bda583;justify-content:space-between;font:9px monospace;display:flex;position:absolute;top:20px;left:24px;right:24px}.enemy-title{z-index:1;text-align:center;min-width:210px;position:relative}.enemy-hp{background:#43566a;width:100%;height:5px;margin:9px auto}.enemy-hp i{background:#d5ac82;height:5px;transition:width .2s;display:block}.enemy-title small{letter-spacing:1px;color:#aeb8bb;font:8px monospace}.enemy-art{z-index:1;filter:drop-shadow(0 8px 25px #5e8d9d44);width:240px;max-width:60%;height:auto;image-rendering:pixelated}.battle-warning{z-index:1;color:#afbfc8;text-align:center;margin-top:10px;font-size:11px;line-height:1.9;position:relative}.charged .battle-warning{color:#efbd96}.guard-result{background:#343b37;border:1px solid #8b8565;margin-top:20px;padding:25px}.guard-result h2{margin:12px 0 15px;font-size:23px}.guard-result p{color:#aebead;font-size:12px;line-height:2}.guard-result p>b{color:#eed4a7;margin-left:15px;font:23px monospace}.guard-result p>span{color:#96aa9c;font-size:9px;display:block}.guard-result button{min-height:40px;margin-top:20px;font-size:11px}@media (max-width:1190px){.town-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.town-map{aspect-ratio:1.6}.map-pin{gap:4px}.map-pin>b{padding:5px;font-size:8px}.map-pin>span{width:23px;height:25px;font-size:12px}.location-card{padding:20px}.location-person{gap:13px;margin:20px 0}.location-person>.character-art{width:56px;height:auto}.location-person h2{font-size:23px}.location-card>p{font-size:10px}.guard-layout{grid-template-columns:minmax(0,1fr) 270px;gap:23px}.rpg-tile{font-size:18px}.guard-shop{grid-template-columns:1fr 1.2fr;gap:20px}.shop-items{gap:7px}.shop-items button{padding:15px 10px}.request-grid{gap:14px}.request-card{padding:20px}}@media (max-width:960px){.town-layout{grid-template-columns:1fr}.town-map{aspect-ratio:2}.map-pin>b{font-size:10px}.map-pin>span{width:28px;height:29px}.location-card{grid-template-columns:1fr 1fr;gap:10px 30px;display:grid}.location-card>.section-label{grid-column:span 2}.location-person{grid-row:span 3;margin:10px 0}.location-person>.character-art{width:72px}.location-card>h3{grid-column:2;font-size:16px}.location-card>p{grid-column:2;margin:0;font-size:11px}.location-card>.primary,.location-card>.secondary{grid-column:2;margin:0}.location-card>.secondary{margin-top:0}.guard-shop{grid-template-columns:1fr}.guard-shop p{font-size:11px}.shop-items button{padding:18px}.shop-items strong{font-size:14px}.guard-layout{grid-template-columns:minmax(0,1fr) 225px;gap:20px}.guard-game{padding:20px}.rpg-tile{font-size:16px}.rpg-legend{gap:10px;font-size:8px}.battle-scene{min-height:340px;padding:25px}.enemy-art{max-width:80%}.enemy-title h2{font-size:19px}.battle-warning,.guard-objective{font-size:10px}.guard-objective>b{font-size:16px}.guard-status .dpad{grid-template-rows:repeat(2,40px);grid-template-columns:repeat(3,45px)}.guard-officer{gap:10px}.guard-officer h3{font-size:15px}.guard-officer h3 b{margin-left:7px;font-size:17px}.guard-equipment{gap:10px;font-size:8px}.guard-equipment b{margin-left:3px;font-size:12px}.dialogue-scene{height:235px}.dialogue-text{font-size:16px}.dialogue-figure{width:174px;right:40px}.dialogue-scene>.town-art{top:-60%}.guard-result h2{font-size:21px}.journal-grid{gap:30px}}@media (max-width:640px){.chapter-strip{gap:12px;margin-bottom:18px;padding:14px 13px}.chapter-number{padding-right:12px;font-size:6px}.chapter-number b{font-size:25px}.chapter-strip strong{letter-spacing:.4px;font-size:13px;line-height:1.6}.chapter-strip small{letter-spacing:.5px;font-size:6px}.chapter-strip em{font-size:9px;line-height:1.8}.chapter-arrow{font-size:8px}.small-button{white-space:nowrap;min-height:32px;padding:9px 11px;font-size:8px}.town-map{aspect-ratio:1.27}.town-art{object-fit:cover}.map-pin{flex-direction:column;gap:3px}.map-pin>b{padding:4px 5px;font-size:8px}.map-pin>span{width:23px;height:24px;font-size:12px}.map-legend{letter-spacing:.5px;gap:7px;font-size:6px;bottom:13px;left:13px}.location-card{grid-template-columns:85px 1fr;column-gap:20px;padding:20px}.location-card>.section-label{font-size:7px}.location-person{grid-area:2/1/span 5;margin-top:8px;display:block}.location-person>.character-art{width:60px;margin-bottom:13px}.location-person small{font-size:6px}.location-person h2{margin:7px 0;font-size:18px}.location-person>div>span{font-size:7px}.location-card>h3{margin-top:7px;font-size:14px;line-height:1.8}.location-card>p{font-size:10px;line-height:1.9}.location-card>.primary,.location-card>.secondary{min-height:38px;padding:10px 12px;font-size:9px}.location-card>.primary>span{font-size:14px}.town-section-heading{gap:12px;margin-top:28px}.town-section-heading h2{font-size:20px}.town-section-heading>span{text-align:right;max-width:110px;font-size:8px;line-height:1.8}.town-section-heading .eyebrow{font-size:6px}.request-grid{grid-template-columns:1fr}.request-card{padding:22px}.request-card>p{min-height:0;font-size:11px}.request-bottom button{min-height:37px;font-size:10px}.guard-shop{gap:18px;padding:22px}.guard-shop h2{font-size:20px}.guard-shop p{font-size:10px}.shop-items{gap:7px}.shop-items button{padding:14px 8px}.shop-items small{font-size:7px}.shop-items strong{margin:10px 0 12px;font-size:11px}.shop-items button>span{font-size:11px}.expanded-jobs .job-meta b{margin-left:2px;font-size:11px}.expanded-jobs .job-meta{flex-wrap:wrap;gap:10px}.expanded-jobs .job-content{padding:23px 15px}.expanded-jobs .job-content h2{font-size:19px}.expanded-jobs .job-content p{font-size:10px}.journal{padding:21px}.journal-grid{grid-template-columns:1fr;gap:30px;margin-top:24px}.journal .section-label{font-size:6px}.journal h2{margin-bottom:8px;font-size:20px}.journal article{padding:18px 0}.journal article>p{font-size:11px}.memory-list{gap:8px}.memory-list button{font-size:8px}.dialogue-backdrop{padding:12px}.story-dialogue{max-height:95dvh}.dialogue-top{letter-spacing:.3px;gap:8px;padding:12px 15px;font-size:9px;line-height:1.8}.dialogue-top>button{flex-shrink:0;font-size:7px}.dialogue-scene{height:190px}.dialogue-scene>.town-art{height:100%;top:0;transform:scale(1.65)}.dialogue-scene.location-shio>.town-art,.dialogue-scene.location-sayo>.town-art{top:0;transform:scale(2)}.dialogue-location{max-width:55%;top:25px;left:20px}.dialogue-location small{letter-spacing:1px;font-size:6px;line-height:1.8}.dialogue-location strong{letter-spacing:1px;font-size:18px;line-height:1.7;display:block}.dialogue-figure{width:130px;bottom:-2px;right:20px}.scene-subtitle{letter-spacing:.3px;max-width:50%;font-size:7px;line-height:1.8;bottom:18px;left:20px}.dialogue-box{min-height:245px;padding:20px 20px 17px}.speaker>b{font-size:19px}.speaker>small{font-size:8px}.dialogue-text{letter-spacing:.3px;min-height:90px;margin:15px 0 22px;font-size:14px;line-height:2.1}.dialogue-next>.primary{min-width:110px;font-size:10px}.dialogue-next>.text-button{font-size:8px}.dialogue-keyhint{letter-spacing:0;font-size:6px;line-height:1.9}.dialogue-choices{grid-template-columns:1fr;gap:8px}.dialogue-choices button{gap:12px;padding:10px 13px;font-size:11px}.dialogue-choices button>span{font-size:8px}.conversation-log{padding:20px}.conversation-log p{font-size:10px}.guard-game{padding:15px}.guard-game-top{align-items:flex-start;gap:12px;padding-bottom:17px}.guard-game-top h2{font-size:21px}.guard-game-top .eyebrow{letter-spacing:1px;font-size:6px}.guard-objective{max-width:48%;font-size:8px;line-height:1.8}.guard-objective>b{margin-top:6px;font-size:17px;display:block}.guard-layout{grid-template-columns:1fr;gap:23px;padding-top:17px}.rpg-map{gap:1px;padding:3px}.rpg-tile{font-size:15px}.guard-sprite i{box-shadow:5px 0 #162b3b}.rpg-legend{gap:10px;padding:12px 0;font-size:7px}.guard-radio{min-height:100px;margin-top:10px;padding:15px}.guard-radio p{font-size:11px;line-height:1.9}.radio-label{font-size:6px}.guard-status{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.guard-officer{grid-column:span 2;margin-bottom:0}.guard-officer>.character-art{width:43px}.guard-officer h3{margin:6px 0;font-size:17px}.guard-officer h3 b{font-size:20px}.guard-officer .eyebrow{font-size:6px}.guard-officer small{font-size:8px}.resource{margin:5px 0}.resource>span{font-size:8px}.resource b{font-size:12px}.resource>div{height:6px}.guard-equipment{grid-column:span 2;gap:15px;padding:10px 0;font-size:9px}.guard-equipment b{font-size:15px}.guard-pay{grid-column:span 2;padding:0}.guard-pay span{font-size:9px}.guard-pay b{font-size:12px}.guard-status .dpad{grid-column:1;grid-template-rows:repeat(2,45px);grid-template-columns:repeat(3,41px);align-content:start;align-self:start;gap:5px;margin:10px 0}.guard-commands.explore{grid-column:2;gap:7px;margin:10px 0}.guard-commands.explore>button{justify-content:center;min-height:34px;padding:9px 10px;font-size:8px}.guard-status .muted-note{text-align:center;grid-column:span 2;margin:0;font-size:8px}.guard-commands:not(.explore){grid-column:span 2;grid-template-columns:1fr 1fr;gap:9px;margin-top:5px;display:grid}.guard-commands:not(.explore)>button{gap:8px;min-height:45px;padding:10px;font-size:9px}.guard-commands>button>span{padding-right:7px;font-size:8px}.guard-commands>button>small{white-space:nowrap;font-size:6px}.guard-commands:not(.explore)>.text-button{grid-column:span 2;min-height:27px}.guard-log{grid-column:span 2;margin-top:8px}.battle-scene{aspect-ratio:1.2;min-height:300px;padding:30px 20px 20px}.battle-header{font-size:7px;top:16px;left:18px;right:18px}.enemy-title{min-width:180px}.enemy-title h2{margin:12px 0 10px;font-size:18px}.enemy-title small{font-size:7px}.enemy-art{width:190px;max-width:75%}.battle-warning{margin-top:0;font-size:9px}.guard-result{padding:20px}.guard-result h2{font-size:20px;line-height:1.7}.guard-result p{font-size:11px}.guard-result p>b{font-size:22px}.guard-result p>span{font-size:8px}.guard-result button{width:100%;font-size:10px}}.character-art,.encounter-art,.town-art,.location-art{image-rendering:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.scene-wrap{isolation:isolate;background-color:#121d2a;background-position:50%;background-size:cover;border-color:#46505c;border-radius:5px}.scene-wrap:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#06111a38,#0000 60%),linear-gradient(#0000 70%,#06111a40);position:absolute;top:0;bottom:0;left:0;right:0}.scene-wrap>canvas{z-index:0;touch-action:pan-y;position:relative}.scene-wrap:not(.live)>canvas{cursor:grab;touch-action:pan-y}.scene-wrap:not(.live)>canvas:active{cursor:grabbing}.hero-copy,.scene-corner,.scene-caption,.garage-heading,.model-hint{z-index:1}.hero-copy p{text-shadow:0 2px 10px #000}.hero-title{text-shadow:0 4px 35px #040a1266}.hero-copy .eyebrow{color:#ffc798}.scene-caption{text-shadow:0 2px 12px #0009}.scene-caption strong{letter-spacing:1px;font-size:18px}.scene-corner{text-shadow:0 2px 5px #000}.model-hint{letter-spacing:.5px;color:#e4e4d9;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a172280;border:1px solid #c4c4b750;padding:8px 11px;font:9px Segoe UI,sans-serif;position:absolute;bottom:21px;right:22px}.avatar:before,.avatar:after{display:none}.avatar{background:linear-gradient(140deg,#8999a133,#17222c);border:1px solid #59667377;border-radius:4px}.avatar img{object-fit:cover;object-position:50% 9%;transform-origin:50% 10%;width:100%;height:100%;transform:scale(1.5)}.car-option{border-radius:4px}.garage-advice{border-radius:3px}.town-map{aspect-ratio:1.9;background:#142232;border-radius:6px}.town-map>.town-art{object-fit:cover;object-position:center;filter:brightness(.9)saturate(.92);width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.town-map:after{content:"";pointer-events:none;background:linear-gradient(#0000 62%,#0914228c);position:absolute;top:0;bottom:0;left:0;right:0}.map-pin{z-index:2}.map-pin>b{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.3px;background:#101e2bd9;border:1px solid #b8c7c755;border-radius:3px;padding:8px 10px;font-family:Segoe UI,Meiryo,sans-serif;font-size:11px;box-shadow:0 5px 20px #0005}.map-pin>span{background:#243240e8;border-color:#c9b18a;border-radius:50%;width:28px;height:28px;box-shadow:0 3px 15px #0007}.map-pin.selected>b{background:#e3c69eea;border-color:#ecd3ac}.map-pin.selected>span{background:#dec29b}.map-legend{z-index:2;letter-spacing:.3px;background:#111e2ac9;border-radius:3px;padding:7px 10px;font-family:Segoe UI,Meiryo,sans-serif;font-size:9px}.location-card{background:linear-gradient(145deg,#29323e,#19212c);border-radius:6px}.location-person{align-items:center;gap:20px}.location-person>.character-art{object-fit:cover;object-position:center top;filter:drop-shadow(0 6px 10px #08111a66);background:linear-gradient(135deg,#9cabbc22,#2f405155);border:0;border-radius:4px;flex-shrink:0;width:85px;height:112px}.location-person h2{font-size:28px}.location-person small{color:#b5bfc6;font-size:9px}.location-person>div>span{font-size:9px}.location-card>p{font-size:12px;line-height:2}.request-card{background:linear-gradient(125deg,#232c38,#1b222c);border-radius:5px}.request-top{font-size:10px}.request-card>p{font-size:12px}.journal{border-radius:5px}.journal article>p{font-size:12px}.chapter-strip{border-radius:4px}.chapter-strip strong{font-weight:600}.expanded-jobs .job-visual{background-image:linear-gradient(#0c172133,#0c172155),var(--art-warehouse);background-position:55%;background-size:cover}.expanded-jobs .delivery .job-visual{background-image:linear-gradient(#0c172133,#0c172155),var(--art-garage);background-position:25%}.expanded-jobs .building{display:none}.expanded-jobs .job-symbol{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#edd8b2;background:#13212c88;border:1px solid #deccaa88;border-radius:50%;place-items:center;width:64px;height:64px;font-size:35px;display:grid}.expanded-jobs .job-visual:after{display:none}.expanded-jobs .job-visual small{color:#dfded2;letter-spacing:.5px;background:#0e1a2699;padding:7px 4px;bottom:10px}.expanded-jobs .job-content>p{font-size:12px}.job-card,.guard-shop{border-radius:5px}.shop-items button{border-radius:4px}.dialogue-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040b12d6}.story-dialogue{background:#172431;border-color:#68727b;border-radius:7px;max-height:94dvh;box-shadow:0 35px 140px #000b}.dialogue-top{background:#172330f0;border-bottom-color:#6b706b;padding:15px 26px;font-size:12px}.dialogue-top>button{font-size:10px}.dialogue-scene{background:#182a38;height:330px}.dialogue-scene>.location-art{object-fit:cover;object-position:center;filter:brightness(.82);width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.dialogue-scene:after{background:linear-gradient(90deg,#07121c99,#0000 70%),linear-gradient(#0000 45%,#111f2ba6)}.dialogue-figure>.character-art{object-fit:contain;object-position:50% 100%;background:0 0;border:0;border-radius:0;width:100%;height:100%;display:block}.dialogue-location{text-shadow:0 3px 14px #000;max-width:58%;top:36px;left:35px}.dialogue-location strong{letter-spacing:1px;font-size:27px;font-weight:600}.scene-subtitle{letter-spacing:.8px;color:#dddcd3;max-width:55%;font:11px/1.8 Segoe UI,Meiryo,sans-serif}.dialogue-box{background:linear-gradient(110deg,#23323e,#172632);border-top-color:#bdab8e;padding:24px 34px 20px}.speaker>b{letter-spacing:1px;font-size:22px}.dialogue-text{letter-spacing:.4px;min-height:68px;font-size:17px;line-height:2}.dialogue-next>.primary{border-radius:4px}.dialogue-choices button{background:#344550a6;border-color:#a89b8188;border-radius:4px}.dialogue-keyhint{letter-spacing:0;color:#8d9fac;font-family:Segoe UI,Meiryo,sans-serif;font-size:9px}.conversation-log p{font-size:12px}.guard-game-top .eyebrow{font-size:8px}.guard-main{min-width:0}.guard-radio{background:#111e29df;border-color:#5c6e79;border-radius:4px}.guard-radio p{font-size:13px;line-height:1.95}.radio-label{font-size:8px}.guard-officer>.character-art{object-fit:cover;object-position:50% top;background:linear-gradient(140deg,#afc1c325,#48657822);border:0;border-radius:4px;width:63px;height:78px}.guard-officer h3{font-size:19px}.guard-officer small{font-family:Segoe UI,sans-serif;font-size:10px}.guard-officer .eyebrow{font-size:8px}.resource>span{letter-spacing:.3px;font-family:Segoe UI,Meiryo,sans-serif;font-size:10px}.resource>div{border-radius:3px;height:7px;overflow:hidden}.guard-equipment{font-size:10px}.guard-pay span{font-size:11px}.guard-commands>button{border-radius:4px;min-height:45px;font-size:12px}.guard-commands .text-button{font-size:10px}.guard-status .dpad>button{background:linear-gradient(#3c5060,#2b3f50);border-color:#758792;border-radius:5px}.guard-result{border-radius:5px}.guard-log summary,.guard-log p{font-size:11px}.rpg-map{background:linear-gradient(#0d1b28cc,#0c1926eb),var(--art-warehouse) center/cover;border:1px solid #6b7c83;border-radius:5px;gap:1px;padding:12px;box-shadow:inset 0 0 50px #050f1b66}.rpg-tile{box-shadow:none;color:#e6d1ab;background:#53647538;border:1px solid #8192a014;border-radius:2px;font-size:20px}.rpg-tile.solid{background:linear-gradient(135deg,#748087aa,#4e606cdd);border:1px solid #98a0a255;border-radius:2px;box-shadow:inset 0 2px #a5a8a755,0 2px 4px #05101c44}.rpg-tile.objective:not(.solid){background:#9e896343}.rpg-tile.used{color:#c5d6a6;background:#66875c3d}.rpg-tile.stairs{color:#e0d2af;background:linear-gradient(#617580,#354655)}.rpg-tile.fog,.rpg-tile.fog.objective,.rpg-tile.fog.stairs{box-shadow:none;color:#0000;background:#111e2b9c;border-color:#8293a111}.rpg-tile.you{background:#a28c604f;border-color:#e2ca9d66;box-shadow:0 0 22px #e3c18725}.guard-position{filter:drop-shadow(0 2px 3px #0008);width:68%;height:68%}.guard-position svg{width:100%;height:100%;display:block}.rpg-legend{letter-spacing:.2px;color:#a5b3bd;gap:16px;font:10px Segoe UI,Meiryo,sans-serif}.battle-scene{aspect-ratio:1.55;background:linear-gradient(90deg,#0c1c2a80,#101b2580),var(--art-warehouse) center/cover;border-radius:5px;justify-content:flex-start;min-height:450px;padding:46px 28px 23px}.battle-scene:before{display:none}.battle-header{letter-spacing:1px;color:#d8c2a1;z-index:2;font-size:10px}.enemy-title{z-index:2;text-shadow:0 2px 8px #000;min-width:235px;margin:0 auto;position:relative}.enemy-title h2{margin:10px 0 12px;font-size:24px}.enemy-title small{color:#d1d9d7;font:10px Segoe UI,Meiryo,sans-serif}.enemy-hp{background:#25384888;border-radius:3px;height:5px;overflow:hidden}.enemy-hp i{background:#d9bd96;height:5px}.encounter-art{z-index:1;object-fit:contain;filter:drop-shadow(0 8px 25px #0007);width:auto;max-width:90%;height:clamp(260px,28vw,385px);margin:8px auto -10px;display:block;position:relative}.battle-warning{color:#e2d8c4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091722db;border:1px solid #a6b3af55;border-radius:4px;max-width:95%;margin-top:auto;padding:10px 16px;font-size:12px;line-height:1.9}.battle-scene.charged{background:linear-gradient(#4f322d55,#111e29aa),var(--art-warehouse) center/cover;border-color:#c6956c}.charged .battle-warning{color:#ffe0b3;border-color:#b99d7788}@media (max-width:960px){.location-card{grid-template-columns:1fr 1.5fr;column-gap:25px}.location-person>.character-art{width:85px;height:112px}.location-person h2{font-size:25px}.location-card>p{font-size:12px}.map-pin>b{padding:7px 9px;font-size:10px}.dialogue-scene{height:300px}.dialogue-figure{width:260px;height:370px;bottom:-65px;right:28px}.dialogue-location strong{font-size:24px}.dialogue-text{font-size:16px}.battle-scene{aspect-ratio:auto;min-height:425px;padding:44px 20px 20px}.encounter-art{height:290px}.enemy-title h2{font-size:20px}.battle-warning{font-size:11px}.guard-equipment{gap:8px;font-size:9px}.guard-commands>button{font-size:11px}.garage-heading h2{font-size:30px}.model-hint{font-size:8px;bottom:15px;right:16px}}@media (max-width:640px){.scene-caption strong{font-size:13px}.hero-copy .eyebrow{font-size:7px}.scene-wrap{border-radius:4px}.model-hint{padding:6px 8px;font-size:7px;bottom:10px;right:10px}.garage-heading h2{font-size:25px}.avatar{width:48px;height:53px}.town-map{aspect-ratio:1.42;border-radius:5px}.map-pin{gap:4px}.map-pin>b{padding:5px 6px;font-size:8px}.map-pin>span{width:24px;height:24px;font-size:11px}.map-legend{padding:6px 8px;font-size:7px;bottom:10px;left:10px}.location-card{grid-template-columns:80px 1fr;gap:10px 20px;padding:20px}.location-person>.character-art{width:70px;height:95px;margin-bottom:10px}.location-person h2{font-size:20px}.location-person small{font-size:7px}.location-card>h3{font-size:15px}.location-card>p{font-size:11px}.location-card>.primary,.location-card>.secondary{font-size:10px}.request-top{font-size:9px}.request-card>p,.expanded-jobs .job-content>p{font-size:11px}.expanded-jobs .job-symbol{width:46px;height:46px;font-size:26px}.expanded-jobs .job-visual small{font-size:6px}.journal article>p{font-size:11px}.dialogue-backdrop{padding:12px}.story-dialogue{border-radius:5px}.dialogue-top{gap:10px;padding:12px 15px;font-size:10px;line-height:1.8}.dialogue-top>button{font-size:7px}.dialogue-scene{height:230px}.dialogue-figure{width:215px;height:305px;bottom:-76px;right:-9px}.dialogue-location{max-width:57%;top:25px;left:20px}.dialogue-location strong{letter-spacing:.5px;font-size:20px;line-height:1.7}.dialogue-location small{letter-spacing:.8px;font-size:6px;line-height:1.8}.scene-subtitle{max-width:48%;font-size:8px;line-height:1.9;bottom:18px;left:20px}.dialogue-box{padding:21px 20px 17px}.speaker>b{font-size:20px}.dialogue-text{letter-spacing:.3px;min-height:86px;margin:15px 0 20px;font-size:14px;line-height:2.05}.dialogue-keyhint{font-size:7px;line-height:1.9}.dialogue-choices button{padding:12px;font-size:11px}.conversation-log p{font-size:11px}.guard-game{padding:15px}.guard-officer>.character-art{width:56px;height:69px}.guard-officer h3{font-size:18px}.guard-officer small{font-size:9px}.guard-radio p{font-size:12px}.radio-label{font-size:7px}.resource>span{font-size:9px}.guard-equipment{gap:15px;font-size:9px}.guard-equipment b{font-size:14px}.guard-pay span{font-size:10px}.guard-commands:not(.explore)>button{gap:7px;min-height:47px;padding:10px;font-size:10px}.guard-commands>button>small{font-size:6px}.guard-commands.explore>button{min-height:36px;padding:9px 6px;font-size:9px}.guard-log summary{font-size:10px}.rpg-map{gap:1px;padding:6px}.rpg-tile{border-radius:1px;font-size:15px}.rpg-legend{gap:8px;font-size:7px}.battle-scene{aspect-ratio:auto;border-radius:4px;min-height:410px;padding:38px 14px 17px}.battle-header{letter-spacing:.6px;font-size:7px;left:15px;right:15px}.enemy-title{min-width:195px}.enemy-title h2{margin:8px 0 10px;font-size:19px}.enemy-title small{font-size:9px}.encounter-art{max-width:94%;height:275px;margin-top:5px}.battle-warning{padding:8px 10px;font-size:10px;line-height:1.8}.guard-result h2{font-size:20px}.scene-wrap.live .live-top{z-index:1}.live-badge{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}}:root{--orange:#f5784d;--green:#c0d69b}body{color:#e9e5dc;background:radial-gradient(at 72% 0,#25313a50,#0000 52%),#10161c;font-family:Segoe UI,Meiryo,sans-serif}.shell{max-width:1600px;margin-inline-start:auto;margin-inline-end:auto}header{border-bottom-color:#43505a}.brand-text{letter-spacing:1px}.brand-text small{color:#b9b7ad}.page-heading h1{letter-spacing:.02em;font-weight:600}.eyebrow{color:#aeb9bd}.section-label{color:#bbc5c7}.nav-item{color:#b4c0c7;min-height:48px}.nav-item.active{color:#fff4df;border-bottom-color:#f5784d}.primary{color:#171b20;background:#f5784d;border-radius:5px;min-height:48px;font-weight:700}.primary:hover{background:#ff946e}.secondary,.upgrade,.small-button{color:#e7e6dc;border-radius:5px}.secondary:hover,.upgrade:hover{background:#34444e;border-color:#dca87a}button:focus-visible{outline-offset:3px;outline:3px solid #f7ca91}a:focus-visible{outline-offset:3px;outline:3px solid #f7ca91}.event-card,.parts-panel,.progress-card,.records-table{background:linear-gradient(130deg,#25313b,#1b252e);border:1px solid #495862;border-radius:9px}.event-card{box-shadow:0 12px 35px #050b1129}.rival-profile{border-top-color:#52606a}.rival-profile h3{letter-spacing:1px}.event-info small,.car-specs small,.part-body>small{color:#b3bfc3}.part-body p,.entry-note,.progress-card p,.muted-note{color:#b2bec5}.car-specs{background:#1b2630;border-color:#495862;border-radius:0 0 8px 8px}.car-specs strong{color:#f1ebdc}.car-specs em{color:#bac4c6}.scene-wrap{background-color:#202c37;border-color:#627079;border-radius:9px;box-shadow:0 16px 40px #0003}.scene-wrap:after{background:linear-gradient(90deg,#08131c4d,#0000 52%),linear-gradient(#0000 68%,#08131c60)}.garage-heading{background:linear-gradient(90deg,#111c23d9,#111c2300);border-left:2px solid #f0b180;border-radius:0 5px 5px 0;padding:12px 16px}.garage-heading h2{letter-spacing:.02em;font-size:32px;font-weight:650}.garage-heading p{color:#e4dfcc;font-size:11px;line-height:1.6}.model-hint{color:#f3e7d2;background:#15232de6;border-color:#a7b0ab70;border-radius:4px;font-size:10px}.car-option{background:linear-gradient(145deg,#263541,#1a252e);border-color:#52626c;border-radius:7px;padding:12px;transition:border-color .15s,background .15s}.car-option.chosen{background:linear-gradient(135deg,#54392e,#222d35);border-color:#f5ab7b}.car-option strong{letter-spacing:.04em;font-family:Segoe UI,sans-serif;font-size:13px;font-style:normal;font-weight:650}.car-option small{color:#c4d0d4;font-size:11px}.car-preview{filter:drop-shadow(0 9px 9px #0004)}.town-map{border-color:#596b73;border-radius:9px}.town-map>.town-art{filter:brightness(.96)saturate(.78)contrast(1.04)}.map-pin>b{color:#f1e9d8;background:#14242ef2;border-color:#9faca99c;font-size:12px}.map-pin.selected>b{color:#15232d;background:#f0d7af}.map-pin>span{border-color:#e5bc8b}.map-legend{color:#e3e5d9;background:#11232de6;font-size:11px}.location-card,.request-card,.journal,.guard-shop{background:linear-gradient(120deg,#293943,#1b2a34);border-color:#52636b;border-radius:8px}.location-person>.character-art{object-position:50% 5%;filter:drop-shadow(0 5px 8px #0004)saturate(.88);background:radial-gradient(at 40% 30%,#b39c7345,#1b2b37);border:1px solid #89968c70;border-radius:5px;width:96px;height:126px}.avatar{background:linear-gradient(145deg,#bba78440,#263c48);border-color:#8f9c9f}.avatar img{filter:saturate(.85)contrast(1.03)}.dialogue-top{color:#e9dec7;background:#172730;min-height:48px;font-size:13px}.dialogue-top>button{min-height:44px;padding:8px 12px;font-size:12px}.story-dialogue{border-color:#b09a79;border-radius:10px;max-width:940px}.dialogue-scene{height:340px}.dialogue-scene>.location-art{filter:brightness(.83)saturate(.73)contrast(1.05)}.dialogue-figure{filter:drop-shadow(0 10px 25px #0006)saturate(.88);width:310px;height:410px;bottom:-62px;right:38px}.dialogue-location small{color:#f4cf9f;font-size:11px}.dialogue-location strong{font-size:29px;font-weight:600}.scene-subtitle{color:#f0e5cf;background:#10202b80;border-left:2px solid #c9a878;padding:8px 12px;font-size:13px}.dialogue-box{background:linear-gradient(120deg,#2b3a43,#172a35);border-top-color:#c8a575}.speaker>b{color:#ffe3ba}.speaker>small{color:#bdcbd0}.dialogue-text{color:#f0ede3;font-size:18px;line-height:1.9}.dialogue-keyhint{color:#b9c6cb;font-size:11px}.dialogue-next .text-button{min-height:44px;font-size:12px}.guard-game{background:linear-gradient(130deg,#263843,#192934);border-color:#64747b;border-radius:9px}.guard-radio{color:#e9e4d3;background:#12232e}.rpg-map{background:linear-gradient(#142532b3,#101f2beb),var(--art-warehouse) center/cover;border-color:#8b9488}.rpg-tile{border-color:#93a9b326}.rpg-tile.you{background:#d5ad6759;border-color:#f5d19c}.rpg-legend{color:#c3ccce;font-size:11px}.guard-status .dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px)}.guard-status .dpad>button{color:#f5e1be;background:#344b5a;border-color:#93a2a7;min-height:48px}.guard-commands>button,.guard-commands.explore>button{min-height:48px;font-size:13px}.guard-commands>button>small{font-size:10px}.battle-scene{background:linear-gradient(90deg,#0b1d2b80,#10202e50),var(--art-warehouse) center/cover}.encounter-art{filter:drop-shadow(0 10px 20px #0008)saturate(.85)}.pedal{border-radius:6px;min-height:64px}.pedal.throttle{color:#141b20;background:#e58553}.pedal.shift{color:#e6f1ed;background:#284d5d;border-color:#8dafb6}.pedal:active{filter:brightness(1.2)}@media (max-width:640px){.shell{padding-inline-start:14px;padding-inline-end:14px}.icon-button{width:44px;height:44px}.header-right{gap:5px}.wallet b{font-size:17px}.nav-item{gap:4px;padding:0 5px;font-size:11px}.nav-item>span{font-size:16px}.eyebrow{letter-spacing:1px;font-size:9px}.track-tag{font-size:9px;max-width:114px!important}.page-heading h1{font-size:23px}.hero-copy .eyebrow{font-size:9px}.hero-copy p{font-size:11px}.hero-sub{font-size:10px}.scene-corner{display:none}.scene-caption span,.scene-caption small{font-size:10px}.scene-caption strong{font-size:16px}.garage-heading{padding:8px 10px;top:14px;left:14px}.garage-heading h2{font-size:23px}.garage-heading p{font-size:10px}.model-hint{font-size:9px;bottom:12px;right:12px}.car-selector{grid-template-columns:1fr;gap:8px}.car-option{text-align:left;grid-template-columns:112px 1fr;align-items:center;gap:2px 12px;min-height:74px;padding:8px 12px;display:grid}.car-preview{grid-row:span 2;width:112px;height:52px}.car-option strong{align-self:end;font-size:13px}.car-option small{align-self:start;font-size:12px}.car-specs small,.car-specs em{font-size:9px}.car-specs strong{font-size:20px}.control-strip{flex-wrap:wrap;font-size:11px}.control-strip kbd{font-size:10px}.control-strip .text-button{min-height:44px;font-size:11px}.map-pin>b{padding:7px;font-size:11px}.map-pin>span{width:28px;height:28px}.map-pin{min-width:44px;min-height:48px}.map-legend{font-size:9px;bottom:8px}.location-card{grid-template-columns:86px 1fr;column-gap:14px}.location-person>.character-art{width:76px;height:106px}.location-person small,.location-person>div>span{font-size:10px}.location-card>p{font-size:13px}.location-card>.primary,.location-card>.secondary{min-height:48px;font-size:12px}.request-card>p,.expanded-jobs .job-content>p,.journal article>p{font-size:13px;line-height:1.9}.dialogue-backdrop{padding:10px}.story-dialogue{max-height:95dvh}.dialogue-top{padding:8px 12px;font-size:11px}.dialogue-top>button{min-height:44px;font-size:11px}.dialogue-scene{height:245px}.dialogue-figure{width:225px;height:310px;bottom:-65px;right:-18px}.dialogue-location{max-width:52%;top:20px;left:18px}.dialogue-location strong{font-size:22px}.dialogue-location small{font-size:9px}.scene-subtitle{max-width:47%;padding:6px 8px;font-size:11px;bottom:14px;left:14px}.dialogue-text{font-size:16px;line-height:1.95}.dialogue-box{padding:19px 18px}.dialogue-keyhint{font-size:10px}.dialogue-next>.primary,.dialogue-choices button{min-height:48px;font-size:13px}.guard-status .dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,44px);gap:4px}.guard-commands.explore>button{min-height:48px;padding:10px 7px;font-size:12px}.guard-commands>button{font-size:12px}.guard-commands>button>small{font-size:9px}.guard-radio p{font-size:13px}.rpg-legend{flex-wrap:wrap;gap:9px;font-size:10px}.resource>span,.guard-equipment,.guard-pay span,.guard-objective{font-size:11px}.guard-game-top .eyebrow{font-size:9px}.radio-label,.part-body>small,.part-body h3 span{font-size:10px}.upgrade{min-height:44px}.muted-note{line-height:1.8;font-size:12px!important}.chapter-strip small,.chapter-number{font-size:9px}.chapter-strip em{font-size:12px}.chapter-arrow,.section-label{font-size:10px}.entry-note{font-size:11px}}@media (max-width:360px){.nav-item{padding:0 3px;font-size:10px}.nav-item>span{font-size:14px}.guard-status{column-gap:12px}.guard-status .dpad{grid-template-columns:repeat(3,44px);gap:2px}.guard-commands.explore>button{font-size:11px}.brand-text{font-size:15px}}@media (prefers-reduced-motion:reduce){.car-option{transition:none}}@media (max-width:640px){.town-map{aspect-ratio:1.15}.map-pin>b{font-size:10px}.small-button,.request-bottom button,.shop-items button{min-height:44px}.dialogue-scene{flex-shrink:0}.dialogue-location{max-width:60%}.dialogue-location strong{font-size:19px}}
