/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--paper:#f7f7f5;--surface:#fff;--ink:#20201e;--muted:#73736e;--line:#e2e2de;--soft-line:#ecece8;--accent:#ffdd31;--accent-ink:#1e241d;--navy:#17324d;--shadow:0 18px 55px #181d1814}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:radial-gradient(circle at 85% 12%, #ffdd311f, transparent 26rem), var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #205dff66}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-shell.phase-setup{padding-bottom:104px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;width:min(100% - 48px,1580px);min-height:74px;margin:0 auto;display:flex}.brand{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:12px;font-size:18px;font-weight:730;text-decoration:none;display:inline-flex}.route-mark{background:#fff;border:1px solid #d6d6d2;border-radius:9px;align-content:center;gap:3px;width:34px;height:34px;padding:8px 7px;display:grid;transform:rotate(-4deg);box-shadow:0 2px 4px #0000000a}.route-mark span{border-radius:99px;height:3px}.route-mark span:first-child{background:#ffb30f;width:70%}.route-mark span:nth-child(2){background:#ef4438;width:100%}.route-mark span:nth-child(3){background:#88c83e;width:84%}.route-mark span:nth-child(4){background:#0aa8df;width:55%}.header-note{color:var(--muted);font-size:13px}.header-actions{align-items:center;gap:17px;display:flex}.scoreboard-button{color:#33332f;cursor:pointer;background:#fff;border:1px solid #d5d5d0;border-radius:9px;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:12px;font-weight:700;transition:border-color .14s,background .14s,transform .14s;display:inline-flex}.scoreboard-button span{color:#64500a;background:#ffed83;border:1px solid #d8bd20;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-weight:800;display:grid}.scoreboard-button:hover{background:#fffbea;border-color:#aaa9a2;transform:translateY(-1px)}.setup-layout{flex:1;grid-template-columns:minmax(480px,.85fr) minmax(650px,1.25fr);align-items:center;gap:clamp(34px,5vw,82px);width:min(100% - 48px,1580px);margin:0 auto;padding:clamp(44px,7vh,92px) 0 58px;display:grid}.setup-copy{min-width:0}.intro{padding:0 8px 24px}.eyebrow{color:#5e5e58;letter-spacing:.13em;text-transform:uppercase;margin:0 0 13px;font-size:11px;font-weight:740}.intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(46px,4.8vw,78px);font-weight:690;line-height:.98}.intro h1 em{color:var(--navy);letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-weight:500;position:relative}.intro h1 em:after{content:"";background:var(--accent);z-index:-1;border-radius:50%;height:7px;position:absolute;bottom:-5px;left:2%;right:-1%;transform:rotate(-1.5deg)}.lede{color:#656560;max-width:570px;margin:18px 0 0;font-size:16px;line-height:1.65}.setup-card{z-index:90;left:50%;bottom:max(12px, env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-radius:14px;grid-template-columns:auto minmax(390px,1fr) auto auto;align-items:center;gap:12px;width:min(100% - 28px,1540px);padding:10px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 55px #171c1629}.dock-intro{min-width:130px;padding:0 8px}.dock-intro small,.dock-intro strong{display:block}.dock-intro small{color:#85857e;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:8px;font-weight:730}.dock-intro strong{letter-spacing:-.02em;font-size:13px}.section-heading{align-items:flex-start;gap:13px;margin-bottom:17px;display:flex}.step-number{color:#fff;background:#20201e;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:11px;font-weight:750;display:grid}.section-heading h2{letter-spacing:-.02em;margin:0 0 4px;font-size:14px;font-weight:690}.section-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.difficulty-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.difficulty-card{border:1px solid var(--line);min-height:58px;color:var(--ink);text-align:left;cursor:pointer;background:#fafaf8;border-radius:11px;padding:9px 34px 8px 10px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;position:relative}.difficulty-card:hover{border-color:#c7c7c1;transform:translateY(-2px);box-shadow:0 8px 16px #1418130d}.difficulty-card.is-selected{background:#fff;border-color:#242421;box-shadow:inset 0 0 0 1px #242421,0 8px 18px #1418130f}.difficulty-card small,.difficulty-card strong,.difficulty-card span{display:block}.difficulty-card small{color:#8a8a84;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700}.difficulty-card strong{letter-spacing:-.025em;margin:0;font-size:12px}.difficulty-card span{display:none}.difficulty-card i{color:#111;background:#fff;border:1px solid #d4d4cf;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;font-style:normal;display:grid;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.difficulty-card.is-selected i{border-color:var(--accent);background:var(--accent)}.network-row{border-top:0;border-right:1px solid var(--soft-line);border-bottom:0;border-left:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:18px;min-height:58px;margin:0;padding:0 12px;display:flex}.section-heading.compact{align-items:center;margin:0}.setup-card .section-heading.compact h2{font-size:12px}.setup-card .section-heading.compact p{white-space:nowrap;max-width:150px;font-size:9px}.toggle{color:#777771;cursor:pointer;background:#efefec;border:1px solid #d6d6d1;border-radius:999px;justify-content:flex-start;align-items:center;gap:7px;min-width:76px;min-height:44px;padding:4px 10px 4px 5px;transition:background .16s,border-color .16s;display:flex}.toggle span{background:#fff;border-radius:50%;width:32px;height:32px;transition:transform .18s cubic-bezier(.2,.8,.2,1);box-shadow:0 2px 6px #00000024}.toggle b{text-transform:uppercase;letter-spacing:.06em;font-size:10px}.toggle.is-on{color:#fff;background:#20201e;border-color:#20201e;flex-direction:row-reverse;padding:4px 5px 4px 11px}.start-row{justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.start-row>div strong,.start-row>div span{display:block}.dock-summary small{color:#5f705b;font-variant-numeric:tabular-nums;margin-top:3px;font-size:9px;font-weight:680;display:block}.start-row>div strong{margin-bottom:3px;font-size:13px}.start-row>div span{color:var(--muted);font-size:11px}.primary-button,.quiet-button{cursor:pointer;border-radius:8px;min-height:44px;font-weight:670;transition:transform .13s,box-shadow .13s,background .13s}.primary-button{color:#fff;background:#20201e;border:1px solid #1d1d1b;padding:0 17px;box-shadow:0 4px #d8bd20}.primary-button:hover{background:#30302d;transform:translateY(-1px);box-shadow:0 5px #d8bd20}.primary-button:active{transform:translateY(3px);box-shadow:0 1px #d8bd20}.primary-button span{margin-left:13px;transition:transform .13s;display:inline-block}.primary-button:hover span{transform:translate(3px)}.quiet-button{border:1px solid var(--line);color:#4d4d49;background:#fff;padding:0 14px}.quiet-button:hover{background:#f2f2ef}.best-note{border-top:1px dashed var(--line);color:var(--muted);text-align:center;margin:17px 0 -4px;padding-top:14px;font-size:11px}.best-note strong{color:var(--ink);font-variant-numeric:tabular-nums}.preview-column{height:min(68vh,690px);min-height:560px;box-shadow:var(--shadow);background:#fbfbf9;border:1px solid #dcdcd7;border-radius:20px;position:relative;overflow:hidden;transform:rotate(.35deg)}.preview-column:after{content:"";pointer-events:none;border:1px solid #20201e0a;border-radius:13px;position:absolute;inset:9px}.preview-meta{z-index:15;background:#ffffffe6;border:1px solid #e3e3de;border-radius:9px;padding:10px 12px;position:absolute;top:18px;left:20px;box-shadow:0 7px 20px #0000000a}.preview-meta span,.preview-meta strong{display:block}.preview-meta span{color:#85857e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:9px}.preview-meta strong{font-size:12px}.preview-tip{z-index:15;background:var(--accent);color:#3a3313;border:1px solid #ead44f;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:650;position:absolute;bottom:18px;right:20px;transform:rotate(-1.4deg)}.preview-tip span{margin-right:6px}footer{border-top:1px solid var(--line);color:#85857f;justify-content:space-between;align-items:center;gap:24px;width:min(100% - 48px,1580px);min-height:58px;margin:auto auto 0;padding:17px 0;font-size:10px;display:flex}.map-viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background-color:#fbfbf9;background-image:linear-gradient(#1e1e1c08 1px,#0000 1px),linear-gradient(90deg,#1e1e1c08 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:100%;min-height:420px;position:relative;overflow:hidden}.map-viewport:active{cursor:grabbing}.map-viewport.is-preview{cursor:grab}.map-viewport.is-preview .station-hit{pointer-events:none}.map-grain{pointer-events:none;opacity:.18;background-image:radial-gradient(#2b2b28 .45px,#0000 .45px);background-size:5px 5px;position:absolute;inset:0}.map-board{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.map-board.is-following{transition:transform .32s cubic-bezier(.2,.78,.2,1)}.water-label{color:#a4b9bd;letter-spacing:.02em;font-family:Georgia,Times New Roman,serif;font-size:22px;font-style:italic;position:absolute;top:118px;left:910px;transform:rotate(-8deg)}.route-layer{position:absolute;inset:0}.route-segment{z-index:1;transform-origin:0;border-radius:999px;position:absolute;box-shadow:inset 0 1px #ffffff4d}.route-segment.is-pulsing{animation:.65s ease-out route-pulse}@keyframes route-pulse{0%{box-shadow:0 0 0 0 var(--route-color);filter:brightness()}40%{filter:brightness(1.2);box-shadow:0 0 0 14px #0000}to{filter:brightness();box-shadow:0 0 0 22px #0000}}.station-anchor{z-index:5;width:0;height:0;position:absolute}.station-hit{z-index:2;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:88px;height:88px;padding:0;display:grid;position:absolute;top:-44px;left:-44px}.station-hit:disabled{cursor:default}.station-dot{border:6px solid var(--navy);background:#fbfbf9;border-radius:50%;width:23px;height:23px;transition:transform .14s,background .14s,box-shadow .14s;position:relative;box-shadow:0 0 0 3px #ffffffdb}.station-dot:after{content:"";background:0 0;border-radius:50%;position:absolute;inset:4px}.station-anchor.is-hidden .station-dot{background:#fff8cb;border-style:dashed;border-width:5px;width:31px;height:31px;box-shadow:0 0 0 5px #ffffffe6,0 3px 8px #17324d29}.station-anchor.is-hidden .station-hit:hover .station-dot,.station-anchor.is-hidden .station-hit.is-selected .station-dot{background:var(--accent);transform:scale(1.16)rotate(7deg);box-shadow:0 0 0 7px #ffdd3147,0 5px 10px #17324d29}.station-hit.is-selected .station-dot{border-style:solid}.station-anchor.is-future .station-dot{border-style:dashed}.station-anchor.is-solved .station-dot{background:var(--accent);border-style:solid}.station-anchor.is-pulsing .station-dot{animation:.65s cubic-bezier(.2,.9,.25,1.2) station-pop}@keyframes station-pop{0%{transform:scale(.75)}45%{transform:scale(1.65)rotate(12deg)}to{transform:scale(1)}}.station-name{z-index:1;color:#1d3148;letter-spacing:-.025em;pointer-events:none;text-shadow:0 1px #fff,1px 0 #fff,-1px 0 #fff,0 -1px #fff;align-items:center;gap:5px;min-width:max-content;font-size:20px;font-weight:700;line-height:1.05;display:flex;position:absolute}.station-name b{font:inherit}.station-name em{color:#b24a42;letter-spacing:.05em;text-shadow:none;text-transform:uppercase;background:#fff6f5;border:1px dashed #b15d57;border-radius:4px;padding:3px 5px 2px;font-size:8px;font-style:normal;font-weight:700}.station-anchor.is-hidden .station-name{color:#8d928c;min-width:42px;height:28px;text-shadow:none;background:#ffffffe0;border:2px dashed #afb4ae;border-radius:7px;justify-content:center;font-size:15px}.label-top .station-name{bottom:24px;left:50%;transform:translate(-50%)}.label-bottom .station-name{top:24px;left:50%;transform:translate(-50%)}.label-left .station-name{top:50%;right:24px;transform:translateY(-50%)}.label-right .station-name{top:50%;left:24px;transform:translateY(-50%)}.map-controls{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #dcdcd7;border-radius:9px;grid-template-columns:44px 44px auto;display:grid;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 5px 16px #0000000f}.map-controls button{color:#383835;cursor:pointer;background:0 0;border:0;border-right:1px solid #e4e4e0;min-width:44px;min-height:44px;padding:0;font-size:20px}.map-controls button:hover{background:#f2f2ef}.map-controls .reset-map{border-right:0;min-width:60px;padding:0 12px;font-size:11px;font-weight:650}.map-legend{z-index:14;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffffe6;border:1px solid #e2e2dd;border-radius:8px;flex-wrap:wrap;gap:7px 12px;max-width:calc(100% - 28px);padding:9px 11px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 5px 16px #0000000b}.map-legend span{color:#62625d;align-items:center;gap:5px;font-size:9px;font-weight:620;display:inline-flex}.map-legend i{border-radius:99px;width:16px;height:4px}.answer-popover{z-index:40;cursor:default;-webkit-user-select:text;user-select:text;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border:1px solid #d7d7d2;border-radius:11px;width:300px;padding:10px;animation:.16s cubic-bezier(.2,.8,.2,1) popover-in;position:absolute;box-shadow:0 14px 36px #1a1f1b29}.answer-popover.is-choice{width:560px}.answer-popover:before{content:"";background:#fffffff7;border:solid #d7d7d2;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.answer-popover.placement-right:before{border-width:0 0 1px 1px;top:calc(50% - 5px);left:-6px}.answer-popover.placement-left:before{border-width:1px 1px 0 0;top:calc(50% - 5px);right:-6px}.answer-popover.placement-below:before{border-width:1px 0 0 1px;top:-6px;left:calc(50% - 5px)}.answer-popover.placement-above:before{border-width:0 1px 1px 0;bottom:-6px;left:calc(50% - 5px)}.answer-popover.has-error{border-color:#d58a84;animation:.33s answer-shake}@keyframes popover-in{0%{opacity:0;transform:translateY(5px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes answer-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)rotate(-.5deg)}50%{transform:translate(6px)rotate(.5deg)}75%{transform:translate(-3px)}}.answer-heading{justify-content:space-between;align-items:center;gap:8px;min-height:25px;margin-bottom:5px;padding-right:34px;display:flex;position:relative}.answer-heading>span{align-items:center;gap:6px;min-width:0;display:flex}.answer-heading small{color:#777771;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:9px}.answer-heading strong{color:#596879;white-space:nowrap;background:#f0f3f5;border-radius:5px;padding:3px 5px;font-size:9px}.answer-heading>button{color:#73736e;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:0 0 44px;width:44px;height:44px;font-size:18px;line-height:1;position:absolute;top:-9px;right:-7px}.answer-popover>label{color:#62625d;margin-bottom:6px;font-size:10px;font-weight:680;display:block}.answer-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.answer-row input{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #cfcfca;border-radius:7px;padding:0 11px;font-size:14px}.answer-row input::placeholder{color:#aaa9a4}.answer-row button{color:#fff;cursor:pointer;background:#20201e;border:1px solid #20201e;border-radius:7px;min-height:44px;padding:0 13px;font-size:12px;font-weight:670;position:relative}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.choice-grid button{color:#292927;cursor:pointer;text-align:center;white-space:nowrap;background:#f8f8f5;border:1px solid #d2d2cd;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:none;min-height:44px;padding:6px 10px;font-size:11px;font-weight:650;line-height:1.2;transition:border-color .12s,background .12s,transform .12s;display:flex;position:relative}.choice-grid button:hover:not(.is-wrong),.choice-grid button:focus-visible:not(.is-wrong){background:#fffbdc;border-color:#20201e;transform:translateY(-1px)}.choice-grid button:active:not(.is-wrong){transform:scale(.98)}.choice-grid button.is-wrong{color:#a25b55;cursor:default;background:#fff3f1;border-color:#e0b0ab}.choice-grid button.is-wrong>span{text-decoration:line-through}.choice-grid button b{color:#b5443b;font-size:18px;line-height:1}.answer-penalty{z-index:8;color:#d3382d;letter-spacing:.02em;text-align:center;white-space:nowrap;pointer-events:none;background:#fff4f2;border:1px solid #d9574d;border-radius:999px;min-width:66px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:800;line-height:1;text-decoration:none;animation:1.15s cubic-bezier(.2,.82,.2,1) forwards answer-penalty-pop;position:absolute;top:50%;left:50%;box-shadow:0 5px 14px #b32e253d}@keyframes answer-penalty-pop{0%{opacity:0;transform:translate(-50%,-35%)scale(.7)}16%{opacity:1;transform:translate(-50%,-58%)scale(1.08)}42%{opacity:1;transform:translate(-50%,-72%)scale(1)}to{opacity:0;transform:translate(-50%,-145%)scale(1.04)}}.answer-feedback{color:#85857e;min-height:15px;margin:5px 0 0;font-size:10px}.answer-popover.has-error .answer-feedback{color:#b5443b}.game-layout{flex-direction:column;flex:1;width:min(100% - 48px,1650px);min-height:0;margin:0 auto;padding:22px 0 18px;display:flex}.game-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(190px,1fr) minmax(210px,.8fr) auto auto;align-items:center;gap:25px;min-height:70px;margin-bottom:12px;padding:9px 11px 9px 16px;display:grid;box-shadow:0 5px 18px #1c211b09}.challenge-label{align-items:center;gap:12px;display:flex}.live-dot{background:#ef4438;border:3px solid #fff;border-radius:50%;width:12px;height:12px;animation:2s infinite live-pulse;box-shadow:0 0 0 1px #ef4438,0 0 0 5px #ef44381a}@keyframes live-pulse{0%,to{box-shadow:0 0 0 1px #ef4438,0 0 0 5px #ef44381a}50%{box-shadow:0 0 0 1px #ef4438,0 0 0 8px #ef443800}}.challenge-label small,.challenge-label strong{display:block}.challenge-label small{color:var(--muted);margin-bottom:2px;font-size:10px}.challenge-label strong{font-size:14px}.round-progress{grid-template-columns:minmax(100px,1fr) auto;align-items:center;gap:12px;display:grid}.round-progress>div{background:#ecece8;border-radius:99px;height:7px;overflow:hidden}.round-progress>div span{border-radius:inherit;background:linear-gradient(90deg,#88c83e,#ffb30f);height:100%;transition:width .3s;display:block}.round-progress b{font-variant-numeric:tabular-nums;min-width:44px;font-size:14px}.round-progress small{color:#96968f;font-size:10px}.timer{border-left:1px solid var(--soft-line);padding:7px 14px}.timer small,.timer strong{display:block}.timer small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1px;font-size:9px}.timer strong{color:#1c2e41;min-width:92px;font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:20px}.game-map-wrap{background:#fbfbf9;border:1px solid #d9d9d4;border-radius:14px;flex:1;min-height:580px;position:relative;overflow:hidden;box-shadow:0 12px 35px #191e190f}.game-map-wrap>.map-viewport{height:auto;min-height:0;position:absolute;inset:0}.game-hint{color:#888881;text-align:center;margin:10px 0 0;font-size:10px}.scoreboard-overlay{z-index:140;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d201d52;place-items:center;padding:24px;animation:.16s ease-out overlay-in;display:grid;position:fixed;inset:0}.scoreboard-card{background:#fff;border:1px solid #d3d3ce;border-radius:18px;width:min(760px,100%);max-height:min(820px,100dvh - 48px);padding:28px;animation:.26s cubic-bezier(.2,.85,.2,1) scoreboard-in;overflow-y:auto;box-shadow:0 30px 100px #13181442}@keyframes scoreboard-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.scoreboard-heading{justify-content:space-between;gap:20px;padding-right:52px;display:flex;position:relative}.scoreboard-heading h2{letter-spacing:-.035em;margin:7px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:500}.scoreboard-heading p{color:var(--muted);margin:0;font-size:12px}.live-badge{color:#4b6d46;letter-spacing:.07em;text-transform:uppercase;background:#f4f9f2;border:1px solid #d7dfd3;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;font-weight:760;display:inline-flex}.live-badge i{background:#5c9f52;border-radius:50%;width:7px;height:7px;animation:2s infinite live-pulse-green;box-shadow:0 0 0 4px #5c9f521a}@keyframes live-pulse-green{0%,to{box-shadow:0 0 0 3px #5c9f5224}50%{box-shadow:0 0 0 7px #5c9f5200}}.scoreboard-close{color:#696963;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;width:44px;height:44px;padding:0;font-size:22px;position:absolute;top:-9px;right:-8px}.scoreboard-close:hover{border-color:var(--line);background:#f5f5f2}.scoreboard-filters{border:1px solid var(--line);background:#f7f7f4;border-radius:11px;justify-content:space-between;gap:10px;margin:24px 0 18px;padding:6px;display:flex}.scoreboard-tabs{gap:4px;display:flex}.scoreboard-tabs button{color:#686862;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;min-height:44px;padding:0 12px;font-size:11px;font-weight:660}.scoreboard-tabs button:hover{color:#272725;background:#ffffffad}.scoreboard-tabs button.is-active{color:#20201e;background:#fff;border-color:#d9d9d4;box-shadow:0 2px 6px #1418140f}.scoreboard-tabs.is-scope{border-left:1px solid #dfdfda;padding-left:8px}.scoreboard-list{border:1px solid var(--line);border-radius:11px;min-height:315px;overflow:hidden}.scoreboard-row{color:#555550;border-bottom:1px solid #ecece8;grid-template-columns:50px 90px 120px minmax(0,1fr);align-items:center;gap:10px;min-height:47px;padding:0 14px;font-size:12px;display:grid}.scoreboard-row:last-child{border-bottom:0}.scoreboard-row.is-header{color:#8a8a84;letter-spacing:.09em;text-transform:uppercase;background:#f7f7f4;min-height:34px;font-size:8px;font-weight:730}.scoreboard-row strong{color:#20201e;letter-spacing:.09em;font-size:14px}.scoreboard-row b{color:#21364a;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;font-size:13px}.scoreboard-row.is-podium{background:#fffdf4}.score-rank{color:#686862;background:#fff;border:1px solid #d5d5d0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-weight:750;display:grid}.rank-1 .score-rank{color:#6d5700;background:#ffef8c;border-color:#d5b329}.rank-2 .score-rank{color:#51595d;background:#edf0f1;border-color:#b8bec1}.rank-3 .score-rank{color:#72491f;background:#f5d1ac;border-color:#c99a6b}.scoreboard-empty{color:#81817b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:280px;margin:0;padding:30px;font-size:12px;line-height:1.5;display:flex}.scoreboard-empty p{margin:0}.scoreboard-footnote{color:#979791;text-align:right;margin:9px 2px 0;font-size:9px}.result-card{z-index:60;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border:1px solid #d6d6d1;border-radius:18px;width:min(440px,100% - 30px);padding:35px;animation:.36s cubic-bezier(.2,.9,.2,1) result-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 90px #1419153b}.result-card.has-score-entry{width:min(620px,100% - 30px);max-height:calc(100% - 30px);padding:28px;overflow-y:auto}.give-up-overlay{z-index:58;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c1f1c2e;animation:.16s ease-out overlay-in;position:absolute;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.confirm-card{z-index:1}.confirm-card .result-stamp{background:#f0f0ed;transform:rotate(4deg)}.danger-button{color:#a54037;background:#fff5f3;border-color:#e2b2ad}.danger-button:hover{color:#8f3028;background:#ffebe8;border-color:#c87168}@keyframes result-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.result-stamp{background:var(--accent);color:#20201e;border:2px solid #20201e;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 17px;font-size:24px;font-weight:750;display:grid;transform:rotate(-6deg);box-shadow:4px 4px #20201e}.result-card.is-give-up .result-stamp{background:#f0f0ed}.result-card h2{letter-spacing:-.035em;margin:0 0 13px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:500}.result-card>p:not(.eyebrow){max-width:320px;color:var(--muted);margin:13px auto 24px;font-size:13px;line-height:1.55}.result-time{border:1px solid var(--line);background:#f8f8f5;border-radius:10px;padding:10px 16px;display:inline-block}.result-time small,.result-time strong{display:block}.result-time small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:9px}.result-time strong{font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;font-size:25px}.result-card>.result-penalty-note{color:#c83c33;max-width:none;margin:8px auto 0;font-size:9px;font-weight:680;line-height:1.35}.score-entry-status{background:#f7f7f4;border:1px solid #dfdfda;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 12px;display:flex;color:#686862!important;max-width:420px!important;margin:-9px auto 16px!important;font-size:11px!important}.score-entry-status.is-success{background:#f2f9f0;border-color:#c9ddc3;color:#4c7046!important}.score-entry-status.is-error{background:#fff6f4;border-color:#ebcbc7;color:#a04d46!important}.tiny-spinner{border:2px solid #d1d1cc;border-top-color:#4f4f4a;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite tiny-spin}@keyframes tiny-spin{to{transform:rotate(360deg)}}.score-entry-form{text-align:left;background:#fffdf3;border:1px solid #ddd8bc;border-radius:12px;margin:-8px 0 18px;padding:14px}.score-entry-heading{margin-bottom:10px}.score-entry-heading>span{float:right;color:#65520d;letter-spacing:.07em;text-transform:uppercase;background:#ffed83;border:1px solid #d6bc45;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:760}.score-entry-heading strong{color:#292925;font-size:14px;display:block}.score-entry-heading p{color:#777770;margin:3px 0 0;font-size:10px}.score-entry-fields{grid-template-columns:96px minmax(180px,1fr) auto;align-items:end;gap:8px;display:grid}.score-entry-fields label>span{color:#71716b;margin:0 0 4px 1px;font-size:9px;font-weight:680;display:block}.score-entry-fields input,.score-entry-fields select{color:#282825;background:#fff;border:1px solid #ccccc6;border-radius:7px;width:100%;height:44px;font-size:12px}.score-entry-fields input{letter-spacing:.14em;text-align:center;text-transform:uppercase;padding:0 10px;font-size:16px;font-weight:760}.score-entry-fields select{padding:0 30px 0 10px}.score-entry-fields .primary-button{min-width:132px;box-shadow:0 3px #d8bd20}.score-entry-fields .primary-button:disabled{cursor:wait;opacity:.65;transform:none}.score-entry-error{color:#ad463d!important;margin:8px 1px 0!important;font-size:10px!important}.result-actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.confetti{pointer-events:none;height:130px;position:absolute;inset:-55px -30px auto;overflow:hidden}.confetti i{--left:calc((var(--i) * 47) % 100);left:calc(var(--left) * 1%);width:7px;height:14px;animation:confetti-fall 1.4s calc((var(--i) % 6) * 60ms) ease-out forwards;background:#ffb30f;border-radius:2px;position:absolute;top:-15px}.confetti i:nth-child(3n){background:#ef4438}.confetti i:nth-child(3n+1){background:#0aa8df}.confetti i:nth-child(4n){background:#88c83e;border-radius:50%}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(145px)rotate(520deg)}}@media (width<=1180px){.setup-layout{grid-template-columns:1fr;gap:24px;max-width:850px;padding-top:36px}.setup-copy{display:block}.intro{padding:0}.intro h1{font-size:clamp(46px,7vw,72px)}.preview-column{height:520px;min-height:0}}@media (width<=820px){.site-header,.setup-layout,.game-layout,footer{width:min(100% - 28px,100%)}.site-header{min-height:64px}.header-note{display:none}.header-actions{gap:0}.scoreboard-button{padding:0 12px}.setup-layout{gap:20px;padding:24px 0 26px}.setup-copy{display:block}.intro{padding:0 3px 4px}.intro h1{font-size:clamp(36px,9vw,50px)}.lede{margin-top:13px;font-size:14px}.setup-card{padding:18px}.difficulty-grid{grid-template-columns:1fr}.difficulty-card{min-height:88px;padding:14px 48px 14px 14px}.difficulty-card small{margin-bottom:5px}.difficulty-card strong{margin-bottom:3px}.preview-column{height:440px}footer{text-align:center;display:block}footer span{margin:4px 0;display:block}.game-layout{padding-top:13px}.game-toolbar{grid-template-columns:1fr auto auto;gap:9px;min-height:64px;padding:7px 8px 7px 12px}.round-progress{grid-area:2/1/auto/-1;padding:0 4px 3px}.timer{padding:5px 8px}.game-toolbar>.quiet-button{color:#0000;width:44px;padding:0;position:relative;overflow:hidden}.game-toolbar>.quiet-button:after{content:"×";color:#686862;place-items:center;font-size:20px;display:grid;position:absolute;inset:0}.game-map-wrap{min-height:max(560px,100dvh - 224px)}.answer-popover{border-radius:12px;width:auto;padding:10px;position:absolute;bottom:8px;right:8px;top:auto!important;left:8px!important}.answer-popover.is-choice{width:auto}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid button{white-space:normal}.answer-popover:before{display:none}.map-legend{bottom:10px;left:10px;right:10px}.answer-popover~.map-legend{opacity:0}.scoreboard-overlay{padding:12px}.scoreboard-card{border-radius:15px;width:100%;max-height:calc(100dvh - 24px);padding:20px}.scoreboard-heading h2{font-size:27px}.scoreboard-filters{gap:6px;display:grid}.scoreboard-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.scoreboard-tabs.is-scope{border-top:1px solid #dfdfda;border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 0 0}.scoreboard-tabs button{white-space:normal;padding:0 7px}.scoreboard-row{grid-template-columns:38px 60px 92px minmax(0,1fr);gap:6px;padding:0 9px;font-size:10px}.scoreboard-row strong{font-size:12px}.scoreboard-row b{font-size:11px}.score-entry-fields{grid-template-columns:86px minmax(0,1fr)}.score-entry-fields .primary-button{grid-column:1/-1;width:100%}}@media (width<=520px){.site-header,.setup-layout,.game-layout,footer{width:calc(100% - 20px)}.brand{font-size:16px}.route-mark{width:31px;height:31px}.setup-layout{gap:14px;padding-top:16px}.intro h1{font-size:clamp(28px,7.8vw,34px);line-height:1.02}.eyebrow{margin-bottom:8px}.lede{margin-top:10px;line-height:1.5}.network-row{align-items:flex-start}.network-row .section-heading{max-width:calc(100% - 82px)}.start-row{flex-direction:column;align-items:stretch;gap:14px}.start-row .primary-button{width:100%}.preview-column{border-radius:15px;height:390px}.preview-tip{left:16px;right:auto}.preview-column .map-legend{display:none}.game-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.challenge-label strong{white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden}.timer strong{min-width:76px;font-size:17px}.timer small,.live-dot{display:none}.game-map-wrap{border-radius:11px}.map-controls{top:9px;right:9px}.map-controls .reset-map{min-width:50px;padding:0 8px}.map-legend{gap:5px 8px;padding:7px 8px}.map-legend span{font-size:8px}.answer-row{grid-template-columns:minmax(0,1fr) 68px}.choice-grid button{min-height:44px;padding:6px 9px;font-size:11px}.result-card{padding:29px 20px 24px}.result-card.has-score-entry{width:calc(100% - 18px);max-height:calc(100% - 18px);padding:21px 14px 16px}.result-card h2{font-size:27px}.result-actions{flex-direction:column}.result-actions button{width:100%}.score-entry-fields{grid-template-columns:82px minmax(0,1fr)}.scoreboard-overlay{padding:6px}.scoreboard-card{border-radius:13px;max-height:calc(100dvh - 12px);padding:16px 12px}.scoreboard-heading{padding-right:46px}.scoreboard-heading h2{font-size:24px}.scoreboard-row{grid-template-columns:34px 54px 86px minmax(0,1fr);gap:4px;padding:0 6px}.scoreboard-row.is-header{font-size:7px}.score-rank{width:24px;height:24px}.game-hint{font-size:9px}}@media (width<=820px){.site-shell.phase-setup{padding-bottom:132px}.setup-card{bottom:max(6px, env(safe-area-inset-bottom));border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;width:calc(100% - 12px);padding:8px}.dock-intro{display:none}.difficulty-grid{grid-area:1/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.difficulty-card{text-align:center;min-height:44px;padding:6px 8px}.difficulty-card small,.difficulty-card span,.difficulty-card i{display:none}.difficulty-card strong{font-size:11px}.network-row{border:0;grid-area:2/1;align-items:center;gap:7px;min-height:44px;margin:0;padding:0 4px}.setup-card .network-row .section-heading{margin:0}.setup-card .network-row .section-heading p{display:none}.setup-card .network-row .section-heading h2{white-space:nowrap;margin:0;font-size:10px}.setup-card .toggle{min-width:66px}.start-row{flex-direction:row;grid-area:2/2/auto/-1;justify-content:flex-end;align-items:center;gap:9px;padding:0}.dock-summary{text-align:right;min-width:105px}.dock-summary small{display:none}.start-row>div strong{font-size:11px}.start-row>div span{font-size:9px}}@media (width<=520px){.site-shell.phase-setup{padding-bottom:126px}.setup-card .network-row .section-heading{display:none}.setup-card .network-row:before{content:"Full";color:#686862;font-size:9px;font-weight:680}.setup-card .toggle{min-width:62px}.dock-summary{display:none}.start-row .primary-button{width:auto;min-width:122px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.answer-penalty{opacity:1;transform:translate(-50%,-50%);animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
