@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri11.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri11;font-weight:700;src:url(/fonts/Galmuri11-Bold.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri14;src:url(/fonts/Galmuri14.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri11 Full;src:url(/fonts/full/Galmuri11.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri11 Full;font-weight:700;src:url(/fonts/full/Galmuri11-Bold.woff2)format("woff2");font-display:swap}:root{--bg:#16202b;--panel:#1f2c3a;--paper:#f2f0e6;--ink:#16202b;--text:#e9ecef;--muted:#9fb0bf;--shadow:#0b1118;--danger:#e0573f;--good:#3ee08a;--cell0:#18232f;--accent:#00a84d;--accent-dark:color-mix(in srgb, var(--accent) 55%, #000);--small:"Galmuri11", "Apple SD Gothic Neo", "Malgun Gothic", monospace;--body:"Galmuri14", "Galmuri11", "Apple SD Gothic Neo", "Malgun Gothic", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;line-height:1.6}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.screen{max-width:440px;min-height:100dvh;padding:16px 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}h1{font-family:var(--small);margin:0;font-size:22px;font-weight:700;line-height:1.3}h2{font-family:var(--small);color:var(--muted);letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:400}.sub{color:var(--muted);margin:8px 0 0}.primary,button.primary{background:var(--accent);color:#fff;min-height:48px;font-family:var(--small);box-shadow:0 4px 0 var(--accent-dark), 4px 8px 0 var(--shadow);border:0;margin-bottom:8px;padding:0 16px;font-size:22px;font-weight:700}.primary:active:not(:disabled){box-shadow:0 0 0 var(--accent-dark), 4px 4px 0 var(--shadow);transform:translateY(4px)}.primary:disabled{color:var(--muted);box-shadow:0 4px 0 #2a3542, 4px 8px 0 var(--shadow);background:#3a4756}.plain{color:var(--muted);background:0 0;border:0;min-height:44px}.wide{width:100%;margin-top:20px}.route{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;display:flex}.route .line{background:var(--accent);color:#fff;box-shadow:2px 2px 0 var(--shadow);font-family:var(--small);padding:0 6px}.leg-count{color:var(--muted)}.source{margin-top:28px}.source-note{font-family:var(--small);color:#6f8293;font-size:11px;line-height:1.5}.source-note summary{cursor:pointer;list-style:none}.source-note summary::-webkit-details-marker{display:none}.source-note summary:after{content:" ▾"}.source-note[open] summary:after{content:" ▴"}.source-note p{margin:2px 0 0}.waiting{margin-top:40px}.pick{margin-top:24px;padding-bottom:120px}.pick h1{color:var(--paper);text-shadow:3px 3px 0 var(--shadow);font-size:33px}.fields{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--shadow);margin-top:20px;padding:4px 52px 4px 0;position:relative}.field+.field .field-row{border-top:2px dashed #c9c4b4}.field-row{cursor:text;align-items:center;gap:10px;min-height:52px;padding:0 12px;display:flex}.field-label{font-family:var(--small);color:#5b6570;flex:none;width:26px;font-size:11px}.field input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:16px}.field input::placeholder{color:#8b929a}.field-value{min-width:0;font-family:var(--small);flex:1;align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.field.focus .field-row{background:#e6e2d3}.field-clear{color:#5b6570;background:0 0;border:0;flex:none;width:32px;height:32px;margin-right:-6px;font-size:20px;line-height:1}.suggest{border-top:2px solid var(--ink);margin:0;padding:0 0 4px;list-style:none}.suggest button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;display:flex}.suggest button:hover,.suggest button:focus-visible{background:#e6e2d3}.suggest-empty{color:#5b6570;border-top:2px solid var(--ink);margin:0;padding:10px 12px}.swap{background:var(--ink);width:36px;height:44px;color:var(--paper);border:0;font-size:18px;position:absolute;top:30px;right:8px;box-shadow:2px 2px #8b929a}.swap:disabled{opacity:.3}.badges{gap:2px;display:inline-flex}.badge-s{color:#fff;font-family:var(--small);padding:0 4px;font-size:11px;font-weight:700;line-height:16px}.quick{gap:8px;margin-top:24px;display:grid}.quick h2{margin:0}.quick-trip{text-align:left;background:var(--panel);min-height:44px;color:var(--paper);box-shadow:3px 3px 0 var(--shadow);border:0;padding:0 12px}.journey-card{background:var(--panel);box-shadow:4px 4px 0 var(--shadow);margin-top:18px;padding:12px}.jc-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.jc-head strong{font-family:var(--small);color:var(--paper);font-size:33px}.jc-head span{color:var(--muted)}.jc-level{flex-wrap:wrap;align-items:baseline;gap:8px;margin:6px 0 0;display:flex}.jc-level b{font-family:var(--small);font-weight:700}.jc-level span{font-family:var(--small);color:var(--muted);font-size:11px}.jc-level .lv0{color:var(--good)}.jc-level .lv1{color:#ffd84a}.jc-level .lv2{color:#ff9a3c}.jc-level .lv3{color:var(--danger)}.jc-legs{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.jc-legs li{border-left:6px solid var(--leg);grid-template-columns:auto 1fr;gap:0 10px;padding-left:10px;display:grid}.jc-line{color:#fff;background:var(--leg);font-family:var(--small);grid-row:span 3;align-self:start;padding:0 5px;font-size:11px}.jc-stop{color:var(--paper)}.jc-stop em{color:#ffd84a;font-style:normal}.jc-mid{font-family:var(--small);color:var(--muted);font-size:11px}.go-bar{max-width:440px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:4px solid var(--shadow);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.wide-btn{width:100%}.platform-screen{margin-top:14px}.sign{background:var(--paper);color:var(--ink);box-shadow:0 6px 0 var(--accent), 4px 10px 0 var(--shadow);grid-template-columns:1fr 1fr;gap:2px 8px;padding:10px 12px 8px;display:grid}.sign .here{font-family:var(--small);text-align:center;overflow-wrap:anywhere;grid-column:1/-1;font-size:33px;font-weight:700;line-height:1.2}.sign .side{font-family:var(--small);color:#5b6570;font-size:11px}.sign .next{text-align:right}.led{white-space:nowrap;font-family:var(--small);color:#ff9a3c;text-shadow:0 0 4px #ff9a3c99;background:#0b0f14;border:2px solid #2a3746;margin-top:18px;padding:4px 0;font-size:11px;overflow:hidden}.led span{padding-left:100%;animation:9s linear infinite marquee;display:inline-block}@keyframes marquee{to{transform:translate(-100%)}}.platform-screen>.sub{margin-top:8px}.platform-strip{scroll-behavior:smooth;margin:10px -16px 0;overflow-x:auto}.platform-strip svg{display:block}.psd-text{fill:#16202b;font-family:var(--small);font-weight:700}.hang-text{font-family:var(--small);font-weight:700}.ad-art{image-rendering:pixelated}.ad-logo{image-rendering:auto}.ad-text{font-family:var(--small);font-weight:700}.ad-over{paint-order:stroke;stroke-width:2px;stroke-linejoin:round}.ad-brand{paint-order:stroke;stroke-width:1.1px;stroke-linejoin:round}.ad-gloss{opacity:.1;pointer-events:none}.door-hit{background:0 0;border:0;padding:0;position:absolute;top:0}.door-hit:focus-visible{outline:2px solid var(--paper)}.ad-hit{display:block;position:absolute}.ad-view{pointer-events:none;position:absolute}.ad-hit:focus-visible{outline:2px solid var(--paper)}.pick-ring{animation:1.2s ease-in-out infinite pulse}.leaf{transition:transform .4s ease-in-out}.leaf.left.open{transform:translate(-13px)}.leaf.right.open{transform:translate(13px)}.train-in{transform:translateX(var(--from))}.train-in.arriving{animation:1.3s cubic-bezier(.15,.6,.25,1) forwards train-arrive}.train-in.open{transform:none}@keyframes train-arrive{0%{transform:translateX(var(--from))}to{transform:none}}.tdoor{transition:opacity .4s}.tdoor.open{opacity:0}.board{animation:.6s ease-in forwards board}@keyframes board{to{opacity:0;transform:translateY(-14px)}}.board-time{margin:12px 0 0}.board-time.late{color:var(--danger)}.riding{flex-direction:column;flex:1;margin-top:12px;display:flex}.train{gap:3px;margin:0 0 12px;padding:0;list-style:none;display:flex}.train li{flex:1;gap:2px;min-width:0;display:flex}.train li.here{background:var(--accent);flex:3.4;padding:2px}.train span{min-height:30px;color:var(--muted);font-family:var(--small);background:#2b3a49;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex}.train li.here span{background:var(--accent-dark);color:#fff}.train li.here span.on{background:var(--paper);color:var(--ink);font-weight:700}.train span.to{box-shadow:inset 0 0 0 2px var(--good);color:var(--paper)}.progress{background:#2b3a49;height:6px}.progress .bar{background:var(--accent);height:100%;transition:width .5s ease-out}.stop-row{justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-top:8px;display:flex}.stop-label{color:var(--muted);font-family:var(--small);align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.stop-label .clock{color:var(--paper);font-weight:700}.stop{color:var(--paper);text-shadow:3px 3px 0 var(--shadow);margin-top:2px;font-size:33px}.stack{display:grid}.stack>span{visibility:hidden;grid-area:1/1}.stack>span.on{visibility:visible}.crowd{font-family:var(--small);color:#fff;padding:0 6px;font-size:11px}.crowd.c0{background:#c4382c}.crowd.c1{background:#d7782a}.crowd.c2{background:#4a5a6a}.crowd.c3{background:#2f8a55}.next-transfer{color:var(--accent);filter:brightness(1.3);font-family:var(--small);margin:4px 0 0;font-weight:700}.facts{font-family:var(--small);grid-template-columns:auto 1fr;gap:0 10px;margin:6px 0 0;font-size:11px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.caption{text-align:center;height:62px;font-family:var(--small);color:var(--paper);background:#0b0f14;border:2px solid #2a3746;justify-content:center;align-items:center;margin:8px 0 0;padding:0 12px;font-size:15px;line-height:1.4;display:flex;overflow:hidden}.caption span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.caption.win{color:#ffd84a;font-weight:700}.caption.warm{color:#ffb86b;font-weight:700}.caption.lose{color:var(--danger);font-weight:700}.caption.note{color:#bcd2e8}.caption.tense{font-weight:700;animation:.45s steps(2,end) infinite pulse}.cabin-wrap{margin:10px -4px 8px;position:relative}.cabin-pixel{box-shadow:0 0 0 3px var(--shadow);overscroll-behavior-x:contain;scrollbar-width:none;position:relative;overflow:auto hidden}.cabin-pixel::-webkit-scrollbar{display:none}@media (pointer:fine){.cabin-pixel{cursor:grab}.cabin-pixel.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}}.pan{width:18px;height:46px;color:var(--paper);z-index:2;background:#16202b80;border:0;place-items:center;padding:0 3px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.pan[hidden]{display:none}.pan.left{left:0}.pan.right{right:0}.pan svg{width:100%;height:auto}.pan.right svg{transform:scaleX(-1)}.pan:hover,.pan:focus-visible{background:#16202bcc}.cabin-inner{position:relative}.cabin-pixel svg{width:100%;height:auto;display:block}.pixelated{shape-rendering:crispedges;image-rendering:pixelated}.seat-hit{background:0 0;border:0;padding:0;position:absolute}.seat-hit:focus-visible{outline:2px solid var(--paper)}.door-num{font-family:var(--small);color:var(--ink);background:var(--paper);pointer-events:none;padding:0 2px;font-size:11px;line-height:1.2;position:absolute;top:17%;transform:translate(-50%)}.gangway{background:var(--paper);height:30%;color:var(--ink);font-family:var(--small);box-shadow:2px 2px 0 var(--shadow);border:0;padding:0 4px;font-size:11px;font-weight:700;position:absolute;top:36%}.gangway.left{left:4px}.gangway.right{right:4px}.gangway.on{background:var(--good)}.gangway:disabled{opacity:.5}.cabin-pixel .watch{animation:1.2s ease-in-out infinite pulse}.cabin-pixel .watch.fast{animation:.16s steps(2,end) infinite pulse}.cabin-pixel .spot{opacity:.62;animation:.18s ease-out spot-in}@keyframes spot-in{0%{opacity:0}}.cabin-pixel .arrow{animation:.9s ease-in-out infinite alternate bob}.cabin-pixel .dim{opacity:.35;transition:opacity .3s}.cabin-pixel .actor,.cabin-pixel .mover{will-change:transform}.cabin-pixel .actor{transition:transform calc(.4s * var(--k,1)) cubic-bezier(.3, .7, .3, 1)}.cabin-pixel .art{transition:opacity .1s linear calc(.28s * var(--k,1))}.cabin-pixel .actor.is-seat .art.stand,.cabin-pixel .actor.is-stand .art.seat{opacity:0}.cabin-pixel .mover.leave{animation:leave calc(.65s * var(--k,1)) ease-in both;animation-delay:calc(var(--d,0) * 1ms * var(--k,1))}.cabin-pixel .mover.enter{animation:enter calc(.6s * var(--k,1)) ease-out both;animation-delay:calc(var(--d,0) * 1ms * var(--k,1))}.cabin-pixel .mover.away{animation:away calc(.8s * var(--k,1)) ease-in-out both;animation-delay:calc(var(--d,0) * 1ms * var(--k,1))}.cabin-pixel .mover.rise{animation:fake-rise calc(.8s * var(--k,1)) ease-in-out}.cabin-pixel .mover.fade{animation:.3s ease-out both fade-in}@keyframes leave{0%{opacity:1;transform:none}18%{transform:translate(0, var(--dy1))}60%{transform:translate(var(--dx), var(--dy1));opacity:1}to{transform:translate(var(--dx), var(--dy2));opacity:0}}@keyframes enter{0%{transform:translate(var(--dx), var(--dy2));opacity:0}12%{opacity:1}45%{transform:translate(var(--dx), var(--dy1))}80%{transform:translate(0, var(--dy1))}to{opacity:1;transform:none}}@keyframes away{50%{opacity:1}to{transform:translate(var(--ax), 0);opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes fake-rise{30%,60%{transform:translateY(-5px)}}.cabin-pixel .speech{animation:.25s ease-out speech-in}@keyframes speech-in{0%{opacity:0;transform:translateY(2px)}}.cabin-pixel .speech.chat{animation:.2s ease-out both chat-in}.cabin-pixel .speech.chat.out{animation:.2s ease-in both chat-out}@keyframes chat-in{0%{opacity:0;transform:translateY(1px)}}@keyframes chat-out{to{opacity:0}}.speech-text{fill:#16202b;font-family:var(--small);font-weight:700}.cabin-pixel.sway svg{animation:1.3s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:translateY(0)rotate(0)}to{transform:translateY(1px)rotate(.2deg)}}.cabin-pixel .tunnel{animation:.45s linear infinite tunnel}.cabin-pixel .tunnel.slow{animation-duration:1.4s}.cabin-pixel .tunnel.stop{animation:none}.cabin-pixel .scn{animation:scn var(--t) linear infinite}.cabin-pixel .scn.slow{animation-duration:calc(var(--t) * 3.1)}.cabin-pixel .scn.stop{animation:none}@keyframes scn{to{transform:translateX(var(--p))}}.cabin-pixel .daylight{pointer-events:none;transition:opacity .6s}@keyframes tunnel{to{transform:translate(20px)}}.cabin-pixel .plat-in{animation:plat-in calc(.57s * var(--k,1)) cubic-bezier(.15, .6, .3, 1)}@keyframes plat-in{0%{transform:translate(-132px)}}.win-name{fill:#16202b;font-family:var(--small);font-weight:700}.cabin-pixel .door-leaf{transition:transform calc(.3s * var(--k,1)) ease-in-out}.cabin-pixel .door-leaf.to-r.open{transform:translate(15px)}.cabin-pixel .door-leaf.to-l.open{transform:translate(-15px)}.cabin-pixel .strap{transform-box:fill-box;transform-origin:50% 0}.cabin-pixel .strap.swing{animation:1.1s ease-in-out infinite alternate swing}@keyframes swing{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.train-led{margin-top:8px}.cabin-pixel .zz{animation:1.4s ease-in-out infinite alternate bob}@keyframes blink{50%{opacity:.25}}@keyframes bob{to{transform:translateY(-1.5px)}}@keyframes pulse{50%{opacity:.35}}.cabin-pixel .run-in.late.from-left{animation:run-left-late calc(.45s * var(--k,1)) cubic-bezier(.2, .7, .3, 1) calc(.45s * var(--k,1)) both}.cabin-pixel .run-in.late.from-right{animation:run-right-late calc(.45s * var(--k,1)) cubic-bezier(.2, .7, .3, 1) calc(.45s * var(--k,1)) both}@keyframes run-left-late{0%{opacity:0;transform:translate(-30px)}12%{opacity:1}}@keyframes run-right-late{0%{opacity:0;transform:translate(30px)}12%{opacity:1}}.cabin-pixel .bag-all{animation:bag-gone calc(.9s * var(--k,1)) steps(1, end) both}@keyframes bag-gone{to{opacity:0}}.cabin-pixel .bag-x{animation:bag-x calc(.45s * var(--k,1)) linear both}@keyframes bag-x{0%{transform:translateX(var(--bx))}}.cabin-pixel .bag-y{animation:bag-y calc(.45s * var(--k,1)) linear both}@keyframes bag-y{0%{transform:translateY(var(--by));animation-timing-function:cubic-bezier(.2,.6,.4,1)}45%{transform:translateY(var(--ay));animation-timing-function:cubic-bezier(.6,0,.8,.4)}to{transform:none}}.cabin-pixel .bag-spin{transform-box:fill-box;transform-origin:50%;animation:bag-spin calc(.45s * var(--k,1)) ease-out both}@keyframes bag-spin{0%{transform:rotate(-70deg)}to{transform:rotate(8deg)}}.cabin-pixel .bag-hop{transform-box:fill-box;transform-origin:50%;animation:bag-hop calc(.22s * var(--k,1)) ease-out calc(.45s * var(--k,1)) both}@keyframes bag-hop{40%{transform:translateY(-3px)rotate(-6deg)}70%{transform:translateY(0)}85%{transform:translateY(-1px)}}.cabin-pixel .dust{opacity:0;animation:dust calc(.35s * var(--k,1)) ease-out calc(.45s * var(--k,1)) both}.cabin-pixel .dust.l{--dx:-3px}.cabin-pixel .dust.r{--dx:3px}.cabin-pixel .dust.u{--dx:0px;animation-delay:calc(.5s * var(--k,1))}@keyframes dust{0%{opacity:.9;transform:translate(0)}to{opacity:0;transform:translate(var(--dx), -3px)}}.moves-bar{z-index:7;background:var(--bg);margin-top:auto;padding-bottom:8px;position:sticky;bottom:0}.tip{pointer-events:none;background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 2px var(--paper), 4px 4px 0 2px var(--shadow);margin:0;padding:8px 12px 14px;position:absolute;bottom:calc(100% + 10px);left:0;right:0}.tip:after{content:"▼";font-size:11px;animation:1s steps(2,end) infinite blink;position:absolute;bottom:1px;right:8px}.moves{padding-top:8px;display:grid}.moves.two{grid-template-columns:1fr 1fr;gap:12px}.go{position:relative;overflow:hidden}.go .drain{transform-origin:0;height:6px;animation:drain var(--ms) linear forwards;background:#ffffffbf;position:absolute;bottom:0;left:0;right:0}@keyframes drain{0%{transform:scaleX(var(--from,1))}to{transform:scaleX(0)}}.riding.paused *,.riding.paused :after{animation-play-state:paused!important}.speed{gap:3px;display:flex}.speed button{background:var(--panel);min-width:30px;height:28px;color:var(--muted);font-family:var(--small);box-shadow:2px 2px 0 var(--shadow);border:0;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:grid}.speed button.on{background:var(--paper);color:var(--ink)}.speed button:first-child.on{background:#ffd84a}.facts.rf{margin:6px 0 0;padding:4px 0;display:block}.facts.rf.none{border-color:#0000}.rf .fact{grid-template-columns:auto 1fr;align-items:center;gap:0 12px;min-height:22px;display:grid}.rf dt.blank{visibility:hidden}.rf dd .stack{text-align:right;justify-items:end}.between,.result{margin-top:32px}.between h1,.result h1{color:var(--paper);text-shadow:2px 2px 0 var(--shadow);font-size:22px}@media (prefers-reduced-motion:reduce){.cabin-pixel :not(.fade),.tip:after{animation:none!important}.cabin-pixel .actor,.cabin-pixel .art{transition:none!important}}.tripbar .cells{gap:6px;display:flex}.leg-cells i.sat{background:var(--leg);box-shadow:inset 0 -3px #00000040}.leg-cells i.lent{background:#ffd84a;box-shadow:inset 0 -3px #00000040}.bar-legend i.lent{background:#ffd84a}.tripbar .stations{font-family:var(--small);color:var(--muted);gap:6px;margin-top:4px;font-size:11px;display:flex}.line-chip-s{color:#fff;font-family:var(--small);padding:0 5px;font-size:11px;font-weight:700}.busy{margin-top:10px}.tm-door.stairs{background:#ffc400}.tm-door.transfer{background:#2f8fe8}.tm-door.both{background:linear-gradient(#ffc400 50%,#2f8fe8 50%)}.tm-sec.me:before,.tm-sec.best:after{content:"";width:10px;height:10px;box-shadow:0 0 0 1px var(--ink);margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}.tm-sec.me:before{background:var(--good);z-index:1}.tm-sec.best:after{z-index:2;background:#fff;transform:rotate(45deg)scale(.85)}.tm-sec.me.best:before{transform:translate(-4px)}.tm-sec.me.best:after{transform:translate(5px)rotate(45deg)scale(.85)}.busy .trainmap{margin-bottom:16px}.busy+.busy{margin-top:6px}.done-line{font-family:var(--small);color:var(--muted);justify-content:space-between;margin:0;font-size:11px;display:flex}.done-line b{color:#ffd84a;letter-spacing:.06em}.result h1.score{align-items:flex-end;gap:10px;margin-top:22px;font-size:33px;display:flex}.score .num{text-shadow:4px 4px 0 var(--shadow);font-size:66px;line-height:.9}.score span{padding-bottom:2px;font-size:22px;line-height:1.25}.score .num.bump{animation:.25s steps(3,end) rb-bump}@keyframes rb-bump{0%{transform:scale(1.35)}}.rbars{gap:10px;display:grid}.rb-lane{gap:4px;display:grid}.rb-lane.hidden{visibility:hidden}.rb-who{font-family:var(--small);color:var(--muted);justify-content:space-between;align-items:baseline;margin:0;font-size:12px;display:flex}.rb-who b{color:var(--paper);font-size:14px}.rb-lane.ghost .rb-who{color:#c9b26a}.rb-lane.ghost .rb-who b{color:#f2c94c}.rb-cells{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:3px;display:grid}.rb-cells i{background:#33404f;height:18px}.rb-cells i.sat{background:var(--leg);box-shadow:inset 0 -3px #00000040}.rb-cells i.lent{background:#ffd84a}.rb-cells i.cur{box-shadow:0 0 0 2px var(--paper)}.rb-lane.ghost .rb-cells i{height:12px}.rb-lane.ghost .rb-cells i.on{background:#f2c94c73}.rb-ticks{grid-template-columns:repeat(var(--n), minmax(0, 1fr));font-family:var(--small);color:var(--muted);margin-top:-4px;font-size:10px;display:grid}.rb-ticks span{white-space:nowrap}.rb-ticks span:last-child:not(:first-child){justify-self:end}.rb-legend{font-family:var(--small);color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.rb-legend i{background:#ffd84a;width:12px;height:10px}.rb-h{font-family:var(--small);color:var(--paper);text-shadow:none;margin:0;font-size:16px;font-weight:700;line-height:1.5}.rb-route{font-family:var(--small);color:var(--muted);word-break:keep-all;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.rb-route .line-chip-s{font-style:normal}.leg-learn{gap:14px;margin-top:28px;display:grid}.map-block{gap:8px;display:grid}.result .moment{margin-top:28px}@media (prefers-reduced-motion:reduce){.score .num.bump{animation:none}}.grade,.luck{font-family:var(--small);color:var(--paper);margin-top:4px;font-size:44px;font-weight:700;line-height:1.1}.luck.up{color:var(--good)}.luck.down{color:var(--danger)}.pb{margin:10px 0 0}.more{margin-top:20px}.more summary{cursor:pointer;font-family:var(--small);color:var(--muted);font-size:11px;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"▸ "}.more[open] summary:before{content:"▾ "}.quit-back{z-index:45;background:#0b1118b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.quit-box{background:var(--paper);width:100%;max-width:320px;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 2px var(--paper), 4px 4px 2px 2px var(--shadow);padding:16px}.quit-box p{font-family:var(--small);margin:0 0 14px;font-size:16px;font-weight:700}.quit-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quit-btns .primary,.quit-btns .plain-btn{min-height:48px;margin:0;padding:0 8px;font-size:16px}.plain-btn{border:2px solid var(--ink);color:var(--ink);font-family:var(--small);background:0 0;font-weight:700}.back-btn{z-index:20;top:calc(6px + env(safe-area-inset-top,0px));background:var(--panel);width:32px;height:32px;color:var(--paper);box-shadow:2px 2px 0 var(--shadow);border:0;place-items:center;padding:0;display:grid;position:fixed;left:max(8px,50vw - 212px)}.route .line{margin-right:6px;display:inline-block}.route-text{min-width:0}.route,.leg-name,.daily-route,.ix-door{word-break:keep-all;overflow-wrap:anywhere}.route.has-back{align-items:center;min-height:32px;margin-top:-10px;padding:0 92px 0 40px}.story{color:var(--paper);margin:10px 0 0}.facts{border-top:2px solid #2b3a49;border-bottom:2px solid #2b3a49;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;padding:8px 0;display:grid}.facts dt{font-family:var(--small);color:var(--muted);align-self:center;font-size:11px}.facts dd{color:var(--paper);text-align:right;margin:0}.best{font-family:var(--small);color:#ffd84a;margin:4px 0 0;font-size:11px}.home{background:var(--bg);position:fixed;inset:0;overflow:hidden}.linemap-box{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#16202b;position:absolute;inset:0;overflow:hidden}.linemap-svg{display:block}.map-label{fill:#b9c5cf;font-family:var(--small);pointer-events:none}.map-label.strong{fill:#f2f0e6}.map-label.dim{fill:#5d6b79}.tap-ring{animation:1s ease-in-out infinite pulse}.home-top{left:12px;right:12px;top:calc(10px + env(safe-area-inset-top,0px));max-width:440px;margin:0 auto;position:absolute}.home-title{margin:0 0 8px 2px}.home-title b{font-family:var(--small);color:var(--paper);text-shadow:2px 2px 0 var(--shadow);font-size:22px;font-weight:700;display:block}.home-title span{font-family:var(--small);color:var(--muted);text-shadow:1px 1px 0 var(--shadow);font-size:11px;line-height:1.4;display:block}.home .fields{margin-top:0}.home .field-row{min-height:44px}.home .field-value{font-size:16px;font-family:var(--body);font-weight:400}.home .swap{height:40px;top:22px}.sheet{max-width:440px;padding:12px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:4px solid var(--shadow);margin:0 auto;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -6px #0b111859}.sheet .journey-card{box-shadow:none;background:0 0;margin:0 0 10px;padding:0}.sheet .jc-legs{gap:6px;margin-top:8px}.sheet .wide-btn{width:100%;margin-bottom:4px}.daily{margin-bottom:12px}.daily-head{font-family:var(--small);color:var(--muted);margin:0;font-size:11px}.daily-head b{color:var(--paper)}.daily-route{color:var(--paper);align-items:center;gap:6px;margin:4px 0 10px;font-size:18px;display:flex}.daily-streak{font-family:var(--small);color:var(--muted);font-size:11px}.today{border-top:2px solid var(--shadow);align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.today-what{flex:1;min-width:0}.today-route{color:var(--paper);word-break:keep-all;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0;display:flex}.today-go{border:2px solid var(--accent);min-height:40px;color:var(--paper);font-family:var(--small);background:0 0;flex:none;padding:0 14px;font-size:14px;font-weight:700}.sheet .daily-again{width:100%;min-height:44px;margin-top:10px;font-size:16px}.again{border:2px solid var(--accent);min-height:52px;color:var(--paper);font-family:var(--small);background:0 0;margin-top:12px;font-size:18px;font-weight:700}.share-done{text-align:center;font-family:var(--small);color:var(--good);margin:6px 0 0;font-size:11px}.sheet-hint{color:var(--paper);font-family:var(--small);margin:0 0 8px}.quick{gap:6px;margin:0 -16px;padding:0 16px 4px;display:flex;overflow-x:auto}.quick-label{font-family:var(--small);color:var(--muted);flex:none;align-self:center;font-size:11px}.quick-trip{background:var(--bg);min-height:36px;color:var(--paper);box-shadow:2px 2px 0 var(--shadow);white-space:nowrap;border:0;flex:none;padding:0 10px}.quick+.quick{margin-top:6px}.mine-trip{align-items:center;gap:8px;display:inline-flex}.mine-trip i{font-style:normal;font-family:var(--small);color:#ffc400;font-size:11px}.save-commute{background:var(--panel);min-height:48px;color:var(--paper);box-shadow:3px 3px 0 var(--shadow);font-family:var(--small);border:0;margin-top:16px;font-size:16px;font-weight:700}.save-commute:disabled{box-shadow:none;color:var(--good)}.commute-head{margin-top:-10px;padding-left:40px}.commute-label{font-family:var(--small);color:var(--muted);font-size:12px;display:block}.commute-route{font-family:var(--small);color:var(--paper);word-break:keep-all;text-wrap:balance;margin:2px 0 0;font-size:22px;font-weight:700;line-height:1.3}.sheet-foot{justify-content:space-between;align-items:flex-start;gap:8px;margin-top:6px;display:flex}.sheet-foot .source-note{flex:1;min-width:0}.notes-link{color:#8aa0b3;font-family:var(--small);text-underline-offset:3px;background:0 0;border:0;flex:none;padding:0;font-size:11px;line-height:1.5;text-decoration:underline}.map-zoom{z-index:1;gap:4px;display:grid;position:absolute;right:12px}.map-zoom button{background:var(--paper);width:36px;height:36px;color:var(--ink);box-shadow:2px 2px 0 var(--shadow);border:0;font-size:20px}.bubble{background:var(--paper);min-width:200px;color:var(--ink);box-shadow:4px 4px 0 var(--shadow);z-index:3;gap:8px;padding:10px;animation:.18s ease-out pop;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 16px))}.bubble:after{content:"";left:calc(50% + var(--tail,0px) - 8px);border:8px solid #0000;border-bottom:0;border-top-color:var(--paper);position:absolute;bottom:-8px}.bubble.below{transform:translate(-50%,16px)}.bubble.below:after{border:8px solid #0000;border-top:0;border-bottom-color:var(--paper);top:-8px;bottom:auto}@keyframes pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px))scale(.96)}}.bb-name{font-family:var(--small);align-items:center;gap:6px;font-size:22px;font-weight:700;display:flex}.bb-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.bb-actions button{color:#fff;min-height:40px;font-family:var(--small);border:0;font-size:16px;font-weight:700;box-shadow:0 3px #00000059}.bb-from{background:#1f9d55}.bb-to{background:#d9533a}.bb-actions button:disabled{opacity:.3}.flag{font-family:var(--small);color:var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--shadow);white-space:nowrap;pointer-events:none;z-index:2;align-items:center;gap:4px;padding:2px 6px 2px 2px;font-size:11px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.flag span{color:#fff;padding:0 4px}.flag.from span{background:#1f9d55}.flag.to span{background:#d9533a}.flag:after{content:"";background:var(--paper);width:2px;height:6px;position:absolute;bottom:-6px;left:calc(50% - 1px)}.district-label{fill:#8597a8;opacity:.3;font-family:var(--small);pointer-events:none;letter-spacing:.1em;font-weight:700}.wave{animation:2.4s steps(4,end) infinite wave}.wave.slow{animation-duration:3.6s;animation-direction:reverse}@keyframes wave{to{stroke-dashoffset:-30px}}.blink-light{animation:2.4s step-end infinite blink-light}@keyframes blink-light{50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.wave,.blink-light{animation:none}}.sound-btn{z-index:20;top:calc(6px + env(safe-area-inset-top,0px));background:var(--panel);width:32px;height:32px;color:var(--paper);box-shadow:2px 2px 0 var(--shadow);border:0;place-items:center;padding:0;display:grid;position:fixed;right:max(8px,50vw - 212px)}.sound-btn[aria-pressed=false]{color:var(--muted)}.route,.home-title b{padding-right:96px}.feedback-btn{z-index:20;top:calc(6px + env(safe-area-inset-top,0px));background:var(--panel);height:32px;color:var(--paper);font-family:var(--small);box-shadow:2px 2px 0 var(--shadow);border:0;padding:0 8px;font-size:11px;position:fixed;right:calc(max(8px,50vw - 212px) + 38px)}.cabin-stage{position:relative}.burst{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;inset:0}.burst b{font-family:var(--small);white-space:nowrap;text-shadow:3px 3px 0 var(--shadow), -2px 0 0 var(--shadow), 2px 0 0 var(--shadow), 0 -2px 0 var(--shadow);animation:burst-pop calc(.4s * var(--k,1)) cubic-bezier(.2, 1.6, .4, 1) both, burst-out calc(.25s * var(--k,1)) ease-in calc(.7s * var(--k,1)) forwards;font-size:44px;font-weight:700;line-height:1.1}.burst.win b{color:#ffd84a}.burst.lose b{color:var(--danger);animation:burst-drop calc(.3s * var(--k,1)) ease-out both, burst-out calc(.25s * var(--k,1)) ease-in calc(.7s * var(--k,1)) forwards;font-size:30px}.burst .spark{opacity:0;width:6px;height:6px;animation:spark calc(.9s * var(--k,1)) ease-out both;margin:-3px;position:absolute;top:50%;left:50%}.burst .flash{opacity:0;background:#fff;animation:.25s ease-out flash;position:absolute;inset:0}@keyframes burst-pop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.25)}to{transform:scale(1)}}@keyframes burst-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes burst-out{to{opacity:0}}@keyframes spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--x), var(--y)) scale(.4);opacity:0}}@keyframes flash{0%{opacity:.45}to{opacity:0}}.cabin-stage.shake-win{animation:.35s steps(7,end) shake-win}.cabin-stage.shake-lose{animation:.4s steps(8,end) shake-lose}@keyframes shake-win{20%{transform:translate(1px)}40%{transform:translate(-1px)}60%{transform:translate(1px)}80%{transform:translate(-1px)}}@keyframes shake-lose{25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}}@media (prefers-reduced-motion:reduce){.burst,.cabin-stage{animation:none!important}.status.tense{animation:none}}.sheet-layer{z-index:40;padding-bottom:var(--kb,0px);background:#0b111899;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.pop-sheet{width:100%;max-width:440px;max-height:calc(var(--vvh,100dvh) - 24px);overscroll-behavior:contain;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:4px solid var(--shadow);animation:.18s ease-out sheet-up;overflow-y:auto;box-shadow:0 -6px #0b111859}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.pop-sheet{animation:none}}.pop-sheet header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pop-sheet h2{color:var(--paper);letter-spacing:0;margin:0;font-size:16px}.sheet-close{width:36px;height:36px;color:var(--muted);background:0 0;border:0;margin-right:-8px;font-size:22px;line-height:1}.fb-text,.fb-contact{border:2px solid var(--shadow);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:none;border-radius:0;padding:8px 10px;font-size:16px;display:block}.fb-text::placeholder,.fb-contact::placeholder{color:#6f8293;font-size:14px}.fb-contact{margin-top:8px;font-size:14px}.fb-attached{font-family:var(--small);color:#8aa0b3;margin-top:8px;font-size:11px}.fb-attached summary{cursor:pointer}.fb-attached dl{grid-template-columns:auto 1fr;gap:0 10px;margin:6px 0 0;display:grid}.fb-attached dt{color:var(--muted)}.fb-attached dd{overflow-wrap:anywhere;min-width:0;color:var(--text);margin:0}.fb-error{color:var(--danger);font-family:var(--small);margin:8px 0 0}.fb-send{margin-top:12px;margin-bottom:4px;font-size:18px}.fb-thanks{text-align:center;font-family:var(--small);color:var(--good);margin:24px 0 28px;font-size:22px;font-weight:700}.notes article+article{margin-top:16px}.notes h3{font-family:var(--small);color:var(--paper);margin:0 0 4px;font-size:16px}.notes time{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.notes ul{margin:0;padding-left:18px}.notes li{margin:2px 0}.share-back{z-index:50;background:#0b1118b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.share-sheet{overscroll-behavior:contain;width:100%;max-width:440px;max-height:94dvh;padding:14px 16px max(12px, env(safe-area-inset-bottom));background:var(--panel);border-top:4px solid var(--shadow);flex-direction:column;gap:10px;display:flex;overflow-y:auto;box-shadow:0 -6px #0b111859}.share-pic{flex:none;justify-content:center;align-items:center;min-height:80px;display:flex}.share-pic img{aspect-ratio:4/5;width:auto;max-width:100%;height:auto;max-height:42dvh;box-shadow:4px 4px 0 var(--shadow);image-rendering:pixelated;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;display:block}.share-pic.large img{width:100%;max-height:none}.share-note{text-align:center;font-family:var(--small);color:var(--paper);margin:0;font-size:11px}.share-note.ok{color:var(--good)}.share-sheet .share-btn{justify-content:center;align-items:center;width:100%;min-height:48px;margin:0;text-decoration:none;display:flex}.share-apps{grid-template-columns:repeat(3,1fr);gap:10px 4px;padding:4px 0;display:grid}.share-app{min-width:0;color:var(--muted);font-family:var(--small);white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:2px 0;font-size:11px;text-decoration:none;display:flex}.share-app:disabled{opacity:.5}.share-logo{width:52px;height:52px;box-shadow:3px 3px 0 var(--shadow);border-radius:50%;place-items:center;display:grid;overflow:hidden}.share-logo svg{width:50%;height:50%}.share-logo.kakao{color:#fee500;background:#191919}.share-logo.facebook{color:#0866ff;background:#fff}.share-logo.kakao svg,.share-logo.facebook svg{width:100%;height:100%}.share-logo.instagram{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.share-logo.threads,.share-logo.x{color:#fff;background:#000}.share-logo.x svg{width:42%;height:42%}.share-logo.link{color:var(--paper);background:#3a4756}.share-text{background:var(--bg);width:100%;color:var(--paper);font:inherit;resize:none;border:2px solid #3a4756;padding:8px;font-size:11px}.share-close{margin:0}.foot-links{flex:none;justify-items:end;gap:2px;display:grid}.dex-result{margin:14px auto 0;display:block}.cutin{z-index:40;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0b11188c;align-content:start;padding-top:22dvh;animation:1.8s linear both cutin-dim;display:grid;position:fixed;inset:0}.cutin-band{border-top:3px solid var(--paper);border-bottom:3px solid var(--paper);min-height:212px;box-shadow:0 6px 0 var(--shadow);background:linear-gradient(90deg,#0b0f14 70%,#1b2835);align-items:center;gap:8px;padding:0 0 0 8px;animation:1.8s linear both cutin-band;display:flex;position:relative}.cutin-art{flex:none;align-self:flex-end;margin-bottom:6px;animation:1.8s linear both cutin-art}.portrait{height:var(--ph);align-items:flex-end;gap:4px;display:inline-flex}.portrait img{object-fit:contain;object-position:bottom;width:auto;max-width:46vw;height:100%}.portrait.silhouette img{filter:brightness(0)}.cutin-text{flex:0 auto;justify-items:start;gap:4px;min-width:0;display:grid}.cutin-text small{font-family:var(--small);color:#ffd84a;font-size:11px}.cutin-text b{font-family:var(--small);color:var(--paper);text-shadow:3px 3px 0 var(--shadow);white-space:nowrap;font-size:33px;font-weight:700;line-height:1.15}.cutin-text b.long{font-size:28px}.cutin-say{font-family:var(--small);background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--shadow);padding:3px 10px;font-size:16px;font-weight:700;line-height:1.3}.cutin-slash{background:#d0392f;flex:none;align-self:stretch;width:26px;margin-left:16px;transform:skew(-16deg);box-shadow:8px 0 #8e2219}.tag-방해 .cutin-text small{color:#ff8a6a}.tag-행운 .cutin-text small{color:#3ee08a}.tag-단골 .cutin-text small{color:#8fc4ff}@keyframes cutin-dim{0%{opacity:0}5%{opacity:1}95%{opacity:1}to{opacity:0}}@keyframes cutin-band{0%{transform:translate(-105%)}6%{transform:none}94%{opacity:1;transform:none}to{opacity:0;transform:translate(6%)}}@keyframes cutin-art{0%,4%{transform:translate(-40px)}9%{transform:none}}.dex{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.dex li{text-align:center;background:#1b2835;align-content:start;justify-items:center;gap:6px;padding:12px 6px 10px;display:grid}.dex li.unmet{background:#131c26}.dex-tabs{border:2px solid #2a3746;grid-template-columns:1fr 1fr;margin-bottom:12px;display:grid}.dex-tabs button{min-height:44px;color:var(--muted);font-family:var(--small);background:0 0;border:0;font-size:13px}.dex-tabs button.on{background:var(--paper);color:var(--ink);font-weight:700}.dex.days li{padding:0}.dex.days li.unmet{padding:12px 6px 10px}.day-shadow{background:#0b0f14;width:40px;height:56px}.dex-hint{font-family:var(--small);color:var(--muted);word-break:keep-all;font-size:12px}.day-open{background:var(--paper);width:100%;color:var(--ink);font-family:var(--small);border:0;justify-items:center;gap:6px;padding:12px 6px 10px;display:grid}.dex .day-open b{color:var(--ink);word-break:keep-all;font-size:13px;line-height:1.4}.dex .day-open .dex-count{color:#4a5563}.dex li b{font-family:var(--small);color:var(--paper);font-size:16px;font-weight:700}.dex li.unmet b{color:var(--muted);font-size:22px}.dex q{quotes:"“" "”";font-family:var(--small);background:var(--paper);color:var(--ink);padding:2px 6px;font-size:11px;line-height:1.4}.dex-count{font-family:var(--small);color:var(--muted);font-size:11px}.dex-group{font-family:var(--small);color:var(--muted);margin:14px 0 8px;font-size:12px;font-weight:700}.dex-group:first-child{margin-top:0}.dex-line{font-style:normal}.dex-line.any{background:#4a5866}.met-row{margin:14px 0 0}.met-row h2{margin:0 0 6px}.met-row ul{flex-wrap:wrap;align-items:flex-end;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.met-row li{justify-items:center;gap:4px;display:grid}.met-row b{font-family:var(--small);color:var(--paper);font-size:11px;font-weight:700}.moment{word-break:keep-all;overflow-wrap:anywhere;gap:10px;margin-top:10px;display:grid}.moment-scene{aspect-ratio:128/56;width:100%;height:auto;box-shadow:4px 4px 0 var(--shadow);display:block}.moment-me{font-family:var(--small);fill:#f2d34a;font-size:6px;font-weight:700}.moment-say{font-family:var(--small);fill:#16202b;font-size:5px;font-weight:700}.moment-head{font-family:var(--small);color:var(--paper);margin:4px 0 0;font-size:22px;font-weight:700;line-height:1.35}.moment-sub{color:#b8c4d0;margin:0;font-size:15px;line-height:1.6}.people{word-break:keep-all;overflow-wrap:anywhere;margin-top:16px}.people h2{color:var(--paper);letter-spacing:0;font-size:14px;font-weight:700}.people ul{margin:0;padding:0;list-style:none}.people li{border-top:1px solid #2a3746;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.people li:last-child{border-bottom:1px solid #2a3746}.people-who{gap:3px;min-width:0;display:grid}.people-who b{font-family:var(--small);color:var(--paper);font-size:14px}.people-who span{color:#b8c4d0;font-size:13px}.people-at{font-family:var(--small);color:var(--paper);text-align:right;justify-items:end;gap:4px;font-size:14px;display:grid}.story-open{color:#0b0f14;min-height:32px;font-family:var(--small);white-space:nowrap;background:#f2c94c;border:0;padding:0 10px;font-size:12px;font-weight:700}.cut{z-index:42;font-family:var(--small);color:var(--paper);-webkit-user-select:none;user-select:none;cursor:pointer;background:#0b0f14;position:fixed;inset:0}.cut-in{background:var(--bg);max-width:440px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}.cut-scene{height:100%;animation:.2s steps(3,end) both cut-fade}.cut-art{aspect-ratio:64/92;background:var(--bg);width:100%;max-height:calc(100dvh - 200px);overflow:hidden}.cut-art svg{width:100%;height:100%;display:block}.cut-skip{z-index:2;right:16px;top:calc(16px + env(safe-area-inset-top,0px));height:44px;color:var(--paper);font-family:var(--small);background:#0b0f14b3;border:0;padding:0 14px;font-size:14px;position:absolute}.cut-cap{word-break:keep-all;overflow-wrap:anywhere;justify-items:start;gap:10px;padding:24px 16px 0;display:grid}.cut-chip{color:#0b0f14;background:#f2c94c;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.4}.cut-how{color:#9aa8b8;font-size:14px}.cut-label{font-size:22px;font-weight:700;line-height:1.35}.cut-tip{background:var(--paper);min-height:112px;color:var(--ink);font-family:var(--body);word-break:keep-all;overflow-wrap:anywhere;box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 2px var(--paper), 4px 4px 0 2px var(--shadow);margin:24px 14px 0;padding:14px 16px 24px;font-size:16px;line-height:1.6;position:relative}.cut-tip p{margin:0}.cut-tip:after{content:"▼";opacity:0;font-size:11px;position:absolute;bottom:4px;right:10px}.cut-tip.done:after{opacity:1;animation:1s steps(2,end) infinite blink}.cut-rest{visibility:hidden}.cut-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cut-3{height:100%;padding:clamp(40px, 11dvh, 96px) 16px calc(16px + env(safe-area-inset-bottom,0px));word-break:keep-all;overflow-wrap:anywhere;cursor:default;background-image:radial-gradient(#1b2835 2px,#0000 2px);background-size:18px 18px;flex-direction:column;align-items:center;gap:14px;display:flex}.cut-bubble{background:var(--paper);max-width:330px;color:var(--ink);text-align:center;border:3px solid #0b0f14;padding:12px 16px;font-size:20px;font-weight:700;line-height:1.45;position:relative}.cut-bubble q{quotes:"“" "”"}.cut-bubble:after{content:"";border:12px solid #0000;border-top:14px solid #0b0f14;border-bottom:0;position:absolute;top:100%;left:calc(50% - 12px)}.cut-faceWrap{margin-top:8px;position:relative}.cut-face{background:#1f3a5c;justify-content:center;align-items:flex-end;padding:12px 20px 0;line-height:0;display:flex}.cut-portrait{width:auto;height:min(224px,26dvh);display:block}.cut-stamp{color:#f2c94c;letter-spacing:1px;white-space:nowrap;background:#0b0f1459;border:4px solid #f2c94c;padding:6px 12px;font-size:20px;font-weight:700;animation:.25s steps(4,end) both cut-stamp;position:absolute;top:38%;right:-44px;transform:rotate(-12deg)}.cut-name{text-align:center;justify-items:center;gap:6px;display:grid}.cut-name b{font-size:22px;line-height:1.35}.cut-name span{color:#9aa8b8;font-size:14px}.cut-done{margin-top:auto}@keyframes cut-fade{0%{opacity:0}}@keyframes cut-stamp{0%{opacity:0;transform:rotate(-12deg)scale(1.8)}}.cut-climb{animation:cut-climb var(--dur) step-end both}@keyframes cut-climb{0%{transform:none}25%{transform:translate(8px,-7px)}50%{transform:translate(16px,-14px)}75%,to{transform:translate(24px,-21px)}}.cut-walk{animation:cut-walk var(--dur) steps(26, end) both}@keyframes cut-walk{to{transform:translate(26px)}}.cut-leg-a{animation:.5s step-end infinite cut-leg-a}.cut-leg-b{animation:.5s step-end infinite cut-leg-b}@keyframes cut-leg-a{50%{visibility:hidden}}@keyframes cut-leg-b{0%{visibility:hidden}50%{visibility:visible}}.cut-cloud{animation:14s linear infinite alternate cut-cloud}@keyframes cut-cloud{to{transform:translate(5px)}}.cut-fly{animation:8s linear both cut-fly}@keyframes cut-fly{0%{transform:translate(-6px)}to{transform:translate(8px)}}.cut-art .scn{animation:scn var(--t) linear infinite}.cut-art .scn.stop{animation:none}@media (prefers-reduced-motion:reduce){.cut-scene,.cut-stamp,.cut-climb,.cut-walk,.cut-leg-a,.cut-leg-b,.cut-cloud,.cut-fly,.cut-art .scn,.cut-tip.done:after{animation:none!important}}.home.intro .home-top,.home.intro .sheet{visibility:hidden}.title-layer{z-index:30;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:#16202b8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.title-card{background:var(--panel);width:100%;max-width:400px;max-height:100%;box-shadow:4px 4px 0 var(--shadow);padding:14px 14px 16px;overflow-y:auto}.title-scene{aspect-ratio:96/76;object-fit:contain;width:100%;height:auto;max-height:28dvh;box-shadow:3px 3px 0 var(--shadow);display:block}.title-name{color:var(--paper);text-shadow:3px 3px 0 var(--shadow);letter-spacing:.02em;margin-top:14px;font-size:36px;line-height:1.1}.title-kind{font-family:var(--small);color:#ffd84a;margin:6px 0 0;font-size:14px}.title-lede{font-family:var(--small);color:var(--paper);word-break:keep-all;margin:10px 0 0;font-size:18px;font-weight:700;line-height:1.4}.title-fields{background:var(--paper);box-shadow:4px 4px 0 var(--shadow);margin-top:14px}.title-field{color:#7a8189;width:100%;min-height:48px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-size:16px;display:flex}.title-field+.title-field{border-top:2px dashed #c9c4b4}.title-data{color:var(--muted);word-break:keep-all;margin:10px 0 0;font-size:12px}.title-say{font-family:var(--small);fill:#16202b;font-size:5px;font-weight:700}.title-plate{font-family:var(--small);fill:#16202b;font-size:5.5px;font-weight:700}.t-b,.t-d,.t-ok{opacity:0}.title-scene .t-flow{animation:.6s linear infinite t-flow}.title-scene .t-lights{animation:6s step-end infinite t-lights}.title-scene .t-plate{animation:6s linear infinite t-plate}.title-scene .t-a{animation:6s step-end infinite t-a}.title-scene .t-b{animation:6s step-end infinite t-b}.title-scene .t-c{animation:6s step-end infinite t-c}.title-scene .t-d{animation:6s step-end infinite t-d}.title-scene .t-q{animation:6s step-end infinite t-q}.title-scene .t-ok{animation:6s step-end infinite t-ok}@keyframes t-flow{0%{transform:translate(0)}to{transform:translate(-36px)}}@keyframes t-lights{0%{opacity:1}30%{opacity:0}92%{opacity:1}}@keyframes t-plate{0%,22%{opacity:0;transform:translate(60px)}23%{opacity:1;transform:translate(60px)}32%{opacity:1;transform:translate(0)}88%{opacity:1;transform:translate(0)}92%{opacity:1;transform:translate(-64px)}93%,to{opacity:0;transform:translate(-64px)}}@keyframes t-a{0%{opacity:1}42%{opacity:0}}@keyframes t-b{0%{opacity:0;transform:translate(0)}42%{opacity:1;transform:translate(0)}48%{opacity:1;transform:translate(8px)}54%{opacity:1;transform:translate(16px)}60%{opacity:1;transform:translate(26px)}66%{opacity:1;transform:translate(38px)}70%{opacity:0;transform:translate(38px)}}@keyframes t-c{0%{opacity:1}58%{opacity:0}}@keyframes t-d{0%{opacity:0}58%{opacity:1}}@keyframes t-q{0%{opacity:0}6%{opacity:1}42%{opacity:0}}@keyframes t-ok{0%{opacity:0}60%{opacity:1}90%{opacity:0}}@media (prefers-reduced-motion:reduce){.title-scene *{animation:none!important}.title-scene .t-plate{opacity:1;transform:none}.title-scene .t-lights{opacity:0}}.ts{gap:6px;display:grid}.ts-dir{font-family:var(--small);color:var(--muted);margin:0;font-size:11px}.ts-svg{width:100%;font-family:var(--small);display:block}.ts-car{fill:var(--muted);font-size:9.5px}.ts-pin{fill:#16202b;font-size:10px;font-weight:700}.ts-body{transition:transform 1.4s cubic-bezier(.15,.75,.3,1)}.ts-body.away{transform:translateX(var(--w))}.ts-blink>*{animation:1.2s step-end both ts-blink}@keyframes ts-blink{0%,33%,66%{opacity:1}16%,50%,83%{opacity:0}to{opacity:1}}.ts-map{display:grid}.ts-train,.ts-rows{position:relative}.ts-band{pointer-events:none;position:absolute;bottom:0}.ts-band-best{border-left:2px solid #f2c94c;border-right:2px solid #f2c94c}.ts-band-me{border-left:2px dashed var(--paper);border-right:2px dashed var(--paper);opacity:.7}.ts-strips{transition:opacity .4s}.ts-strips.off{opacity:0;pointer-events:none}.ts-rows{flex-direction:column;gap:7px;padding-top:12px;display:flex}.ts-row{gap:3px;display:grid}.ts-row-head{font-family:var(--small);color:var(--paper);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:700;display:flex}.ts-row.quiet .ts-row-head{color:#5f7183;font-size:11px;font-weight:400}.ts-why{color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:400;display:inline-flex}.ts-why i{color:#fff;place-items:center;min-width:14px;height:14px;padding:0 2px;font-size:10px;font-style:normal;font-weight:700;display:grid}.ts-strip{width:100%;height:12px;display:block}.ts-row.quiet .ts-strip{height:5px}.ts-fold{z-index:1;width:100%;min-height:30px;color:var(--muted);font-family:var(--small);text-align:left;cursor:pointer;background:#1a2633;border:1px dashed #3d5266;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:flex;position:relative}.ts-fold:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin-left:auto;transform:translateY(-2px)rotate(45deg)}.ts-fold:hover,.ts-fold:focus-visible{color:var(--paper);border-color:var(--muted)}.ts-scale{font-family:var(--small);color:var(--muted);align-items:center;gap:6px;margin:12px 0 0;font-size:11px;display:flex}.ts-scale b{background:linear-gradient(90deg, var(--cell0), var(--good));width:90px;height:8px}@media (prefers-reduced-motion:reduce){.ts-body{transition:none}.ts-blink>*{animation:none}.ts-strips{transition:none}}.tw{margin:16px 0 20px}.tw-svg{width:100%;font-family:var(--small);display:block}.tw-pin{fill:#16202b;font-size:9px;font-weight:700}.tw-sign{fill:#fff;font-size:7px;font-weight:700}.tw-me-label{fill:#f2d34a;font-size:8px;font-weight:700}.ads-page{max-width:440px;padding:24px 16px max(32px, env(safe-area-inset-bottom));word-break:keep-all;overflow-wrap:break-word;margin:0 auto}.ads-page h1{color:var(--paper);text-shadow:3px 3px 0 var(--shadow);font-size:26px}.ads-page .sub{margin-top:12px}.ads-perks{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.ads-perks li{background:var(--panel);box-shadow:3px 3px 0 var(--shadow);gap:2px;min-width:0;padding:10px 12px;display:grid}.ads-perks b{font-family:var(--small);color:var(--paper)}.ads-perks span{font-family:var(--small);color:var(--muted);font-size:11px;line-height:1.5}.ads-board{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--shadow);margin-top:20px;padding:14px}.ads-board h2{color:#5b6570}.ads-prices{border-collapse:collapse;width:100%}.ads-prices th{font-family:var(--small);color:#5b6570;text-align:left;border-bottom:2px solid var(--ink);padding:0 0 4px;font-size:11px;font-weight:400}.ads-prices td{font-family:var(--small);vertical-align:top;border-bottom:2px dashed #c9c4b4;padding:8px 8px 8px 0;font-weight:700}.ads-prices .num,.ads-prices th:last-child{text-align:right;white-space:nowrap;padding-right:0}.ads-note{font-family:var(--small);color:#5b6570;margin:8px 0 0;font-size:11px}.ads-field{border:0;min-width:0;margin:0 0 14px;padding:0;display:block}.ads-field legend,.ads-label{font-family:var(--small);color:#5b6570;margin-bottom:4px;padding:0;font-size:11px;display:block}.ads-field input:not([type=radio]):not([type=checkbox]):not([type=color]):not([type=file]){border:2px solid var(--ink);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:6px 10px;font-size:16px}.ads-field input[aria-invalid=true]{border-color:var(--danger)}.ads-field input[type=file]{width:100%;color:var(--ink);font-size:13px}.ads-color input{border:2px solid var(--ink);background:#fff;width:64px;height:44px;padding:2px}.ads-choices{flex-wrap:wrap;gap:8px;display:flex}.ads-choices label{border:2px solid var(--ink);min-height:44px;font-family:var(--small);cursor:pointer;background:#fff;flex:auto;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:flex;position:relative}.ads-choices label.on{background:var(--ink);color:var(--paper)}.ads-choices input{opacity:0;pointer-events:none;position:absolute}.ads-choices label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ads-hint{font-family:var(--small);color:#5b6570;margin:6px 0 0;font-size:11px}.ads-error{font-family:var(--small);color:#b3321e;margin:6px 0 0;font-size:11px}.ads-suggest{border:2px solid var(--ink);background:#fff;border-top:0;margin:0;padding:0;list-style:none}.ads-suggest button{width:100%;min-height:44px;color:var(--ink);text-align:left;font-family:var(--small);background:0 0;border:0;padding:0 10px;font-weight:700}.ads-suggest button:hover,.ads-suggest button:focus-visible{background:#e6e2d3}.ads-preview{background:#0b0f14;margin:0 0 16px;padding:12px}.ads-preview .led{margin-top:0}.ads-poster{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.ads-poster svg{max-width:100%;display:block}.ads-poster figure{margin:0}.ads-poster figcaption{font-family:var(--small);color:var(--muted);margin-top:4px;font-size:11px}.ads-poster .ads-hint{color:var(--muted);flex-basis:100%;margin:0}.ads-consent{background:#e6e2d3;margin:4px 0 14px;padding:10px 12px}.ads-consent dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;font-size:13px;line-height:1.5;display:grid}.ads-consent dt{font-family:var(--small);font-weight:700}.ads-consent dd{margin:0}.ads-check{min-height:44px;font-family:var(--small);cursor:pointer;align-items:center;gap:10px;font-weight:700;display:flex}.ads-check input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:0}.ads-total{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 12px;display:flex}.ads-total span{font-family:var(--small);color:#5b6570;font-size:11px}.ads-total b{font-family:var(--small);font-size:22px}.ads-total small{font-family:var(--small);color:#5b6570;flex-basis:100%;font-size:11px}.ads-board .primary{margin-top:8px;margin-bottom:0}.ads-steps{gap:4px;margin:0;padding-left:22px;display:grid}.ads-pay{grid-template-columns:auto 1fr;gap:0 14px;margin:0;display:grid}.ads-pay dt{font-family:var(--small);color:#5b6570;border-bottom:2px dashed #c9c4b4;align-self:center;padding:10px 0;font-size:11px}.ads-pay dd{border-bottom:2px dashed #c9c4b4;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin:0;padding:6px 0;display:flex}.ads-pay b{font-family:var(--small);min-width:0;font-size:16px}.ads-copy{border:2px solid var(--ink);min-height:36px;color:var(--ink);font-family:var(--small);background:#fff;flex:none;padding:0 10px;font-size:11px}.ads-foot{font-family:var(--small);color:var(--muted);margin-top:24px;font-size:11px}.ads-foot p{margin:0 0 8px}.ads-foot b{color:var(--paper)}.ads-foot nav{gap:16px;display:flex}.ads-foot a{color:var(--muted);align-items:center;min-height:44px;display:inline-flex}.ads-preview{--small:"Galmuri11 Full", "Galmuri11", "Apple SD Gothic Neo", "Malgun Gothic", monospace}.ads-lines label{padding:0 8px}.ads-prices td,.ads-prices th{padding-right:6px}.ads-prices th:last-child,.ads-prices td:last-child{padding-right:0}.ads-guarantee{margin:10px 0 0}.ads-count{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ads-count li{border-left:4px solid var(--ink);padding-left:12px}.ads-avg{grid-template-columns:auto 1fr;align-items:baseline;gap:0 12px;margin:0 0 12px;display:grid}.ads-avg span{font-family:var(--small);color:#5b6570;font-size:11px}.ads-avg b{font-family:var(--small);font-size:22px}
