@font-face{font-family:Pretendard;src:url(./assets/PretendardVariable.woff2) format("woff2");font-weight:45 920;font-display:swap}:root{font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-synthesis:none;color-scheme:light;--canvas:#f7f8fa;--ink:#20272b;--muted:#637078;--surface:#fff;--line:#dbe1e5;--action:#275662;--action-hover:#19434e;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #234ea0;outline-offset:3px}a{color:#234ea0;text-underline-offset:4px}[hidden]{display:none!important}.app-shell{max-width:1328px;margin:0 auto;padding:0 32px}.topbar{min-height:74px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:20px;font-weight:800;letter-spacing:-.7px;text-decoration:none;color:var(--ink)}h1{font-size:22px;line-height:1.2;letter-spacing:-.04em;font-weight:700;margin:0;padding-left:24px;border-left:1px solid var(--line)}.topbar nav{display:flex;gap:4px;margin-left:auto}.quiet-button{min-height:44px;padding:10px 12px;background:transparent;border:0;border-radius:5px;font-size:13px}.quiet-button:hover{background:#e9edf0}main{padding-top:24px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:20px;align-items:start}.play-area{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden;position:relative}.scene-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;min-height:46px;font-size:14px;font-weight:600}#scene-status{color:var(--muted);font-size:12px;font-weight:450}.scene-wrap{height:490px;position:relative;overflow:hidden;background:#cce5e8}#game-canvas{width:100%;height:100%;display:block}.scene-pause{position:absolute;top:14px;right:14px;background:#fff;border:1px solid #a4b4ba;border-radius:5px;padding:10px 14px;font-size:13px;font-weight:550;min-height:44px}.scene-pause:hover{background:#eef2f2}.drive-tip{position:absolute;top:15px;left:18px;display:flex;align-items:center;gap:7px;padding:10px 12px;background:#ffffffeb;border-radius:5px;font-size:12px;white-space:nowrap;color:#34494f}.drive-tip span{margin:0 9px}.drive-tip kbd{font:inherit;font-weight:700}.route-line{display:flex;align-items:center;gap:10px;padding:14px 18px 0;color:var(--muted);font-size:11px}.route-line>span{white-space:nowrap;flex-shrink:0}.route-line progress{width:100%;height:4px;background:#e2e7e8;border:0;border-radius:2px;accent-color:var(--action)}.route-line progress::-webkit-progress-bar{background:#e2e7e8}.route-line progress::-webkit-progress-value{background:var(--action)}.route-line progress::-moz-progress-bar{background:var(--action)}.dashboard{display:flex;justify-content:space-around;gap:24px;padding:17px 20px}.dashboard>div{display:flex;align-items:baseline;gap:12px}.dashboard>div>span{font-size:12px;color:var(--muted)}.dashboard strong{font-size:22px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}.dashboard small{font-size:11px;font-weight:450;margin-left:4px;color:var(--muted)}html[data-phase=setup] .dashboard,html[data-phase=setup] .route-line{display:none}.setup-panel{padding:19px 0 0}.field-label{font-size:13px;font-weight:600;display:block;margin-bottom:10px}select{width:100%;min-height:46px;padding:11px 26px 11px 12px;border:1px solid #aeb9c0;background:var(--surface);border-radius:5px;font-size:14px;font-weight:550}.course-description{color:var(--muted);font-size:13px;line-height:1.7;margin:12px 0 25px}.departure-summary{padding:18px 0;border-top:1px solid var(--line)}.departure-summary p{font-size:14px;font-weight:550;margin:0 0 12px}.departure-text>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.departure-summary span{font-size:12px;color:var(--muted)}.departure-summary strong{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums}.primary-button{width:100%;min-height:50px;padding:13px 17px;background:var(--action);border:1px solid var(--action);border-radius:5px;color:#fff;font-size:15px;font-weight:650}.primary-button:hover{background:var(--action-hover);border-color:var(--action-hover)}.best-value{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0 22px}.setup-panel details{border-top:1px solid var(--line)}details>summary{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:550;list-style:none}details>summary::-webkit-details-marker{display:none}.disclosure-icon{font-size:22px;font-weight:350;color:var(--muted)}details[open] .disclosure-icon{transform:rotate(45deg)}.loadout-editor{padding:8px 0 16px}.load-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.load-heading h2{font-size:13px;font-weight:550;margin:0}.text-button{min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;background:transparent;border:0;padding:10px 0;color:#234ea0}.cargo-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cargo-choice{background:var(--surface);border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 2px;min-height:96px}.cargo-choice[aria-pressed=true]{background:#e7f0f1;border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.cargo-choice[aria-pressed=true] small{color:var(--ink)}.cargo-choice strong{font-size:12px;font-weight:550}.cargo-choice small{font-size:11px;color:var(--muted)}.cargo-art{display:block;position:relative;width:29px;height:26px;flex-shrink:0}.cargo-art.box{background:#dfaa66;border:2px solid #5e5344;border-radius:2px}.cargo-art.box:before{content:"";position:absolute;top:0;bottom:0;left:10px;width:6px;background:#f3dba3}.cargo-art.box:after{content:"";position:absolute;left:3px;bottom:3px;width:7px;height:5px;background:#fff9e9}.cargo-art.watermelon{width:28px;height:28px;border:2px solid #365b45;border-radius:50%;background:repeating-linear-gradient(80deg,#8aaa70 0 5px,#426e50 5px 8px);transform:rotate(-13deg)}.cargo-art.fridge{width:22px;height:31px;border:2px solid #49616a;background:#e7f1eb;border-radius:2px;box-shadow:inset -4px 0 #bacfca}.cargo-art.fridge:before{content:"";position:absolute;top:9px;left:0;right:0;border-top:1px solid #49616a}.cargo-art.fridge:after{content:"";position:absolute;top:13px;left:4px;width:2px;height:8px;background:#49616a}.grid-instruction{font-size:12px;line-height:1.65;color:var(--muted);margin:15px 0 10px}.load-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.grid-cell{height:46px;border:1px dashed #9eafb6;border-radius:2px;background:#edf1f3;color:#687d87;display:flex;align-items:center;justify-content:center;font-size:20px;padding:1px}.grid-cell.occupied{border-style:solid;border-color:#8ca4aa;background:#dfe9e8}.grid-cell:hover{border-color:var(--action);background:#d7e5e7}.grid-cell .cargo-art{transform:scale(.85)}.grid-cell .continuation{font-size:10px;color:#39545c}.grid-base{border-top:2px solid #8fa4ab;padding-top:6px;font-size:11px;text-align:center;color:var(--muted);margin:7px 0 0}.load-message{font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0 0}.load-message.error{color:#9d3721}html:not([data-phase=setup]) .game-layout{grid-template-columns:1fr;gap:0}.trip-panel{justify-self:end}.secondary-button{width:100%;min-height:46px;padding:12px;border:1px solid #aebbc1;border-radius:5px;background:#fff;font-size:14px;font-weight:550}.secondary-button:hover{background:#edf2f3}.drive-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px 20px}.drive-button{width:39%;max-width:400px;min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:15px 24px;border:1px solid #7b969d;border-radius:5px;user-select:none;-webkit-user-select:none;touch-action:none}.drive-button strong{font-size:20px;font-weight:650}.drive-button span{font-size:12px;font-weight:550}.brake{background:#eaf0f2;color:#243e47}.throttle{background:var(--action);border-color:var(--action);color:#fff}.drive-button.pressed{background:#173b45;color:#fff;box-shadow:inset 0 3px #0b2730}.control-note{color:var(--muted);font-size:11px;line-height:1.6;text-align:center}.game-footer{padding:18px 0 24px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.game-footer p{margin:0}.game-footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:none}dialog{width:min(430px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #bdc9ce;border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:0 20px 70px #20343826;overflow:auto}dialog::backdrop{background:#233b4a85}#dialog-content{padding:30px}.dialog-label{font-size:12px;color:var(--muted);margin:0 0 12px}#dialog-title{font-size:26px;line-height:1.3;letter-spacing:-.04em;font-weight:700;margin:0 0 14px}.dialog-copy{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 24px}.dialog-actions{display:grid;gap:10px}.dialog-actions .text-button{font-size:13px}.help-list{font-size:13px;line-height:1.8;color:var(--muted);padding-left:18px;margin:0 0 20px}.help-list strong{color:var(--ink);font-weight:600}.help-list li{padding-bottom:12px}.result-amount{font-size:52px;line-height:1.05;letter-spacing:-.05em;font-weight:700;color:var(--action);margin:24px 0 12px}.result-amount small{font-size:22px;margin-left:6px;font-weight:500}.result-stats{display:flex;justify-content:space-between;gap:10px;padding:16px 0;border-block:1px solid var(--line);margin:24px 0;font-size:12px;color:var(--muted)}.result-stats strong{display:block;font-size:23px;color:var(--ink);margin-top:8px;font-weight:650}.result-note{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 23px}#scene-status.warning,.speed-display.fast strong,.speed-display.fast>span{color:#9d3721}@media(max-width:1023px){.app-shell{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.scene-wrap{height:450px}.drive-tip span{display:none}.dashboard>div{gap:7px}.dashboard{gap:12px}.dashboard strong{font-size:21px}}@media(max-width:740px){.app-shell{padding:0 16px;max-width:600px}.topbar{min-height:64px;gap:14px}.wordmark{font-size:17px}h1{font-size:19px;padding-left:14px}.quiet-button{font-size:12px;padding:10px 8px}.topbar nav{gap:0}main{padding-top:16px}.game-layout{grid-template-columns:1fr;gap:0}.scene-header{padding:0 12px;min-height:42px;font-size:13px}#scene-status{font-size:11px}.scene-wrap{height:300px}.setup-panel{padding:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field-label{grid-column:1/-1;font-size:12px;margin-bottom:8px}#course-select{grid-column:1/-1;min-height:44px;font-size:13px}.course-description{display:none}.departure-summary{grid-column:1;padding:0;border:0;margin:18px 0 0}.departure-summary p{font-size:13px;margin:0 0 7px}.departure-text>div{display:block}.departure-summary span{font-size:11px;margin-right:6px}.departure-summary strong{font-size:20px}#start-button{grid-column:2;align-self:center;margin-top:18px;font-size:14px;min-height:50px}.best-value{grid-column:1/-1;margin:11px 0 15px;font-size:11px}#loadout-options{grid-column:1/-1}.cargo-choice{min-height:94px}.load-grid{gap:5px}.grid-cell{height:48px}.scene-pause{top:10px;right:10px;font-size:12px;padding:10px 12px}.drive-tip{top:10px;left:10px;font-size:11px;padding:10px}.route-line{padding:12px 12px 0;font-size:10px}.dashboard{padding:16px 12px;gap:10px;justify-content:space-between}.dashboard>div{display:block}.dashboard>div>span{display:block;font-size:11px;margin-bottom:6px}.dashboard strong{font-size:21px}.dashboard small{font-size:10px}.drive-controls{padding:0 12px 14px;gap:10px}.drive-button{width:40%;min-height:64px;padding:14px 12px}.drive-button strong{font-size:19px}.drive-button span{font-size:11px}.control-note{font-size:10px}.game-footer{font-size:11px;gap:10px;padding-top:15px}html:not([data-phase=setup]) .scene-wrap{height:clamp(300px,47dvh,430px)}.trip-panel .text-button{padding:10px 0}#dialog-content{padding:26px}}@media(max-width:359px){.app-shell{padding:0 12px}.topbar{gap:10px}.wordmark{font-size:15px}h1{font-size:17px;padding-left:10px}.quiet-button{font-size:11px;padding:10px 6px}.scene-wrap{height:255px}.scene-header{font-size:12px}.departure-summary span{font-size:10px}.departure-summary strong{font-size:19px}.control-note{display:none}.drive-button{width:48%}.game-footer{font-size:10px}.drive-tip{gap:5px;font-size:10px}.scene-pause{padding:10px;font-size:11px}}@media(max-height:540px)and (orientation:landscape){.app-shell{padding:0 16px}.topbar{min-height:54px}main{padding-top:12px}.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.scene-header{min-height:36px}.scene-wrap{height:calc(100dvh - 122px);min-height:180px}.setup-panel{padding-top:0}.field-label{margin-bottom:7px}.course-description{display:none}.departure-summary{margin-top:14px;padding:13px 0}.departure-summary p{margin-bottom:8px}.best-value{margin:10px 0 12px}.game-footer{padding-top:12px;font-size:11px}html:not([data-phase=setup]) .app-shell{max-width:none;padding:0 10px}html:not([data-phase=setup]) .topbar,html:not([data-phase=setup]) .game-footer,html:not([data-phase=setup]) .trip-panel{display:none}html:not([data-phase=setup]) main{padding-top:6px}html:not([data-phase=setup]) .game-layout{display:block}html:not([data-phase=setup]) .scene-header{min-height:30px;font-size:12px}html:not([data-phase=setup]) .scene-wrap{height:calc(100dvh - 160px);min-height:125px}html:not([data-phase=setup]) .route-line{height:14px;padding:5px 13px 0;font-size:9px}html:not([data-phase=setup]) .dashboard{padding:7px 13px;height:44px}html:not([data-phase=setup]) .dashboard>div{display:flex;align-items:center}html:not([data-phase=setup]) .dashboard>div>span{font-size:11px;margin:0}html:not([data-phase=setup]) .dashboard strong{font-size:20px}html:not([data-phase=setup]) .drive-controls{height:63px;padding:0 13px 10px}html:not([data-phase=setup]) .drive-button{min-height:50px;width:35%;padding:10px 20px}html:not([data-phase=setup]) .scene-pause{top:8px;right:10px;min-height:44px}html:not([data-phase=setup]) .drive-tip{top:8px;padding:10px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cargo-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.cargo-choice{min-height:104px}.cargo-choice .cargo-detail{font-size:10px;color:var(--muted)}.cargo-choice.fragile .cargo-detail{color:#9d3721;font-weight:550}.cargo-art.ceramic{width:24px;height:30px;background:#eef3f2;border:2px solid #344f58;border-radius:45% 45% 30% 30%/30% 30% 55% 55%;box-shadow:inset 0 -9px 0 -6px #3f7d9a}.cargo-art.ceramic:before{content:"";position:absolute;top:-4px;left:6px;width:8px;height:5px;background:#3f7d9a;border-radius:1px}.course-brief{margin:0 0 18px}.course-brief h2{font-size:13px;font-weight:600;margin:0 0 8px;display:flex;justify-content:space-between;gap:8px}.goal-stars{color:#a86d13;font-weight:600;letter-spacing:.05em}.goal-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:5px}.goal{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.55;color:var(--muted)}.goal-mark{flex-shrink:0;width:14px;color:#b4bcc0;font-weight:700}.goal.done .goal-mark{color:#c3870f}.goal.done{color:var(--ink)}.goal-new{color:#a86d13;font-weight:700}.goal small{color:var(--muted)}.road-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.road{display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.5;color:var(--ink)}.road-sign{flex-shrink:0;width:14px;height:14px;transform:rotate(45deg);border:1.5px solid #344f58;border-radius:2px}.road.wet .road-sign{background:#cfe8f2}.road.work .road-sign{background:#f2b25a}.road-alert{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:calc(100% - 140px);padding:9px 14px;border-radius:5px;font-size:13px;font-weight:600;background:#fffffff0;border-left:5px solid #5f9fc4;color:#1f3d4a;box-shadow:0 2px 10px #20343822}.road-alert.work{border-left-color:#e5823f;color:#5a3110}.road-alert.inside{background:#20343ae8;color:#fff}.trip-goals{list-style:none;margin:0;padding:10px 18px 0;display:flex;flex-wrap:wrap;gap:6px 16px}.trip-goals .goal{font-size:11px}.trip-goals .goal.missed{opacity:.6;text-decoration:line-through}.trip-goals .goal.missed .goal-mark{color:#9d3721}html[data-phase=setup] .trip-goals{display:none}.result-stats>div{flex:1;text-align:center}.cargo-results{list-style:none;margin:-8px 0 18px;padding:0;display:grid;gap:4px}.cargo-result{display:grid;grid-template-columns:1fr auto;column-gap:10px;font-size:12px;padding:6px 0;border-bottom:1px dashed var(--line)}.cargo-result small{grid-column:1/-1;color:var(--muted);font-size:11px}.cargo-result.broken strong,.cargo-result.lost strong{color:#9d3721}.cargo-result.delivered strong{color:var(--action)}.result-goal-heading{font-size:14px;margin:0 0 8px;font-weight:650}@media(max-width:740px){.course-brief{grid-column:1/-1;margin:14px 0 4px}.road-alert{top:58px;max-width:calc(100% - 20px);font-size:12px;padding:8px 10px}.trip-goals{padding:8px 12px 0;gap:4px 12px}}@media(max-height:540px)and (orientation:landscape){.course-brief{margin-bottom:10px}.course-brief .goal{font-size:11px}html:not([data-phase=setup]) .trip-goals{display:none}html:not([data-phase=setup]) .road-alert{top:8px;font-size:12px;padding:8px 10px;max-width:calc(100% - 300px)}}.departure-summary{display:flex;align-items:center;gap:12px}.departure-text{flex:1;min-width:0}.courier-face{display:block;flex-shrink:0;width:44px;height:46px;object-fit:contain}.courier-face.img-failed{visibility:hidden}.cargo-art.ceramic.has-img{width:30px;height:30px;border:0;border-radius:0;background:none;box-shadow:none}.cargo-art.ceramic.has-img:before{display:none}.cargo-art img{display:block;width:100%;height:100%}.result-head{display:flex;align-items:center;gap:12px;margin:0 0 12px}.result-head .dialog-label{margin:0}.result-face{width:52px;height:54px}.result-note .goal-new{display:inline-block}@media(max-width:740px){.departure-summary{gap:8px}.courier-face{width:36px;height:38px}.result-face{width:44px;height:46px}}@media(max-width:359px){.departure-summary{gap:6px}.courier-face{width:28px;height:30px}}#garage{grid-column:1/-1}.garage-summary{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:550;color:var(--muted);font-variant-numeric:tabular-nums}#garage-balance-short.warn{color:#9d3721}.garage-body{padding:0 0 16px}.garage-balance{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px;font-size:13px}.garage-balance strong{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.garage-rule{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 12px}.upgrade-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.upgrade{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.upgrade-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px}.upgrade-level{font-size:11px;color:var(--action);letter-spacing:.04em;font-variant-numeric:tabular-nums}.upgrade-effect{margin:0;font-size:12px;line-height:1.5}.upgrade-note,.upgrade-why{font-size:11px;line-height:1.5;color:var(--muted)}.upgrade-why:empty{display:none}.upgrade-buy{min-height:44px;margin-top:4px;font-size:13px}.upgrade-buy[aria-disabled=true]{opacity:.6;cursor:progress}.garage-message{font-size:12px;line-height:1.6;color:var(--action);margin:10px 0 0}.garage-message:empty{display:none}.garage-message.error,.result-credit.error{color:#9d3721}.save-notice{font-size:11px;line-height:1.6;margin:10px 0 0;padding:8px 10px;border-left:3px solid #c98a3a;background:#fbf6ee;color:#5a3a12}.result-credit{font-size:12px;line-height:1.7;color:var(--muted);margin:-12px 0 20px}@media(max-height:540px)and (orientation:landscape){.garage-rule{display:none}.upgrade{padding:8px 10px}}#start-button{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:2;box-shadow:0 0 0 8px var(--canvas)}#start-button:disabled{opacity:1;background:#9aaeb3;border-color:#9aaeb3}@media(max-height:540px)and (orientation:landscape){.course-brief .goal,.road{line-height:1.4}.goal-list{gap:3px;margin-bottom:10px}.road-list{gap:3px}.course-brief h2{margin-bottom:6px}.departure-summary{margin-top:8px;padding:10px 0}#start-button{min-height:48px}}#load-value{white-space:nowrap}@media(min-width:741px)and (max-height:540px)and (orientation:landscape){.setup-panel{display:grid;grid-template-columns:minmax(0,1fr) 108px;column-gap:10px}.setup-panel>*{grid-column:1/-1}.setup-panel>.departure-summary{grid-column:1;gap:6px;border-bottom:0}.courier-face{width:28px;height:30px}.departure-summary p{font-size:13px;margin-bottom:4px}.departure-text>div{display:block}.departure-summary span{font-size:11px;margin-right:4px}.departure-summary strong{font-size:20px}.setup-panel>#start-button{grid-column:2;align-self:center;margin-top:8px;padding:10px 8px;font-size:14px}}
