.os-head{grid-template-columns:auto minmax(0,1fr) auto}.os-head h2{letter-spacing:-.045em}.od-step{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:18px;font-size:.75rem;font-weight:700}.od-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.od-option{appearance:none;border-radius:var(--r-md);background:var(--paper);min-height:132px;box-shadow:inset 0 0 0 1.5px var(--line),var(--shadow-1);color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform .16s var(--ease-out),box-shadow .16s ease,opacity .2s ease,background-color .16s ease;border:0;place-items:center;padding:10px;display:grid;position:relative}.od-option svg{width:100%;height:auto;max-height:150px;display:block}.od-option:active:not(:disabled){transform:scale(.97)}@media (hover:hover) and (pointer:fine){.od-option:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--ink-3),var(--shadow-1)}}.od-shape{fill:var(--ink);fill-opacity:.82;stroke:var(--ink);stroke-width:1px;stroke-linejoin:round}.od-letter{font-family:var(--font-mono);color:var(--ink-3);font-size:.75rem;font-weight:700;position:absolute;top:8px;left:10px}.od-option.is-wrong{opacity:.45;box-shadow:inset 0 0 0 2px var(--signal);cursor:default}.od-option.is-wrong .od-shape{fill:var(--signal);stroke:var(--signal)}.od-option.is-right{box-shadow:inset 0 0 0 2.5px var(--route-1),var(--shadow-1);background:var(--paper-2)}.od-option.is-right .od-shape{fill:var(--route-1);stroke:var(--text-1);fill-opacity:1}.od-option.is-gone{opacity:.12;cursor:default}.od-option:disabled{cursor:default}.od-frame{border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px var(--line),var(--shadow-1);background:var(--paper);margin-top:12px;position:relative;overflow:hidden}.od-map{touch-action:manipulation;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.od-sea{fill:#d1e9f5;fill:lab(90.8307% -6.23712 -8.69795)}.od-land{fill:var(--paper-3);stroke:color-mix(in oklch,var(--ink)18%,transparent);stroke-width:.5px}.od-guess{fill:color-mix(in oklch,var(--signal)40%,transparent);stroke:var(--signal);stroke-width:1.5px;stroke-linejoin:round;pointer-events:none}.od-guess.is-compare{fill:none;stroke-dasharray:4 3}.od-pin{fill:var(--signal);stroke:var(--paper);stroke-width:2px;pointer-events:none}.od-truth{fill:var(--route-1);stroke:var(--text-1);stroke-width:1.2px;stroke-linejoin:round;pointer-events:none}.od-truth.is-revealing{animation:od-reveal .6s var(--ease-out)both;transform-box:fill-box;transform-origin:50%}@keyframes od-reveal{0%{opacity:0;transform:scale(1.6)}}.od-truth-dot{fill:var(--text-1);stroke:var(--paper);stroke-width:1.5px;pointer-events:none}.od-miss{stroke:var(--text-1);stroke-width:1.5px;stroke-dasharray:3 3;pointer-events:none}.od-ring{fill:none;stroke:var(--route-3);stroke-width:2px;stroke-dasharray:6 5;pointer-events:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .od-sea{fill:#1f3645;fill:lab(21.1211% -5.26315 -12.7029)}}:root[data-theme=dark] .od-sea{fill:#1f3645;fill:lab(21.1211% -5.26315 -12.7029)}.os-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.os-actions[hidden]{display:none}.recap-sketches{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;display:grid}.recap-sketch{border-radius:var(--r-md);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.recap-sketch>svg{background:var(--paper);width:100%;height:auto;display:block}.recap-sketch>div{justify-content:space-between;align-items:baseline;gap:10px;padding:12px 16px 4px;display:flex}.recap-sketch h3{letter-spacing:-.03em;font-size:1.15rem}.recap-sketch strong{font-family:var(--font-mono)}.od-recap-detail{color:var(--ink-3);padding:0 16px 14px;font-size:.88rem}@media (max-width:400px){.od-grid{gap:8px}.od-option{min-height:112px;padding:8px}}.od-map path,.od-map line,.od-map circle{vector-effect:non-scaling-stroke}.od-zoom{background:var(--paper);min-height:36px;box-shadow:inset 0 0 0 1px var(--line),var(--shadow-1);color:var(--ink);font:600 .85rem var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:0 14px;position:absolute;top:8px;right:8px}.od-zoom[hidden]{display:none}
