.online-edition .app-shell{max-width:1080px}.online-edition .game-types button[aria-current=page]{color:var(--green);background:var(--green-soft)}.online-edition .classic-launch{padding:52px 24px}.online-edition .launch-spec{margin:16px 0 24px}.online-edition .launch-save{margin:18px 0 0}.online-edition .destination span:nth-child(2){flex:1;text-align:left}.online-edition .destination strong,.online-edition .destination small{display:block}.online-edition .destination small{margin-top:7px}.online-footnote,.online-muted,.online-controls{color:var(--muted);line-height:1.8}.online-footnote{text-align:center;margin:30px}.online-footnote a{color:var(--green)}.online-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;line-height:1.8}.online-card h3{margin:0 0 18px;font-size:16px}.online-daily-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;margin-top:28px}.online-edition .daily-day{height:44px}.online-edition .daily-tiers button{font-size:14px}.online-edition .daily-tiers .tier-name{flex:1}.online-edition .daily-tiers button[aria-pressed=true]{background:var(--green-soft);border-radius:5px}.online-edition .page-launch{margin:24px 0}.online-edition .online-notice{border-left:3px solid var(--red);background:var(--red-soft);padding:13px 18px;border-radius:4px;line-height:1.7}.online-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.online-lb .empty-board{text-align:center;color:var(--muted);padding:24px 8px;line-height:1.9}.account-card{max-width:620px;margin-bottom:24px}.account-card label{display:block;margin:14px 0;font-size:12px;color:var(--muted)}.account-card input{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text)}#recovery-value{display:block;overflow-wrap:anywhere;color:var(--green);font-family:monospace}.online-edition .online-controls{font-size:11px;text-align:center}.online-edition .online-result{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--surface);margin-top:28px}.online-result h2{margin:12px 0 22px}.online-result-numbers{display:flex;gap:36px;flex-wrap:wrap}.online-result-numbers small{display:block;color:var(--muted);margin-bottom:8px}.online-result-numbers strong{font:600 25px ui-monospace,monospace}.online-result #publish-area{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.online-result label{font-size:12px}.online-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 30px;font-size:11px;color:var(--muted)}.online-debug{margin:0 auto 90px;width:min(1120px,calc(100% - 32px));padding:16px;background:#151d24;color:#c6d7e6;border:1px solid #34475a;border-radius:9px;font:12px ui-monospace,monospace}.debug-heading{display:flex;align-items:center;gap:16px}.debug-heading strong{flex:1}.debug-heading button{color:#bcd8ef;border:1px solid #455563;border-radius:4px;padding:5px 9px}.online-debug p{font-size:11px;color:#8ba5ba}.debug-table-scroll{max-height:270px;overflow:auto}.online-debug table{width:100%;border-collapse:collapse;text-align:left}.online-debug th,.online-debug td{padding:8px;border-bottom:1px solid #2b3a45;white-space:nowrap}.online-debug [data-failed=true]{color:#f2a79b}#debug-ws{color:#91a6b7}
@media(max-width:700px){.online-edition .header-actions .edition{display:none}.online-daily-layout{grid-template-columns:minmax(0,1fr)}.online-edition .classic-launch{padding:36px 16px}.online-edition .page-heading{align-items:flex-start;gap:12px}.online-edition .page-heading h2{font-size:24px}.online-edition .page-badge{max-width:125px;line-height:1.6}.online-edition .online-card{padding:20px}.online-edition .page-launch{gap:14px}.online-edition .launch-button{min-width:125px}.online-result-numbers{gap:18px}.online-result-numbers strong{font-size:20px}.online-edition .online-result{padding:22px}.online-footer{padding-bottom:90px;gap:16px}}
.online-edition .game-types{display:flex}.online-edition .game-types button[aria-current=page]{background:none;font-weight:650}.online-edition .game-types button[aria-current=page]:after{content:'';position:absolute;height:3px;left:12px;right:12px;bottom:-1px;background:var(--green)}.online-edition .page-badge{white-space:normal}.online-edition .online-card .daily-calendar-blank{height:44px}.online-edition .online-card .daily-calendar{grid-auto-rows:44px}
@media(max-width:700px){.online-edition .game-types button[aria-current=page]{background:var(--green-soft)}.online-edition .game-types button[aria-current=page]:after{bottom:auto;top:0}.online-edition #date-label{font-size:15px;white-space:nowrap;line-height:28px}.online-edition .page-badge{font-size:10px;padding:7px 10px}.online-edition .online-footer{padding-bottom:35px}.online-edition .online-debug{margin-bottom:100px}.online-edition .online-card{padding:18px}}



/* Online-only account, verification and leaderboard UI. Game/replay styles are shared. */
.online-pause-note{margin:0 0 12px;color:var(--muted);font-size:12px}
#board .daily-start{position:relative;outline:2px solid var(--green);outline-offset:-3px}
#board .daily-start::after{content:'';position:absolute;inset:15%;border:2px solid var(--green);border-radius:50%;animation:online-start-guide 1.7s ease-in-out infinite;pointer-events:none}
@keyframes online-start-guide{0%,100%{transform:scale(.6);opacity:.9}60%{transform:scale(1);opacity:.2}}
@media(prefers-reduced-motion:reduce){#board .daily-start::after{animation:none}}
.online-edition .settings-combo,.online-edition .settings-debug-link{display:none}
.online-replay-parts{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:12px;color:var(--muted)}
.online-replay-parts select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:7px 9px}

/* Daily hub: a permanent calendar, compact launch bar, and the main ranking panel. */
body.online-edition[data-screen=daily] .app-shell{width:min(1320px,calc(100% - 64px));max-width:1320px}
#view-daily{max-width:none}
#view-daily>.page-heading{margin-bottom:24px}
.daily-heading-copy{display:flex;align-items:baseline;gap:22px}
.daily-heading-copy h2{margin:0;font-size:30px}.daily-heading-copy p{margin:0;color:var(--muted);font-size:13px}
.daily-reset{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;font-size:11px;color:var(--muted);white-space:nowrap}
.daily-reset time{color:var(--green);font:500 15px ui-monospace,monospace;font-variant-numeric:tabular-nums;min-width:8ch}
.daily-reset-help{position:relative;display:flex}.daily-reset-help button{display:grid;place-items:center;padding:0;border:1px solid var(--muted);border-radius:50%;width:18px;height:18px;font:12px ui-monospace,monospace;color:var(--muted)}
#daily-reset-tip{display:none;position:absolute;right:-6px;top:calc(100% + 12px);z-index:5;background:var(--surface);border:1px solid var(--line);box-shadow:0 5px 18px #00000015;border-radius:5px;padding:9px 12px;font-size:11px;color:var(--text)}
#daily-reset-tip:before{content:'';position:absolute;right:10px;top:-5px;width:8px;height:8px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.daily-reset-help:hover #daily-reset-tip,.daily-reset-help:focus-within #daily-reset-tip,.daily-reset-help:has([aria-expanded=true]) #daily-reset-tip{display:block}
.daily-reset-help[data-dismissed] #daily-reset-tip{display:none}
.online-daily-layout{display:grid;grid-template-columns:minmax(280px,.47fr) minmax(0,1fr);gap:24px;margin-top:0;align-items:start}
.daily-main{display:grid;gap:18px;min-width:0}
.online-edition .daily-date-panel{padding:24px 20px}
.daily-date-panel .daily-calendar-toolbar{margin-bottom:16px;gap:6px}
.daily-date-panel .daily-calendar-toolbar h3{margin:0;font-size:17px}
.daily-date-panel .daily-today{border:1px solid var(--line);border-radius:5px;padding:6px 12px}
.online-edition .daily-date-panel .daily-calendar{grid-auto-rows:54px;gap:5px 3px}
.online-edition .daily-date-panel .daily-day,.online-edition .daily-date-panel .daily-calendar-blank{height:54px}
.daily-date-panel .daily-day{font-size:14px;gap:3px}
.daily-date-panel .daily-day.complete{background:none;color:var(--text)}
.daily-date-panel .daily-day[aria-pressed=true]{background:var(--green);color:var(--surface);border-color:var(--green)}
.daily-date-panel .daily-day[aria-current=date]>span:first-child{text-decoration:none}
.daily-date-panel .daily-day:hover:not(:disabled):not([aria-pressed=true]){background:var(--green-soft)}
.daily-date-progress{height:12px;display:flex;align-items:center;justify-content:center;color:var(--green)}
.daily-date-progress svg{width:12px;height:12px;fill:currentColor}
.daily-day[aria-pressed=true] .daily-date-progress{color:var(--surface)}
.daily-mini-progress{display:inline-flex;align-items:center;gap:2px}
.daily-mini-progress i{width:8px;height:4px;border-radius:2px;background:var(--line)}
.daily-mini-progress i.complete{background:var(--green)}
.daily-day[aria-pressed=true] .daily-mini-progress i{background:#ffffff38}.daily-day[aria-pressed=true] .daily-mini-progress i.complete{background:#fff}
.daily-calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0 0;font-size:11px;color:var(--muted)}
.daily-calendar-legend>span{display:flex;align-items:center;gap:7px}.daily-calendar-legend svg{width:14px;height:14px;color:var(--green);fill:currentColor}
.daily-calendar-progress{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.daily-progress-heading{display:flex;align-items:center;gap:8px}
.daily-date-panel .daily-progress-heading h3{font-size:13px;margin:0;flex:1}
.daily-progress-heading strong{font:600 20px ui-monospace,monospace;color:var(--green)}
#daily-complete-flag{color:var(--green)}#daily-complete-flag svg{width:20px;height:20px;fill:currentColor}
.daily-progress-segments{list-style:none;padding:0;margin:18px 0 0;display:flex;gap:8px}
.daily-progress-segments li{flex:1;text-align:center}.daily-progress-segments li>span{display:block;height:10px;border-radius:6px;background:var(--line)}
.daily-progress-segments li.complete>span{background:var(--green)}.daily-progress-segments small{display:block;font-size:11px;margin-top:7px}
#daily-progress-hint{font-size:11px;color:var(--muted);margin:16px 0 0}
.daily-challenge-bar,.daily-leaderboard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}
.daily-challenge-bar h3{font-size:17px;margin:0 0 16px;font-weight:600}
.daily-challenge-select{display:flex;align-items:center;gap:16px}
.daily-challenge-select .daily-tiers{display:flex;gap:7px;flex:0 1 300px;min-width:200px}
.daily-challenge-select .daily-tiers li{flex:1;min-width:0;border:0}
.daily-challenge-select .daily-tiers button{min-height:40px;justify-content:center;padding:8px 10px;border:1px solid transparent;background:var(--bg);border-radius:5px;gap:6px;font-size:12px}
.daily-challenge-select .daily-tiers button>span,.daily-challenge-select .daily-tiers .tier-name{flex:0 0 auto;white-space:nowrap;font-size:12px}
.daily-challenge-select .daily-tiers button svg{width:13px;height:13px}
.daily-challenge-select .daily-tiers button[aria-pressed=true]{background:var(--green);color:var(--surface)}
.daily-challenge-select .daily-tiers button:disabled{opacity:.55}
#launch-title{font-size:11px;white-space:nowrap;color:var(--muted);padding-left:16px;border-left:1px solid var(--line)}
.daily-challenge-select .primary-button{min-height:42px;white-space:nowrap;margin-left:auto;padding:10px 16px;font-size:12px}
.daily-challenge-description{margin:12px 0 0;display:flex;gap:10px;font-size:11px;line-height:1.7}
#launch-detail{color:var(--green);white-space:nowrap}
.daily-main #resume-card{font-size:12px;padding:18px}.daily-main #resume-card button{margin:4px 4px 0 0}
.daily-leaderboard{margin:0;scroll-margin-top:24px;min-width:0}
.daily-leaderboard-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.daily-leaderboard-heading h3{margin:0;font-size:20px;font-weight:650;white-space:nowrap}
.daily-board-tabs{display:flex;gap:2px;padding:3px;border-radius:6px;background:var(--bg);margin-left:auto;flex:0 1 300px}
.daily-board-tabs button{flex:1;min-width:0;min-height:32px;padding:5px 12px;font-size:12px;border-radius:4px;color:var(--muted);white-space:nowrap}
.daily-board-tabs button[aria-selected=true]{background:var(--green);color:var(--surface);font-weight:600}
.daily-leaderboard-heading>.icon-button{width:30px;height:32px;flex-shrink:0}
.online-lb{padding:0}.online-lb .empty-board{margin:0;min-height:250px;display:grid;place-items:center;font-size:12px}
.daily-ranking-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}
.daily-ranking-table th{text-align:left;color:var(--muted);font-size:10px;font-weight:500;padding:10px 8px;background:var(--bg)}
.daily-ranking-table th:first-child{border-radius:5px 0 0 5px;width:48px}.daily-ranking-table th:last-child{border-radius:0 5px 5px 0;width:80px}.daily-ranking-table th:nth-child(3){width:102px}
.daily-ranking-table td{padding:9px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.daily-ranking-table tbody tr:last-child td{border-bottom:0}
.daily-ranking-table th:nth-child(n+3),.daily-ranking-table td:nth-child(n+3){text-align:right}
.daily-ranking-table .leaderboard-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.daily-rank-badge{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font:14px ui-monospace,monospace}
.daily-rank-badge.rank-1{background:#f4dba2;color:#77510d}.daily-rank-badge.rank-2{background:#dfe4e8;color:#4e5d67}.daily-rank-badge.rank-3{background:#ecd1be;color:#765337}
.daily-player-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-right:10px;background:var(--green-soft);color:var(--green);font-size:12px;vertical-align:middle}
.daily-ranking-table tbody tr:nth-child(3n+2) .daily-player-avatar{background:#e5eaf0;color:#586b89}.daily-ranking-table tbody tr:nth-child(3n) .daily-player-avatar{background:#eee6ed;color:#816278}
.daily-replay-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border-radius:5px;padding:6px 10px;background:var(--bg);font-size:11px}
.daily-replay-button:hover{background:var(--green-soft);color:var(--green)}.daily-replay-button svg{width:11px;height:11px;fill:currentColor}
.daily-personal-best{background:var(--green-soft)}.daily-personal-best td{border:0}.daily-personal-best td:first-child{border-radius:5px 0 0 5px}.daily-personal-best td:last-child{border-radius:0 5px 5px 0}
.daily-personal-best .rank-1,.daily-personal-best .rank-2,.daily-personal-best .rank-3{background:none;color:var(--green)}
.daily-personal-best small{display:block;color:var(--green);font-size:10px;margin-bottom:4px}
.daily-leaderboard-note{font-size:11px;color:var(--muted);line-height:1.7;margin:14px 0 0}
#leaderboard-date.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[data-theme=dark] .daily-ranking-table tbody .daily-player-avatar{background:var(--line);color:var(--text)}
@media(max-width:1150px){.daily-challenge-select{flex-wrap:wrap;gap:10px}.daily-challenge-select .daily-tiers{flex-grow:1}.daily-challenge-select #launch-title{order:3;width:100%;border:0;padding:0}.daily-heading-copy{display:block}.daily-heading-copy p{margin-top:8px}}
@media(max-width:900px){.online-daily-layout{grid-template-columns:minmax(0,1fr)}.daily-date-panel{max-width:none}.online-edition .daily-date-panel .daily-calendar{grid-auto-rows:44px}.online-edition .daily-date-panel .daily-day,.online-edition .daily-date-panel .daily-calendar-blank{height:44px}.daily-challenge-select #launch-title{order:0;width:auto;border-left:1px solid var(--line);padding-left:12px}.daily-challenge-select .daily-tiers{flex-grow:0}.daily-board-tabs{flex-basis:300px}}
@media(max-width:620px){body.online-edition[data-screen=daily] .app-shell{width:calc(100% - 36px)}.online-edition[data-screen] .game-types{grid-template-columns:repeat(3,minmax(0,1fr))}.online-edition .game-types button{flex:1}.daily-page-heading{flex-wrap:wrap}.daily-reset{margin-top:0}.daily-heading-copy h2{font-size:26px}.daily-heading-copy p{font-size:12px}.online-daily-layout{gap:16px}.online-edition .daily-date-panel{padding:18px}.daily-challenge-bar,.daily-leaderboard{padding:16px 12px}.daily-challenge-select .daily-tiers{min-width:0;flex:1}.daily-challenge-select .daily-tiers button{padding:8px;gap:4px}.daily-challenge-select .primary-button{padding:10px;font-size:11px}.daily-challenge-select #launch-title{order:3;width:100%;border:0;padding:0}.daily-challenge-bar h3{font-size:15px}.daily-challenge-description{font-size:10px}.daily-leaderboard-heading{gap:6px}.daily-leaderboard-heading h3{font-size:14px}.daily-board-tabs{flex:1;gap:0;padding:2px}.daily-board-tabs button{font-size:10px;padding:4px 6px;min-height:30px}.daily-leaderboard-heading>.icon-button{width:24px}.daily-ranking-table th:first-child{width:32px}.daily-ranking-table th:nth-child(3){width:76px}.daily-ranking-table th:last-child{width:62px}.daily-ranking-table th,.daily-ranking-table td{padding:8px 4px}.daily-ranking-table td{font-size:11px}.daily-rank-badge{width:24px;height:24px;font-size:12px}.daily-player-avatar{display:none}.daily-replay-button{font-size:10px;padding:6px;gap:4px}.daily-replay-button svg{width:10px}.daily-progress-heading strong{font-size:18px}}
@media(max-width:360px){.daily-leaderboard-heading h3{font-size:13px}.daily-board-tabs button{padding:4px}.daily-leaderboard-heading{gap:4px}.daily-challenge-select{column-gap:7px}.daily-challenge-select .daily-tiers{gap:4px}}

.online-edition #pause-cover[data-menu=back] #continue{display:none}
.online-edition #pause-cover[data-menu=back] .pause-actions{max-width:360px}
.online-edition #pause-cover[data-menu=back] .pause-actions .secondary-button{flex:1 1 150px}

.rescue-cover{position:absolute;inset:0;z-index:12;display:grid;place-items:center;align-content:center;gap:14px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(4px);text-align:center;pointer-events:all}
.rescue-cover[hidden]{display:none}.rescue-cover p{margin:0;color:var(--red);font-size:13px;font-weight:650}.rescue-ring{position:relative;width:126px;height:126px;display:grid;place-items:center}.rescue-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.rescue-ring circle{fill:none;stroke:color-mix(in srgb,var(--red) 18%,var(--line));stroke-width:9}.rescue-ring #rescue-progress{stroke:var(--red);stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:0;transition:stroke-dashoffset .15s linear}.rescue-ring strong{position:relative;color:var(--red);font:700 42px ui-monospace,SFMono-Regular,Menlo,monospace}

.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:16px 0}
.profile-form[hidden]{display:none}
.profile-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.profile-form input,.profile-form select{min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:8px 10px}
.daily-country{display:block!important;margin:3px 0 0;color:var(--muted);font-size:10px;text-align:left;line-height:1.3}
.daily-personal-best .daily-country{display:block;color:var(--muted);margin:3px 0 0}
@media(max-width:620px){.profile-form{grid-template-columns:1fr}.profile-form .primary-button{width:100%}}

.country-map-panel{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:14px;margin-top:2px}
.country-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.country-map-heading strong{font-size:13px;color:var(--text)}.country-map-heading span{font-size:12px;color:var(--muted)}
.country-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding-right:2px}
.country-region{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:10px}.country-region h4{margin:0 0 8px;font-size:12px;color:var(--green)}.country-region-countries{display:flex;flex-wrap:wrap;gap:6px}
.country-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);font-size:12px;line-height:1;padding:0 10px}.country-flag{font-size:16px;line-height:1}.country-chip:hover{background:var(--green-soft);color:var(--green)}.country-chip[aria-selected=true]{background:var(--green);border-color:var(--green);color:var(--surface);font-weight:650}
@media(max-width:620px){.country-map{grid-template-columns:1fr;max-height:none}.country-map-heading{align-items:flex-start;flex-direction:column;gap:4px}}
