:root{--kk-bg:#0f1115;--kk-surface:#171a21;--kk-surface-2:#1f232c;--kk-line:#2a2f3a;--kk-text:#f3f4f6;--kk-muted:#a1a8b5;--kk-disabled:#6b7280;--kk-brand:#ffd34d;--kk-brand-tint:#ffd34d1f;--kk-brand-ink:#ffd34d;--kk-on-brand:#1c1700;--kk-ok:#5be38d;--kk-ok-tint:#5be38d24;--kk-danger:#ff7676;--kk-danger-line:#ff767659;--kk-type-rushhour:#ff8a66;--kk-type-rushhour-tint:#ff8a6624;--kk-type-laser:#4fd8e8;--kk-type-laser-tint:#4fd8e821;--kk-type-quiz:#b9a2ff;--kk-type-quiz-tint:#b9a2ff26;--kk-scrim:#08090cb8;--kk-tabbar-bg:#0f1115f0;--kk-font-display:"Space Grotesk", Inter, system-ui, sans-serif;--kk-font-body:Inter, system-ui, sans-serif;--kk-radius-sm:10px;--kk-radius-md:12px;--kk-radius-lg:14px;--kk-radius-xl:18px;--kk-radius-2xl:20px;--kk-radius-sheet:28px;--kk-radius-pill:999px;--kk-space-1:4px;--kk-space-2:8px;--kk-space-3:12px;--kk-space-4:16px;--kk-space-5:20px;--kk-space-6:24px;--kk-space-7:28px;--kk-space-8:32px;--kk-tap-min:44px;--kk-btn-h:48px;--kk-btn-h-lg:52px;--kk-tabbar-h:84px}:root[data-theme=light]{--kk-bg:#f6f5f1;--kk-surface:#fff;--kk-surface-2:#eeede8;--kk-line:#e0ded7;--kk-text:#16181d;--kk-muted:#5b6170;--kk-disabled:#9aa0ac;--kk-brand:#ffc933;--kk-brand-tint:#ffc9332e;--kk-brand-ink:#7a5b00;--kk-on-brand:#1c1700;--kk-ok:#15803d;--kk-ok-tint:#15803d1f;--kk-danger:#c62828;--kk-danger-line:#c6282859;--kk-type-rushhour:#c2410c;--kk-type-rushhour-tint:#ea580c1f;--kk-type-laser:#0e7c8c;--kk-type-laser-tint:#0e7c8c1c;--kk-type-quiz:#6d4ed6;--kk-type-quiz-tint:#6d4ed61c;--kk-scrim:#16181d73;--kk-tabbar-bg:#fffffff2}@media (prefers-color-scheme:light){:root:not([data-theme]){--kk-bg:#f6f5f1;--kk-surface:#fff;--kk-surface-2:#eeede8;--kk-line:#e0ded7;--kk-text:#16181d;--kk-muted:#5b6170;--kk-disabled:#9aa0ac;--kk-brand:#ffc933;--kk-brand-tint:#ffc9332e;--kk-brand-ink:#7a5b00;--kk-on-brand:#1c1700;--kk-ok:#15803d;--kk-ok-tint:#15803d1f;--kk-danger:#c62828;--kk-danger-line:#c6282859;--kk-type-rushhour:#c2410c;--kk-type-rushhour-tint:#ea580c1f;--kk-type-laser:#0e7c8c;--kk-type-laser-tint:#0e7c8c1c;--kk-type-quiz:#6d4ed6;--kk-type-quiz-tint:#6d4ed61c;--kk-scrim:#16181d73;--kk-tabbar-bg:#fffffff2}}@font-face{font-family:Inter;src:url(./inter-C2S99t-D.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Space Grotesk;src:url(./space-grotesk-5PZORFv8.woff2)format("woff2");font-weight:300 700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--kk-bg);--surface:var(--kk-surface);--text:var(--kk-text);--text-muted:var(--kk-muted);--border:var(--kk-line);--accent:var(--kk-brand);--accent-contrast:var(--kk-on-brand);--danger:var(--kk-danger);--success:var(--kk-ok);--control-border:#646b7a;--focus:var(--kk-brand-ink);--radius:var(--kk-radius-md);--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--tap-min:var(--kk-tap-min);--font:var(--kk-font-body)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--control-border:#8b8880}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--control-border:#8b8880}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;margin:0;font-size:1rem;line-height:1.5;overflow-x:clip}#app{min-height:100dvh}.page{max-width:40rem;padding:max(var(--kk-space-5), env(safe-area-inset-top)) max(var(--kk-space-5), env(safe-area-inset-right)) max(var(--kk-space-6), env(safe-area-inset-bottom)) max(var(--kk-space-5), env(safe-area-inset-left));margin-inline:auto}.page.wide{max-width:calc(1200px + 2 * var(--kk-space-6))}.with-tabbar .page{padding-bottom:calc(var(--kk-tabbar-h) + var(--kk-space-6) + env(safe-area-inset-bottom))}h1,h2,h3{font-family:var(--kk-font-display);letter-spacing:-.01em;font-weight:700}h1{margin:0 0 var(--space-2);font-size:1.75rem;line-height:1.2}p{margin:0 0 var(--space-3);color:var(--text-muted)}a{color:var(--kk-brand-ink)}button,a.button,label.button{justify-content:center;align-items:center;gap:var(--kk-space-2);min-width:var(--tap-min);min-height:var(--kk-btn-h);padding:var(--kk-space-2) var(--kk-space-5);border-radius:var(--kk-radius-lg);background:var(--kk-brand);color:var(--kk-on-brand);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;border:1px solid #0000;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}button:focus-visible,a.button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}svg{touch-action:none;max-width:100%;height:auto;display:block}svg.icon,svg.logo{touch-action:auto;flex:none}button.secondary,a.button.secondary,label.button.secondary{border-color:var(--kk-line);background:var(--kk-surface-2);color:var(--kk-text);font-weight:600}button.quiet,a.button.quiet{color:var(--kk-text);background:0 0;font-weight:600}button.danger,a.button.danger,button.secondary.danger{border-color:var(--kk-danger-line);color:var(--kk-danger);background:0 0;font-weight:600}button.large,a.button.large{min-height:var(--kk-btn-h-lg)}button.block,a.button.block{width:100%}button:disabled{opacity:.45;cursor:default}:is(.board,.editor-body) :is(button,a.button,label.button):not(.icon-button){min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius)}.dialog{width:min(24rem, calc(100vw - 2 * var(--space-3)));padding:var(--space-4);border:1px solid var(--border);border-radius:var(--kk-radius-2xl);background:var(--surface);color:var(--text)}.dialog::backdrop{background:var(--kk-scrim)}.dialog h2{margin:0 0 var(--space-2)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}h2{margin:var(--space-4) 0 var(--space-2);font-size:1.125rem}.card-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.card{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);grid-template-columns:auto 1fr auto;text-decoration:none;display:grid}.card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.card-icon{font-size:1.5rem}.card-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-weight:600}.card-detail{color:var(--text-muted);font-size:.875rem}.tile-scroller,.chips,.puzzle-tile,.puzzle-card{position:relative}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.field{gap:var(--space-1);margin-bottom:var(--space-3);font-weight:600;display:grid}input[type=text],input[type=email],input[type=password],.field textarea{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:400}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.hint{font-size:.875rem}.field .hint{font-weight:400}.grid-editor{gap:var(--space-3);display:grid}.palette{gap:var(--space-2);border:0;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));margin:0;padding:0;display:grid}.palette-group{margin-top:var(--kk-space-2);color:var(--kk-muted);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:.75rem;font-weight:600}.palette-group:first-of-type{margin-top:0}.tool input{opacity:0;pointer-events:none;position:absolute}.tool>span{align-content:center;place-items:center;gap:var(--kk-space-1);height:100%;min-height:64px;padding:var(--kk-space-2) var(--kk-space-1);border-radius:var(--kk-radius-lg);outline:1px solid var(--kk-line);outline-offset:-1px;background:var(--kk-surface);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;border:2px solid #0000;font-size:.75rem;font-weight:600;line-height:1.2;display:grid}.tool>span>.icon{flex:none}.tool input:checked+span{border-color:var(--kk-brand);outline-color:#0000}.tool input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.ge-board{justify-self:center;width:min(100%,70dvh)}.ge-cell{fill:#0000;cursor:pointer}.ge-cell.ring{stroke:var(--border);stroke-width:3px;stroke-dasharray:10 8}.size-controls{gap:var(--space-3);flex-wrap:wrap;display:flex}.stepper{align-items:center;gap:var(--space-2);display:flex}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:600}.problem-list{padding-left:var(--space-4);margin:0}.status-problem{color:var(--danger);font-weight:600}.status-ok{color:var(--success);font-weight:600}.share-link{width:100%;font-family:ui-monospace,monospace;font-size:.875rem}.badge-ok{color:var(--success);font-weight:600}.notice{padding:var(--space-2) var(--space-3);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);font-weight:600}.quiz{gap:var(--space-3);display:grid}.quiz-progress{font-variant-numeric:tabular-nums;margin:0}.quiz progress{width:100%;height:8px;accent-color:var(--accent)}.quiz-question{gap:var(--space-3);display:grid}.quiz-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1.25rem}.quiz-inputs{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.quiz-option{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);cursor:pointer;display:flex}.quiz-option input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.quiz-option:has(input:checked){border-color:var(--accent)}.quiz-option.correct{border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.quiz-inputs:disabled .quiz-option{cursor:default}.quiz-input,.quiz-edit-question textarea,.quiz-edit-question input[type=text],.quiz-add select,.quiz-edit-head select,.field input[type=number]{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:400}.quiz-feedback{margin:0;font-weight:600}.quiz-feedback.correct,.quiz-summary .correct{color:var(--success)}.quiz-feedback.wrong,.quiz-summary .wrong{color:var(--danger)}.quiz-summary{padding-left:var(--space-4);margin:0}.quiz-edit-list{gap:var(--space-3);margin:0 0 var(--space-3);padding:0;list-style:none;display:grid}.quiz-edit-question{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid}.quiz-edit-question.problem{border-color:var(--danger);border-style:dashed}.quiz-edit-question textarea{resize:vertical}.quiz-edit-question .hint{margin:0}.quiz-edit-head,.quiz-add,.quiz-edit-add-answer{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.quiz-edit-head .danger{color:var(--danger)}.quiz-edit-options,.quiz-edit-answers{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.quiz-edit-options li,.quiz-edit-answers li{align-items:center;gap:var(--space-2);display:flex}.quiz-edit-options input[type=text],.quiz-edit-add-answer input{flex:1;min-width:0}.quiz-edit-options input[type=radio],.quiz-edit-options input[type=checkbox]{width:var(--tap-min);height:1.5rem;accent-color:var(--success);margin:0}.quiz-edit-answers span{flex:1}.hidden-answer{color:var(--text-muted);font-style:italic}.quiz-edit-number{gap:var(--space-2);display:grid}.quiz-edit-number .field{margin:0}.quiz-edit-list,.quiz-edit-question,.quiz-edit-options,.quiz-edit-answers{grid-template-columns:minmax(0,1fr)}.quiz-edit-number{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-edit-number input,.quiz-edit-question textarea{width:100%;min-width:0}.quiz-edit-head select{flex:6rem;min-width:0}.site-footer{gap:var(--kk-space-6);margin-top:var(--kk-space-8);flex-wrap:wrap;font-size:.875rem;display:flex}.site-footer a,.imprint-link{color:var(--text-muted)}.imprint{margin-bottom:var(--space-3);font-style:normal}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px}:where(svg [tabindex]):focus-visible{stroke:var(--focus);stroke-width:8px;outline:none}.account-form{gap:var(--space-1);max-width:28rem;margin-bottom:var(--space-3);display:grid}.account-form button[type=submit]{justify-self:start}.account-links{gap:var(--space-3);flex-wrap:wrap;display:flex}.link-button{min-width:0;color:var(--kk-brand-ink);background:0 0;padding-inline:0;font-weight:400;text-decoration:underline}.account-ok{padding:var(--space-2) var(--space-3);border:1px solid var(--success);border-radius:var(--radius);color:var(--success);font-weight:600}.account-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}button.danger-button{background:var(--danger);color:var(--accent-contrast)}.field textarea{resize:vertical}.published-description{white-space:pre-line;overflow-wrap:anywhere}.publication-list{gap:var(--space-3);margin:0 0 var(--space-3);padding:0;list-style:none;display:grid}.publication{padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface)}.publication h3 a{color:var(--kk-text);text-decoration:none}.publication h3{margin:0 0 var(--space-1);overflow-wrap:anywhere;font-size:1rem}.publication p{margin:0 0 var(--space-2)}.like-count{font-variant-numeric:tabular-nums}.rating{border:0;margin:0;padding:0}.rating legend{margin-bottom:var(--space-1);padding:0;font-weight:600}.rating-scale{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rating-scale button{min-width:var(--tap-min)}.report-reasons{gap:var(--space-1);margin:0 0 var(--space-3);border:0;padding:0;display:grid}.report-reasons legend{margin-bottom:var(--space-1);padding:0;font-weight:600}.choice{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.moderation-title{margin:0 0 var(--space-1);overflow-wrap:anywhere;font-size:1rem}.moderation-reports{gap:var(--space-2);margin:0 0 var(--space-3);padding-left:var(--space-4);display:grid}.moderation-reports li{display:grid}.moderation-comment{white-space:pre-line;overflow-wrap:anywhere}.quiz-image{width:100%;max-height:50dvh;margin:0 0 var(--space-3);object-fit:contain;border-radius:var(--radius);display:block}.quiz-image-placeholder{place-items:center;gap:var(--kk-space-2);min-height:6rem;padding:var(--space-3);border:1px dashed var(--control-border);color:var(--text-muted);text-align:center;overflow-wrap:anywhere;display:grid}.quiz-image-edit{gap:var(--space-2);display:grid}.quiz-image-edit .quiz-image{max-height:12rem;margin:0}.quiz-image-edit .field{margin:0}.quiz-image-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.quiz-image-pick{cursor:pointer}.quiz-image-pick:focus-within{outline:3px solid var(--focus);outline-offset:2px}.moderation-images{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.moderation-images img{object-fit:cover;border-radius:var(--radius);width:6rem;height:6rem}.typed{--type:var(--type-d,var(--kk-muted));--type-tint:color-mix(in srgb, var(--type) 14%, transparent)}:root[data-theme=light] .typed{--type:var(--type-l,var(--kk-muted));--type-tint:color-mix(in srgb, var(--type) 12%, transparent)}@media (prefers-color-scheme:light){:root:not([data-theme]) .typed{--type:var(--type-l,var(--kk-muted));--type-tint:color-mix(in srgb, var(--type) 12%, transparent)}}.icon-button{width:var(--kk-tap-min);min-width:var(--kk-tap-min);height:var(--kk-tap-min);min-height:var(--kk-tap-min);border:1px solid var(--kk-line);border-radius:var(--kk-radius-md);background:var(--kk-surface);color:var(--kk-text);place-items:center;padding:0;display:inline-grid}a.icon-button{text-decoration:none}.message-actions{gap:var(--kk-space-3);flex-wrap:wrap;display:flex}.direction-pad{grid-template-columns:repeat(3, var(--kk-tap-min));gap:var(--kk-space-1);grid-template-areas:".n.""w.e"".s.";justify-content:center;display:grid}.direction-pad .pad-N{grid-area:n}.direction-pad .pad-E{grid-area:e}.direction-pad .pad-S{grid-area:s}.direction-pad .pad-W{grid-area:w}.segment{gap:var(--kk-space-1);padding:var(--kk-space-1);border:1px solid var(--kk-line);border-radius:var(--kk-radius-lg);background:var(--kk-surface);display:flex}.segment button{min-height:40px;padding:var(--kk-space-2) var(--kk-space-3);border-radius:var(--kk-radius-md);color:var(--kk-muted);background:0 0;flex:1;font-weight:500}.segment button[aria-checked=true]{background:var(--kk-surface-2);color:var(--kk-text);font-weight:600}.chips{gap:var(--kk-space-2);margin:0 calc(-1 * var(--kk-space-5));padding:2px var(--kk-space-5);scrollbar-width:none;display:flex;overflow-x:auto}.chip{min-height:36px;padding:0 var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-pill);background:var(--kk-surface);color:var(--kk-text);flex:none;font-size:.875rem;font-weight:500;position:relative}.chip:after{content:"";position:absolute;inset:-4px 0}.chip[aria-pressed=true]{border-color:var(--kk-text);background:var(--kk-text);color:var(--kk-bg);font-weight:600}.chip-dot{background:var(--type);border-radius:50%;width:8px;height:8px}.badge{align-items:center;gap:var(--kk-space-1);border-radius:var(--kk-radius-pill);white-space:nowrap;border:1px solid #0000;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-type{background:var(--type-tint);color:var(--type)}.badge-solved,.badge-ready,.badge-gallery{background:var(--kk-ok-tint);color:var(--kk-ok)}.badge-link{background:var(--kk-brand-tint);color:var(--kk-brand-ink)}.badge-draft,.badge-saved{border-color:var(--kk-line);color:var(--kk-muted)}.badge-lang{border-color:var(--kk-line);color:var(--kk-muted);letter-spacing:.04em}.badge-lang abbr{text-decoration:none}.type-tile-icon{border-radius:var(--kk-radius-md);background:var(--type-tint);width:44px;height:44px;color:var(--type);flex:none;place-items:center;display:inline-grid}.type-tile-icon.sm{border-radius:8px;width:28px;height:28px}.label{color:var(--kk-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.box{padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface)}.stats{gap:var(--kk-space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats.one{grid-template-columns:minmax(0,1fr)}.stats-live{display:contents}.stat{padding:var(--kk-space-2) var(--kk-space-2) var(--kk-space-2);border-radius:var(--kk-radius-lg);background:var(--kk-surface);text-align:center;justify-items:center;display:grid}.stat-label{color:var(--kk-muted);font-size:.75rem}.stat-value{font-family:var(--kk-font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;line-height:1.2}.stat.ok .stat-value{color:var(--kk-ok)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--kk-space-3);margin:var(--kk-space-8) 0 var(--kk-space-3);display:flex}.section-head h2{margin:0;font-size:1.25rem}.section-head a,.text-link{color:var(--kk-brand-ink);font-size:.875rem;font-weight:600;text-decoration:none}.settings{border:1px solid var(--kk-line);background:var(--kk-surface);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.settings>li+li{border-top:1px solid var(--kk-line)}.settings-row{justify-content:flex-start;align-items:center;gap:var(--kk-space-3);width:100%;min-height:56px;padding:var(--kk-space-2) var(--kk-space-4);color:var(--kk-text);text-align:left;background:0 0;border:0;border-radius:0;font-weight:500;text-decoration:none;display:flex}.settings-row>span:not(.value){flex:1;min-width:0}.settings-row .value{color:var(--kk-muted);font-weight:400}.settings-row>.icon:last-child{color:var(--kk-muted)}.sheet{width:100%;max-width:40rem;max-height:calc(100dvh - var(--kk-space-6));border-radius:var(--kk-radius-sheet) var(--kk-radius-sheet) 0 0;background:var(--kk-surface);color:var(--kk-text);overscroll-behavior:contain;border:0;margin:auto auto 0;padding:0;overflow-y:auto}.sheet[open]{animation:.22s ease-out sheet-in}.sheet::backdrop{background:var(--kk-scrim)}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sheet[open]{animation:none}}.sheet-body{gap:var(--kk-space-4);padding:var(--kk-space-3) var(--kk-space-5) max(var(--kk-space-8), env(safe-area-inset-bottom));display:grid}.sheet-handle{border-radius:var(--kk-radius-pill);background:var(--kk-line);justify-self:center;width:40px;height:5px}.sheet-title{margin:0;font-size:1.375rem}.sheet p{margin:0}.build-types{gap:var(--kk-space-2);margin:0;padding:0;list-style:none;display:grid}.build-type{align-items:center;gap:var(--kk-space-3);padding:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);color:var(--kk-text);text-decoration:none;display:flex}.build-type-text{flex:1;min-width:0;display:grid}.build-type-name{font-weight:600}.build-type-desc{color:var(--kk-muted);font-size:.875rem}.tabbar{z-index:10;height:calc(var(--kk-tabbar-h) + env(safe-area-inset-bottom));padding:0 max(var(--kk-space-2), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--kk-space-2), env(safe-area-inset-left));border-top:1px solid var(--kk-line);background:var(--kk-tabbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;inset:auto 0 0}.tab{min-height:var(--kk-tap-min);padding:var(--kk-space-1) 0;color:var(--kk-muted);background:0 0;border:0;justify-items:center;gap:2px;font-size:.6875rem;font-weight:500;text-decoration:none;display:grid}.tab[aria-current=page]{color:var(--kk-brand-ink);font-weight:600}.tab-build{justify-self:center;padding:0}.tab-build-square{background:var(--kk-brand);width:52px;height:52px;color:var(--kk-on-brand);border-radius:16px;place-items:center;display:grid}.topnav{display:none}.brand{align-items:center;gap:var(--kk-space-3);color:var(--kk-text);font-family:var(--kk-font-display);font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.avatar{width:var(--kk-tap-min);height:var(--kk-tap-min);background:color-mix(in srgb, var(--kk-type-quiz) 22%, var(--kk-surface));color:var(--kk-text);font-family:var(--kk-font-display);border-radius:50%;flex:none;place-items:center;font-weight:700;text-decoration:none;display:grid}@media (width>=900px){.tabbar{display:none}.with-tabbar .page{padding-bottom:max(var(--kk-space-8), env(safe-area-inset-bottom))}.topnav{z-index:10;border-bottom:1px solid var(--kk-line);background:var(--kk-tabbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:block;position:sticky;top:0}.topnav-inner{align-items:center;gap:var(--kk-space-6);max-width:calc(1200px + 2 * var(--kk-space-6));min-height:72px;padding:var(--kk-space-3) var(--kk-space-6);margin-inline:auto;display:flex}.topnav nav{gap:var(--kk-space-1);display:flex}.topnav-link{min-height:var(--kk-tap-min);padding:0 var(--kk-space-3);border-radius:var(--kk-radius-md);color:var(--kk-muted);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.topnav-link[aria-current=page]{background:var(--kk-surface-2);color:var(--kk-text);font-weight:600}.topnav-spacer{flex:1}.mobile-only{display:none!important}}.home-head{justify-content:space-between;align-items:center;gap:var(--kk-space-3);margin-bottom:var(--kk-space-6);display:flex}.home-hello p{margin:0 0 var(--kk-space-1)}.home-hello h1{margin:0;font-size:1.75rem}.home-top{gap:var(--kk-space-4);margin-top:var(--kk-space-6);display:grid}.section-note{color:var(--kk-muted);font-size:.875rem}.build-card{align-items:center;gap:var(--kk-space-4);padding:var(--kk-space-5) var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-2xl);background:var(--kk-surface-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.build-card-icon{border-radius:var(--kk-radius-lg);background:var(--kk-brand);width:48px;height:48px;color:var(--kk-on-brand);place-items:center;display:grid}.build-card h2{margin:0;font-size:1.0625rem;line-height:1.25}.build-card p{margin:var(--kk-space-1) 0 0;font-size:.875rem;line-height:1.4}.build-card-go:after{content:"";border-radius:inherit;position:absolute;inset:0}.build-card-types{display:none}.type-grid{gap:var(--kk-space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.type-card{height:100%}.type-card-tile{place-content:start stretch;justify-items:start;gap:var(--kk-space-1);width:100%;height:100%;padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);color:var(--kk-text);text-align:left;font-weight:400;display:grid}.type-card-tile .type-tile-icon{margin-bottom:var(--kk-space-3)}.type-card-name{font-weight:700}.type-card-progress{color:var(--kk-muted);font-size:.875rem}.progress{width:100%;height:4px;margin-top:var(--kk-space-2);border-radius:var(--kk-radius-pill);background:var(--kk-surface-2);display:block;overflow:hidden}.progress>span{border-radius:inherit;background:var(--type,var(--kk-brand));height:100%;display:block}.type-card-full{display:none}.type-card-head{align-items:center;gap:var(--kk-space-3);display:flex}.type-card-head h3,.type-card-head h2{margin:0;font-size:1.125rem}.type-card-head p{margin:0;font-size:.8125rem;line-height:1.3}.type-more{align-content:center;gap:var(--kk-space-1);min-height:140px;padding:var(--kk-space-4);border:1px dashed var(--kk-line);border-radius:var(--kk-radius-xl);color:var(--kk-muted);font-size:.875rem;display:grid}.type-more .icon{margin-bottom:var(--kk-space-2)}.type-more-title{color:var(--kk-text);font-weight:600}.level-list{margin:0;padding:0;list-style:none}.level-list li+li{border-top:1px solid var(--kk-line)}.level-list a{justify-content:space-between;align-items:center;gap:var(--kk-space-3);min-height:var(--kk-tap-min);color:var(--kk-text);text-decoration:none;display:flex}.level-title{overflow-wrap:anywhere;min-width:0}.level-status{color:var(--kk-muted);flex:none;font-size:.875rem}.level-status.ok{color:var(--kk-ok);font-weight:600}.sheet-actions{gap:var(--kk-space-2);flex-wrap:wrap;display:flex}.sheet-actions>*{flex:10rem}.thumb{border:1px solid var(--kk-line);background-color:var(--kk-surface-2);background-image:linear-gradient(var(--kk-line) 1px, transparent 1px), linear-gradient(90deg, var(--kk-line) 1px, transparent 1px);background-position:-1px -1px;background-size:14px 14px;flex:none;display:block;position:relative}.thumb.themed{background-color:var(--thumb-board);background-image:linear-gradient(var(--thumb-line) 1px, transparent 1px), linear-gradient(90deg, var(--thumb-line) 1px, transparent 1px)}.thumb-part{border-radius:6px;width:20px;height:20px;position:absolute;bottom:10px}.thumb-part.piece{background:var(--thumb-piece);right:36px}.thumb-part.target{background:var(--thumb-target);border-radius:50%;right:10px}.thumb.list{border-radius:var(--kk-radius-md);width:88px;height:88px}.thumb.tile{border-width:0 0 1px;height:112px}.thumb-icon{background:var(--kk-bg);width:26px;height:26px;color:var(--type);border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;left:10px}.thumb.has-preview{background-image:none;padding:4px;overflow:hidden}.thumb.tile.has-preview{padding:8px}.thumb .preview-board{pointer-events:none;width:100%;height:100%;display:block}.tile-scroller{gap:var(--kk-space-3);margin:0 calc(-1 * var(--kk-space-5));padding:0 var(--kk-space-5) var(--kk-space-1);scroll-snap-type:x mandatory;scroll-padding-inline:var(--kk-space-5);scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.tile-scroller li{scroll-snap-align:start;flex:0 0 160px}.puzzle-tile{border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);height:100%;color:var(--kk-text);text-decoration:none;display:grid;overflow:hidden}.puzzle-tile-body{padding:var(--kk-space-3);align-content:start;gap:2px;display:grid}.puzzle-tile-type{color:var(--type);font-size:.75rem;font-weight:600}.puzzle-card-title{font-family:var(--kk-font-display);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-size:1.0625rem;font-weight:700;line-height:1.25}.puzzle-card-sub{color:var(--kk-muted);font-size:.8125rem}.puzzle-card-meta{gap:var(--kk-space-1) var(--kk-space-3);margin-top:var(--kk-space-1);color:var(--kk-muted);flex-wrap:wrap;font-size:.75rem;display:flex}.meta-item{align-items:center;gap:var(--kk-space-1);display:inline-flex}.meta-item.ok{color:var(--kk-ok)}@media (width>=900px){.home-hello{display:none}.home-top{margin-top:var(--kk-space-2)}.build-card{padding:var(--kk-space-6);grid-template-columns:minmax(0,1fr);align-content:start}.build-card h2{margin-top:var(--kk-space-2);font-size:1.5rem}.build-card p{font-size:1rem}.build-card-go{display:none}.build-card-types{gap:var(--kk-space-2);margin:var(--kk-space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.build-card-types .chip{align-items:center;gap:var(--kk-space-2);color:var(--kk-text);text-decoration:none;display:inline-flex}.type-grid{gap:var(--kk-space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.type-card-tile{display:none}.type-card-full{align-content:start;gap:var(--kk-space-4);height:100%;padding:var(--kk-space-4) var(--kk-space-5);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);display:grid}.type-more{min-height:0;padding:var(--kk-space-5)}.tile-scroller{gap:var(--kk-space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;display:grid;overflow:visible}.thumb.tile{height:140px}}.page.focus{min-height:100dvh;padding-top:max(var(--kk-space-4), env(safe-area-inset-top));padding-inline:max(var(--kk-space-4), env(safe-area-inset-left)) max(var(--kk-space-4), env(safe-area-inset-right));flex-direction:column;display:flex}.play-head{align-items:center;gap:var(--kk-space-2);padding-bottom:var(--kk-space-2);display:flex}.play-title{text-align:center;flex:1;min-width:0}.play-kicker{color:var(--type);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600;display:block}.play-title h1{overflow-wrap:anywhere;margin:2px 0 0;font-size:1.125rem;line-height:1.25}.play-head-spacer{width:var(--kk-tap-min);flex:none}.play-stats{padding-top:var(--kk-space-2)}.play-main{padding:var(--kk-space-4) 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.board{width:100%;max-width:560px;padding:var(--kk-space-2);border:1px solid var(--kk-line);border-radius:var(--kk-radius-2xl);background:var(--kk-surface);place-items:center;display:grid}.board:has(>svg){aspect-ratio:1;width:min(100%,560px,60dvh)}.board>svg{width:100%;height:100%}.board>.quiz{width:100%;padding:var(--kk-space-2)}.play-hint{max-width:320px;color:var(--kk-muted);text-align:center;margin:0;font-size:.875rem}.play-controls{gap:var(--kk-space-1);margin-bottom:max(var(--kk-space-3), env(safe-area-inset-bottom));border:1px solid var(--kk-line);border-radius:var(--kk-radius-2xl);background:var(--kk-surface);grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;display:grid}.play-controls.single{grid-template-columns:minmax(0,1fr)}.play-control{gap:var(--kk-space-1);border-radius:var(--kk-radius-lg);height:60px;color:var(--kk-text);background:0 0;border:0;flex-direction:column;padding:0;font-size:.75rem;font-weight:500}.play-control:disabled{color:var(--kk-disabled);opacity:1}.menu{inset:64px var(--kk-space-4) auto auto;border:1px solid var(--kk-line);border-radius:var(--kk-radius-lg);background:var(--kk-surface);min-width:200px;color:var(--kk-text);margin:0;padding:6px;position:fixed;box-shadow:0 12px 32px #00000059}.menu-item{justify-content:flex-start;align-items:center;gap:var(--kk-space-3);width:100%;min-height:var(--kk-tap-min);padding:0 var(--kk-space-3);border-radius:var(--kk-radius-md);color:var(--kk-text);background:0 0;border:0;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{background:var(--kk-surface-2)}.published-info{gap:var(--kk-space-2);width:100%;max-width:560px;display:grid}.published-info p{margin:0}.published-row{justify-content:space-between;align-items:center;gap:var(--kk-space-3);display:flex}.published-author{color:var(--kk-muted);font-size:.875rem}.like-button{min-height:40px;padding:0 var(--kk-space-4);border-radius:var(--kk-radius-pill);font-size:.875rem}.like-button[aria-pressed=true]{border-color:var(--kk-danger-line);color:var(--kk-danger)}.like-button[aria-pressed=true] .icon{fill:currentColor}.like-count{color:var(--kk-muted);font-variant-numeric:tabular-nums}.solved{gap:var(--kk-space-3);text-align:center;display:grid}.solved-icon{width:72px;height:72px;margin-top:var(--kk-space-2);border-radius:var(--kk-radius-2xl);background:var(--kk-ok-tint);color:var(--kk-ok);justify-self:center;place-items:center;display:grid}.solved-title{margin:var(--kk-space-1) 0 0;font-size:2rem}.solved .solved-sub{color:var(--kk-muted);margin-top:-6px}.solved .stat{background:var(--kk-surface-2)}.like-row{justify-content:space-between;align-items:center;gap:var(--kk-space-3);padding:var(--kk-space-3) var(--kk-space-4);border-radius:var(--kk-radius-lg);text-align:left;display:flex}.like-row-title{color:var(--kk-text);font-weight:600}.like-row-sub{font-size:.8125rem}.solved .rating{text-align:left}.solved-secondary{gap:var(--kk-space-2);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}@media (prefers-reduced-motion:no-preference){.solved-icon{animation:.36s cubic-bezier(.2,1.4,.4,1) solved-pop}}@keyframes solved-pop{0%{opacity:0;transform:scale(.6)}}.page-head{margin-bottom:var(--kk-space-5)}.page-head h1{margin:0;font-size:1.75rem}.page-head p{margin:2px 0 0;font-size:.875rem}.list-bar{align-items:center;gap:var(--kk-space-1) var(--kk-space-3);margin:var(--kk-space-4) 0 var(--kk-space-3);flex-wrap:wrap;display:flex}.list-count{color:var(--kk-muted);flex:1;font-size:.875rem}.quiet-select{color:var(--kk-text);align-items:center;display:inline-flex;position:relative}.quiet-select select{min-height:var(--kk-tap-min);padding:0 calc(var(--kk-space-2) + 20px) 0 var(--kk-space-2);border-radius:var(--kk-radius-md);color:inherit;font:inherit;appearance:none;field-sizing:content;cursor:pointer;background:0 0;border:0;font-size:.9375rem;font-weight:600}.quiet-select select option{background:var(--kk-surface);color:var(--kk-text)}.quiet-select .icon{right:var(--kk-space-2);pointer-events:none;position:absolute}.card-list{gap:var(--kk-space-3)}.puzzle-card{align-items:center;gap:var(--kk-space-4);padding:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);color:var(--kk-text);text-decoration:none;display:flex}.puzzle-card-body{justify-items:start;gap:2px;min-width:0;display:grid}.puzzle-card-badges{gap:var(--kk-space-2);flex-wrap:wrap;margin-bottom:2px;display:flex}.puzzle-card .badge-solved{background:0 0;padding-inline:0}.empty{padding:var(--kk-space-6) var(--kk-space-4);border:1px dashed var(--kk-line);border-radius:var(--kk-radius-xl);text-align:center}.gallery-more{margin-top:var(--kk-space-4)}@media (width>=900px){.chips{flex-wrap:wrap;margin:0;padding:2px 0}.page.wide .card-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.editor-head{align-items:center;gap:var(--kk-space-3) var(--kk-space-2);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"close title share""mode mode mode";display:grid;position:relative}.editor-head>.icon-button{grid-area:close}.editor-title{grid-area:title}.editor-mode{grid-area:mode}.editor-head .editor-share{grid-area:share}.desktop-flex{display:none}.editor-title{text-align:center;flex:1;min-width:0}.title-input{justify-content:center;align-items:center;gap:var(--kk-space-1);color:var(--kk-muted);display:flex;position:relative}.title-input input{min-width:4ch;min-height:32px;padding:0 var(--kk-space-1);color:var(--kk-text);font-family:var(--kk-font-display);text-align:center;field-sizing:content;background:0 0;border:0;border-radius:8px;max-width:calc(100% - 20px);font-size:1.125rem;font-weight:700}.title-input input:hover{background:var(--kk-surface)}.editor-share{min-height:var(--kk-tap-min);padding-inline:var(--kk-space-4);flex:none}.check-line{align-items:center;gap:var(--kk-space-2);margin-top:var(--kk-space-3);padding:var(--kk-space-3) var(--kk-space-4);border-radius:var(--kk-radius-lg);background:var(--kk-surface);color:var(--kk-muted);font-size:.875rem;font-weight:600;display:flex}.check-line.ok{background:var(--kk-ok-tint);color:var(--kk-ok)}.check-line.problem{background:color-mix(in srgb, var(--kk-danger) 12%, transparent);color:var(--kk-danger)}.check-line>span:first-of-type{flex:1}.check-more{flex:none}.check-line+.problem-list{margin:var(--kk-space-2) 0 0;color:var(--kk-danger);font-size:.875rem}.editor-hint{margin:var(--kk-space-2) 0 0;font-size:.8125rem}.editor-body{gap:var(--kk-space-4);padding:var(--kk-space-4) 0 max(var(--kk-space-3), env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.editor-body>.grid-editor{display:contents}.editor-body .ge-board{width:min(100%,600px,56dvh);padding:var(--kk-space-2);border:1px solid var(--kk-line);border-radius:var(--kk-radius-2xl);background:var(--kk-surface);order:1;align-self:center}.editor-tools-bar{align-items:center;gap:var(--kk-space-2);order:2;display:flex}.editor-tools-label{flex:1}.editor-tools-undo{gap:var(--kk-space-1);display:flex}:is(.editor-body:not(:has(.palette)) .editor-tools-label,.editor-body:not(:has(.size-controls)) .editor-settings-title){display:none!important}.editor-check .check-line{margin-top:var(--kk-space-3)}.editor-lang{justify-content:space-between;align-items:center;gap:var(--kk-space-3);margin-top:var(--kk-space-3);color:var(--kk-muted);font-size:.875rem;display:flex}.editor-lang select{min-height:44px;padding:0 var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-md);background:var(--kk-surface);color:var(--kk-text);font:inherit}.editor-theme .theme-swatches{width:max-content;margin:var(--kk-space-2) 0 0 auto;border:1px solid var(--kk-line);border-radius:var(--kk-radius-md);gap:6px;padding:6px 8px;display:flex}.theme-swatch{border-radius:50%;width:18px;height:18px}.theme-warnings ul{gap:var(--kk-space-1);margin:var(--kk-space-2) 0 0;color:var(--kk-danger);padding:0;font-size:.875rem;list-style:none;display:grid}.theme-warnings li{gap:var(--kk-space-2);align-items:flex-start;display:flex}.theme-warnings li svg{flex:none;margin-top:2px}.theme-warnings p{margin:var(--kk-space-1) 0 0;font-size:.8125rem}.theme-edit{margin-top:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-md)}.theme-edit summary{gap:var(--kk-space-2);min-height:44px;padding:0 var(--kk-space-3);cursor:pointer;align-items:center;font-size:.875rem;font-weight:600;display:flex}.theme-colors{gap:var(--kk-space-2);padding:0 var(--kk-space-3) var(--kk-space-3);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));display:grid}.theme-color{gap:var(--kk-space-2);align-items:center;font-size:.8125rem;display:flex}.theme-color input{border:1px solid var(--kk-line);border-radius:var(--kk-radius-md);background:var(--kk-surface);cursor:pointer;flex:none;width:44px;height:44px;padding:2px}.icon-choices{gap:var(--kk-space-2);padding:0 var(--kk-space-3) var(--kk-space-3);border:0;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));margin:0;display:grid}.icon-choices legend{padding:0 var(--kk-space-3) var(--kk-space-2);color:var(--kk-muted);font-size:.8125rem}.icon-choice{cursor:pointer;display:block;position:relative}.icon-choice input{opacity:0;position:absolute}.icon-choice-face{border:2px solid var(--kk-line);border-radius:var(--kk-radius-md);place-items:center;height:44px;display:grid}.icon-choice-face svg{width:32px;height:32px}.icon-choice-face .main{fill:var(--icon-main)}.icon-choice-face .detail{fill:var(--icon-detail)}.icon-choice input:checked+.icon-choice-face{border-color:var(--kk-brand,#ffd23f);box-shadow:0 0 0 2px var(--kk-brand,#ffd23f)}.icon-choice input:focus-visible+.icon-choice-face{outline:2px solid var(--focus,#2f6fdd);outline-offset:2px}.icon-default{color:var(--icon-main);font-size:.625rem;font-weight:700}.theme-save{gap:var(--kk-space-2);padding:var(--kk-space-3);border-top:1px solid var(--kk-line);font-size:.875rem;display:grid}.theme-save label{gap:var(--kk-space-1);color:var(--kk-muted);display:grid}.theme-save input{min-height:44px;padding:0 var(--kk-space-3);border:1px solid var(--control-border,var(--kk-line));border-radius:var(--kk-radius-md);background:var(--kk-surface);color:var(--kk-text);font:inherit}.theme-save-actions{gap:var(--kk-space-2);flex-wrap:wrap;display:flex}.theme-save .status-problem{margin:0}.editor-tools-bar .icon-button{background:0 0;border-color:#0000}.editor-body .palette{order:3}.editor-body .size-controls{order:4}.editor-appearance{padding-top:var(--kk-space-3);border-top:1px solid var(--kk-line);order:5}.editor-appearance-title{margin:0;font-size:1.0625rem}.editor-description{margin-top:var(--kk-space-3)}.editor-description textarea{resize:vertical}.editor-test{padding-top:var(--kk-space-3);flex-direction:column;flex:1;display:flex}.sheet-head{justify-content:space-between;align-items:center;gap:var(--kk-space-3);display:flex}.share-way{gap:var(--kk-space-3);padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);display:grid}.share-way.primary-way{border:2px solid var(--kk-brand);background:var(--kk-brand-tint)}.share-way-head{align-items:flex-start;gap:var(--kk-space-3);display:flex}.share-way-head h3{margin:0;font-size:1.0625rem}.share-way-head p{font-size:.8125rem}.share-way-icon{border-radius:var(--kk-radius-md);background:var(--kk-surface-2);flex:none;place-items:center;width:40px;height:40px;display:grid}.share-way-icon.brand{background:var(--kk-brand);color:var(--kk-on-brand)}.share-link-row{gap:var(--kk-space-2);display:flex}.share-link-row .share-link{border-color:var(--kk-line);background:var(--kk-bg);flex:1;min-width:0}.share-link-row button{padding-inline:var(--kk-space-4);flex:none}.share-way .hint{margin:0}.share-qr{justify-items:center;gap:var(--kk-space-2);text-align:center;display:grid}.share-qr[hidden]{display:none}.qr-code{border-radius:var(--kk-radius-sm);width:min(100%,20rem);height:auto;display:block}.checklist{gap:var(--kk-space-1);margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.checklist li{align-items:center;gap:var(--kk-space-2);color:var(--kk-muted);display:flex}.checklist li.done{color:var(--kk-text)}.checklist li.done .icon{color:var(--kk-ok)}.todo-dot{border:2px solid var(--kk-muted);border-radius:50%;width:16px;height:16px}.page-head.with-action{justify-content:space-between;align-items:center;gap:var(--kk-space-3);display:flex}button.compact,a.button.compact{min-height:var(--kk-tap-min);padding-inline:var(--kk-space-4)}.library-card{align-items:center;gap:var(--kk-space-4);padding:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);display:flex;position:relative}.library-card .thumb.list{width:76px;height:76px}.library-card-body{flex:1;justify-items:start;gap:2px;min-width:0;display:grid}.library-card-link{color:var(--kk-text);font-family:var(--kk-font-display);overflow-wrap:anywhere;font-size:1.0625rem;font-weight:700;line-height:1.25;text-decoration:none}.library-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.library-card-sub{color:var(--kk-muted);font-size:.8125rem}.type-name{color:var(--type)}.library-card .badge{margin-top:var(--kk-space-1)}.icon-button.quiet-icon{z-index:1;background:0 0;border-color:#0000;position:relative}.menu-item.danger-item{color:var(--kk-danger)}.info-box{align-items:flex-start;gap:var(--kk-space-3);margin:var(--kk-space-5) 0 0;padding:var(--kk-space-4);border-radius:var(--kk-radius-lg);background:var(--kk-surface-2);font-size:.875rem;display:flex}.info-box .icon{margin-top:2px}.profile-head{text-align:center;justify-items:center;gap:2px;display:grid}.profile-avatar{width:80px;height:80px;margin-bottom:var(--kk-space-3);background:color-mix(in srgb, var(--kk-type-quiz) 22%, var(--kk-surface));color:var(--kk-type-quiz);font-family:var(--kk-font-display);border-radius:50%;place-items:center;font-size:2rem;font-weight:700;display:grid}.profile-head h1{margin:0;font-size:1.5rem}.profile-head p{overflow-wrap:anywhere;margin:0;font-size:.875rem}.profile-stats{margin-top:var(--kk-space-5)}.profile-stats .stat{padding:var(--kk-space-3) var(--kk-space-2);border:1px solid var(--kk-line)}.profile-stats .stat-value{order:-1;font-size:1.5rem}.settings-label{margin:var(--kk-space-6) 0 var(--kk-space-2)}.settings-hint{margin:var(--kk-space-2) 0 0;color:var(--kk-muted)}.sign-out{margin-top:var(--kk-space-6)}.danger-box{justify-items:start;gap:var(--kk-space-3);margin-top:var(--kk-space-3);padding:var(--kk-space-4);border:1px solid var(--kk-danger-line);border-radius:var(--kk-radius-xl);display:grid}.danger-box p{margin:0;font-size:.875rem}.sheet .account-form{max-width:none}.sheet .account-form button[type=submit]{justify-self:stretch}.sheet .publication-list{margin:0}.play-layout{flex-direction:column;flex:1;display:flex}.play-stage,.play-side{display:contents}.play-side .play-stats{order:1}.play-main{flex:none;order:2;margin-top:auto}.play-how{order:3;justify-items:center;margin-bottom:auto;display:grid}.play-side .leaderboard{width:100%;max-width:560px;margin:var(--kk-space-4) auto 0;order:5}.play-side .published-info{margin:var(--kk-space-3) auto 0;order:4;justify-self:center}.play-side .play-description{gap:var(--kk-space-1);width:100%;max-width:560px;margin:var(--kk-space-3) auto 0;order:4;display:grid}.play-description p{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-weight:400}.play-controls{margin-top:var(--kk-space-4);order:10}@media (width<=899.98px){.desktop-only,.level-long{display:none!important}}.level-long{color:var(--kk-muted);font-weight:400}.play-levels .current,.level-status.now{color:var(--kk-brand-ink);font-weight:600}@media (width>=900px){.page.focus{max-width:calc(1200px + 2 * var(--kk-space-6));padding-inline:var(--kk-space-6)}.play-side>*,.play-side>.play-stats,.play-side>.published-info,.play-side>.play-description,.play-side>.leaderboard,.play-stage>*{order:0;margin:0}.play-head{padding-bottom:var(--kk-space-4);position:relative}.play-head:after,.editor-head:after{content:"";background:var(--kk-line);width:100vw;height:1px;position:absolute;bottom:0;left:50%;translate:-50%}.play-title{text-align:left}.play-kicker{letter-spacing:0;text-transform:none;font-size:.8125rem}.level-short{display:none}.play-title h1{font-size:1.375rem}.play-layout{align-items:start;gap:var(--kk-space-8) clamp(var(--kk-space-6), 6vw, 160px);padding-top:var(--kk-space-7);flex:none;grid-template-columns:minmax(0,1fr) minmax(300px,300px);display:grid}.play-stage{justify-items:center;gap:var(--kk-space-5);display:grid}.play-side{gap:var(--kk-space-4);display:grid}.play-main{width:100%;padding:0}.board:has(>svg){width:min(100%,560px,70dvh)}.play-controls{gap:var(--kk-space-2);background:0 0;border:0;margin:0;padding:0;display:flex}.play-control{gap:var(--kk-space-2);height:var(--kk-btn-h);padding:0 var(--kk-space-5);border:1px solid var(--kk-line);background:var(--kk-surface);flex-direction:row;font-size:.9375rem;font-weight:600}.play-control .icon{width:18px;height:18px}.play-side .stat{padding:var(--kk-space-3) var(--kk-space-2);border:1px solid var(--kk-line)}.play-side .stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.play-side .stat-value{font-size:1.625rem}.play-how{padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);justify-items:start}.play-how h2,.play-levels h2{margin:0 0 var(--kk-space-2);font-size:1.0625rem}.play-how .play-hint{text-align:left;max-width:none;line-height:1.6}.play-side .published-info{margin:0}.play-levels .level-list a{min-height:40px;font-size:.9375rem}.desktop-flex{display:flex}.editor-head{gap:var(--kk-space-3);padding-bottom:var(--kk-space-3);display:flex}.editor-title{text-align:left;flex:1}.editor-title .title-input{justify-content:flex-start}.title-input input{text-align:left;padding:0;font-size:1.375rem}.editor-mode{width:300px}.editor-head-undo{gap:var(--kk-space-2)}.editor-tools-undo{display:none}.editor-body:has(>.grid-editor){align-items:start;gap:var(--kk-space-4) var(--kk-space-6);padding-top:var(--kk-space-6);grid-template-rows:repeat(6,min-content) 1fr;grid-template-columns:220px minmax(0,1fr) 280px;display:grid}.editor-body:has(>.grid-editor)>*{order:0}.editor-body:has(>.grid-editor) .editor-tools-bar{grid-area:1/1}.editor-body:has(>.grid-editor) .palette{gap:var(--kk-space-2);grid-area:2/1/6;grid-template-columns:minmax(0,1fr)}.editor-body:has(>.grid-editor) .palette .tool>span{justify-content:flex-start;gap:var(--kk-space-3);min-height:50px;padding:0 var(--kk-space-4);font-size:.9375rem;display:flex}.editor-body:has(>.grid-editor)>p{grid-area:6/1;margin:0;font-size:.8125rem}.editor-body .ge-board{grid-area:1/2/-1;place-self:start center;width:min(100%,600px,74dvh)}.editor-body:has(>.grid-editor) .editor-check{grid-area:1/3/3}.editor-check{gap:var(--kk-space-3);padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface);display:grid}.editor-check h2,.editor-settings-title{margin:0;font-size:1.0625rem}.editor-check .check-line,.editor-check .editor-hint{margin:0}.check-fact{justify-content:space-between;margin:0;font-size:.875rem;display:flex}.check-fact strong{color:var(--kk-text)}.editor-body:has(>.grid-editor) .editor-settings-title{margin-bottom:calc(-1 * var(--kk-space-4));padding:var(--kk-space-4) var(--kk-space-4) var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl) var(--kk-radius-xl) 0 0;background:var(--kk-surface);border-bottom:0;grid-area:3/3}.editor-body:has(>.grid-editor) .size-controls{gap:var(--kk-space-2);padding:0 var(--kk-space-4) var(--kk-space-4);border:1px solid var(--kk-line);border-radius:0 0 var(--kk-radius-xl) var(--kk-radius-xl);background:var(--kk-surface);border-top:0;grid-area:4/3;display:grid}.editor-body:has(>.grid-editor) .editor-appearance{grid-area:5/3}.editor-appearance{padding:var(--kk-space-4);border:1px solid var(--kk-line);border-radius:var(--kk-radius-xl);background:var(--kk-surface)}.editor-body:has(>.grid-editor) .stepper{justify-content:space-between}.editor-body:not(:has(>.grid-editor)){width:min(100%,720px);padding-top:var(--kk-space-6);margin-inline:auto;display:grid}.editor-test{width:100%;padding-top:0}.page.focus>.editor-check{display:none}}.back-head{align-items:center;gap:var(--kk-space-3);margin-bottom:var(--kk-space-5);display:flex}.back-head h1{overflow-wrap:anywhere;margin:0;font-size:1.5rem}.page.focus>.button{align-self:flex-start}.gallery-switch{gap:var(--kk-space-3);margin-bottom:var(--kk-space-4);flex-wrap:wrap;align-items:center;display:flex}.gallery-switch .segment{flex:16rem}.gallery-switch>.button{flex:none}.badge-chain{background:var(--kk-brand-tint);color:var(--kk-brand-ink)}.chain-thumb .thumb-icon,.chain-head .play-kicker{color:var(--kk-brand-ink)}.chain-next,.chain-finale{gap:var(--kk-space-3);margin:var(--kk-space-4) 0;display:grid}.chain-next .label{margin:0}.chain-finale{text-align:center;justify-items:center}.chain-finale .solved-title{margin:0}.chain-story{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:1.0625rem;line-height:1.5}.play-story{margin:0 0 var(--kk-space-3)}.chain-steps,.chain-draft-steps{gap:var(--kk-space-2);margin:var(--kk-space-4) 0;padding:0;list-style:none;display:grid}.chain-step{border:1px solid var(--kk-line);border-radius:var(--kk-radius-lg);background:var(--kk-surface)}.chain-step.is-locked,.chain-step.is-unavailable{align-items:center;gap:var(--kk-space-3);padding:var(--kk-space-3);color:var(--kk-muted);display:flex}.chain-step.is-unavailable{background:0 0;border-style:dashed}.chain-step-link{align-items:center;gap:var(--kk-space-3);min-height:56px;padding:var(--kk-space-3);color:var(--kk-text);text-decoration:none;display:flex}.chain-step.is-open{border-color:var(--kk-brand)}.chain-step-number{border-radius:var(--kk-radius-pill);background:var(--kk-surface-2);flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.chain-step.is-solved .chain-step-number{background:var(--kk-ok-tint);color:var(--kk-ok)}.chain-step.is-open .chain-step-number{background:var(--kk-brand);color:var(--kk-on-brand)}.chain-step-body{flex:1;gap:2px;min-width:0;display:grid}.chain-step-title{overflow-wrap:anywhere;font-weight:600}.chain-step-meta{gap:var(--kk-space-2);flex-wrap:wrap;align-items:center;display:flex}.chain-step-meta .hint{margin:0}.chain-report{margin-top:var(--kk-space-2)}.chain-editor-steps{min-width:0;margin:0 0 var(--kk-space-3);border:0;padding:0}.chain-editor-steps legend{padding:0;font-weight:600}.chain-draft-step{padding:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-lg);background:var(--kk-surface)}.chain-draft-head{align-items:center;gap:var(--kk-space-2);margin-bottom:var(--kk-space-2);display:flex}.chain-draft-head .chain-step-body{justify-items:start}.chain-draft-step .field{margin-bottom:0}.chain-add{gap:var(--kk-space-2);padding:var(--kk-space-3);border:1px dashed var(--kk-line);border-radius:var(--kk-radius-lg);display:grid}.chain-add-row{gap:var(--kk-space-2);display:flex}.chain-add-row select,.chain-add-row input{flex:1;min-width:0}.chain-add select,.daily-plan-form select{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:400}.chain-publish{justify-self:start}.chain-editor,.chain-add,.chain-add .field,.chain-draft-step .field{grid-template-columns:minmax(0,1fr)}.leaderboard{gap:var(--kk-space-2);display:grid}.leaderboard h2{margin:0;font-size:1rem}.leaderboard p,.leaderboard-outcome p{margin:0}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-entry{align-items:center;gap:var(--kk-space-2);font-variant-numeric:tabular-nums;grid-template-columns:2.25rem minmax(0,1fr) auto;min-height:40px;display:grid}.leaderboard-entry:has(.leaderboard-clear){grid-template-columns:2.25rem minmax(0,1fr) auto auto}.leaderboard-entry+.leaderboard-entry{border-top:1px solid var(--kk-line)}.leaderboard-place{font-family:var(--kk-font-display);text-align:center;font-weight:700}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-result{color:var(--kk-muted);white-space:nowrap;font-size:.875rem}.leaderboard-entry.is-me{color:var(--kk-brand-ink);font-weight:600}.leaderboard-entry.is-me .leaderboard-result{color:inherit}.leaderboard-below{margin-top:var(--kk-space-1);padding-top:var(--kk-space-1);border-top:2px dotted var(--kk-line)}.leaderboard-clear{min-height:var(--kk-tap-min);font-size:.875rem}.leaderboard-confirm{gap:var(--kk-space-2);margin-top:var(--kk-space-2);display:grid}.leaderboard-outcome{gap:var(--kk-space-2);text-align:left;width:100%;display:grid}.solved .leaderboard-outcome{background:var(--kk-surface-2)}.leaderboard-place-line{gap:var(--kk-space-1);display:grid}.leaderboard-details summary{min-height:var(--kk-tap-min);cursor:pointer;align-items:center;font-weight:600;display:flex}.daily-card{gap:var(--kk-space-3);padding:var(--kk-space-4);border:1px solid var(--kk-line);border-left:4px solid var(--type,var(--kk-brand));border-radius:var(--kk-radius-2xl);background:var(--kk-surface);color:var(--kk-text);text-decoration:none;display:grid}a.daily-card:hover{border-color:var(--type,var(--kk-brand))}.daily-card-kicker{align-items:center;gap:var(--kk-space-2);color:var(--kk-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.8125rem;font-weight:600;display:inline-flex}.daily-card-text{color:var(--kk-muted);margin:0}.daily-card-main{align-items:center;gap:var(--kk-space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.daily-card-body{gap:var(--kk-space-1);min-width:0;display:grid}.daily-card-title{font-family:var(--kk-font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;font-weight:700;overflow:hidden}.daily-card-badges{gap:var(--kk-space-1);flex-wrap:wrap;display:flex}.daily-card-badges .badge:not([class*=badge-]){border-color:var(--kk-line);color:var(--kk-muted)}.daily-card-foot{justify-content:space-between;align-items:center;gap:var(--kk-space-2);min-height:var(--kk-tap-min);padding-top:var(--kk-space-2);border-top:1px solid var(--kk-line);flex-wrap:wrap;display:flex}.daily-card-streak,.daily-card-go,.daily-streak{align-items:center;gap:var(--kk-space-1);display:inline-flex}.daily-card-streak{color:var(--kk-muted);font-size:.875rem}.daily-card-streak .icon,.daily-streak .icon{color:var(--kk-danger)}.daily-card-go{color:var(--kk-brand-ink);font-weight:600}.daily-streak{justify-content:center;margin:0;font-weight:600}@media (width>=900px){.home-top.with-daily{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.daily-card{padding:var(--kk-space-6);align-content:start}.daily-card-title{font-size:1.5rem}}.daily-plan{gap:var(--kk-space-3);margin-bottom:var(--kk-space-6);display:grid}.daily-plan h2,.daily-plan p{margin:0}.daily-plan-list{margin:0;padding:0;list-style:none}.daily-plan-row{align-items:center;gap:var(--kk-space-2);min-height:var(--kk-tap-min);padding:var(--kk-space-1) 0;grid-template-columns:6.5rem minmax(0,1fr) auto;display:grid}.daily-plan-row+.daily-plan-row{border-top:1px solid var(--kk-line)}.daily-plan-row.today .daily-plan-day{color:var(--kk-brand-ink)}.daily-plan-day{font-variant-numeric:tabular-nums}.daily-plan-puzzle{min-width:0;display:grid}.daily-plan-puzzle a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-plan-form{gap:var(--kk-space-3);display:grid}@media (width>=700px){.daily-plan-form{grid-template-columns:12rem minmax(0,1fr) auto;align-items:start}.daily-plan-form button{margin-top:1.6rem}}.sync-box{gap:var(--kk-space-3);justify-items:start;display:grid}.sync-box p{margin:0}.sync-status{align-items:center;gap:var(--kk-space-2);font-weight:600;display:flex}.sync-status svg{color:var(--kk-muted);flex:none}.chain-step .thumb.list{border-radius:var(--kk-radius-sm);width:56px;height:56px}.daily-card .thumb.list{width:64px;height:64px}.kbd-only{display:none}@media (hover:hover) and (pointer:fine){.kbd-only{display:inline-flex}}.shortcuts-open{place-self:flex-start start;gap:var(--kk-space-2);padding-inline:var(--kk-space-2)}.tool>span{position:relative}.tool kbd.tool-key{min-width:0;color:var(--kk-muted);padding:0 5px;font-size:.7rem;position:absolute;top:4px;right:4px}kbd{border:1px solid var(--kk-line);background:var(--kk-surface-2);min-width:1.6em;color:var(--kk-text);font:600 .85em/1.4 var(--kk-font-body);text-align:center;border-bottom-width:2px;border-radius:6px;padding:2px 6px;display:inline-block}.shortcut-list{gap:var(--kk-space-2);margin:0 0 var(--kk-space-4);display:grid}.shortcut-row{justify-content:space-between;align-items:center;gap:var(--kk-space-2) var(--kk-space-4);padding:var(--kk-space-2) 0;border-bottom:1px solid var(--kk-line);flex-wrap:wrap;display:flex}.shortcut-row dd{align-items:center;gap:var(--kk-space-2);flex-wrap:wrap;margin:0;display:flex}.shortcut-combo{gap:4px;display:inline-flex}.shortcut-or{color:var(--kk-muted)}.library-filter{margin-bottom:var(--kk-space-4)}.resume-card{align-items:center;gap:var(--kk-space-3);margin-top:var(--kk-space-6);padding:var(--kk-space-3);border:1px solid var(--kk-line);border-radius:var(--kk-radius-2xl);background:var(--kk-surface);color:var(--kk-text);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}a.resume-card:hover{border-color:var(--type,var(--kk-brand))}.resume-card .thumb.list{width:72px;height:72px}.resume-card-body{gap:var(--kk-space-1);min-width:0;display:grid}.resume-card-kicker{align-items:center;gap:var(--kk-space-1);color:var(--kk-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:inline-flex}.resume-card-title{font-family:var(--kk-font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.0625rem;font-weight:700;overflow:hidden}.resume-card-meta{align-items:center;gap:var(--kk-space-2);color:var(--kk-muted);flex-wrap:wrap;font-size:.875rem;display:flex}.resume-card-go{border-radius:var(--kk-radius-pill);background:var(--kk-brand);width:44px;height:44px;color:var(--kk-on-brand);place-items:center;display:grid}.resume-card+.home-top{margin-top:var(--kk-space-4)}@media (width>=900px){.resume-card{margin-top:var(--kk-space-2);padding:var(--kk-space-4) var(--kk-space-6)}.resume-card .thumb.list{width:96px;height:96px}.resume-card-title{font-size:1.375rem}}.search-field{align-items:center;display:flex;position:relative}.search-field>.icon{color:var(--kk-muted);pointer-events:none;position:absolute;left:14px}.search-field input{width:100%;min-height:44px;padding:0 var(--kk-space-3) 0 42px;border:1px solid var(--kk-line);border-radius:var(--kk-radius-pill);background:var(--kk-surface);color:var(--kk-text);font:inherit}.search-field input::placeholder{color:var(--kk-muted)}.gallery-search,.library-search{margin-bottom:var(--kk-space-4)}.home-search{margin-top:var(--kk-space-4)}.topnav-search{width:min(260px,24vw);margin-right:var(--kk-space-3)}.topnav-search input{background:var(--kk-surface-2);min-height:40px}
