:root{--green: #9bc51b;--green-bright: #c7f43a;--ink: #07130f;--paper: #f5f3eb;--muted: #839088;--red: #ff5353;--go-coral: #ec6848;--panel: rgba(8, 24, 18, .88)}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;background:var(--ink)}body{overflow:hidden;color:var(--paper);font-family:Outfit,sans-serif}button,input{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-tile{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas,.leaflet-map-pane svg{z-index:100}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-tooltip{position:absolute;white-space:nowrap;pointer-events:none}.game{position:relative;width:100vw;height:100dvh;min-height:620px;overflow:hidden;background:radial-gradient(circle at 50% 43%,#173226 0,#0b1e17 45%,#06100c)}.topbar{position:absolute;z-index:20;top:0;left:0;right:0;height:76px;padding:0 34px;display:grid;grid-template-columns:1fr auto;align-items:center;pointer-events:none}.brand{display:flex;align-items:center;gap:11px;padding:0;border:0;background:none;cursor:pointer;text-align:left;width:max-content;pointer-events:auto;color:#fff;text-shadow:0 2px 4px rgba(5,25,15,.78),0 3px 14px rgba(5,25,15,.7)}.brand-mark{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:5px;color:#171916;background:var(--go-coral);box-shadow:0 2px 12px #3e140a4d;text-shadow:none;overflow:hidden}.brand-mark:before{content:"";position:absolute;inset:5.5px;background:#fffffff5}.brand .brand-mark b{position:relative;z-index:1;font:700 15px/.9 Outfit;letter-spacing:-.055em}.brand b,.brand small{display:block;line-height:1.05}.brand b{font-size:14px;letter-spacing:.045em}.brand small{margin-top:4px;color:#edf4ee;font:500 10px Noto Sans JP;letter-spacing:.12em}.trip-status{display:flex;align-items:center;gap:14px;font:500 11px DM Mono;letter-spacing:.13em;color:#d8dfda}.trip-status span:first-child{color:var(--green-bright)}.status-divider{width:30px;height:1px;background:#607067}.top-actions{justify-self:end;display:flex;gap:8px;pointer-events:auto}.icon-button{width:38px;height:38px;border:1px solid rgba(23,58,41,.2);border-radius:50%;background:#f7faf1db;color:#173a29;box-shadow:0 2px 12px #05190f33;cursor:pointer;transition:.2s}.icon-button[hidden]{display:none}.icon-button:hover{border-color:var(--green);background:#fff}.leaderboard-button{font-size:15px}.leaderboard-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411;box-shadow:0 0 0 3px #9bc51b24,0 2px 12px #05190f33}.journal-button{position:relative}.journal-button span{position:absolute;left:11px;top:10px;width:16px;height:18px;border:1.7px solid currentColor;border-radius:2px 4px 4px 2px}.journal-button span:before{position:absolute;left:3px;top:3px;width:8px;height:1.5px;background:currentColor;box-shadow:0 4px currentColor,0 8px currentColor;content:"";opacity:.72}.journal-button span:after{position:absolute;left:-4px;top:-1.7px;width:3px;height:18px;border:1.7px solid currentColor;border-right:0;border-radius:2px 0 0 2px;content:""}.journal-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411;box-shadow:0 0 0 3px #9bc51b24,0 2px 12px #05190f33}.chat-button{position:relative;--chat-dot: #f7faf1}.chat-button span{position:absolute;left:9px;top:10px;width:20px;height:15px;border-radius:8px 8px 8px 3px;background:currentColor;filter:drop-shadow(0 1px 1px rgba(16,43,29,.14));transition:transform .2s ease}.chat-button span:before{position:absolute;left:5px;top:6px;width:3px;height:3px;border-radius:50%;background:var(--chat-dot);box-shadow:4px 0 var(--chat-dot),8px 0 var(--chat-dot);content:""}.chat-button span:after{position:absolute;left:2px;bottom:-5px;width:8px;height:6px;background:currentColor;clip-path:polygon(0 0,100% 0,0 100%);content:""}.chat-button:hover span{transform:translateY(-1px)}.chat-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411;box-shadow:0 0 0 3px #9bc51b24,0 2px 12px #05190f33}.chat-button.active{--chat-dot: #eff7d5}.chat-button.unread{border-color:#c34d47;color:#a83232;background:#fff0ed;box-shadow:0 0 0 3px #c34d4726,0 2px 12px #05190f33}.chat-button.unread{--chat-dot: #fff0ed}.chat-button.unread:after{position:absolute;top:-2px;right:-1px;width:9px;height:9px;border:2px solid #f7faf1;border-radius:50%;background:#d74d49;box-shadow:0 0 8px #d74d49a6;content:""}.settings-button{font-size:18px;line-height:1}.settings-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411;box-shadow:0 0 0 3px #9bc51b24,0 2px 12px #05190f33}.about-button{font:italic 600 17px/1 Outfit}.about-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411;box-shadow:0 0 0 3px #9bc51b24,0 2px 12px #05190f33}.statistics-button{position:relative}.statistics-button span,.statistics-button span:before,.statistics-button span:after{position:absolute;bottom:10px;width:3px;border-radius:2px 2px 0 0;background:currentColor;content:""}.statistics-button span{left:17px;height:15px}.statistics-button span:before{left:-7px;bottom:0;height:8px}.statistics-button span:after{left:7px;bottom:0;height:11px}.statistics-button.active{border-color:#9bc51b;background:#eff7d5;color:#4f7411}.now-playing{position:absolute;left:50%;top:14px;min-width:210px;max-width:min(360px,calc(100vw - 290px));padding:8px 18px 9px;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:#f7faf1e6;color:#173a29;box-shadow:0 5px 22px #05190f33;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-9px);transition:opacity .35s,transform .35s}.now-playing.visible{opacity:1;transform:translate(-50%)}.now-playing>span{display:flex;justify-content:center;align-items:center;gap:6px;color:#6d7b72;font:500 7px DM Mono;letter-spacing:.17em}.now-playing>span i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green)}.now-playing strong,.now-playing small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-playing strong{margin-top:2px;font:600 13px Outfit;letter-spacing:.025em}.now-playing small{margin-top:1px;color:#77847c;font:500 9px DM Mono}.left-panel-stack{position:absolute;z-index:12;top:84px;left:34px;width:258px;display:flex;flex-direction:column;gap:10px}.mission-board{width:100%;padding:13px 14px 12px;border:1px solid rgba(255,255,255,.52);border-radius:5px;background:#f7faf1e0;color:#31483b;box-shadow:0 7px 24px #12312021;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mission-board[hidden]{display:none}.mission-board>p{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#6c7b72;font:500 8px DM Mono;letter-spacing:.18em}.mission-board>p i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px #9bc51ba6}.mission-summary{display:flex;align-items:baseline;gap:7px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(59,91,72,.12)}.mission-summary strong{color:#436a18;font:600 14px DM Mono;letter-spacing:-.04em}.mission-summary span{color:#89958e;font:500 7.5px DM Mono;letter-spacing:.1em;text-transform:uppercase}.right-panel-stack{position:absolute;z-index:12;top:84px;right:34px;width:292px;display:flex;flex-direction:column;gap:10px;pointer-events:none}.side-panel{width:100%;padding:13px 14px 12px;border:1px solid rgba(255,255,255,.52);border-radius:5px;background:#f7faf1e6;color:#31483b;box-shadow:0 7px 24px #12312021;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.side-panel[hidden]{display:none}.side-panel>p{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:#6c7b72;font:500 8px DM Mono;letter-spacing:.18em}.side-panel>p i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px #9bc51ba6}.statistics-list{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px;padding-top:9px;border-top:1px solid rgba(59,91,72,.12)}.statistics-list>span{min-width:0}.statistics-list small,.statistics-list b{display:block}.statistics-list small{min-height:18px;color:#89958e;font:500 6.5px/1.25 DM Mono;letter-spacing:.1em}.statistics-list b{margin-top:2px;color:#355126;font:500 15px DM Mono;white-space:nowrap}.statistics-list em{color:#7c8981;font: 7px DM Mono}.statistics-list .visited-stat b{letter-spacing:-.04em}.about-copy{padding:2px 0 11px;border-bottom:1px solid rgba(59,91,72,.12)}.about-copy strong,.about-copy span{display:block}.about-copy strong{color:#355126;font:600 14px/1.25 Outfit}.about-copy span{margin-top:5px;color:#6e7d74;font-size:9.5px;line-height:1.5}.about-credit,.about-thanks{display:grid;gap:4px;padding-top:10px}.about-credit small,.about-thanks small{color:#89958e;font:500 6px DM Mono;letter-spacing:.13em}.about-credit a{width:fit-content;color:#4e711b;font:500 9px DM Mono;text-decoration:none}.about-credit a:hover,.about-credit a:focus-visible{color:#719713;text-decoration:underline}.about-thanks{margin-top:7px;border-top:1px solid rgba(59,91,72,.09)}.about-thanks span{color:#50645a;font:500 9px DM Mono}.compact-score-head,.compact-score-list li{display:grid;grid-template-columns:18px minmax(0,1fr) 42px 28px;align-items:center;gap:7px}.compact-score-head{padding:8px 2px 6px;border-top:1px solid rgba(59,91,72,.12);color:#89958e;font:500 7px DM Mono;letter-spacing:.045em}.compact-score-head span:nth-child(n+3){text-align:right}.compact-score-list{margin:0;padding:0;list-style:none}.compact-score-list li{min-height:24px;padding:4px 2px;border-top:1px solid rgba(59,91,72,.09);color:#52665a;font:500 8.5px/1.25 DM Mono}.compact-score-list li>span:first-child{color:#719713}.compact-score-list li>span:nth-child(2){overflow:hidden;color:#31483b;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.compact-score-list li>span:nth-child(n+3){text-align:right}.compact-score-list .empty-score{display:block;padding:17px 4px;color:#78877e;text-align:center;line-height:1.5}.score-more-button{width:100%;margin-top:8px;padding:7px;border:1px solid rgba(73,101,83,.16);border-radius:4px;background:#ffffff80;color:#68831f;font:600 7.5px DM Mono;letter-spacing:.11em;cursor:pointer}.score-more-button:hover{background:#fff}.chat-panel{max-height:none}.chat-panel>p{display:flex;align-items:center}.chat-panel[data-status=offline]>p i{background:#a6aea9;box-shadow:none}.chat-panel[data-status=connecting]>p i{background:#d6a43a;box-shadow:0 0 0 2px #d6a43a1f;animation:chat-network-pulse 1.5s ease-in-out infinite}.chat-panel[data-status=online]>p i{background:#8db51b;box-shadow:0 0 7px #8db51ba6}@keyframes chat-network-pulse{50%{opacity:.38}}.chat-messages{display:grid;align-content:start;gap:2px;margin:8px 0 0;padding:0;overflow:visible;list-style:none}.chat-messages li{display:block;min-width:0;padding:2px;color:#43574b;font:500 9.5px/1.48 DM Mono;overflow-wrap:anywhere}.chat-messages li time{display:inline-block;margin-right:5px;color:#a0aaa4;font-size:7.5px;white-space:nowrap}.chat-messages .chat-nick{margin-right:5px;color:#4f6c30;font:inherit;font-weight:600;white-space:nowrap}.chat-messages .chat-copy{display:inline}.chat-messages .chat-self .chat-nick{color:#789c19}.chat-messages .chat-pending{opacity:.68}.chat-messages .chat-failed{color:#8b5550;opacity:.82}.chat-delivery{margin-left:6px;color:#9a6a62;font-size:.78em;letter-spacing:.05em;white-space:nowrap}.chat-messages .chat-event{grid-column:2 / -1;color:#87938c;font-size:8.5px;font-style:italic;overflow-wrap:anywhere}.chat-messages .chat-notice .chat-event{color:#8b7040}.chat-messages .chat-empty{display:block;grid-column:1 / -1;padding:18px 4px;color:#89968e;font:500 8.5px/1.5 DM Mono;text-align:center}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(59,91,72,.12)}.chat-form input{min-width:0;padding:8px 9px;border:1px solid rgba(70,103,84,.2);border-radius:4px;outline:0;background:#ffffffa6;color:#294234;font:500 9.5px DM Mono}.chat-form input:focus{border-color:#8db51b;background:#fff}.chat-form button{border:0;border-radius:4px;background:#8db51b;color:#fff;font:600 14px Outfit;cursor:pointer}.chat-form button:disabled{cursor:wait;opacity:.5}.chat-status{display:block;min-height:10px;margin-top:5px;color:#9b4a43;font:500 7.5px/1.35 DM Mono}.traveler-quest-panel{order:999;opacity:0;transform:translateY(7px);transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1)}.traveler-quest-panel.visible{opacity:1;transform:translateY(0)}.traveler-quest-panel>p{margin-bottom:8px}.traveler-quest-panel>span{display:block;overflow:hidden;color:#718078;font:500 7px DM Mono;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.traveler-quest-panel>span b{color:#4d6c28;font-weight:600}.traveler-quest-panel>strong{display:block;margin-top:4px;color:#31501e;font:600 15px/1.15 Outfit;letter-spacing:-.01em}.mission-list{display:grid;max-height:calc(100vh - 205px);gap:9px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(105,135,86,.3) transparent}.mission-group{display:grid;gap:5px}.mission-group-label{margin:0;color:#909b94;font:500 7px DM Mono;letter-spacing:.16em;text-transform:uppercase}.mission-board ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.mission-board li{color:#51645a;font-size:10.5px;line-height:1.3;transition:.35s}.mission-board li.complete{color:#4e711b}.mission-entry{display:grid;grid-template-columns:12px minmax(0,1fr) 10px;align-items:center;width:100%;padding:2px 0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer}.mission-entry:hover .mission-title,.mission-entry:focus-visible .mission-title{color:#4e711b}.mission-entry:focus-visible{border-radius:3px;outline:1px solid rgba(125,164,23,.42);outline-offset:2px}.mission-marker{color:#92a097;font:500 11px DM Mono}.mission-board li.complete .mission-marker{color:#7da417}.mission-title{transition:color .2s}.mission-hint-chevron{color:#9aa59e;font:500 10px DM Mono;text-align:right;transform:translateY(-1px);transition:color .25s,transform .3s}.mission-entry[aria-expanded=true] .mission-hint-chevron{color:#719713;transform:rotate(180deg) translateY(1px)}.mission-hint{margin:3px 8px 3px 19px;padding:6px 8px 7px;border-left:1px solid rgba(125,164,23,.38);color:#66786d;font:italic 9.5px/1.48 Outfit;animation:missionHintReveal .32s cubic-bezier(.2,.8,.2,1) both}.mission-board li.complete .mission-hint{color:#657567;font-style:normal}.mission-board li.progress-pulse .mission-marker{animation:missionProgressPulse 1.75s ease-out}.mission-board li.newly-unlocked{animation:missionReveal .8s cubic-bezier(.2,.8,.2,1) both}.mission-history-toggle{justify-self:start;padding:2px 0;border:0;border-bottom:1px solid rgba(93,121,76,.3);background:transparent;color:#718269;font:500 7.5px DM Mono;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}.mission-history-toggle:hover{border-color:#6e8d3d;color:#4e711b}@keyframes missionReveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes missionHintReveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes missionProgressPulse{0%{color:#92a097;text-shadow:0 0 0 rgba(141,181,27,0);transform:scale(1)}28%{color:#7da417;text-shadow:0 0 8px rgba(141,181,27,.78);transform:scale(1.2)}to{color:#92a097;text-shadow:0 0 0 rgba(141,181,27,0);transform:scale(1)}}.mission-complete-toast{position:absolute;z-index:19;left:50%;top:92px;width:min(390px,calc(100vw - 40px));padding:15px 20px 16px;border:1px solid rgba(126,164,52,.38);border-radius:6px;background:#f8faf1f5;color:#244331;box-shadow:0 17px 45px #11331f38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-10px) scale(.98);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}.mission-complete-toast[hidden]{display:none}.mission-complete-toast.visible{opacity:1;transform:translate(-50%) scale(1)}.mission-complete-toast>p{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#75836f;font:500 6.5px DM Mono;letter-spacing:.2em}.mission-complete-toast>p i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #9bc51bbf}.mission-complete-toast h2{margin:6px 0 4px;color:#345f1d;font:600 22px/1.08 Outfit;letter-spacing:-.02em}.mission-complete-toast>span{display:block;color:#69786e;font-size:10.5px;line-height:1.45}.ambience-toast{--ambience-accent: #8db51b;position:absolute;z-index:18;left:50%;top:92px;width:min(410px,calc(100vw - 40px));padding:15px 22px 14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ambience-accent) 34%,rgba(255,255,255,.65));border-radius:6px;background:linear-gradient(135deg,#f9faf3f7,#eff5edf0);color:#244331;box-shadow:0 17px 45px #11331f33;-webkit-backdrop-filter:blur(12px) saturate(.9);backdrop-filter:blur(12px) saturate(.9);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-11px) scale(.98);transition:top .45s ease,opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.ambience-toast:after{position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--ambience-accent),transparent);opacity:.7;content:""}.ambience-toast[hidden]{display:none}.ambience-toast.visible{opacity:1;transform:translate(-50%) scale(1)}.ambience-toast>p{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#75836f;font:500 6.5px DM Mono;letter-spacing:.2em}.ambience-toast>p i{width:6px;height:6px;border-radius:50%;background:var(--ambience-accent);box-shadow:0 0 10px color-mix(in srgb,var(--ambience-accent) 72%,transparent)}.ambience-toast h2{margin:6px 0 4px;color:color-mix(in srgb,var(--ambience-accent) 62%,#173a29);font:600 22px/1.08 Outfit;letter-spacing:-.02em}.ambience-toast>span{display:block;color:#69786e;font-size:10.5px;line-height:1.48}.ambience-toast>small{display:block;margin-top:8px;color:#909b93;font:500 5.5px DM Mono;letter-spacing:.13em}.ambience-toast[data-phase=dawn]{--ambience-accent: #c88d78;background:linear-gradient(135deg,#f4f2f5f7,#f7eddef2)}.ambience-toast[data-phase=day]{--ambience-accent: #8db51b}.ambience-toast[data-phase=golden]{--ambience-accent: #d88b37;background:linear-gradient(135deg,#faf7e8f7,#f8e8d1f2)}.ambience-toast[data-phase=dusk]{--ambience-accent: #676ca0;background:linear-gradient(135deg,#efeff4f7,#e2e7f0f2)}.ambience-toast[data-phase=night]{--ambience-accent: #557da8;border-color:#7597b96b;background:linear-gradient(135deg,#e5ecf0f7,#d3e0e9f5)}.game:has(.mission-complete-toast.visible) .ambience-toast{top:206px}.zen-intro{position:absolute;z-index:18;left:50%;top:42%;width:min(470px,calc(100vw - 40px));padding:25px 31px 24px;border:1px solid rgba(255,255,255,.68);border-radius:5px;background:#f7f9f0ed;color:#173a29;box-shadow:0 22px 60px #12312038;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-44%) scale(.97);visibility:hidden;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),visibility .7s}.zen-intro.visible{pointer-events:auto;opacity:1;transform:translate(-50%,-50%) scale(1);visibility:visible}.zen-kicker{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#79877e;font:500 7px DM Mono;letter-spacing:.22em}.zen-kicker i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #9bc51bcc}.zen-time{margin:13px 0 0;color:#5f7066;font:500 10px DM Mono;letter-spacing:.15em}.zen-time b{color:#527a17;font-size:13px}.zen-intro h2{margin:10px 0 8px;color:#153525;font:600 29px/1.08 Outfit;letter-spacing:-.025em}.zen-intro>p:last-of-type{max-width:390px;margin:0 auto;color:#65756b;font-size:12px;line-height:1.55}.journey-identity{width:min(260px,100%);margin:14px auto -3px;display:grid;gap:5px;text-align:left}.journey-identity[hidden]{display:none}.journey-identity label{color:#75837a;font:500 6.5px DM Mono;letter-spacing:.17em}.journey-identity input{width:100%;padding:9px 11px;border:1px solid rgba(70,103,84,.25);border-radius:4px;outline:0;background:#ffffffb8;color:#173a29;font:600 12px DM Mono;letter-spacing:.08em;text-transform:uppercase}.journey-identity input:focus{border-color:var(--green);background:#fff}.journey-identity small{min-height:11px;color:#bd564a;font:500 7px DM Mono}.airport-choice{width:min(360px,100%);margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.airport-choice[hidden]{display:none}.zen-intro .airport-option{min-width:0;margin:0;padding:9px 10px 10px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;border-radius:6px;text-align:left;letter-spacing:0}.airport-option>span{grid-row:1 / 3;align-self:center;width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(51,95,69,.25);border-radius:50%;background:#ffffffad;color:#557063;font:700 9px DM Mono}.airport-option b{align-self:end;color:#254634;font:600 11px Outfit}.airport-option small{align-self:start;color:#78877e;font:500 6px DM Mono;letter-spacing:.05em;white-space:nowrap}.zen-intro .airport-option.selected{border-color:#76a522;background:#9bc51b38;box-shadow:0 0 0 2px #9bc51b14}.airport-option.selected>span{border-color:#77a72b;background:#f8fff0;color:#4e7614}.airport-choice-message{display:block;min-height:11px;margin:4px auto -7px;color:#bd564a;font:500 7px DM Mono}.airport-choice-message[hidden]{display:none}.zen-intro button{margin-top:17px;padding:8px 15px;border:1px solid rgba(79,116,31,.26);border-radius:20px;background:#9bc51b21;color:#3b6810;font:500 8px DM Mono;letter-spacing:.14em;cursor:pointer;transition:.2s}.zen-intro button:hover{border-color:var(--green);background:#9bc51b3d}.zen-intro button:disabled{cursor:wait;opacity:.55}.journey-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px}.journey-actions .resume-journey{border-color:#2c5d1c4d}.new-journey-note{display:block;margin:8px auto -5px;color:#89958e;font:500 6.5px DM Mono;letter-spacing:.04em}.new-journey-note[hidden]{display:none}.zen-intro button.secondary{border-color:#505d5433;background:transparent;color:#718078}.zen-intro button.secondary:hover{border-color:#505d5473;background:#505d5414}.zen-intro.black-label-intro{border-color:#c7f43a52;background:#040d09f2;color:var(--paper);box-shadow:0 24px 70px #0000007a}.zen-intro.black-label-intro .zen-kicker{color:#91a198}.zen-intro.black-label-intro .zen-kicker i{background:var(--green-bright)}.zen-intro.black-label-intro .zen-time{color:#77877e}.zen-intro.black-label-intro .zen-time b{color:var(--green-bright)}.zen-intro.black-label-intro h2{color:#f5f7f1}.zen-intro.black-label-intro>p:last-of-type{color:#9ba9a0}.zen-intro.black-label-intro button{border-color:var(--green-bright);background:var(--green-bright);color:#07130f;box-shadow:0 0 20px #c7f43a24}.zen-intro.black-label-intro button:hover{background:#dbff68}.zen-intro.ultra-intro{border-color:#a9beff80;background:#12122bf5;color:#f5f5ff;box-shadow:0 24px 70px #1312417a}.zen-intro.ultra-intro .zen-kicker{color:#abb4d8}.zen-intro.ultra-intro .zen-kicker i{background:#a9beff;box-shadow:0 0 10px #a9beffe6}.zen-intro.ultra-intro .zen-time{color:#929dc5}.zen-intro.ultra-intro .zen-time b{color:#c7d3ff}.zen-intro.ultra-intro h2{color:#f5f5ff}.zen-intro.ultra-intro>p:last-of-type{color:#afb7d5}.zen-intro.ultra-intro button{border-color:#a9beff;background:#a9beff;color:#11132d;box-shadow:0 0 22px #a9beff33}.zen-intro.ultra-intro button:hover{background:#c4d1ff}.zen-intro.chuo-offer-intro{border-color:#f15a2252;background:#fff9f1f7;box-shadow:0 24px 70px #5c2d1447}.zen-intro.chuo-offer-intro .zen-kicker{color:#9a6046}.zen-intro.chuo-offer-intro .zen-kicker i{background:#f15a22;box-shadow:0 0 10px #f15a227a}.zen-intro.chuo-offer-intro .zen-time{color:#9d735f}.zen-intro.chuo-offer-intro .zen-time b{color:#d84e19}.zen-intro.chuo-offer-intro h2{color:#572d1d}.zen-intro.chuo-offer-intro>p:last-of-type{color:#77584a}.zen-intro.chuo-offer-intro button{border-color:#f15a22;background:#f15a22;color:#fff;box-shadow:0 0 20px #f15a2229}.zen-intro.chuo-offer-intro button:hover{border-color:#d94914;background:#d94914}.zen-intro.chuo-offer-intro button.secondary{border-color:#894b3040;background:transparent;color:#8a5d49;box-shadow:none}.zen-intro.chuo-offer-intro button.secondary:hover{border-color:#894b307a;background:#f15a2212}.zen-intro.asakusa-intro{border-color:#e8529852;background:#fff7fbf7;box-shadow:0 24px 70px #5d1b3a40}.zen-intro.asakusa-intro .zen-kicker{color:#99506f}.zen-intro.asakusa-intro .zen-kicker i{background:#e85298;box-shadow:0 0 10px #e8529880}.zen-intro.asakusa-intro .zen-time,.zen-intro.asakusa-intro .zen-time b{color:#b04476}.zen-intro.asakusa-intro h2{color:#59243d}.zen-intro.asakusa-intro>p:last-of-type{color:#775063}.zen-intro.asakusa-intro button{border-color:#e85298;background:#e85298;color:#fff}.map-stage{position:absolute;z-index:0;isolation:isolate;inset:0;overflow:hidden;background:#e7f0dc}.map-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 40%,rgba(212,231,190,.025) 72%,rgba(5,20,13,.2) 100%);z-index:450;pointer-events:none}.tokyo-map{position:absolute;z-index:0;inset:0;contain:layout paint size;background:#e7f0dc}.tokyo-map .map-time-wash{position:absolute;z-index:250;inset:0;pointer-events:none;opacity:1;transition:background 2.4s ease,opacity 2.4s ease}.tokyo-map .map-time-wash[data-phase=day]{background:transparent}.tokyo-map .map-time-wash[data-phase=dawn]{background:linear-gradient(180deg,#74699214,#e1ae7712)}.tokyo-map .map-time-wash[data-phase=golden]{background:linear-gradient(180deg,#e6a5580f,#c573481a)}.tokyo-map .map-time-wash[data-phase=dusk]{background:linear-gradient(180deg,#4a4c7b1a,#1e365729)}.tokyo-map .map-time-wash[data-phase=night]{background:linear-gradient(180deg,#1631531c,#081c3b33)}.tokyo-map .leaflet-map-pane{will-change:transform}.tokyo-map .leaflet-tile-pane{opacity:1;filter:none}.tokyo-map .maplibregl-map,.tokyo-map .maplibregl-canvas{outline:0}.tokyo-map .leaflet-control-attribution{margin:0 8px 7px 0;padding:3px 6px;border-radius:3px;background:#f5f9efd1;color:#48594f;font:8px DM Mono}.tokyo-map .leaflet-control-attribution a{color:#395b43}.tokyo-map .map-zoom-control{display:grid;margin:0 8px 6px 0;overflow:hidden;border:1px solid rgba(66,91,75,.2);border-radius:5px;background:#f7faf2e6;box-shadow:0 5px 16px #1b372624;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tokyo-map .map-zoom-button{display:grid;place-items:center;width:29px;height:27px;padding:0;border:0;border-radius:0;outline:0;background:transparent;color:#47604f;font:500 18px/1 DM Mono;cursor:pointer;transition:background .2s,color .2s}.tokyo-map .map-zoom-button+.map-zoom-button{border-top:1px solid rgba(66,91,75,.14)}.tokyo-map .map-zoom-button:hover,.tokyo-map .map-zoom-button:focus-visible{background:#8db51b21;color:#5e8314}.tokyo-map .map-zoom-button:disabled{color:#aab4ad;cursor:default;opacity:.58}.yamanote-station-marker{width:13px;height:13px;border:3px solid #385045;border-radius:50%;background:#f8fbf3;box-shadow:0 1px 7px #0b231673;transition:.22s}.yamanote-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:var(--green-bright);box-shadow:0 0 0 4px #69941459,0 0 18px #55840ccc}.yamanote-station-marker.completed{border-color:#173a29;background:var(--green-bright);box-shadow:0 0 0 3px #9bc51b38,0 1px 7px #0b231673}.chuo-station-marker{width:13px;height:13px;border:3px solid #713116;border-radius:50%;background:#fff9f3;box-shadow:0 1px 7px #4b1f0c61;transition:.22s}.chuo-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#f15a22;box-shadow:0 0 0 4px #f15a2240,0 0 18px #e1460fb8}.chuo-station-marker.completed{border-color:#7a3518;background:#f15a22;box-shadow:0 0 0 3px #f15a222e,0 1px 7px #4b1f0c61}.asakusa-station-marker{width:13px;height:13px;border:3px solid #702b4a;border-radius:50%;background:#fff7fb;box-shadow:0 1px 7px #4a162f57;transition:.22s}.asakusa-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#e85298;box-shadow:0 0 0 4px #e852983d,0 0 18px #cd327aad}.asakusa-station-marker.completed{border-color:#702b4a;background:#e85298;box-shadow:0 0 0 3px #e8529829,0 1px 7px #4a162f57}.ginza-station-marker{width:13px;height:13px;border:3px solid #765b16;border-radius:50%;background:#fffbed;box-shadow:0 1px 7px #4c37085c;transition:.22s}.ginza-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#f4b400;box-shadow:0 0 0 4px #f4b40040,0 0 18px #d39600b3}.ginza-station-marker.completed{border-color:#765b16;background:#f4b400;box-shadow:0 0 0 3px #f4b4002e,0 1px 7px #4c37085c}.hanzomon-station-marker{width:13px;height:13px;border:3px solid #49366f;border-radius:50%;background:#faf7ff;box-shadow:0 1px 7px #3c2a5f5c;transition:.22s}.hanzomon-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#8f75d6;box-shadow:0 0 0 4px #8f75d640,0 0 18px #6f53b7ad}.hanzomon-station-marker.completed{border-color:#49366f;background:#8f75d6;box-shadow:0 0 0 3px #8f75d62e,0 1px 7px #3c2a5f5c}.tozai-station-marker{width:13px;height:13px;border:3px solid #075269;border-radius:50%;background:#f2fcff;box-shadow:0 1px 7px #0244585c;transition:.22s}.tozai-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#009bbf;box-shadow:0 0 0 4px #009bbf40,0 0 18px #007e9ead}.tozai-station-marker.completed{border-color:#075269;background:#009bbf;box-shadow:0 0 0 3px #009bbf2e,0 1px 7px #0244585c}.marunouchi-station-marker,.marunouchi-branch-station-marker{width:13px;height:13px;border:3px solid #76151d;border-radius:50%;background:#fff7f7;box-shadow:0 1px 7px #520f1761;transition:.22s}.marunouchi-station-marker.active,.marunouchi-branch-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#e60012;box-shadow:0 0 0 4px #e600123b,0 0 18px #cd0012ad}.marunouchi-station-marker.completed,.marunouchi-branch-station-marker.completed{border-color:#76151d;background:#e60012;box-shadow:0 0 0 3px #e6001229,0 1px 7px #520f175c}.hibiya-station-marker{width:13px;height:13px;border:3px solid #505955;border-radius:50%;background:#fafbf9;box-shadow:0 1px 7px #28302c57;transition:.22s}.hibiya-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#b5b5ac;box-shadow:0 0 0 4px #828b8647,0 0 18px #57615c9e}.hibiya-station-marker.completed{border-color:#505955;background:#b5b5ac;box-shadow:0 0 0 3px #828b8633,0 1px 7px #28302c57}.chiyoda-station-marker{width:13px;height:13px;border:3px solid #07583f;border-radius:50%;background:#f3fffb;box-shadow:0 1px 7px #0447325c;transition:.22s}.chiyoda-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#00bb85;box-shadow:0 0 0 4px #00bb853d,0 0 18px #00996dad}.chiyoda-station-marker.completed{border-color:#07583f;background:#00bb85;box-shadow:0 0 0 3px #00bb852e,0 1px 7px #04473257}.fukutoshin-station-marker{width:13px;height:13px;border:3px solid #52311d;border-radius:50%;background:#fff9f3;box-shadow:0 1px 7px #4427155c;transition:.22s}.fukutoshin-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#9c5e31;box-shadow:0 0 0 4px #9c5e3140,0 0 18px #804822ad}.fukutoshin-station-marker.completed{border-color:#52311d;background:#9c5e31;box-shadow:0 0 0 3px #9c5e312e,0 1px 7px #44271557}.chuo-sobu-station-marker{width:13px;height:13px;border:3px solid #746100;border-radius:50%;background:#fffdf0;box-shadow:0 1px 7px #5445005c;transition:.22s}.chuo-sobu-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#ffd400;box-shadow:0 0 0 4px #ffd40040,0 0 18px #c6a400b3}.chuo-sobu-station-marker.completed{border-color:#746100;background:#ffd400;box-shadow:0 0 0 3px #ffd40033,0 1px 7px #54450057}.yurakucho-station-marker{width:13px;height:13px;border:3px solid #6e5734;border-radius:50%;background:#fffaf1;box-shadow:0 1px 7px #5340225c;transition:.22s}.yurakucho-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#c1a470;box-shadow:0 0 0 4px #c1a47040,0 0 18px #8a6f3fa6}.yurakucho-station-marker.completed{border-color:#6e5734;background:#c1a470;box-shadow:0 0 0 3px #c1a47033,0 1px 7px #53402257}.yurikamome-station-marker{width:13px;height:13px;border:3px solid #003c6c;border-radius:50%;background:#f2f9ff;box-shadow:0 1px 7px #002f555c;transition:.22s}.yurikamome-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#0067b1;box-shadow:0 0 0 4px #0067b140,0 0 18px #00538fad}.yurikamome-station-marker.completed{border-color:#003c6c;background:#0067b1;box-shadow:0 0 0 3px #0067b133,0 1px 7px #002f5557}.monorail-station-marker{width:13px;height:13px;border:3px solid #004f84;border-radius:50%;background:#f2f9ff;box-shadow:0 1px 7px #00335759;transition:.22s}.monorail-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#0072bc;box-shadow:0 0 0 4px #0072bc3d,0 0 18px #005694ad}.monorail-station-marker.completed{border-color:#004f84;background:#0072bc;box-shadow:0 0 0 3px #0072bc2e,0 1px 7px #00335757}.skyliner-station-marker{width:13px;height:13px;border:3px solid #173f79;border-radius:50%;background:#f3f7ff;box-shadow:0 1px 7px #102c5659;transition:.22s}.skyliner-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#1f57a4;box-shadow:0 0 0 4px #1f57a43d,0 0 18px #102c56ad}.skyliner-station-marker.completed{border-color:#173f79;background:#1f57a4;box-shadow:0 0 0 3px #1f57a42e,0 1px 7px #102c5657}.oedo-station-marker{width:13px;height:13px;border:3px solid #61102f;border-radius:50%;background:#fff3f8;box-shadow:0 1px 7px #5b092a5c;transition:.22s}.oedo-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white;background:#cf035a;box-shadow:0 0 0 4px #cf035a3d,0 0 18px #a80046b3}.oedo-station-marker.completed{border-color:#61102f;background:#cf035a;box-shadow:0 0 0 3px #cf035a2e,0 1px 7px #5b092a57}.yamanote-station-marker.interchange-station{border-color:#fff;box-shadow:0 0 0 2px #385045,0 2px 8px #0b23166b}.yamanote-station-marker.interchange-chuo-station-marker{background:linear-gradient(90deg,#8db51b 0 50%,#f15a22 50% 100%)}.yamanote-station-marker.interchange-asakusa-station-marker{background:linear-gradient(90deg,#8db51b 0 50%,#e85298 50% 100%)}.yamanote-station-marker.interchange-ginza-station-marker{background:linear-gradient(90deg,#8db51b 0 50%,#f4b400 50% 100%)}.yamanote-station-marker.interchange-chuo-station-marker.interchange-ginza-station-marker{background:conic-gradient(#8db51b 0 33%,#f15a22 33% 66%,#f4b400 66%)}.yamanote-station-marker.interchange-asakusa-station-marker.interchange-ginza-station-marker{background:conic-gradient(#8db51b 0 33%,#e85298 33% 66%,#f4b400 66%)}.asakusa-station-marker.interchange-ginza-station-marker{border-color:#fff;background:linear-gradient(90deg,#e85298 0 50%,#f4b400 50%);box-shadow:0 0 0 2px #702b4a,0 2px 8px #4a162f59}.ginza-station-marker.interchange-asakusa-station-marker{border-color:#fff;background:linear-gradient(90deg,#f4b400 0 50%,#e85298 50%);box-shadow:0 0 0 2px #765b16,0 2px 8px #4c370857}.station-map-label{--label-shift: 0px 0px;padding:3px 6px;border:0;border-radius:2px;background:#f5f9efe0;box-shadow:0 1px 4px #1c37261f;color:#405249;font:500 7.5px/1.15 DM Mono;letter-spacing:.045em;text-transform:uppercase;translate:var(--label-shift);transition:translate .18s ease,opacity .16s ease}.station-map-label:before{display:none}.station-map-label.active{background:#143222;color:#fff;font-weight:700}.station-map-label.active.active-chuo{background:#7b3215;color:#fff}.station-map-label.active.active-asakusa{background:#762a4d;color:#fff}.station-map-label.active.active-ginza{background:#8a6500;color:#fff}.station-map-label.active.active-hanzomon{background:#634c9f;color:#fff}.station-map-label.active.active-tozai{background:#006f8a;color:#fff}.station-map-label.active.active-marunouchi{background:#a5000d;color:#fff}.station-map-label.active.active-hibiya{background:#59635e;color:#fff}.station-map-label.active.active-chiyoda{background:#007e5a;color:#fff}.station-map-label.active.active-fukutoshin{background:#70401f;color:#fff}.station-map-label.active.active-chuo-sobu{background:#8a7200;color:#fff}.station-map-label.active.active-yurakucho{background:#765f38;color:#fff}.station-map-label.active.active-yurikamome{background:#00558f;color:#fff}.station-map-label.active.active-monorail{background:#005b96;color:#fff}.station-map-label.active.active-skyliner{background:#173f79;color:#fff}.station-map-label.active.active-oedo{background:#8d003c;color:#fff}.station-map-label.completed{background:#c7f43aeb;color:#173a29;font-weight:700}.station-map-label.chuo-station-marker-label.active{background:#7b3215;color:#fff}.station-map-label.chuo-station-marker-label.completed{background:#f15a22f0;color:#fff}.station-map-label.asakusa-station-marker-label.active{background:#762a4d;color:#fff}.station-map-label.asakusa-station-marker-label.completed{background:#e85298f0;color:#fff}.station-map-label.ginza-station-marker-label.active{background:#8a6500;color:#fff}.station-map-label.ginza-station-marker-label.completed{background:#f4b400f5;color:#302500}.station-map-label.hanzomon-station-marker-label.active{background:#634c9f;color:#fff}.station-map-label.hanzomon-station-marker-label.completed{background:#8f75d6f5;color:#fff}.station-map-label.tozai-station-marker-label.active{background:#006f8a;color:#fff}.station-map-label.tozai-station-marker-label.completed{background:#009bbff5;color:#fff}.station-map-label.marunouchi-station-marker-label.active,.station-map-label.marunouchi-branch-station-marker-label.active{background:#a5000d;color:#fff}.station-map-label.marunouchi-station-marker-label.completed,.station-map-label.marunouchi-branch-station-marker-label.completed{background:#e60012f0;color:#fff}.station-map-label.hibiya-station-marker-label.active{background:#59635e;color:#fff}.station-map-label.hibiya-station-marker-label.completed{background:#b5b5acf5;color:#202824}.station-map-label.chiyoda-station-marker-label.active{background:#007e5a;color:#fff}.station-map-label.chiyoda-station-marker-label.completed{background:#00bb85f0;color:#072d21}.station-map-label.fukutoshin-station-marker-label.active{background:#70401f;color:#fff}.station-map-label.fukutoshin-station-marker-label.completed{background:#9c5e31f0;color:#fff}.station-map-label.chuo-sobu-station-marker-label.active{background:#8a7200;color:#fff}.station-map-label.chuo-sobu-station-marker-label.completed{background:#ffd400f0;color:#342c00}.station-map-label.yurakucho-station-marker-label.active{background:#765f38;color:#fff}.station-map-label.yurakucho-station-marker-label.completed{background:#c1a470f5;color:#302614}.station-map-label.yurikamome-station-marker-label.active{background:#00558f;color:#fff}.station-map-label.yurikamome-station-marker-label.completed{background:#0067b1f0;color:#fff}.station-map-label.monorail-station-marker-label.active{background:#005b96;color:#fff}.station-map-label.monorail-station-marker-label.completed{background:#0072bcf0;color:#fff}.station-map-label.skyliner-station-marker-label.active,.station-map-label.skyliner-station-marker-label.completed{background:#1f57a4f2;color:#fff}.station-map-label.oedo-station-marker-label.active{background:#8d003c;color:#fff}.station-map-label.oedo-station-marker-label.completed{background:#cf035af0;color:#fff}.station-map-label.ultra-hidden{opacity:0;visibility:hidden}.route-reveal{animation:routeReveal 2.8s cubic-bezier(.16,.72,.25,1) both}.station-reveal{animation:stationReveal 2.25s .35s cubic-bezier(.16,.72,.25,1) both}.restored-network-layer{animation:none!important}@keyframes routeReveal{0%{opacity:0}to{opacity:1}}@keyframes stationReveal{0%{opacity:0}to{opacity:1}}.train-map-wrapper{background:none;border:0;opacity:1;transition:opacity .32s ease;will-change:transform,opacity}.train-map-wrapper.train-turning{opacity:0}.ghost-train-wrapper{background:none;border:0;pointer-events:none}.ghost-train{--ghost-angle: 0deg;position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:2px;filter:drop-shadow(0 1px 2px rgba(29,41,35,.24));opacity:.68;transform:translate(-50%,-50%) rotate(var(--ghost-angle));transform-origin:center;transition:opacity .35s}.ghost-train span{position:relative;display:block;width:12px;height:7px;border:1px solid rgba(70,82,76,.62);border-radius:2px;background:#dadedbeb}.ghost-train span+span:before{content:"";position:absolute;left:-3px;top:50%;width:3px;height:1px;background:#505b55b3}.ghost-name{position:absolute;left:50%;bottom:14px;max-width:110px;padding:2px 5px;border:1px solid rgba(111,124,117,.2);border-radius:2px;background:#f7f9f6d1;color:#748078;box-shadow:0 1px 4px #1d2f251a;font:500 6.5px/1.15 DM Mono;letter-spacing:.055em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transform:translate(-50%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.train-map-wrapper.train-line-reveal{animation:trainLineReveal 1.9s .18s cubic-bezier(.16,.72,.25,1) both}@keyframes trainLineReveal{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}.train-car{position:relative;width:18px;height:11px;border:1px solid white;border-radius:3px;background:linear-gradient(180deg,#edf2eb 0 24%,var(--green) 24% 100%);transform:translate(var(--train-subpixel-x, 0),var(--train-subpixel-y, 0)) rotate(var(--car-angle, 0deg));filter:drop-shadow(0 2px 3px rgba(5,22,13,.42)) drop-shadow(0 0 4px rgba(102,148,15,.64));transition:filter .2s;will-change:transform}.train-car span{position:absolute;left:3px;right:3px;top:3px;height:3px;border-radius:1px;background:#173126}.train-car.coupled:before{content:"";position:absolute;z-index:-1;right:-4px;top:50%;width:4px;height:2px;border-radius:2px;background:#243d2e;transform:translateY(-50%)}.train-car.front{border-radius:3px 7px 7px 3px}.train-car.front:after{content:"";position:absolute;right:1px;bottom:1px;width:2px;height:2px;border-radius:50%;background:#fffbd1}.train-car.speeding{filter:drop-shadow(0 0 9px var(--green-bright))}.game.chuo-active .train-car{background:linear-gradient(180deg,#fff4ea 0 24%,#f15a22 24% 100%);filter:drop-shadow(0 2px 3px rgba(57,24,10,.4)) drop-shadow(0 0 4px rgba(241,90,34,.55))}.game.chuo-active .train-car span{background:#5b2b19}.game.chuo-active .train-car.speeding{filter:drop-shadow(0 0 9px #ff8a51)}.game.asakusa-active .train-car{background:linear-gradient(180deg,#fff0f7 0 24%,#e85298 24% 100%);filter:drop-shadow(0 2px 3px rgba(58,18,37,.4)) drop-shadow(0 0 4px rgba(232,82,152,.55))}.game.asakusa-active .train-car span{background:#60233f}.game.asakusa-active .train-car.speeding{filter:drop-shadow(0 0 9px #ff8ec2)}.game.ginza-active .train-car{background:linear-gradient(180deg,#fff9df 0 24%,#f4b400 24% 100%);filter:drop-shadow(0 2px 3px rgba(58,43,8,.4)) drop-shadow(0 0 4px rgba(244,180,0,.58))}.game.ginza-active .train-car span{background:#5e4710}.game.ginza-active .train-car.speeding{filter:drop-shadow(0 0 9px #ffd95b)}.game.hanzomon-active .train-car{background:linear-gradient(180deg,#fbf8ff 0 24%,#8f75d6 24% 100%);filter:drop-shadow(0 2px 3px rgba(54,38,88,.4)) drop-shadow(0 0 4px rgba(143,117,214,.58))}.game.hanzomon-active .train-car span{background:#49366f}.game.hanzomon-active .train-car.speeding{filter:drop-shadow(0 0 9px #c3b3ef)}.game.tozai-active .train-car{background:linear-gradient(180deg,#effcff 0 24%,#009bbf 24% 100%);filter:drop-shadow(0 2px 3px rgba(2,61,78,.4)) drop-shadow(0 0 4px rgba(0,155,191,.58))}.game.tozai-active .train-car span{background:#075269}.game.tozai-active .train-car.speeding{filter:drop-shadow(0 0 9px #64d7ee)}.game.marunouchi-active .train-car{background:linear-gradient(180deg,#fff4f5 0 24%,#e60012 24% 100%);filter:drop-shadow(0 2px 3px rgba(64,10,17,.4)) drop-shadow(0 0 4px rgba(230,0,18,.55))}.game.marunouchi-active .train-car span{background:#65131a}.game.marunouchi-active .train-car.speeding{filter:drop-shadow(0 0 9px #ff5c68)}.game.hibiya-active .train-car{background:linear-gradient(180deg,#f8faf8 0 24%,#b5b5ac 24% 100%);filter:drop-shadow(0 2px 3px rgba(32,42,37,.4)) drop-shadow(0 0 4px rgba(118,128,123,.55))}.game.hibiya-active .train-car span{background:#46504b}.game.hibiya-active .train-car.speeding{filter:drop-shadow(0 0 9px #d8ddd9)}.game.chiyoda-active .train-car{background:linear-gradient(180deg,#edfff9 0 24%,#00bb85 24% 100%);filter:drop-shadow(0 2px 3px rgba(4,62,45,.4)) drop-shadow(0 0 4px rgba(0,187,133,.55))}.game.chiyoda-active .train-car span{background:#07583f}.game.chiyoda-active .train-car.speeding{filter:drop-shadow(0 0 9px #54e4bb)}.game.fukutoshin-active .train-car{background:linear-gradient(180deg,#fff5ec 0 24%,#9c5e31 24% 100%);filter:drop-shadow(0 2px 3px rgba(61,34,17,.4)) drop-shadow(0 0 4px rgba(156,94,49,.55))}.game.fukutoshin-active .train-car span{background:#54311c}.game.fukutoshin-active .train-car.speeding{filter:drop-shadow(0 0 9px #d79b70)}.game.chuo-sobu-active .train-car{background:linear-gradient(180deg,#fffdf0 0 24%,#ffd400 24% 100%);filter:drop-shadow(0 2px 3px rgba(70,58,0,.4)) drop-shadow(0 0 4px rgba(255,212,0,.58))}.game.chuo-sobu-active .train-car span{background:#5f5000}.game.chuo-sobu-active .train-car.speeding{filter:drop-shadow(0 0 9px #ffe766)}.game.yurakucho-active .train-car{background:linear-gradient(180deg,#fffaf1 0 24%,#c1a470 24% 100%);filter:drop-shadow(0 2px 3px rgba(67,51,25,.4)) drop-shadow(0 0 4px rgba(193,164,112,.58))}.game.yurakucho-active .train-car span{background:#5d4a2c}.game.yurakucho-active .train-car.speeding{filter:drop-shadow(0 0 9px #e0ca9f)}.game.yurikamome-active .train-car{background:linear-gradient(180deg,#eef8ff 0 24%,#0067b1 24% 100%);filter:drop-shadow(0 2px 3px rgba(0,40,72,.4)) drop-shadow(0 0 4px rgba(0,103,177,.58))}.game.yurikamome-active .train-car span{background:#003c6c}.game.yurikamome-active .train-car.speeding{filter:drop-shadow(0 0 9px #48a9e8)}.game.monorail-active .train-car{background:linear-gradient(180deg,#eef8ff 0 24%,#0072bc 24% 100%);filter:drop-shadow(0 2px 3px rgba(0,42,73,.4)) drop-shadow(0 0 4px rgba(0,114,188,.58))}.game.monorail-active .train-car span{background:#004f84}.game.monorail-active .train-car.speeding{filter:drop-shadow(0 0 9px #55b8f2)}.game.skyliner-active .train-car{background:linear-gradient(180deg,#f3f7ff 0 24%,#1f57a4 24% 100%);filter:drop-shadow(0 2px 3px rgba(15,36,69,.4)) drop-shadow(0 0 4px rgba(31,87,164,.58))}.game.skyliner-active .train-car span{background:#102c56}.game.skyliner-active .train-car.speeding{filter:drop-shadow(0 0 9px #6798d7)}.game.oedo-active .train-car{background:linear-gradient(180deg,#fff2f7 0 24%,#cf035a 24% 100%);filter:drop-shadow(0 2px 3px rgba(75,6,35,.42)) drop-shadow(0 0 4px rgba(207,3,90,.58))}.game.oedo-active .train-car span{background:#61102f}.game.oedo-active .train-car.speeding{filter:drop-shadow(0 0 9px #f25396)}.speed-lines{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(104deg,transparent 0 15%,rgba(199,244,58,.1) 15.1%,transparent 15.3% 28%);transition:opacity .2s;pointer-events:none}.speed-lines{z-index:460}.speed-lines.active{opacity:1;animation:rush .35s linear infinite}@keyframes rush{to{transform:translate(50px)}}.station-card{position:absolute;z-index:10;left:50%;bottom:34px;width:min(640px,calc(100vw - 40px));min-height:116px;transform:translate(-50%);display:grid;grid-template-columns:84px 1fr 97px;color:var(--ink);background:var(--paper);border-radius:4px;box-shadow:0 22px 60px #00000073;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}.station-card.departing{transform:translate(-50%) translateY(-12px) scale(.97);opacity:.35}.station-code{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;align-self:center;justify-self:center;width:62px;height:62px;padding:0 0 4px;border-radius:7px;background:var(--green);color:#171916;font-family:Outfit,sans-serif;font-weight:700;text-align:center;overflow:hidden}.station-code:before{content:"";position:absolute;inset:7px;background:#fff}.station-code.metro-code,.station-code.metro-code:before{border-radius:50%}.station-code.solid-code{border-radius:50%;background:#0067b1;color:#fff}.station-code.solid-code:before{display:none}.station-code.monorail-code{border-radius:8px;background:#0072bc;color:#10222d}.station-code.monorail-code:before{border-radius:4px}.station-code.skyliner-code{border-radius:8px;background:#1f57a4;color:#102c56}.station-code.skyliner-code:before{border-radius:4px}.station-code span{position:relative;z-index:1;display:block;height:auto;line-height:.82}.station-code span:first-child{font-size:19px;letter-spacing:-.015em}.station-code span+span{font-size:23px;letter-spacing:.01em}.station-copy{min-width:0;padding:15px 18px 13px;display:flex;flex-direction:column;border-left:1px solid #cfd5d0}.direction-row{display:flex;align-items:center;gap:10px;color:#768079;font:500 9px DM Mono;text-transform:uppercase}.direction-row i{flex:1;height:2px;background:linear-gradient(90deg,#bdc6c0,var(--green),#bdc6c0);position:relative}.direction-row i:after{content:"";position:absolute;left:50%;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--green)}.turn-direction-button{flex:none;width:25px;height:21px;padding:0 0 1px;border:1px solid rgba(57,79,66,.2);border-radius:11px;background:#ffffff8c;color:#5d7165;font:600 12px/1 DM Mono;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}.turn-direction-button[hidden]{display:none}.turn-direction-button:hover{border-color:#8eaa4b;background:#fff;color:#52781a;transform:translateY(-1px)}.station-name-stack{flex:1;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:translateY(2px)}.station-japanese{font:700 30px/1.15 Noto Sans JP;letter-spacing:.12em;white-space:nowrap}.station-hiragana{margin-top:1px;font:500 13px/1.15 Noto Sans JP;letter-spacing:.14em;white-space:nowrap}.station-english{margin-top:3px;font:500 14px DM Mono;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}.station-name-stack.long-name .station-japanese{font-size:clamp(18px,2.8vw,25px);letter-spacing:.08em}.station-name-stack.long-name .station-hiragana{font-size:11.5px;letter-spacing:.09em}.station-name-stack.long-name .station-english{font-size:12px;letter-spacing:.09em}.station-name-stack.very-long-name .station-japanese{font-size:clamp(13px,2vw,19px);letter-spacing:.035em}.station-name-stack.very-long-name .station-hiragana{font-size:9.5px;letter-spacing:.04em}.station-name-stack.very-long-name .station-english{font-size:10px;letter-spacing:.035em}.word-space{display:inline-block;width:.45em}.station-japanese .correct,.station-hiragana .correct,.station-english .correct{color:#72a300}.station-japanese .wrong,.station-hiragana .wrong,.station-english .wrong{color:var(--red);text-decoration:underline;text-decoration-thickness:2px}.station-japanese .pending,.station-hiragana .pending,.station-english .pending{color:#9ca59e}.station-card.ultra-concealed .station-japanese,.station-card.ultra-concealed .station-hiragana,.station-card.ultra-concealed .station-english,.station-card.ultra-concealed .direction-row span{visibility:hidden}.station-card.ultra-concealed .station-name-stack:after{content:"NEXT STATION";color:#738078;font:500 13px DM Mono;letter-spacing:.2em}.card-endcap{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:var(--green);writing-mode:horizontal-tb}.card-endcap span{font:700 18px Noto Sans JP}.card-endcap small{margin-top:5px;font:700 7px DM Mono;letter-spacing:.09em}.station-card.chuo-service .station-code,.station-card.chuo-service .card-endcap{background:#f15a22}.station-card.chuo-service .direction-row i{background:linear-gradient(90deg,#d8c4ba,#f15a22,#d8c4ba)}.station-card.chuo-service .direction-row i:after{background:#f15a22}.station-card.chuo-service .station-japanese .correct,.station-card.chuo-service .station-hiragana .correct,.station-card.chuo-service .station-english .correct{color:#e04f18}.station-card.asakusa-service .station-code,.station-card.asakusa-service .card-endcap{background:#e85298}.station-card.asakusa-service .direction-row i{background:linear-gradient(90deg,#dbc3cf,#e85298,#dbc3cf)}.station-card.asakusa-service .direction-row i:after{background:#e85298}.station-card.asakusa-service .station-japanese .correct,.station-card.asakusa-service .station-hiragana .correct,.station-card.asakusa-service .station-english .correct{color:#d64085}.station-card.ginza-service .station-code,.station-card.ginza-service .card-endcap{background:#f4b400}.station-card.ginza-service .direction-row i{background:linear-gradient(90deg,#ddd1aa,#f4b400,#ddd1aa)}.station-card.ginza-service .direction-row i:after{background:#f4b400}.station-card.ginza-service .station-japanese .correct,.station-card.ginza-service .station-hiragana .correct,.station-card.ginza-service .station-english .correct{color:#b27e00}.station-card.hanzomon-service .station-code,.station-card.hanzomon-service .card-endcap{background:#8f75d6}.station-card.hanzomon-service .direction-row i{background:linear-gradient(90deg,#d8cfef,#8f75d6,#d8cfef)}.station-card.hanzomon-service .direction-row i:after{background:#8f75d6}.station-card.hanzomon-service .station-japanese .correct,.station-card.hanzomon-service .station-hiragana .correct,.station-card.hanzomon-service .station-english .correct{color:#7058b1}.station-card.tozai-service .station-code,.station-card.tozai-service .card-endcap{background:#009bbf}.station-card.tozai-service .direction-row i{background:linear-gradient(90deg,#badce3,#009bbf,#badce3)}.station-card.tozai-service .direction-row i:after{background:#009bbf}.station-card.tozai-service .station-japanese .correct,.station-card.tozai-service .station-hiragana .correct,.station-card.tozai-service .station-english .correct{color:#007f9e}.station-card.marunouchi-service .station-code,.station-card.marunouchi-service .card-endcap{background:#e60012}.station-card.marunouchi-service .direction-row i{background:linear-gradient(90deg,#dcc0c3,#e60012,#dcc0c3)}.station-card.marunouchi-service .direction-row i:after{background:#e60012}.station-card.marunouchi-service .station-japanese .correct,.station-card.marunouchi-service .station-hiragana .correct,.station-card.marunouchi-service .station-english .correct{color:#c60010}.station-card.hibiya-service .station-code,.station-card.hibiya-service .card-endcap{background:#858d89}.station-card.hibiya-service .direction-row i{background:linear-gradient(90deg,#d5d9d6,#858d89,#d5d9d6)}.station-card.hibiya-service .direction-row i:after{background:#858d89}.station-card.hibiya-service .station-japanese .correct,.station-card.hibiya-service .station-hiragana .correct,.station-card.hibiya-service .station-english .correct{color:#626c67}.station-card.chiyoda-service .station-code,.station-card.chiyoda-service .card-endcap{background:#00bb85}.station-card.chiyoda-service .direction-row i{background:linear-gradient(90deg,#bddbd2,#00bb85,#bddbd2)}.station-card.chiyoda-service .direction-row i:after{background:#00bb85}.station-card.chiyoda-service .station-japanese .correct,.station-card.chiyoda-service .station-hiragana .correct,.station-card.chiyoda-service .station-english .correct{color:#00996d}.station-card.fukutoshin-service .station-code,.station-card.fukutoshin-service .card-endcap{background:#9c5e31}.station-card.fukutoshin-service .direction-row i{background:linear-gradient(90deg,#d8c8bc,#9c5e31,#d8c8bc)}.station-card.fukutoshin-service .direction-row i:after{background:#9c5e31}.station-card.fukutoshin-service .station-japanese .correct,.station-card.fukutoshin-service .station-hiragana .correct,.station-card.fukutoshin-service .station-english .correct{color:#87502a}.station-card.chuo-sobu-service .station-code,.station-card.chuo-sobu-service .card-endcap{background:#ffd400;color:#2c2700}.station-card.chuo-sobu-service .card-endcap span{font-size:14px;text-align:center}.station-card.chuo-sobu-service .direction-row i{background:linear-gradient(90deg,#ded6ad,#ffd400,#ded6ad)}.station-card.chuo-sobu-service .direction-row i:after{background:#ffd400}.station-card.chuo-sobu-service .station-japanese .correct,.station-card.chuo-sobu-service .station-hiragana .correct,.station-card.chuo-sobu-service .station-english .correct{color:#ad9000}.station-card.yurakucho-service .station-code,.station-card.yurakucho-service .card-endcap{background:#c1a470}.station-card.yurakucho-service .direction-row i{background:linear-gradient(90deg,#ddd2be,#c1a470,#ddd2be)}.station-card.yurakucho-service .direction-row i:after{background:#c1a470}.station-card.yurakucho-service .station-japanese .correct,.station-card.yurakucho-service .station-hiragana .correct,.station-card.yurakucho-service .station-english .correct{color:#927542}.station-card.yurikamome-service .station-code,.station-card.yurikamome-service .card-endcap{background:#0067b1;color:#fff}.station-card.yurikamome-service .direction-row i{background:linear-gradient(90deg,#b8cedd,#0067b1,#b8cedd)}.station-card.yurikamome-service .direction-row i:after{background:#0067b1}.station-card.yurikamome-service .station-japanese .correct,.station-card.yurikamome-service .station-hiragana .correct,.station-card.yurikamome-service .station-english .correct{color:#0067b1}.station-card.monorail-service .station-code,.station-card.monorail-service .card-endcap{background:#0072bc}.station-card.monorail-service .card-endcap span{width:100%;font-size:12px;letter-spacing:-.03em;line-height:1;text-align:center;white-space:nowrap}.station-card.monorail-service .card-endcap small{margin-top:7px;font-size:6px;letter-spacing:.035em;text-align:center;white-space:nowrap}.station-card.monorail-service .direction-row i{background:linear-gradient(90deg,#b8d2e2,#0072bc,#b8d2e2)}.station-card.monorail-service .direction-row i:after{background:#0072bc}.station-card.monorail-service .station-japanese .correct,.station-card.monorail-service .station-hiragana .correct,.station-card.monorail-service .station-english .correct{color:#0066a8}.station-card.skyliner-service .station-code,.station-card.skyliner-service .card-endcap{background:#1f57a4}.station-card.skyliner-service .card-endcap span{width:100%;font-size:11px;letter-spacing:-.02em;line-height:1.05;text-align:center;white-space:nowrap}.station-card.skyliner-service .card-endcap small{margin-top:7px;font-size:5.7px;letter-spacing:.025em;text-align:center;white-space:nowrap}.station-card.skyliner-service .direction-row i{background:linear-gradient(90deg,#bdcbe0,#1f57a4,#bdcbe0)}.station-card.skyliner-service .direction-row i:after{background:#1f57a4}.station-card.skyliner-service .station-japanese .correct,.station-card.skyliner-service .station-hiragana .correct,.station-card.skyliner-service .station-english .correct{color:#1f57a4}.station-card.oedo-service .station-code,.station-card.oedo-service .card-endcap{background:#cf035a}.station-card.oedo-service .direction-row i{background:linear-gradient(90deg,#e2bbc9,#cf035a,#e2bbc9)}.station-card.oedo-service .direction-row i:after{background:#cf035a}.station-card.oedo-service .station-japanese .correct,.station-card.oedo-service .station-hiragana .correct,.station-card.oedo-service .station-english .correct{color:#b0004a}.direction-turn-choice{position:absolute;z-index:16;left:50%;bottom:168px;width:min(430px,calc(100vw - 40px));padding:13px 15px 14px;border:1px solid rgba(255,255,255,.68);border-radius:6px;background:#f9fbf5f5;color:#21382c;box-shadow:0 14px 38px #0c27193d;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;transform:translate(-50%,8px) scale(.985);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.direction-turn-choice[hidden]{display:none}.direction-turn-choice.visible{opacity:1;transform:translate(-50%) scale(1)}.direction-turn-choice>p{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:#78857d;font:500 6.5px DM Mono;letter-spacing:.18em}.direction-turn-choice>p i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px #9bc51ba6}.direction-turn-choice>strong{display:block;color:#31501e;font:600 17px/1.15 Outfit}.direction-turn-choice>span{display:block;margin-top:4px;color:#6f7d74;font-size:9px;line-height:1.4}.direction-turn-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.direction-turn-choice button{padding:8px 9px;border:1px solid #8db51b;border-radius:4px;background:#8db51b;color:#fff;font:600 7px DM Mono;letter-spacing:.09em;cursor:pointer}.direction-turn-choice button.secondary{border-color:#3d524633;background:#ffffff8f;color:#67766d}.transfer-choice{position:absolute;z-index:14;left:50%;bottom:168px;width:min(800px,calc(100vw - 40px));min-height:62px;padding:9px 10px;display:grid;grid-template-columns:44px minmax(120px,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.66);border-radius:6px;background:#f9fbf5f0;color:#21382c;box-shadow:0 12px 35px #0c271938;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translate(-50%,8px);transition:opacity .35s,transform .35s}.transfer-choice[hidden]{display:none}.transfer-choice.visible{opacity:1;transform:translate(-50%)}.transfer-badge{display:grid;place-items:center;width:40px;height:40px;border:4px solid var(--green);border-radius:5px;background:#fff;color:#16231c;font:700 15px Outfit}.transfer-badge.metro-badge{border-radius:50%}.transfer-badge.jr-badge{border-radius:5px}.transfer-badge.solid-badge{border:0;border-radius:50%;background:#0067b1;color:#fff}.transfer-choice>div:nth-child(2){display:grid;gap:1px;min-width:0}.transfer-choice small{color:#7a887f;font:500 6px DM Mono;letter-spacing:.16em}.transfer-choice strong{font:600 13px Outfit}.transfer-choice span{overflow:hidden;color:#69776f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.transfer-choice button{padding:7px 10px;border:1px solid rgba(61,82,70,.18);border-radius:15px;background:transparent;color:#6f7e75;font:500 7px DM Mono;letter-spacing:.08em;cursor:pointer}.transfer-choice .transfer-button{border-color:var(--green);background:var(--green);color:#fff}.direction-buttons[hidden]{display:none}.direction-buttons{display:flex;gap:5px}.transfer-routes[hidden]{display:none}.transfer-routes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);align-items:stretch;gap:8px;max-width:430px}.transfer-choice.many-lines{width:min(1040px,calc(100vw - 40px));grid-template-columns:44px minmax(120px,150px) minmax(0,1fr)}.transfer-choice.many-lines .transfer-routes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-flow:row;grid-auto-columns:auto;width:100%;max-width:none}.transfer-choice.busy-interchange{align-items:start}.transfer-choice.busy-interchange .transfer-routes{max-height:min(42vh,250px);padding-right:3px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(78,104,90,.28) transparent}.transfer-line-options{display:grid;grid-auto-rows:1fr;gap:5px}.transfer-choice .transfer-routes button{display:grid;grid-template-columns:23px minmax(0,1fr) 17px;align-items:center;gap:7px;min-width:112px;padding:5px 6px;border-color:#354e4033;border-radius:7px;background:#ffffffb8;color:#33483d;text-align:left;white-space:nowrap}.transfer-choice .transfer-routes button:hover{border-color:#2a46376b;background:#fff}.transfer-choice .transfer-routes button>span{color:inherit;font:600 8px DM Mono;letter-spacing:.06em;text-transform:uppercase}.route-direction-arrow{box-sizing:border-box;display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(52,76,63,.16);border-radius:50%;background:#5b736514;color:#62766a;font:700 10px/1 DM Mono;font-style:normal;opacity:.78;transform:rotate(var(--route-angle));transition:opacity .2s,background .2s}.transfer-choice .transfer-routes button:hover .route-direction-arrow{background:#5b736524;opacity:1}.route-code{box-sizing:border-box;display:grid;place-items:center;width:23px;height:23px;background:#fff;color:#17221c;font:700 8px/1 Outfit;letter-spacing:-.02em}.route-code.jr,.route-code.square{border:3px solid;border-radius:5px}.route-code.metro{border:3px solid;border-radius:50%}.route-code.yamanote{border-color:#8db51b}.route-code.chuo{border-color:#f15a22}.route-code.asakusa{border-color:#e85298}.route-code.ginza{border-color:#f4b400}.route-code.hanzomon{border-color:#8f75d6;color:#59438d}.route-code.tozai{border-color:#009bbf;color:#006f8a}.route-code.marunouchi{border-color:#e60012}.route-code.hibiya{border-color:#b5b5ac}.route-code.chiyoda{border-color:#00bb85}.route-code.fukutoshin{border-color:#9c5e31}.route-code.chuo-sobu{border-color:#ffd400}.route-code.yurakucho{border-color:#c1a470}.route-code.yurikamome{border:0;border-radius:50%;background:#0067b1;color:#fff}.route-code.monorail{border-color:#0072bc;color:#004f84}.route-code.oedo{border-color:#cf035a;color:#8d003c}.transfer-choice .direction-buttons button{border-color:var(--green);background:#9bc51b1f;color:#42621c;white-space:nowrap}.transfer-choice .direction-buttons button:hover{background:var(--green);color:#fff}.transfer-choice[data-line=chuo] .transfer-badge{border-color:#f15a22}.transfer-choice[data-line=chuo] .transfer-button{border-color:#f15a22;background:#f15a22}.transfer-choice[data-line=asakusa] .transfer-badge{border-color:#e85298}.transfer-choice[data-line=asakusa] .transfer-button{border-color:#e85298;background:#e85298}.transfer-choice[data-line=ginza] .transfer-badge{border-color:#f4b400}.transfer-choice[data-line=hanzomon] .transfer-badge{border-color:#8f75d6;color:#59438d}.transfer-choice[data-line=tozai] .transfer-badge{border-color:#009bbf;color:#006f8a}.transfer-choice[data-line=marunouchi] .transfer-badge,.transfer-choice[data-line=marunouchi_branch] .transfer-badge{border-color:#e60012}.transfer-choice[data-line=hibiya] .transfer-badge{border-color:#b5b5ac}.transfer-choice[data-line=chiyoda] .transfer-badge{border-color:#00bb85}.transfer-choice[data-line=fukutoshin] .transfer-badge{border-color:#9c5e31}.transfer-choice[data-line=chuo_sobu] .transfer-badge{border-color:#ffd400}.transfer-choice[data-line=yurakucho] .transfer-badge{border-color:#c1a470}.transfer-choice[data-line=yurikamome] .transfer-badge{border:0;background:#0067b1;color:#fff}.transfer-choice[data-line=monorail] .transfer-badge{border-color:#0072bc;border-radius:6px;color:#004f84}.transfer-choice[data-line=skyliner] .transfer-badge{border-color:#1f57a4;border-radius:6px;color:#173f79}.transfer-choice[data-line=oedo] .transfer-badge{border-color:#cf035a;color:#8d003c}.transfer-choice[data-line=multiple] .transfer-badge{border-color:#819287;font-size:17px}.typing-capture{position:absolute;width:0;height:0;overflow:hidden}.typing-capture .typing-meta,.typing-capture .typing-display,.typing-capture .typing-footer{display:none}.typing-meta{display:flex;justify-content:space-between;align-items:center;color:#9ca8a1;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.mode-switch{display:flex;padding:2px;background:#ffffff0f;border-radius:20px}.mode-switch[hidden]{display:none}.mode-switch button{border:0;border-radius:16px;padding:6px 12px;background:none;color:#718078;font:500 8px DM Mono;letter-spacing:.06em;cursor:pointer;transition:.2s}.mode-switch button.active{color:var(--ink);background:var(--green-bright);box-shadow:0 0 14px #c7f43a2e}.mode-switch button[data-game-mode=black].active{color:#fff;background:#050b08;box-shadow:inset 0 0 0 1px #607067}.mode-switch button[data-game-mode=ultra].active{color:#06110d;background:#e9ff87}.game.chuo-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#f15a22;box-shadow:0 0 14px #f15a2238}.typing-display{height:50px;display:flex;align-items:center;justify-content:center;font:500 clamp(22px,2.6vw,34px) "DM Mono";letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.typing-display .word-space{flex:0 0 .45em}.typing-display .correct{color:var(--green-bright);text-shadow:0 0 16px rgba(199,244,58,.45)}.typing-display .wrong{color:var(--red);text-shadow:0 0 16px rgba(255,83,83,.5)}.typing-display .pending{color:#506058}.typing-display .ultra-entry{color:#e5ebe7;text-shadow:0 0 16px rgba(199,244,58,.25)}.typing-display .caret{border-left:2px solid var(--green-bright);animation:blink .8s step-end infinite}.game.chuo-active .typing-display .correct{color:#ff7a3f;text-shadow:0 0 16px rgba(241,90,34,.45)}.game.chuo-active .typing-display .caret{border-left-color:#ff7a3f}.game.asakusa-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#e85298;box-shadow:0 0 14px #e8529838}.game.ginza-active .mode-switch button[data-game-mode=zen].active{color:#332600;background:#f4b400;box-shadow:0 0 14px #f4b4003d}.game.hanzomon-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#8f75d6;box-shadow:0 0 14px #8f75d640}.game.tozai-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#009bbf;box-shadow:0 0 14px #009bbf40}.game.marunouchi-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#e60012;box-shadow:0 0 14px #e6001238}.game.hibiya-active .mode-switch button[data-game-mode=zen].active{color:#18201c;background:#b5b5ac;box-shadow:0 0 14px #b5b5ac38}.game.chiyoda-active .mode-switch button[data-game-mode=zen].active{color:#052c20;background:#00bb85;box-shadow:0 0 14px #00bb853d}.game.fukutoshin-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#9c5e31;box-shadow:0 0 14px #9c5e3140}.game.chuo-sobu-active .mode-switch button[data-game-mode=zen].active{color:#302800;background:#ffd400;box-shadow:0 0 14px #ffd4003d}.game.yurakucho-active .mode-switch button[data-game-mode=zen].active{color:#2f2616;background:#c1a470;box-shadow:0 0 14px #c1a47042}.game.yurikamome-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#0067b1;box-shadow:0 0 14px #0067b147}.game.monorail-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#0072bc;box-shadow:0 0 14px #0072bc47}.game.skyliner-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#1f57a4;box-shadow:0 0 14px #1f57a447}.game.oedo-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#cf035a;box-shadow:0 0 14px #cf035a45}.game.asakusa-active .typing-display .correct{color:#f36cab;text-shadow:0 0 16px rgba(232,82,152,.45)}.game.asakusa-active .typing-display .caret{border-left-color:#f36cab}.game.ginza-active .typing-display .correct{color:#ffd34d;text-shadow:0 0 16px rgba(244,180,0,.45)}.game.ginza-active .typing-display .caret{border-left-color:#ffd34d}.game.hanzomon-active .typing-display .correct{color:#b9a7ed;text-shadow:0 0 16px rgba(143,117,214,.48)}.game.hanzomon-active .typing-display .caret{border-left-color:#b9a7ed}.game.tozai-active .typing-display .correct{color:#38c6e4;text-shadow:0 0 16px rgba(0,155,191,.48)}.game.tozai-active .typing-display .caret{border-left-color:#38c6e4}.game.marunouchi-active .typing-display .correct{color:#ff5965;text-shadow:0 0 16px rgba(230,0,18,.45)}.game.marunouchi-active .typing-display .caret{border-left-color:#ff5965}.game.hibiya-active .typing-display .correct{color:#d5d9d6;text-shadow:0 0 16px rgba(181,181,172,.38)}.game.hibiya-active .typing-display .caret{border-left-color:#d5d9d6}.game.chiyoda-active .typing-display .correct{color:#25d6a4;text-shadow:0 0 16px rgba(0,187,133,.46)}.game.chiyoda-active .typing-display .caret{border-left-color:#25d6a4}.game.fukutoshin-active .typing-display .correct{color:#d69a70;text-shadow:0 0 16px rgba(156,94,49,.5)}.game.fukutoshin-active .typing-display .caret{border-left-color:#d69a70}.game.chuo-sobu-active .typing-display .correct{color:#ffe04a;text-shadow:0 0 16px rgba(255,212,0,.48)}.game.chuo-sobu-active .typing-display .caret{border-left-color:#ffe04a}.game.yurakucho-active .typing-display .correct{color:#dec99f;text-shadow:0 0 16px rgba(193,164,112,.48)}.game.yurakucho-active .typing-display .caret{border-left-color:#dec99f}.game.yurikamome-active .typing-display .correct{color:#4ab3f5;text-shadow:0 0 16px rgba(0,103,177,.5)}.game.yurikamome-active .typing-display .caret{border-left-color:#4ab3f5}.game.monorail-active .typing-display .correct{color:#54b9f2;text-shadow:0 0 16px rgba(0,114,188,.5)}.game.monorail-active .typing-display .caret{border-left-color:#54b9f2}.game.skyliner-active .typing-display .correct{color:#6798d7;text-shadow:0 0 16px rgba(31,87,164,.5)}.game.skyliner-active .typing-display .caret{border-left-color:#6798d7}.game.oedo-active .typing-display .correct{color:#ef5798;text-shadow:0 0 16px rgba(207,3,90,.48)}.game.oedo-active .typing-display .caret{border-left-color:#ef5798}.game.chuo-active .typing-display .wrong,.game.asakusa-active .typing-display .wrong,.game.marunouchi-active .typing-display .wrong,.game.oedo-active .typing-display .wrong{color:#e1e6e3;text-shadow:0 0 12px rgba(225,230,227,.35);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.namboku-station-marker,.mita-station-marker,.shinjuku-station-marker{width:13px;height:13px;border:3px solid;border-radius:50%;background:#f7fbf8;box-shadow:0 1px 7px #19362b59;transition:.22s}.namboku-station-marker{border-color:#075e57}.mita-station-marker{border-color:#06476d}.shinjuku-station-marker{border-color:#53610c}.namboku-station-marker.active,.mita-station-marker.active,.shinjuku-station-marker.active{width:18px;height:18px;margin:-3px 0 0 -3px;border:4px solid white}.namboku-station-marker.active,.namboku-station-marker.completed{background:#00ac9b;box-shadow:0 0 0 3px #00ac9b38,0 0 18px #0085788c}.mita-station-marker.active,.mita-station-marker.completed{background:#0079c2;box-shadow:0 0 0 3px #0079c238,0 0 18px #005c978c}.shinjuku-station-marker.active,.shinjuku-station-marker.completed{background:#b0bf1e;box-shadow:0 0 0 3px #b0bf1e3b,0 0 18px #7e8c088a}.station-map-label.active.active-namboku,.station-map-label.namboku-station-marker-label.active{background:#007b70;color:#fff}.station-map-label.active.active-mita,.station-map-label.mita-station-marker-label.active{background:#005b91;color:#fff}.station-map-label.active.active-shinjuku,.station-map-label.shinjuku-station-marker-label.active{background:#69750a;color:#fff}.station-map-label.namboku-station-marker-label.completed{background:#00ac9bf0;color:#fff}.station-map-label.mita-station-marker-label.completed{background:#0079c2f0;color:#fff}.station-map-label.shinjuku-station-marker-label.completed{background:#b0bf1ef2;color:#283000}.game.namboku-active .train-car{background:linear-gradient(180deg,#effffc 0 24%,#00ac9b 24% 100%);filter:drop-shadow(0 2px 3px rgba(3,70,63,.4)) drop-shadow(0 0 4px rgba(0,172,155,.58))}.game.namboku-active .train-car span{background:#075e57}.game.namboku-active .train-car.speeding{filter:drop-shadow(0 0 9px #55dccf)}.game.mita-active .train-car{background:linear-gradient(180deg,#eff9ff 0 24%,#0079c2 24% 100%);filter:drop-shadow(0 2px 3px rgba(0,51,82,.4)) drop-shadow(0 0 4px rgba(0,121,194,.58))}.game.mita-active .train-car span{background:#06476d}.game.mita-active .train-car.speeding{filter:drop-shadow(0 0 9px #51afe7)}.game.shinjuku-active .train-car{background:linear-gradient(180deg,#fbffe9 0 24%,#b0bf1e 24% 100%);filter:drop-shadow(0 2px 3px rgba(59,67,4,.4)) drop-shadow(0 0 4px rgba(176,191,30,.58))}.game.shinjuku-active .train-car span{background:#53610c}.game.shinjuku-active .train-car.speeding{filter:drop-shadow(0 0 9px #dce968)}.station-card.namboku-service .station-code,.station-card.namboku-service .card-endcap{background:#00ac9b}.station-card.namboku-service .direction-row i{background:linear-gradient(90deg,#b9ded9,#00ac9b,#b9ded9)}.station-card.namboku-service .direction-row i:after{background:#00ac9b}.station-card.namboku-service .station-japanese .correct,.station-card.namboku-service .station-hiragana .correct,.station-card.namboku-service .station-english .correct{color:#008f81}.station-card.mita-service .station-code,.station-card.mita-service .card-endcap{background:#0079c2}.station-card.mita-service .direction-row i{background:linear-gradient(90deg,#bdd6e6,#0079c2,#bdd6e6)}.station-card.mita-service .direction-row i:after{background:#0079c2}.station-card.mita-service .station-japanese .correct,.station-card.mita-service .station-hiragana .correct,.station-card.mita-service .station-english .correct{color:#0066a3}.station-card.shinjuku-service .station-code,.station-card.shinjuku-service .card-endcap{background:#b0bf1e}.station-card.shinjuku-service .direction-row i{background:linear-gradient(90deg,#d7dcae,#b0bf1e,#d7dcae)}.station-card.shinjuku-service .direction-row i:after{background:#b0bf1e}.station-card.shinjuku-service .station-japanese .correct,.station-card.shinjuku-service .station-hiragana .correct,.station-card.shinjuku-service .station-english .correct{color:#788407}.route-code.namboku{border-color:#00ac9b;color:#007b70}.route-code.mita{border-color:#0079c2;color:#005b91}.route-code.shinjuku{border-color:#b0bf1e;color:#69750a}.transfer-choice[data-line=namboku] .transfer-badge{border-color:#00ac9b;color:#007b70}.transfer-choice[data-line=mita] .transfer-badge{border-color:#0079c2;color:#005b91}.transfer-choice[data-line=shinjuku] .transfer-badge{border-color:#b0bf1e;color:#69750a}.game.namboku-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#00ac9b}.game.mita-active .mode-switch button[data-game-mode=zen].active{color:#fff;background:#0079c2}.game.shinjuku-active .mode-switch button[data-game-mode=zen].active{color:#273000;background:#b0bf1e}.game.namboku-active .typing-display .correct{color:#31d5c5;text-shadow:0 0 16px rgba(0,172,155,.48)}.game.namboku-active .typing-display .caret{border-left-color:#31d5c5}.game.mita-active .typing-display .correct{color:#48afea;text-shadow:0 0 16px rgba(0,121,194,.48)}.game.mita-active .typing-display .caret{border-left-color:#48afea}.game.shinjuku-active .typing-display .correct{color:#d3df54;text-shadow:0 0 16px rgba(176,191,30,.48)}.game.shinjuku-active .typing-display .caret{border-left-color:#d3df54}@keyframes blink{50%{border-color:transparent}}.typing-input{position:fixed;top:-100px;left:-100px;opacity:0}.typing-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(255,255,255,.09);color:#78867e;font-size:10px;letter-spacing:.06em}.stats{display:flex;gap:35px}.stats span{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:4px}.stats small{grid-column:1/-1;color:#617068;font:500 8px DM Mono;letter-spacing:.15em}.stats b{color:#e5ebe7;font:500 16px DM Mono}.stats em{color:#637169;font: 8px DM Mono}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:22px;background:#010805b5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:.35s}.modal.open{opacity:1;visibility:visible}.travel-journal-modal{z-index:118;padding:3.5vh 4vw;background:#d6e2d77a;-webkit-backdrop-filter:blur(17px) saturate(.76);backdrop-filter:blur(17px) saturate(.76)}.travel-journal-shell{position:relative;display:grid;grid-template-rows:65px minmax(0,1fr) 25px;width:min(1180px,92vw);height:min(800px,91vh);overflow:hidden;border:1px solid rgba(73,81,63,.25);border-radius:8px 13px 13px 8px;background:#f4f0df;color:#293b31;box-shadow:0 32px 100px #10261a59,inset 0 1px #fffc;transform:translateY(12px) scale(.985);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.travel-journal-modal.open .travel-journal-shell{transform:translateY(0) scale(1)}.travel-journal-shell:before{position:absolute;z-index:4;left:50%;top:65px;bottom:25px;width:20px;background:linear-gradient(90deg,transparent,rgba(73,63,44,.09) 42%,rgba(255,255,255,.45) 51%,rgba(73,63,44,.07) 60%,transparent);transform:translate(-50%);pointer-events:none;content:""}.journal-header{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;padding:0 21px 0 27px;border-bottom:1px solid rgba(73,81,63,.15);background:#faf7ebf0}.journal-header small,.journal-header h2{display:block;margin:0}.journal-header small{color:#929083;font:500 6.5px DM Mono;letter-spacing:.17em}.journal-header h2{margin-top:3px;color:#27452d;font:600 18px Outfit}.journal-tabs{display:flex;gap:3px;padding:3px;border:1px solid rgba(66,82,69,.13);border-radius:18px;background:#dde0cf6b}.journal-tabs button{padding:7px 13px;border:0;border-radius:14px;background:transparent;color:#7f847a;font:600 7px DM Mono;letter-spacing:.08em;cursor:pointer}.journal-tabs button.active{background:#fffdf5;color:#537716;box-shadow:0 2px 7px #2a37291a}.journal-close{justify-self:end;width:34px;height:34px;border:1px solid rgba(65,83,70,.15);border-radius:50%;background:#ffffff7a;color:#778178;font:300 24px/1 Outfit;cursor:pointer}.journal-page{min-height:0;overflow:hidden}.journal-page[hidden]{display:none}.journal-overview{display:grid;grid-template-columns:1fr 1fr}.journal-overview>article{min-height:0;padding:28px 34px 30px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(71,89,72,.22) transparent}.journal-page-kicker,.journal-section-heading p,.journal-page-title p{margin:0;color:#909185;font:500 7px DM Mono;letter-spacing:.2em}.journal-passport-row{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:16px;margin-top:18px;padding-bottom:20px;border-bottom:1px solid rgba(62,74,57,.13)}.journal-go-stamp{display:grid;place-items:center;width:66px;height:66px;border:3px double #dd6a51;border-radius:50%;color:#d7614b;font:700 20px Outfit;transform:rotate(-6deg);box-shadow:inset 0 0 0 4px #f4f0df,inset 0 0 0 5px #dd6a5175}.journal-passport-row small,.journal-passport-row strong,.journal-passport-row div>span{display:block}.journal-passport-row small{color:#97978b;font:500 6px DM Mono;letter-spacing:.14em}.journal-passport-row strong{margin-top:4px;color:#304c35;font:600 23px Outfit}.journal-passport-row div>span{margin-top:3px;color:#81877e;font:500 8px DM Mono}.journal-number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:17px 0;border-bottom:1px solid rgba(62,74,57,.13)}.journal-number-grid span{padding-left:10px;border-left:3px solid #a2c436}.journal-number-grid small,.journal-number-grid b{display:block}.journal-number-grid small{color:#949589;font:500 6px DM Mono;letter-spacing:.1em}.journal-number-grid b{margin-top:5px;color:#3f5c3c;font:500 13px DM Mono}.journal-mini-map,.journal-recent{margin-top:18px}.journal-mini-map h3,.journal-recent h3{margin:0 0 10px;color:#405543;font:600 12px Outfit}.journal-mini-map>div{position:relative;display:flex;flex-wrap:wrap;gap:6px;min-height:56px;padding:11px;border:1px solid rgba(69,82,65,.11);border-radius:4px;background:#ffffff42}.journal-line-thread{display:inline-flex;align-items:center;gap:5px;padding:4px 7px 4px 5px;border-radius:12px;background:#ffffffa6;color:#566459;font:500 6.5px DM Mono}.journal-line-thread i{width:10px;height:10px;border:3px solid var(--line-color);border-radius:50%}.journal-recent ol{margin:0;padding:0;list-style:none}.journal-recent li{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:8px;min-height:25px;border-top:1px dotted rgba(66,80,63,.16);color:#536258;font:500 8px DM Mono}.journal-recent li i{width:6px;height:6px;border-radius:50%;background:var(--line-color)}.journal-recent li time{color:#9a9b90;font-size:6.5px}.journal-empty{color:#999b90;font:italic 9px/1.5 Outfit}.journal-stamp-page{background-image:radial-gradient(rgba(87,86,67,.075) .7px,transparent .7px);background-size:8px 8px}.journal-page-title,.journal-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid rgba(62,74,57,.14)}.journal-page-title h3,.journal-section-heading h3{margin:3px 0 0;color:#354e39;font:600 18px Outfit}.journal-page-title>span,.journal-section-heading>span{color:#76911f;font:500 9px DM Mono}.journal-stamp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.journal-quest-stamp{min-width:0;text-align:center}.journal-stamp-mark{position:relative;display:grid;place-items:center;width:61px;height:61px;margin:0 auto 6px;border:2px solid #c7c6b9;border-radius:50%;color:#aaa99c;font:600 21px Noto Sans JP;filter:grayscale(1);opacity:.48}.journal-stamp-mark:before{position:absolute;inset:4px;border:1px dashed currentColor;border-radius:50%;content:""}.journal-quest-stamp.complete .journal-stamp-mark{border-color:var(--stamp-color);color:var(--stamp-color);filter:none;opacity:.88;transform:rotate(var(--stamp-turn))}.journal-quest-stamp.complete .journal-stamp-mark:after{position:absolute;bottom:7px;content:"TOKYO";font:500 4.5px DM Mono;letter-spacing:.13em}.journal-quest-stamp strong{display:block;overflow:hidden;color:#555f57;font:600 8px/1.2 Outfit;text-overflow:ellipsis;white-space:nowrap}.journal-quest-stamp small{display:block;margin-top:2px;color:#99998e;font:500 5.5px/1.25 DM Mono}.journal-quest-stamp:not(.complete) strong{color:#9a9a90}.journal-collection-page,.journal-log-page{padding:27px 34px 32px;overflow-y:auto;background-image:linear-gradient(rgba(123,118,94,.045) 1px,transparent 1px);background-size:100% 27px}.journal-station-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.journal-station-memory{position:sticky;z-index:3;top:-27px;display:grid;grid-template-columns:minmax(130px,.7fr) 1.4fr;align-items:center;gap:12px 22px;margin:-10px 0 18px;padding:15px 18px;border:1px solid rgba(76,97,73,.2);border-radius:5px;background:#faf8edf7;box-shadow:0 10px 28px #2f3d2f24}.journal-station-memory[hidden]{display:none}.journal-station-memory>button{position:absolute;top:7px;right:8px;width:25px;height:25px;border:0;border-radius:50%;background:transparent;color:#8b9088;font:300 19px/1 Outfit;cursor:pointer}.journal-station-memory>small{align-self:end;color:#92958a;font:500 6px DM Mono;letter-spacing:.16em}.journal-station-memory>h3{grid-column:1;align-self:start;margin:0;color:#38513b;font:600 19px Outfit}.journal-station-memory>div{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-right:18px}.journal-station-memory>div small,.journal-station-memory>div b{display:block}.journal-station-memory>div small{color:#96998f;font:500 5.5px DM Mono;letter-spacing:.09em}.journal-station-memory>div b{margin-top:5px;color:#526455;font:500 8px/1.3 DM Mono}.journal-station-group{padding:13px;border:1px solid rgba(65,79,62,.13);border-radius:5px;background:#fdfbf1bd;break-inside:avoid}.journal-station-group header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.journal-station-group header i{width:13px;height:13px;border:4px solid var(--line-color);border-radius:50%}.journal-station-group header strong{color:#405443;font:600 11px Outfit}.journal-station-group header span{margin-left:auto;color:#899087;font:500 6.5px DM Mono}.journal-station-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 7px}.journal-station-entry{display:grid;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:5px;min-height:18px;padding:0;border:0;background:transparent;color:#899087;font:500 6.5px DM Mono;text-align:left}.journal-station-entry i{width:5px;height:5px;border:1px solid #c2c3b8;border-radius:50%}.journal-station-entry.visited{color:#465749}.journal-station-entry.visited{cursor:pointer}.journal-station-entry.visited:hover,.journal-station-entry.visited:focus-visible{color:#66851e;outline:none}.journal-station-entry.visited i{border-color:var(--line-color);background:var(--line-color);box-shadow:0 0 0 2px #ffffffa6}.journal-station-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-timeline{width:min(760px,100%);margin:0 auto;padding:0;list-style:none}.journal-timeline li{position:relative;display:grid;grid-template-columns:58px 18px 1fr;gap:10px;min-height:48px}.journal-timeline li:before{position:absolute;left:66px;top:19px;bottom:-5px;width:1px;background:#5368562e;content:""}.journal-timeline li:last-child:before{display:none}.journal-timeline time{padding-top:5px;color:#94978d;font:500 7px DM Mono;text-align:right}.journal-timeline i{z-index:1;width:9px;height:9px;margin-top:4px;border:3px solid #f4f0df;border-radius:50%;background:var(--event-color,#8db51b);box-shadow:0 0 0 1px var(--event-color,#8db51b)}.journal-timeline strong,.journal-timeline span{display:block}.journal-timeline strong{color:#425548;font:600 10px Outfit}.journal-timeline span{margin-top:2px;color:#828980;font:500 7px/1.4 DM Mono}.journal-footer{display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-top:1px solid rgba(73,81,63,.12);color:#9b998b;font:500 5.5px DM Mono;letter-spacing:.14em;background:#ebe7d7}.gamja-chat-modal{z-index:125;background:#e0eae16b;-webkit-backdrop-filter:blur(15px) saturate(.82);backdrop-filter:blur(15px) saturate(.82)}.gamja-chat-shell{position:relative;display:grid;grid-template-rows:58px minmax(0,1fr) 24px;width:min(1180px,72vw);min-width:680px;height:74dvh;min-height:480px;overflow:hidden;border:1px solid rgba(57,88,68,.24);border-radius:10px;background:#f7f9f1;box-shadow:0 28px 90px #102b1d52,inset 0 1px #ffffffe6;transform:translateY(10px) scale(.985);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.gamja-chat-modal.open .gamja-chat-shell{transform:translateY(0) scale(1)}.gamja-chat-shell>header{z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 15px 0 18px;border-bottom:1px solid rgba(57,88,68,.13);background:linear-gradient(90deg,#fafcf6fa,#ebf3e2fa)}.gamja-chat-shell>header small,.gamja-chat-shell>header h2{display:block;margin:0}.gamja-chat-shell>header small{color:#8c998f;font:600 7px DM Mono;letter-spacing:.16em}.gamja-chat-shell>header h2{margin-top:3px;color:#355126;font:600 16px Outfit;letter-spacing:-.01em}.gamja-chat-shell>header button{width:34px;height:34px;border:1px solid rgba(70,99,80,.16);border-radius:50%;background:#ffffff94;color:#718078;font:300 24px/1 Outfit;cursor:pointer;transition:.2s}.gamja-chat-shell>header button:hover{border-color:#7ea02f59;background:#fff;color:#5d8117}.gamja-chat-shell iframe{position:relative;z-index:1;width:100%;height:100%;border:0;background:#f7f9f1;opacity:0;transition:opacity .35s ease}.gamja-chat-shell iframe.ready{opacity:1}.gamja-chat-loader{position:absolute;z-index:0;inset:58px 0 24px;display:grid;place-content:center;justify-items:center;gap:13px;color:#7c8a81;font:600 8px DM Mono;letter-spacing:.15em}.gamja-chat-loader i{width:30px;height:30px;border:3px solid rgba(126,160,47,.18);border-top-color:#8eae31;border-radius:50%;animation:gamja-loader-spin .9s linear infinite}.gamja-chat-loader[hidden]{display:none}.gamja-chat-shell>footer{z-index:2;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(57,88,68,.1);background:#f2f6ec;color:#98a39c;font:500 6px DM Mono;letter-spacing:.12em}.gamja-chat-shell>footer a{margin:0 4px;color:#668b17;text-decoration:none}@keyframes gamja-loader-spin{to{transform:rotate(360deg)}}.menu-panel{width:min(790px,100%);min-height:510px;display:grid;grid-template-columns:72px 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:linear-gradient(135deg,#132b20f7,#06120dfa);box-shadow:0 35px 100px #0009}.menu-rail{padding:26px 0;display:flex;flex-direction:column;align-items:center;gap:20px;background:var(--green);color:var(--ink)}.menu-rail span{display:grid;place-items:center;width:42px;height:42px;border:4px solid var(--ink);border-radius:50%;font:700 12px DM Mono}.menu-rail i{width:2px;flex:1;background:var(--ink);opacity:.35}.menu-rail small{writing-mode:vertical-rl;font:700 9px Noto Sans JP;letter-spacing:.25em}.menu-content{padding:45px 54px 28px}.eyebrow{margin:0 0 12px;color:var(--green-bright);font:500 9px DM Mono;letter-spacing:.24em}h1{margin:0;font:600 clamp(48px,7vw,76px)/.85 "Outfit";letter-spacing:-.045em}h1 em{color:var(--green);font-style:normal}.intro{width:75%;margin:23px 0 26px;color:#9caaa2;font-size:14px;line-height:1.55}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{min-height:91px;padding:17px;display:grid;grid-template-columns:41px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:5px;background:#ffffff09;cursor:pointer;transition:.22s}.mode-card:hover{transform:translateY(-3px);border-color:var(--green);background:#9bc51b1a}.mode-icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid #6c7d73;border-radius:50%;color:var(--green-bright)}.mode-card b,.mode-card small{display:block}.mode-card b{font-size:15px}.mode-card small{margin-top:6px;color:#7f8d85;font-size:10px;line-height:1.3}.mode-card i{color:var(--green-bright);font-style:normal}.leaderboard-link,.text-button{margin-top:20px;padding:0;border:0;background:none;color:#b6c0ba;font:500 10px DM Mono;letter-spacing:.14em;cursor:pointer}.leaderboard-link span{color:var(--green-bright)}.keyboard-tip{float:right;margin:19px 0 0;color:#56655d;font-size:9px}kbd{padding:3px 6px;border:1px solid #445249;border-radius:3px;font:8px DM Mono}.dialog-panel{position:relative;width:min(520px,100%);padding:38px 42px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#0b2118;box-shadow:0 30px 80px #000a}.dialog-panel h2{margin:0 0 27px;font-size:38px}.new-journey-confirm-panel{width:min(450px,100%);color:#1d3026;border-color:#5b706333;background:linear-gradient(145deg,#fffffcfa,#ecf2ebf7);box-shadow:0 28px 80px #122a1d4d;text-align:center}.new-journey-confirm-panel .close-button{color:#7c8981}.new-journey-confirm-panel .eyebrow{margin-bottom:9px;color:#96734c}.new-journey-confirm-panel h2{margin-bottom:12px;color:#203b2c;font-size:29px;line-height:1.05}.new-journey-confirm-panel>p:last-of-type{margin:0 auto;max-width:340px;color:#6a786f;font-size:11px;line-height:1.6}.new-journey-confirm-panel>p strong{color:#3f5e4b}.confirm-orbit{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border:4px solid #c8aa75;border-radius:50%;color:#8c693e;background:#ffffff9e;font:600 23px/1 Outfit}.new-journey-confirm-actions{margin-top:23px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.new-journey-confirm-actions button{min-height:42px;padding:9px 12px;border-radius:4px;font:600 7px/1.35 DM Mono;letter-spacing:.09em;cursor:pointer}.secondary-confirm-button{border:1px solid rgba(65,90,75,.23);background:#ffffff94;color:#587064}.danger-confirm-button{border:1px solid #a86a4d;background:#a86a4d;color:#fff}.danger-confirm-button:hover{border-color:#91553a;background:#91553a}.danger-confirm-button:disabled{cursor:wait;opacity:.55}.leaderboard-tabs{display:flex;gap:5px;margin:-14px 0 22px;padding:3px;border-radius:20px;background:#ffffff0d}.leaderboard-tabs button{flex:1;padding:7px 10px;border:0;border-radius:16px;background:transparent;color:#728178;font:500 8px DM Mono;letter-spacing:.08em;cursor:pointer}.leaderboard-tabs button.active{background:var(--green-bright);color:#07130f}.close-button{position:absolute;right:18px;top:15px;border:0;background:none;font-size:25px;color:#819087;cursor:pointer}.score-head,.score-list li{display:grid;grid-template-columns:34px 1fr 60px 70px;column-gap:10px;align-items:center}.score-head{padding:0 8px 9px;color:#6e7d74;font:500 9.5px DM Mono;letter-spacing:.08em}.score-list{margin:0;padding:0;list-style:none;counter-reset:rank}.score-list li{counter-increment:rank;padding:12px 8px;border-top:1px solid rgba(255,255,255,.08);font:500 13px DM Mono}.score-list li:before{content:counter(rank,decimal-leading-zero);color:var(--green)}.score-list li span:nth-child(2),.score-list li span:nth-child(3){color:#96a49c}.score-list .empty-score{display:block;color:#728078;text-align:center;padding:32px 0}.score-list .empty-score:before{display:none}.score-note{margin:22px 0 0;color:#617068;font-size:10px}.score-submit-message{min-height:14px;margin:9px 0 -7px;color:#ff8c8c;font:500 9px/1.4 DM Mono}.result-panel{text-align:center}.journey-finale-panel{width:min(470px,100%);color:#17271f;border:1px solid rgba(63,91,73,.2);background:linear-gradient(145deg,#fffffbf7,#e8f1e8f5);box-shadow:0 28px 80px #122a1d45,inset 0 1px #ffffffd9;text-align:center}.journey-finale-panel .eyebrow{color:#64851a}.journey-finale-panel h2{margin-bottom:14px;color:#173426;font-size:32px}.journey-finale-story{margin:0;color:#66776d;font-size:11px;line-height:1.65}.journey-credits{margin:22px 0 18px;padding:15px;border:1px solid rgba(62,91,73,.14);border-radius:6px;background:#ffffff85}.journey-credits small,.journey-credits strong,.journey-credits span{display:block}.journey-credits small{color:#829087;font:600 6px DM Mono;letter-spacing:.18em}.journey-credits strong{margin-top:7px;color:#355126;font-size:13px}.journey-credits span{margin-top:4px;color:#7b8981;font-size:9px}.journey-finale-panel .result-orbit{border-color:#8eae31;color:#526b13;background:#ffffff85}.result-orbit{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 22px;border:6px solid var(--green);border-radius:50%;font:700 16px DM Mono}.result-stats{display:flex;justify-content:center;gap:55px;margin:26px 0}.result-stats small,.result-stats b{display:block}.result-stats small{color:#6e7e75;font:8px DM Mono}.result-stats b{margin-top:6px;font:500 24px DM Mono}.result-penalty{min-height:15px;margin:-14px 0 18px;color:#87958d;font:500 8px DM Mono;letter-spacing:.06em}.result-panel label{display:block;text-align:left;color:#78867e;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.result-panel input{width:100%;margin-top:7px;padding:14px;border:1px solid #415248;border-radius:4px;outline:0;background:#06130e;color:#fff;font:500 15px DM Mono;text-transform:uppercase}.result-panel input:focus{border-color:var(--green)}.primary-button{width:100%;margin-top:12px;padding:14px;border:0;border-radius:4px;background:var(--green);color:var(--ink);font:700 10px DM Mono;letter-spacing:.15em;cursor:pointer}.primary-button:disabled{cursor:not-allowed;opacity:.42}.text-button{display:block;margin:17px auto 0}#leaderboardModal{background:#e1ebe24d;-webkit-backdrop-filter:blur(11px) saturate(.78);backdrop-filter:blur(11px) saturate(.78)}#leaderboardModal .dialog-panel{color:#17271f;border:1px solid rgba(63,91,73,.2);background:linear-gradient(145deg,#fffffbf5,#e8f1e8f0);box-shadow:0 28px 80px #122a1d45,inset 0 1px #ffffffd9}#leaderboardModal .dialog-panel{width:min(590px,100%)}#leaderboardModal .eyebrow{color:#64851a}#leaderboardModal .close-button{color:#68786f}#leaderboardTitle{margin-bottom:27px;font-size:clamp(17px,5.1vw,34px);letter-spacing:-.025em;white-space:nowrap}#leaderboardModal .score-head{color:#6d7c73}#leaderboardModal .score-list li{border-top-color:#314e3c21}#leaderboardModal .score-list li:before{color:#719713}#leaderboardModal .score-list li span{color:#24382d}#leaderboardModal .score-list li span:nth-child(2),#leaderboardModal .score-list li span:nth-child(3){color:#687a70}#leaderboardModal .score-list .empty-score,#leaderboardModal .score-note{color:#718077}#accountModal{background:#e1ebe24d;-webkit-backdrop-filter:blur(11px) saturate(.78);backdrop-filter:blur(11px) saturate(.78)}#accountModal .dialog-panel{width:min(470px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;color:#17271f;border:1px solid rgba(63,91,73,.2);background:linear-gradient(145deg,#fffffbf7,#e8f1e8f5);box-shadow:0 28px 80px #122a1d45,inset 0 1px #ffffffd9}#accountModal .eyebrow{color:#64851a}#accountModal .close-button{color:#68786f}.account-panel h2{margin-bottom:12px;color:#173426;font-size:34px}.settings-preferences{display:grid;gap:8px;margin:18px 0 22px}.settings-preference{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 14px;border:1px solid rgba(62,91,73,.14);border-radius:6px;background:#ffffff85}.settings-preference strong{display:block;color:#2e4738;font-size:13px}.settings-preference p{margin:3px 0 0;color:#78867e;font-size:9px;line-height:1.45}.preference-toggle{min-width:64px;padding:7px 9px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(77,98,85,.2);border-radius:18px;background:#6d7e7417;color:#7b8981;cursor:pointer;transition:.2s}.preference-toggle span{position:relative;width:23px;height:13px;border-radius:8px;background:#aab3ad;transition:.2s}.preference-toggle span:after{content:"";position:absolute;left:2px;top:2px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1f312640;transition:transform .2s}.preference-toggle b{font:600 7px DM Mono;letter-spacing:.08em}.preference-toggle.active{border-color:#7ea02f52;background:#8eae3121;color:#557819}.preference-toggle.active span{background:#8eae31}.preference-toggle.active span:after{transform:translate(10px)}.settings-section-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#819087;font:600 7px DM Mono;letter-spacing:.17em}.settings-section-title:after{content:"";height:1px;flex:1;background:#2f4d3a21}.account-intro,.account-form>p{margin:0 0 17px;color:#697970;font-size:11px;line-height:1.55}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:20px 0 18px;padding:3px;border-radius:20px;background:#425e4c14}.account-tabs button{padding:8px;border:0;border-radius:17px;background:transparent;color:#77867d;font:600 8px DM Mono;letter-spacing:.1em;cursor:pointer}.account-tabs button.active{background:#fff;color:#547916;box-shadow:0 3px 12px #22412d1f}.account-form{display:grid;gap:7px}.account-form[hidden],#accountSignedOut[hidden],#accountSignedIn[hidden]{display:none}.account-form label{margin-top:4px;color:#718078;font:500 7px DM Mono;letter-spacing:.13em}.account-form input{width:100%;padding:11px 12px;border:1px solid rgba(64,91,74,.22);border-radius:5px;outline:0;background:#ffffffc7;color:#173426;font:500 12px DM Mono}.account-form input:focus{border-color:#91b62f;box-shadow:0 0 0 3px #91b62f1c}.account-form .primary-button,.account-actions .primary-button{background:#8eae31;color:#13200e}.account-text-button{display:block;margin:14px auto 0;padding:4px;border:0;background:none;color:#718077;font:600 8px DM Mono;letter-spacing:.11em;cursor:pointer}.delete-account-button{margin-top:7px;color:#98716d}.account-message{min-height:16px;margin:14px 0 -8px;color:#a8483e;font:500 9px/1.45 DM Mono;text-align:center}.account-message.success{color:#557d18}.account-profile{display:flex;align-items:center;gap:12px;margin:22px 0 18px;padding-bottom:17px;border-bottom:1px solid rgba(47,77,58,.12)}.account-avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#8eae31;color:#15230e;font:700 16px Outfit}.account-profile strong,.account-profile small{display:block}.account-profile strong{color:#263d30;font-size:15px}.account-profile small{margin-top:3px;color:#7c8981;font:500 8px DM Mono}.cloud-card{padding:14px 16px;border:1px solid rgba(62,91,73,.15);border-radius:6px;background:#ffffff8c}.cloud-card small,.cloud-card strong,.cloud-card span{display:block}.cloud-card small{color:#849087;font:500 7px DM Mono;letter-spacing:.14em}.cloud-card strong{margin-top:5px;color:#355422;font-size:14px}.cloud-card span{margin-top:3px;color:#7c8981;font-size:9px}.account-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.secondary-account-button{width:100%;padding:12px;border:1px solid rgba(70,99,80,.22);border-radius:4px;background:#ffffff8c;color:#52655a;font:700 9px DM Mono;letter-spacing:.11em;cursor:pointer}.delete-account-form{margin-top:16px;padding:15px;border:1px solid rgba(166,73,62,.23);border-radius:6px;background:#ffebe79e;text-align:left}.delete-account-form strong{color:#813b34;font-size:12px}.delete-account-form p{margin:0 0 6px;color:#806d68;font-size:9px}.delete-account-form>div{display:grid;grid-template-columns:1fr 1.35fr;gap:7px;margin-top:6px}.delete-account-form>div button{padding:9px 6px;border:1px solid rgba(74,93,81,.2);border-radius:4px;background:#ffffff80;color:#627168;font:600 7px DM Mono;cursor:pointer}.delete-account-form>div .confirm-account-delete{border-color:#9d4b43;background:#9d4b43;color:#fff}@media(max-width:700px){.game{min-height:560px}.journal-button,.travel-journal-modal{display:none!important}.gamja-chat-modal{padding:8px}.gamja-chat-shell{grid-template-rows:54px minmax(0,1fr) 22px;width:calc(100vw - 16px);min-width:0;height:calc(100dvh - 16px);min-height:0;border-radius:8px}.gamja-chat-shell>header{padding-left:14px}.gamja-chat-shell>header h2{font-size:14px}.gamja-chat-loader{inset:54px 0 22px}.topbar{height:62px;padding:0 16px}.brand>span:last-child{display:none}.statistics-button,.statistics-panel{display:none!important}.zen-intro{top:39%;padding:22px 21px 21px}.zen-intro h2{font-size:24px}.new-journey-confirm-panel{padding:31px 23px}.new-journey-confirm-actions{grid-template-columns:1fr}.now-playing{top:64px;min-width:0;width:min(280px,calc(100vw - 32px));max-width:none;padding:7px 10px 8px}.now-playing>span{font-size:6px}.now-playing strong{font-size:11px}.left-panel-stack{top:70px;left:16px;width:188px;gap:7px}.mission-board{padding:9px 11px}.right-panel-stack{top:70px;right:16px;width:238px;gap:7px}.side-panel{padding:10px 11px}.game:has(.right-panel-stack .side-panel:not([hidden]):not(.statistics-panel)) .mission-board{opacity:0;visibility:hidden;pointer-events:none}.mission-board>p{font-size:7.5px}.mission-summary span{font-size:7px}.mission-group-label{font-size:6.5px}.mission-board li{font-size:9.5px}.mission-history-toggle{font-size:7px}.compact-score-head{font-size:6.5px}.compact-score-list li{font-size:8px}.chat-messages li{font-size:9px}.chat-messages li time{font-size:7px}.chat-messages .chat-event,.chat-messages .chat-empty{font-size:8px}.chat-form input{font-size:9px}.mission-complete-toast{top:126px;padding:13px 17px 14px}.mission-complete-toast h2{font-size:19px}.ambience-toast{top:126px;width:min(360px,calc(100vw - 32px));padding:12px 16px 13px}.ambience-toast h2{font-size:19px}.ambience-toast>span{font-size:9.5px}.game:has(.mission-complete-toast.visible) .ambience-toast{top:230px}.map-stage{inset:0}.station-map-label{display:none}.station-card{bottom:22px;grid-template-columns:66px 1fr;min-height:103px}.transfer-choice,.transfer-choice.many-lines{bottom:143px;grid-template-columns:38px minmax(0,1fr) auto;gap:6px;padding:7px}.direction-turn-choice{bottom:143px;padding:11px 12px 12px}.transfer-badge{width:35px;height:35px;border-width:3px;font-size:13px}.transfer-choice button{padding:6px 7px;font-size:6px}.direction-buttons{flex-direction:column;gap:3px}.transfer-routes,.transfer-choice.many-lines .transfer-routes{grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;width:100%;max-width:none;gap:4px}.transfer-line-options{gap:3px}.transfer-choice .transfer-routes button{grid-template-columns:19px minmax(0,1fr) 14px;gap:4px;min-width:82px;padding:4px}.transfer-choice .transfer-routes button>span{font-size:5.5px}.route-code{width:19px;height:19px;border-width:2.5px!important;font-size:6.5px}.route-direction-arrow{width:14px;height:14px;font-size:8px}.transfer-choice .direction-buttons button{padding:4px 6px;font-size:5.5px}.station-code{width:48px;height:48px;gap:1.5px;padding:0 0 3px;border-radius:6px}.station-code:before{inset:5.5px}.station-code span:first-child{font-size:14px}.station-code span+span{font-size:17px}.card-endcap{display:none}.station-copy{padding:12px}.station-japanese{font-size:25px}.menu-panel{grid-template-columns:44px 1fr;min-height:0}.menu-rail span{width:32px;height:32px;border-width:3px;font-size:9px}.menu-content{padding:33px 24px 26px}.intro{width:100%;margin:18px 0}.mode-grid{grid-template-columns:1fr}.keyboard-tip{display:none}.dialog-panel{padding:34px 23px}#leaderboardModal .dialog-panel{padding-left:18px;padding-right:18px}.game.keyboard-open .topbar,.game.keyboard-open .right-panel-stack,.game.keyboard-open .now-playing{opacity:0;visibility:hidden;pointer-events:none}.game.keyboard-open .station-card{position:fixed;z-index:30;top:calc(var(--visual-viewport-top, 0px) + 10px);bottom:auto;width:calc(100vw - 20px);min-height:100px;grid-template-columns:60px minmax(0,1fr);box-shadow:0 12px 32px #07130f4d}.game.keyboard-open .station-copy{padding:9px 10px 8px}.game.keyboard-open .direction-row{gap:7px;font-size:7px}.game.keyboard-open .station-name-stack{min-height:66px;transform:none}.game.keyboard-open .station-japanese{font-size:25px}.game.keyboard-open .station-hiragana,.game.keyboard-open .station-english{font-size:13px}.game.keyboard-open .station-name-stack.long-name .station-japanese{font-size:19px}.game.keyboard-open .station-name-stack.long-name .station-hiragana,.game.keyboard-open .station-name-stack.long-name .station-english{font-size:10.5px}.game.keyboard-open .station-name-stack.very-long-name .station-japanese{font-size:14px}.game.keyboard-open .station-name-stack.very-long-name .station-hiragana,.game.keyboard-open .station-name-stack.very-long-name .station-english{font-size:8.5px}.game.keyboard-open .left-panel-stack{position:fixed;z-index:22;top:calc(var(--visual-viewport-top, 0px) + 122px);left:8px;width:min(148px,calc(42vw - 8px));gap:0;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility .25s}.game.keyboard-open .mission-board{max-height:min(140px,calc(var(--visual-viewport-height, 100dvh) - 138px));padding:7px 8px 8px;overflow:hidden;border-color:#ffffffa8;background:#f7faf1d6;box-shadow:0 8px 22px #12312029;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game.keyboard-open .left-panel-stack .mission-board{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.game.keyboard-open .mission-board>p{gap:5px;margin-bottom:5px;font-size:6px;letter-spacing:.13em}.game.keyboard-open .mission-summary{margin-bottom:5px}.game.keyboard-open .mission-summary strong{font-size:10px}.game.keyboard-open .mission-summary span{font-size:5.5px}.game.keyboard-open .mission-list{max-height:min(96px,calc(var(--visual-viewport-height, 100dvh) - 180px));gap:4px}.game.keyboard-open .mission-group{gap:2px}.game.keyboard-open .mission-group-label{font-size:5.5px;letter-spacing:.12em}.game.keyboard-open .mission-board ul{gap:2px}.game.keyboard-open .mission-board li{font-size:7.5px;line-height:1.2}.game.keyboard-open .mission-entry{grid-template-columns:9px minmax(0,1fr) 7px;padding:1px 0}.game.keyboard-open .mission-marker,.game.keyboard-open .mission-hint-chevron{font-size:7px}.game.keyboard-open .mission-hint{margin:2px 3px 2px 11px;padding:4px 5px;font-size:7px;line-height:1.3}.game.keyboard-open .mission-history-toggle{font-size:5.5px}.game.keyboard-open .traveler-quest-panel{display:none}.game.keyboard-open .zen-intro{position:fixed;z-index:28;top:calc(var(--visual-viewport-top, 0px) + 122px);left:10px;width:calc(100vw - 20px);max-height:calc(var(--visual-viewport-height, 100dvh) - 132px);padding:10px 14px 11px;overflow:hidden;transform:none;border-radius:6px}.game.keyboard-open .zen-intro.visible{transform:none}.game.keyboard-open .zen-kicker{font-size:5.5px;letter-spacing:.17em}.game.keyboard-open .zen-kicker i{width:5px;height:5px}.game.keyboard-open .zen-time{margin-top:5px;font-size:7.5px}.game.keyboard-open .zen-time b{font-size:9px}.game.keyboard-open .zen-intro h2{margin:5px 0 4px;font-size:17px;line-height:1.05}.game.keyboard-open .zen-intro>p:last-of-type{display:-webkit-box;max-width:none;overflow:hidden;font-size:9px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.game.keyboard-open .transfer-choice,.game.keyboard-open .direction-turn-choice{position:fixed;z-index:29;top:calc(var(--visual-viewport-top, 0px) + 122px);bottom:auto;left:50%;width:calc(100vw - 16px);max-height:min(174px,calc(var(--visual-viewport-height, 100dvh) - 132px));overflow-y:auto;border-color:#ffffffb8;background:#f9fbf5eb;box-shadow:0 10px 30px #0c271933;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.game.keyboard-open .transfer-choice,.game.keyboard-open .transfer-choice.many-lines{grid-template-columns:34px minmax(0,1fr);gap:5px 7px;padding:7px 8px 8px}.game.keyboard-open .transfer-badge{width:32px;height:32px;border-width:3px;font-size:11px}.game.keyboard-open .transfer-choice small{font-size:5px}.game.keyboard-open .transfer-choice strong{font-size:11px}.game.keyboard-open .transfer-choice span{font-size:7px}.game.keyboard-open .transfer-routes,.game.keyboard-open .transfer-choice.many-lines .transfer-routes{grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;gap:4px}.game.keyboard-open .transfer-choice.busy-interchange .transfer-routes{max-height:116px}.game.keyboard-open .direction-turn-choice{padding:9px 11px 10px}.game.keyboard-open .direction-turn-choice>strong{font-size:14px}.game.keyboard-open .direction-turn-choice>span{font-size:8px}.game.keyboard-open:has(.transfer-choice.visible) .left-panel-stack,.game.keyboard-open:has(.direction-turn-choice.visible) .left-panel-stack,.game.keyboard-open:has(.zen-intro.visible) .left-panel-stack{opacity:0;visibility:hidden;pointer-events:none}}@media(max-height:700px)and (min-width:701px){.map-stage{inset:0}.topbar{height:56px}.station-card{bottom:22px;min-height:98px}.transfer-choice{bottom:138px}.menu-panel{min-height:460px}.menu-content{padding-top:30px}}
