.privacy-page{max-width:760px;padding-block:32px 52px;line-height:1.85;overflow-wrap:anywhere}.privacy-page h1{font-size:28px;margin:16px 0}.privacy-page h2{font-size:19px;margin:28px 0 8px}.privacy-page p{margin:10px 0;font-size:14px}.privacy-page a,.privacy-copy a{color:inherit;text-decoration:underline;text-underline-offset:3px}.privacy-page .privacy-updated{color:var(--muted);font-size:12px}.privacy-page summary{cursor:pointer;padding-block:12px}.site-footer>a{color:inherit;font-size:12px;min-height:44px;display:inline-flex;align-items:center}.site-footer{flex-wrap:wrap;gap:8px 18px}@media(max-width:480px){.privacy-page{padding-block:22px 36px}.privacy-page h1{font-size:25px}}.account-dialog-body{display:flex;flex-direction:column;gap:16px}.account-dialog-body p{font-size:14px;line-height:1.7;margin:0}.google-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;border:1px solid #747775;border-radius:6px;background:#fff;color:#1f1f1f;font-size:14px;font-weight:500;padding:10px 16px}.google-button span{font:700 20px Arial;color:#4285f4}.google-button:disabled{opacity:.65}.account-continue{align-self:center;min-height:44px}.account-save{padding:18px 0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.account-save p{margin:0;font-size:13px}.account-message{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--surface,#fff);color:var(--ink,#233b30);border:1px solid var(--line,#aaa);border-radius:12px;padding:12px 16px;max-width:calc(100% - 28px);box-shadow:0 4px 20px #0002;font-size:14px}.account-message button{border:0;background:transparent;color:inherit;font-size:20px;margin-left:12px}.account-callback{padding-block:60px}.account-dialog-body details{font-size:13px}.account-dialog-body details[open] summary{margin-bottom:12px}.account-dialog-body input:not([type=checkbox]),.account-dialog-body select{width:100%;min-height:44px;padding:8px;border:1px solid var(--line,#aaa);border-radius:6px;background:var(--surface,#fff);color:inherit}.account-dialog-body button{cursor:pointer}.account-dialog-body button:focus-visible,.account-dialog-body input:focus-visible{outline:3px solid #8bab45;outline-offset:3px}.account-nav{white-space:nowrap}@media(max-width:600px){.account-nav{font-size:12px;padding:6px}.header-inner nav{gap:5px}}.account-actions{display:flex;flex-wrap:wrap;gap:10px}.account-board-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-board{border-collapse:collapse;width:100%;font-size:14px}.account-board th,.account-board td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:left}.account-board td:last-child{text-align:right;font-variant-numeric:tabular-nums}.account-board .is-you{background:var(--hover)}.account-imported pre{max-height:220px;overflow:auto;white-space:pre-wrap;font-size:12px}.account-nav,.account-board-link{display:inline-flex;align-items:center;gap:6px}.account-nav svg{flex-shrink:0}.google-button svg{flex-shrink:0}@media(max-width:600px){.site-header .brand{flex-shrink:0}.site-header .brand>span:last-child,.site-header .nav-link{white-space:nowrap}.site-header .account-nav-label,.site-header button.nav-link:not(.account-nav)>span{display:none}.site-header .account-nav{min-width:32px;justify-content:center}.site-header .header-inner{gap:8px}}.account-import-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;width:min(1000px,calc(100% - 32px));margin:16px auto 0;padding:16px 20px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);color:var(--ink);font-size:14px;line-height:1.5}.account-import-prompt>span{flex:1 1 200px;min-width:0;font-weight:500;overflow-wrap:anywhere}.account-import-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.account-import-actions>.button{min-height:44px;padding:10px 18px;border-radius:99px;font-size:14px;line-height:1.5}.account-import-actions>.text-button{min-height:44px;padding:10px 8px;font-size:14px;line-height:1.5;color:var(--muted)}.account-import-actions>.text-button:hover{color:var(--ink)}.account-import-actions>button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:600px){.account-import-prompt{align-items:stretch;gap:12px;padding:16px}.account-import-prompt>span{flex-basis:auto;width:100%}.account-import-actions{width:100%}.account-import-actions>.button{flex:1}.account-import-actions>.text-button{flex-shrink:0}}.account-board-days{display:flex;justify-content:space-between;gap:8px}.account-board-days button{min-height:44px}.account-board-days button:disabled{opacity:.4;cursor:default}.account-board td:nth-child(2){overflow-wrap:anywhere;max-width:220px}.account-board th{text-align:start}.account-dialog-body select:focus-visible{outline:3px solid #8bab45;outline-offset:3px}.account-board-filters>label:last-child{grid-column:1/-1}.account-board-difficulty{grid-column:1/-1;min-width:0;display:flex;flex-direction:column;gap:6px}.account-board-difficulty .difficulty-picker{width:100%;box-sizing:border-box}.account-board-difficulty .difficulty-picker button{flex:1;min-height:44px}.account-board-games{grid-column:1/-1;min-width:0;display:flex;flex-direction:column;gap:8px}.board-game-row{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;padding:4px 4px 10px;min-width:0;scrollbar-width:thin}.board-game-card{flex:0 0 112px;align-self:stretch;padding:0;overflow:hidden;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);scroll-snap-align:start}.board-game-card[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--accent)}.board-game-art{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#29372b;width:100%;height:70px}.board-game-art .game-mark{width:100%;height:100%;max-width:none}.board-game-name{display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:44px;padding:8px 5px;font-size:13px;line-height:1.4;overflow-wrap:anywhere;font-weight:600}.board-game-card:focus-visible{outline-offset:0}.account-dialog-body{--account-danger:#b42318;--account-danger-bg:#fff1f0;--account-danger-hover:#ffe2de}:root[data-theme=dark] .account-dialog-body{--account-danger:#ff9b91;--account-danger-bg:#351f20;--account-danger-hover:#492728}.account-dialog-body .account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-dialog-body .account-actions>.button,.account-dialog-body .account-confirm-actions>.button{min-height:44px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.account-dialog-body .account-actions>.button:hover,.account-dialog-body .account-confirm-actions>.button:hover{background:var(--hover)}.account-dialog-body .account-danger{color:var(--account-danger);border-color:var(--account-danger)}.account-dialog-body .account-actions>.account-danger:hover,.account-dialog-body .account-confirm-actions>.account-danger:hover{color:var(--account-danger);background:var(--account-danger-hover)}.account-dialog-body .account-danger:focus-visible{outline-color:var(--account-danger)}.account-dialog-body .account-confirm{margin:0;padding:16px;border-radius:12px}.account-dialog-body .account-confirm.account-danger{background:var(--account-danger-bg);color:var(--account-danger);border-color:var(--account-danger)}.account-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.account-dialog-body .account-confirm-actions>.button:not(.account-danger){color:var(--ink)}.catalog :where([data-animated=true]) .preview-motion{animation-play-state:paused;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.catalog [data-animated=true][data-visible=true] .preview-motion{animation-play-state:running}.catalog .preview-water{animation-name:preview-water;animation-duration:4s;animation-timing-function:linear}.preview-stream,.preview-clock-running{display:none}.catalog .preview-stream{display:block;animation-name:preview-stream;animation-duration:4s}.catalog .preview-clock-running{display:block}.catalog .preview-clock-static{display:none}.catalog .preview-digits{animation-name:preview-digits;animation-duration:4s;animation-timing-function:steps(30,end)}.catalog .preview-pulse{transform-origin:160px 87px;animation-name:preview-pulse;animation-duration:2.4s}.catalog .preview-calibrate{animation-name:preview-calibrate;animation-duration:4s}.catalog .preview-align{transform-origin:160px 90px;animation-name:preview-align;animation-duration:4s}.catalog .preview-beat{transform-origin:160px 87px;animation-name:preview-beat;animation-duration:.8s}.catalog .preview-hand{transform-origin:160px 95px;animation-name:preview-hand;animation-duration:6s;animation-timing-function:linear}.catalog .preview-count{transform-box:fill-box;transform-origin:center;animation-name:preview-count;animation-duration:3.6s}.catalog .preview-color{animation-name:preview-color;animation-duration:3s}.catalog .preview-memory{animation-name:preview-memory;animation-duration:4s}.catalog .preview-find{animation-name:preview-find;animation-duration:4s}.catalog .preview-draw{stroke-dasharray:1;animation-name:preview-draw;animation-duration:4.5s}.preview-flight{transform:translate(105px,81px)}.preview-bounce{transform:translate(71px,143px)}.catalog .preview-flight{transform:none;offset-path:path("M43 121Q155 27 277 88");animation-name:preview-flight;animation-duration:4s}.catalog .preview-car{animation-name:preview-car;animation-duration:4.5s}.catalog .preview-bounce{transform:none;offset-path:path("M71 143 151 36 232 140");animation-name:preview-flight;animation-duration:3.6s;animation-timing-function:linear}@keyframes preview-water{0%,5%,to{transform:translateY(65px)}75%,90%{transform:translateY(-45px)}}@keyframes preview-stream{0%,70%{opacity:.8;stroke-dashoffset:0}75%,to{opacity:0;stroke-dashoffset:-60}}@keyframes preview-digits{0%{transform:translateY(0)}75%,to{transform:translateY(-1260px)}}@keyframes preview-pulse{0%{transform:scale(.18);opacity:.8}80%,to{transform:scale(1.2);opacity:0}}@keyframes preview-beat{0%,to{transform:scale(1)}30%{transform:scale(1.25)}}@keyframes preview-align{0%,15%,to{transform:translate(-15px,6px) rotate(-18deg) scale(1.15,.85)}50%,75%{transform:translate(6px) rotate(14deg) scale(.85,1.15)}}@keyframes preview-calibrate{0%,20%,to{transform:translate(-18px,-16px)}50%,70%{transform:translate(17px,8px)}}@keyframes preview-hand{to{transform:rotate(360deg)}}@keyframes preview-count{0%,65%,to{transform:scale(1);opacity:1}80%{transform:scale(.65);opacity:.4}}@keyframes preview-color{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-9px)}}@keyframes preview-memory{0%,20%,80%,to{opacity:1}45%,60%{opacity:.12}}@keyframes preview-find{0%,20%,to{opacity:.15;stroke-dashoffset:0}50%,75%{opacity:.85;stroke-dashoffset:14}}@keyframes preview-draw{0%,10%{stroke-dashoffset:1}65%,85%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes preview-flight{0%,10%{offset-distance:0%}75%,to{offset-distance:100%}}@keyframes preview-car{0%,10%,to{transform:translate(0)}65%,85%{transform:translate(64px)}}@media(prefers-reduced-motion:reduce){.catalog [data-animated=true] .preview-motion{animation:none}}html[data-reduce-motion=true] .catalog [data-animated=true] .preview-motion{animation:none}@media(prefers-reduced-motion:reduce){.catalog .preview-stream,.catalog .preview-clock-running{display:none}.catalog .preview-clock-static{display:block}}html[data-reduce-motion=true] .catalog .preview-stream,html[data-reduce-motion=true] .catalog .preview-clock-running{display:none}html[data-reduce-motion=true] .catalog .preview-clock-static{display:block}.difficulty-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line)}.difficulty-picker{display:inline-flex;flex-shrink:0;gap:2px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.difficulty-picker button{min-width:45px;min-height:32px;padding:4px 9px;background:transparent;border-radius:4px;color:var(--muted);font-size:12px}.difficulty-picker button[aria-pressed=true]{background:var(--button);color:var(--button-ink)}.difficulty-bar p{font-size:11px;line-height:1.5;color:var(--muted);text-align:right}.game-page .difficulty-bar{padding:2px 12px}.game-page .difficulty-bar~.round-header{height:24px}.game-page .difficulty-bar~.round-content{padding-top:12px}.catalog-difficulty{display:flex;justify-content:flex-end;margin:-7px 0 14px}.records-best>div{display:block}.records-best>div>span{display:block;margin-bottom:6px}.records-best .records-level-scores{display:flex;justify-content:space-between;gap:8px;white-space:normal}.records-level-scores span{font-size:15px;white-space:nowrap}.records-level-scores small{font-size:10px;color:var(--muted);margin-right:4px;font-weight:400}@media(max-width:600px){.difficulty-bar{padding:5px 12px;gap:8px}.difficulty-picker button{min-width:42px;min-height:30px}.difficulty-bar p{font-size:10px}.difficulty-bar~.round-content{padding-top:12px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.catalog.home{max-width:1060px;padding-top:32px;padding-bottom:28px}.catalog .catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 18px;text-align:left}.catalog .catalog-heading h1{font-size:28px;line-height:1.3;letter-spacing:-.8px;font-weight:650}.catalog .catalog-heading p{font-size:12px;margin:0;color:var(--muted);white-space:nowrap}.catalog .catalog-heading p span{margin:0 6px}.catalog .catalog-filters{display:flex;justify-content:flex-start;gap:24px;margin:0 0 22px;border-bottom:1px solid var(--line);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.catalog-filters::-webkit-scrollbar{display:none}.catalog .catalog-filters button{flex-shrink:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500;padding:10px 0;min-height:44px}.catalog .catalog-filters button[aria-pressed=true]{color:var(--ink);background:transparent;border-bottom-color:var(--ink)}.catalog .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}.catalog .catalog-item{display:block;border:0;border-radius:0;overflow:visible;background:transparent;transform:none;box-shadow:none;min-width:0}.catalog .catalog-item:hover{transform:none;box-shadow:none}.catalog-play{display:block;min-width:0;border-radius:7px}.catalog .catalog-art{position:relative;height:154px;min-height:0;overflow:hidden;border-radius:7px;background:var(--accent);color:#29372b;isolation:isolate}.catalog .game-mark{width:100%;max-width:300px;height:100%;transform:scale(1);transition:transform .2s ease}.catalog .preview-number{font-size:14px;fill:currentColor;font-weight:500;font-variant-numeric:tabular-nums}.catalog .preview-clock{font-size:37px;fill:currentColor;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-1px}.catalog .preview-label{font-size:10px;fill:currentColor;opacity:.7}.catalog-enter{position:absolute;right:11px;top:11px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fffefa60;opacity:0;transform:translate(-3px,3px);transition:opacity .15s,transform .15s}.catalog-play:focus-visible .catalog-enter{opacity:1;transform:none}.catalog .catalog-copy{padding:13px 0 0}.catalog .catalog-copy h2{font-size:21px;font-weight:650;line-height:1.4;letter-spacing:-.5px}.catalog .catalog-copy p{min-height:0;margin:5px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}.catalog .catalog-daily{display:flex;justify-content:flex-start;align-items:center;gap:5px;width:max-content;max-width:100%;min-height:44px;margin:6px 0 0;padding:0;color:var(--muted);font-size:11px;border:0}.catalog-daily>span:last-child{opacity:0;transition:opacity .15s;margin-left:2px}.catalog-daily:hover>span:last-child,.catalog-daily:focus-visible>span:last-child{opacity:1}.catalog-daily.is-complete{color:var(--detail,var(--ink))}.catalog .catalog-date{justify-content:space-between;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:11px}.catalog .catalog-date b{letter-spacing:.2px}@media(hover:hover){.catalog-play:hover .game-mark{transform:scale(1.035)}.catalog-play:hover .catalog-enter{opacity:1;transform:none}}@media(max-width:760px){.catalog.home{padding-top:24px}.catalog .catalog-heading{margin-bottom:14px;gap:12px}.catalog .catalog-heading h1{font-size:25px}.catalog .catalog-heading p{font-size:11px}.catalog .catalog-filters{gap:21px;margin-bottom:18px}.catalog .catalog-filters button{font-size:12px;padding:9px 0}.catalog .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px}.catalog .catalog-art{height:auto;aspect-ratio:16/10;min-height:0}.catalog .game-mark{width:100%;height:100%;max-width:none}.catalog .catalog-copy{padding:10px 0 0}.catalog .catalog-copy h2{font-size:18px;line-height:1.45;letter-spacing:-.5px}.catalog .catalog-copy p{font-size:12px;margin-top:4px;line-height:1.65;min-height:3.3em;text-wrap:pretty}.catalog .catalog-daily{margin-top:2px;min-height:44px;font-size:11px}.catalog-enter{display:none}.catalog .catalog-date{font-size:10px;margin-top:22px;gap:6px}}@media(max-width:350px){.catalog .catalog-grid{grid-template-columns:1fr}.catalog .catalog-art{aspect-ratio:2}.catalog .catalog-copy p{min-height:0}.catalog .catalog-filters{gap:17px}}@media(prefers-reduced-motion:reduce){.catalog .game-mark,.catalog-enter,.catalog-daily>span:last-child{transition:none}}html[data-reduce-motion=true] .catalog .game-mark,html[data-reduce-motion=true] .catalog-enter,html[data-reduce-motion=true] .catalog-daily>span:last-child{transition:none}.catalog.catalog-compact .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalog.catalog-compact .catalog-item:first-child{grid-column:auto}.catalog.catalog-compact .catalog-play,.catalog.catalog-compact .catalog-item:first-child .catalog-play{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:16px;align-items:center;height:auto;min-height:0;padding:16px;border-radius:16px 16px 0 0}.catalog.catalog-compact .catalog-item{border-radius:16px;box-shadow:none;border:1px solid #ffffff1a}.catalog.catalog-compact .catalog-copy,.catalog.catalog-compact .catalog-item:first-child .catalog-copy{width:auto;padding:0;min-width:0;align-self:center}.catalog-title{display:flex;align-items:center;gap:8px}.catalog.catalog-compact .catalog-copy h2,.catalog.catalog-compact .catalog-item:first-child .catalog-copy h2{font-size:22px;line-height:1.3;letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}.catalog.catalog-compact .catalog-symbol{width:26px;height:26px;border-radius:8px;font-size:11px;margin:0;flex-shrink:0}.catalog.catalog-compact .catalog-copy p{font-size:14px;line-height:1.5;min-height:0;max-width:none;margin:6px 0 10px}.catalog.catalog-compact .catalog-cta{min-height:44px;padding:8px 14px;font-size:14px;line-height:1.4;gap:8px;white-space:normal}.catalog.catalog-compact .catalog-cta svg{flex-shrink:0}.catalog.catalog-compact .catalog-art,.catalog.catalog-compact .catalog-item:first-child .catalog-art{position:relative;inset:auto;width:96px;height:96px;max-height:none;min-height:0;aspect-ratio:auto;align-self:center}.catalog.catalog-compact .showcase-sheet{width:92%;height:92%;top:4%;border-radius:14px}.catalog.catalog-compact .sheet-back{left:1%;width:90%;transform:rotate(8deg)}.catalog.catalog-compact .sheet-front{left:0}.catalog.catalog-compact .catalog-daily-scores{padding:10px 16px 12px}.catalog.catalog-compact .catalog-daily-scores>p{font-size:13px;line-height:1.4;margin-bottom:7px}.catalog.catalog-compact .catalog-daily-score{min-height:54px;padding:6px 4px;gap:2px;line-height:1.4;font-size:13px;min-width:0;overflow-wrap:anywhere}.catalog.catalog-compact .catalog-daily-score strong{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;font-size:16px;line-height:1.4}.catalog.catalog-compact .catalog-daily-score strong svg{flex-shrink:0}.catalog.catalog-compact .catalog-play:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}.catalog.catalog-compact .catalog-difficulty{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 10px}.catalog.catalog-compact .catalog-difficulty>span{font-size:14px;color:var(--muted)}.catalog.catalog-compact .catalog-heading{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:6px 16px}.catalog.catalog-compact .catalog-heading h1{font-size:24px}.catalog.catalog-compact .catalog-heading p{white-space:normal;font-size:12px}.catalog.catalog-compact .catalog-filters{gap:20px;margin-bottom:14px}@media(max-width:760px){.catalog.catalog-compact .catalog-grid{grid-template-columns:1fr;gap:12px}.catalog.catalog-compact .catalog-heading h1{font-size:20px}.catalog.catalog-compact .catalog-play,.catalog.catalog-compact .catalog-item:first-child .catalog-play{grid-template-columns:minmax(0,1fr) 86px;gap:12px;padding:14px}.catalog.catalog-compact .catalog-art,.catalog.catalog-compact .catalog-item:first-child .catalog-art{width:86px;height:86px}.catalog.catalog-compact .catalog-daily-scores{padding:9px 14px 12px}}@media(max-width:350px){.catalog.catalog-compact .catalog-play,.catalog.catalog-compact .catalog-item:first-child .catalog-play{grid-template-columns:minmax(0,1fr) 66px;gap:8px}.catalog.catalog-compact .catalog-art,.catalog.catalog-compact .catalog-item:first-child .catalog-art{width:66px;height:76px}.catalog.catalog-compact .catalog-copy h2,.catalog.catalog-compact .catalog-item:first-child .catalog-copy h2{font-size:20px}.catalog.catalog-compact .catalog-title,.catalog.catalog-compact .catalog-daily-levels{gap:6px}}.game-entrance{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:280px;height:clamp(280px,calc(100svh - 280px),420px);overflow:hidden;border-radius:20px;background:#101010;color:#fff;animation:entrance-frame .22s ease-out both}.entrance-art{width:min(74%,340px);aspect-ratio:16/10;background:var(--scene);color:#171717;border-radius:18px;box-shadow:0 20px 45px #0008;animation:entrance-card .88s cubic-bezier(.22,.8,.25,1) both}.entrance-art .game-mark{width:100%;max-width:none;height:100%}.game-entrance .entrance-name{font-size:22px;letter-spacing:-.6px;font-weight:500;margin-top:26px;animation:entrance-name .8s ease-out both}.entrance-skip{position:absolute;right:16px;top:12px;display:flex;align-items:center;gap:6px;min-height:44px;background:transparent;color:#aaa;font-size:12px;padding:8px;border-radius:30px}.entrance-skip:hover{color:#fff}.entrance-skip:focus-visible{outline:2px solid #fff;outline-offset:0}@keyframes entrance-frame{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes entrance-card{0%{opacity:0;transform:translateY(35px) rotate(-12deg) scale(.88)}45%{opacity:1;transform:translateY(0) rotate(3deg) scale(1)}80%,to{opacity:1;transform:rotate(0)}}@keyframes entrance-name{0%,20%{opacity:0;transform:translateY(7px)}65%,to{opacity:1;transform:none}}.game-entrance[data-game=rhythm] .game-mark circle{transform-box:fill-box;transform-origin:center;animation:entrance-pulse .7s ease-out both}.game-entrance[data-game=visual] .game-mark,.game-entrance[data-game=gradient] .game-mark{animation:entrance-align .8s ease-out both;transform-origin:center}.game-entrance[data-game=positions] .game-mark circle,.game-entrance[data-game=estimate] .game-mark circle,.game-entrance[data-game=change] .game-mark{animation:entrance-dots .8s ease-out both}.game-entrance[data-game=trace] .game-mark path{stroke-dasharray:500;stroke-dashoffset:0;animation:entrance-line .8s ease-out both}.game-entrance[data-game=trajectory] .game-mark,.game-entrance[data-game=brake] .game-mark,.game-entrance[data-game=ricochet] .game-mark{animation:entrance-travel .8s ease-out both}.game-entrance[data-game=fill] .game-mark,.game-entrance[data-game=stopwatch] .game-mark{animation:entrance-pulse .8s ease-out both}@keyframes entrance-align{0%{transform:rotate(-9deg)}to{transform:rotate(0)}}@keyframes entrance-pulse{0%{opacity:.3;transform:scale(.8)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}@keyframes entrance-dots{0%,15%{opacity:0}65%,to{opacity:1}}@keyframes entrance-line{0%{stroke-dashoffset:500}to{stroke-dashoffset:0}}@keyframes entrance-travel{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.game-entrance,.game-entrance *{animation:none!important}}:root[data-reduce-motion=true] .game-entrance,:root[data-reduce-motion=true] .game-entrance *{animation:none!important}[data-gesture-surface]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}[data-gesture-surface=pan-x],[data-gesture-surface=pan-x] .gradient-scroll{touch-action:pan-x}:root{font-family:Segoe UI,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;color:var(--ink);background:var(--page);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#29372b;--muted:#737d6b;--line:#dfe4d7;--accent:#d6f374;--page:#f7f8f3;--surface:#fffefa;--hover:#eff2e9;--button:#29372b;--button-ink:#fffef8;--button-hover:#40533a;--border-strong:#cbd3c0;--subtle:#e3e8db;--focus:#718b44;--detail:#556449;--notice-bg:#f0f4e7;--notice-border:#dce5cd;--notice-ink:#637650;--field:#fbfcf7;--water-stage:#edf5f6;--water-border:#dce9eb;--vessel:#fff;--vessel-line:#47616a;--water-answer:#27362c;--water-label:#325563;--water-label-halo:#eef6f6;--rhythm-stage:#f2eefb;--rhythm-border:#e4def0;--orbit:#ddd4ed;--beat-center:#dfd5f7;--beat-flash:#cab7ee;--rhythm-muted:#766191;--beat-dot:#d2c6e8;--beat-active:#65517f;--tap-bg:#e0d6f8;--tap-border:#bfaddf;--tap-active:#c5b0ec;--rhythm-detail:#8a74a5;--track:#d5c9e8;--track-dot:#8771a6;--track-player:#3d354b;--visual-stage:#faf1ea;--visual-border:#efe3d9;--geometry-ink:#29372b;--geometry-ref:#a38d7d;--geometry-accent:#ffc6ab;--geometry-grip:#fffaf5;--geometry-border:#d9c8bb;--answer:#99745b}:root[data-theme=dark]{color-scheme:dark;--ink:#e4ecdf;--muted:#a7b4a3;--line:#39463d;--page:#171e1b;--surface:#202a24;--hover:#303e33;--button:#d6eead;--button-ink:#20301e;--button-hover:#e4f7c5;--border-strong:#566750;--subtle:#3a483e;--focus:#c2df8d;--detail:#bfd3ad;--notice-bg:#2c3928;--notice-border:#4e6241;--notice-ink:#c2d4ad;--field:#19211c;--water-stage:#1d3038;--water-border:#385761;--vessel:#243e48;--vessel-line:#b6d7e0;--water-answer:#eff7df;--water-label:#e1f4f8;--water-label-halo:#203c47;--rhythm-stage:#2b263b;--rhythm-border:#4b405f;--orbit:#514463;--beat-center:#493b64;--beat-flash:#6a518e;--rhythm-muted:#c5b6dc;--beat-dot:#69577f;--beat-active:#e1ceff;--tap-bg:#493960;--tap-border:#8e75ad;--tap-active:#654d88;--rhythm-detail:#c5b1de;--track:#6b5784;--track-dot:#947bb3;--track-player:#62517b;--visual-stage:#342b25;--visual-border:#584638;--geometry-ink:#f3dfc9;--geometry-ref:#c09e82;--geometry-accent:#ffc6ab;--geometry-grip:#45372d;--geometry-border:#6c5644;--answer:#edb98f}.theme-options{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:5px}.theme-options button{background:transparent;color:var(--muted);font-size:12px;padding:8px 10px;min-height:38px;border-radius:3px}.theme-options button[aria-pressed=true]{background:var(--button);color:var(--button-ink)}.theme-toggle{min-width:36px}.theme-setting{flex-wrap:wrap;padding:10px 0}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:wait;opacity:.5}svg{flex-shrink:0}h1,h2,h3,p{margin:0}p{line-height:1.75}em{font-style:normal}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,svg:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:#d6f374;color:#29372b}input[type=range]{accent-color:var(--ink);cursor:pointer;min-height:34px}input[type=checkbox]{accent-color:var(--ink);width:20px;height:20px}main{min-height:calc(100dvh - 138px)}.page-width{width:min(1040px,calc(100% - 48px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{width:min(1160px,calc(100% - 48px));height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:800}.brand-icon{font-family:Georgia,serif;font-size:42px;position:relative;padding-right:12px;line-height:1;transform:translateY(-3px)}.brand-icon>span{position:absolute;right:0;top:0;font-size:22px}.brand small{display:block;font-size:8px;letter-spacing:3px;font-weight:500;margin-top:3px}.header-inner nav{display:flex;align-items:center;gap:26px}.nav-link{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:none;min-height:44px;padding:8px 0}.nav-link.active{color:var(--ink);font-weight:600}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:50%}.icon-button:hover,.secondary:hover{background:var(--hover)}.site-footer{display:flex;justify-content:center;align-items:center;gap:24px;min-height:62px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.site-footer button{background:none;color:var(--muted);font-size:11px;min-height:44px}.site-footer small{font-size:10px}.home{padding:48px 0 36px}.home-heading{text-align:center;margin-bottom:30px}.home-heading h1{font-size:32px;letter-spacing:-1px}.home-heading p{font-size:14px;color:var(--muted);margin-top:10px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:transform .15s,box-shadow .15s}.game-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #243b2410}.card-art{color:#29372b;height:170px;display:flex;align-items:center;justify-content:center;background:var(--accent)}.game-mark{display:block;width:75%;max-width:220px;height:100%}.card-content{padding:23px 22px 10px}.card-content h2{font-size:25px;letter-spacing:-.5px}.card-content p{font-size:13px;color:var(--muted);margin-top:10px;min-height:46px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 20px;border-radius:5px;font-size:14px;font-weight:600;line-height:1.6;transition:background .12s,transform .1s}.button:active{transform:translateY(1px)}.primary{background:var(--button);color:var(--button-ink)}.primary:hover{background:var(--button-hover)}.secondary{background:none;border:1px solid var(--border-strong);color:var(--ink)}.wide{width:100%}.card-play{width:100%;justify-content:space-between;margin-top:17px}.card-daily{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;min-height:48px;margin-top:3px;color:var(--muted)}.card-daily:hover{color:var(--ink)}.daily-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px;padding-top:25px;color:var(--muted);font-size:11px}.daily-strip>span{display:flex;gap:7px;align-items:center}.daily-strip b{font-weight:500;color:var(--detail);font-variant-numeric:tabular-nums;letter-spacing:1px}.game-page{max-width:760px;padding-top:19px;padding-bottom:32px}.game-breadcrumb a{display:inline-flex;align-items:center;gap:7px;min-height:34px;color:var(--muted);font-size:12px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:13px 0 20px}.game-heading h1{font-size:28px;letter-spacing:-.5px}.mode-tabs{display:flex;border:1px solid var(--line);padding:3px;border-radius:5px;background:var(--surface)}.mode-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;background:none;color:var(--muted);border-radius:3px;padding:9px 14px;font-size:12px;min-height:38px}.mode-tabs button.selected{background:var(--button);color:var(--button-ink)}.play-panel{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.round-header{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);font-size:12px}.round-header b{font-size:16px;font-weight:500;margin:0 2px}.round-header small{font-size:11px;color:var(--muted)}.round-progress{display:flex;align-items:center;gap:6px}.round-progress>span{display:flex;align-items:center;justify-content:center;width:19px;height:5px;border-radius:4px;background:var(--subtle)}.round-progress>.current{background:var(--ink)}.round-progress>.done{height:15px;color:#29372b;background:var(--accent)}.session-score{font-size:17px;font-weight:500;text-align:right;min-width:50px;font-variant-numeric:tabular-nums}.round-content{padding:24px 30px}.challenge-title{text-align:center}.eyebrow{display:block;font-size:11px;font-weight:500;color:var(--muted)}.challenge-title h2{font-size:25px;margin:6px 0;line-height:1.5;letter-spacing:-.5px}.challenge-title h2 em{background:var(--accent);color:#29372b;border-radius:3px;padding:0 5px}.challenge-title p{font-size:12px;color:var(--muted);min-height:21px}.game-stage{position:relative;border:1px solid var(--line);border-radius:6px;margin:18px auto;overflow:hidden}.fill-stage{height:315px;display:flex;align-items:center;justify-content:center}.fill-stage>svg{height:300px;width:100%;max-width:340px}.svg-label{font-size:10px;font-family:inherit;fill:var(--water-label);font-weight:600;paint-order:stroke;stroke:var(--water-label-halo);stroke-width:3px}.pour-button{min-height:55px;touch-action:none;-webkit-user-select:none;user-select:none}.pour-button.pressed{background:#3a6b78;color:#fffef8}.control-hint{font-size:10px;color:var(--muted);text-align:center;margin-top:10px}.game-controls>.text-button{display:flex;margin:4px auto 0}.game-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);padding:18px 2px 10px}.game-meta b{font-weight:500;color:var(--detail);font-variant-numeric:tabular-nums}.rules{border-top:1px solid var(--line);margin-top:5px}.rules summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;min-height:45px;font-size:12px;color:var(--muted)}.rules summary:after{content:"+";font-size:18px}.rules[open] summary:after{content:"−"}.rules>div{font-size:12px;color:var(--muted);padding-bottom:15px}.rules p+p{margin-top:9px}.round-feedback{animation:reveal .2s ease-out}.feedback-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.round-score{font-size:44px;font-weight:500;letter-spacing:-1.5px;line-height:1.25}.round-score small{font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}.error-detail{text-align:right}.error-detail>span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.error-detail strong{font-size:21px;font-weight:500}.error-detail small{font-size:10px}.result-pair{display:flex;gap:24px;font-size:12px;padding:10px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-pair b{font-weight:500;margin-left:4px}.round-feedback>p{font-size:12px;color:var(--muted);margin:10px 0 14px}.round-feedback>.primary{margin-top:16px}.result-pair+.primary{margin-top:2px}.notice{font-size:12px;padding:10px 13px;background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:5px;line-height:1.7;color:var(--notice-ink);margin:12px 0}.play-panel>.notice{margin:14px 20px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;background:none;font-size:12px;color:var(--muted);padding:8px}.text-button:hover{color:var(--ink)}.audio-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:6px 25px 0;margin-bottom:-15px}.audio-bar input{width:85px}.audio-bar button{font-size:11px}.rhythm-stage{height:280px;background:var(--rhythm-stage);border-color:var(--rhythm-border);display:flex;align-items:center;justify-content:center}.orbit{position:absolute;width:224px;height:224px;border:1px solid var(--orbit);border-radius:50%;pointer-events:none}.orbit-two{width:170px;height:170px}.rhythm-center{width:120px;height:120px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-radius:50%;background:var(--beat-center);z-index:1}.rhythm-center>span{font-size:32px;line-height:1;min-height:36px;font-weight:500}.rhythm-center small{font-size:11px;color:var(--rhythm-muted)}.beat-active .rhythm-center{background:var(--beat-flash);animation:beat .15s ease-out}.beat-dots{position:absolute;bottom:20px;display:flex;gap:10px}.beat-dots i{width:5px;height:5px;border-radius:50%;background:var(--beat-dot)}.beat-dots i.active{background:var(--beat-active);transform:scale(1.5)}.tap-pad{min-height:75px;background:var(--tap-bg);border:1px solid var(--tap-border);font-size:19px;touch-action:none;-webkit-user-select:none;user-select:none}.tap-pad span{font-size:12px;color:var(--rhythm-detail)}.tap-pad:active{background:var(--tap-active)}.replay-controls{display:flex;gap:10px;margin-bottom:18px}.replay-controls button{flex:1;font-size:12px;min-height:43px}.timelines{width:100%;padding:26px 32px 15px}.timeline>span{font-size:12px}.timeline small{color:var(--rhythm-detail);font-size:10px;margin-left:6px}.track{height:1px;background:var(--track);position:relative;margin:22px 12px 35px 8px}.track i{position:absolute;top:-8px;width:17px;height:17px;margin-left:-8px;background:var(--track-dot);border-radius:50%;color:#fff;text-align:center;font-size:8px;line-height:17px;font-style:normal;box-shadow:0 0 0 3px var(--rhythm-stage)}.timeline:nth-child(2) .track i{background:var(--track-player)}.timeline-legend{font-size:10px;color:var(--rhythm-detail);text-align:center}.visual-stage{padding:18px;background:var(--visual-stage);border-color:var(--visual-border);display:flex;justify-content:center}.visual-stage>svg{display:block;width:100%;max-width:400px;height:auto;aspect-ratio:4/3}.answer-line{stroke:var(--answer);stroke-width:1;stroke-dasharray:4 4;fill:none}.answer-outline{stroke:var(--answer);stroke-width:1.5;stroke-dasharray:5 5;fill:none}.visual-controls .button{margin-top:0}.summary{text-align:center;padding:30px}.summary-symbol{display:none}.summary h2{font-size:24px;margin-bottom:10px}.summary>p{font-size:12px;color:var(--muted)}.total-score{font-size:80px;font-weight:500;letter-spacing:-4px;line-height:1.3;margin-top:14px}.total-score small{font-size:20px;font-weight:400;letter-spacing:0;color:var(--muted)}.best-pill{display:inline-flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin:8px 0 24px}.best-pill strong{color:var(--detail)}.score-cells{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:22px}.score-cells>div{padding:0 4px;border-right:1px solid var(--line)}.score-cells>div:last-child{border:0}.score-cells small{display:block;font-size:8px;color:var(--muted)}.score-cells strong{display:block;font-size:27px;font-weight:500;margin:5px 0}.score-cells span{font-size:9px;color:var(--muted);line-height:1.6;display:block}.summary-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.summary-actions .button{font-size:12px}.text-link{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-top:22px;padding:8px}.donate{display:flex;justify-content:center;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin-top:20px}.share-message{font-size:12px;margin-top:14px}.share-fallback{display:block;width:100%;height:170px;padding:12px;margin-top:14px;line-height:1.8;font-size:12px;resize:vertical;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink)}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#23322455;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:24px;display:flex;align-items:center;justify-content:center}.modal{position:relative;width:550px;max-width:100%;max-height:85dvh;overflow:auto;padding:34px;background:var(--surface);border-radius:9px;box-shadow:0 12px 70px #172c2422}.modal-close{position:absolute;right:14px;top:14px;border:none}.modal h2{font-size:23px;margin-bottom:24px;padding-right:23px}.modal-intro,.muted{font-size:12px;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:65px;border-bottom:1px solid var(--line);font-size:13px}.setting-row>span{display:flex;align-items:center;gap:8px;margin-right:auto}.setting-row>small{font-size:11px;color:var(--muted)}.setting-row input[type=range]{width:130px}.modal .muted{margin-top:18px;font-size:11px}.privacy-copy{font-size:13px;color:var(--muted)}.privacy-copy p+p{margin-top:15px}.records-best{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.records-best span{font-size:12px;color:var(--muted)}.records-best strong{font-size:25px;font-weight:500;display:block;margin-top:6px}.records-best small{font-size:10px;font-weight:400;color:var(--muted)}.records-heading{font-size:13px;font-weight:500;margin:20px 0 10px}.records-heading small{font-size:10px;color:var(--muted);margin-left:10px;font-weight:400}.history-list{max-height:320px;overflow:auto}.history-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}.history-list small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.history-list strong{font-size:22px;font-weight:500}.history-list strong small{display:inline;font-weight:400}.empty-history{padding:30px 0 10px;color:var(--muted);text-align:center}.empty-history p{margin:10px 0 5px;font-size:13px}.empty-history span{font-size:12px}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes beat{0%{transform:scale(1.04)}to{transform:scale(1)}}@media(max-width:760px){.page-width{width:calc(100% - 32px)}.header-inner{width:calc(100% - 32px);height:65px}.brand{font-size:18px;gap:7px}.brand-icon{font-size:36px;padding-right:10px}.brand-icon>span{font-size:19px}.brand small{font-size:7px;letter-spacing:2px}.header-inner nav{gap:12px}.nav-link{font-size:11px}.icon-button{height:36px;width:36px}main{min-height:calc(100dvh - 127px)}.home{padding-top:30px}.home-heading{margin-bottom:24px}.home-heading h1{font-size:27px}.home-heading p{font-size:13px}.game-grid{grid-template-columns:1fr;gap:15px}.game-card{display:grid;grid-template-columns:36% 64%}.card-art{height:100%;min-height:210px}.game-mark{width:100%;height:auto}.card-content{padding:19px 18px 5px}.card-content h2{font-size:23px}.card-content p{font-size:12px;margin-top:7px;min-height:40px}.card-play{min-height:43px;margin-top:10px;font-size:12px}.card-daily{font-size:11px;min-height:44px}.daily-strip{font-size:10px;gap:12px;padding-top:20px}.game-page{padding-top:10px;padding-bottom:20px}.game-breadcrumb a{font-size:11px;min-height:30px}.game-heading{margin:8px 0 15px;gap:10px}.game-heading h1{font-size:24px;white-space:nowrap}.mode-tabs button{font-size:10px;padding:7px 9px;min-height:35px;gap:4px}.mode-tabs svg{width:12px}.round-header{padding:0 20px;height:48px;font-size:11px}.round-header b{font-size:14px}.round-header small{font-size:10px}.round-progress{gap:5px}.round-progress>span{width:15px}.session-score{font-size:15px;min-width:40px}.round-content{padding:19px 20px}.challenge-title h2{font-size:22px;margin:5px 0}.challenge-title p{font-size:11px}.eyebrow{font-size:10px}.game-stage{margin:15px auto}.fill-stage{height:270px}.fill-stage>svg{height:260px}.pour-button{min-height:52px;font-size:13px}.control-hint{font-size:10px}.game-meta{font-size:10px;padding-top:13px}.rules summary{font-size:11px}.rules>div{font-size:11px}.audio-bar{padding:5px 16px 0;margin-bottom:-13px}.rhythm-stage{height:250px}.orbit{width:210px;height:210px}.orbit-two{width:160px;height:160px}.rhythm-center{width:110px;height:110px}.rhythm-center>span{font-size:29px}.rhythm-center small{font-size:10px}.tap-pad{font-size:17px;min-height:70px}.tap-pad span{font-size:11px}.visual-stage{padding:14px 10px}.round-score{font-size:38px}.error-detail strong{font-size:18px}.error-detail small{font-size:9px}.round-feedback>.primary{min-height:47px;font-size:13px}.result-pair{font-size:11px;gap:20px}.notice{font-size:11px}.replay-controls{gap:8px}.replay-controls button{font-size:11px;padding:9px;min-height:42px}.timelines{padding:23px 19px 10px}.timeline-legend{font-size:9px}.summary{padding:26px 19px}.summary h2{font-size:22px}.summary>p{font-size:10px}.total-score{font-size:70px}.score-cells strong{font-size:23px}.score-cells small{font-size:7px}.score-cells span{font-size:8px}.summary-actions{gap:8px}.summary-actions .button{font-size:11px;padding:10px 12px}.summary-actions svg{width:15px}.modal-backdrop{padding:16px}.modal{padding:30px 23px}.modal h2{font-size:21px}.setting-row{font-size:12px;gap:10px}.setting-row input[type=range]{width:105px}.privacy-copy{font-size:12px}.records-best span{font-size:11px}.records-best strong{font-size:23px}}@media(max-width:360px){.header-inner nav{gap:7px}.nav-link>svg{display:none}.game-heading{flex-wrap:wrap}.game-heading h1{font-size:23px}.mode-tabs{margin-left:auto}.mode-tabs button{padding:7px}.round-content{padding:17px 16px}.game-card{grid-template-columns:33% 67%}.card-content{padding:18px 15px 5px}.card-content h2{font-size:22px}.card-content p{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.game-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:0 0 24px}.game-filters button{min-height:44px;border:1px solid var(--line);border-radius:5px;padding:8px 13px;background:#fffefa;font-size:12px;color:var(--muted)}.game-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fffefa}.records-best{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.theme-trajectory .round-feedback+.button{margin-top:10px}@media(max-width:760px){.game-filters{gap:5px;margin-bottom:18px}.game-filters button{font-size:11px;padding:7px 10px;min-height:42px}.records-best{grid-template-columns:repeat(2,minmax(0,1fr))}}.header-inner{height:64px}.game-page{max-width:800px;padding-top:18px;padding-bottom:28px}.game-heading{gap:12px;margin:0 0 16px;min-height:42px}.game-heading h1{font-size:24px;letter-spacing:-.7px;margin-right:auto}.game-back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:40px;color:var(--muted);flex-shrink:0}.game-back:hover{color:var(--ink)}.mode-tabs{background:transparent;border:0;padding:0;gap:3px}.mode-tabs button{font-size:12px;min-height:38px;padding:8px 12px}.game-page .play-panel{border:0;background:transparent;border-radius:0;overflow:visible}.round-header{height:34px;padding:0 2px;border-bottom:1px solid var(--line);font-size:12px}.round-header b{font-size:14px;font-variant-numeric:tabular-nums}.round-progress{gap:5px}.round-progress>span{width:17px;height:4px}.round-progress>.done{height:12px}.session-score{font-size:15px}.session-score small{font-size:11px}.round-content{padding:18px 0 0}.challenge-title{max-width:660px;min-height:58px;margin:auto}.challenge-title .eyebrow{display:none}.challenge-title h2{font-size:24px;line-height:1.45;letter-spacing:-.6px;margin:0 0 6px;font-weight:650}.challenge-title h2 em{background:transparent;color:inherit;padding:0;font-variant-numeric:tabular-nums}.challenge-title p{font-size:13px;line-height:1.5;min-height:20px}.game-page .game-stage{margin:16px auto;border-radius:10px;border-width:0;box-shadow:none}.game-controls,.replay-controls{max-width:520px;margin:14px auto 0}.game-page .button{min-height:48px;font-size:14px;border-radius:6px;padding:10px 18px}.game-controls>.wide{min-height:50px}.game-page .control-hint{display:none;font-size:12px;line-height:1.5;margin-top:9px}.game-page .game-controls:has(:focus-visible) .control-hint{display:block}.game-meta{padding:16px 0 8px;font-size:12px;gap:10px}.rules{margin-top:2px}.rules summary{font-size:12px;min-height:42px}.rules>div{font-size:13px;line-height:1.7;max-width:680px}.game-page .notice{max-width:520px;margin:12px auto;font-size:13px}.game-page .fill-stage{height:clamp(210px,calc(100svh - 390px),310px);max-width:560px}.game-page .fill-stage>svg{height:100%;max-width:360px}.game-page .visual-stage{padding:12px;width:min(100%,calc((100svh - 385px)*1.333));max-width:480px;min-width:240px}.game-page .visual-stage>svg{max-width:none}.game-page .audio-bar{padding:4px 0 0;margin:0;height:30px;gap:10px}.audio-bar .text-button{min-height:28px;padding:2px 4px;font-size:12px}.game-page .rhythm-stage{height:clamp(180px,calc(100svh - 430px),270px);max-width:560px}.orbit-one{width:200px;height:200px}.orbit-two{width:154px;height:154px}.rhythm-center{width:108px;height:108px}.game-page .tap-pad{min-height:56px;font-size:17px}.game-page .positions-stage,.game-page .trace-stage,.game-page .change-stage,.game-page .estimate-stage,.game-page .trajectory-stage,.game-page .ricochet-stage{width:min(100%,calc((100svh - 405px)*1.333));max-width:520px;min-width:240px}.game-page .brake-stage{width:min(100%,calc((100svh - 405px)*1.416));max-width:560px;min-width:240px}.game-page .stopwatch-stage{height:clamp(180px,calc(100svh - 390px),280px);background:transparent;border:0}.game-page .stopwatch-face{background:var(--surface);color:var(--ink);border-color:var(--line);width:180px;height:180px}.game-page .stopwatch-face>span{font-size:52px;letter-spacing:-2px;font-weight:500}.game-page .stopwatch-face>small{color:var(--muted);font-size:12px}.game-page .gradient-stage{max-width:680px;padding:16px 8px;background:var(--surface);border:1px solid var(--line)}.gradient-strip{gap:6px}.gradient-card{min-height:148px;border:0;border-radius:5px}.gradient-anchor{min-height:138px;border:0;border-radius:5px}.gradient-card.picked{box-shadow:0 8px 14px #0002;transform:translateY(-6px)}.gradient-scroll{padding:12px 4px 14px}.gradient-scroll-hint{font-size:12px;margin:8px 0 0}.gradient-solution{margin-top:14px}.game-page .estimate-form{max-width:440px;margin:12px auto 0}.game-page .estimate-answer-stage{width:100%;min-width:0;max-width:440px;aspect-ratio:auto;height:110px}.estimate-form>label{font-size:12px}.estimate-input{gap:8px;margin:6px 0 12px}.estimate-input input{background:var(--surface);color:var(--ink);border-color:var(--line);min-height:48px}.game-page .positions-actions{justify-content:flex-end;gap:4px;margin-bottom:6px}.game-page .positions-actions>.button{flex:0 1 auto;min-height:36px;border:0;font-size:12px;padding:6px 10px;background:transparent;color:var(--muted)}.game-page .positions-actions>.button:hover{color:var(--ink);background:var(--hover)}.positions-actions>.button:disabled{opacity:.4;cursor:default}.game-page .trace-submit{margin-top:4px}.game-page .trace-stage+.game-controls>.secondary{min-height:36px;width:auto;display:flex;margin-left:auto;font-size:12px;border:0;color:var(--muted)}.game-page .ricochet-power{font-size:12px;margin-bottom:10px;gap:12px}.ricochet-power>[role=meter]{background:var(--line);height:4px}.ricochet-power i{background:var(--ink)}.game-page .replay-controls{gap:6px;margin-bottom:12px}.game-page .replay-controls .button{font-size:12px;min-height:38px;background:transparent}.game-page .timelines{padding:20px 28px 8px}.game-page .timeline-legend{font-size:11px}.game-page .change-compare{margin:12px 0;gap:18px}.game-page .change-compare svg{background:var(--surface);fill:var(--ink)}.game-page .positions-stage,.game-page .trace-stage,.game-page .change-stage,.game-page .estimate-stage,.game-page .trajectory-stage,.game-page .brake-stage,.game-page .ricochet-stage{background:var(--surface);color:var(--ink)}.game-page .positions-mask,.game-page .trace-mask,.game-page .change-mask,.game-page .exposure-mask{background:var(--subtle)}.game-page :is(.position-target,.change-object,.trace-start,.trajectory-ball,.brake-car,.ricochet-ball){fill:var(--ink)}.game-page .position-target.revealed{fill:none;stroke:var(--detail)}.game-page .position-answer{fill:var(--ink);stroke:var(--surface)}.game-page .position-answer.selected{stroke:var(--focus)}.game-page :is(.position-match,.position-cursor,.trace-cursor,.trajectory-route,.brake-divider){stroke:var(--muted)}.game-page :is(.positions-placeholder,.change-placeholder,.estimate-placeholder){color:var(--muted);fill:var(--muted)}.game-page .estimate-placeholder svg{fill:var(--muted)}.game-page .trace-original{stroke:var(--ink)}.game-page .trace-original.revealed{stroke:var(--detail)}.game-page .trace-answer{stroke:var(--ink)}.game-page .trace-start{stroke:var(--surface)}.game-page :is(.change-before,.change-reveal-ring){stroke:var(--detail)}.game-page .change-object:focus-visible>.change-shape{stroke:var(--focus)}.game-page .trajectory-cover{stroke:var(--subtle)}.game-page .trajectory-hidden-route{stroke:var(--muted)}.game-page .trajectory-goal{fill:var(--surface);stroke:var(--ink)}.game-page .trajectory-gate{fill:var(--muted)}.game-page :is(.trajectory-label,.brake-label,.ricochet-label){fill:var(--muted);font-size:11px}.game-page :is(.brake-road,.brake-stop){stroke:var(--ink)}.game-page .brake-target{stroke:var(--detail)}.game-page .brake-car circle{fill:var(--ink);stroke:var(--surface)}.game-page .brake-front{stroke:var(--surface)}.game-page .ricochet-boundary{stroke:var(--line)}.game-page .ricochet-wall{stroke:var(--ink)}.game-page .ricochet-target{fill:var(--subtle);stroke:var(--detail)}.game-page .ricochet-ball{stroke:var(--surface)}.game-page .ricochet-aim{stroke:var(--ink)}.game-page .ricochet-arrow{fill:var(--ink)}.game-page .ricochet-trail{stroke:var(--muted)}.site-footer{border:0;font-size:11px;min-height:54px}.records-best{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);padding-bottom:0}.records-best>div{padding:12px 8px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px}.records-best span{font-size:12px}.records-best strong{font-size:20px;margin:0;white-space:nowrap}@media(max-width:760px){.header-inner{height:58px}.page-width{width:calc(100% - 32px)}.game-page{padding-top:12px;padding-bottom:18px}.game-heading{min-height:38px;margin-bottom:12px;gap:7px}.game-heading h1{font-size:20px;white-space:normal}.game-back{width:26px;height:36px}.game-back svg{width:18px}.mode-tabs{flex-shrink:0}.mode-tabs button{font-size:11px;min-height:36px;padding:7px 8px;gap:3px}.mode-tabs svg{width:12px;height:12px}.round-header{height:30px;font-size:11px}.round-header b{font-size:13px}.round-progress>span{width:14px}.session-score{font-size:14px}.round-content{padding-top:14px}.challenge-title{min-height:55px}.challenge-title h2{font-size:21px;margin-bottom:5px;line-height:1.4}.challenge-title p{font-size:12px;line-height:1.5}.game-page .game-stage{margin:12px auto}.game-controls{margin-top:12px}.game-page .button{font-size:13px;min-height:46px}.game-controls>.wide{min-height:48px}.game-page .fill-stage{height:clamp(190px,calc(100svh - 330px),285px)}.game-page .visual-stage{width:min(100%,calc((100svh - 355px)*1.333));padding:10px}.game-page .positions-stage,.game-page .trace-stage,.game-page .change-stage,.game-page .estimate-stage,.game-page .trajectory-stage,.game-page .ricochet-stage{width:min(100%,calc((100svh - 385px)*1.333))}.game-page .brake-stage{width:min(100%,calc((100svh - 385px)*1.416))}.game-page .rhythm-stage{height:clamp(166px,calc(100svh - 390px),250px)}.orbit-one{width:170px;height:170px}.orbit-two{width:132px;height:132px}.rhythm-center{width:96px;height:96px}.beat-dots{bottom:13px}.game-page .gradient-stage{padding:12px 4px}.gradient-strip{gap:4px}.gradient-card{min-height:128px;flex-basis:36px;width:36px}.gradient-anchor{min-height:118px;flex-basis:30px;width:30px}.gradient-scroll-hint{font-size:11px;line-height:1.5}.game-page .stopwatch-stage{height:clamp(180px,calc(100svh - 355px),260px)}.game-meta{font-size:11px;padding-top:12px}.rules summary{font-size:12px;min-height:40px}.rules>div{font-size:13px}.game-page .control-hint{font-size:11px}.game-page .positions-actions>.button{min-height:34px;font-size:12px;padding:6px 9px}}@media(max-width:370px){.game-heading h1{font-size:19px}.mode-tabs button{padding-inline:6px;font-size:10px}.game-heading{flex-wrap:nowrap}.mode-tabs{margin-left:0}}.round-content[data-answer-reveal=fresh] .game-stage{animation:answer-stage-bloom .85s ease-out}@keyframes answer-stage-bloom{0%,to{box-shadow:0 0 0 0 transparent}35%{box-shadow:0 0 0 4px color-mix(in srgb,var(--detail) 14%,transparent)}}.round-content[data-answer-reveal=fresh] :is(.answer-line,.answer-outline,.fill-answer-reference,.position-target.revealed,.change-before,.change-reveal-ring,.brake-stop){animation:answer-reference-in .36s ease-out var(--answer-reference-at,25ms) both}@keyframes answer-reference-in{0%{opacity:0}to{opacity:1}}.round-content[data-answer-reveal=fresh] :is(.position-match,.trajectory-error-line,.ricochet-trail,.trajectory-player-marker,.change-compare,.trajectory-legend){animation:answer-reference-in .32s ease-out var(--answer-compare-at,225ms) both}.round-content[data-answer-reveal=fresh] :is(.result-pair,.error-detail){animation:answer-detail-in .3s ease-out var(--answer-compare-at,225ms) both}@keyframes answer-detail-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.round-content[data-answer-reveal=fresh] .trace-original.revealed{animation:answer-trace-in .5s cubic-bezier(.2,.7,.25,1) var(--answer-reference-at,25ms) both}@keyframes answer-trace-in{0%{opacity:0;clip-path:inset(-8% 108% -8% -8%)}to{opacity:1;clip-path:inset(-8% -8% -8% -8%)}}.round-content[data-answer-reveal=fresh] .gradient-solution{transform-origin:center top;animation:answer-strip-in .45s cubic-bezier(.2,.7,.25,1) var(--answer-reference-at,25ms) both}@keyframes answer-strip-in{0%{opacity:0;transform:scaleY(.55) translateY(-5px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.round-content[data-answer-reveal=fresh] .estimate-dots circle{transform-box:fill-box;transform-origin:center;animation:answer-dot-in .3s cubic-bezier(.2,.7,.25,1) calc(var(--answer-reference-at,25ms) + var(--answer-order,0)*18ms) both}@keyframes answer-dot-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.round-content[data-answer-reveal=fresh] .stopwatch-face>span{animation:answer-detail-in .4s ease-out var(--answer-reference-at,25ms) both}.round-content[data-answer-reveal=fresh] .timeline{animation:answer-detail-in .35s ease-out var(--answer-reference-at,25ms) both}.round-content[data-answer-reveal=fresh] .timeline:nth-child(2){animation-delay:var(--answer-compare-at,225ms)}.round-score{position:relative;isolation:isolate}.score-landing{position:absolute;width:100px;height:100px;left:28px;top:50%;margin:-50px 0 0 -50px;pointer-events:none;z-index:-1;fill:none;stroke:var(--detail);stroke-width:1.25;opacity:0;animation:answer-score-ring .48s ease-out var(--answer-land-at,.68s)}.score-landing>path{stroke-linecap:round}@keyframes answer-score-ring{0%{opacity:0;transform:scale(.55)}22%{opacity:.4}to{opacity:0;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.round-content[data-answer-reveal=fresh] .game-stage,.round-content[data-answer-reveal=fresh] .game-stage *,.round-content[data-answer-reveal=fresh] .round-result *{animation:none!important}.score-landing{display:none}}:root[data-reduce-motion=true] .round-content[data-answer-reveal=fresh] .game-stage,:root[data-reduce-motion=true] .round-content[data-answer-reveal=fresh] .game-stage *,:root[data-reduce-motion=true] .round-content[data-answer-reveal=fresh] .round-result *{animation:none!important}:root[data-reduce-motion=true] .score-landing{display:none}:root{--type-caption:12px;--type-body:14px;--type-heading:20px;--type-page:28px;--type-display:48px;--type-metric:40px;--type-cue:32px;--type-input:24px;--type-value:18px;--type-unit:14px;--weight-body:400;--weight-label:500;--weight-heading:600;font-size:var(--type-body);line-height:1.5}.header-inner .nav-link,.site-footer,.site-footer button,.mode-tabs button,.difficulty-picker button,.catalog .catalog-filters button,.game-page .button,.game-page .text-button,.game-page .positions-actions>.button,.game-page .trace-stage+.game-controls>.secondary,.game-page .replay-controls .button,.summary.session-summary .summary-actions .button,.theme-options button,.setting-row{font-size:var(--type-body);line-height:1.5;font-weight:var(--weight-label);letter-spacing:0}.game-page .button{min-height:48px;border-radius:6px}.game-page .positions-actions>.button,.game-page .replay-controls .button{min-height:40px}.game-page .tap-pad span{font-size:inherit}.mode-tabs button{min-height:40px}.difficulty-picker button{min-height:36px}.game-page .game-heading h1,.catalog .catalog-copy h2,.game-page .summary.session-summary h2,.modal h2{font-size:var(--type-heading);line-height:1.333333;font-weight:var(--weight-heading);letter-spacing:-.02em}.game-page .game-heading h1{white-space:nowrap}.game-page .challenge-title{min-height:48px}.game-page .challenge-title h2{margin:0;font-size:var(--type-value);line-height:1.5;font-weight:var(--weight-label);letter-spacing:0}.game-page .challenge-title h2:not(.numeric-target) em{font:inherit}.catalog .catalog-heading h1{font-size:var(--type-page);line-height:1.25;font-weight:var(--weight-heading);letter-spacing:-.02em}.game-page .challenge-title p,.game-page .round-feedback.round-result>p,.game-page .rules>p,.game-page .rules>div,.catalog .catalog-copy p,.summary.session-summary>p,.privacy-copy{font-size:var(--type-body);line-height:1.5;font-weight:var(--weight-body)}.game-page .challenge-title p{min-height:0;margin-top:8px}.game-page .challenge-title p:empty{display:none}.game-page .rules summary,.summary-details summary,.game-page .notice,.game-page .gradient-scroll-hint,.game-page .control-hint,.game-page .timeline>span,.game-page .timeline small,.game-page .timeline-legend,.catalog .catalog-heading p,.catalog .catalog-daily,.catalog .catalog-date,.summary.session-summary .best-pill,.summary.session-summary .text-link,.summary-details li{font-size:var(--type-body);line-height:1.5}.game-page .rules .game-meta,.summary-rounds figcaption small,.game-page .rhythm-center>small{font-size:var(--type-caption);line-height:1.5;font-weight:var(--weight-body)}.play-toolbar{display:flex;align-items:center;gap:16px;min-height:44px}.game-page .play-toolbar .difficulty-bar{padding:0;border:0;margin-left:auto;flex-shrink:0}.game-page .play-toolbar .round-header{flex:1;gap:16px;height:44px;padding:0;border:0}.game-page .round-index,.game-page .round-index b,.game-page .round-index small,.game-page .session-score,.game-page .session-score small{font-size:var(--type-body);line-height:1.5;font-weight:var(--weight-label);letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.game-page .round-index b{margin:0}.game-page .round-index small{color:var(--muted)}.game-page .round-content{padding-top:16px}.game-page .game-controls,.game-page .replay-controls,.game-page .round-feedback.round-result{max-width:560px;margin-inline:auto}.game-page .round-feedback.round-result .round-score,.game-page .summary.session-summary .total-score{font-size:var(--type-display);line-height:1;font-weight:var(--weight-label);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.game-page .challenge-title .numeric-target{display:flex;flex-direction:column;align-items:center;gap:8px}.game-page .numeric-target>span{font-size:var(--type-body);line-height:1.5;font-weight:var(--weight-body);letter-spacing:0;color:var(--muted)}.game-page .numeric-target small,.game-page .stopwatch-face>small,.game-page .rhythm-center .rhythm-count-total,.game-page .round-feedback.round-result .round-score>small,.game-page .summary.session-summary .total-score small{font-size:var(--type-unit);line-height:1;font-weight:var(--weight-body);letter-spacing:0}.game-page .numeric-target small{margin-left:4px}.game-page .rhythm-center .rhythm-count-total{color:inherit}.game-page .numeric-target em,.game-page .stopwatch-face>span{font-size:var(--type-metric);line-height:1.1;font-weight:var(--weight-label);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.game-page .rhythm-center>span{font-size:var(--type-cue);line-height:1.1;font-weight:var(--weight-label);letter-spacing:0;font-variant-numeric:tabular-nums}.game-page .estimate-form>label{font-size:var(--type-body);line-height:1.5}.game-page .estimate-input input{width:120px;min-height:48px;height:48px;padding:8px 12px;text-align:center;font-size:var(--type-input);line-height:1.25;font-weight:var(--weight-label);letter-spacing:0;font-variant-numeric:tabular-nums;background:var(--surface);color:var(--ink);border-color:var(--border-strong);color-scheme:inherit;appearance:textfield}.game-page .estimate-input input::placeholder{font-size:var(--type-body);font-weight:var(--weight-body);letter-spacing:0;color:var(--muted);opacity:1}.game-page .estimate-input input::-webkit-inner-spin-button,.game-page .estimate-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.game-page .estimate-placeholder{font-size:var(--type-cue);font-weight:var(--weight-body)}.game-page :is(.positions-placeholder,.change-placeholder){font-size:20px}.game-page .change-compare span,.game-page .trajectory-legend,.game-page .gradient-anchor>span{font-size:var(--type-caption);line-height:1.5}.game-page .track i{font-size:10px}.game-page .round-feedback.round-result .round-score{white-space:nowrap}.game-page .summary.session-summary .total-score{margin:16px 0 8px}.game-page .ricochet-power small,.game-page .round-feedback.round-result .error-detail strong,.game-page .round-feedback.round-result .result-pair b,.game-page .summary-rounds figcaption strong,.records-best .records-level-scores span{font-size:var(--type-value);line-height:1.333333;font-weight:var(--weight-label);letter-spacing:0;font-variant-numeric:tabular-nums}.game-page .round-feedback.round-result .error-detail>span,.game-page .round-feedback.round-result .error-detail small,.game-page .round-feedback.round-result .result-pair,.game-page .ricochet-power,.records-best .records-level-scores small{font-size:var(--type-body);line-height:1.5;font-weight:var(--weight-body);letter-spacing:0}.game-page .round-feedback.round-result .feedback-top{gap:16px;align-items:center}.game-page .round-feedback.round-result .result-pair{gap:24px;align-items:baseline}.game-page .round-feedback.round-result .result-pair>span{display:inline-flex;align-items:baseline;gap:8px}.game-page .round-feedback.round-result .result-pair b{margin-left:0}.game-page .ricochet-power small{min-width:64px;text-align:right}.game-page .rules{margin-top:16px}.game-page .rules .game-meta{padding:8px 0 16px;margin-bottom:8px;border-bottom:1px solid var(--line)}.game-page:has(.round-result) .fill-stage{height:clamp(160px,calc(100svh - 450px),230px)}.game-page:has(.round-result) :is(.visual-stage,.positions-stage,.trace-stage,.change-stage,.trajectory-stage,.ricochet-stage){width:min(100%,calc((100svh - 430px)*1.333));max-width:420px}@media(min-width:761px){.game-page .gradient-scroll-hint{display:none}}@media(max-width:760px){.header-inner nav{gap:12px}.game-heading{gap:8px}.mode-tabs button{padding-inline:8px}.play-toolbar,.game-page .play-toolbar .round-header{gap:8px}.game-page .round-progress{gap:4px}.game-page .round-progress>span{width:12px}.catalog .catalog-heading{flex-direction:column;gap:8px}.catalog .catalog-copy p{min-height:3em}.game-page .round-feedback.round-result .result-pair{gap:16px}}@media(max-width:350px){.game-page .game-heading{flex-wrap:wrap}.game-page .mode-tabs{width:100%;margin-left:0}}@media(max-height:700px){.game-page .fill-stage{height:clamp(185px,calc(100svh - 380px),270px)}}:root{--page:#ffffff;--ink:#161616;--muted:#747474;--line:#e8e8e8;--surface:#f5f5f5;--hover:#ededed;--button:#111111;--button-ink:#ffffff;--button-hover:#333333;--border-strong:#cccccc;--subtle:#e6e6e6;--focus:#6555e8;--detail:#555555}:root[data-theme=dark]{--page:#121212;--ink:#f5f5f5;--muted:#a6a6a6;--line:#333333;--surface:#202020;--hover:#2b2b2b;--button:#ffffff;--button-ink:#111111;--button-hover:#e6e6e6;--border-strong:#555555;--subtle:#333333;--focus:#b7aaff;--detail:#cccccc}.header-inner{max-width:1000px}.site-header{background:var(--page);border:0}.brand{letter-spacing:-.04em}.brand-icon{font-family:Arial,sans-serif;font-weight:600}.brand small{letter-spacing:.13em}.header-inner .icon-button{border:0;background:transparent;border-radius:50%}.catalog.home{max-width:1000px;padding-top:26px}.catalog .catalog-heading{margin-bottom:12px}.catalog .catalog-heading h1{font-size:18px;font-weight:500;letter-spacing:-.025em}.catalog .catalog-heading p{font-size:12px}.catalog-difficulty{margin-bottom:8px}.catalog .catalog-filters{margin-bottom:20px;gap:24px}.catalog .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog .catalog-item{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(150deg,#090909,#252621);color:#fff;box-shadow:0 12px 28px #00000015}.catalog .catalog-play{position:relative;display:flex;align-items:center;height:284px;overflow:hidden;border-radius:20px;isolation:isolate}.catalog .catalog-item:first-child{grid-column:1/-1}.catalog .catalog-item:first-child .catalog-play{height:340px}.catalog .catalog-copy{position:relative;z-index:2;width:52%;padding:28px;order:0;align-self:center}.catalog .catalog-copy h2{font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-1.1px;color:#fff}.catalog .catalog-copy p{font-size:13px;line-height:1.6;min-height:0;color:#c1c1c1;margin:14px 0 20px;max-width:240px}.catalog-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:#151515;font-size:14px;font-weight:600;margin-bottom:16px}.catalog-cta{display:inline-flex;align-items:center;gap:12px;border-radius:99px;background:#fff;color:#111;padding:11px 16px;font-size:12px;font-weight:600;white-space:nowrap}.catalog .catalog-art{position:absolute;right:8px;bottom:32px;width:48%;height:78%;max-height:330px;overflow:visible;border-radius:0;background:none;order:1;perspective:900px;color:#151515}.showcase-sheet{position:absolute;width:84%;height:88%;border-radius:20px;box-shadow:0 8px 18px #0003;transform-origin:50% 100%;overflow:hidden;transition:transform .3s ease}.sheet-back{background:var(--accent);left:0;top:10%;width:80%;transform:rotate(10deg);opacity:.35;border:1px solid #ffffff40}.sheet-front{background:var(--accent);left:0;top:10%;transform:rotate(0);display:flex;align-items:center;justify-content:center}.catalog .sheet-front .game-mark{width:100%;max-width:none;height:auto;flex-shrink:0;transform:none}.sheet-arrow{position:absolute;bottom:20px;right:18px;display:grid;place-items:center;background:#fffd;width:34px;height:34px;border-radius:50%;opacity:1!important}.catalog-daily-scores{position:relative;z-index:3;padding:12px 24px 16px;background:#171717;border-top:1px solid #ffffff1f}.catalog-daily-scores>p{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:#c1c1c1;font-size:12px}.catalog-daily-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalog-daily-score{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:6px 4px;border:1px solid #ffffff26;border-radius:10px;color:#c1c1c1;font-size:12px;text-align:center}.catalog-daily-score strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:#fff}.catalog-daily-score.is-complete strong{color:var(--accent)}.catalog-daily-score:hover{background:#ffffff0d}.catalog-daily-score:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.catalog .catalog-item:first-child .catalog-copy{padding:42px 48px;width:50%}.catalog .catalog-item:first-child .catalog-copy h2{font-size:40px}.catalog .catalog-item:first-child .catalog-art{right:20px;width:44%}.catalog .catalog-item:first-child .catalog-daily{left:48px}@media(hover:hover){.catalog-play:hover .sheet-front{transform:translateY(-6px) rotate(0)}.catalog-play:hover .game-mark{transform:none}}.game-page{max-width:720px}.game-page .button.primary,.mode-tabs button,.difficulty-picker,.difficulty-picker button{border-radius:99px}.game-page .game-stage{--surface:#111111;--ink:#f2f2f2;--muted:#a0a0a0;--subtle:#262626;--detail:#c6c6c6;--focus:#c1b5ff;--geometry-ink:#fafafa;--geometry-ref:#8d8d8d;--geometry-accent:#d5c6ff;--geometry-grip:#222;--geometry-border:#555;--answer:#d5c6ff;--water-label:#fff;--water-label-halo:#161616;--vessel:#20262a;--vessel-line:#b7c3ca;background:#111;color:#f2f2f2;border-radius:18px;box-shadow:0 8px 20px #00000012}.game-page .stopwatch-face{background:#111;color:var(--ink);border-color:#555}.game-page .stopwatch-face>small{color:#aaa}.game-page .gradient-stage{background:#111;border-color:#333}.game-page .gradient-scroll-hint{color:var(--muted)}.game-page .timelines{border-radius:16px}.game-page .rules{border-color:var(--line)}@media(max-width:760px){.catalog.home{padding-top:18px}.catalog .catalog-heading h1{font-size:18px}.catalog .catalog-heading{flex-direction:row;align-items:center}.catalog .catalog-heading p{font-size:11px}.catalog .catalog-grid{grid-template-columns:1fr;gap:18px}.catalog .catalog-item:first-child{grid-column:auto}.catalog .catalog-play,.catalog .catalog-item:first-child .catalog-play{height:258px}.catalog .catalog-copy,.catalog .catalog-item:first-child .catalog-copy{padding:24px;width:56%}.catalog .catalog-copy h2,.catalog .catalog-item:first-child .catalog-copy h2{font-size:26px;line-height:1.25;letter-spacing:-.8px}.catalog .catalog-copy p{font-size:12px;margin:12px 0 16px;max-width:150px}.catalog-symbol{width:30px;height:30px;font-size:11px;margin-bottom:12px;border-radius:10px}.catalog .catalog-art,.catalog .catalog-item:first-child .catalog-art{width:48%;height:76%;right:0;bottom:32px}.showcase-sheet{border-radius:14px}.catalog .catalog-daily,.catalog .catalog-item:first-child .catalog-daily{left:24px;bottom:6px}.catalog-cta{padding:9px 13px;font-size:11px;gap:8px}.game-page{max-width:600px}}@media(prefers-reduced-motion:reduce){.showcase-sheet{transition:none}}:root[data-reduce-motion=true] .showcase-sheet{transition:none}.records-view{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:99px;background:var(--surface);margin:0 0 16px}.records-view>button{flex:1;min-width:0;min-height:44px;padding:9px 14px;border-radius:99px;background:transparent;color:var(--muted);font-size:14px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.records-view>button[aria-pressed=true]{background:var(--button);color:var(--button-ink)}.records-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--muted)}.records-date-filter{margin-bottom:16px;min-width:0}.records-date-filter>label{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.records-date-controls{display:flex;align-items:center;gap:8px;min-width:0}.records-date-controls>input{flex:1;width:0;min-width:0;min-height:44px;border:1px solid var(--border-strong);border-radius:8px;padding:8px;color:var(--ink);background:var(--surface);font:inherit;color-scheme:inherit}.records-date-controls>button{flex-shrink:0;min-height:44px;min-width:44px;font-size:14px}.records-date-controls>button:disabled{opacity:.4;cursor:default}.records-browser button:focus-visible,.records-date-controls>input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.records-empty{font-size:14px;line-height:1.5;color:var(--muted);padding:12px 0;margin:0}.records-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:14px;line-height:1.5}.records-load-error>p{min-width:0;margin:0;overflow-wrap:anywhere}.records-load-error>button{min-height:44px;flex-shrink:0}.site-header .records-trigger{min-width:36px;min-height:44px;justify-content:center}.site-header .records-trigger>svg{display:block}.modal .records-best{grid-template-columns:minmax(0,1fr)}.modal .records-best>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 16px;padding:14px 0;min-width:0}.modal .records-best>div>span{margin:0;white-space:normal;overflow-wrap:anywhere}.modal .records-best .records-level-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;min-width:0}.modal .records-level-scores>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-variant-numeric:tabular-nums}.modal .records-level-scores small{margin:0}.modal .history-list>div{gap:12px}.modal .history-list>div>span{min-width:0;overflow-wrap:anywhere}.modal .history-list strong{flex-shrink:0;white-space:nowrap}@media(max-width:480px){.modal .records-best>div{grid-template-columns:minmax(0,1fr)}}.language-setting select{font:inherit;min-width:0;max-width:65%;padding:.55rem .7rem;border:1px solid var(--line,#a9b2a5);border-radius:10px;background:var(--surface,#fff);color:inherit}.language-setting p{font-size:.85rem;margin:.4rem 0}.modal{overflow-wrap:anywhere}.setting-row{gap:12px}.theme-options{flex-wrap:wrap}.difficulty-picker button,.mode-tabs button{white-space:normal}.mode-tabs{flex-wrap:wrap}.round-snapshot,.game-stage,.gradient-scroll,.rhythm-stage,.estimate-input,.round-progress{direction:ltr}.game-stage text{unicode-bidi:plaintext}html[dir=rtl] .game-back svg,html[dir=rtl] .summary-actions svg,html[dir=rtl] .round-result>.button svg{transform:scaleX(-1)}html[dir=rtl] .game-heading h1,html[dir=rtl] .rules,html[dir=rtl] .modal{text-align:start}html[dir=rtl] .game-heading h1{margin-right:0;margin-inline-end:auto}html[dir=rtl] .modal-close{right:auto;left:20px}.brand small{direction:ltr;unicode-bidi:isolate}.game-page .game-heading{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px}.game-page .game-heading h1{white-space:normal;overflow-wrap:anywhere;margin:0}.game-page .mode-tabs{min-width:0;margin:0;max-width:100%}.mode-tabs button{min-width:0;overflow-wrap:anywhere}.play-toolbar{flex-wrap:wrap}.game-page .play-toolbar .round-header{flex:1 1 160px;min-width:min-content;height:auto;min-height:44px}.game-page .play-toolbar .difficulty-bar{min-width:0;max-width:100%;margin-left:0;margin-inline-start:auto}.difficulty-picker{width:max-content;min-width:0;max-width:100%;flex-shrink:1}.difficulty-picker button{min-width:0;overflow-wrap:normal;flex:1 1 auto}.catalog .catalog-play,.catalog .catalog-item:first-child .catalog-play{height:auto;min-height:284px}.catalog .catalog-copy{min-width:0;overflow-wrap:anywhere}.catalog .catalog-cta{white-space:normal;overflow-wrap:anywhere}.game-page .result-pair,.game-page .result-pair>span{flex-wrap:wrap}.game-page .feedback-top>*{min-width:0;overflow-wrap:anywhere}.modal .records-best>div>span{white-space:normal;overflow-wrap:anywhere}.account-board-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.account-board-filters label{min-width:0}.modal .account-board-difficulty .difficulty-picker button{flex:1 1 auto}.site-footer{flex-wrap:wrap;gap:12px}.session-score,.round-score,.total-score,.round-index,.records-level-scores,.daily-strip b,.site-footer small,.brand-icon{direction:ltr;unicode-bidi:isolate}@media(max-width:760px){.game-page .game-heading{grid-template-columns:36px minmax(0,1fr);row-gap:8px}.game-page .mode-tabs{grid-column:1/-1;display:flex;flex-wrap:nowrap;width:100%}.game-page .mode-tabs button{flex:1 1 0;min-height:40px}.catalog .catalog-play,.catalog .catalog-item:first-child .catalog-play{min-height:258px}.header-inner nav{gap:4px}.header-inner .icon-button{flex-shrink:0}}@media(max-width:600px){.game-heading{gap:8px}.game-heading h1{min-width:0;overflow-wrap:anywhere}.mode-tabs{max-width:100%}.mode-tabs button{padding-inline:10px}.theme-options button{padding-inline:9px}.button{white-space:normal}.catalog-copy h2{overflow-wrap:anywhere}}@media(max-width:760px)and (max-height:700px){.game-page .fill-stage{height:clamp(150px,calc(100svh - 450px),220px)}.game-page :is(.positions-stage,.trace-stage,.change-stage,.estimate-stage,.trajectory-stage,.ricochet-stage){width:min(100%,calc((100svh - 455px)*1.333))}.game-page .brake-stage{width:min(100%,calc((100svh - 455px)*1.416))}.game-page .stopwatch-stage{height:clamp(150px,calc(100svh - 425px),220px)}.game-page.theme-rhythm .rhythm-stage{height:250px}.game-page.theme-rhythm .rhythm-stage .rhythm-center{width:104px;height:104px}}
