@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--violet-980:#12063a;--violet-950:#1b0a52;--violet-900:#250f72;--violet-800:#30148f;--violet-700:#3e1cb4;--violet-600:#4f2ad6;--violet-500:#6845f0;--violet-400:#8b6dff;--violet-300:#b3a1ff;--violet-200:#d6ccff;--violet-100:#ece7ff;--violet-50:#f7f5ff;--a-red:#e5304e;--a-blue:#2b6be0;--a-yellow:#f4b000;--a-green:#1e9a50;--a-purple:#8c4bdf;--a-teal:#0c97aa;--a-yellow-ink:#2a1b00;--good:#23c35f;--good-deep:#13803f;--good-soft:#dcfce7;--bad:#ef4056;--bad-deep:#b4142e;--bad-soft:#ffe4e8;--gold:#ffc531;--silver:#d5dbe8;--bronze:#e39a5b;--ink:#1c1442;--ink-2:#4b4374;--ink-3:#6e6697;--paper:#fff;--canvas:#f4f2fb;--line:#e3def3;--line-strong:#cfc7ea;--on-violet:#fff;--on-violet-2:#d9d0ff;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-xs:8px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--sh-1:0 1px 2px #1c14420f, 0 2px 8px -2px #1c144214;--sh-2:0 4px 10px -4px #1c144224, 0 12px 28px -10px #1c14422e;--sh-3:0 10px 24px -10px #08002880, 0 24px 60px -20px #0800288c;--press:inset 0 -5px 0 #0003;--press-sm:inset 0 -3px 0 #0000002e;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--t-fast:.14s;--t-med:.28s;--t-slow:.6s;--focus:0 0 0 3px #fff, 0 0 0 6px var(--violet-500)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--violet-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:600;line-height:1.45}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.12}p{text-wrap:pretty;margin:0}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--violet-600);text-underline-offset:3px;text-decoration-thickness:2px}::selection{background:var(--violet-300);color:var(--violet-980)}:focus-visible{box-shadow:var(--focus);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{--btn-bg:var(--violet-600);--btn-fg:#fff;justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-md);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-display);letter-spacing:.005em;white-space:nowrap;box-shadow:var(--press-sm);transition:transform var(--t-fast) var(--ease-out), filter var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), background-color var(--t-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(2px);box-shadow:inset 0 -1px #0003}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;filter:none;transform:none}.btn svg{flex:none}.btn-lg{min-height:56px;padding:0 var(--s-6);border-radius:var(--r-lg);box-shadow:var(--press);font-size:21px}.btn-sm{min-height:36px;padding:0 var(--s-3);border-radius:var(--r-sm);font-size:15px}.btn-white{--btn-bg:#fff;--btn-fg:var(--violet-800)}.btn-go{--btn-bg:var(--good-deep)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--ink-2);box-shadow:none}.btn-ghost:hover{--btn-bg:var(--violet-50);filter:none}.btn-soft{--btn-bg:var(--violet-50);--btn-fg:var(--violet-700);box-shadow:inset 0 0 0 1px var(--violet-100)}.btn-soft:hover{--btn-bg:var(--violet-100);filter:none}.btn-glass{--btn-bg:#ffffff24;--btn-fg:#fff;box-shadow:inset 0 0 0 1px #ffffff2e}.btn-glass:hover{--btn-bg:#ffffff38;filter:none}.btn-danger{--btn-bg:var(--bad-deep)}.icon-btn{min-width:44px;padding:0}.icon-btn.btn-sm{min-width:36px}.field{gap:6px;display:grid}.field>span,.label{color:var(--ink-2);font-size:14px;font-weight:700}.input,.select,.textarea{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);width:100%;min-height:44px;color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:10px 14px;font-weight:600}.input::placeholder,.textarea::placeholder{color:#8a83ad;font-weight:600}.input:hover,.select:hover,.textarea:hover{border-color:var(--violet-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--violet-500);outline:none;box-shadow:0 0 0 4px #6845f02e}.textarea{resize:vertical;line-height:1.4}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b4374' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}.error-text{color:var(--bad-deep);font-size:15px;font-weight:700}.backdrop{z-index:0;background:radial-gradient(120% 80% at 15% 0%, #5530d8 0%, transparent 55%), radial-gradient(90% 70% at 100% 100%, #3a17a8 0%, transparent 60%), linear-gradient(160deg, var(--violet-800), var(--violet-950));pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop svg{opacity:.09;fill:#fff;animation:drift 26s var(--ease-in-out) infinite alternate;will-change:transform;position:absolute}@keyframes drift{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--dx,40px), var(--dy,-60px), 0) rotate(var(--rot,40deg))}}.toast-stack{left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:100;gap:8px;width:min(92vw,460px);display:grid;position:fixed;transform:translate(-50%)}.toast{background:var(--violet-980);color:#fff;border-radius:var(--r-md);box-shadow:var(--sh-3);animation:toast-in var(--t-med) var(--ease-spring);align-items:center;gap:12px;padding:12px 12px 12px 18px;display:flex}.toast p{flex:1;font-weight:700}.toast .btn{--btn-bg:#ffffff24;box-shadow:none}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}.menu-wrap{position:relative}.menu{z-index:40;background:var(--paper);border-radius:var(--r-md);min-width:220px;box-shadow:var(--sh-2), 0 0 0 1px var(--line);transform-origin:100% 0;animation:menu-in .16s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu button{border-radius:var(--r-xs);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.menu button:hover,.menu button:focus-visible{background:var(--violet-50);box-shadow:none}.menu button.danger{color:var(--bad-deep)}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}@keyframes menu-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.confetti-canvas{pointer-events:none;z-index:60;width:100vw;height:100vh;position:fixed;inset:0}.spinner{border:5px solid #ffffff38;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.backdrop svg{animation:none}.spinner{animation:2.4s linear infinite spin!important}}.ans-red{--ans:var(--a-red);--ans-ink:#fff}.ans-blue{--ans:var(--a-blue);--ans-ink:#fff}.ans-yellow{--ans:var(--a-yellow);--ans-ink:var(--a-yellow-ink)}.ans-green{--ans:var(--a-green);--ans-ink:#fff}.ans-purple{--ans:var(--a-purple);--ans-ink:#fff}.ans-teal{--ans:var(--a-teal);--ans-ink:#fff}.zone-0{--zone:#ff7a8f;--zone-deep:var(--a-red)}.zone-1{--zone:#6aa2ff;--zone-deep:var(--a-blue)}.zone-2{--zone:#ffd166;--zone-deep:#c98a00}.zone-3{--zone:#5fd38f;--zone-deep:var(--a-green)}.zone-4{--zone:#b98cff;--zone-deep:var(--a-purple)}.zone-5{--zone:#4fd1dc;--zone-deep:var(--a-teal)}.logo{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.4em;font-weight:700;line-height:1;display:inline-flex}.logo-light{color:#fff}.logo-dark{color:var(--violet-800)}.logo-dark .logo-mark rect:first-child{fill:var(--violet-600)}.logo-mark{filter:drop-shadow(0 4px 10px #0a003240);flex:none}.play{color:#fff;min-height:100dvh;transition:background-color var(--t-slow) var(--ease-out);position:relative}.play-inner{z-index:1;min-height:inherit;padding:max(12px, env(safe-area-inset-top)) 16px 0;flex-direction:column;display:flex;position:relative}.play.tone-good .backdrop{background:linear-gradient(170deg,#27b35f,#0f6e36)}.play.tone-bad .backdrop{background:linear-gradient(170deg,#e8455c,#a11530)}.play.tone-part .backdrop{background:linear-gradient(170deg,#f39a1f,#b8560b)}.play.tone-neutral .backdrop{background:linear-gradient(170deg, var(--violet-600), var(--violet-900))}.p-main{flex-direction:column;flex:1;width:100%;max-width:640px;margin:0 auto;padding-bottom:16px;display:flex}.p-center{text-align:center;animation:rise var(--t-slow) var(--ease-out) both;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:24px 8px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.p-big{color:#fff;font-size:clamp(30px,8.5vw,44px);font-weight:600}.p-sub{color:var(--on-violet-2);max-width:30ch;font-size:18px}.tone-good .p-sub,.tone-bad .p-sub,.tone-part .p-sub{color:#ffffffe0}.p-name-tag{font-family:var(--font-display);border-radius:var(--r-pill);color:var(--violet-800);box-shadow:var(--sh-2);animation:pop .5s var(--ease-spring) .15s both;background:#fff;padding:8px 20px;font-size:22px;font-weight:600}.p-progress{font-family:var(--font-display);border-radius:var(--r-pill);color:#fff;background:#ffffff29;padding:6px 14px;font-size:16px;font-weight:600}.p-question-intro{max-width:22ch;font-size:clamp(24px,6.6vw,34px);font-weight:600}.p-ready{border-radius:var(--r-pill);background:#fff3;width:min(260px,70vw);height:8px;overflow:hidden}.p-ready span{border-radius:inherit;transform-origin:0;background:#fff;height:100%;animation:4s linear both fill;display:block}@keyframes fill{0%{transform:scaleX(0)}}.p-sent-icon,.p-result-icon,.p-medal{width:104px;height:104px;color:var(--violet-700);box-shadow:var(--sh-3);animation:pop .56s var(--ease-spring) both;background:#fff;border-radius:50%;place-items:center;display:grid}.p-sent-icon{width:88px;height:88px;color:var(--good-deep)}.tone-good .p-result-icon{color:var(--good-deep);animation:pop .56s var(--ease-spring) both, bounce .9s var(--ease-out) .56s}.tone-bad .p-result-icon{color:var(--bad-deep);animation:pop .4s var(--ease-spring) both, shake .48s var(--ease-out) .4s}.tone-part .p-result-icon{color:#b8560b}.medal-1{color:#b07a00;background:var(--gold)}.medal-2{color:#4b5568;background:var(--silver)}.medal-3{color:#7a3f12;background:var(--bronze)}@keyframes pop{0%{opacity:0;transform:scale(.4)}}@keyframes bounce{30%{transform:translateY(-14px)}60%{transform:translateY(0)}80%{transform:translateY(-5px)}}@keyframes shake{20%,60%{transform:translate(-10px)rotate(-4deg)}40%,80%{transform:translate(10px)rotate(4deg)}}.p-points{font-family:var(--font-display);border-radius:var(--r-pill);animation:pop .5s var(--ease-spring) .25s both;background:#0003;padding:6px 22px;font-size:30px;font-weight:600}.p-rank{gap:4px;margin-top:6px;font-size:18px;display:grid}.p-rank strong{font-family:var(--font-display);font-size:24px}.p-ahead{color:#ffffffd9;font-size:16px}.p-bar{padding:12px 20px max(12px, env(safe-area-inset-bottom));color:var(--ink);z-index:3;background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;font-weight:800;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 20px -8px #0a002859}.p-bar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-bar-score{font-family:var(--font-display);border-radius:var(--r-pill);background:var(--violet-900);color:#fff;padding:4px 14px;font-size:18px;font-weight:600}.p-offline{top:max(8px, env(safe-area-inset-top));z-index:10;border-radius:var(--r-pill);background:var(--violet-980);color:#fff;box-shadow:var(--sh-2);padding:8px 16px;font-size:14px;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}.join{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:24px 0 48px;display:flex}.join-card{background:var(--paper);width:min(100%,400px);color:var(--ink);border-radius:var(--r-xl);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) both;gap:14px;padding:24px;display:grid}.join-label{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:600}.join-input{border:2px solid var(--line-strong);border-radius:var(--r-md);width:100%;height:60px;font-family:var(--font-display);text-align:center;color:var(--ink);background:var(--violet-50);transition:border-color var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast);padding:0 16px;font-size:24px;font-weight:600}.join-input::placeholder{color:#9b94bd;font-size:18px;font-weight:500}.join-input:focus{border-color:var(--violet-500);background:#fff;outline:none;box-shadow:0 0 0 4px #6845f033}.join-pin{letter-spacing:.12em;font-size:34px}.join-pin::placeholder{letter-spacing:.12em;color:#cfc8ea;font-size:34px}.join-btn{--btn-bg:var(--violet-980);width:100%}.join-quiz{border-radius:var(--r-pill);background:var(--violet-50);color:var(--violet-700);text-align:center;justify-self:center;padding:6px 14px;font-size:14px;font-weight:800}.join-counter{color:var(--ink-3);justify-self:end;margin-top:-8px;font-size:13px}.join-error{border-radius:var(--r-sm);background:var(--bad-soft);color:var(--bad-deep);animation:shake .42s var(--ease-out);padding:10px 14px;font-weight:700}.join-back{color:var(--ink-3);text-underline-offset:3px;background:0 0;border:0;justify-self:center;padding:4px;font-weight:700;text-decoration:underline}.login-title{margin-bottom:4px;font-size:24px}.p-question{animation:rise var(--t-med) var(--ease-out) both;flex-direction:column;flex:1;gap:12px;padding-top:4px;display:flex}.p-qhead{border-radius:var(--r-lg);color:var(--ink);box-shadow:var(--sh-2);background:#fff;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;display:flex}.p-qtext{font-family:var(--font-display);flex:1;font-size:18px;font-weight:600;line-height:1.25}.p-timer{background:var(--violet-700);color:#fff;width:44px;height:44px;font-family:var(--font-display);transition:background-color var(--t-med);border-radius:50%;flex:none;place-items:center;font-size:19px;font-weight:600;display:grid}.p-timer.is-urgent{background:var(--bad);animation:pulse 1s var(--ease-out) infinite}@keyframes pulse{50%{transform:scale(1.1)}}.p-send-error{border-radius:var(--r-sm);color:var(--bad-deep);background:#fff;padding:10px 14px;font-weight:800}.input-hint{color:var(--on-violet-2);text-align:center;padding:0 8px;font-size:14px;font-weight:700}.submit-btn{width:100%;margin-top:auto}.choice-input{flex-direction:column;flex:1;gap:12px;display:flex}.choice-grid{flex:1;gap:10px;min-height:300px;display:grid}.choice-two{grid-template-columns:1fr 1fr}.choice-one{grid-template-columns:1fr}.choice-tile{border-radius:var(--r-lg);background:var(--ans);min-height:96px;color:var(--ans-ink);box-shadow:var(--press), var(--sh-2);font-family:var(--font-display);text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:tile-in .42s var(--ease-spring) both;transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast), opacity var(--t-fast);border:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 10px 18px;font-size:21px;font-weight:600;line-height:1.15;display:flex;position:relative}.choice-tile:active{transform:scale(.96)translateY(2px);box-shadow:inset 0 -2px #0003}.choice-tile:disabled{opacity:.6}.choice-shape{filter:drop-shadow(0 2px 2px #00000026);flex:none}.choice-label{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.n-5 .choice-label,.n-6 .choice-label{font-size:18px}.choice-one .choice-tile{font-size:24px}.choice-tile.is-picked{box-shadow:inset 0 0 0 5px #fff, var(--press), var(--sh-2)}.choice-check{opacity:.9;border:2.5px solid;border-radius:8px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.is-picked .choice-check{color:var(--ans);background:#fff;border-color:#fff}.ans-yellow.is-picked .choice-check{color:#8a5d00}@keyframes tile-in{0%{opacity:0;transform:scale(.85)}}.order-input{flex-direction:column;flex:1;gap:12px;display:flex}.order-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.order-row{border-radius:var(--r-md);min-height:56px;color:var(--ink);box-shadow:var(--sh-1), inset 0 -3px 0 var(--violet-100);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab;transition:box-shadow var(--t-fast), background-color var(--t-fast), opacity var(--t-fast);background:#fff;align-items:center;gap:12px;padding:8px 10px 8px 8px;font-size:16px;font-weight:800;line-height:1.25;display:flex}.order-num{background:var(--violet-600);color:#fff;width:36px;height:36px;font-family:var(--font-display);border-radius:10px;flex:none;place-items:center;font-size:18px;font-weight:600;display:grid}.order-text{overflow-wrap:anywhere;flex:1}.order-grip{color:var(--ink-3);flex:none}.order-row.is-placeholder{opacity:.35}.order-row.is-selected{background:var(--violet-100);box-shadow:inset 0 0 0 3px var(--violet-500)}.order-row.is-target{box-shadow:inset 0 0 0 2px var(--violet-200), var(--sh-1)}.order-row.is-overlay{cursor:grabbing;box-shadow:var(--sh-3), inset 0 0 0 3px var(--violet-400);transform:scale(1.03)rotate(-1deg)}.match-input{flex-direction:column;flex:1;gap:12px;display:flex}.match-pool{border-radius:var(--r-lg);min-height:64px;transition:background-color var(--t-fast), box-shadow var(--t-fast);background:#ffffff1f;flex-wrap:wrap;gap:8px;padding:10px;display:flex;box-shadow:inset 0 0 0 2px #ffffff2e}.match-pool.is-empty{min-height:48px;box-shadow:inset 0 0 0 2px #ffffff38;box-shadow:none;background:0 0;border:2px dashed #ffffff4d;justify-content:center;align-items:center}.match-pool-empty{color:var(--on-violet-2);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.match-pool.is-over,.match-pool.is-target{background:#ffffff38}.match-chip{border-radius:var(--r-sm);max-width:100%;color:var(--ink);text-align:left;box-shadow:var(--sh-1), inset 0 -3px 0 var(--violet-100);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab;animation:tile-in .32s var(--ease-spring) both;transition:box-shadow var(--t-fast), background-color var(--t-fast), opacity var(--t-fast);background:#fff;border:0;padding:10px 12px;font-size:15px;font-weight:800;line-height:1.25;display:block}.match-chip.is-placed{width:100%;box-shadow:var(--sh-1);font-size:14px}.match-chip.is-selected{background:var(--violet-100);box-shadow:inset 0 0 0 3px var(--violet-500)}.match-chip.is-placeholder{opacity:.3}.match-chip.is-overlay{cursor:grabbing;max-width:300px;box-shadow:var(--sh-3), inset 0 0 0 3px var(--violet-400);transform:rotate(-2deg)scale(1.04)}.match-zones{gap:10px;display:grid}.match-zone{border-radius:var(--r-lg);background:color-mix(in srgb, var(--zone) 22%, var(--violet-900));min-height:84px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--zone) 55%, transparent);transition:transform var(--t-fast) var(--ease-out), background-color var(--t-fast), box-shadow var(--t-fast);flex-direction:column;gap:8px;padding:10px;display:flex}.match-zone-label{color:#fff;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.match-zone-label:before{content:"";background:var(--zone);border-radius:4px;flex:none;width:12px;height:12px}.match-zone-items{gap:6px;display:grid}.match-zone.is-over{background:color-mix(in srgb, var(--zone) 40%, var(--violet-900));box-shadow:inset 0 0 0 3px var(--zone);transform:scale(1.02)}.match-zone.is-target{box-shadow:inset 0 0 0 3px var(--zone);animation:breathe 1.4s var(--ease-in-out) infinite}@keyframes breathe{50%{background:color-mix(in srgb, var(--zone) 34%, var(--violet-900))}}.text-input{gap:12px;margin-top:8px;display:grid}.text-answer{border-radius:var(--r-lg);width:100%;height:64px;color:var(--ink);font-family:var(--font-display);box-shadow:var(--sh-2), inset 0 -3px 0 var(--violet-100);background:#fff;border:0;padding:0 18px;font-size:24px;font-weight:600}.text-answer:focus{box-shadow:var(--sh-2), 0 0 0 4px #ffffff73;outline:none}.text-answer::placeholder{color:#a49dc4}@media (width>=700px){.p-qtext{font-size:22px}.choice-tile{min-height:130px;font-size:27px}.choice-shape{width:40px;height:40px}.order-row,.match-chip{font-size:18px}.match-zones.n-2,.match-zones.n-3,.match-zones.n-4{grid-template-columns:repeat(2,1fr)}.match-zones.n-3,.match-zones.n-5,.match-zones.n-6{grid-template-columns:repeat(3,1fr)}.p-main{max-width:760px}}@media (height<=520px){.choice-grid{min-height:0}.choice-tile{min-height:64px}}.board-frame{color:#fff;height:100dvh;position:relative;overflow:hidden;container-type:size}.board-frame.is-embedded{aspect-ratio:16/9;border-radius:var(--r-md);background:linear-gradient(160deg, var(--violet-800), var(--violet-950));height:auto}.board{--u:max(6.5px, min(1.2cqw, 1.9cqh));z-index:1;height:100%;padding:calc(var(--u) * 1.6) calc(var(--u) * 2.2);gap:calc(var(--u) * 1);grid-template-rows:auto 1fr auto;display:grid;position:relative}.is-embedded .board{grid-template-rows:1fr}@container (orientation:portrait){.board{--u:max(7px, min(1.75cqw, 1.3cqh))}}.board-top{justify-content:space-between;align-items:center;gap:calc(var(--u) * 1);min-height:44px;display:flex}.board-brand{align-items:center;gap:14px;min-width:0;display:inline-flex}.board-title{font-family:var(--font-display);font-weight:600;font-size:max(16px, calc(var(--u) * 1.3));color:var(--on-violet-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.join-mini{align-items:center;gap:calc(var(--u) * .8);border-radius:var(--r-md);color:var(--ink);font-weight:800;font-size:max(14px, calc(var(--u) * 1));box-shadow:var(--sh-2);background:#fff;padding:6px 8px 6px 16px;display:inline-flex}.join-mini b{font-family:var(--font-display);border-radius:var(--r-sm);background:var(--violet-900);color:#fff;letter-spacing:.04em;padding:2px 12px;font-size:1.3em;font-weight:600}.board-tools{align-items:center;gap:8px;display:flex}.players-mini{border-radius:var(--r-md);min-height:44px;font-weight:800;font-size:max(14px, calc(var(--u) * .9));background:#ffffff1f;align-items:center;padding:0 14px;display:inline-flex}.board .menu-wrap .menu{color:var(--ink)}.board-main{min-height:0;animation:screen-in .52s var(--ease-out) both;flex-direction:column;display:flex;position:relative}@keyframes screen-in{0%{opacity:0;transform:translateY(calc(var(--u) * 1.2)) scale(.99);filter:blur(6px)}}.board-actions{justify-content:flex-end;gap:12px;display:flex}.board-actions .btn-lg{font-size:max(18px, calc(var(--u) * 1.25));min-height:max(52px, calc(var(--u) * 3.4));padding:0 max(22px, calc(var(--u) * 1.8))}.board-message{z-index:1;text-align:center;place-content:center;justify-items:center;gap:18px;height:100%;padding:24px;display:grid;position:relative}.board-message h1{font-size:40px}.board-message p{color:var(--on-violet-2);font-size:20px}.screen-title{font-size:max(28px, calc(var(--u) * 3.4));text-align:center;margin-bottom:calc(var(--u) * 1.6);font-weight:600}.lobby{gap:calc(var(--u) * 1.6);flex:1;grid-template-rows:auto 1fr;min-height:0;display:grid}.lobby-join{align-items:stretch;gap:calc(var(--u) * 1.4);max-width:calc(var(--u) * 84);grid-template-columns:1fr auto;width:100%;margin:0 auto;display:grid}.lobby-how{align-items:center;gap:calc(var(--u) * 2.4);padding:calc(var(--u) * 1.8) calc(var(--u) * 2.6);border-radius:var(--r-xl);color:var(--ink);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) both;background:#fff;grid-template-columns:minmax(0,1fr) auto;display:grid}.lobby-label{font-size:max(15px, calc(var(--u) * 1.3));color:var(--ink-3);font-weight:800}.lobby-host{margin-top:calc(var(--u) * .3);font-family:var(--font-display);font-weight:600;font-size:max(24px, calc(var(--u) * 3));color:var(--violet-700);overflow-wrap:anywhere;line-height:1.05}.lobby-code{padding-left:calc(var(--u) * 2.4);box-shadow:inset 2px 0 0 var(--line)}.lobby-pin{font-family:var(--font-display);font-weight:700;font-size:max(54px, calc(var(--u) * 7.6));letter-spacing:.03em;color:var(--violet-900);white-space:nowrap;line-height:1}.lobby-qr{align-content:center;justify-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * 1.2);border-radius:var(--r-xl);color:var(--ink-2);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) .12s both;background:#fff;margin:0;display:grid}.qr{width:max(120px, calc(var(--u) * 12.5));aspect-ratio:1}.qr svg{width:100%;height:100%;display:block}.lobby-qr figcaption{font-weight:800;font-size:max(13px, calc(var(--u) * .95))}.lobby-players{gap:calc(var(--u) * 1);flex-direction:column;min-height:0;display:flex}.lobby-count{border-radius:var(--r-pill);font-weight:800;font-size:max(16px, calc(var(--u) * 1.3));background:#00000038;align-self:center;align-items:baseline;gap:10px;padding:6px 20px;display:inline-flex}.lobby-count-num{font-family:var(--font-display);animation:pop .42s var(--ease-spring);font-size:1.6em;font-weight:600;display:inline-block}.lobby-waiting{margin-top:calc(var(--u) * 2);font-size:max(18px, calc(var(--u) * 1.6));color:var(--on-violet-2);align-self:center;align-items:center;gap:8px;font-weight:700;display:flex}.lobby-waiting .dot{width:10px;height:10px;animation:blink 1.2s var(--ease-in-out) infinite;background:currentColor;border-radius:50%}.lobby-waiting .dot:nth-child(2){animation-delay:.15s}.lobby-waiting .dot:nth-child(3){margin-right:6px;animation-delay:.3s}@keyframes blink{50%{opacity:.25;transform:translateY(-4px)}}.name-grid{place-content:flex-start center;gap:calc(var(--u) * .7);flex-wrap:wrap;min-height:0;margin:0;padding:4px;list-style:none;display:flex;overflow-y:auto}.name-chip{padding:calc(var(--u) * .5) calc(var(--u) * 1.1);border-radius:var(--r-md);min-height:40px;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(16px, calc(var(--u) * 1.4));box-shadow:var(--sh-2);animation:name-in .52s var(--ease-spring) both;transition:background-color var(--t-fast), color var(--t-fast), opacity var(--t-fast);background:#fff;border:0;align-items:center;gap:8px;display:inline-flex}.name-x{opacity:0;width:0;transition:opacity var(--t-fast), width var(--t-fast)}.name-chip:hover .name-x,.name-chip:focus-visible .name-x,.name-chip.is-confirm .name-x{opacity:1;width:.9em}.name-chip.is-confirm{background:var(--bad-deep);color:#fff}.name-chip.is-away{opacity:.55}@keyframes name-in{0%{opacity:0;transform:translateY(14px)scale(.6)}60%{opacity:1}}.bq{gap:calc(var(--u) * 1.2);flex:1;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.bq-head{justify-items:center;gap:calc(var(--u) * .8);display:grid}.bq-meta{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pill{border-radius:var(--r-pill);font-weight:800;font-size:max(13px, calc(var(--u) * .95));background:#0000003d;align-items:center;gap:6px;padding:4px 14px;display:inline-flex}.pill-soft{background:#ffffff24}.pill-gold{background:var(--gold);color:#3a2600}.bq-text{width:100%;max-width:calc(var(--u) * 100);padding:calc(var(--u) * 1.1) calc(var(--u) * 2.2);border-radius:var(--r-xl);color:var(--ink);font-size:max(22px, calc(var(--u) * 2.9));text-align:center;box-shadow:var(--sh-3);animation:drop-in .52s var(--ease-out) both;background:#fff;font-weight:600;line-height:1.15}@keyframes drop-in{0%{opacity:0;transform:translateY(calc(var(--u) * -1.5))}}.bq-stage{grid-template-columns:calc(var(--u) * 11) minmax(0, 1fr) calc(var(--u) * 11);align-items:center;gap:calc(var(--u) * 1.4);min-height:0;display:grid}.bq-side{aspect-ratio:1;place-items:center;display:grid}.bq-side-spacer{display:block}.bq-center{place-items:center;height:100%;min-height:0;display:grid}.bq-image{object-fit:contain;border-radius:var(--r-lg);max-width:100%;max-height:100%;box-shadow:var(--sh-3);animation:pop .52s var(--ease-out) both;background:#fff}.bq-emblem{width:min(100%, calc(var(--u) * 13));aspect-ratio:1;place-items:center;display:grid;position:relative}.emblem-ring{animation:breathe-ring 3.2s var(--ease-in-out) infinite;background:#ffffff14;border-radius:50%;position:absolute;inset:0}.emblem-core{aspect-ratio:1;background:#ffffff24;border-radius:50%;place-items:center;width:62%;display:grid;position:relative}.emblem-core svg{stroke-width:2.2px;width:46%;height:46%}@keyframes breathe-ring{50%{opacity:.6;transform:scale(1.12)}}.bq-count{justify-items:center;line-height:1;display:grid}.bq-count-num{font-family:var(--font-display);font-size:max(34px, calc(var(--u) * 5));font-weight:600}.bq-count-label{font-weight:800;font-size:max(13px, calc(var(--u) * 1));color:var(--on-violet-2);margin-top:6px}.timer-ring{max-width:calc(var(--u) * 10);max-height:calc(var(--u) * 10);place-items:center;display:grid;position:relative}.timer-ring svg{width:100%;height:100%;position:absolute;inset:0}.timer-bg{fill:var(--violet-700);transform-origin:50%}.timer-arc{fill:none;stroke:#fff;stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .11s linear, stroke var(--t-med)}.timer-num{font-family:var(--font-display);font-weight:600;font-size:max(28px, calc(var(--u) * 3.6));line-height:1;position:relative}.timer-ring.is-urgent .timer-bg{fill:var(--bad);animation:heartbeat 1s var(--ease-out) infinite}.timer-ring.is-urgent .timer-num{animation:pop .3s var(--ease-spring)}@keyframes heartbeat{15%{transform:scale(1.08)}35%{transform:scale(1)}}.tiles{gap:calc(var(--u) * .8);grid-template-columns:1fr 1fr;display:grid}.tiles.n-5,.tiles.n-6{grid-template-columns:repeat(3,1fr)}.tile{align-items:center;gap:calc(var(--u) * 1);min-height:calc(var(--u) * 7);padding:calc(var(--u) * .8) calc(var(--u) * 1.4);border-radius:var(--r-lg);background:var(--ans);color:var(--ans-ink);font-family:var(--font-display);font-weight:600;font-size:max(17px, calc(var(--u) * 2.1));box-shadow:var(--press), var(--sh-2);animation:tile-in .48s var(--ease-spring) both;transition:opacity var(--t-med), filter var(--t-med), transform var(--t-med) var(--ease-out);line-height:1.15;display:flex;position:relative}.tiles.n-5 .tile,.tiles.n-6 .tile{font-size:max(16px, calc(var(--u) * 1.7))}.tile-shape{filter:drop-shadow(0 2px 2px #00000026);flex:none;font-size:1.35em}.tile-label{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0}.tile-mark{background:#ffffff40;border-radius:50%;flex:none;place-items:center;width:1.5em;height:1.5em;display:grid}.tile-mark svg{width:70%;height:70%}.tile.is-wrong{filter:saturate(.25)brightness(.5);transform:scale(.98)}.tile.is-right{animation:tile-in .48s var(--ease-spring) both, right-glow 1.2s var(--ease-out) .5s}@keyframes right-glow{30%{transform:scale(1.03)}}.bars{height:100%;width:min(100%, calc(var(--u) * 64));justify-content:center;align-items:flex-end;gap:calc(var(--u) * 1.4);padding-top:calc(var(--u) * .5);display:flex}.bar-col{max-width:calc(var(--u) * 12);height:100%;transition:opacity var(--t-med);flex:1;grid-template-rows:auto 1fr auto;justify-items:center;gap:6px;display:grid}.bar-col.is-dim{filter:saturate(.3)brightness(.6)}.bar-count{font-family:var(--font-display);font-weight:600;font-size:max(20px, calc(var(--u) * 2.4));align-items:center;gap:6px;display:inline-flex}.bar-check{width:1em;height:1em;color:var(--good-deep);background:#fff;border-radius:50%;padding:.12em}.bar-track{align-items:flex-end;width:100%;height:100%;display:flex}.bar-fill{border-radius:var(--r-sm) var(--r-sm) 4px 4px;background:var(--ans);transform-origin:bottom;width:100%;animation:grow .9s var(--ease-out) both;box-shadow:inset 0 -4px #00000026}@keyframes grow{0%{transform:scaleY(0)}}.bar-foot{border-radius:var(--r-xs);background:var(--ans);width:100%;color:var(--ans-ink);font-size:max(16px, calc(var(--u) * 1.6));place-items:center;padding:6px 0;display:grid}.panel{justify-items:center;gap:calc(var(--u) * 1.4);max-width:calc(var(--u) * 80);padding:calc(var(--u) * 1.6) calc(var(--u) * 2);border-radius:var(--r-xl);animation:rise .52s var(--ease-out) .15s both;background:#0000002e;display:grid}.panel-hint{font-weight:800;font-size:max(15px, calc(var(--u) * 1.6));color:var(--on-violet-2);align-items:center;gap:10px;display:inline-flex}.panel-hint.big{font-family:var(--font-display);font-weight:600;font-size:max(22px, calc(var(--u) * 3));color:#fff;padding:calc(var(--u) * 1.4) calc(var(--u) * 1)}.chip-row{justify-content:center;gap:calc(var(--u) * .6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.board-chip{padding:calc(var(--u) * .6) calc(var(--u) * 1.2);border-radius:var(--r-md);color:var(--ink);font-weight:800;font-size:max(15px, calc(var(--u) * 1.7));box-shadow:var(--sh-1);animation:tile-in .42s var(--ease-spring) both;background:#fff}.chip-row li:nth-child(2){animation-delay:60ms}.chip-row li:nth-child(3){animation-delay:.12s}.chip-row li:nth-child(4){animation-delay:.18s}.chip-row li:nth-child(n+5){animation-delay:.24s}.board-chip.cat{font-family:var(--font-display);font-weight:600;font-size:max(18px, calc(var(--u) * 2.4));background:var(--zone);color:var(--violet-980);padding:calc(var(--u) * .6) calc(var(--u) * 1.4)}.reveal-order{width:min(100%, calc(var(--u) * 80));gap:calc(var(--u) * .8);display:grid}.reveal-caption{font-weight:800;font-size:max(16px, calc(var(--u) * 1.7));color:var(--on-violet-2);justify-content:center;align-items:center;gap:8px;display:inline-flex}.reveal-caption strong{color:#fff;font-family:var(--font-display);font-size:1.2em;font-weight:600}.reveal-order ol{gap:calc(var(--u) * .5);margin:0;padding:0;list-style:none;display:grid}.reveal-order li{grid-template-columns:auto 1fr minmax(calc(var(--u) * 14), 28%);align-items:center;gap:calc(var(--u) * 1);padding:calc(var(--u) * .5) calc(var(--u) * .8);border-radius:var(--r-md);color:var(--ink);font-weight:800;font-size:max(15px, calc(var(--u) * 1.55));box-shadow:var(--sh-2);animation:slide-in .52s var(--ease-out) both;background:#fff;display:grid}@keyframes slide-in{0%{opacity:0;transform:translateX(calc(var(--u) * -3))}}.ro-num{border-radius:var(--r-xs);background:var(--good-deep);color:#fff;width:1.9em;height:1.9em;font-family:var(--font-display);place-items:center;font-weight:600;display:grid}.ro-pct{border-radius:var(--r-pill);background:var(--violet-50);justify-content:flex-end;align-items:center;height:1.7em;padding-right:10px;display:flex;position:relative;overflow:hidden}.ro-bar{background:var(--violet-200);border-radius:inherit;transform-origin:0;animation:grow-x .9s var(--ease-out) .3s both;position:absolute;inset:0 auto 0 0}.ro-pct b{color:var(--violet-900);position:relative}@keyframes grow-x{0%{transform:scaleX(0)}}.reveal-match{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:calc(var(--u) * 1);align-content:center;width:100%;height:100%;display:grid}.reveal-match.n-2{--cols:2}.reveal-match.n-4{--cols:4}.reveal-match.n-5,.reveal-match.n-6{--cols:3}.rm-col{align-content:start;gap:calc(var(--u) * .6);padding:calc(var(--u) * .9);border-radius:var(--r-lg);color:var(--ink);box-shadow:var(--sh-2);border-top:calc(var(--u) * .5) solid var(--zone-deep);animation:rise .52s var(--ease-out) both;background:#fff;display:grid}.rm-col h3{font-size:max(17px, calc(var(--u) * 2.1));color:var(--violet-900)}.rm-col ul{gap:calc(var(--u) * .4);margin:0;padding:0;list-style:none;display:grid}.rm-col li{padding:calc(var(--u) * .45) calc(var(--u) * .6);border-radius:var(--r-sm);background:var(--violet-50);font-weight:700;font-size:max(14px, calc(var(--u) * 1.45));align-items:center;gap:10px;line-height:1.25;display:flex}.rm-col li span{flex:1}.rm-col li b{font-family:var(--font-display);border-radius:var(--r-pill);flex:none;padding:2px 10px;font-weight:600}.rm-col li b.good{background:var(--good-soft);color:var(--good-deep)}.rm-col li b.low{background:var(--bad-soft);color:var(--bad-deep)}.reveal-cloud{justify-content:center;align-items:center;gap:calc(var(--u) * 1);flex-direction:column;width:100%;height:100%;display:flex}.cloud{padding:calc(var(--u) * 1);place-content:center;align-items:center;gap:calc(var(--u) * .4) calc(var(--u) * 1.4);font-size:max(15px, calc(var(--u) * 2));max-width:calc(var(--u) * 90);flex-wrap:wrap;max-height:100%;margin:0;list-style:none;display:flex;overflow:hidden}.cloud-word{font-family:var(--font-display);animation:word-in .56s var(--ease-spring) both;font-weight:600;line-height:1.05}.cloud-word sup{opacity:.7;font-size:.42em;font-family:var(--font-body);margin-left:.15em;font-weight:800}.cloud-word.tone-0{color:#fff}.cloud-word.tone-1{color:#ffd166}.cloud-word.tone-2{color:#8fd8ff}.cloud-word.tone-3{color:#ffb3c1}.cloud-word.tone-4{color:#b9f5c9}.cloud-word.is-right{color:#7cf0a6}.cloud-word.is-wrong{color:#fff9}.cloud-empty{font-size:max(18px, calc(var(--u) * 1.8));color:var(--on-violet-2)}@keyframes word-in{0%{opacity:0;transform:scale(.3)}}.bq-intro{place-content:center;justify-items:center;gap:calc(var(--u) * 2);text-align:center;flex:1;display:grid}.bq-intro-text{max-width:calc(var(--u) * 80);padding:calc(var(--u) * 2.4) calc(var(--u) * 3.2);border-radius:var(--r-xl);color:var(--ink);font-size:max(26px, calc(var(--u) * 4));box-shadow:var(--sh-3);animation:intro-in .7s var(--ease-spring) both;background:#fff;font-weight:600;line-height:1.12}@keyframes intro-in{0%{opacity:0;transform:scale(.85) translateY(calc(var(--u) * 2))}}.intro-progress{width:min(100%, calc(var(--u) * 40));height:calc(var(--u) * .6);border-radius:var(--r-pill);background:#fff3;min-height:6px;overflow:hidden}.intro-progress span{border-radius:inherit;transform-origin:0;background:#fff;height:100%;transition:transform .11s linear;display:block}.lb{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.lb-list{width:min(100%, calc(var(--u) * 72));gap:calc(var(--u) * .8);margin:0;padding:0;list-style:none;display:grid}.lb-row{align-items:center;gap:calc(var(--u) * 1.2);padding:calc(var(--u) * .9) calc(var(--u) * 1.4);border-radius:var(--r-lg);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(18px, calc(var(--u) * 2.2));box-shadow:var(--sh-2);animation:lb-in .64s var(--ease-spring) both;background:#fff;grid-template-columns:auto 1fr auto auto;display:grid}.lb-row.rank-1{background:var(--gold);color:#3a2600}@keyframes lb-in{0%{opacity:0;transform:translateY(calc(var(--u) * 3)) scale(.95)}}.lb-rank{border-radius:var(--r-sm);background:var(--violet-900);color:#fff;place-items:center;width:1.8em;height:1.8em;font-size:.85em;display:grid}.rank-1 .lb-rank{color:var(--gold);background:#3a2600}.lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-delta{font-family:var(--font-body);border-radius:var(--r-pill);background:var(--good-soft);color:var(--good-deep);padding:3px 10px;font-size:.62em;font-weight:800}.lb-score{text-align:right;min-width:4ch}.lb-empty{color:var(--on-violet-2);font-size:22px}.podium{flex-direction:column;flex:1;min-height:0;display:flex}.podium-stage{grid-template-columns:repeat(3, minmax(0, calc(var(--u) * 24)));justify-content:center;align-items:end;gap:calc(var(--u) * 1.2);flex:1;min-height:0;display:grid}.podium-spot{flex-direction:column;justify-content:flex-end;align-items:stretch;height:100%;display:flex}.podium-who{padding-bottom:calc(var(--u) * 1);text-align:center;opacity:0;transform:translateY(calc(var(--u) * 2)) scale(.8);transition:opacity .5s var(--ease-out) .65s, transform .7s var(--ease-spring) .65s;justify-items:center;gap:4px;display:grid}.podium-name{max-width:100%;padding:calc(var(--u) * .4) calc(var(--u) * 1.2);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(18px, calc(var(--u) * 2.3));overflow-wrap:anywhere;box-shadow:var(--sh-2);background:#fff}.podium-score{font-weight:800;font-size:max(14px, calc(var(--u) * 1.3));color:var(--on-violet-2)}.podium-crown{width:calc(var(--u) * 4);height:calc(var(--u) * 4);color:var(--gold);fill:var(--gold);stroke:#9a6a00;animation:crown 2.4s var(--ease-in-out) infinite}@keyframes crown{50%{transform:translateY(-6px)rotate(-6deg)}}.podium-block{padding-top:calc(var(--u) * 1.2);border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(180deg, var(--block-top), var(--block-bottom));box-shadow:inset 0 calc(var(--u) * .5) 0 #ffffff59, var(--sh-3);transform-origin:bottom;transition:transform .9s var(--ease-out);place-items:start center;display:grid;transform:scaleY(0)}.podium-num{font-family:var(--font-display);font-weight:700;font-size:max(36px, calc(var(--u) * 6));color:#00000073;line-height:1}.place-1 .podium-block{--block-top:#ffd65a;--block-bottom:#f1a800;height:62%}.place-2 .podium-block{--block-top:#eef1f7;--block-bottom:#b7c0d3;height:46%}.place-3 .podium-block{--block-top:#f3b98a;--block-bottom:#cf7a3b;height:34%}.podium-spot.is-shown .podium-block{transform:scaleY(1)}.podium-spot.is-shown .podium-who{opacity:1;transform:none}.full-rank{flex-direction:column;flex:1;min-height:0;display:flex}.fr-list{columns:calc(var(--u) * 26) 3;column-gap:calc(var(--u) * 1.4);min-height:0;margin:0;padding:0 4px 4px;list-style:none;overflow-y:auto}.fr-list li{break-inside:avoid;margin-bottom:calc(var(--u) * .5);padding:calc(var(--u) * .45) calc(var(--u) * .9);border-radius:var(--r-sm);color:var(--ink);font-weight:800;font-size:max(14px, calc(var(--u) * 1.3));animation:rise .42s var(--ease-out) both;background:#fffffff2;grid-template-columns:2.4em 1fr auto;align-items:center;gap:10px;display:grid}.fr-rank{font-family:var(--font-display);color:var(--violet-600);font-weight:600}.fr-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@container (orientation:portrait){.lobby-how{gap:calc(var(--u) * 1.2);grid-template-columns:1fr}.lobby-code{padding-left:0;padding-top:calc(var(--u) * 1.2);box-shadow:inset 0 2px 0 var(--line)}.tile{min-height:calc(var(--u) * 9)}.bq-stage{grid-template:"timer count""center center"minmax(0,1fr)/1fr 1fr;align-items:stretch}.bq-stage>.bq-side:first-child{width:calc(var(--u) * 9);grid-area:timer;justify-self:start}.bq-stage>.bq-side:last-child{width:calc(var(--u) * 9);grid-area:count;justify-self:end}.bq-stage>.bq-center{grid-area:center}.is-reveal .bq-stage>.bq-side:first-child{display:none}.tiles.n-5,.tiles.n-6{grid-template-columns:1fr 1fr}.reveal-match{--cols:2!important}.podium-stage{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (height<=820px){.bq{gap:calc(var(--u) * .8)}.tile{min-height:calc(var(--u) * 5.6)}}.docent{background:var(--canvas);min-height:100vh;color:var(--ink)}.docent-loading{background:var(--canvas)}.d-top{z-index:30;-webkit-backdrop-filter:saturate(1.4)blur(10px);box-shadow:0 1px 0 var(--line);background:#ffffffeb;position:sticky;top:0}.d-top-inner{align-items:center;gap:24px;max-width:1280px;height:64px;margin:0 auto;padding:0 20px;display:flex}.d-brand{flex:none;text-decoration:none}.d-nav{flex:1;gap:4px;min-width:0;display:flex}.d-nav-link{border-radius:var(--r-sm);height:40px;color:var(--ink-2);transition:background-color var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.d-nav-link:hover{background:var(--violet-50);color:var(--violet-700)}.d-nav-link.is-active{background:var(--violet-100);color:var(--violet-800)}.d-user{flex:none;align-items:center;gap:8px;display:flex}.d-avatar{background:var(--violet-600);color:#fff;width:32px;height:32px;font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:600;display:grid}.d-username{color:var(--ink-2);text-transform:capitalize;font-weight:800}.d-main{max-width:980px;margin:0 auto;padding:32px 20px 96px}.d-main.is-wide{max-width:1280px}.d-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:24px;display:flex}.d-title{color:var(--violet-980);font-size:34px;font-weight:600}.d-lead{color:var(--ink-2);max-width:62ch;margin-top:6px;font-size:16px}.d-head-actions{align-items:center;gap:10px;display:flex}.d-muted{color:var(--ink-3)}.d-skeleton{border-radius:var(--r-lg);background:linear-gradient(100deg, var(--paper) 30%, var(--violet-50) 50%, var(--paper) 70%) 0 0 / 300% 100%;height:280px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.d-empty{border-radius:var(--r-lg);background:var(--paper);text-align:center;box-shadow:var(--sh-1);justify-items:center;gap:10px;padding:56px 24px;display:grid}.d-empty h2{font-size:24px}.d-empty p{color:var(--ink-2);margin-bottom:8px}.d-card{border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--sh-1);padding:20px}.d-card-title{margin-bottom:14px;font-size:20px}.quiz-list{border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--sh-1);margin:0;padding:0;list-style:none}.quiz-row{animation:rise .42s var(--ease-out) backwards;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:flex;position:relative}.quiz-row:focus-within{z-index:2}.quiz-row+.quiz-row{box-shadow:inset 0 1px 0 var(--line)}.quiz-main{border-radius:var(--r-md);min-width:0;color:inherit;transition:background-color var(--t-fast);flex:1;align-items:center;gap:14px;padding:6px;text-decoration:none;display:flex}a.quiz-main:hover{background:var(--violet-50)}.quiz-badge{border-radius:var(--r-md);width:48px;height:48px;font-family:var(--font-display);color:#fff;box-shadow:var(--press-sm);flex:none;place-items:center;font-size:20px;font-weight:600;display:grid}.tint-0{background:var(--violet-600)}.tint-1{background:var(--a-blue)}.tint-2{background:var(--a-red)}.tint-3{background:var(--a-green)}.tint-4{background:var(--a-teal)}.tint-5{background:var(--a-purple)}.quiz-info{gap:2px;min-width:0;display:grid}.quiz-title{font-family:var(--font-display);color:var(--violet-980);text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:600;overflow:hidden}.quiz-meta{color:var(--ink-3);font-size:14px;font-weight:700}.quiz-meta .warn{color:#a35a00}.quiz-actions{flex:none;align-items:center;gap:6px;display:flex}.row-chevron{color:var(--ink-3);flex:none;margin-left:auto}.ed-back{margin:-8px 0 12px -8px}.ed-head{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:20px;display:grid}.ed-head .ed-back{margin:0}.ed-titles{gap:2px;min-width:0;display:grid}.ed-title,.ed-desc{border-radius:var(--r-xs);width:100%;transition:background-color var(--t-fast), box-shadow var(--t-fast);background:0 0;border:0;margin-left:-8px;padding:4px 8px}.ed-title{font-family:var(--font-display);color:var(--violet-980);font-size:28px;font-weight:600}.ed-desc{color:var(--ink-2);font-size:15px;font-weight:700}.ed-title:hover,.ed-desc:hover{background:#ffffffb3}.ed-title:focus,.ed-desc:focus{box-shadow:0 0 0 2px var(--violet-400);background:#fff;outline:none}.ed-actions{align-items:center;gap:10px;display:flex}.save-badge{border-radius:var(--r-pill);white-space:nowrap;border:0;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.save-badge.is-saved{background:var(--good-soft);color:var(--good-deep)}.save-badge.is-dirty,.save-badge.is-saving{background:var(--violet-50);color:var(--violet-700)}.save-badge.is-error{background:var(--bad-soft);color:var(--bad-deep)}.spin{animation:.9s linear infinite spin}.ed-body{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.qlist{border-radius:var(--r-lg);background:var(--paper);min-width:0;max-height:calc(100vh - 104px);box-shadow:var(--sh-1);flex-direction:column;padding:14px;display:flex;position:sticky;top:84px}.qlist-head{align-items:center;gap:8px;padding:0 4px 10px;display:flex}.qlist-head h2{font-size:18px}.qlist-count{border-radius:var(--r-pill);background:var(--violet-50);color:var(--violet-700);padding:1px 9px;font-size:13px;font-weight:800}.qlist-items{gap:4px;min-height:0;margin:0;padding:2px;list-style:none;display:grid;overflow-y:auto}.qrow{border-radius:var(--r-md);background:var(--paper);transition:background-color var(--t-fast), box-shadow var(--t-fast);align-items:stretch;display:flex;position:relative}.qrow:hover{background:var(--violet-50)}.qrow.is-active{background:var(--violet-100);box-shadow:inset 0 0 0 2px var(--violet-400)}.qrow.is-dragging{z-index:2;box-shadow:var(--sh-2), inset 0 0 0 2px var(--violet-400);background:#fff}.qrow-main{text-align:left;border-radius:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 4px 8px 8px;display:flex}.qrow-num{border-radius:var(--r-xs);background:var(--violet-600);color:#fff;width:30px;height:30px;font-family:var(--font-display);flex:none;place-items:center;font-size:15px;font-weight:600;display:grid}.qrow-body{min-width:0;display:grid}.qrow-type{color:var(--violet-600);align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.qrow-text{color:var(--ink);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.qrow-text.is-empty{color:var(--ink-3);font-style:italic}.qrow-warn{color:#c27400;flex:none}.qrow-grip{width:32px;color:var(--ink-3);cursor:grab;touch-action:none;border-radius:var(--r-xs);place-items:center;display:grid}.qrow-grip:hover{color:var(--violet-700)}.qadd{padding-top:10px;position:relative}.qadd-btn{width:100%}.type-picker{z-index:20;background:var(--paper);border-radius:var(--r-lg);width:max(100%,320px);box-shadow:var(--sh-2), 0 0 0 1px var(--line);animation:menu-in .18s var(--ease-out);gap:2px;padding:6px;display:grid;position:absolute;left:0}.type-picker.is-up{transform-origin:0 100%;bottom:calc(100% + 6px)}.type-picker.is-down{transform-origin:0 0;top:calc(100% + 6px)}.type-option{border-radius:var(--r-sm);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 10px;display:flex}.type-option:hover,.type-option:focus-visible{background:var(--violet-50);box-shadow:none}.type-option strong{color:var(--ink);font-size:15px;display:block}.type-option small{color:var(--ink-3);font-size:13px;font-weight:700;display:block}.type-option-icon{border-radius:var(--r-sm);background:var(--violet-100);width:36px;height:36px;color:var(--violet-700);flex:none;place-items:center;display:grid}.ed-panel{border-radius:var(--r-lg);background:var(--paper);min-width:0;box-shadow:var(--sh-1);padding:18px 22px 24px}.ed-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.seg{border-radius:var(--r-md);background:var(--canvas);box-shadow:inset 0 0 0 1px var(--line);gap:2px;padding:4px;display:inline-flex}.seg button{border-radius:var(--r-sm);height:34px;color:var(--ink-2);transition:background-color var(--t-fast), color var(--t-fast);background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.seg button.is-on{color:var(--violet-800);box-shadow:var(--sh-1);background:#fff}.qform{gap:20px;display:grid}.qform-settings{grid-template-columns:1.4fr 1fr 1fr;gap:12px;display:grid}.qform-text{font-family:var(--font-display);min-height:76px;font-size:20px;font-weight:600}.qform-section{box-shadow:inset 0 1px 0 var(--line);gap:12px;padding-top:18px;display:grid}.qform-section header h3{font-size:18px}.qform-section header p{color:var(--ink-3);margin-top:2px;font-size:14px;font-weight:700}.qform-note{color:var(--ink-2);border-radius:var(--r-sm);background:var(--violet-50);padding:10px 14px;font-size:14px}.qform-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.qform-problems{border-radius:var(--r-md);color:#7a4300;background:#fff6e5;gap:10px;padding:12px 14px;font-size:14px;display:flex}.qform-problems svg{flex:none;margin-top:2px}.qform-problems ul{margin:4px 0 0;padding-left:18px}.opt-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.opt{border-radius:var(--r-md);background:var(--canvas);transition:box-shadow var(--t-fast), background-color var(--t-fast);align-items:center;gap:8px;padding:6px;display:flex}.opt.is-dragging{z-index:2;box-shadow:var(--sh-2);background:#fff}.opt-shape{border-radius:var(--r-sm);background:var(--ans);width:40px;height:40px;color:var(--ans-ink);flex:none;place-items:center;display:grid}.opt-input{flex:1;min-width:0}.opt.is-correct{background:var(--good-soft);box-shadow:inset 0 0 0 2px #8fe0ad}.opt-correct{border:2px solid var(--line-strong);color:#0000;width:40px;height:40px;transition:background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast) var(--ease-spring);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.opt-correct:hover{border-color:var(--good);color:#9be3b5}.opt-correct.is-on{border-color:var(--good-deep);background:var(--good-deep);color:#fff;transform:scale(1.05)}.opt-num{border-radius:var(--r-xs);background:var(--violet-600);color:#fff;width:32px;height:32px;font-family:var(--font-display);flex:none;place-items:center;font-weight:600;display:grid}.opt-grip{width:28px;height:40px;color:var(--ink-3);cursor:grab;touch-action:none;flex:none;place-items:center;display:grid}.opt-swatch{background:var(--zone-deep);border-radius:6px;flex:none;width:14px;height:40px;margin-left:4px}.opt-ok{background:var(--good-soft);width:32px;height:32px;color:var(--good-deep);border-radius:50%;flex:none;place-items:center;display:grid}.opt-match .opt-input{flex:2}.opt-select{flex:1;min-width:140px}.tf-pick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tf-option{border-radius:var(--r-md);background:var(--ans);min-height:64px;color:var(--ans-ink);font-family:var(--font-display);opacity:.45;box-shadow:var(--press-sm);transition:opacity var(--t-fast), transform var(--t-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex;position:relative}.tf-option.is-on{opacity:1;box-shadow:var(--press-sm), 0 0 0 3px #fff, 0 0 0 6px var(--good-deep)}.tf-check{position:absolute;right:14px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:15px;font-weight:700;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{border-radius:var(--r-pill);background:var(--line-strong);width:44px;height:26px;transition:background-color var(--t-fast);position:relative}.switch-track:after{content:"";width:20px;height:20px;box-shadow:var(--sh-1);transition:transform var(--t-med) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--violet-600)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{box-shadow:var(--focus)}.image-drop{border:2px dashed var(--line-strong);border-radius:var(--r-md);background:var(--canvas);width:100%;min-height:64px;color:var(--ink-2);transition:border-color var(--t-fast), background-color var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;gap:10px;font-weight:800;display:flex}.image-drop:hover,.image-drop.is-over{border-color:var(--violet-400);background:var(--violet-50);color:var(--violet-700)}.image-preview{border-radius:var(--r-md);background:var(--canvas);max-width:420px;position:relative;overflow:hidden}.image-preview img{object-fit:contain;width:100%;max-height:260px}.image-actions{gap:6px;display:flex;position:absolute;top:10px;right:10px}.preview{gap:16px;display:grid}.preview-stage{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.preview figure{gap:8px;margin:0;display:grid}.preview figcaption{color:var(--ink-3);text-align:center;font-size:13px;font-weight:800}.preview-board .board-frame{box-shadow:var(--sh-2)}.preview-phone{min-width:0}.phone{width:100%;height:600px;box-shadow:var(--sh-2);background:#15102c;border-radius:38px;padding:10px;overflow:hidden}.phone .play{isolation:isolate;border-radius:30px;height:100%;min-height:0;overflow:hidden}.phone .play-inner{height:100%;padding-top:14px;overflow-y:auto}.play.is-embedded{background:linear-gradient(160deg, var(--violet-800), var(--violet-950))}.preview-empty{border-radius:var(--r-md);background:var(--canvas);color:var(--ink-2);text-align:center;padding:40px 20px;font-weight:700}.res-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}.res-rank{gap:2px;margin:0;padding:0;list-style:none;display:grid}.res-rank li{border-radius:var(--r-sm);grid-template-columns:2.4em 1fr auto;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:grid}.res-rank li:nth-child(odd){background:var(--canvas)}.rr-rank{width:28px;height:28px;font-family:var(--font-display);color:var(--violet-700);border-radius:8px;place-items:center;font-weight:600;display:grid}.top-1 .rr-rank{background:var(--gold);color:#3a2600}.top-2 .rr-rank{background:var(--silver);color:#3a4256}.top-3 .rr-rank{background:var(--bronze);color:#4a2507}.rr-score{font-family:var(--font-display);font-weight:600}.res-questions{gap:14px;margin:0;padding:0;list-style:none;display:grid}.res-questions li.is-unplayed{opacity:.55}.rq-top{align-items:baseline;gap:10px;display:flex}.rq-num{font-family:var(--font-display);color:var(--violet-600);flex:none;font-weight:600}.rq-text{font-weight:800}.rq-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:4px 0 6px 22px;font-size:13px;font-weight:700;display:flex}.rq-type{align-items:center;gap:5px;display:inline-flex}.rq-pct{margin-left:auto;font-weight:800}.rq-pct.hi{color:var(--good-deep)}.rq-pct.mid{color:#a35a00}.rq-pct.lo{color:var(--bad-deep)}.rq-pct.muted{color:var(--ink-3)}.rq-bar{border-radius:var(--r-pill);background:var(--canvas);height:8px;margin-left:22px;overflow:hidden}.rq-bar span{border-radius:inherit;transform-origin:0;height:100%;animation:grow-x .8s var(--ease-out) both;display:block}.rq-bar .hi{background:var(--good)}.rq-bar .mid{background:#f2a33a}.rq-bar .lo{background:var(--bad)}.help{border-radius:var(--r-lg);background:var(--paper);max-width:70ch;box-shadow:var(--sh-1);padding:32px 36px 40px;font-size:17px;line-height:1.6}.help-lead{color:var(--ink-2);margin:10px 0 8px;font-size:19px}.help h2{color:var(--violet-900);margin:32px 0 10px;font-size:22px}.help ol,.help ul{gap:6px;padding-left:22px;display:grid}.help p+p{margin-top:10px}.help ol+p,.help dl+p{margin-top:12px}.help-types{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;display:grid}.help-types dt{color:var(--violet-800);font-weight:800}.help-types dd{margin:0}@media (width<=1100px){.preview-stage{grid-template-columns:1fr;justify-items:center}.preview-board{width:100%}.preview-phone{width:300px}}@media (width<=960px){.ed-body{grid-template-columns:minmax(0,1fr)}.qlist{max-height:none;position:static}.qlist-items{grid-template-columns:none;grid-auto-columns:220px;grid-auto-flow:column;padding-bottom:8px;overflow:auto hidden}.qrow{box-shadow:inset 0 0 0 1px var(--line)}.ed-head{grid-template-columns:1fr}.ed-head .ed-back{justify-self:start}.ed-actions{flex-wrap:wrap}.res-grid{grid-template-columns:1fr}.d-username{display:none}}@media (width<=760px){.d-top-inner{gap:8px;padding:0 12px}.d-brand .logo-word{display:none}.d-nav-link{padding:0 10px}.d-nav-link span{display:none}.qform-settings{grid-template-columns:1fr 1fr}.qform-settings .field:first-child{grid-column:1/-1}.hide-sm{display:none}}@media (width<=560px){.d-main{padding:20px 16px 80px}.d-title{font-size:28px}.quiz-row{flex-wrap:wrap;padding:10px}.quiz-actions{justify-content:flex-end;width:100%}.ed-panel{padding:14px}.ed-title{font-size:24px}.opt-match{flex-wrap:wrap}.opt-match .opt-input{flex-basis:100%}.help{padding:22px 18px}.help-types{grid-template-columns:1fr}.help-types dd{margin-bottom:8px}.tf-pick{grid-template-columns:1fr}}
