@font-face{font-family:Fredoka;src:url(/assets/fredoka_bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{color:#080a0d;font-synthesis:none;--ground:#e8f0fb;--original-shadow:2px 2px 5px #0077a8;--tile-size:80px;background:#e8f0fb;font-family:Arial,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{word-break:keep-all;margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #582b8f}button{color:inherit}button svg{display:block}button[hidden],[hidden]{display:none!important}.game-shell{max-width:540px;min-height:100dvh;padding:max(14px,env(safe-area-inset-top)) 20px 0;overflow-wrap:anywhere;flex-direction:column;margin:0 auto;display:flex}.game-view{flex-direction:column;flex:1;min-width:0;display:flex}.game-location{align-items:center;min-height:34px;margin:9px 0 0;display:flex}.game-location a{min-height:34px;color:var(--ui-muted);font-size:var(--ui-control);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.game-location svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.result-library{justify-content:center;align-items:center;margin:8px 0 0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:10px;min-height:50px;display:flex}.brand{color:#111;font-family:Fredoka,sans-serif;font-size:23px;line-height:1;text-decoration:none}.brand span{letter-spacing:3px;color:#4b5060;margin-top:5px;font-size:11px;display:block}.icon-actions{gap:9px;display:flex}.icon-button{filter:drop-shadow(2px 3px 2px #0004);background:0 0;border:0;width:44px;height:44px;padding:7px}.icon-button svg{fill:none;stroke:#070809;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.help-icon{padding:0;font-family:Fredoka,sans-serif;font-size:44px;line-height:32px}.challenge-heading{text-align:center;margin-top:6px}.daily-label{letter-spacing:2px;color:#43526b;margin:0;font-family:Fredoka,sans-serif;font-size:13px}.challenge-heading h1{text-shadow:var(--original-shadow);letter-spacing:-1.5px;margin:7px 0;font-family:Fredoka,sans-serif;font-size:clamp(31px,9.4vw,48px);line-height:1.05}.date-line{color:#334456;min-height:19px;margin:6px 0 0;font-size:13px}.day-notice{background:#f5f8fc;border:1px solid #9db3d3;border-radius:8px;margin-top:12px;padding:9px 12px;font-size:13px;line-height:1.5}.day-notice a{color:#234f87;font-weight:700}.scoreboard{grid-template-columns:1fr 1.35fr 1fr;align-items:center;gap:10px;min-height:100px;padding:10px 3px 13px;display:grid}.best-stat{flex-direction:column;align-items:flex-start;display:flex}.stat-title{text-shadow:var(--original-shadow);font-family:Fredoka,sans-serif;font-size:23px}.best-stat strong{text-shadow:var(--original-shadow);margin-left:18px;font-family:Fredoka,sans-serif;font-size:26px;line-height:1.1}.stat-caption{color:#43526b;margin-top:4px;font-size:10px}.move-stat{text-align:center;padding-right:15px}.move-label{color:#43526b;margin-bottom:1px;font-size:12px;display:block}.move-stat strong{text-shadow:var(--original-shadow);font-family:Fredoka,sans-serif;font-size:45px;line-height:1;display:block}.restart-button{background:#a0c4ff;border:2px solid #506070;border-radius:15px;flex-direction:column;justify-self:end;align-items:center;width:64px;min-height:64px;padding:4px 6px 3px;display:flex;position:relative;box-shadow:inset -5px -5px #77a5e64d,3px 4px 4px #0004}.restart-button svg{fill:none;stroke:#080a0d;stroke-width:8px;width:43px;height:43px}.restart-button .arrow-head{fill:#080a0d;stroke:none}.restart-button span{white-space:nowrap;font-size:10px;font-weight:700}.restart-button:active{transform:translateY(1px)}.board-region{width:100%;max-width:500px;margin:0 auto;position:relative}.board{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;background:#464c52;border:2px solid #43494f;gap:3px;padding:1px;display:grid;position:relative}.cell{aspect-ratio:1;touch-action:none;background:linear-gradient(135deg,#6c7279,#202632);border:0;border-radius:6px;justify-content:center;align-items:center;width:100%;min-width:0;padding:3px;display:flex;position:relative}.tile{background:linear-gradient(135deg,#bbb 0,var(--tile-color) 50%,#bbb 100%);color:#f0f8ff;width:100%;height:100%;font-family:Fredoka,sans-serif;font-size:calc(var(--tile-size)*.32);text-shadow:2px 3px 3px #0006;pointer-events:none;border:2px solid #dba9fb;border-radius:17%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:relative;box-shadow:inset 0 -5px 3px #0004}.tile .numerator,.tile .denominator{line-height:1.05;display:block}.fraction-line{background:#f0f8ff;width:53%;height:3px;margin:3px 0;display:block;box-shadow:2px 3px 3px #0006}.tile.integer{font-size:calc(var(--tile-size)*.45)}.cell.empty{background:linear-gradient(135deg,#8a9197,#464d55)}.cell.empty:after{content:"";border:1px solid #31394566;border-radius:10%;position:absolute;inset:5px}.cell:focus-visible{outline-offset:-2px;z-index:3;outline:3px solid #fff29a}.cell.just-changed .tile{animation:.2s ease-out tile-merge}.selection-path{pointer-events:none;filter:drop-shadow(0 1px 2px #0008);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-cover{background:#e8f0fb22;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.start-card{text-align:center;background:#edf4fff2;border:2px solid #69819e;border-radius:15px;max-width:90%;padding:19px 21px;box-shadow:3px 5px 8px #0004}.start-card p{margin:0 0 12px;font-size:14px;line-height:1.6}.gradient-button{color:#111;text-align:center;background:linear-gradient(135deg,#d5e7ff,#94b9f5 52%,#d9e9fe);border:2px solid #586b81;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:11px 16px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex;box-shadow:inset 0 -3px 1px #40608622,2px 3px 3px #0003}.gradient-button.primary{background:linear-gradient(135deg,#e9dcff,#c699ea 52%,#e9ddff);border-color:#71568c}.gradient-button:active{transform:translateY(1px)}.board-instruction{text-align:center;color:#334456;margin:14px 0 0;font-size:13px;line-height:1.45}.selection-actions{justify-content:center;gap:16px;margin-top:4px;display:flex}.text-button{color:#244b80;background:0 0;border:0;min-height:40px;padding:6px;font-size:13px;text-decoration:underline}.play-message{text-align:center;color:#34465b;min-height:20px;margin:7px 0 10px;font-size:13px;line-height:1.45}.game-footer{min-height:88px;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid #c8d7e9;justify-content:space-between;align-items:center;gap:15px;margin-top:auto;display:flex}.footer-button{background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:6px 0;font-size:13px;font-weight:700;display:flex}.footer-button svg{stroke:#757f8d;stroke-width:2.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.countdown{color:#47596e;text-align:right;font-size:11px;line-height:1.6}.game-dialog{color:#151719;background:#f6f9fe;border:2px solid #75859b;border-radius:20px;width:min(440px,100vw - 28px);max-height:calc(100dvh - 36px);padding:27px 22px 22px;overflow:auto;box-shadow:5px 8px 22px #0006}.game-dialog::backdrop{background:#25344a88}.game-dialog h2{text-align:center;text-shadow:2px 2px 4px #0083b866;margin:7px 28px 20px;font-family:Fredoka,sans-serif;font-size:30px}.dialog-close{color:#3e4e62;background:0 0;border:0;width:40px;height:40px;font-size:31px;line-height:1;position:absolute;top:6px;right:8px}.help-list{padding-left:22px;font-size:14px;line-height:1.8}.help-list li{margin-bottom:12px}.help-note,details{color:#40516a;font-size:12px;line-height:1.7}.game-dialog>.gradient-button{width:100%;margin-top:13px}.result-dialog{text-align:center;background:linear-gradient(#f5f8fc,#e4edf9)}.finish-spark{color:#ffda2b;text-shadow:0 0 8px #bd851c,2px 3px 3px #0005;margin-top:-12px;font-size:55px}.result-dialog h2{color:#46505d;text-shadow:0 0 10px #f8cf53;margin:0 0 8px;font-size:43px}.result-dialog>p,.ranking-dialog>p{text-align:center;color:#415168;font-size:13px;line-height:1.6}.result-stats{background:#f8fbff;border:1px solid #c5d3e5;border-radius:12px;grid-template-columns:1fr 1fr;margin:20px 0 12px;padding:16px 8px;display:grid}.result-stats>div+div{border-left:1px solid #c5d3e5}.result-stats span{color:#42546d;font-size:12px;display:block}.result-stats strong{margin-top:6px;font-family:Fredoka,sans-serif;font-size:36px;display:block}.result-actions{flex-direction:column;gap:10px;margin-top:19px;display:flex}.ranking-list{border-top:1px solid #c5d3e5;margin:18px 0 10px;padding:0;list-style:none}.rank-row{border-bottom:1px solid #c5d3e5;grid-template-columns:36px minmax(0,1fr) 55px;align-items:center;gap:8px;padding:13px 8px;font-size:13px;display:grid}.rank-row.is-me{background:#e6d7f7}.rank-number{font-family:Fredoka,sans-serif;font-size:21px}.rank-name{overflow-wrap:anywhere}.rank-moves{text-align:right;font-weight:700}.my-ranking{background:#e6d7f7;border-radius:8px;padding:10px}summary{cursor:pointer;padding:6px 0}.board:empty{aspect-ratio:1}.board:empty:after{content:"";min-height:100%;display:block}@keyframes tile-merge{0%{filter:brightness(1.4);transform:scale(.88)}to{filter:brightness();transform:scale(1)}}@media (width>=700px){body{background:linear-gradient(110deg,#d3e0f3,#e8f0fb 40%,#d3e0f3)}.game-shell{background:#e8f0fb;padding-left:28px;padding-right:28px;box-shadow:0 0 40px #58718a22}.challenge-heading{margin-top:12px}.scoreboard{min-height:115px}}@media (width<=360px){.game-shell{padding-left:13px;padding-right:13px}.topbar{min-height:44px}.brand{font-size:20px}.icon-actions{gap:2px}.icon-button{width:40px;height:40px}.challenge-heading h1{font-size:31px}.scoreboard{min-height:91px}.stat-title{font-size:21px}.move-stat strong{font-size:39px}.restart-button{width:58px;min-height:58px}.restart-button svg{width:37px;height:37px}.game-footer{min-height:76px}.game-dialog{padding-left:18px;padding-right:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}.scoreboard{align-items:end;min-height:0;padding:10px 3px 6px}.move-stat{padding:0 0 7px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.play-message:empty,#ranking-status:empty{display:none}.game-footer{margin-top:auto}.board-region{margin-bottom:12px}.board-cover{z-index:5}.blocked-dialog{text-align:center}.blocked-dialog h2{text-shadow:none;font-family:Fredoka,sans-serif;font-size:30px}.blocked-dialog>p{font-size:14px;line-height:1.6}.blocked-dialog>p:empty{display:none}.blocked-dialog>.text-button{margin-top:10px}.move-effects{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:visible}.shatter-effects{overflow:hidden}.tile-ghost{will-change:transform,opacity;margin:0;position:absolute}.merge-source-value{will-change:opacity;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.tile-shard{pointer-events:none;will-change:transform,opacity;contain:strict;z-index:1;margin:0;position:absolute;overflow:hidden}.tile-shard>.tile{margin:0;position:absolute}.tile-receiver{will-change:transform;margin:0;position:absolute;z-index:2!important}@property --merge-color{syntax:"<color>";inherits:false;initial-value:#0000}.tile-receiver.merge-reduced,.merge-receiver-surface.merge-reduced{background:linear-gradient(135deg,#bbb 0,var(--merge-color) 50%,#bbb 100%)}.tile.merge-receiver-surface{z-index:0;will-change:transform}.tile-receiver>:not(.merge-receiver-surface){z-index:1;position:relative}.merge-number-window{flex:none;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.merge-number-window>.numerator,.merge-number-window>.denominator{text-align:center;will-change:transform,opacity;grid-area:1/1}.merge-contact{border-radius:inherit;pointer-events:none;will-change:opacity;position:absolute;inset:0}.cell{background:linear-gradient(135deg,#8a9197,#464d55)}.cell:after{content:"";pointer-events:none;border:1px solid #31394566;border-radius:10%;position:absolute;inset:5px}.tile{z-index:1}.restart-button:disabled{opacity:1}.tile{text-shadow:clamp(.45px,calc(var(--tile-size)*.008),.9px) clamp(.7px,calc(var(--tile-size)*.012),1.4px) clamp(.65px,calc(var(--tile-size)*.013),1.5px) #0005}.tile .numerator,.tile .denominator{line-height:1}.fraction-line{width:48%;height:clamp(1.25px,calc(var(--tile-size)*.018),2px);margin:clamp(1.5px,calc(var(--tile-size)*.023),2.5px) 0;box-shadow:0 clamp(.35px,calc(var(--tile-size)*.006),.75px) clamp(.35px,calc(var(--tile-size)*.006),.75px) #0004;flex-shrink:0}.cell.selected .tile{filter:none;outline:none}.selection-path{z-index:3;filter:none}.selection-path polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:1}.selection-path .selection-edge{stroke:#3d403e;opacity:.65}.selection-path .selection-core{stroke:#fff4cf;opacity:.95}.selection-marker{fill:none;stroke:#fff8db;stroke-width:2.25px;stroke-opacity:1;filter:drop-shadow(0 0 1px #fff0ad99);pointer-events:none}.selection-marker.is-end{stroke:#fffef0;stroke-width:2.6px}.selection-handoff{z-index:3;pointer-events:none}:root{--ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;--ui-body:14px;--ui-control:13px;--ui-label:12px;--ui-caption:12px;--ui-ink:#263444;--ui-muted:#506077;font-family:var(--ui-font);font-size:var(--ui-body);color:var(--ui-ink)}.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;min-height:50px;display:grid}.topbar>.theme-button{justify-self:start}.brand-heading{letter-spacing:-.8px;text-align:center;white-space:nowrap;text-shadow:0 2px #577c9624;margin:0;font-family:Fredoka,sans-serif;font-size:clamp(30px,8.3vw,38px);font-weight:700;line-height:1.12}.brand{font-size:inherit;color:var(--ui-ink)}.icon-actions{justify-self:end;gap:2px}.icon-button{filter:none}.icon-button svg{stroke:var(--ui-ink);stroke-width:2.8px}.icon-button circle{fill:#e8f0fb;stroke:var(--ui-ink)}.help-icon{color:var(--ui-ink);font-size:39px}.challenge-heading{margin-top:2px}.challenge-meta{min-height:19px;color:var(--ui-muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0;margin:0;line-height:1.5;display:flex}.daily-label{font-family:var(--ui-font);font-size:var(--ui-label);letter-spacing:1.1px;white-space:nowrap;color:var(--ui-muted);font-weight:600}.date-line{font-size:var(--ui-caption);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ui-muted);align-items:baseline;margin:0;font-weight:400;line-height:1.5;display:inline-flex}.date-line:not(:empty):before{content:"·";margin:0 8px}.challenge-meta{row-gap:5px}.gravity-indicator{border:1px solid var(--line);background:var(--surface-soft);width:26px;height:26px;color:var(--ui-muted);border-radius:7px;flex:none;justify-content:center;align-self:center;align-items:center;margin-left:9px;padding:3px;display:inline-flex}.gravity-indicator svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.gravity-indicator[data-gravity=on]{background:var(--accent-soft);color:var(--accent-ink)}.gravity-indicator[data-gravity=on] .gravity-hold,.gravity-indicator[data-gravity=off] .gravity-drop{display:none}.scoreboard{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;padding:12px 3px 8px}.best-stat{align-items:center;gap:4px}.stat-title,.move-label{font-family:var(--ui-font);font-size:var(--ui-label);color:var(--ui-muted);text-shadow:none;margin:0;font-weight:600;line-height:1.4}.best-stat strong,.move-stat strong{text-shadow:none;font-variant-numeric:tabular-nums;color:var(--ui-ink);margin:0;font-family:Fredoka,sans-serif;font-weight:700;line-height:1.08}.best-stat strong{font-size:32px}.move-stat{flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.move-stat strong{font-size:36px}.restart-button{aspect-ratio:1;justify-content:center;justify-self:center;width:68px;height:68px;min-height:68px;padding:4px;box-shadow:inset -3px -3px #77a5e64d,0 2px 2px #0002}.restart-button svg{stroke-width:7px;width:32px;height:32px;stroke:var(--ui-ink)}.restart-button .arrow-head{fill:var(--ui-ink)}.restart-button span{font-size:var(--ui-control);margin-top:3px;font-weight:600;line-height:1.35}.footer-button{font-size:var(--ui-control);color:var(--ui-ink);font-weight:600;line-height:1.4}.footer-button svg{width:25px;height:25px;stroke:var(--ui-muted)}.countdown{font-size:var(--ui-caption);color:var(--ui-muted);font-variant-numeric:tabular-nums;font-weight:400;line-height:1.6}.language-setting{color:var(--ui-muted);justify-content:center;align-items:center;gap:4px;margin:12px auto 0;display:flex}.language-setting label{align-items:center;display:flex}.language-setting svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:16px;height:16px}.language-setting select{font:inherit;font-size:var(--ui-caption);color:var(--ui-muted);background:var(--ground);cursor:pointer;border:0;border-radius:6px;min-height:44px;padding:5px 4px}.language-setting select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.gradient-button{font-size:var(--ui-body);font-weight:600;line-height:1.4}.text-button,.play-message,.day-notice{font-size:var(--ui-control);line-height:1.5}.text-button{font-weight:600}.game-dialog{font-family:var(--ui-font);color:var(--ui-ink)}.game-dialog h2{font-family:var(--ui-font);text-shadow:none;margin:4px 28px 18px;font-size:22px;font-weight:700;line-height:1.3}.game-dialog p,.help-note{font-size:var(--ui-control);color:var(--ui-muted);font-weight:400;line-height:1.6}.result-dialog h2,.blocked-dialog h2{color:var(--ui-ink);font-family:Fredoka,sans-serif;font-weight:700}.result-dialog h2{text-shadow:0 0 8px #f8cf5370;margin:0 0 8px;font-size:38px}.blocked-dialog h2{font-size:28px}.result-stats span{font-size:var(--ui-label);color:var(--ui-muted);font-weight:600}.result-stats strong{text-shadow:none;font-size:32px}.rank-row,.my-ranking{font-size:var(--ui-control)}.help-dialog{width:min(440px,100vw - 28px);padding-top:25px}.help-dialog[open]{flex-direction:column;height:min(590px,100dvh - 36px);display:flex}.help-dialog>*{flex-shrink:0}#help-tutorial{flex-direction:column;flex:1;min-height:0;display:flex}.help-dialog .lesson-navigation{margin-top:auto;padding-top:14px}.help-goals{flex:none;margin-top:8px;display:block}.game-dialog .lesson-goal-copy{font-size:var(--ui-control);color:var(--ui-ink);text-align:center;margin:2px 0 0;line-height:1.5}.lesson-outcome{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:9px 11px}.lesson-score-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;display:grid}[data-goal=daily] .lesson-score-row{grid-template-columns:22px minmax(0,1fr) auto}.lesson-score-label{font-size:var(--ui-label);color:var(--ui-muted);line-height:1.35}.lesson-rank-number{color:var(--accent-ink);text-align:center;font-family:Fredoka,sans-serif;font-size:23px}.lesson-outcome .score-metrics{gap:9px}.lesson-outcome .score-count{font-size:19px}.lesson-outcome .score-icon{width:17px;height:17px}.lesson-outcome .score-outcome .score-icon{width:13px;height:13px}.lesson-level-track{justify-content:center;gap:18px;margin:10px 0 2px;display:flex}.lesson-level{border:1px solid var(--line);width:42px;height:34px;color:var(--ui-muted);border-radius:8px;place-items:center;font-size:15px;display:grid;position:relative}.lesson-level[data-state=current]{background:var(--accent-soft);border-color:var(--accent-ink);color:var(--accent-ink)}.lesson-level[data-state=complete]{border-color:var(--positive);color:var(--positive)}.lesson-level[data-state=locked]{opacity:.55}.lesson-level svg{background:var(--surface-soft);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;border-radius:3px;width:14px;height:14px;padding:1px;position:absolute;top:-5px;right:-5px}.lesson-level svg[data-lock-state=locked],.lesson-level svg[data-lock-state=unlocked]{width:16px;height:16px;top:-6px;right:-6px}#help-tutorial[data-lesson-stage=daily] .lesson-title,#help-tutorial[data-lesson-stage=stage] .lesson-title{min-height:32px}.help-ranking-rules{font-size:var(--ui-label);color:var(--ui-muted);margin-top:5px;line-height:1.5}.help-ranking-rules summary{cursor:pointer;width:fit-content;margin:auto;padding:3px 5px}.help-ranking-rules ul{text-align:left;margin:7px 0 0;padding-left:18px}.help-ranking-rules li+li{margin-top:3px}.help-dialog .help-intro{text-align:center;font-size:var(--ui-control);margin:-7px 0 19px}.lesson-header{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.lesson-meta{justify-content:center;align-items:center;gap:8px;min-height:26px;display:flex}.lesson-example{width:100%;max-width:306px;margin:0 auto;position:relative}.lesson-example-gravity{padding-top:14px}.lesson-gravity-indicator{margin:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.lesson-step{font-size:var(--ui-label);color:#70558f;letter-spacing:.3px;font-weight:600}.lesson-title{max-width:290px;min-height:51px;color:var(--ui-ink);justify-content:center;align-items:center;margin:0;font-size:18px;font-weight:700;line-height:1.4;display:flex}.lesson-stage{-webkit-user-select:none;user-select:none;width:100%;max-width:306px;margin:3px auto 0;padding:16px;position:relative;overflow:hidden}.lesson-board{isolation:isolate;grid-template-columns:repeat(var(--lesson-columns,3),minmax(0,1fr));pointer-events:none;background:#565e68;border:2px solid #454e59;border-radius:8px;gap:3px;width:100%;padding:3px;display:grid;position:relative}.lesson-cell{cursor:default}.lesson-selection{width:calc(100% - 32px);height:calc(100% - 32px);inset:16px}.lesson-board>.shatter-effects{width:auto!important;inset:-16px!important}.game-dialog .lesson-equation{letter-spacing:.2px;color:var(--ui-ink);text-align:center;font-variant-numeric:tabular-nums;min-height:26px;margin:0 0 8px;font-size:16px;font-weight:600}.lesson-prev,.lesson-next,.lesson-finish{font:inherit;font-size:var(--ui-control);min-height:42px;color:var(--ui-ink);background:#f7faff;border:1px solid #a7b7ca;border-radius:8px;padding:9px 12px;font-weight:600;line-height:1.4}.lesson-next,.lesson-finish{background:#ddc7f0;border-color:#a187b8}.lesson-navigation{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.lesson-navigation>:last-child{margin-left:auto}.share-label{font-size:var(--ui-label);color:var(--ui-muted);margin:14px 0 7px;font-weight:600;display:block}#share-content{resize:vertical;width:100%;min-height:145px;max-height:260px;color:var(--ui-ink);font-family:var(--ui-font);font-size:var(--ui-control);word-break:break-all;background:#fff;border:1px solid #b4c2d5;border-radius:9px;padding:12px;line-height:1.6}#share-content:focus-visible{outline-offset:2px;outline:3px solid #a385bc}#share-status{min-height:42px;margin:0}#share-local-note{background:#eef1f7;border-radius:8px;padding:9px 11px}.result-dialog{padding-top:19px}.result-dialog .finish-spark{margin:0 0 3px;font-size:34px;line-height:1.1}.result-dialog h2{margin-bottom:2px;font-size:34px}.result-dialog #result-date{color:var(--ui-muted);font-size:var(--ui-caption);margin:0}.result-dialog .result-stats{margin:15px 0 0;padding:10px 8px}.result-dialog .result-stats strong{margin-top:3px;font-size:29px}.result-dialog .result-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.result-dialog #result-restart,.result-dialog #result-next{grid-column:1/-1}.result-dialog #result-next:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.result-dialog #result-countdown{font-size:var(--ui-caption);margin:13px 0 0}.result-dialog #result-error{color:#923d57}#result-rank-area{flex-direction:column;justify-content:center;min-height:216px;margin-top:16px;display:flex}#result-rank-area.is-practice{min-height:0}#result-rank-area .result-rank-card{margin:0}.result-dialog[open]{animation:.38s cubic-bezier(.2,.75,.25,1) both result-arrive}.blocked-dialog[open]{animation:.29s cubic-bezier(.2,.75,.25,1) both blocked-arrive}.result-dialog[open]::backdrop,.blocked-dialog[open]::backdrop{animation:.22s ease-out both outcome-backdrop}@keyframes result-arrive{0%{opacity:0;transform:translateY(18px)scale(.94)}70%{opacity:1;transform:translateY(-2px)scale(1.008)}to{opacity:1;transform:none}}@keyframes blocked-arrive{0%{opacity:0;transform:translateY(12px)scale(.965)}to{opacity:1;transform:none}}@keyframes outcome-backdrop{0%{opacity:0}to{opacity:1}}@media (height<=760px){.result-dialog{padding-top:14px;padding-bottom:16px}.result-dialog .finish-spark{font-size:27px}.result-dialog h2{font-size:31px}.result-dialog .result-stats{margin-top:12px}}.app-load-screen{text-align:center;color:var(--ui-muted,#657489);flex-direction:column;align-items:center;gap:20px;margin:56px auto;font-size:14px;display:flex}.app-load-screen p{margin:0}.app-load-screen a{min-width:160px;text-decoration:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#f6f9fe;--surface-soft:#edf2fb;--line:#c5d3e5;--accent-soft:#e6d7f7;--accent-ink:#634786;--positive:#2f715d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#151c29;--ui-ink:#e6edf7;--ui-muted:#a9b7cd;--surface:#1e2838;--surface-soft:#253247;--line:#3b4c65;--accent-soft:#3e3353;--accent-ink:#d7bbf1;--positive:#98d6bc;--dark-tile-rim:#b391cb;background:var(--ground)}.theme-button{padding:9px}.theme-button svg{stroke-width:1.8px}.theme-button .theme-sun{display:none}:root[data-theme=dark] .theme-button .theme-sun{display:block}:root[data-theme=dark] .theme-button .theme-moon{display:none}.theme-button circle{fill:none}:root.theme-switch::view-transition{pointer-events:none}:root.theme-switch::view-transition-group(root){animation:none}:root.theme-switch::view-transition-old(root){mix-blend-mode:normal;animation:none}:root.theme-switch::view-transition-new(root){mix-blend-mode:normal;animation:.36s ease-in-out both theme-dissolve}@keyframes theme-dissolve{0%{opacity:0}to{opacity:1}}:root.theme-color-fade,:root.theme-color-fade :is(body,.game-shell,.topbar,.brand,.icon-button,.icon-button svg,.icon-button circle,.brand-heading,.daily-label,.date-line,.gravity-indicator,.gravity-indicator svg,.stat-title,.move-label,.best-stat strong,.move-stat strong,.restart-button,.restart-button svg,.restart-button .arrow-head,.game-footer,.footer-button,.footer-button svg,.countdown,.day-notice,.text-button,.play-message,.board-cover,.start-card,.gradient-button,.game-dialog,.game-dialog h2,.game-dialog p,.dialog-close,.result-stats,.result-stats>div,.result-stats span,.rank-row,.ranking-list,.my-ranking,.result-rank-card,.result-rank-row,.result-rank-you,.score-metric,.score-icon,.score-outcome,.lesson-step,.lesson-title,.lesson-prev,.lesson-next,.lesson-finish,#share-content,#share-local-note){transition-property:background-color,color,border-color,box-shadow,text-shadow,fill,stroke;transition-duration:.36s;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){:root.theme-switch::view-transition-group(root){animation:none}:root.theme-switch::view-transition-old(root){animation:none}:root.theme-switch::view-transition-new(root){animation:none}:root.theme-color-fade,:root.theme-color-fade *{transition:none!important}}.scoreboard{padding-left:0;padding-right:0}.restart-button{aspect-ratio:1;justify-self:end;width:68px;height:68px;min-height:68px;padding:13px}.restart-button svg{flex:none;width:36px;height:36px}.icon-button:focus-visible,.restart-button:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}:root[data-theme=dark] body{background:var(--ground);color:var(--ui-ink)}:root[data-theme=dark] .game-shell{background:var(--ground);box-shadow:0 0 48px #0003}:root[data-theme=dark] .icon-button circle{fill:var(--ground)}:root[data-theme=dark] .theme-button circle{fill:none}:root[data-theme=dark] .brand-heading{text-shadow:0 2px #0003}:root[data-theme=dark] .restart-button{background:#344e74;border-color:#6f89af;box-shadow:inset -3px -3px #111e354d,0 2px 2px #0003}:root[data-theme=dark] .game-footer{border-color:var(--line)}:root[data-theme=dark] .day-notice{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .day-notice a,:root[data-theme=dark] .text-button{color:#bdd2f4}:root[data-theme=dark] .play-message{color:var(--ui-muted)}:root[data-theme=dark] .tile{border-color:var(--dark-tile-rim);background:linear-gradient(135deg, color-mix(in srgb,var(--tile-color),white 18%) 0%, color-mix(in srgb,var(--tile-color),black 18%) 56%, color-mix(in srgb,var(--tile-color),white 8%) 100%)}:root[data-theme=dark] .tile-receiver.merge-reduced,:root[data-theme=dark] .merge-receiver-surface.merge-reduced{background:linear-gradient(135deg, color-mix(in srgb,var(--merge-color),white 18%) 0%, color-mix(in srgb,var(--merge-color),black 18%) 56%, color-mix(in srgb,var(--merge-color),white 8%) 100%)}:root[data-theme=dark] .board-cover{background:#10182733}:root[data-theme=dark] .start-card{background:#1e2838f5;border-color:#617896;box-shadow:3px 5px 8px #0005}:root[data-theme=dark] .gradient-button{color:var(--ui-ink);background:linear-gradient(135deg,#3d5578,#2d4263 56%,#3e5475);border-color:#617c9f;box-shadow:inset 0 -3px 1px #10203b44,2px 3px 3px #0003}:root[data-theme=dark] .gradient-button.primary{background:linear-gradient(135deg,#625078,#49365f 56%,#66527f);border-color:#a28bbd}:root[data-theme=dark] .game-dialog{background:var(--surface);border-color:#5b6e88;box-shadow:5px 8px 30px #0008}:root[data-theme=dark] .game-dialog::backdrop{background:#080e19bb}:root[data-theme=dark] .dialog-close{color:var(--ui-muted)}:root[data-theme=dark] .result-dialog{background:linear-gradient(#253145,var(--surface))}:root[data-theme=dark] .result-dialog h2{text-shadow:none}:root[data-theme=dark] .result-stats{background:var(--surface-soft);border-color:var(--line)}:root[data-theme=dark] .result-stats>div+div{border-color:var(--line)}:root[data-theme=dark] .result-dialog #result-error{color:#ffb3c7}:root[data-theme=dark] .rank-row,:root[data-theme=dark] .ranking-list{border-color:var(--line)}:root[data-theme=dark] .rank-row.is-me,:root[data-theme=dark] .my-ranking{background:var(--accent-soft)}:root[data-theme=dark] .result-rank-card{background:linear-gradient(150deg,var(--surface),var(--surface-soft));border-color:var(--line)}:root[data-theme=dark] .result-rank-row{color:var(--ui-muted)}:root[data-theme=dark] .result-rank-me{color:var(--ui-ink);background:linear-gradient(125deg,#49385e,#352b48 60%,#453655);border-color:#a285be;box-shadow:0 2px 4px #0003}:root[data-theme=dark] .result-rank-you{color:#f4e9ff;background:#5d4775}:root[data-theme=dark] .result-rank-card.is-climbing .result-rank-me{border-color:#c0a3dd;box-shadow:0 0 0 3px #ac87ce33,0 3px 8px #0003}:root[data-theme=dark] .lesson-step{color:var(--accent-ink)}:root[data-theme=dark] .lesson-prev{background:var(--surface-soft);border-color:#617896}:root[data-theme=dark] .lesson-next,:root[data-theme=dark] .lesson-finish{background:#49385e;border-color:#a28bbd}:root[data-theme=dark] #share-content{background:var(--ground);border-color:var(--line)}:root[data-theme=dark] #share-local-note{background:var(--surface-soft)}@media (width>=700px){:root[data-theme=dark] body{background:linear-gradient(110deg,#101724,var(--ground) 40%,#101724)}}.today-activity{border:1px solid var(--line);background:var(--surface-soft);width:max-content;max-width:calc(100vw - 24px);color:var(--ui-muted);font-family:var(--ui-font);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:7px;margin:6px 12px 0 auto;padding:3px 7px;font-size:11px;line-height:1.35;display:flex}.today-activity-title{font-family:Fredoka,var(--ui-font);letter-spacing:.5px;font-size:10px;font-weight:700}.today-activity strong{color:var(--ui-ink);font-size:12px;font-weight:700}@media (width>=760px){.today-activity{margin:0;position:absolute;top:17px;left:calc(50% + 282px)}}.developer-trigger{z-index:25;opacity:0;background:0 0;border:0;width:34px;height:34px;padding:0;position:fixed;bottom:0;right:0}.developer-password-dialog{width:min(330px,100vw - 28px);padding:22px}.developer-password-dialog h2{margin:2px 0 17px;font-size:22px}.developer-password-dialog label{margin-bottom:7px;font-size:13px;font-weight:700;display:block}.developer-password-dialog input{border:1px solid var(--line);background:var(--surface-soft);width:100%;height:43px;color:var(--ui-ink);border-radius:9px;padding:8px 10px;font-size:16px;display:block}.developer-password-error{color:#aa3044;margin:8px 0 0;font-size:12px}.developer-password-actions{justify-content:flex-end;gap:8px;margin-top:17px;display:flex}.developer-password-actions button{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;min-height:38px;padding:7px 14px;font-size:13px;font-weight:700}.developer-password-actions button:last-child{background:var(--accent-soft);color:var(--accent-ink)}.developer-password-actions button:disabled{opacity:.6}.developer-panel{z-index:24;border:1px solid var(--line);background:var(--surface-soft);width:min(340px,50vw - 294px);min-width:260px;color:var(--ui-ink);font-family:var(--ui-font);border-radius:14px;padding:14px;font-size:12px;position:fixed;top:10px;bottom:10px;left:calc(50% + 282px);overflow:auto;box-shadow:0 8px 26px #0003}.developer-panel-header{z-index:1;border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;margin:-14px -14px 12px;padding:13px 14px;font-size:16px;display:flex;position:sticky;top:-14px}.developer-panel-header button{width:30px;height:30px;color:var(--ui-ink);background:0 0;border:0;font-size:24px;line-height:1}.developer-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.developer-kpis>div{border:1px solid var(--line);background:var(--ground);border-radius:9px;padding:9px}.developer-kpis span{color:var(--ui-muted);font-size:11px;display:block}.developer-kpis strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:18px;display:block}.developer-panel h3{margin:18px 0 7px;font-size:14px}.developer-internal-traffic{border:1px solid var(--line);background:var(--ground);border-radius:9px;margin-bottom:13px;padding:10px}.developer-internal-traffic strong{font-size:12px}.developer-internal-traffic button{border:1px solid var(--line);background:var(--accent-soft);min-height:34px;color:var(--accent-ink);font:inherit;cursor:pointer;border-radius:7px;padding:6px 10px;font-weight:700}.developer-internal-traffic button:disabled{opacity:.6;cursor:wait}.developer-panel p{color:var(--ui-muted);margin:7px 0;line-height:1.45}.developer-panel select{border:1px solid var(--line);background:var(--ground);width:100%;min-height:36px;color:var(--ui-ink);border-radius:8px;margin-bottom:8px;padding:5px}.developer-table-wrap{overflow-x:auto}.developer-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:11px}.developer-table th,.developer-table td{border-bottom:1px solid var(--line);text-align:right;padding:6px 4px}.developer-table th:first-child,.developer-table td:first-child{text-align:left}.developer-table th{color:var(--ui-muted);font-weight:700}.developer-panel h4{margin:0 0 9px;font-size:12px;line-height:1.45}.developer-panel .developer-journey-heading{margin:15px 0 7px}.developer-panel .developer-journey-note{font-size:11px;line-height:1.55}.developer-journey-cohort{border:1px solid var(--line);background:var(--ground);border-radius:10px;margin-top:13px;padding:10px}.developer-journey-cohort select{margin-bottom:2px;font-size:11px}.developer-journey-funnel{margin:0 0 10px;padding:0;list-style:none}.developer-journey-funnel li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex;position:relative}.developer-journey-funnel li:last-child{border-bottom:0}.developer-journey-funnel span{min-width:0;font-size:12px;font-weight:600}.developer-journey-funnel small{color:var(--ui-muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.developer-journey-funnel strong{font-variant-numeric:tabular-nums;flex:none;font-size:19px}.developer-journey-distribution{border:1px solid var(--line);border-radius:9px;margin-top:11px;padding:10px}.developer-journey-distribution summary{cursor:pointer;font-size:12px;font-weight:700;line-height:1.45}.developer-journey-distribution[open] summary{margin-bottom:8px}@media (width<=1120px){.developer-panel{width:min(350px,100vw - 20px);min-width:0;left:auto;right:10px}}.tutorial-guide{border:1px solid color-mix(in srgb,var(--accent-ink),transparent 65%);background:var(--surface-soft);text-align:center;color:var(--ui-ink);border-radius:14px;margin:12px 0 4px;padding:12px 15px}.tutorial-guide span{color:var(--accent-ink);font-family:Fredoka,var(--ui-font);letter-spacing:1.1px;font-size:11px;display:block}.tutorial-guide p{margin:5px 0 0;font-size:15px;font-weight:700;line-height:1.45}.start-card.is-onboarding{border-radius:20px;width:min(330px,94%);max-width:94%;padding:22px 16px 10px}.start-card.is-onboarding h2{color:var(--ui-ink);margin:0 0 8px;font-size:24px;line-height:1.25}.start-card.is-onboarding p{color:var(--ui-muted);margin-bottom:16px;font-size:13px}.start-card.is-onboarding #onboarding-start{width:100%;font-size:14px}.start-card.is-onboarding #start-button{width:100%;min-height:44px;box-shadow:none;text-underline-offset:3px;color:var(--ui-muted);background:0 0;border:0;margin-top:5px;padding:8px 0;font-size:12px;font-weight:500;text-decoration:underline;display:block}.tutorial-swipe-hint{z-index:4;pointer-events:none;position:absolute;inset:0}.tutorial-swipe-hint[hidden]{display:none}.tutorial-swipe-motion{width:33.333%;height:0;position:absolute;top:50%;left:16.667%}.tutorial-swipe-trail{transform-origin:0;background:#fff4cf;border-radius:4px;width:100%;height:4px;animation:2s ease-in-out infinite tutorial-trail;position:absolute;top:-2px;left:0;box-shadow:0 0 0 2px #624e8e99,0 0 12px #fff}.tutorial-swipe-hand{filter:drop-shadow(0 2px 4px #1d264d99);width:34px;height:41px;animation:2s ease-in-out infinite tutorial-hand;position:absolute;top:0;left:0;overflow:visible}.tutorial-swipe-hand path{fill:#fff5db;stroke:#614889;stroke-width:2.5px;stroke-linejoin:round}@keyframes tutorial-trail{0%,12%{opacity:0;transform:scaleX(0)}25%{opacity:1}70%,82%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes tutorial-hand{0%,12%{opacity:0;left:0;transform:translate(-50%,-28%)scale(.92)}24%{opacity:1;transform:translate(-50%,-28%)scale(1)}70%,82%{opacity:1;left:100%;transform:translate(-50%,-28%)scale(1)}to{opacity:0;left:100%;transform:translate(-50%,-28%)scale(1)}}@media (prefers-reduced-motion:reduce){.tutorial-swipe-trail,.tutorial-swipe-hand{animation:none}.tutorial-swipe-trail{transform:scaleX(1)}.tutorial-swipe-hand{left:50%;transform:translate(-50%,-28%)}}.cell.obstacle{cursor:default;background:linear-gradient(135deg,#9daab9,#5d6a7a)}.cell.obstacle .obstacle-tile{background:linear-gradient(135deg,#e3e7ec,#cbd2dc);border:2px solid #9eabc0;border-radius:17%;width:100%;height:100%;position:relative;box-shadow:inset 0 -5px 3px #73809666,2px 2px 4px #0003}.obstacle-bolt{background:#788899;border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:inset 1px 1px 1px #4b5968}.obstacle-bolt:first-child{top:14%;left:14%}.obstacle-bolt:last-child{bottom:14%;right:14%}:root[data-theme=dark] .cell.obstacle{background:linear-gradient(135deg,#526171,#354351)}:root[data-theme=dark] .cell.obstacle .obstacle-tile{background:linear-gradient(135deg,#b5bfcb,#8493a5);border-color:#a4b1c1}.result-dialog.is-tutorial .result-stats{display:none}.result-dialog.is-tutorial #result-outcome-note{color:var(--ui-ink);margin:14px 0 2px;font-size:15px;font-weight:700}.game-location:has(.tutorial-skip-daily){justify-content:space-between;align-items:center;gap:12px;display:flex}.game-location .tutorial-skip-daily{opacity:.82;white-space:nowrap;padding:8px 0;font-size:.8rem}.is-tutorial-page .challenge-heading,.is-tutorial-page .scoreboard,.is-tutorial-page .game-footer{display:none}.is-tutorial-page .game-view{flex:none}.is-tutorial-page .restart-button{border-radius:11px;width:44px;height:44px;min-height:44px;padding:6px}.is-tutorial-page .restart-button svg{width:28px;height:28px}.is-tutorial-page .game-location{margin-top:3px}.is-tutorial-page .tutorial-guide{margin:8px 0 12px;padding:12px 10px}.is-tutorial-page #tutorial-prompt{font-variant-numeric:tabular-nums;margin-top:7px;font-size:19px;line-height:1.35}.is-tutorial-page #tutorial-instruction{margin:7px 0 0;font-size:13px;font-weight:500;line-height:1.5}.is-tutorial-page .board-region{width:min(100%,370px);margin-bottom:5px}.is-tutorial-page .play-message{min-height:20px;margin:5px 0}.is-tutorial-page .language-setting{margin-top:12px}.tutorial-completion{text-align:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;width:min(100%,370px);margin:3px auto 12px;padding:12px 14px 14px}.tutorial-completion p{color:var(--ui-ink);margin:0 0 11px;font-size:14px;line-height:1.5}.tutorial-completion .gradient-button{width:100%;min-height:48px;font-size:16px}.result-dialog.is-tutorial #result-restart,.result-dialog.is-tutorial #result-countdown{display:none}.result-dialog.is-tutorial .result-actions{display:flex}.result-dialog.is-tutorial #result-library{justify-content:center;min-height:44px;margin:8px 0 0;display:flex}@media (width<=360px){.is-tutorial-page #tutorial-prompt{font-size:17px}.is-tutorial-page .tutorial-guide{padding:9px}.is-tutorial-page #tutorial-instruction{font-size:12px}}@media (height<=740px){.is-tutorial-page .board-region,.is-tutorial-page .tutorial-completion{max-width:300px}.is-tutorial-page .tutorial-guide{margin:4px 0 8px}.is-tutorial-page .game-location{min-height:30px}}.analytics-settings-button{max-width:100%;min-height:44px;margin:0 0 max(7px,env(safe-area-inset-bottom));font:inherit;color:var(--ui-muted);text-underline-offset:3px;background:0 0;border:0;border-radius:6px;flex:none;align-self:center;padding:8px 10px;font-size:12px;line-height:1.4;text-decoration:underline}.analytics-consent-banner{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ui-ink);border-radius:12px;flex:none;margin:8px 0 12px;padding:10px 12px 12px}.analytics-consent-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.analytics-consent-heading h2{font:inherit;margin:0;font-size:14px;font-weight:600;line-height:1.4}#analytics-consent-details{min-height:36px;font:inherit;color:var(--ui-muted);text-underline-offset:3px;background:0 0;border:0;flex:none;padding:6px 0 6px 8px;font-size:12px;text-decoration:underline}.analytics-consent-banner>p{color:var(--ui-muted);margin:4px 0 12px;font-size:12px;line-height:1.6}.analytics-choice-actions{gap:10px;display:flex}.analytics-choice-actions button{border:1px solid var(--line);background:var(--surface-soft);min-width:0;min-height:44px;color:var(--ui-ink);font:inherit;border-radius:9px;flex:1;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.analytics-choice-actions button.is-selected{border-color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink)}.analytics-choice-actions button:active{transform:translateY(1px)}.analytics-settings-button:focus-visible,#analytics-consent-details:focus-visible,.analytics-dialog button:focus-visible,.analytics-choice-actions button:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.analytics-dialog{overflow-wrap:anywhere;width:min(440px,100vw - 28px);padding:25px 22px 21px}.analytics-dialog h2{margin:4px 17px 20px;font-size:20px;line-height:1.35}.analytics-info-section+.analytics-info-section{margin-top:20px}.analytics-info-section h3{font:inherit;color:var(--ui-ink);margin:0 0 7px;font-size:14px;font-weight:600;line-height:1.4}.analytics-dialog .analytics-info-section p{color:var(--ui-muted);margin:0 0 10px;font-size:12px;line-height:1.65}.analytics-privacy-link{min-height:36px;color:var(--accent-ink);text-underline-offset:3px;align-items:center;font-size:12px;line-height:1.4;display:inline-flex}.analytics-dialog .analytics-choice-status{background:var(--surface-soft);border:1px solid var(--line);color:var(--ui-ink);border-radius:9px;margin:14px 0 12px;padding:10px 12px;font-size:12px;line-height:1.55}.analytics-dialog .analytics-consent-status,.analytics-consent-banner .analytics-consent-status{color:var(--ui-muted);margin:10px 0 0;font-size:12px;line-height:1.5}.analytics-dialog [hidden],.analytics-consent-banner[hidden],.analytics-consent-banner [hidden]{display:none!important}@media (width<=360px){.analytics-dialog{padding:25px 17px 18px}.analytics-dialog h2{margin-left:17px;margin-right:17px;font-size:19px}.analytics-consent-banner{padding:10px 12px 12px}}.android-install-link{border:1px solid var(--line);background:var(--surface-soft);width:fit-content;max-width:100%;min-height:40px;color:var(--accent-ink);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin:10px auto 0;padding:8px 13px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;display:flex}.android-install-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:23px}.android-install-link:hover{background:var(--accent-soft)}.android-install-link:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}.android-install-result{width:100%;min-height:42px;margin-top:15px}html[data-platform=android] .android-install-link{display:none!important}.score-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;display:block}.score-icon-moves,.score-icon-removed{fill:currentColor;stroke:none}.move-label .score-icon{width:20px;height:20px}.score-metrics{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:12px;display:inline-flex}.score-metric{color:var(--ui-ink,#263444);align-items:center;gap:3px;display:inline-flex}.score-metric .score-icon{color:var(--ui-muted,#617084)}.score-count{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;line-height:1}.score-outcome{color:var(--ui-muted,#617084);flex:none;justify-content:center;align-items:center;display:inline-flex}.score-outcome.is-clear{color:var(--score-clear,#29775e)}:root[data-theme=dark]{--score-clear:#7ec4a8}.rank-row{grid-template-columns:32px minmax(0,1fr) auto;gap:8px}.rank-person{align-items:center;gap:5px;min-width:0;display:flex}.rank-person .score-icon{width:14px;height:14px}.rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-row .score-metrics{gap:9px}.rank-row .score-metric{justify-content:flex-end;min-width:37px}.rank-row .score-count{font-size:18px}.my-ranking{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.my-ranking[hidden]{display:none}.my-ranking .score-count{font-size:19px}#best-value .score-metrics{gap:8px}#best-value .score-count{font-size:22px}#best-value .score-icon{width:18px;height:18px}#best-value .score-outcome .score-icon{width:13px;height:13px}.result-stats .score-metrics{gap:10px;margin-top:7px;display:inline-flex}.result-stats .score-metric{color:var(--ui-ink,#263444);gap:3px;display:inline-flex}.result-stats .score-outcome{display:inline-flex}.result-stats .score-count{font-size:25px}.result-stats .score-icon{width:20px;height:20px}.result-dialog .finish-spark{height:34px;color:var(--score-clear,#29775e);text-shadow:none;justify-content:center;align-items:center;display:flex}.result-dialog .finish-spark .score-icon{stroke-width:1.6px;width:31px;height:31px}.result-dialog .finish-spark[hidden]{display:none}.result-dialog[data-outcome=blocked] h2{text-shadow:none;font-size:31px}.result-dialog #result-outcome-note{color:var(--ui-muted,#617084);margin:5px 0 0;font-size:11px}.result-dialog[data-outcome=blocked][open]{animation-name:blocked-arrive;animation-duration:.29s}@media (width<=360px){.rank-row{grid-template-columns:26px minmax(0,1fr) auto;gap:5px;padding-left:3px;padding-right:3px}.rank-row .score-metrics{gap:5px}.rank-row .score-metric{min-width:33px}.score-icon{width:18px;height:18px}.result-stats .score-metrics{gap:7px}.result-stats .score-count{font-size:22px}.result-stats .score-icon{width:18px;height:18px}#best-value .score-metrics{gap:5px}#best-value .score-count{font-size:19px}}@media (prefers-reduced-motion:reduce){.result-dialog[data-outcome=blocked][open]{animation:none}}.result-rank-card{--rank-row-height:36px;border:1px solid var(--line,#bfcde0);background:var(--surface-soft,#edf2fb);min-width:0;color:var(--ui-ink,#263444);text-align:center;border-radius:14px;margin:16px 0 0;padding:10px 0;overflow:hidden}.result-rank-unavailable{margin:10px}.result-rank-window{isolation:isolate;min-width:0;padding:0 9px;position:relative}.result-rank-mask{height:calc(var(--rank-row-height)*2);position:relative;overflow:hidden}.result-rank-above{-webkit-mask-image:linear-gradient(#0000,#000 22px);mask-image:linear-gradient(#0000,#000 22px)}.result-rank-below{-webkit-mask-image:linear-gradient(0deg,#0000,#000 22px);mask-image:linear-gradient(0deg,#0000,#000 22px)}.result-rank-track{will-change:transform;flex-direction:column;min-height:100%;display:flex}.result-rank-above .result-rank-track{justify-content:flex-end}.result-rank-row{height:var(--rank-row-height);min-height:var(--rank-row-height);min-width:0;color:var(--ui-muted,#65748a);grid-template-columns:minmax(40px,max-content) minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 8px;font-size:12px;line-height:1.3;display:grid}.result-rank-position{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:flex-start;align-items:baseline;gap:2px;min-width:0;display:flex}.result-rank-number{letter-spacing:-.5px;font-family:Fredoka,sans-serif;font-size:20px;font-weight:700;line-height:1}.result-rank-unit{font-size:10px;line-height:1}.result-rank-person{text-align:left;align-items:center;gap:5px;min-width:0;display:flex}.result-rank-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-rank-you{background:var(--surface,#f9f3ff);color:var(--ui-ink,#70558f);border-radius:5px;flex:none;padding:2px 4px;font-size:10px;font-weight:700}.result-rank-score{justify-content:flex-end;gap:8px}.result-rank-score .score-metric{justify-content:flex-end;min-width:35px}.result-rank-score .score-count{font-size:17px}.result-rank-person .score-icon{width:13px;height:13px}.result-rank-score .score-icon{width:18px;height:18px}.result-rank-me{z-index:2;height:calc(var(--rank-row-height) + 8px);min-height:calc(var(--rank-row-height) + 8px);border:1px solid var(--line,#b99bd5);background:var(--accent-soft,#e3d3f4);color:var(--ui-ink,#443252);border-radius:10px;margin:3px 0;position:relative;box-shadow:0 2px 4px #76579316}.result-rank-me .result-rank-number{font-size:28px}.result-rank-me .score-count{font-size:20px}.result-rank-me .result-rank-person{font-size:12px;font-weight:600}.result-rank-card.is-climbing .result-rank-me{border-color:#a67dc9;box-shadow:0 0 0 3px #d9c0ec44,0 3px 8px #76579320}@media (width<=360px){.result-rank-window{padding:0 6px}.result-rank-row{grid-template-columns:minmax(31px,max-content) minmax(0,1fr) auto;gap:5px;padding:0 5px}.result-rank-score{gap:5px}.result-rank-score .score-metric{gap:2px;min-width:30px}.result-rank-score .score-icon{width:17px;height:17px}.result-rank-me .score-count{font-size:19px}.result-rank-person{gap:3px}.result-rank-number{font-size:18px}.result-rank-me .result-rank-number{font-size:25px}.result-rank-me .result-rank-person{font-size:11px}}@media (prefers-reduced-motion:reduce){.result-rank-track{will-change:auto}}.share-dialog{width:min(380px,100vw - 28px);padding:23px 20px 18px}.share-dialog h2{margin:1px 28px 19px;font-size:20px}.share-preview{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--surface-soft));text-align:center;border-radius:17px;padding:23px 16px 19px}.share-brand{letter-spacing:-.6px;color:var(--ui-ink);font-family:Fredoka,sans-serif;font-size:29px;font-weight:700;line-height:1.1}.share-dialog .share-edition{color:var(--ui-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;margin:7px 0 0;font-size:11px;line-height:1.6;display:flex}.share-edition>span:first-child{letter-spacing:.9px;font-weight:600}#share-preview-date:before{content:"·";margin:0 7px}.share-invite-art{justify-content:center;align-items:center;gap:9px;margin:24px 0 21px;display:flex}.share-mini-tile{color:#f5fbff;text-shadow:0 1px 1px #3c50674d;background:linear-gradient(145deg,#e8bba6,#cb8e77);border:1px solid #a76f6350;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:46px;height:52px;font-family:Fredoka,sans-serif;font-size:19px;line-height:1;display:flex;transform:rotate(-7deg);box-shadow:inset 0 1px #fff8,0 3px #7e666e22}.share-mini-tile:nth-child(2){background:linear-gradient(145deg,#779c77,#406f41);border-color:#41654740;transform:translateY(-5px)}.share-mini-tile:nth-child(3){background:linear-gradient(145deg,#a0d99f,#72b976);border-color:#58926240;transform:rotate(7deg)}.share-mini-tile i{background:currentColor;width:25px;height:1px}.share-dialog #share-preview-outcome{font-family:var(--ui-font);color:var(--ui-ink);margin:0;font-size:18px;font-weight:700;line-height:1.3}.share-preview[data-preview-kind=clear] #share-preview-outcome{letter-spacing:.3px;color:var(--positive);margin-top:21px;font-family:Fredoka,sans-serif;font-size:29px}.share-preview[data-preview-kind=blocked] #share-preview-outcome{margin-top:22px;font-size:22px}#share-preview-score{margin:18px 0 0}#share-preview-score .score-metrics{justify-content:center;gap:20px;display:flex}#share-preview-score .score-metric{color:var(--ui-ink);gap:5px;font-size:31px;line-height:1.1}#share-preview-score .score-icon{width:22px;height:22px;color:var(--ui-muted)}#share-preview-score .score-count{font-size:inherit;font-weight:600}.share-dialog #share-preview-message{color:var(--ui-muted);margin:12px 0 0;font-size:13px;line-height:1.5}.share-link-row{border:1px solid var(--line);min-width:0;color:var(--ui-muted);background:var(--surface);border-radius:10px;align-items:center;gap:8px;margin:13px 0 12px;padding-left:12px;display:flex}.share-link-row>svg{fill:none;stroke:currentColor;stroke-width:1.8px;flex:none;width:17px;height:17px}#share-link-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;font-size:13px;line-height:1.4;overflow:hidden}#share-copy-link{width:44px;height:44px;color:var(--ui-muted);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;padding:11px;display:grid}.share-actions{gap:10px;display:flex}.share-actions .gradient-button{flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:46px;margin:0;padding:11px 7px;font-size:14px;line-height:1.3;display:flex}.share-actions svg,#share-copy-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.share-copied-glyph,.is-copied .share-copy-glyph{display:none}.is-copied .share-copied-glyph{display:block}#share-copy-link.is-copied{color:var(--positive)}.share-dialog #share-status{min-height:18px;color:var(--ui-muted);margin:9px 0 0;font-size:12px;line-height:1.5}.share-dialog #share-status[data-state=copied],.share-dialog #share-status[data-state=linkCopied]{color:var(--positive)}.share-dialog .share-label{text-align:left;margin:12px 0 5px;font-size:12px}.share-dialog #share-content{resize:vertical;word-break:break-word;min-height:84px;max-height:160px;padding:10px;font-size:12px;line-height:1.5}.share-dialog #share-local-note{background:var(--surface-soft);margin:9px 0 0;padding:7px 9px;font-size:11px;line-height:1.5}.share-dialog button:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}:root[data-theme=dark] .share-mini-tile{filter:brightness(.78);color:#f5fbff;box-shadow:inset 0 1px #ffffff30,0 3px #0003}@media (width<=350px){.share-dialog{padding:21px 16px 16px}.share-preview{padding:21px 12px 17px}#share-preview-score .score-metrics{gap:16px}#share-preview-score .score-metric{font-size:27px}#share-preview-score .score-icon{width:20px;height:20px}.share-actions .gradient-button{gap:5px;font-size:13px}}.share-dialog [hidden]{display:none!important}
