*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Neucha;src:url(data:font/woff2;base64,d09GMgABAAAAAAUwAAwAAAAACEgAAAThAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxAGYAA0EQgKiGSHOQE2AiQDLAsYAAQgBYMKByAbtAZRlAxOD+JnQTnmmmLsV/uvMldsl1uuiqhNGJshGFWUx/z/r03v+zODx8UgFXdoHXLSVcR2NRXmTKq2U+FgXptLvTjowQSgD1CqX+On9FN57+8WcF4lO6nm3unNnwHw85fT3jX1rKXTQk/kXvv1WvtHRYfZGnTAJxTgoDXBCiSwjAPzdOoSZzaNT7VAYVy+AQRABQ2sAQAAR2aqggCwm6wFwHq6kd4jgQAwCLL4cvAACADfs5gpmHAO/18Qxx0jIVmbqdmdE1MZH+DIcTFRmYAv8EA9aRYLgFgL3HcJRG5mBqsJOKu2QGjqzPyTZXgqGOiVYWM7B2bj4B8S7S8Pc7ZRuWg0q2vQsSVJVyriM/z05juV0XPDkaGxtq62Oxa9eH83ySTBFYq0GROUyIBCA685NbpRuo1oO8goMr19m8jvV2IsQX3t756rDB1wN4adZLghM97ZKWCS2nQPsszIhx600JGHPjm0bygiAyoYqO1B/cjenqN34+XBxbuod0yUQE+g115gn4h0GkErbD26DSojejNfDxla4CNdaVFvP9fBkU29Eu+J/lBkLyjMjYMlMLnu0LHfqjKKm63i23SMSZJ086bQKJ1ltYNCA4Zac5Z439JQV5u9NhTV4rBXJXa+F55FwwN5rD+xLzY+axyOzMgSPe/MqCBJy4xxmG5JZRwRpAaVjuj+nKbV0d5OoUogTdmYJsRVyIvZIDFkY90sJfqGL1R7vXMqrqnUa/UUT7xSZwnSenfnxhUataPNY8G9pJkGlPGspEwCHpGcJuQi2/nxv7nWHd5pPgmxSUusRl+o8fsaX56qB5BQiNM2gTlQKeQaX52bo5NdsHxOUSQameBgQ2N3yQ2fG2ph4OtoqS2YYhqqbebjJ0/LwhqM5+4KfNOjTKg3M6dp2StbhET500RJZzkMitE0kN+MdeZbnP53xvPdd8Yq5xB3VSXTpsMak03sLZOs40GXf29SHUJkomhltUfkqIQd7/TeaURe1jNcSGUq+SaWsYU+g3FEqcHTacorQqjwzHVdNxlaLo6R5AytsZ7pknWRvbnQ6KrNXzDS01kD3LSWNxbKqmtYeqsrm1gasfmqfP9gGoDMuhbzrKH0PsWHUaKDC8IcYlvma4P8rc1iItxUCJpsAxBTORtjjRCl+4+26jYS0obaKk6W8cpsMsw19lgkr3KmbHslqpf16ss90MBrcffKlOCg8JuH1ZrxSVlpdeoeAaGeftG+QerK1lmdWvNOH6WWOaipWTvogb0ZlVJqlq5q2fl8UZWsnI6pkhYoKJSW1rIF8f/f+4gOdQtqY1oWaAP9rM37kf0RM7t6qBJq1TCpRMDwfg4SZZfehlFnflOwK+QBAFedD8XRs8esLRP/H3gJTgSgAEuM/k3yfK3AZtnXAQr8MjUDwGQIowkItQHUB9ARgA4CdA1h1Gr5ob9hdAY+QAGoMY1GEVGOmeuUAmNxEK8EoIfpIWig9zBYo8XDIRVfLS/zCPDGTysLvdIaifgXxEmbubZTABjoLABdKFAwgGhQZzwC0FrAIa7UKHKpJzN0Q/S9IQEwDwIozbmDTAqmqEwxXaha6k5y4MO0Sx0122bRhOncga5Em/zZQuRughKSlBYkUGwGV2AyhQyZ9SY5mUUJiRRQisdmW8Z1c8IBhLIcQAIAAAA=) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0030-0039}@font-face{font-family:OP Signs;src:url(/assets/op-signs-C53kk9bm.woff2) format("woff2");font-style:normal;font-weight:400;font-display:block}:root{--bg: #f8f9fc;--surface: #ffffff;--surface-hover: #f0f2f8;--text: #1a1a2e;--text-dim: #6b7280;--accent: #6366f1;--accent-hover: #4f46e5;--accent-text: #ffffff;--success: #15803d;--warning: #b45309;--error: #c62828;--border: #e5e7eb;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--font: "Neucha", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", monospace;--type-meta: 13px;--type-detail: 15px;--type-control: 15px;--type-body: 16px;--type-item: 16px;--type-section: 20px;--type-panel: 24px;--type-page: 24px;--type-board-title: 20px;--type-readout: 30px;--type-readout-floor: 22px;--type-wordmark: 20px;--board-paper: #f8f6f0;--board-max: 520px;--board-cell-max: 110px;--preview-ground: #f5f7fb;--gold: #b98416;--gold-text: #8a6210;--font-sign: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-badge: "OP Signs", system-ui, sans-serif;--cat-math: #6366f1;--cat-logic: #8b5cf6;--cat-spatial: #ec4899;--cat-language: #14b8a6;--cat-coding: #f97316;--cat-science: #22c55e;--cat-music: #e11d48}@media(min-width:700px)and (min-height:640px){:root{--type-page: 28px;--type-board-title: 24px;--type-readout: 36px}}button,input,select,textarea{font-family:inherit}html,body{height:100%;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;overflow:hidden;touch-action:pan-x pan-y}*{touch-action:pan-x pan-y}html{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,select{user-select:text;-webkit-user-select:text}.about-version,.settings-update-status{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.settings-buttons{display:flex;flex-direction:column;gap:10px}.settings-buttons .about-btn{width:100%}.settings-update{display:flex;flex-direction:column;gap:6px}.about-page p.settings-update-status{margin:0;font-size:var(--type-detail);line-height:1.3;text-align:center;overflow-wrap:anywhere}.about-page p.settings-update-status:empty{display:none}.settings-update-btn{position:relative;overflow:hidden;isolation:isolate}.settings-update-fill{position:absolute;top:0;bottom:0;left:0;width:0;z-index:-1;background:var(--accent);opacity:.22;transition:width .2s linear}.about-btn.settings-update-btn:disabled{color:var(--text)}.settings-update-label{font-variant-numeric:tabular-nums}.settings-buttons .about-erase{margin:0}.settings-buttons .about-erase-row .about-btn{width:auto;flex:1 1 0}.about-page p.about-version{margin:18px 0 0;font-size:var(--type-meta);text-align:center}.settings-dock{display:flex;justify-content:flex-end;margin-top:16px}#app{height:100%;display:flex;flex-direction:column}.home-content{--home-width: 1100px;--home-accent: var(--accent-hover);touch-action:pan-y;overscroll-behavior-x:contain}.home-masthead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;width:100%;max-width:var(--home-width);margin:0 auto;padding:14px 16px 0;user-select:none;-webkit-user-select:none}.home-wordmark{margin:0;font-size:var(--type-wordmark);font-weight:700;line-height:1.1}.home-wordmark-btn{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 7px;margin:0 -7px;font:inherit;color:inherit;white-space:nowrap;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer}@media(hover:hover){.home-wordmark-btn:hover{background:var(--surface-hover)}}.home-wordmark-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-mark{display:block;flex:none;width:34px;height:34px}.home-tagline{margin:0;padding-top:3px;font-size:var(--type-detail);line-height:1.3;color:var(--text-dim)}.home-nav{display:flex;align-items:center;margin-right:-6px}.masthead-link{font-size:var(--type-detail);font-family:var(--font);color:var(--text-dim);text-decoration:none;padding:4px 8px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer}@media(hover:hover){.masthead-link:hover{background:var(--surface-hover);color:var(--text)}}.home-nav .masthead-link{padding:12px 6px;color:#4b5563;white-space:nowrap}.home-nav .masthead-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}@media(max-width:640px){.home-masthead{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:8px}.home-tagline{display:none}.home-nav{margin-left:-6px}.home-wordmark-btn{gap:8px}.home-mark{width:30px;height:30px}}.home-footer{padding:0 16px 24px;text-align:center}.header-timer{font-size:var(--type-meta);font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap}.page-heading{margin:10px 16px 2px;text-align:center;font-size:var(--type-page);font-weight:400;line-height:1.2;letter-spacing:-.005em}@media(orientation:portrait){.content-under-nav{padding-top:46px}}.page-head{position:relative}.page-teachers{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:12px 10px;font-size:var(--type-detail);line-height:1.2;color:var(--text-dim);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.page-teachers:hover{color:var(--text)}@media(orientation:portrait){.page-teachers{top:auto;bottom:100%;transform:none}}.corner-nav{position:fixed;top:calc(6px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px));z-index:60;display:flex;flex-direction:row;align-items:center;gap:4px}@media(orientation:landscape){.corner-nav{flex-direction:column}}.corner-nav-btn{width:44px;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:2px solid #c3c8d2;border-radius:50%;background:var(--surface);color:var(--text-dim);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,color .15s,transform .12s}@media(hover:hover){.corner-nav-btn:hover{border-color:var(--accent);color:var(--text)}}.corner-nav-btn:active{transform:scale(.92)}.corner-nav-btn:focus{outline:none}.corner-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.corner-nav-icon{display:block;width:21px;height:21px}.corner-nav-icon svg{display:block;width:100%;height:100%}.corner-nav-back{--cn-size: 56px;width:var(--cn-size);height:var(--cn-size);border-color:#4338ca;background:var(--accent);color:#fff}.corner-nav-back .corner-nav-icon{width:calc(var(--cn-size) * .46);height:calc(var(--cn-size) * .46)}@media(hover:hover){.corner-nav-back:hover{border-color:#4338ca;color:#fff;filter:brightness(1.07)}}@media(min-width:700px)and (min-height:640px){.corner-nav-back{--cn-size: 64px}}.own-gallery-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:var(--type-control);font-weight:500;font-family:var(--font);text-decoration:none;cursor:pointer;transition:all .15s}.own-gallery-btn:hover{color:var(--text);border-color:var(--text-dim)}.own-gallery-btn .corner-nav-icon{width:15px;height:15px}.rules-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.rules-card>.submit-btn{display:block;margin-left:auto;margin-right:auto}.rules-card:focus,.celebration-card:focus{outline:none}.rules-card{background:var(--surface);border-radius:var(--radius-lg, 12px);padding:24px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.about-page{width:100%;line-height:1.5;color:var(--text)}.about-page h2{margin-bottom:16px;font-size:var(--type-panel);font-weight:400;line-height:1.2}.about-page h3{margin:22px 0 8px;font-size:var(--type-item);font-weight:600;line-height:1.25}.about-page p{margin:0 0 12px;font-size:var(--type-body);color:var(--text-dim)}.about-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--type-control);font-weight:600;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.about-btn:hover{background:var(--surface-hover)}.about-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.about-erase{margin:4px 0 22px}.about-erase-btn{color:var(--error)}.about-erase-btn:hover{border-color:var(--error);background:var(--surface-hover)}.about-erase-row{display:flex;flex-wrap:wrap;gap:10px}.about-erase-go{background:var(--error);border-color:var(--error);color:#fff}.about-erase-go:hover{background:#a71d1d;border-color:#a71d1d}.about-erase-keep:hover{border-color:var(--text-dim)}.about-page p.about-erase-confirm{color:var(--text);font-weight:600}.about-pick{margin:0 0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;max-height:46vh;overflow-y:auto}.about-pick-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 14px;cursor:pointer;border-top:1px solid var(--border)}.about-pick-row:first-child{border-top:none}.about-pick-row:hover{background:var(--surface-hover)}.about-pick-every{border-bottom:2px solid var(--border);font-weight:700}.about-pick-box{flex:none;width:18px;height:18px;accent-color:var(--error);cursor:pointer}.about-pick-name{flex:1;min-width:0;font-size:var(--type-body);color:var(--text)}.about-pick-note{flex:none;font-size:var(--type-meta);color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.about-btn:disabled,.about-btn:disabled:hover{background:var(--surface);border-color:var(--border);color:var(--text-dim);cursor:default}.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.home-title{font-size:var(--type-page);font-weight:400;line-height:1.2;padding:24px 16px 8px}.home-subtitle{font-size:var(--type-body);color:var(--text-dim);padding:0 16px 16px}.preview-face{position:relative;display:block;flex:0 0 auto;min-width:0;width:100%}.preview-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;background:var(--preview-ground);opacity:0;transition:opacity .26s ease;pointer-events:none}.preview-art>svg{display:block;width:100%;height:100%}.preview-art.is-shown{opacity:1}.preview-art.is-paused *{animation-play-state:paused!important}.preview-face .preview-drawn{object-fit:contain;object-position:center;background:var(--preview-ground)}:root{--shelf-dur: .38s;--shelf-ease: cubic-bezier(.33, 1, .68, 1)}@media(prefers-reduced-motion:reduce){:root{--shelf-dur: .15s}}.home-public{width:100%;max-width:var(--home-width);margin:0 auto}.subject-tabs-section{position:sticky;top:0;z-index:5;margin-top:8px;padding:12px 16px 8px;background:var(--bg)}.subject-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:3px;background:var(--surface-hover);border:1px solid var(--border);border-radius:14px}.subject-tab{min-width:0;height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 6px;border:none;border-radius:11px;background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.subject-tab-sign{font-family:var(--font-badge);font-size:29px;font-weight:400;font-synthesis:none;line-height:1;white-space:nowrap;color:var(--home-accent)}.subject-tab-word{min-width:0;font-size:var(--type-control);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){.subject-tab:not(.subject-tab-active):hover{background:var(--surface)}}.subject-tab-active{background:var(--home-accent);color:#fff;box-shadow:0 1px 3px #00000024;cursor:default}.subject-tab-active .subject-tab-sign{color:#fff}.subject-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.subject-tabs-caption{display:none;margin-top:7px;text-align:center;font-size:var(--type-control);font-weight:600;line-height:1.25;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-tabs-nudge{animation:strip-nudge calc(var(--shelf-dur) * .55) var(--shelf-ease) both}@keyframes strip-nudge{0%{transform:translate(0)}45%{transform:translate(calc(var(--nudge-dir, 1) * -7px))}to{transform:translate(0)}}.home-board-section{padding:12px 16px 40px}.home-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:22px 16px}.home-list:empty{display:none}.home-also{display:flex;align-items:center;gap:12px;margin:30px 0 22px;font-size:var(--type-control);font-weight:600;line-height:1.25;color:var(--text-dim)}.home-list:empty+.home-also{margin-top:0}.home-also[hidden]{display:none}.home-also-words{flex:none;white-space:nowrap}.home-also-sign{margin:0 1px;font-family:var(--font-badge);font-size:20px;font-weight:400;font-synthesis:none;color:var(--home-accent)}.home-also-rule{flex:1 1 auto;height:1px;background:var(--border)}.home-empty{margin:0;padding:28px 12px;border:2px dashed var(--border);text-align:center;font-size:var(--type-body);color:var(--text-dim)}.home-empty[hidden]{display:none}.home-tile{min-width:0;display:flex;flex-direction:column;color:inherit;text-decoration:none;container-type:inline-size;box-shadow:0 0 0 1px var(--border);transition:box-shadow .15s;--home-tile-tint: color-mix(in srgb, var(--home-accent) 13%, var(--surface))}@media(hover:hover){.home-tile:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--home-accent) 30%,var(--surface))}}.home-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-tile-face{position:relative;aspect-ratio:1;overflow:hidden;background:var(--preview-ground)}.home-tile-bar{position:relative;flex:1 0 auto;min-height:50px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 9px 8px 10px;background:var(--home-tile-tint)}.home-tile-face .preview-face{height:100%}.home-tile-img{display:block;width:100%;height:100%;object-fit:cover;background:var(--preview-ground)}.home-tile-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:56px}.home-tile-name{flex:1 1 0;min-width:min-content;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:var(--type-item);font-weight:600;line-height:1.25;color:color-mix(in srgb,var(--home-accent) 30%,var(--text))}.home-tile-line{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-tile-badges{flex:none;display:flex;gap:3px;margin-left:auto}.home-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:22px;border-radius:5px;background:var(--surface);color:var(--home-accent);font-family:var(--font-badge);font-size:16px;font-weight:400;font-synthesis:none;line-height:1;white-space:nowrap}.home-badge-subject{width:34px}.home-badge-mark{width:26px}@container (max-width: 189px){.home-tile-name{flex-basis:100%}.home-tile-badges{margin-left:0}}.home-tile-done{margin-left:6px;font-size:var(--type-meta);font-weight:400;color:var(--gold-text);white-space:nowrap}.home-tile-published{margin-left:5px;font-size:14px;color:var(--gold)}.home-tile-flavor{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin-left:4px;vertical-align:1px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-dim);font-family:var(--font-sign);font-size:12px;line-height:1}.home-stage{position:relative}.home-stage-swapping{overflow:clip;overflow-clip-margin:14px}.home-stage-sizing{transition:height var(--shelf-dur) var(--shelf-ease)}.home-moving{transition:transform var(--shelf-dur) var(--shelf-ease);will-change:transform}.home-arriving{opacity:0;transform:scale(.95)}.home-arriving.is-in{opacity:1;transform:none;transition:opacity calc(var(--shelf-dur) * .6) linear calc(var(--shelf-dur) * .25),transform var(--shelf-dur) var(--shelf-ease)}.home-leaving{position:absolute;margin:0;pointer-events:none;z-index:1}.home-leaving.is-out{opacity:0;transform:scale(.94);transition:opacity calc(var(--shelf-dur) * .45) linear,transform calc(var(--shelf-dur) * .55) var(--shelf-ease)}@media(min-width:800px)and (max-width:1099px){.subject-tab{flex-direction:column;gap:3px;padding:0 4px}.subject-tab-sign{font-size:23px}.subject-tab-word{max-width:100%;line-height:1.1}}@media(max-width:799px){.subject-tab-word{display:none}.subject-tab{padding:0 2px}.subject-tab-sign{font-size:24px}.subject-tabs-caption{display:block}}@media(max-width:640px){.home-board-section{padding:10px 12px 32px}.home-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.home-also{margin:24px 0 16px}}.empty-msg{padding:16px;color:var(--text-dim);font-size:var(--type-body);text-align:center}.first-run-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.first-run-card{width:100%;max-width:320px;text-align:center}.first-run-note{margin:0 0 14px;color:var(--text-dim);font-size:var(--type-body)}.first-run-track{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.first-run-bar{width:0;height:100%;border-radius:999px;background:var(--accent);transition:width .2s linear}@media(prefers-reduced-motion:reduce){.first-run-bar{transition:none}}.packs-container{padding:16px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:flex-start}.pack-modes{display:flex;gap:2px;margin:12px auto 0;padding:3px;width:max-content;max-width:calc(100% - 32px);background:var(--bg);border:1px solid var(--border);border-radius:999px}.pack-mode{flex:0 1 auto;min-width:0;border:0;background:none;border-radius:999px;padding:7px 14px;font:inherit;font-size:var(--type-control);font-weight:600;line-height:1.25;color:var(--text-dim);text-align:center;cursor:pointer;transition:background .15s,color .15s}@media(hover:hover){.pack-mode:hover{color:var(--text)}}.pack-mode.selected{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.pack-mode-body>.packs-container{justify-content:flex-start;min-height:auto}.pack-desc-soon{margin-bottom:0}@media(max-width:380px){.pack-mode{padding:7px 10px}}.pack-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.pack-name{font-size:var(--type-section);font-weight:600;line-height:1.25;margin-bottom:12px}.pack-share-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:8px;padding:0;vertical-align:middle;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-dim);cursor:pointer}.pack-share-btn:hover{color:var(--text);background:var(--surface-hover)}.pack-share-btn .corner-nav-icon,.pack-share-btn .corner-nav-icon svg{width:16px;height:16px;display:block}.level-dots{display:flex;gap:8px;flex-wrap:wrap}.level-dot{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:var(--type-control);font-weight:600;cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text)}.level-dot:hover{border-color:var(--accent);color:var(--accent)}.level-dot.completed{background:var(--success);border-color:var(--success);color:#fff}.level-dot.current{border-color:var(--accent);color:var(--accent)}.pack-card-list{width:100%;max-width:380px}.pack-card-tiles{max-width:620px}.pack-desc{font-size:var(--type-body);color:var(--text-dim);line-height:1.5;margin:-8px 0 12px}.level-list{display:flex;flex-direction:column;gap:4px}.level-row{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text)}.level-row:hover{background:var(--surface-hover)}.level-row-dot{flex:0 0 auto;width:32px;height:32px}.level-row-name{font-size:var(--type-detail);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-row.current .level-row-name{color:var(--accent);font-weight:600}.level-tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.level-tile{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text)}.level-tile-art{position:relative;aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;transition:border-color .15s,transform .15s}.level-tile-art svg{display:block;width:100%;height:100%}.level-tile:hover .level-tile-art{border-color:var(--accent);transform:translateY(-2px)}.level-tile-name{font-size:var(--type-detail);line-height:1.2;text-align:center;color:var(--text-dim);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.level-tile.untouched .level-tile-art{border-style:dashed}.level-tile.current .level-tile-art{border-color:var(--accent)}.level-tile.current .level-tile-name{color:var(--accent);font-weight:600}.level-tile.solved .level-tile-art{border-color:var(--success)}.level-tile-tick{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--success);font-size:24px;font-weight:700}.level-tile-badge{position:absolute;right:4px;bottom:4px;width:18px;height:18px;border-radius:50%;background:var(--success);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface)}.level-tiles-concept{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:2px 0}@media print{.level-tiles{display:none}}.md-h2{margin:0 0 8px;font-size:var(--type-section);font-weight:600;line-height:1.25}.md-h3{margin:12px 0 6px;font-size:var(--type-item);font-weight:600;line-height:1.25}.md-li{margin:2px 0;font-size:var(--type-body);line-height:1.5}.md-li-num{margin-left:8px}.md-p{margin:4px 0;font-size:var(--type-body);line-height:1.5}.rules-art{margin:12px auto 2px;max-width:196px}.rules-art svg{width:100%;height:auto;display:block}.rules-art-caption{margin:0 0 14px;text-align:center;font-size:var(--type-body);line-height:1.5}.puzzle-desc{max-width:360px;margin:12px auto 0;text-align:center;font-size:var(--type-body);line-height:1.5;color:var(--text-dim)}.puzzle-instruction{max-width:460px;margin:10px auto 4px;padding:0 14px;box-sizing:border-box}.puzzle-instruction .md-p{text-align:center;color:var(--text-dim);margin:0 auto 10px;max-width:380px}.puzzle-instruction .rules-art{display:grid;grid-template-columns:116px 1fr;align-items:center;gap:14px;max-width:none;margin:20px 0}.puzzle-instruction .rules-art svg{grid-area:1 / 1}.puzzle-instruction .rules-art-caption{grid-area:1 / 2;margin:0;text-align:left}.puzzle-instruction .rules-art:nth-of-type(2n){grid-template-columns:1fr 116px}.puzzle-instruction .rules-art:nth-of-type(2n) svg{grid-area:1 / 2}.puzzle-instruction .rules-art:nth-of-type(2n) .rules-art-caption{grid-area:1 / 1}@media(max-width:380px){.puzzle-instruction .rules-art{grid-template-columns:104px 1fr}.puzzle-instruction .rules-art:nth-of-type(2n){grid-template-columns:1fr 104px}}.content-link{color:var(--accent);font-weight:600;text-decoration:none}.content-link:hover{text-decoration:underline}.cblock-text{margin:8px 0;font-size:var(--type-body);line-height:1.5}.cblock-example{margin:10px 0;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--type-meta);line-height:1.5;overflow-x:auto;text-align:left}.cblock-image{max-width:100%;border-radius:var(--radius-sm);margin:10px 0}.cblock-video{width:100%;max-height:240px;border-radius:var(--radius-sm);background:#000;margin:10px 0}.ccard{text-align:center}.ccard .cblocks{text-align:left}.ccard-emoji{font-size:36px}.ccard-title{margin:8px 0 4px;font-size:var(--type-panel);font-weight:400;line-height:1.2}.ccard-done{margin-top:16px}.concept-chip{width:40px;height:40px;border-radius:50%;border:2px dashed var(--accent);background:var(--surface);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.concept-chip:hover{background:var(--surface-hover)}.level-row-concept{color:var(--text-dim)}.level-row-concept .concept-chip{flex:0 0 auto;width:32px;height:32px;font-size:14px}.leave-card{text-align:center;max-width:340px}.leave-emoji{font-size:36px}.leave-title{margin:8px 0 4px;font-size:var(--type-panel);font-weight:400;line-height:1.2}.leave-text{margin:4px 0 10px;font-size:var(--type-body);line-height:1.5}.leave-link-label{font-size:var(--type-control);font-weight:600;margin:4px 0}.leave-source,.leave-region-note{font-size:var(--type-meta);color:var(--text-dim);margin:4px 0 12px}.leave-actions{display:flex;gap:8px;justify-content:center;margin-top:12px}.puzzle-viewport{flex:1;display:flex;flex-direction:column;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px}.puzzle-viewport:before,.puzzle-viewport:after{content:"";flex:1}.solo-watermark{flex:0 0 auto;align-self:center;margin:0 16px 6px;text-align:center;font-size:var(--type-meta);letter-spacing:.02em;color:var(--text-dim);opacity:.55;pointer-events:none;user-select:none;-webkit-user-select:none}#app>.solo-watermark:first-child{margin:6px 16px 2px}.puzzle-viewport-solo [data-action=gallery]{display:none!important}.content-solo{padding-top:6px}.solo-missing{margin:auto;padding:24px;max-width:320px;text-align:center;color:var(--text-dim);font-size:var(--type-body);line-height:1.5}.solo-missing p{margin:0 0 10px}.level-credit{flex:0 0 auto;align-self:flex-end;max-width:100%;padding:0 14px 6px;font-size:var(--type-meta);line-height:1.4;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;-webkit-user-select:none}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:1000;animation:fadeIn .3s}.celebration-card{background:var(--surface);border-radius:var(--radius);padding:32px 40px;text-align:center;box-shadow:var(--shadow-lg);animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}.celebration-emoji{font-size:48px;margin-bottom:12px}.celebration-title{font-size:var(--type-panel);font-weight:400;line-height:1.2;margin-bottom:8px}.celebration-text{font-size:var(--type-body);line-height:1.5;color:var(--text-dim);margin-bottom:20px}.celebration-btn{padding:10px 28px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--accent-text);font-size:var(--type-control);font-weight:600;cursor:pointer}.celebration-btn:hover{background:var(--accent-hover)}.celebration-actions{display:flex;gap:8px;justify-content:center}.celebration-btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.celebration-btn-secondary:hover{background:var(--surface-hover)}.solved-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:9200;display:inline-flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:7px 8px 7px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.solved-bar-text{font-size:var(--type-detail);font-weight:600;color:var(--success);white-space:nowrap}.solved-bar-next{background:var(--accent);color:var(--accent-text);border:none;font-family:var(--font);font-size:var(--type-control);font-weight:600;text-decoration:none;padding:9px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solved-bar-next:hover{background:var(--accent-hover)}.solved-bar-close{border:none;background:none;color:var(--text-dim);font-size:15px;line-height:1;padding:6px 8px;cursor:pointer}.solved-bar-close:hover{color:var(--text)}@media(max-width:480px){.solved-bar{gap:8px;padding:6px 6px 6px 12px}.solved-bar-next{padding:8px 13px}}.solved-next{display:inline-flex;align-items:center;padding:10px 22px;border-radius:var(--radius-sm);background:var(--success);color:#fff;font-family:var(--font);font-size:var(--type-control);font-weight:700;text-decoration:none;white-space:nowrap;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.solved-next:hover{filter:brightness(1.08)}@media(max-width:480px){.solved-next{padding:9px 16px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.grid-puzzle{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;user-select:none;-webkit-user-select:none}.grid-puzzle table{border-collapse:collapse;user-select:none;-webkit-user-select:none}.grid-puzzle td{width:52px;height:52px;border:1px solid var(--border);text-align:center;font-size:22px;font-weight:600;cursor:pointer;transition:background .1s;position:relative}.grid-puzzle td:hover{background:var(--surface-hover)}.grid-puzzle td.selected{background:#e0e7ff}.grid-puzzle td.fixed{color:var(--text);cursor:default}.grid-puzzle td.user{color:var(--accent)}.grid-puzzle td.error{color:var(--error);background:#fef2f2}.grid-puzzle td.correct{color:var(--success)}.grid-puzzle .hint-text{font-size:var(--type-detail);line-height:1.3;color:var(--text-dim);text-align:center}.numpad{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.numpad-btn{width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s;color:var(--text)}.numpad-btn:hover{border-color:var(--accent);color:var(--accent)}.numpad-btn:active{background:var(--accent);color:var(--accent-text)}.letter-keys{display:flex;flex-direction:column;gap:4px;align-items:center}.letter-keys-row{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.letter-key{min-width:32px;height:38px;padding:0 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-size:var(--type-control);font-weight:600;font-family:var(--font-mono);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.letter-key:hover{border-color:var(--accent);color:var(--accent)}.letter-key:active{background:var(--accent);color:var(--accent-text)}.letter-key-wide{min-width:52px}.puzzle-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:max-content;max-width:calc(100vw - 24px);margin:16px auto 0}.submit-btn{padding:10px 28px;border-radius:20px;border:none;background:var(--accent);color:var(--accent-text);font-size:var(--type-control);font-weight:600;cursor:pointer;transition:background .15s}.submit-btn:hover{background:var(--accent-hover)}.reset-btn{padding:10px 28px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--type-control);font-weight:500;cursor:pointer;transition:all .15s}.reset-btn:hover{border-color:var(--error);color:var(--error)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s ease-in-out}.drag-ghost{position:fixed;pointer-events:none;z-index:2000;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) scale(1.15);box-shadow:var(--shadow-lg);opacity:.92}.grid-puzzle td.drag-hover-valid{background:#22c55e4d!important;box-shadow:inset 0 0 0 2px #22c55e99}@media(max-width:480px){.grid-puzzle td{width:44px;height:44px;font-size:18px}.numpad-btn{width:38px;height:38px;font-size:16px}}.feedback-fab{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-text);border:none;font-size:22px;cursor:pointer;box-shadow:var(--shadow-lg);z-index:9999;transition:transform .2s,background .2s;display:flex;align-items:center;justify-content:center}.feedback-fab:hover{transform:scale(1.1)}.feedback-fab.open{background:var(--text-dim);transform:rotate(90deg) scale(1.1)}.feedback-panel{position:fixed;bottom:82px;right:20px;width:340px;max-height:calc(100vh - 120px);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:9998;display:flex;flex-direction:column;gap:10px;padding:14px;overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s}.feedback-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.feedback-panel-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:var(--type-item)}.feedback-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-dim);padding:0 4px;line-height:1}.feedback-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-family:var(--font);font-size:var(--type-body);resize:vertical;min-height:72px;outline:none}.feedback-textarea:focus{border-color:var(--accent)}.feedback-section{display:flex;flex-direction:column;gap:6px}.feedback-btn{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:var(--type-control);font-family:var(--font);text-align:left;transition:background .15s}.feedback-btn:hover{background:var(--surface-hover)}.feedback-btn-record.recording{background:var(--error);color:#fff;border-color:var(--error);animation:pulse-record 1.2s infinite}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.7}}.feedback-btn-submit{background:var(--accent);color:var(--accent-text);border-color:var(--accent);text-align:center;font-weight:600}.feedback-btn-submit:hover{background:var(--accent-hover)}.feedback-audio-status{font-size:var(--type-meta);color:var(--text-dim)}.feedback-screenshot-preview{margin-top:4px}.feedback-thumb{width:100%;border-radius:var(--radius-sm);border:1px solid var(--border)}.feedback-draw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px}.feedback-draw-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffffff1f;border-radius:24px;flex-wrap:wrap;justify-content:center}.feedback-color-btn{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:transform .15s}.feedback-color-btn.active{border-color:#fff;transform:scale(1.2)}.feedback-size-btn{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff14;cursor:pointer;display:flex;align-items:center;justify-content:center}.feedback-size-btn.active{background:#ffffff40}.feedback-size-dot{display:block;border-radius:50%;background:#fff}.feedback-toolbar-sep{width:1px;height:20px;background:#fff3;margin:0 4px}.feedback-draw-canvas{border-radius:var(--radius-sm);cursor:crosshair;max-width:calc(100vw - 32px);max-height:calc(100vh - 140px)}.feedback-draw-bottom{display:flex;gap:10px}.feedback-draw-action{padding:10px 20px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--type-control);font-family:var(--font);background:#ffffff26;color:#fff}.feedback-draw-action:hover{background:#ffffff40}.feedback-draw-action.feedback-btn-submit{background:var(--accent);color:var(--accent-text)}@media(max-width:480px){.feedback-panel{right:8px;left:8px;width:auto;bottom:76px}.feedback-fab{bottom:14px;right:14px;width:46px;height:46px;font-size:20px}}.mp-spinner{width:38px;height:38px;margin:8px auto 2px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:mp-spin .8s linear infinite}@keyframes mp-spin{to{transform:rotate(360deg)}}.print-title{display:none}@media print{@page{margin:12mm}html,body,#app,.content,.puzzle-viewport{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;background:#fff!important}.puzzle-viewport:before,.puzzle-viewport:after{content:none!important}.solo-watermark{display:none!important}*,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-shadow:none!important}.home-masthead,.page-heading,.page-teachers,.feedback-fab,.feedback-panel,.feedback-draw-overlay,.corner-nav,.own-gallery-btn,.drag-ghost,.inv-drag-ghost,.rules-overlay,.celebration-overlay,.solved-bar,.home-title,.home-subtitle,.puzzle-actions,.numpad,.letter-keys{display:none!important}.print-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #999;font-family:var(--font);color:#000}.print-title-name{font-size:16pt;font-weight:700}.print-title-step{font-size:11pt;color:#444}.grid-puzzle,svg{break-inside:avoid;page-break-inside:avoid}}::view-transition-old(root),::view-transition-new(root){animation-duration:.7s}::view-transition-group(level-hero),::view-transition-old(level-hero),::view-transition-new(level-hero){animation-duration:.7s}::view-transition-old(level-hero),::view-transition-new(level-hero){height:100%;object-fit:cover}html.hero-flight::view-transition-group(level-hero){transform-origin:0 0;width:var(--hero-w);height:var(--hero-h)}html.hero-flight-own::view-transition-group(level-hero){animation-name:none}html.hero-flight::view-transition-old(level-hero),html.hero-flight::view-transition-new(level-hero){animation-name:none;mix-blend-mode:plus-lighter;inset:auto;object-fit:fill}html.hero-flight::view-transition-old(level-hero){left:var(--hero-old-x);top:var(--hero-old-y);width:var(--hero-old-w);height:var(--hero-old-h)}html.hero-flight::view-transition-new(level-hero){left:var(--hero-new-x);top:var(--hero-new-y);width:var(--hero-new-w);height:var(--hero-new-h)}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),::view-transition-group(level-hero),::view-transition-old(level-hero),::view-transition-new(level-hero){animation-duration:.35s}}#app.screen-veiled{opacity:0;pointer-events:none;transition:opacity .35s ease-out}.screen-loading{position:fixed;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;box-sizing:border-box;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;pointer-events:none;animation:screen-loading-in .3s ease-out both,screen-loading-turn .8s linear infinite}.screen-loading-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes screen-loading-in{0%{opacity:0}}@keyframes screen-loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#app.screen-veiled{transition-duration:175ms}.screen-loading{animation-duration:.3s,2.4s}}.masthead-language{display:inline-flex;align-items:center;gap:5px}.language-globe{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.2}.language-card{max-width:320px}.language-card h2{margin:0 0 14px;font-size:var(--type-panel);font-weight:400;line-height:1.2}.language-list{display:flex;flex-direction:column;gap:6px}.language-option{font:inherit;font-size:var(--type-body);text-align:left;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer}.language-option:hover{background:var(--surface-hover)}.language-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.language-option-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.done-circle{--dc-size: 56px;--dc-blue: var(--accent);--dc-blue-rim: #4338ca;--dc-green: var(--success);--dc-green-rim: #14532d;--dc-yellow: #fbbf24;--dc-yellow-rim: var(--warning);position:relative;flex:0 0 auto;box-sizing:content-box;width:calc(var(--dc-size) * 1.375);height:var(--dc-size);padding:0;margin:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity .2s}.done-circle[data-tone=blue]{--dc-fill: var(--dc-blue);--dc-rim: var(--dc-blue-rim);--dc-ink: #ffffff;--dc-faint: rgba(255, 255, 255, .35)}.done-circle[data-tone=green]{--dc-fill: var(--dc-green);--dc-rim: var(--dc-green-rim);--dc-ink: #ffffff;--dc-faint: rgba(255, 255, 255, .35)}.done-circle[data-tone=yellow]{--dc-fill: var(--dc-yellow);--dc-rim: var(--dc-yellow-rim);--dc-ink: var(--text);--dc-faint: rgba(26, 26, 46, .3)}.done-circle .dc-shape,.done-circle .dc-mark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform-origin:36.3636% 50%}.done-circle .dc-mark-art{display:block;width:100%;height:100%;overflow:visible}.done-circle .dc-shape path{fill:var(--dc-fill);stroke:var(--dc-rim);stroke-width:2.5;stroke-linejoin:round;transition:fill .2s,stroke .2s}.done-circle .dc-glyph{fill:none;stroke:var(--dc-ink);stroke-linecap:round;stroke-linejoin:round}.done-circle .dc-glyph .dc-faint{stroke:var(--dc-faint)}.done-circle .dc-glyph .dc-dot{fill:var(--dc-ink);stroke:none}.done-circle.is-idle{opacity:.4;cursor:default}.done-circle.hold-restart{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:opacity .2s,transform .15s ease-out}.done-circle.hold-restart.is-holding{transform:scale(.94)}@media(hover:hover){.done-circle:not(.is-idle):hover .dc-shape{filter:brightness(1.07)}}.done-circle:focus{outline:none}.done-circle:focus-visible .dc-shape path{stroke:var(--text);stroke-width:4}.done-circle[data-state=ready] .dc-shape{animation:dc-breathe 2.4s ease-in-out infinite}@keyframes dc-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.done-circle[data-state=ready] .dc-shape{animation:none}}@media(min-width:700px)and (min-height:640px){.done-circle{--dc-size: 64px}}.puzzle-actions .done-circle~.solved-next{display:none!important}.dc-again{--dc-size: 56px;position:relative;flex:0 0 auto;width:var(--dc-size);height:var(--dc-size);padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;--dc-fill: var(--accent);--dc-rim: #4338ca;--dc-ink: #ffffff}.dc-again .dc-again-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dc-again .dc-again-shape>path{fill:var(--dc-fill);stroke:var(--dc-rim);stroke-width:2.5}.dc-again .dc-glyph{fill:none;stroke:var(--dc-ink);stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.dc-again:hover .dc-again-shape{filter:brightness(1.07)}}.dc-again:focus{outline:none}.dc-again:focus-visible .dc-again-shape>path{stroke:var(--text);stroke-width:4}.puzzle-actions>.dc-again{margin-left:auto}.puzzle-actions>.dc-again+.done-circle{margin-left:0}@media(min-width:700px)and (min-height:640px){.dc-again{--dc-size: 64px}}@media print{.dc-again{display:none}}.puzzle-actions:has(>.done-circle){align-items:center}.puzzle-actions>.done-circle{margin-left:auto}.puzzle-actions:has(>:not(.dc-again,.hold-deal)~.done-circle){--dc-tail: 21px ;padding-left:var(--dc-tail)}@media(min-width:700px)and (min-height:640px){.puzzle-actions:has(>:not(.dc-again,.hold-deal)~.done-circle){--dc-tail: 24px }}@media print{.done-circle{display:none}}.round-toggle{--dc-size: 56px;position:relative;flex:0 0 auto;width:var(--dc-size);height:var(--dc-size);padding:0;margin:0;border:0;background:none;color:#6b7280;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s}.round-toggle.is-on{color:var(--accent)}.round-toggle.is-idle{opacity:.4;cursor:default}.round-toggle .rt-shape,.round-toggle .rt-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.round-toggle .rt-shape path{fill:#fff;stroke:#c3c8d2;stroke-width:2.5;transition:fill .2s,stroke .2s}.round-toggle.is-on .rt-shape path{fill:#eef0fe;stroke:var(--accent);stroke-width:3}.round-toggle .rt-icon,.round-toggle .rt-part{transform-box:view-box;transform-origin:50% 50%}@media(hover:hover){.round-toggle:not(.is-idle):hover .rt-shape path{stroke:var(--accent)}}.round-toggle:focus{outline:none}.round-toggle:focus-visible .rt-shape path{stroke:var(--text);stroke-width:4}@media(min-width:700px)and (min-height:640px){.round-toggle{--dc-size: 64px}}@media print{.round-toggle{display:none}}.round-toggle.hold-clear{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:color .2s,transform .15s ease-out}.round-toggle.hold-clear.is-holding{color:var(--accent);transform:scale(.92)}.round-toggle.hold-clear.is-holding .rt-shape path{stroke:var(--accent);stroke-width:3}.puzzle-actions>.hold-deal{margin-left:auto}.puzzle-actions>.hold-deal+.done-circle{margin-left:0}.hold-clear-fog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;overflow:hidden;pointer-events:none;contain:strict}.hold-clear-fog>div{position:absolute;border-radius:50%;pointer-events:none;will-change:transform,opacity;opacity:0}.hold-clear-fog .hc-disc{background:radial-gradient(closest-side,#fffffff0,#fffffff0 85%,#969eb938 89%,#969eb900)}.hold-clear-fog .hc-puff{background:radial-gradient(closest-side,#ffffffd9,#ffffff8c,#fff0)}@media print{.hold-clear-fog{display:none}}
