@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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{--bg:#f6f4ef;--surface:#fff;--surface-2:#f1eee7;--text:#1f2430;--muted:#646b7a;--border:#e3ded4;--primary:#3b5bdb;--primary-hover:#3049b8;--primary-soft:#e8edff;--danger:#e03131;--danger-soft:#ffeaea;--success:#2f9e44;--success-soft:#e5f6e8;--warning-soft:#fff4d6;--warning-border:#f2d27a;--c-quiz:#7048e8;--c-wordsearch:#f76707;--c-crossword:#1c7ed6;--c-matching:#2f9e44;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #1f24300f, 0 4px 16px #1f24300f;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Nunito Variable,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{font-size:1.75rem;font-weight:800}h2{font-size:1.2rem;font-weight:800}h3{font-size:1.05rem;font-weight:800}p{margin:0 0 .75em}a{color:var(--primary)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 55%, transparent);outline-offset:2px}code{background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.9em}.muted{color:var(--muted)}.hint{color:var(--muted);margin:.25em 0 .75em;font-size:.875rem}.spacer{flex:1}.page-loading{text-align:center;color:var(--muted);padding:4rem 1rem}.btn{white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.6em 1.1em;font-size:1em;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-ghost{color:var(--primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--primary-soft)}.btn-sm{padding:.45em .9em;font-size:.875em}.btn-lg{padding:.75em 1.5em;font-size:1.1em}.btn-block{width:100%}.icon-btn{width:2.4em;height:2.4em;color:var(--muted);background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.35}.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.form{gap:1rem;display:grid}.field{gap:.35rem;margin-bottom:.75rem;display:grid}.form .field{margin-bottom:0}.field>span{font-size:.925rem;font-weight:700}input:not([type=checkbox]),textarea,select{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:.65em .85em;transition:border-color .15s}input:not([type=checkbox]):focus,textarea:focus,select:focus{border-color:var(--primary);outline:none}textarea{resize:vertical}.checkbox{cursor:pointer;align-items:center;gap:.6rem;margin:.5rem 0;display:flex}.checkbox input{width:1.2rem;height:1.2rem;accent-color:var(--primary)}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);margin:0;padding:.6em .9em;font-weight:600}.form-link{text-align:center;font-size:.925rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.app-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem clamp(1rem,3vw,2rem);display:flex}.brand{color:var(--text);align-items:center;gap:.55rem;font-size:1.35rem;font-weight:900;text-decoration:none;display:inline-flex}.app-nav{align-items:center;gap:.75rem;min-width:0;margin-left:auto;display:flex}.nav-link{font-weight:700;text-decoration:none}.nav-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:16rem;font-size:.9rem;overflow:hidden}.app-main{padding:clamp(1rem,3vw,2rem)}.page{max-width:1100px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0}.back-link{align-items:center;gap:.35rem;margin-bottom:1rem;font-weight:700;text-decoration:none;display:inline-flex}.empty-state{text-align:center;justify-items:center;gap:.5rem;padding:3rem 1.5rem;display:grid}@media (width<=640px){.hide-sm,.nav-email{display:none}}.home{max-width:980px;margin:0 auto}.hero{text-align:center;padding:clamp(1.5rem,6vw,4rem) 0 2.5rem}.hero h1{max-width:18em;margin:0 auto .5em;font-size:clamp(1.9rem,4.5vw,3rem)}.hero-sub{color:var(--muted);max-width:34em;margin:0 auto 1.75rem;font-size:1.15rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.home-types{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.home-type{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.9rem;padding:1rem;display:flex}.home-type p{color:var(--muted);margin:0;font-size:.925rem}.home-modes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.home-mode{border-radius:var(--radius);background:var(--primary-soft);color:var(--primary-hover);padding:1.25rem}.home-mode h3{margin-top:.5rem}.home-mode p{color:var(--text);margin:0}.auth-page{max-width:420px;margin:clamp(1rem,6vw,3rem) auto}.auth-card{padding:1.75rem}.auth-footer{text-align:center;color:var(--muted);margin-top:1rem}.type-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.type-badge{border:1.5px solid;border-radius:999px;padding:0 .6em;font-size:.78rem;font-weight:800;display:inline-block}.type-picker{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.type-option{color:inherit;padding:1.5rem;text-decoration:none;transition:transform .15s,border-color .15s}.type-option:hover{border-color:var(--primary);transform:translateY(-2px)}.type-option h2{margin:.85rem 0 .35rem}.type-option p{margin:0}.filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search{flex:260px;align-items:center;max-width:380px;display:flex;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;left:.8rem}.search input{border-radius:999px;padding-left:2.4rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1.5px solid var(--border);background:var(--surface);border-radius:999px;padding:.3em .85em;font-size:.875rem;font-weight:700}.chip.active{background:var(--text);border-color:var(--text);color:#fff}.activity-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.activity-card{flex-direction:column;display:flex}.activity-card-main{color:inherit;flex:1;gap:.9rem;padding:1.1rem 1.1rem .75rem;text-decoration:none;display:flex}.activity-card-text{min-width:0}.activity-card h3{overflow-wrap:anywhere;margin:0 0 .35rem}.activity-meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.activity-date{color:var(--muted);margin-top:.25rem;font-size:.8rem}.activity-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem .75rem;font-size:.95rem;display:flex}.modal{border-radius:var(--radius);width:min(480px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);border:none;padding:0;box-shadow:0 20px 60px #00000040}.modal-wide{width:min(760px,100vw - 2rem)}.modal::backdrop{background:#1418228c}.modal-content{padding:1.25rem 1.5rem 1.5rem}.modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.modal-header h2{margin:0}.share-qr{justify-content:center;margin:.5rem 0 1rem;display:flex}.share-qr img,.share-qr .qr-placeholder{aspect-ratio:1;border-radius:var(--radius-sm);width:min(260px,70vw)}.qr-placeholder{background:var(--surface-2)}.share-link{gap:.5rem;margin-bottom:1rem;display:flex}.share-link input{font-size:.9rem}.share-actions{gap:.5rem;display:grid}.page-editor{padding-bottom:6rem}.editor-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.editor-header h1{margin:0;font-size:1.5rem}.editor-toolbar{z-index:5;background:var(--bg);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem 0;display:flex;position:sticky;top:0}.tabs{background:var(--surface-2);border-radius:999px;padding:.2rem;display:inline-flex}.tab{color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:.35rem;padding:.45em 1em;font-weight:700;display:inline-flex}.tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.editor-body{gap:1rem;display:grid}.editor-section{padding:1.25rem}.editor-section h2:not(:first-child){margin-top:1.25rem}.editor-columns{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (width>=900px){.editor-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.item-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.item-header h2{margin:0}.item-actions{display:flex}.question-input{font-size:1.05rem;font-weight:700}.answers-editor{gap:.5rem;margin-bottom:.5rem;display:grid}.answer-row{align-items:center;gap:.5rem;display:flex}.answer-toggle{border:2px solid var(--border);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.answer-row.correct .answer-toggle{background:var(--success);border-color:var(--success);color:#fff}.answer-row.correct input{border-color:color-mix(in srgb, var(--success) 50%, var(--border));background:var(--success-soft)}.add-item{border-style:dashed;padding:.9em}.words-input{font-size:1.05rem;line-height:1.6}.word-status{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.word-status li{border-radius:999px;padding:.1em .6em;font-size:.875rem;font-weight:700}.word-status .ok{background:var(--success-soft);color:var(--success)}.word-status .ko{background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.mini-grid,.mini-crossword{grid-template-columns:repeat(var(--cols), 1fr);width:min(100%, calc(var(--cols) * 2.2rem));-webkit-user-select:none;user-select:none;margin-bottom:.5rem;display:grid;container-type:inline-size}.mini-grid{aspect-ratio:1;background:var(--surface-2);border-radius:var(--radius-sm);padding:.25rem}.mini-grid span{font-weight:800;font-size:calc(100cqw / var(--cols) * .55);color:#adb5bd;justify-content:center;align-items:center;display:flex}.mini-grid span.in-word{color:var(--c-wordsearch)}.mini-crossword span{aspect-ratio:1;font-weight:800;font-size:calc(100cqw / var(--cols) * .5);justify-content:center;align-items:center;display:flex;position:relative}.mini-crossword .cw-cell{background:var(--surface);border:1px solid #adb5bd;margin:-.5px}.mini-crossword small{color:var(--muted);font-size:.42em;position:absolute;top:1px;left:2px}.pair-rows{gap:.5rem;display:grid}.pair-row{grid-template-columns:1.6rem minmax(0,1fr) minmax(0,1.4fr) 2.4rem;align-items:center;gap:.5rem;display:grid}.pair-head{color:var(--muted);font-size:.85rem;font-weight:700}.pair-index{color:var(--muted);text-align:right;font-size:.9rem;font-weight:700}.pair-rows>.btn{justify-self:start}.bulk-import{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:.75rem}.bulk-import summary{cursor:pointer;color:var(--primary);font-weight:700}.bulk-import textarea{margin-bottom:.5rem}@media (width<=560px){.pair-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.2rem}.pair-index,.pair-head>span:first-child{display:none}}.problems{background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius);width:min(720px,100vw - 2rem);box-shadow:var(--shadow);z-index:10;align-items:flex-start;gap:.75rem;max-height:30vh;padding:.75rem 1rem;font-size:.9rem;display:flex;position:fixed;bottom:1rem;left:50%;overflow:auto;transform:translate(-50%)}.problems svg{color:#b7791f;flex-shrink:0;margin-top:.1rem}.problems ul{margin:.25rem 0 0;padding-left:1.1rem}.editor-preview .preview-frame{border:1px solid var(--border);border-radius:var(--radius);min-height:0;padding:1.25rem}.play{--chrome:11em;background:var(--bg);flex-direction:column;min-height:100dvh;font-size:17px;display:flex}.play.mode-board{--chrome:7.5em;font-size:clamp(17px,.9vw + 8px,30px)}.preview-frame.play{--chrome:14em;min-height:auto}.play-header{align-items:flex-start;gap:1rem;padding:.8em clamp(1rem,2vw,2rem) .4em;display:flex}.play-heading{flex:1;min-width:0}.play-title{overflow-wrap:anywhere;margin:0;font-size:1.5em}.play-instructions{color:var(--muted);margin:.25em 0 0;font-size:1em}.preview-frame .play-title{margin-bottom:.25em}.preview-frame .play-instructions{margin-bottom:1em}.play-tools{gap:.2em;display:flex}.play-body{flex-direction:column;flex:1;padding:.5em clamp(1rem,2vw,2rem) 1.5em;display:flex}.play-message{text-align:center;justify-items:center;gap:.5rem;margin:auto;padding:2rem;display:grid}.game-empty{text-align:center;color:var(--muted);padding:3em 1em}.completion{text-align:center;justify-items:center;gap:.4em;width:100%;max-width:36em;margin:auto;padding:1.5em 1em;display:grid}.completion-emoji{font-size:3.2em;line-height:1}.completion h2{margin:.2em 0;font-size:1.6em}.completion-score{color:var(--primary);margin:0;font-size:2.6em;font-weight:900}.completion .btn{margin-top:.75em}.qr-overlay{z-index:50;background:#141822b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.qr-overlay-card{background:var(--surface);text-align:center;border-radius:24px;max-width:100%;padding:1.5em 2em;position:relative}.qr-overlay-card h2{margin-right:1.5em;font-size:1.4em}.qr-close{position:absolute;top:.6em;right:.6em}.qr-big{aspect-ratio:1;width:min(62vh,80vw);margin:0 auto;display:block}.qr-url{color:var(--muted);overflow-wrap:anywhere;margin:.5em 0 0;font-weight:700}.quiz{flex-direction:column;gap:1em;width:100%;max-width:60em;margin:0 auto;display:flex}.quiz-progress{color:var(--muted);align-items:center;gap:1em;font-size:.9em;font-weight:700;display:flex}.progress-bar{background:var(--surface-2);border-radius:999px;flex:1;height:.5em;overflow:hidden}.progress-bar>div{background:var(--c-quiz);border-radius:999px;height:100%;transition:width .3s}.quiz-question{text-align:center;overflow-wrap:anywhere;margin:.5em 0 .25em;font-size:1.6em}.quiz-hint{text-align:center;color:var(--muted);margin:0}.quiz-answers{grid-template-columns:1fr;gap:.75em;display:grid}@media (width>=640px){.quiz-answers{grid-template-columns:1fr 1fr}}.quiz-answer{--accent:#4c6ef5;text-align:left;background:var(--surface);border:3px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius);align-items:center;gap:.75em;min-height:3.6em;padding:.8em 1em;font-size:1.1em;font-weight:700;transition:background-color .15s,border-color .15s,opacity .2s,transform .1s;display:flex;position:relative}.quiz-answer:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.quiz-answer:disabled{cursor:default}.quiz-letter{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:1.9em;height:1.9em;font-weight:900;display:inline-flex}.quiz-answer-text{overflow-wrap:anywhere;flex:1}.quiz-answer.color-0{--accent:#4c6ef5}.quiz-answer.color-1{--accent:#f59f00}.quiz-answer.color-2{--accent:#12b886}.quiz-answer.color-3{--accent:#e64980}.quiz-answer.color-4{--accent:#15aabf}.quiz-answer.color-5{--accent:#ae3ec9}.quiz-answer.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.quiz-answer.correct{border-color:var(--success);background:var(--success-soft)}.quiz-answer.correct .quiz-mark{color:var(--success)}.quiz-answer.wrong{border-color:var(--danger);background:var(--danger-soft)}.quiz-answer.wrong .quiz-mark{color:var(--danger)}.quiz-answer.dim{opacity:.45}.quiz-footer{flex-direction:column;align-items:center;gap:.5em;min-height:5.5em;display:flex}.quiz-feedback{margin:0;font-size:1.3em;font-weight:900}.quiz-feedback.ok{color:var(--success)}.quiz-feedback.ko{color:var(--danger)}.quiz-recap{text-align:left;gap:.35em;width:100%;margin:.75em 0 0;padding:0;list-style:none;display:grid}.quiz-recap li{border-radius:var(--radius-sm);align-items:flex-start;gap:.5em;padding:.45em .75em;display:flex}.quiz-recap li svg{flex-shrink:0;margin-top:.15em}.quiz-recap .ok{background:var(--success-soft);color:var(--success)}.quiz-recap .ko{background:var(--danger-soft);color:var(--danger)}.quiz-recap span{color:var(--text)}.ws{justify-items:center;gap:1em;width:100%;display:grid}.ws-board{justify-content:center;width:100%;display:flex}.ws-grid{grid-template-columns:repeat(var(--cols), 1fr);width:min(100%, calc(100dvh - var(--chrome)), calc(var(--cols) * 3.2em));aspect-ratio:1;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;padding:0;display:grid;position:relative;container-type:inline-size}.ws-strokes{pointer-events:none;stroke-opacity:.38;width:100%;height:100%;position:absolute;inset:0}.ws-strokes .ws-current{stroke-opacity:.3}.ws-strokes .ws-solution{stroke-opacity:.25;stroke-dasharray:.15 .15}.ws-strokes .ws-miss{stroke-opacity:.35}.ws-cell{font-weight:800;font-size:calc(100cqw / var(--cols) * .56);justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.ws-side{text-align:center;width:100%;max-width:40em}.ws-count{margin-bottom:.5em;font-weight:800}.ws-words{flex-wrap:wrap;justify-content:center;gap:.35em .5em;margin:0 0 .75em;padding:0;list-style:none;display:flex}.ws-words li{background:var(--surface);border:1.5px solid var(--border);text-transform:uppercase;border-radius:999px;padding:.15em .65em;font-size:.95em;font-weight:800}.ws-words li.found{opacity:.8;border-color:currentColor;text-decoration:line-through}.ws-help{font-size:.8em}.ws-complete{width:100%}.mode-student .ws-side{order:-1}@media (width>=900px){.ws{grid-template-columns:auto minmax(12em,18em);justify-content:center;place-items:start stretch}.mode-student .ws-side{order:0}.ws-grid{width:min(calc(100vw - 24em), calc(100dvh - var(--chrome)), calc(var(--cols) * 3.2em))}.preview-frame .ws-grid{width:min(calc(100vw - 32em), calc(100dvh - var(--chrome)), calc(var(--cols) * 3.2em))}.ws-side{text-align:left}.ws-words{flex-direction:column;align-items:flex-start}.ws-complete{grid-column:1/-1}}.cw{justify-items:center;gap:1.25em;width:100%;display:grid}.cw-main{flex-direction:column;align-items:center;gap:.75em;width:100%;display:flex}.cw-current{background:color-mix(in srgb, var(--c-crossword) 12%, var(--surface));border-radius:var(--radius-sm);align-items:baseline;gap:.6em;width:100%;max-width:40em;min-height:2.6em;padding:.55em .9em;font-weight:700;display:flex}.cw-current-label{color:var(--c-crossword);white-space:nowrap;font-weight:900}.cw-grid{grid-template-columns:repeat(var(--cols), 1fr);width:min(100%, calc((100dvh - var(--chrome) - 2.5em) * var(--cols) / var(--rows)), calc(var(--cols) * 3.4em));aspect-ratio:var(--cols) / var(--rows);-webkit-user-select:none;user-select:none;display:grid;container-type:inline-size}.cw-block{display:block}.cw-cell{background:var(--surface);font-weight:800;font-size:calc(100cqw / var(--cols) * .55);border:1.5px solid #495057;justify-content:center;align-items:center;min-width:0;margin:-.75px;padding:0;line-height:1;display:flex;position:relative}.cw-cell small{color:var(--muted);font-size:.42em;font-weight:700;position:absolute;top:.12em;left:.18em}.cw-cell.in-word{background:color-mix(in srgb, var(--c-crossword) 16%, var(--surface))}.cw-cell.active{background:color-mix(in srgb, #ffd43b 75%, var(--surface));z-index:1}.cw-cell.wrong span{color:var(--danger)}.cw-cell.wrong{background:var(--danger-soft)}.cw-cell.revealed span{color:var(--c-crossword)}.cw-cell.done{background:var(--success-soft)}.cw-keyboard{touch-action:manipulation;gap:.35em;width:100%;max-width:30em;display:grid}.cw-keyboard-row{justify-content:center;gap:.3em;display:flex}.cw-keyboard button{background:var(--surface);border:none;border-radius:8px;flex:1 1 0;max-width:2.6em;height:2.7em;padding:0;font-size:1em;font-weight:800;box-shadow:0 1px #ced4da,0 1px 3px #00000014}.cw-keyboard button:active{background:var(--primary-soft)}.cw-keyboard .cw-key-wide{flex-grow:1.6;max-width:4.2em}.cw-actions{flex-wrap:wrap;justify-content:center;gap:.35em;display:flex}.cw-clues{gap:1em;width:100%;max-width:40em;display:grid}.cw-clues-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35em;font-size:1em}.cw-clues-group ol{gap:.2em;margin:0;padding:0;list-style:none;display:grid}.cw-clue{text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:.35em .6em;font-size:.95em}.cw-clue:hover{background:var(--surface-2)}.cw-clue.active{background:color-mix(in srgb, var(--c-crossword) 14%, var(--surface))}.cw-clue.filled{color:var(--muted)}.cw-clue strong{color:var(--c-crossword)}.cw-complete{width:100%}@media (width>=900px){.cw{grid-template-columns:minmax(0,auto) minmax(14em,24em);justify-content:center;align-items:start}.cw-grid{width:min(calc(100vw - 30em), calc((100dvh - var(--chrome) - 2.5em) * var(--cols) / var(--rows)), calc(var(--cols) * 3.4em))}.preview-frame .cw-grid{width:min(calc(100vw - 38em), calc((100dvh - var(--chrome) - 2.5em) * var(--cols) / var(--rows)), calc(var(--cols) * 3.4em))}.cw-main{min-width:18em}.cw-complete{grid-column:1/-1}}.matching{width:100%;max-width:56em;margin:0 auto}.matching-status{text-align:center;color:var(--muted);font-size:.9em;font-weight:700}.matching-columns{grid-template-columns:1fr 1fr;gap:.75em clamp(.75em,4vw,3em);display:grid}.matching-column{align-content:start;gap:.6em;display:grid}.match-item{background:var(--surface);border:3px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;min-height:3.2em;box-shadow:var(--shadow);padding:.6em .9em;font-size:1.05em;font-weight:700;transition:border-color .15s,background-color .15s,transform .1s;position:relative}.match-item:hover:not(:disabled){border-color:color-mix(in srgb, var(--c-matching) 60%, var(--border))}.match-item.selected{border-color:var(--c-matching);background:color-mix(in srgb, var(--c-matching) 14%, var(--surface));transform:scale(1.02)}.match-item.matched{border-color:var(--match);background:color-mix(in srgb, var(--match) 16%, var(--surface));cursor:default;box-shadow:none}.match-badge{background:var(--match);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1.6em;height:1.6em;font-size:.8em;font-weight:900;display:inline-flex;position:absolute;top:-.6em;left:-.6em}.match-item.wrong{border-color:var(--danger);background:var(--danger-soft);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.match-item.wrong{animation:none}}.link-btn{color:var(--primary);background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.qr-hint{max-width:26em;color:var(--muted);margin:.75em auto 0;font-size:.8em}.live-launch{align-self:center;margin-right:.3em}.pace-options{gap:.6rem;margin:1rem 0;display:grid}.pace-option{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:border-color .15s,background-color .15s;display:flex}.pace-option.active{border-color:var(--primary);background:var(--primary-soft)}.pace-option input[type=radio]{all:revert;width:1.15rem;height:1.15rem;accent-color:var(--primary);flex-shrink:0;margin:.15rem 0 0}.pace-option>span{gap:.2rem;display:grid}.pace-option>span>span{color:var(--muted);font-size:.9rem}.pace-note{background:var(--surface-2);border-radius:var(--radius-sm);margin:1rem 0;padding:.85rem 1rem}.join-code-input{letter-spacing:.12em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.join-code-input::placeholder{color:var(--border)}.home-join{gap:.6rem;max-width:30rem;margin:1.5rem auto 0;padding:1rem 1.25rem;display:grid}.home-join-row{gap:.5rem;display:flex}.home-join-row input{min-width:0}.live-join-page{padding:1rem}.join-card{text-align:center;justify-items:center;gap:.5rem;width:min(100%,26rem);margin:auto;padding:1.5rem;display:grid}.join-card h1{margin:0}.join-card .form{text-align:left;width:100%;margin-top:.5rem}.join-title{color:var(--primary);margin:0;font-size:1.15rem;font-weight:800}.join-notice{background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius-sm);margin:0;padding:.6em .9em}.live-chip{border:2px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;align-self:center;align-items:baseline;gap:.5em;padding:.3em .9em;font-weight:700;display:inline-flex}.live-chip:hover{border-color:var(--primary)}.live-chip strong,.live-code-inline{color:var(--primary);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:1.25em}.live-count{height:2.4em;color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:.3em;padding:0 .7em;font-weight:800;display:inline-flex}.live-count:hover{background:var(--surface-2);color:var(--text)}.live-status{background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:999px;justify-content:center;align-items:center;gap:.5em;width:fit-content;margin:0 auto;padding:.35em 1em;font-size:.85em;font-weight:700;display:flex}.live-error{width:fit-content;margin:0 auto}.live-lobby{align-items:center;gap:2em;width:100%;max-width:72em;margin:auto;display:grid}@media (width>=900px){.live-lobby{grid-template-columns:auto minmax(16em,1fr)}}.live-join{background:var(--surface);box-shadow:var(--shadow);border-radius:24px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5em 2.5em;padding:1.5em 2em;display:flex}.live-join-qr{aspect-ratio:1;width:min(48vh,70vw,18em);display:block}.live-join-text{text-align:center}.live-join-text p{color:var(--muted);margin:0;font-size:1.1em;font-weight:700}.live-join-text .live-url{color:var(--text);overflow-wrap:anywhere;margin-bottom:.5em;font-size:1.5em;font-weight:900}.live-join-text .live-code{color:var(--primary);letter-spacing:.05em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:3.4em;font-weight:900;line-height:1.1}.live-lobby-side h2{align-items:center;gap:.4em;font-size:1.4em;display:flex}.live-names{flex-wrap:wrap;gap:.5em;margin:0 0 1.5em;padding:0;list-style:none;display:flex}.live-names li{background:var(--surface);border:2px solid var(--border);border-radius:999px;align-items:center;gap:.15em;padding:.3em .3em .3em .9em;font-weight:800;animation:.25s ease-out live-pop;display:inline-flex}.live-names li.offline{opacity:.5}.live-kick{color:var(--muted);opacity:.45;background:0 0;border:none;border-radius:999px;padding:.3em;display:inline-flex}.live-kick:hover{background:var(--danger-soft);color:var(--danger);opacity:1}.live-lobby-start{flex-wrap:wrap;align-items:center;gap:.5em 1em;display:flex}.live-lobby-start p{margin:0}@keyframes live-pop{0%{opacity:0;transform:scale(.6)}}.quiz-answer.static{pointer-events:none;overflow:hidden}.quiz-answer.static.dim{opacity:.6}.live-answer-count{text-align:right;min-width:1.5em;font-size:1.2em;font-weight:900}.live-answer-bar{background:var(--accent);border-radius:0 999px 999px 0;height:.4em;transition:width .6s ease-out;position:absolute;bottom:0;left:0}.quiz-answer.correct .live-answer-bar{background:var(--success)}.live-answered{color:var(--muted);margin:0;font-size:1.3em;font-weight:700}.live-answered strong{color:var(--text);font-size:1.4em}.live-leaders{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.3em .9em;margin:0;font-weight:700;display:flex}.play-body>.live-leaders{margin-top:1em}.live-leaders-label{color:var(--muted)}.live-leader strong{color:var(--primary)}.live-progress{width:100%;max-width:80em;margin:0 auto}.live-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1em;margin-bottom:1em;display:flex}.live-progress-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,20em),1fr));gap:.5em 1.5em;margin:0;padding:0;list-style:none;display:grid}.live-progress-list li{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);grid-template-columns:1.8em minmax(0,8em) 1fr auto;align-items:center;gap:.6em;padding:.45em .8em;display:grid}.live-progress-list li.finished{background:var(--success-soft)}.live-progress-list .progress-bar{display:block}.live-progress-list .progress-bar>span{background:var(--c-quiz);border-radius:999px;height:100%;transition:width .3s;display:block}.live-progress-list li.finished .progress-bar>span{background:var(--success)}.live-rank{color:var(--muted);text-align:center;font-weight:900}.live-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.live-score{font-variant-numeric:tabular-nums;font-weight:900}.live-score small{color:var(--muted);font-weight:700}.live-empty{text-align:center;padding:2em}.live-finder{color:var(--muted);text-transform:none;margin-left:.45em;font-size:.75em;font-weight:700;display:inline-block}.match-item .live-finder{margin:.15em 0 0;display:block}.cw-clue .live-finder{color:var(--success)}.cw-cell.shared{background:color-mix(in srgb, var(--success) 12%, var(--surface))}.cw-cell.shared span{color:var(--success)}.live-toast{z-index:40;background:var(--text);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 2em);padding:.6em 1.4em;font-size:1.1em;animation:.3s ease-out live-toast;position:fixed;bottom:1.5em;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.live-toast-item{color:#ffd43b}@keyframes live-toast{0%{opacity:0;transform:translate(-50%,1em)}}.live-end{text-align:center;justify-items:center;gap:1em;width:100%;max-width:50em;margin:0 auto;display:grid}.live-end h2{margin:0;font-size:2em}.live-end-sub{color:var(--muted);margin:0;font-size:1.2em}.live-end-actions{flex-wrap:wrap;justify-content:center;gap:.75em;margin-top:.5em;display:flex}.podium{justify-content:center;align-items:flex-end;gap:.6em;width:100%;margin:.5em 0 0;padding:0;list-style:none;display:flex}.podium-step{justify-items:center;gap:.15em;width:min(30%,11em);animation:.5s ease-out backwards live-rise;display:grid}.podium-step.place-1{animation-delay:.3s}.podium-step.place-2{animation-delay:.15s}.podium-name{overflow-wrap:anywhere;font-size:1.2em;font-weight:900;line-height:1.2;display:grid}.podium-step.place-1 .podium-name{font-size:1.5em}.podium-more{color:var(--muted);font-size:.7em;font-weight:700}.podium-score{color:var(--muted);font-size:.85em;font-weight:700}.podium-block{color:#fff;background:#c8834a;border-radius:14px 14px 0 0;justify-content:center;width:100%;height:1.8em;padding-top:.25em;font-size:2em;font-weight:900;display:flex}.podium-step.place-1 .podium-block{height:3.2em}.podium-step.place-2 .podium-block{height:2.4em}.podium-step.rank-1 .podium-block{background:#f59f00}.podium-step.rank-2 .podium-block{background:#a5adb8}@keyframes live-rise{0%{opacity:0;transform:translateY(1.5em)}}.live-ranking{text-align:left;gap:.35em;width:100%;max-width:30em;margin:0;padding:0;list-style:none;display:grid}.live-ranking li{background:var(--surface);border-radius:var(--radius-sm);grid-template-columns:2em 1fr auto;align-items:center;gap:.6em;padding:.4em .8em;display:grid}.live-ranking li.me{outline:2px solid var(--primary)}.live-ranking .live-score{color:var(--muted);font-size:.9em;font-weight:700}.live-player-list{max-height:60vh;margin:0;padding:0;list-style:none;overflow:auto}.live-player-list li{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.3rem 0;display:grid}.live-dot{background:var(--border);border-radius:999px;width:.6rem;height:.6rem}.live-dot.on{background:var(--success)}.live-me{background:var(--primary-soft);max-width:45vw;color:var(--primary-hover);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-self:center;align-items:center;gap:.5em;padding:.3em .9em;font-weight:800;display:inline-flex;overflow:hidden}.live-me strong{background:var(--primary);color:#fff;border-radius:999px;margin-right:-.5em;padding:0 .6em}.live-player .quiz-question{font-size:1.35em}.live-wait{color:var(--primary);margin:0;font-size:1.15em;font-weight:800}.live-me-line{color:var(--muted);margin:0;font-weight:700}.live-rank-line{margin:.25em 0;font-size:1.3em;font-weight:900}.live-finished .podium{margin-bottom:1em}@media (prefers-reduced-motion:reduce){.live-names li,.live-toast,.podium-step{animation:none}}
