@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#f7f8fc;--surface:#fff;--ink:#1d2440;--ink-2:#4a5270;--line:#e3e7f1;--primary:#2f7de1;--primary-soft:#e6f0fd;--go:#2f8a57;--go-dark:#24734a;--danger:#d6574a;--tone-blue-bg:#eaf3fe;--tone-blue:#4a90e8;--tone-blue-ink:#1f5fb0;--tone-mint-bg:#e8f6ef;--tone-mint:#4fb383;--tone-mint-ink:#1f7a4c;--tone-coral-bg:#fdeeea;--tone-coral:#ef7f6b;--tone-coral-ink:#b24a38;--tone-violet-bg:#f1ecfd;--tone-violet:#9a7ae6;--tone-violet-ink:#6547b8;--tone-yellow-bg:#fff6df;--tone-yellow:#f2b53a;--tone-yellow-ink:#8a6210;--tone-pink-bg:#fdecf1;--tone-pink:#ea7a9c;--tone-pink-ink:#ad3d62;--radius-s:14px;--radius:22px;--radius-l:30px;--shadow:0 1px 2px #1d24400a, 0 6px 18px #1d24400f;--shadow-lift:0 2px 4px #1d24400d, 0 12px 28px #1d24401a;--tap:56px}.tone-blue{--t-bg:var(--tone-blue-bg);--t:var(--tone-blue);--t-ink:var(--tone-blue-ink)}.tone-mint{--t-bg:var(--tone-mint-bg);--t:var(--tone-mint);--t-ink:var(--tone-mint-ink)}.tone-coral{--t-bg:var(--tone-coral-bg);--t:var(--tone-coral);--t-ink:var(--tone-coral-ink)}.tone-violet{--t-bg:var(--tone-violet-bg);--t:var(--tone-violet);--t-ink:var(--tone-violet-ink)}.tone-yellow{--t-bg:var(--tone-yellow-bg);--t:var(--tone-yellow);--t-ink:var(--tone-yellow-ink)}.tone-pink{--t-bg:var(--tone-pink-bg);--t:var(--tone-pink);--t-ink:var(--tone-pink-ink)}:root{--ok-bg:#e8f6ef;--hint:#f2b53a;--table:#eaeef7;--table-line:#d3d9e7;--gap-play:clamp(12px, 2vmin, 24px);--prompt-size:clamp(24px, 4vmin, 40px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:18px;line-height:1.4}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-2);font-weight:600}.page{max-width:1280px;padding:max(20px, env(safe-area-inset-top)) max(clamp(16px, 3vw, 36px), env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(clamp(16px, 3vw, 36px), env(safe-area-inset-left));flex-direction:column;gap:24px;margin:0 auto;display:flex}.section-title{margin-bottom:12px;font-size:24px;font-weight:900}.empty{text-align:center;color:var(--ink-2);background:var(--surface);border-radius:var(--radius);padding:32px;font-weight:600}.notice{background:var(--tone-yellow-bg);color:var(--tone-yellow-ink);border-radius:var(--radius-s);padding:12px 16px;font-size:16px;font-weight:700}.not-found{text-align:center;justify-content:center;align-items:center;min-height:60vh}.app-header{flex-wrap:wrap;align-items:center;gap:24px;min-height:96px;display:flex}.brand-name{letter-spacing:-.02em;align-items:center;gap:14px;font-size:max(44px,min(5vw,60px));font-weight:900;line-height:1;display:inline-flex}.brand-wordmark{letter-spacing:-.02em;color:var(--ink);-webkit-text-stroke:.05em currentColor;paint-order:stroke fill;stroke-linejoin:round;font-size:max(42px,min(5vw,58px));font-weight:900;line-height:1.05}.brand-icon{width:auto;height:max(52px,min(6vw,70px));box-shadow:var(--shadow);border-radius:22%}.brand-sub{color:var(--ink-2);margin-top:4px;font-size:19px;font-weight:600}.offline-badge{background:var(--tone-mint-bg);color:var(--tone-mint-ink);border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:8px 16px;font-size:15px;font-weight:700;display:inline-flex}.app-header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.offline-badge+.app-header-actions{margin-left:0}.btn{min-height:var(--tap);border:2px solid #0000;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:19px;font-weight:800;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-go{background:var(--go);color:#fff;box-shadow:0 6px 16px #2f8a5740}.btn-go:hover{background:var(--go-dark)}.btn-primary{background:var(--primary);color:#fff}.btn-soft{background:var(--primary-soft);color:#1d5fb8}.btn-outline{background:var(--surface);border-color:var(--line)}.btn-small{min-height:52px;padding:0 20px;font-size:17px}.icon-btn{background:var(--surface);width:60px;height:60px;box-shadow:var(--shadow);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn svg{width:28px;height:28px}.tool-btn{border:2px solid var(--line);background:var(--surface);border-radius:18px;justify-content:center;align-items:center;gap:8px;min-width:60px;min-height:60px;padding:0 12px;font-size:16px;font-weight:800;display:inline-flex}.tool-btn svg{width:26px;height:26px}.install-btn{background:var(--primary-soft);color:#1d5fb8;min-height:48px;padding:0 16px;font-size:16px}.update-btn{min-height:48px;padding:0 16px;font-size:16px}.chip{color:var(--ink-2);white-space:nowrap;background:#ffffffd9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:14px;font-weight:700;display:inline-flex}.chip.level-1{color:var(--tone-mint-ink)}.chip.level-2{color:var(--tone-yellow-ink)}.chip.level-3{color:var(--tone-coral-ink)}.count-pill{color:var(--ink-2);vertical-align:middle;background:#ffffffe6;border-radius:999px;align-items:center;padding:4px 12px;font-size:15px;font-weight:700;display:inline-flex}.sheet-backdrop{z-index:50;background:#1d244047;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{width:min(720px,100%);max-height:calc(100vh - 32px);background:var(--surface);border-radius:var(--radius-l);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lift);flex-direction:column;gap:18px;padding:20px 24px 24px;display:flex;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{font-size:28px;font-weight:900}.sheet-head .icon-btn{box-shadow:none;background:var(--bg)}.sheet-row{border-top:2px solid var(--line);flex-direction:column;gap:10px;padding-top:16px;display:flex}.sheet-row h3{font-size:20px;font-weight:900}.sheet-row p{color:var(--ink-2);font-size:16px;font-weight:600}.sheet-note{color:var(--ink-2);font-size:15px;font-weight:600}@keyframes fade{0%{opacity:0}to{opacity:1}}.update-backdrop{z-index:80;background:#1d244073}.update-dialog{text-align:center;align-items:center;gap:16px;width:min(520px,100%);padding:32px 28px 24px}.update-icon{background:var(--primary-soft);width:88px;height:88px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.update-icon svg{width:48px;height:48px}.update-dialog h2{font-size:max(26px,min(4vmin,34px));font-weight:900;line-height:1.15}.update-dialog p{color:var(--ink-2);font-size:19px;font-weight:600}.update-ok{width:100%;min-height:76px;margin-top:6px;font-size:24px}.update-ok svg{width:28px;height:28px}.update-later{width:100%}.segmented{flex-wrap:wrap;gap:6px;display:flex}.seg-btn{border:2px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink-2);border-radius:999px;padding:0 18px;font-size:16px;font-weight:700}.seg-btn.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.share-url{border:2px solid var(--line);background:var(--bg);width:100%;height:52px;color:var(--ink-2);border-radius:14px;padding:0 14px;font-size:15px}.share-actions{flex-wrap:wrap;gap:10px;display:flex}.share-actions .btn{flex:180px}.qr-view{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.qr-code{width:min(420px,70vw,55vh);aspect-ratio:1;background:#fff;border-radius:16px;width:min(420px,70vw,55dvh);padding:8px}.qr-code svg{width:100%;height:100%;display:block}.qr-title{font-size:22px;font-weight:900}.install-steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;font-size:18px;font-weight:600;display:flex}@media (max-width:760px){.install-btn span{display:none}.install-btn{padding:0 12px}}@media (max-width:560px){body{font-size:17px}.app-header{gap:12px;min-height:0}.offline-badge{margin-left:0}.brand-name{font-size:42px}}@media (min-width:1600px){.page{max-width:1520px}}@media (min-width:2200px){.page{max-width:1900px}body{font-size:20px}}.tool-btn:disabled{opacity:.45;cursor:default}.intro{background:var(--t-bg);border-radius:var(--radius-l);flex-direction:column;gap:12px;padding:max(22px,min(3vw,36px));display:flex}.intro h1{letter-spacing:-.01em;max-width:22ch;font-size:max(28px,min(3.4vw,42px));font-weight:900;line-height:1.1}.intro p{color:var(--ink-2);max-width:62ch;font-size:19px;font-weight:600}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;display:grid}.cat-tile{background:var(--t-bg);border-radius:var(--radius);grid-template-rows:auto auto 1fr auto;gap:2px;min-height:230px;padding:20px 20px 16px;transition:transform .15s,box-shadow .15s;display:grid}.cat-tile:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.cat-tile h3{font-size:26px;font-weight:900}.cat-tile p{color:var(--ink-2);font-size:16px;font-weight:600}.cat-art{min-height:96px;color:var(--t-ink);justify-content:center;align-items:center;gap:10px;padding:8px 0;display:flex}.cat-cover{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-s);width:100%;max-width:220px;height:auto;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cat-foot{justify-content:space-between;align-items:center;display:flex}.round-arrow{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.page-header{background:var(--t-bg);border-radius:var(--radius-l);align-items:center;gap:20px;padding:20px;display:flex}.page-header-text{flex:1;min-width:0}.page-header h1{flex-wrap:wrap;align-items:center;gap:14px;font-size:max(30px,min(4vw,46px));font-weight:900;line-height:1.1;display:flex}.page-header p{color:var(--ink-2);margin-top:4px;font-size:18px;font-weight:600}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.ex-card{border-radius:var(--radius);background:var(--t-bg);flex-direction:column;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.ex-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.ex-card-title{font-size:18px;font-weight:800;line-height:1.2}.ex-meta{flex-wrap:wrap;gap:6px;display:flex}.about{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:max(20px,min(3vw,32px));display:flex}.about h2{font-size:24px;font-weight:900}.about p{color:var(--ink-2);max-width:75ch;font-weight:600}.support-trigger{color:#7a4a26;background:#fff5ec;border-color:#f1d3bc;min-height:48px;padding:0 16px;font-size:16px}.support-options{flex-direction:column;gap:8px;display:flex}.support-option{border:2px solid var(--line);min-height:56px;color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:0 16px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.support-option:hover{background:#fff9f3;border-color:#e3b691}.support-option strong{color:#7a4a26;margin-left:auto}.support-sheet{width:min(460px,100%)}.settings-support{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}@media (max-width:760px){.support-trigger.is-compact span{display:none}.support-trigger.is-compact{padding:0 12px}}.torobie-link{color:#0b3558;background:#fff6df;border:1px solid #f3d99a;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:4px 12px 4px 6px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.torobie-link img{width:20px;height:20px;display:block}.torobie-link:hover{background:#ffefc4}.family{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow);flex-direction:column;gap:16px;margin-top:28px;padding:20px;display:flex}.family-head{align-items:center;gap:20px;display:flex}.family-logo{flex:none}.family-logo img{width:176px;height:auto;display:block}.family-head h2{margin:0 0 4px;font-size:22px}.family-head p{color:var(--ink-2);margin:0}.family-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.family-list a{border:2px solid var(--line);border-radius:var(--radius);height:100%;min-height:56px;color:var(--ink);align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.family-list a:hover{border-color:var(--primary)}.family-list img{border-radius:14px;flex:none;width:56px;height:56px}.family-text{flex-direction:column;gap:2px;min-width:0;display:flex}.family-text strong{font-size:18px}.family-text span{color:var(--ink-2);font-size:14px}.family-all{align-self:flex-start}@media (max-width:600px){.family-head{flex-direction:column;align-items:flex-start;gap:10px}.family-all{text-align:center;justify-content:center;align-self:stretch}}.cat-art{min-height:110px}.puzzle-thumb,.own-thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-s);background:var(--surface);width:100%;height:auto;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.ex-card{text-decoration:none}.own-lead{max-width:70ch;margin-bottom:14px;font-size:17px}.own-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.own-add{text-align:left;border:3px dashed var(--t);border-radius:var(--radius);background:var(--t-bg);min-height:130px;color:var(--ink);align-items:center;gap:14px;padding:16px 18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.own-add:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.own-add-icon{background:var(--surface);width:56px;height:56px;color:var(--t-ink);box-shadow:var(--shadow);border-radius:50%;flex:none;place-items:center;display:grid}.own-add-icon svg{width:30px;height:30px}.own-add-text{z-index:1;flex-direction:column;gap:2px;display:flex;position:relative}.own-add-text strong{font-size:22px;font-weight:900;line-height:1.1}.own-add-text span{color:var(--ink-2);font-size:15px;font-weight:600}.setup{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.setup-preview{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.cut-preview{border-radius:var(--radius-l);width:100%;height:auto;box-shadow:var(--shadow-lift);background:var(--surface);display:block}.setup-options{flex-direction:column;gap:18px;display:flex}.setup-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-top:0;padding:16px 18px}.setup-row p strong{color:var(--ink)}.setup-slider input{width:100%;height:36px;accent-color:var(--primary)}.set-start-btn{min-height:76px;padding:0 48px;font-size:26px}.set-start-btn svg{width:30px;height:30px}@media (max-width:860px){.setup{grid-template-columns:minmax(0,1fr)}}.import-sheet{width:min(640px,100%)}.dropzone{text-align:center;border:3px dashed var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:14px;padding:28px 18px;font-weight:700;display:flex}.dropzone.is-over{border-color:var(--primary);background:var(--primary-soft)}.dropzone .btn{min-width:240px}.crop-canvas{border-radius:var(--radius);background:var(--bg);width:auto;max-width:100%;height:auto;box-shadow:var(--shadow);cursor:grab;touch-action:none;max-height:48vh;object-fit:contain;max-height:48dvh;margin:0 auto;display:block}.crop-canvas:active{cursor:grabbing}.crop-controls{flex-direction:column;gap:12px;display:flex}.crop-zoom{align-items:center;gap:12px;display:flex}.crop-zoom input{height:36px;accent-color:var(--primary);flex:1}.crop-zoom .icon-btn{width:52px;height:52px;box-shadow:none;background:var(--bg)}.name-field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:16px;font-weight:800;display:flex}.name-field input{border:2px solid var(--line);background:var(--bg);height:52px;color:var(--ink);border-radius:14px;padding:0 16px;font-size:18px;font-weight:700}.name-field input:focus{border-color:var(--primary);outline:none}.play-page{height:100vh;background:var(--bg);height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));gap:var(--gap-play);flex-direction:column;display:flex;overflow:hidden}.play-page.is-loading{justify-content:center;align-items:center}.play-bar{align-items:center;gap:14px;display:flex}.play-title{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.play-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:max(20px,min(2.4vw,28px));font-weight:900;overflow:hidden}.series-progress{background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow);border-radius:999px;flex:none;align-items:center;gap:10px;padding:6px 14px;font-size:16px;font-weight:800;display:inline-flex}.progress-bar{background:var(--line);border-radius:999px;width:max(48px,min(9vw,120px));height:10px;overflow:hidden}.progress-bar>span{border-radius:inherit;background:var(--go);height:100%;transition:width .3s;display:block}.play-tools{gap:8px;display:flex}.play-main{gap:var(--gap-play);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.rotation-controls{flex:none;justify-content:center;align-items:center;gap:14px;display:flex}.rotation-controls .btn{flex:none;min-height:56px}.rotation-controls p{color:var(--ink-2);font-size:15px;font-weight:700}.board-wrap{background:var(--t-bg);border-radius:var(--radius-l);flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #1d24400d}.board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline-offset:-6px;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.board:focus-visible{outline:4px solid var(--primary)}.board-error{color:var(--ink-2);text-align:center;place-items:center;padding:24px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.finish-slot{pointer-events:none;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute}.finish-slot>*{pointer-events:auto}.preview-sheet{width:min(900px,100%)}.preview-image{object-fit:contain;border-radius:var(--radius);background:var(--bg);width:100%;height:auto;max-height:calc(100dvh - 160px)}.finish{background:var(--surface);border-radius:var(--radius-l);width:min(560px,100%);max-height:100%;box-shadow:var(--shadow-lift);flex-direction:column;gap:18px;margin:auto;padding:24px;animation:.25s fade;display:flex;overflow:auto}.finish-hero{background:var(--tone-yellow-bg);border-radius:var(--radius);justify-content:center;align-items:center;gap:24px;padding:18px 24px;display:flex}.finish-hero h2{letter-spacing:-.02em;font-size:max(44px,min(6vw,68px));font-weight:900;line-height:1}.finish-star{object-fit:contain;width:120px;height:120px;animation:.5s pop}.finish-check circle{fill:var(--go)}.finish-check path{fill:none;stroke:#fff;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.finish-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;display:grid}.finish-stats>div{border-radius:var(--radius);border:2px solid var(--line);text-align:center;background:var(--surface);padding:14px}.finish-stats dt{color:var(--ink-2);font-size:16px;font-weight:800}.finish-stats dd{margin:0;font-size:40px;font-weight:900;line-height:1.15}.finish-note{color:var(--tone-mint-ink);justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.finish-actions{flex-wrap:wrap;gap:12px;display:flex}.finish-actions .btn{flex:200px;min-height:68px}.finish-actions.is-student .btn{min-height:88px;font-size:26px}.finish-actions.is-student .btn svg{width:30px;height:30px}.finish-link{min-height:48px;color:var(--ink-2);justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.play-page.is-student .board-wrap{margin-left:0}.student-exit{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:30;position:fixed}.hold-btn{width:56px;height:56px;color:var(--ink-2);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;opacity:.6;background:#ffffffd9;border:0;border-radius:50%;place-items:center;display:grid;position:relative}.hold-btn.is-holding{opacity:1}.hold-btn:not(.is-holding) .hold-ring{visibility:hidden}.hold-btn svg:not(.hold-ring){width:24px;height:24px}.hold-ring{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke:var(--primary);stroke-width:4px;stroke-dasharray:100;stroke-dashoffset:100px;stroke-linecap:round}.hold-btn.is-holding .hold-ring circle{transition:stroke-dashoffset var(--hold-ms) linear;stroke-dashoffset:0}.hold-hint{background:var(--ink);color:#fff;white-space:nowrap;border-radius:10px;padding:6px 12px;font-size:15px;font-weight:800;position:absolute;top:50%;left:64px;transform:translateY(-50%)}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}.nav-torobie img{object-fit:contain;width:30px;height:30px}@media (max-width:700px){.play-bar{gap:8px}.icon-btn,.tool-btn{width:52px;min-width:52px;height:52px;min-height:52px}}@media (max-width:900px){.play-tools .tool-btn span{display:none}}@media (max-width:520px){.play-bar{flex-wrap:wrap;row-gap:8px}.play-bar .play-title{flex:1 1 0;min-width:0}.play-bar .play-tools{flex-basis:100%;order:10;justify-content:flex-end}}@media (max-height:520px){.play-bar .play-title h1{font-size:18px}}[data-appearance=neutral] .board-wrap,[data-appearance=neutral] .finish-hero,[data-appearance=neutral] .intro,[data-appearance=neutral] .cat-tile,[data-appearance=neutral] .ex-card,[data-appearance=neutral] .own-add,[data-appearance=neutral] .page-header{background:#eef1f6}[data-appearance=minimal] .board-wrap,[data-appearance=minimal] .finish-hero,[data-appearance=minimal] .intro,[data-appearance=minimal] .cat-tile,[data-appearance=minimal] .ex-card,[data-appearance=minimal] .own-add,[data-appearance=minimal] .page-header{background:#f1f3f7}[data-appearance=minimal] *,[data-appearance=minimal] :before,[data-appearance=minimal] :after{transition:none!important;animation:none!important}[data-appearance=contrast]{--bg:#fff;--ink:#000;--ink-2:#1a1a1a;--line:#000;--primary:#0046c7;--primary-soft:#dfe9ff;--go:#006b2d;--go-dark:#004d20;--ok-bg:#d9f5e3;--hint:#b35c00}[data-appearance=contrast] .board-wrap,[data-appearance=contrast] .finish-hero,[data-appearance=contrast] .intro,[data-appearance=contrast] .cat-tile,[data-appearance=contrast] .ex-card,[data-appearance=contrast] .own-add,[data-appearance=contrast] .page-header{background:#fff;border:3px solid #000}[data-appearance=contrast] .board-wrap{box-shadow:none}[data-appearance=contrast] .btn-outline,[data-appearance=contrast] .tool-btn,[data-appearance=contrast] .seg-btn,[data-appearance=contrast] .setup-row{border-color:#000}[data-appearance=contrast] .icon-btn,[data-appearance=contrast] .cat-cover,[data-appearance=contrast] .puzzle-thumb,[data-appearance=contrast] .own-thumb{box-shadow:0 0 0 3px #000}
