:root{--brand-purple:#6c5ce7;--brand-purple-hover:#7e6df0;--brand-purple-dim:#4a3fa8;--bg:#0f0f17;--bg-elevated:#1a1a26;--bg-card:#20202e;--border:#2a2a3a;--text:#f0f0f5;--text-muted:#9b9bae;--text-dim:#6b6b80;--success:#2dd4bf;--warning:#fbbf24;--danger:#f87171;--radius-sm:6px;--radius:10px;--radius-lg:16px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif}*{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f0f17;background:var(--bg);color:#f0f0f5;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-sans);margin:0;overscroll-behavior:none}button{cursor:pointer;font-family:inherit}a{color:#6c5ce7;color:var(--brand-purple);text-decoration:none}a:hover{color:#7e6df0;color:var(--brand-purple-hover)}.Wordmark{align-items:baseline;display:inline-flex;font-size:28px;font-weight:800;letter-spacing:.02em;line-height:1;-webkit-user-select:none;user-select:none}.Wordmark-base{color:var(--text)}.Wordmark-z{color:var(--brand-purple);display:inline-block;margin-left:1px;transform:rotate(-6deg);transform-origin:50% 70%}.OverflowMenu{display:inline-flex;position:relative}.OverflowMenu-trigger{align-items:center;background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:18px;height:36px;justify-content:center;line-height:1;transition:color .12s,border-color .12s,background .12s;width:36px}.OverflowMenu-trigger:hover,.OverflowMenu-trigger[aria-expanded=true]{background:#6c5ce714;border-color:var(--brand-purple);color:var(--text)}.OverflowMenu-popover{animation:OverflowMenu-pop .14s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);background:#1c1c1eb8;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 16px 40px #00000073,inset 0 1px 0 #ffffff14;display:flex;flex-direction:column;min-width:320px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);transform-origin:top right;z-index:100}@media (prefers-color-scheme:light){.OverflowMenu-popover{background:#f5f5f7c7;border-color:#00000014;box-shadow:0 16px 40px #0000002e,inset 0 1px 0 #fff9}}@keyframes OverflowMenu-pop{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.OverflowMenu-item{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:10px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:500;gap:2px;letter-spacing:-.01em;padding:12px 14px;text-align:left;transition:background .12s,color .12s}.OverflowMenu-item--accent .OverflowMenu-itemLabel{color:#0074d4;font-weight:600}.OverflowMenu-itemLabel{display:block}.OverflowMenu-itemSublabel{color:var(--text-muted);display:block;font-size:11px;font-weight:400;letter-spacing:0}.OverflowMenu-item:focus-visible,.OverflowMenu-item:hover{background:#ffffff14;color:var(--text);outline:none}@media (prefers-color-scheme:light){.OverflowMenu-item:focus-visible,.OverflowMenu-item:hover{background:#0000000f}}.OverflowMenu-headerSlot{padding:10px 14px 8px}.OverflowMenu-divider{background:#ffffff14;height:1px;margin:4px 0}@media (prefers-color-scheme:light){.OverflowMenu-divider{background:#00000014}}.OverflowMenu-streak{align-items:center;color:var(--text-muted);display:inline-flex;font-size:13px;font-weight:500;gap:6px;width:100%}.OverflowMenu-streakIcon{font-size:14px;line-height:1}.OverflowMenu-streakLabel{margin-right:auto}.OverflowMenu-streakValue{font-feature-settings:"tnum";color:var(--brand-purple);font-variant-numeric:tabular-nums;font-weight:700}.OverflowMenu-account{align-items:center;color:var(--text-muted);display:inline-flex;font-size:12px;font-weight:500;gap:6px;margin-bottom:6px;width:100%}.OverflowMenu-accountEmail{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.OverflowMenu-accountProBadge{background:#0074d433;border-radius:3px;color:#0074d4;font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 6px}.Header{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 20px}.Header-left,.Header-right{align-items:center;display:flex;gap:8px}.Header-home{align-items:center;border-radius:6px;color:inherit;display:inline-flex;margin:-2px -4px;padding:2px 4px;text-decoration:none;transition:opacity .12s}.Header-home:hover{opacity:.85}.Header-home:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.Header-iconBtn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:16px;height:36px;justify-content:center;transition:color .12s,border-color .12s,background .12s;width:36px}.Header-iconBtn:hover{background:#6c5ce714;border-color:var(--brand-purple);color:var(--text)}.Header-modeToggle{background:#0000;border:1px solid var(--border);border-radius:18px;display:inline-flex;padding:2px}.Header-modeSegment{align-items:center;background:#0000;border:none;border-radius:16px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;height:32px;letter-spacing:.02em;padding:0 14px;transition:background .12s,color .12s}.Header-modeSegment.is-active{background:var(--brand-purple);color:#fff}.Header-modeSegment:not(.is-active):hover{background:#6c5ce714;color:var(--text)}.Footer{background:var(--bg);border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:18px 20px 24px}.Footer,.Footer-row{align-items:center;display:flex}.Footer-row{flex-wrap:wrap;gap:10px;justify-content:center}.Footer-siblings{align-self:center;display:flex;flex-direction:column;gap:10px;max-width:600px;width:100%}.Footer-siblingsRow{grid-gap:10px;display:grid;gap:10px;width:100%}.Footer-siblingsRow--two{grid-template-columns:repeat(2,1fr)}.Footer-siblingsRow--three{grid-template-columns:repeat(3,1fr)}.Footer-siblingsRow--hub{grid-template-columns:minmax(140px,220px);justify-content:center}.Footer-textLink--hub{font-size:13px;letter-spacing:.04em;opacity:.7}.Footer-textLink--hub:hover{opacity:1}.Footer-textLink{align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);display:inline-flex;font-size:15px;font-weight:500;justify-content:center;min-height:36px;overflow:hidden;padding:8px 14px;text-align:center;text-overflow:ellipsis;transition:color .12s,background .12s,border-color .12s;white-space:nowrap}.Footer-textLink:hover{background:var(--bg-card);border-color:var(--brand-purple);color:var(--text)}.Footer-icon{align-items:center;border-radius:50%;color:var(--text-muted);display:inline-flex;height:44px;justify-content:center;transition:color .12s,background .12s;width:44px}.Footer-icon:hover{background:var(--bg-elevated);color:var(--brand-purple)}.Footer-icon svg{display:block;height:26px;width:26px}.Footer-copy{font-size:13px}.Footer-copy,.Footer-copyLink{color:var(--text-dim)}.Footer-copyLink:hover{color:var(--text-muted)}.Footer-sep{color:var(--text-dim);font-size:13px}@media (max-width:600px){.Footer{gap:16px;padding:22px 12px 28px}.Footer-textLink{font-size:16px;min-height:44px;padding:11px 8px}.Footer-icon{height:52px;width:52px}.Footer-icon svg{height:30px;width:30px}.Footer-copy{font-size:13px}}.Globe{align-items:center;aspect-ratio:1/1;cursor:grab;display:flex;justify-content:center;margin:0 auto;max-width:600px;-webkit-user-select:none;user-select:none;width:100%}.Globe:active{cursor:grabbing}.Globe>div{height:100%!important;width:100%!important}.Globe canvas{border-radius:50%;display:block}.Globe.Globe--sepia canvas{filter:sepia(.55) brightness(.88) contrast(1.05)}.GlobeGuessMarker,.GlobeTargetMarker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));line-height:1;pointer-events:none;transform:translate(-50%,-100%) scale(1);transform:translate(-50%,-100%) scale(var(--marker-scale,1));transform-origin:50% 100%;-webkit-user-select:none;user-select:none}.GlobeTargetMarker{font-size:38px}.GlobeGuessMarker{font-size:22px;opacity:.55}.GlobeGuessMarker.GlobeGuessMarker--latest{font-size:30px;opacity:1}.PhotoFrame{align-items:center;display:flex;flex-direction:column;gap:6px;margin:0;max-width:600px;width:100%}.PhotoFrame-fallback,.PhotoFrame-img{aspect-ratio:16/9;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);display:block;object-fit:cover;width:100%}.PhotoFrame-fallback{align-items:center;display:flex;justify-content:center;padding:20px}.PhotoFrame-fallbackText{color:var(--text);font-size:18px;font-weight:600;text-align:center}.PhotoFrame-caption{color:var(--text-dim);font-size:11px;padding-right:4px;text-align:right;width:100%}.GuessHistory{display:flex;justify-content:space-between;left:0;padding:0 8px;pointer-events:none;position:absolute;right:0;top:8px;z-index:5}.GuessHistory-col{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0;width:min(38%,132px)}.GuessHistory-col--right{align-items:flex-end}.GuessHistory-col--right .GuessHistory-card{flex-direction:row-reverse}.GuessHistory-card{font-feature-settings:"tnum";align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f0f17a8;border:1px solid #ffffff14;border-radius:6px;color:var(--text);display:flex;font-size:11.5px;font-variant-numeric:tabular-nums;gap:6px;line-height:1;overflow:hidden;padding:5px 8px;pointer-events:none;white-space:nowrap;width:100%}.GuessHistory-card.is-empty{background:#0f0f1766;border-color:#ffffff0f;border-style:dashed;color:var(--text-dim)}.GuessHistory-card.is-latest{animation:GuessHistory-pulse .6s ease-out 1;background:#0f0f17e0;border-color:var(--brand-purple);box-shadow:0 0 0 2px #6c5ce799,0 2px 12px #6c5ce740;font-size:14px}.GuessHistory-card.is-latest .GuessHistory-distance{font-weight:700}.GuessHistory-card.is-latest .GuessHistory-arrow{font-size:17px}@keyframes GuessHistory-pulse{0%{box-shadow:0 0 0 0 #6c5ce7e6;transform:scale(.92)}60%{box-shadow:0 0 0 10px #6c5ce700;transform:scale(1.06)}to{box-shadow:0 0 0 2px #6c5ce799,0 2px 12px #6c5ce740;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.GuessHistory-card.is-latest{animation:none}}.GuessHistory-card.is-win{background:#2dd4bf2e;border-color:var(--success);color:var(--success)}.GuessHistory-num{color:var(--text-dim);flex-shrink:0;font-size:10px;font-weight:700;text-align:center;width:10px}.GuessHistory-card.is-latest .GuessHistory-num{color:var(--brand-purple)}.GuessHistory-card.is-win .GuessHistory-num{color:var(--success)}.GuessHistory-distance{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.GuessHistory-card.is-win .GuessHistory-distance{font-weight:600}.GuessHistory-direction{align-items:center;color:var(--text-muted);display:inline-flex;flex-shrink:0;gap:3px}.GuessHistory-arrow{color:var(--brand-purple);font-size:14px;line-height:1}.GuessHistory-compass{font-size:10px;font-weight:600;letter-spacing:.04em}.GuessHistory-placeholder{color:var(--text-dim);flex:1 1;text-align:center}@media (min-width:720px){.GuessHistory{padding:0 14px;top:14px}.GuessHistory-col{gap:8px;width:144px}.GuessHistory-card{font-size:12.5px;padding:6px 10px}.GuessHistory-arrow,.GuessHistory-card.is-latest{font-size:15px}.GuessHistory-card.is-latest .GuessHistory-arrow{font-size:18px}}.Modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f17c7;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));position:fixed;z-index:100}.Modal-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;max-height:calc(100dvh - 32px);max-width:380px;overflow-y:auto;padding:32px 28px 24px;position:relative;text-align:center;width:100%}.Modal-closeBtn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:22px;height:32px;justify-content:center;line-height:1;position:absolute;right:12px;top:12px;width:32px}.Modal-closeBtn:hover{background:var(--bg-elevated);color:var(--text)}.Modal-closeBtn:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.Modal-title{color:var(--text);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px;text-align:center}.Modal-panel.EndGameModal{display:flex;flex-direction:column;gap:20px;max-width:420px}.EndGameModal-subtitle{color:var(--text-muted);font-size:14px;margin:-10px 0 0;text-align:center}.EndGameModal-styleChip{align-items:center;align-self:center;background:#6c5ce724;border:1px solid #6c5ce773;border-radius:999px;color:var(--text);display:inline-flex;font-size:13px;gap:8px;margin:-8px auto 0;max-width:100%;padding:7px 14px}.EndGameModal-styleGlyph{font-size:16px;line-height:1}.EndGameModal-styleBlurb{color:var(--text-muted)}.EndGameModal-subtitle strong{color:var(--text);font-weight:700}.EndGameModal-target{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:left}button.EndGameModal-target{cursor:pointer;font:inherit;transition:border-color .12s,background .12s;width:100%}button.EndGameModal-target--clickable:hover{background:var(--bg-card);border-color:var(--brand-purple)}button.EndGameModal-target--clickable:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.EndGameModal-targetChevron{color:var(--brand-purple);font-size:22px;font-weight:400;line-height:1}.EndGameModal-targetLabel{color:var(--text-dim);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.EndGameModal-targetTitle{align-items:center;color:var(--text);display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:space-between}.EndGameModal-targetCoords{font-feature-settings:"tnum";color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.EndGameModal-countdown{align-items:center;display:flex;flex-direction:column;gap:4px}.EndGameModal-countdownLabel{color:var(--text-dim);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.EndGameModal-countdownValue{font-feature-settings:"tnum";color:var(--brand-purple);font-size:26px;font-variant-numeric:tabular-nums;font-weight:700}.EndGameModal-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.EndGameModal-btn{border:1px solid #0000;border-radius:var(--radius);font-size:15px;font-weight:600;min-height:44px;padding:12px 18px;transition:background .12s,color .12s,border-color .12s,transform 80ms;width:100%}.EndGameModal-btn:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.EndGameModal-btn--primary{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}.EndGameModal-btn--primary:hover{background:var(--brand-purple-hover);border-color:var(--brand-purple-hover)}.EndGameModal-btn--primary:active{transform:translateY(1px)}.EndGameModal-btn--ghost{background:#6c5ce72e;border-color:#6c5ce78c;color:var(--text)}.EndGameModal-btn--ghost:hover{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}.EndGameModal-btn--ghost:active{background:var(--brand-purple-dim);border-color:var(--brand-purple-dim);color:#fff;transform:translateY(1px)}.StatsModal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f17c7;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));position:fixed;z-index:100}.StatsModal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:18px;max-height:calc(100dvh - 32px);max-width:460px;overflow-y:auto;padding:32px 28px 24px;position:relative;width:100%}.StatsModal-closeBtn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:22px;height:32px;justify-content:center;position:absolute;right:12px;top:12px;width:32px}.StatsModal-closeBtn:hover{background:var(--bg-elevated);color:var(--text)}.StatsModal-title{color:var(--text);font-size:20px;font-weight:700;margin:0;text-align:center}.StatsModal-subtitle{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.06em;margin:4px 0 8px;text-align:center;text-transform:uppercase}.StatsModal-summary{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.StatsModal-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.StatsModal-statValue{font-feature-settings:"tnum";color:var(--text);font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.StatsModal-statLabel{color:var(--text-dim);font-size:10px;letter-spacing:.06em;text-align:center;text-transform:uppercase}.StatsModal-dist{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.StatsModal-distRow{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:24px 1fr}.StatsModal-distLabel{font-feature-settings:"tnum";color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.StatsModal-distBarTrack{width:100%}.StatsModal-distBar{font-feature-settings:"tnum";align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text);display:flex;font-size:12px;font-variant-numeric:tabular-nums;height:22px;justify-content:flex-end;padding:0 8px;transition:background .12s}.StatsModal-distRow.is-highlight .StatsModal-distBar{background:var(--brand-purple);border-color:var(--brand-purple);color:#fff}.StatsModal-distRow--loss .StatsModal-distBar{background:#f871711f;border-color:#f871714d}.StatsModal-distRow--loss.is-highlight .StatsModal-distBar{background:var(--danger);border-color:var(--danger);color:#fff}.StatsModal-distCount{font-weight:600}.StatsModal-resetBtn{align-self:center;background:#0000;border:none;color:var(--text-dim);font-size:12px;margin-top:4px;padding:6px;text-decoration:underline}.StatsModal-resetBtn:hover{color:var(--danger)}.TravelLinks{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding-top:14px}.TravelLinks-title{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.TravelLinks-row{display:flex;flex-wrap:wrap;gap:8px}.TravelLinks-btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1 1;font-size:13.5px;font-weight:600;min-width:96px;padding:10px 12px;text-align:center;text-decoration:none;transition:border-color .12s,color .12s,background .12s}.TravelLinks-btn:hover{border-color:var(--brand-purple);color:var(--brand-purple)}.TravelLinks-disclosure{color:var(--text-dim);font-size:11px;font-style:italic;margin:2px 0 0}.InfoModal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f17c7;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));position:fixed;z-index:110}.InfoModal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:18px;max-height:calc(100dvh - 32px);max-width:520px;overflow-y:auto;padding:28px 26px 22px;position:relative;width:100%}.InfoModal-closeBtn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:22px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;width:32px}.InfoModal-closeBtn:hover{background:var(--bg-elevated);color:var(--text)}.InfoModal-header{align-items:flex-start;display:flex;gap:14px}.InfoModal-thumb{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;height:96px;object-fit:cover;width:96px}.InfoModal-headerText{flex:1 1;min-width:0}.InfoModal-title{color:var(--text);font-size:20px;font-weight:700;margin:0 0 4px;word-break:break-word}.InfoModal-description{color:var(--text-muted);font-size:13px;font-style:italic;margin:0 0 6px}.InfoModal-coords{font-feature-settings:"tnum";color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums;margin:0}.InfoModal-body{display:flex;flex-direction:column;gap:10px}.InfoModal-loading{color:var(--text-dim);font-size:14px;font-style:italic;margin:0}.InfoModal-error{color:var(--text-muted);font-size:14px;margin:0}.InfoModal-extract{color:var(--text);font-size:14.5px;line-height:1.55;margin:0}.InfoModal-note{color:var(--text-dim);font-size:12px;font-style:italic;margin:0}.InfoModal-link{color:var(--brand-purple)}.InfoModal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.InfoModal-primaryBtn,.InfoModal-secondaryBtn{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:14.5px;font-weight:600;min-height:44px;padding:11px 20px;text-decoration:none;transition:background .12s,color .12s,border-color .12s}.InfoModal-primaryBtn{background:var(--brand-purple);border:none;color:#fff}.InfoModal-primaryBtn:hover{background:var(--brand-purple-hover)}.InfoModal-secondaryBtn{background:#0000;border:1px solid var(--border);color:var(--text)}.InfoModal-secondaryBtn:hover{border-color:var(--brand-purple);color:var(--brand-purple)}.AboutModal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f17c7;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));position:fixed;z-index:100}.AboutModal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - 32px);max-width:460px;overflow-y:auto;padding:28px 26px 22px;position:relative;width:100%}.AboutModal-closeBtn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:22px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;width:32px}.AboutModal-closeBtn:hover{background:var(--bg-elevated);color:var(--text)}.AboutModal-title{color:var(--text);font-size:20px;font-weight:700;margin:0;text-align:center}.AboutModal-lede{color:var(--text-muted);font-size:14.5px;line-height:1.5;margin:0;text-align:center}.AboutModal-h3{color:var(--text-dim);font-size:12.5px;font-weight:600;letter-spacing:.07em;margin:6px 0 -2px;text-transform:uppercase}.AboutModal-p{color:var(--text);font-size:14.5px;line-height:1.55;margin:0}.AboutModal-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:22px}.AboutModal-list li{color:var(--text);font-size:14.5px;line-height:1.5}.AboutModal-week{grid-gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:4px;grid-template-columns:1fr;list-style:none;margin:0;padding:10px 12px}.AboutModal-week li{grid-gap:6px;align-items:center;color:var(--text);display:grid;font-size:14px;gap:6px;grid-template-columns:44px 1fr}.AboutModal-day{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.AboutModal a,.AboutModal-day{color:var(--brand-purple)}.AboutModal a:hover{color:var(--brand-purple-hover)}.SettingsModal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f17c7;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));position:fixed;z-index:100}.SettingsModal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:18px;max-height:calc(100dvh - 32px);max-width:460px;overflow-y:auto;padding:28px 26px 22px;position:relative;width:100%}.SettingsModal-closeBtn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);display:inline-flex;font-size:22px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;width:32px}.SettingsModal-closeBtn:hover{background:var(--bg-elevated);color:var(--text)}.SettingsModal-title{color:var(--text);font-size:20px;font-weight:700;margin:0;text-align:center}.SettingsModal-row{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:14px 0}.SettingsModal-row:first-of-type{border-top:none;padding-top:0}.SettingsModal-rowLabels{display:flex;flex-direction:column;gap:2px}.SettingsModal-rowLabel{color:var(--text);font-size:14.5px;font-weight:600}.SettingsModal-rowHint{color:var(--text-dim);font-size:12.5px;line-height:1.4}.SettingsModal-rowControl{display:flex;justify-content:flex-start}.SettingsModal-segmented{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.SettingsModal-segment{background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:13.5px;font-weight:600;min-width:44px;padding:7px 14px;transition:background .12s,color .12s}.SettingsModal-segment:hover{color:var(--text)}.SettingsModal-segment.is-active{background:var(--brand-purple);color:#fff}.SettingsModal-dangerBtn{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--danger);cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 16px;transition:background .12s,border-color .12s}.SettingsModal-dangerBtn:hover{background:#f8717114;border-color:var(--danger)}.SettingsModal-version{color:var(--text-dim);font-size:11.5px;margin:4px 0 0;text-align:center}.LegalPage{display:flex;flex-direction:column;min-height:100vh}.LegalPage-main{color:var(--text);flex:1 1;line-height:1.6;margin:0 auto;max-width:720px;padding:32px 20px 48px;width:100%}.LegalPage-title{color:var(--text);font-size:28px;font-weight:800;margin:0 0 4px}.LegalPage-updated{color:var(--text-dim);font-size:13px;margin:0 0 28px}.LegalPage-main h2{color:var(--text);font-size:18px;font-weight:700;margin:28px 0 8px}.LegalPage-main p{color:var(--text);font-size:15.5px;margin:0 0 14px}.LegalPage-main ul{color:var(--text);margin:0 0 14px;padding-left:22px}.LegalPage-main li{font-size:15.5px;margin:4px 0}.LegalPage-main a{color:var(--brand-purple)}.LegalPage-main a:hover{color:var(--brand-purple-hover)}.LegalPage-main code{background:var(--bg-elevated);border-radius:4px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;padding:1px 6px}.LegalPage-index{display:flex;flex-direction:column;gap:10px;list-style:none;margin:16px 0 0;padding:0}.LegalPage-index li{font-size:14px;margin:0}.LegalPage-index a,.LegalPage-index-button{background:var(--bg-elevated);border:1px solid #7f7f7f33;border:1px solid var(--border,#7f7f7f33);border-radius:10px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;padding:14px 16px;text-align:left;text-decoration:none;width:100%}.LegalPage-index a:hover,.LegalPage-index-button:hover{border-color:var(--brand-purple);color:var(--text)}.LegalPage-index strong{font-size:15px;font-weight:700}.LegalPage-index span{color:var(--text-dim);font-size:13px}.App{display:flex;flex-direction:column;min-height:100vh}.App-main{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:flex-start;margin:0 auto;max-width:720px;padding:24px 16px;width:100%}.App-prompt{color:var(--text-muted);font-size:17px;margin:0;text-align:center}.App-feedback{color:var(--text);font-size:16px;min-height:24px;text-align:center}.App-feedback-empty{color:var(--text-dim)}.App-feedback strong{color:var(--brand-purple);font-weight:700}.App-gameBoard{margin:0 auto;max-width:600px;position:relative;width:100%}.App-postGame{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px;max-width:600px;width:100%}.App-playMoreBtn,.App-recapBtn{border:none;border-radius:var(--radius);font-size:15px;font-weight:600;min-height:44px;padding:12px 22px;transition:background .12s,color .12s,border-color .12s}.App-playMoreBtn{background:var(--brand-purple);color:#fff}.App-playMoreBtn:hover{background:var(--brand-purple-hover)}.App-recapBtn{background:#0000;border:1px solid var(--border);color:var(--text)}.App-recapBtn:hover{border-color:var(--brand-purple);color:var(--brand-purple)}.App-loading{align-items:center;gap:18px;justify-content:center;min-height:50vh}.App-loadingDot{animation:app-loading-pulse 1.2s ease-in-out infinite;background:var(--brand-purple);border-radius:50%;height:14px;width:14px}.App-loadingText{color:var(--text-muted);font-size:14px;margin:0}@keyframes app-loading-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}