:root{--paper-25:#fffdf8;--paper-50:#f7f5ef;--neutral-50:#f4f8f6;--neutral-100:#edf1ed;--neutral-200:#d9ddd6;--neutral-400:#b9c1b9;--neutral-500:#9ba59e;--neutral-700:#667269;--neutral-750:#5f6a62;--neutral-900:#46534a;--neutral-950:#2d3931;--night-800:#1c2620;--night-900:#17271e;--night-950:#171f1a;--night-975:#111713;--night-a5:#16221d0d;--night-a7:#16221d12;--green-100:#e3ece5;--green-400:#8db397;--green-900:#1e4d2b;--green-950:#203a28;--green-975:#102117;--olive-100:#f2f0d8;--olive-300:#d4d08c;--olive-400:#c8c372;--olive-600:#918c39;--olive-700:#706c2c;--olive-950:#373722;--orange-100:#fae8da;--orange-400:#ed9555;--orange-600:#d9782d;--orange-700:#a8541a;--orange-750:#9d551c;--orange-950:#472c1d;--mint-100:#e1f3ea;--mint-400:#65c79b;--mint-700:#27815d;--mint-750:#247756;--mint-950:#183a2b;--sea-100:#e9efec;--sea-200:#dce7ea;--sea-300:#b7c6c2;--sea-900:#2b4446;--sea-950:#172829;--sea-975:#0a1516;--jade-100:#d6e7de;--jade-200:#bddccc;--jade-300:#7ddab5;--jade-700:#1d5c4a;--jade-800:#1f5948;--jade-900:#14493b;--jade-950:#1b3a35;--blue-300:#c5d3e6;--blue-400:#9db6da;--blue-800:#3f5e87;--blue-900:#2a3d57;--red-500:#f08a78;--red-800:#a23b2d;--gold-300:#f2c14e;--white:#fff;--black-a25:#00000040;--color-canvas:var(--paper-50);--color-surface:var(--paper-25);--color-surface-raised:var(--white);--color-ink:var(--night-900);--color-ink-muted:var(--neutral-750);--color-line:var(--neutral-200);--color-line-strong:var(--neutral-400);--color-accent:var(--green-900);--color-on-accent:var(--white);--color-accent-soft:var(--green-100);--color-highlight:var(--olive-600);--color-highlight-soft:var(--olive-100);--color-orange:var(--orange-600);--color-orange-soft:var(--orange-100);--color-orange-text:var(--orange-750);--color-success:var(--mint-700);--color-success-soft:var(--mint-100);--color-error:var(--red-800);--color-on-canvas:var(--night-900);--color-on-surface:var(--night-900);--color-on-surface-raised:var(--night-900);--color-on-accent-soft:var(--green-900);--color-on-highlight:var(--night-975);--color-on-highlight-soft:var(--olive-700);--color-on-orange:var(--night-900);--color-on-orange-soft:var(--orange-750);--color-on-success:var(--white);--color-on-success-soft:var(--mint-750);--color-on-error:var(--white);--color-shadow-small:var(--night-a5);--color-shadow-medium:var(--night-a7);--map-sea:var(--sea-200);--map-land:var(--sea-100);--map-border:var(--sea-300);--map-region:var(--jade-200);--map-region-line:var(--jade-700);--map-on-region:var(--night-900);--map-target:var(--jade-100);--map-on-target:var(--night-900);--map-miss-line:var(--neutral-700);--map-subject:var(--blue-300);--map-subject-line:var(--blue-800);--map-pin:var(--jade-900);--map-pin-ring:var(--white);--map-label:var(--night-900);--map-label-halo:var(--neutral-50);--logo-field:var(--olive-400);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 8px 24px var(--color-shadow-small);--shadow-md:0 8px 24px var(--color-shadow-medium)}@media (prefers-color-scheme:dark){:root{--color-canvas:var(--night-975);--color-surface:var(--night-950);--color-surface-raised:var(--night-800);--color-ink:var(--neutral-100);--color-ink-muted:var(--neutral-500);--color-line:var(--neutral-950);--color-line-strong:var(--neutral-900);--color-accent:var(--green-400);--color-on-accent:var(--green-975);--color-accent-soft:var(--green-950);--color-highlight:var(--olive-300);--color-highlight-soft:var(--olive-950);--color-orange:var(--orange-400);--color-orange-soft:var(--orange-950);--color-orange-text:var(--orange-400);--color-success:var(--mint-400);--color-success-soft:var(--mint-950);--color-error:var(--red-500);--color-on-canvas:var(--neutral-100);--color-on-surface:var(--neutral-100);--color-on-surface-raised:var(--neutral-100);--color-on-accent-soft:var(--green-400);--color-on-highlight-soft:var(--olive-300);--color-on-orange:var(--night-975);--color-on-orange-soft:var(--orange-400);--color-on-success:var(--night-975);--color-on-success-soft:var(--mint-400);--color-on-error:var(--night-975);--color-shadow-medium:var(--black-a25);--map-sea:var(--sea-975);--map-land:var(--sea-950);--map-border:var(--sea-900);--map-region:var(--jade-800);--map-region-line:var(--jade-300);--map-on-region:var(--neutral-100);--map-target:var(--jade-950);--map-on-target:var(--neutral-100);--map-miss-line:var(--neutral-500);--map-subject:var(--blue-900);--map-subject-line:var(--blue-400);--map-pin:var(--gold-300);--map-pin-ring:var(--night-975);--map-label:var(--neutral-100);--map-label-halo:var(--night-975);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{--font-sans:"Manrope", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-display-size:56px;--type-display-line-height:56px;--type-display-tracking:-1.68px;--type-display-weight:800;--type-result-heading-size:28px;--type-result-heading-line-height:35px;--type-result-heading-tracking:-.7px;--type-result-heading-weight:800;--type-challenge-title-size:16px;--type-challenge-title-line-height:24px;--type-challenge-title-tracking:-.32px;--type-challenge-title-weight:800;--type-challenge-subject-size:18px;--type-challenge-subject-line-height:24px;--type-challenge-subject-tracking:0;--type-challenge-subject-weight:700;--type-body-size:16px;--type-body-line-height:25px;--type-body-tracking:0;--type-body-weight:400;--type-small-size:14px;--type-small-line-height:22px;--type-small-tracking:0;--type-small-weight:400;--type-metadata-size:12px;--type-metadata-line-height:18px;--type-metadata-tracking:.48px;--type-metadata-weight:500;--type-kicker-size:11px;--type-kicker-line-height:17px;--type-kicker-tracking:1.1px;--type-kicker-weight:500;--type-button-size:14px;--type-button-line-height:20px;--type-button-tracking:0;--type-button-weight:700;--type-badge-size:11px;--type-badge-line-height:16px;--type-badge-tracking:.33px;--type-badge-weight:500}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--color-canvas);color:var(--color-ink);padding-block:var(--space-3) 40px;padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px))}.app{gap:var(--space-4);flex-direction:column;max-width:640px;margin-inline:auto;display:flex}.date,.menu-label,.legal-date,.count,.n,.coord,.stage-status:not(.ok,.no),.goal-clock.count,.goal-tag,.eyebrow,.chip,.stage-tag,.score-lab,.clue-n,.clue-name,.challenge[data-kind=match] .result strong,.badge,.chip b,.lens b{text-transform:uppercase}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.top{align-items:center;gap:var(--space-3);display:flex;position:relative}.brand{flex:none;line-height:0;display:block}.brand img{width:auto;height:28px;display:block}.date{color:var(--color-ink-muted);--caps-tracking:.04em;margin-left:auto;font-size:.75rem}.menu-btn{width:44px;height:44px;color:var(--color-ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;margin:-10px -12px -10px 0;display:grid}.menu-btn:hover{background:var(--color-accent-soft)}.menu-btn[aria-expanded=true]{background:var(--color-surface)}.menu{z-index:10;background:var(--color-surface);border:1px solid var(--color-line);width:min(280px,100%);box-shadow:var(--shadow-sm);overscroll-behavior:contain;border-radius:14px;flex-direction:column;gap:10px;max-height:calc(100dvh - 72px);padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.menu .ghost{width:100%}button.ghost.signin{justify-content:center;align-items:center;padding-inline:44px;display:flex;position:relative}.signin-logo{left:var(--space-3);width:24px;height:24px;color:var(--color-ink);display:flex;position:absolute;top:50%;translate:0 -50%}.signin-logo img,.signin-logo svg{width:24px;height:24px;display:block}.signin-label{white-space:nowrap}.signin-or{align-items:center;gap:var(--space-2);color:var(--color-ink-muted);margin:0;display:flex}.signin-or:before,.signin-or:after{content:"";border-top:1px solid var(--color-line);flex:1}.menu-profile{flex-direction:column;gap:6px;display:flex}.menu-label{color:var(--color-ink-muted)}.menu-row{gap:var(--space-2);display:flex}.menu-row input{flex:1;min-width:0}.menu-row .ghost{flex:none;width:auto}.menu-msg{color:var(--color-ink-muted);margin:0}.menu-msg:empty{display:none}.menu-msg.bad,.menu-note{color:var(--color-error)}.menu-email,.menu-confirm{color:var(--color-ink-muted);overflow-wrap:anywhere;margin:0}.menu-confirm{color:var(--color-ink)}.menu .danger,.screen .danger,.sheet .danger{color:var(--color-error)}.menu-stats{gap:var(--space-2);padding-block:var(--space-2);border-block:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.menu-stats dd{margin:0}.menu-player{align-items:baseline;gap:var(--space-2);min-width:0;margin:0;display:flex}.menu-player-name{overflow-wrap:anywhere;font-weight:700}.menu-stats+.menu-stats{border-top:0;padding-top:0}.menu-friends{gap:var(--space-2);flex-direction:column;display:flex}.menu-friends h2{margin:0}.menu-friend-box{gap:var(--space-2);flex-direction:column;display:flex}.menu-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.menu-list li{flex-direction:column;display:flex}.menu-list p{margin:0}.menu-list button.linkish{align-self:flex-start;min-height:32px}.menu-friend{overflow-wrap:anywhere;font-weight:700}.screen-open,.screen-open body{overflow:hidden}.screen{z-index:20;overscroll-behavior:contain;background:var(--color-canvas);color:var(--color-ink);padding:max(var(--space-3), env(safe-area-inset-top,0px)) max(var(--space-4), env(safe-area-inset-right,0px)) 40px max(var(--space-4), env(safe-area-inset-left,0px));position:fixed;inset:0;overflow-y:auto}.screen-head,.screen-body{max-width:640px;margin-inline:auto}.screen-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.screen-head h2{margin:0}.screen-back{width:44px;height:44px;color:var(--color-ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:-12px;display:grid}.screen-back:hover{background:var(--color-accent-soft)}.screen-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.screen-card .ghost{width:100%}.screen-card .menu-row .ghost{width:auto}.screen-card p{margin:0}.friend-rows{gap:0}.screen-card h3{margin:var(--space-2) 0 0}.invite-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-direction:row!important}.invite-row .menu-friend,.invite-accepted .menu-friend{min-width:0;font-weight:400}button.resend{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;min-height:44px;padding:0;display:grid}button.resend:disabled{opacity:.4}.friend-row{width:100%;min-height:44px;padding:var(--space-2) 0;text-align:left;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--color-line);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.friend-rows li:last-child .friend-row{border-bottom:0}.friend-row:hover .menu-friend{color:var(--color-accent)}.menu-legal{gap:var(--space-1) var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.menu-legal a{color:var(--color-ink-muted)}.legal{max-width:640px;margin-inline:auto}.legal .top{margin-bottom:var(--space-2)}.legal a.brand{color:inherit;text-decoration:none}.legal h1{margin:var(--space-4) 0 var(--space-1)}.legal h2{margin:var(--space-5) 0 var(--space-1)}.legal p,.legal li{overflow-wrap:anywhere}.legal ul{padding-left:20px}.legal a{color:var(--color-ink)}.legal-date{margin:0 0 var(--space-4);color:var(--color-ink-muted)}.legal-links{gap:var(--space-2) var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.toast{z-index:30;left:max(16px, env(safe-area-inset-left,0px));right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:608px;padding:var(--space-3) var(--space-4);text-align:center;color:var(--color-surface);background:var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;margin-inline:auto;transition:transform .3s,opacity .3s;position:fixed;transform:translateY(calc(100% + 24px))}.toast.show{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .3s;transform:none}}.menu-note{margin:0}dialog.sheet{margin:max(56px, calc(env(safe-area-inset-top,0px) + var(--space-4))) auto auto;width:min(400px, calc(100% - 2 * max(16px, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px))));max-width:none;color:var(--color-ink);background:0 0;border:0;padding:0;overflow:visible}dialog.sheet::backdrop{background:color-mix(in srgb, var(--night-975) 35%, transparent)}.sheet-box{padding:14px 14px var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:10px;display:flex}.sheet-head{align-items:center;gap:var(--space-2);display:flex}.sheet-head h2{margin:0}.sheet-close{width:44px;height:44px;color:var(--color-ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;margin:-10px -10px -10px auto;display:grid}.sheet-close:hover{background:var(--color-accent-soft)}.sheet-body{flex-direction:column;gap:10px;display:flex}.sheet-body .menu-row{flex-wrap:wrap;justify-content:flex-end}.sheet-body .menu-row input{flex:260px}.sheet-links{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.sheet-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sheet-actions button{flex:120px}.link-url{width:100%;font-family:var(--font-mono);font-size:var(--type-metadata-size)}button.linkish{font:inherit;color:var(--color-accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0;text-decoration:underline}.map{aspect-ratio:6/5;background:var(--map-sea);border:1px solid var(--color-line);touch-action:pan-x pan-y;border-radius:14px;max-width:100%;position:relative;overflow:hidden}.map svg{width:100%;height:100%;display:block;position:absolute;inset:0}.land{fill:var(--map-land);stroke:var(--map-border);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.soft{fill:var(--map-target);stroke:var(--map-border);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.hit{fill:var(--map-region);stroke:var(--map-region-line);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.miss{fill:var(--map-land);stroke:var(--map-miss-line);stroke-width:1.2px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;stroke-linejoin:round}.subject{fill:var(--map-subject);stroke:var(--map-subject-line);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.subject-label .pin-label{fill:var(--map-subject-line);font-weight:700}.hintline{fill:none;stroke:var(--map-pin);stroke-width:2.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.hintring{fill:none;stroke:var(--map-pin);stroke-dasharray:3 3}.ring-soft{fill:var(--map-target);fill-opacity:.5;stroke:var(--map-border);stroke-width:1.25px}.ring-miss{fill:none;stroke:var(--map-miss-line);stroke-width:1.25px;stroke-dasharray:2 2}.region{fill:var(--map-region);stroke:var(--map-region-line);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.pin-dot{fill:var(--map-pin);stroke:var(--map-pin-ring)}.pin-label{fill:var(--map-label);stroke:var(--map-label-halo);stroke-linejoin:round;paint-order:stroke;font-family:var(--font-sans);font-weight:600}.pin{transform-box:fill-box;transform-origin:50%}.pin.fresh{animation:.52s cubic-bezier(.2,.9,.3,1.3) both drop}.pulse{fill:none;stroke:var(--map-pin);transform-box:fill-box;transform-origin:50%;animation:.9s ease-out both pulse}@keyframes drop{0%{opacity:0;transform:translateY(-14px)scale(.3)}to{opacity:1;transform:none}}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(3.2)}}.chip{gap:var(--space-2);background:color-mix(in srgb, var(--color-surface) 88%, transparent);border:1px solid var(--color-line);padding:var(--space-1) 10px;border-radius:999px;align-items:center;display:flex;position:absolute;top:10px;left:10px}.chip b{color:var(--color-accent)}.lenses{padding-top:var(--space-2);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;display:flex;overflow-x:auto}.lenses::-webkit-scrollbar{display:none}.lenses[hidden]{display:none}.lens{font:inherit;white-space:nowrap;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line-strong);min-height:44px;padding:0 var(--space-3);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;display:inline-flex}.lens:hover{background:var(--color-accent-soft)}.lens b{color:var(--color-accent)}.lens[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.lens[aria-pressed=true] b{color:inherit}.round-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.round-head p{margin:0}.round-head .count{color:var(--color-ink-muted);flex:none}.challenge{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;gap:14px;display:flex}.eyebrow{color:var(--color-ink-muted);margin:0}h1{text-wrap:balance;margin:0}.goal{align-items:center;gap:var(--space-3);display:flex}#goalBar{flex:1;min-width:0}.goal-clock:empty{display:none}.goal-clock.count{color:var(--color-ink-muted)}.goal-tag{margin-bottom:calc(-1 * var(--space-1));align-self:flex-start}.goal-label{margin:0;margin-top:calc(-1 * var(--space-2));color:var(--color-ink-muted);min-width:0}.goal-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.125rem;font-weight:500}.goal-clock.low{color:var(--color-error)}.pips{gap:6px;display:flex}.pips i{background:var(--color-line);border-radius:3px;flex:1;height:6px;transition:background .2s}.pips i.on{background:var(--color-accent)}.pips i.bad{background:var(--color-error)}.pips i.cur{background:var(--color-highlight)}.bar{background:var(--color-line);border-radius:3px;height:6px;overflow:hidden}.bar b{background:var(--color-accent);border-radius:3px;width:0;height:100%;display:block}.bar.time b{transition:width .25s linear}.scorebar{align-items:center;gap:var(--space-3);background:var(--color-canvas);padding:10px var(--space-3);border-radius:10px;display:flex}.score-num{font-variant-numeric:tabular-nums}.score-lab{color:var(--color-ink-muted)}.score-note{color:var(--color-ink-muted);text-align:right;min-width:0;margin-left:auto}.badge{background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);white-space:nowrap}button.start,button.submit{font:inherit;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-sm);min-height:44px;padding:0 var(--space-3);cursor:pointer;border:0}button.start{width:100%}button.start:hover:enabled,button.submit:hover:enabled{opacity:.88}.composer{position:relative}form{gap:var(--space-2);display:flex}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input[type=text],.menu-row input,.preview select{min-width:0;min-height:48px;font:inherit;color:var(--color-ink);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 var(--space-3);flex:1}input[type=text]:hover,.menu-row input:hover,.preview select:hover{border-color:var(--color-line-strong)}input[type=text]::placeholder,.menu-row input::placeholder{color:var(--color-ink-muted)}input[type=text][aria-invalid=true]{border-color:var(--color-error)}input[type=text]:disabled{opacity:.4}button.submit{flex:none;align-self:center;place-items:center;width:44px;height:44px;padding:0;display:grid}button:disabled{opacity:.4;cursor:not-allowed}:focus-visible,.tile:focus-visible,ol.found button:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px}input[type=text]:focus,.menu-row input:focus,.preview select:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}input[type=text][aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error)}.shake{animation:.32s shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.sugg{left:0;right:0;bottom:calc(100% + var(--space-2));z-index:5;gap:var(--space-1);padding:var(--space-2);max-height:calc(4 * 44px + 3 * var(--space-1) + 2 * var(--space-2) + 2px);overscroll-behavior:contain;background:var(--color-surface-raised);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;margin:0;list-style:none;display:flex;position:absolute;overflow-y:auto}.sg-option{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-ink);flex:none;display:flex}.sg-option:hover{background:var(--color-canvas)}.sg-option[aria-selected=true]{background:var(--color-accent-soft);color:var(--color-accent)}.sg-name{overflow-wrap:anywhere;flex:1;min-width:0}.sg-key{color:var(--color-ink-muted);visibility:hidden}.sg-option[aria-selected=true] .sg-key{visibility:visible}.sg-option.got{opacity:.45;text-decoration:line-through}.match{gap:var(--space-3);flex-direction:column;display:flex}.strip{gap:var(--space-2);display:flex}.tile{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-canvas);text-align:center;flex:1;justify-content:center;align-items:center;min-width:0;height:48px;padding:5px;font-size:.75rem;font-weight:600;display:flex;position:relative;overflow:hidden}.tile img{object-fit:contain;max-width:100%;max-height:100%;display:block}.tile.cur{border-color:var(--color-ink);border-width:2.5px}.tile.ok{border-color:var(--color-accent)}.tile.no{border-color:var(--color-error);border-style:dashed}.tile .mk{color:var(--color-accent);font-size:.75rem;line-height:1.2;position:absolute;top:0;right:3px}.tile.no .mk{color:var(--color-error)}.stage-box{justify-content:center;align-items:center;gap:var(--space-2);min-height:160px;padding:var(--space-4);background:var(--color-canvas);border:1px solid var(--color-line);border-radius:var(--radius-md);touch-action:pan-x pan-y;flex-direction:column;display:flex}.flagbig{border:1px solid var(--color-line);width:100%;max-width:260px;height:auto;display:block}.textbig{text-align:center;overflow-wrap:anywhere}.flagcap{max-width:180px}.textcap{text-align:center;text-wrap:balance}.tile-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box;overflow:hidden}.stage-tag,.goal-tag{color:var(--color-ink-muted);background:var(--color-canvas);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3)}.stage-q,.stage-status{color:var(--color-ink-muted);margin:0}.stage-status.ok{color:var(--color-accent);font-weight:600}.stage-status.no{color:var(--color-error);font-weight:600}.outline{fill:var(--color-accent)}.outlinebig{width:100%;max-width:260px;height:auto;display:block}.tile svg{max-width:100%;max-height:100%;display:block}.stage-hint{gap:var(--space-2);padding:var(--space-3);background:var(--color-highlight-soft);border:1px solid var(--color-highlight);border-radius:var(--radius-sm);flex-direction:column;display:flex}.clue{flex-direction:column;display:flex}.clue-n,.clue-name{color:var(--color-on-highlight-soft)}.clue-value{color:var(--color-ink)}.clue-worth{color:var(--color-ink-muted)}.stage{flex-direction:column;gap:6px;display:flex}.tools{gap:var(--space-2);flex-wrap:wrap;display:flex}button.ghost{font:inherit;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);min-height:44px;padding:0 var(--space-3);cursor:pointer}button.ghost.plain{background:0 0;border-color:#0000}button.ghost:hover:enabled{background:var(--color-accent-soft)}button.ghost.hold{isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;position:relative;overflow:hidden}button.ghost.hold:before{content:"";z-index:-1;background:var(--color-error);opacity:.18;transform-origin:0;transition:transform .15s ease-out;position:absolute;inset:0;transform:scaleX(0)}button.ghost.hold.holding{border-color:var(--color-error);color:var(--color-error)}button.ghost.hold.holding:before{transition:transform var(--hold-ms,5s) linear;transform:scaleX(1)}.feedback{min-height:1.45em;color:var(--color-ink-muted);margin:0}.feedback.good{color:var(--color-accent);font-weight:600}.feedback.bad{color:var(--color-error)}.challenge[data-kind=match] .feedback.good{min-height:44px;padding:0 var(--space-3);background:var(--color-success-soft);color:var(--color-on-success-soft);border-radius:var(--radius-sm);align-items:center;font-weight:700;display:flex}.hintbox{border-left:3px solid var(--map-pin);margin:0;padding:2px 0 2px 10px}.result{gap:var(--space-1);border:1.5px solid var(--color-accent);padding:var(--space-3) 14px;border-radius:10px;flex-direction:column;display:flex}.result span{color:var(--color-ink-muted)}.result-score{margin:0}.challenge[data-kind=match] .result{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.found-head{border-top:1px solid var(--color-line);justify-content:space-between;align-items:baseline;padding-top:14px;display:flex}h2{margin:0}.count{color:var(--color-ink-muted)}ol.found{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}ol.found li{border-bottom:1px solid var(--color-line)}ol.found li:last-child{border-bottom:0}ol.found button{all:unset;box-sizing:border-box;cursor:pointer;grid-template-columns:28px minmax(0,1fr) auto;align-items:baseline;gap:10px;width:100%;padding:10px 0;display:grid}ol.found button:focus-visible{border-radius:4px}.n{color:var(--color-ink-muted)}.cname{overflow-wrap:anywhere}.coord{color:var(--color-ink-muted);text-align:right}.empty{color:var(--color-ink-muted);padding:var(--space-1) 0 2px;margin:0}.missed-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.missed-chips li{color:var(--color-ink-muted);border:1px solid var(--color-line);border-radius:999px;padding:3px 10px}.foot{color:var(--color-ink-muted);margin:0}.preview{align-items:center;gap:var(--space-2);color:var(--color-ink-muted);flex-wrap:wrap;display:flex}.preview select{flex:0 auto;max-width:100%}@media (prefers-reduced-motion:reduce){.pin.fresh,.pulse,.shake{animation:none}.pips i{transition:none}}@media (width>=640px){.map{aspect-ratio:16/11}.challenge{padding:22px 22px 20px}}.textbig{font-family:var(--font-sans);font-weight:var(--type-display-weight);font-size:min(var(--type-display-size), 14vw);letter-spacing:var(--type-display-tracking);line-height:1}.legal h1,.score-num,.result-score{font-family:var(--font-sans);font-weight:var(--type-result-heading-weight);font-size:var(--type-result-heading-size);line-height:var(--type-result-heading-line-height);letter-spacing:var(--type-result-heading-tracking)}h2,.sheet-head h2,.round-title{font-family:var(--font-sans);font-weight:var(--type-challenge-title-weight);font-size:var(--type-challenge-title-size);line-height:var(--type-challenge-title-line-height);letter-spacing:var(--type-challenge-title-tracking)}h1,.legal h2,.result strong,.cname,.textcap,.clue-value,.menu-stat{font-family:var(--font-sans);font-weight:var(--type-challenge-subject-weight);font-size:var(--type-challenge-subject-size);line-height:var(--type-challenge-subject-line-height);letter-spacing:var(--type-challenge-subject-tracking)}body,input[type=text],.menu-row input,.sheet-body .menu-row input,.sg-option,.stage-q,.goal-label{font-family:var(--font-sans);font-weight:var(--type-body-weight);font-size:var(--type-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-tracking)}.menu-msg,.menu-email,.menu-confirm,.menu-legal a,.legal-links,.toast,.menu-note,button.linkish,.score-note,.stage-status,.stage-hint,.clue-worth,.feedback,.hintbox,.result span,.empty,.missed-chips li,.foot,.preview,.preview select,.map-status{font-family:var(--font-sans);font-weight:var(--type-small-weight);font-size:var(--type-small-size);line-height:var(--type-small-line-height);letter-spacing:var(--type-small-tracking)}.date,.menu-label,.legal-date,.count,.n,.coord,.sg-key,.stage-status:not(.ok,.no),.goal-clock.count{font-family:var(--font-mono);font-weight:var(--type-metadata-weight);font-size:var(--type-metadata-size);line-height:var(--type-metadata-line-height);letter-spacing:var(--type-metadata-tracking)}.eyebrow,.chip,.score-lab,.clue-n,.clue-name,.challenge[data-kind=match] .result strong{font-family:var(--font-mono);font-weight:var(--type-kicker-weight);font-size:var(--type-kicker-size);line-height:var(--type-kicker-line-height);letter-spacing:var(--type-kicker-tracking)}button.start,button.submit,button.ghost,.lens{font-family:var(--font-sans);font-weight:var(--type-button-weight);font-size:var(--type-button-size);line-height:var(--type-button-line-height);letter-spacing:var(--type-button-tracking)}.badge,.chip b,.lens b,.stage-tag,.goal-tag{font-family:var(--font-mono);font-weight:var(--type-badge-weight);font-size:var(--type-badge-size);line-height:var(--type-badge-line-height);letter-spacing:var(--type-badge-tracking)}.map-status{padding:var(--space-4);text-align:center;color:var(--color-ink-muted);place-items:center;display:grid;position:absolute;inset:0}.focus,.focus body{overscroll-behavior:none;overflow:hidden}.focus .app{left:0;right:0;top:var(--vv-top,0px);height:var(--vv-height,100dvh);gap:var(--space-2);max-width:none;padding:var(--space-2) max(var(--space-4), env(safe-area-inset-right,0px)) var(--space-2) max(var(--space-4), env(safe-area-inset-left,0px));position:fixed}.focus .top,.focus .round-head,.focus .preview{display:none}.focus .map-wrap{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.focus .lenses{flex:none;padding-top:6px}.focus .map{aspect-ratio:auto;flex:1}.focus .challenge{padding:var(--space-2) var(--space-3);flex:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"goal tools""match match""form form""feedback feedback""hint hint";gap:0 10px;display:grid}.focus .challenge>*{margin-top:var(--space-2)}.focus .goal{grid-area:goal;margin-top:0}.focus .tools{flex-wrap:nowrap;grid-area:tools;align-self:center;margin-top:0}.focus .match{grid-area:match}.focus .composer{grid-area:form}.focus .feedback{grid-area:feedback}.focus .hintbox{grid-area:hint}.focus .challenge>:not(.goal,.composer,.feedback,.hintbox,.tools,.match){display:none}.focus .goal-clock:not(.count){font-size:1rem}.focus .feedback{white-space:nowrap;text-overflow:ellipsis;min-height:1.45em;overflow:hidden}.focus .tools{gap:6px}.focus[data-play=match] .map-wrap{display:none}.focus[data-play=match] .challenge{flex:1 1 0;grid-template-rows:auto minmax(0,1fr);min-height:0}.focus .match{gap:var(--space-2);flex:1 1 0;min-height:0}.focus .strip,.focus .stage-q{display:none}.focus .stage{flex:1 1 0;min-height:0}.focus .stage-box{min-height:72px;padding:var(--space-2);flex:1 1 0}.focus .flagbig,.focus .outlinebig{width:auto;max-width:100%;min-height:0;max-height:100%}.focus .flagcap{flex:0 auto;max-height:40%}.focus .textbig{font-size:clamp(1.75rem,9vw,2.5rem)}
