@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;--violet-glow-1:#5530d8;--violet-glow-2:#3a17a8;--warm-600:#e8602f;--warm-500:coral;--warm-400:#ff9e78;--warm-200:#ffd2bf;--warm-100:#ffeee6;--warm-ink:#3d1405;--blush:#ff9fb0;--a-red:#d92745;--a-blue:#2b6be0;--a-yellow:#f4b000;--a-green:#15834a;--a-purple:#8c4bdf;--a-teal:#0a7f8f;--a-yellow-ink:#2a1b00;--a-red-soft:#ff7a8f;--a-blue-soft:#6aa2ff;--a-yellow-soft:#ffd166;--a-yellow-deep:#c98a00;--a-green-soft:#5fd38f;--a-purple-soft:#b98cff;--a-teal-soft:#4fd1dc;--cloud-blue:#8fd8ff;--cloud-pink:#ffb3c1;--cloud-mint:#b9f5c9;--cloud-right:#7cf0a6;--good:#23c35f;--good-deep:#13803f;--good-soft:#dcfce7;--good-line:#8fe0ad;--good-hi:#27b35f;--good-lo:#0f6e36;--bad:#ef4056;--bad-deep:#b4142e;--bad-soft:#ffe4e8;--bad-hi:#e8455c;--bad-lo:#a11530;--part-hi:#f39a1f;--part-lo:#b8560b;--warn:#c27400;--warn-ink:#7a4300;--warn-soft:#fff6e5;--warn-mid:#f2a33a;--warn-text:#a35a00;--gold:#ffc531;--gold-hi:#ffd65a;--gold-lo:#f1a800;--gold-ink:#3a2600;--gold-line:#9a6a00;--silver:#d5dbe8;--silver-hi:#eef1f7;--silver-lo:#b7c0d3;--silver-ink:#3a4256;--bronze:#e39a5b;--bronze-hi:#f3b98a;--bronze-lo:#cf7a3b;--bronze-ink:#4a2507;--ink:#1c1442;--ink-2:#4b4374;--ink-3:#6e6697;--ink-4:#8a83ad;--paper:#fff;--canvas:#f6f3fb;--line:#e7e2f3;--line-strong:#cfc7ea;--device:#15102c;--on-violet:#fff;--on-violet-2:#d9d0ff;--on-violet-3:#ffffff8c;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-2xs:12px;--fs-xs:13px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--fs-4xl:34px;--fs-5xl:44px;--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);font-weight:600;font-size:var(--fs-md);color:var(--ink);background:var(--violet-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;margin:0;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{outline:3px solid var(--violet-500);outline-offset:2px}.play :focus-visible,.board-frame :focus-visible{outline-color:var(--on-violet)}.play .join-card :focus-visible,.play .p-qhead :focus-visible,.board-frame .menu :focus-visible{outline-color:var(--violet-500)}.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:var(--on-violet);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);font-weight:600;font-size:var(--fs-lg);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;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;font-size:var(--fs-xl);padding:0 var(--s-6);border-radius:var(--r-lg);box-shadow:var(--press)}.btn-sm{min-height:36px;padding:0 var(--s-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-white{--btn-bg:var(--paper);--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:var(--on-violet);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{font-size:var(--fs-sm);color:var(--ink-2);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:var(--ink-4);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-weight:700;font-size:var(--fs-sm)}.backdrop{z-index:0;background:radial-gradient(120% 80% at 15% 0%, var(--violet-glow-1) 0%, transparent 55%), radial-gradient(90% 70% at 100% 100%, var(--violet-glow-2) 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:var(--on-violet);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:var(--on-violet);border-radius:var(--r-md);box-shadow:var(--sh-3);animation:toast-in var(--t-med) var(--ease-out);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:var(--on-violet);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}}@media (pointer:coarse){.btn-sm,.icon-btn.btn-sm,.seg button,.menu button,.type-option{min-height:44px}.icon-btn.btn-sm{min-width:44px}}.ans-red{--ans:var(--a-red);--ans-ink:var(--on-violet)}.ans-blue{--ans:var(--a-blue);--ans-ink:var(--on-violet)}.ans-yellow{--ans:var(--a-yellow);--ans-ink:var(--a-yellow-ink)}.ans-green{--ans:var(--a-green);--ans-ink:var(--on-violet)}.ans-purple{--ans:var(--a-purple);--ans-ink:var(--on-violet)}.ans-teal{--ans:var(--a-teal);--ans-ink:var(--on-violet)}.zone-0{--zone:var(--a-red-soft);--zone-deep:var(--a-red)}.zone-1{--zone:var(--a-blue-soft);--zone-deep:var(--a-blue)}.zone-2{--zone:var(--a-yellow-soft);--zone-deep:var(--a-yellow-deep)}.zone-3{--zone:var(--a-green-soft);--zone-deep:var(--a-green)}.zone-4{--zone:var(--a-purple-soft);--zone-deep:var(--a-purple)}.zone-5{--zone:var(--a-teal-soft);--zone-deep:var(--a-teal)}.logo{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.35em;font-weight:700;line-height:1;display:inline-flex}.logo-light{color:var(--on-violet)}.logo-dark{color:var(--violet-800)}.logo-mark{filter:drop-shadow(0 4px 8px #0a003238);flex:none}.mascot{display:block;overflow:visible}.mascot-crown{transform-origin:60px 22px}.mascot-eye{transform-box:fill-box;transform-origin:50%;animation:blink 5.5s var(--ease-in-out) infinite}.mascot.mood-wow .mascot-crown{animation:crown-hop .9s var(--ease-spring) .3s}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes crown-hop{40%{transform:translateY(-8px)rotate(-8deg)}}.avatar{background:var(--ans);color:var(--ans-ink);box-shadow:var(--press-sm);border-radius:28%;flex:none;place-items:center;display:inline-grid}.play{--fs-sm:clamp(14px, 2.2vw, 18px);--fs-md:clamp(16px, 2.6vw, 21px);--fs-lg:clamp(18px, 3vw, 25px);--fs-xl:clamp(20px, 3.4vw, 30px);--fs-2xl:clamp(24px, 4vw, 36px);--fs-3xl:clamp(28px, 4.8vw, 44px);--fs-4xl:clamp(32px, 7.6vw, 56px);min-height:100dvh;color:var(--on-violet);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)) var(--s-4) 0;flex-direction:column;display:flex;position:relative}.play.tone-good .backdrop{background:linear-gradient(170deg, var(--good-hi), var(--good-lo))}.play.tone-bad .backdrop{background:linear-gradient(170deg, var(--bad-hi), var(--bad-lo))}.play.tone-part .backdrop{background:linear-gradient(170deg, var(--part-hi), var(--part-lo))}.play.tone-neutral .backdrop{background:linear-gradient(170deg, var(--violet-600), var(--violet-900))}.p-main{width:100%;max-width:680px;padding-bottom:var(--s-4);flex-direction:column;flex:1;margin:0 auto;display:flex}.p-center{justify-content:center;align-items:center;gap:var(--s-3);text-align:center;padding:var(--s-5) var(--s-2);animation:rise var(--t-slow) var(--ease-out) both;flex-direction:column;flex:1;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.p-big{font-size:var(--fs-4xl);color:var(--on-violet);font-weight:600}.p-sub{font-size:var(--fs-lg);color:var(--on-violet-2);max-width:30ch}.tone-good .p-sub,.tone-bad .p-sub,.tone-part .p-sub{color:#ffffffe6}.p-progress{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);border-radius:var(--r-pill);color:var(--on-violet);background:#ffffff29;padding:6px 14px}.p-question-intro{font-size:var(--fs-3xl);max-width:22ch;font-weight:600}.p-ready{border-radius:var(--r-pill);background:#fff3;width:min(260px,70vw);height:8px;overflow:hidden}.p-ready span{background:var(--on-violet);border-radius:inherit;transform-origin:0;height:100%;animation:4s linear both fill;display:block}@keyframes fill{0%{transform:scaleX(0)}}.p-me{justify-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:grid}.p-me-avatar{box-shadow:var(--press), var(--sh-3);animation:pop .64s var(--ease-spring) .12s both, bob 3.2s var(--ease-in-out) .9s infinite;border-radius:30%}.p-me-name{font-family:var(--font-display);font-size:var(--fs-2xl);border-radius:var(--r-pill);background:var(--on-violet);color:var(--violet-800);box-shadow:var(--sh-2);padding:6px 20px;font-weight:600}@keyframes bob{50%{transform:translateY(-8px)rotate(-3deg)}}.p-mascot{aspect-ratio:1;width:clamp(120px,34vw,190px);animation:pop .6s var(--ease-spring) both;position:relative}.tone-good .p-mascot{animation:pop .6s var(--ease-spring) both, bounce .9s var(--ease-out) .6s}.tone-bad .p-mascot{animation:pop .4s var(--ease-spring) both, shake .48s var(--ease-out) .4s}.p-mascot-badge{aspect-ratio:1;background:var(--on-violet);width:36%;color:var(--good-deep);box-shadow:var(--sh-2);animation:pop .42s var(--ease-spring) .36s both;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4%;right:0}.p-mascot-badge svg{width:58%;height:58%}.p-mascot-badge.tone-bad{color:var(--bad-deep)}.p-mascot-badge.tone-part{color:var(--part-lo)}.p-mascot-badge.tone-neutral{color:var(--violet-700)}.p-mascot-badge.medal-1{background:var(--gold);color:var(--gold-ink)}.p-mascot-badge.medal-2{background:var(--silver);color:var(--silver-ink)}.p-mascot-badge.medal-3{background:var(--bronze);color:var(--bronze-ink)}@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);font-size:var(--fs-3xl);border-radius:var(--r-pill);animation:pop .5s var(--ease-spring) .25s both;background:#0003;padding:6px 22px;font-weight:600}.p-rank{font-size:var(--fs-lg);gap:4px;margin-top:6px;display:grid}.p-rank strong{font-family:var(--font-display);font-size:var(--fs-2xl)}.p-ahead{font-size:var(--fs-md);color:#ffffffe0}.p-standing{aspect-ratio:1;background:var(--on-violet);width:clamp(130px,36vw,200px);color:var(--violet-900);box-shadow:var(--sh-3);animation:pop .6s var(--ease-spring) both;border-radius:50%;place-items:center;display:grid}.p-standing-rank{font-family:var(--font-display);font-size:clamp(56px,16vw,96px);font-weight:700;line-height:.9}.p-standing-of{font-weight:800;font-size:var(--fs-md);color:var(--ink-3);margin-top:-18%}.p-move{border-radius:var(--r-pill);font-weight:800;font-size:var(--fs-lg);background:#ffffff24;align-items:center;gap:8px;padding:6px 16px;display:inline-flex}.p-move.is-up{background:var(--good-deep)}.p-move.is-down{background:#00000040}.p-bar{justify-content:space-between;align-items:center;gap:var(--s-3);margin:0 calc(var(--s-4) * -1);padding:10px var(--s-4) max(10px, env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);font-weight:800;font-size:var(--fs-md);z-index:3;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 20px -8px #0a002859}.p-bar-who{align-items:center;gap:10px;min-width:0;display:inline-flex}.p-bar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-bar-score{font-family:var(--font-display);font-size:var(--fs-lg);border-radius:var(--r-pill);background:var(--violet-900);color:var(--on-violet);padding:4px 14px;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:var(--on-violet);font-weight:700;font-size:var(--fs-sm);box-shadow:var(--sh-2);white-space:nowrap;padding:8px 16px;position:fixed;left:50%;transform:translate(-50%)}.join{justify-content:center;align-items:center;gap:var(--s-5);padding:var(--s-5) 0 var(--s-7);flex-direction:column;flex:1;display:flex}.join .logo{animation:rise var(--t-slow) var(--ease-out) both}.join-card{width:min(100%,420px);padding:var(--s-5);background:var(--paper);color:var(--ink);border-radius:var(--r-xl);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) 80ms both;gap:14px;display:grid}.join-label{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--ink);font-weight:600}.join-input{width:100%;height:60px;padding:0 var(--s-4);border:2px solid var(--line-strong);border-radius:var(--r-md);font-family:var(--font-display);font-size:var(--fs-2xl);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);font-weight:600}.join-input::placeholder{color:var(--ink-4);font-weight:500;font-size:var(--fs-lg)}.join-input:focus{border-color:var(--violet-500);background:var(--paper);outline:none;box-shadow:0 0 0 4px #6845f033}.join-pin{font-size:var(--fs-4xl);letter-spacing:.12em}.join-pin::placeholder{font-size:var(--fs-4xl);letter-spacing:.12em;color:var(--line-strong)}.join-btn{--btn-bg:var(--warm-500);--btn-fg:var(--warm-ink);width:100%}.join-quiz{border-radius:var(--r-pill);background:var(--warm-100);color:var(--warm-ink);font-weight:800;font-size:var(--fs-sm);text-align:center;justify-self:center;padding:6px 14px}.join-counter{font-size:var(--fs-xs);color:var(--ink-3);justify-self:end;margin-top:-8px}.join-error{border-radius:var(--r-sm);background:var(--bad-soft);color:var(--bad-deep);font-weight:700;font-size:var(--fs-md);animation:shake .42s var(--ease-out);padding:10px 14px}.join-back{min-height:44px;color:var(--ink-3);font-weight:700;font-size:var(--fs-md);text-underline-offset:3px;background:0 0;border:0;justify-self:center;padding:4px;text-decoration:underline}.p-question{gap:var(--s-3);animation:rise var(--t-med) var(--ease-out) both;flex-direction:column;flex:1;padding-top:4px;display:flex}.p-qhead{align-items:flex-start;gap:var(--s-3);padding:14px 14px 14px var(--s-4);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);box-shadow:var(--sh-2);display:flex}.p-qtext{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);flex:1;line-height:1.25}.p-timer{background:var(--violet-700);width:2.4em;height:2.4em;color:var(--on-violet);font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);transition:background-color var(--t-med);border-radius:50%;flex:none;place-items:center;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);background:var(--paper);color:var(--bad-deep);font-weight:800;font-size:var(--fs-md);padding:10px 14px}.input-hint{font-size:var(--fs-sm);color:var(--on-violet-2);text-align:center;padding:0 var(--s-2);font-weight:700}.submit-btn{width:100%;margin-top:auto}.choice-input,.order-input,.match-input,.text-input{gap:var(--s-3);flex-direction:column;flex:1;display:flex}.input-body{justify-content:center;gap:var(--s-3);flex-direction:column;flex:1;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);font-weight:600;font-size:var(--fs-xl);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;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;width:1.5em;height:1.5em}.choice-label{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.n-5 .choice-tile,.n-6 .choice-tile{font-size:var(--fs-lg)}.choice-one .choice-tile{font-size:var(--fs-2xl)}.choice-tile.is-picked{box-shadow:inset 0 0 0 5px var(--on-violet), 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{background:var(--on-violet);border-color:var(--on-violet);color:var(--ans)}.ans-yellow.is-picked .choice-check{color:var(--a-yellow-ink)}@keyframes tile-in{0%{opacity:0;transform:scale(.85)}}.order-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.order-row{align-items:center;gap:var(--s-3);border-radius:var(--r-md);background:var(--paper);min-height:3.4em;color:var(--ink);box-shadow:var(--sh-1), inset 0 -3px 0 var(--violet-100);font-weight:800;font-size:var(--fs-md);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);padding:8px 10px 8px 8px;line-height:1.25;display:flex}.order-num{background:var(--violet-600);width:2.1em;height:2.1em;color:var(--on-violet);font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);border-radius:10px;flex:none;place-items:center;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-pool{gap:var(--s-2);border-radius:var(--r-lg);min-height:64px;transition:background-color var(--t-fast), box-shadow var(--t-fast);background:#ffffff1f;flex-wrap:wrap;padding:10px;display:flex;box-shadow:inset 0 0 0 2px #ffffff2e}.match-pool.is-empty{min-height:48px;box-shadow:none;background:0 0;border:2px dashed #ffffff4d;justify-content:center;align-items:center}.match-pool-empty{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--on-violet-2);font-weight:700;display:inline-flex}.match-pool.is-over,.match-pool.is-target{background:#ffffff38}.match-chip{border-radius:var(--r-sm);background:var(--paper);max-width:100%;color:var(--ink);font-weight:800;font-size:var(--fs-md);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);border:0;padding:10px 12px;line-height:1.25;display:block}.match-chip.is-placed{width:100%;font-size:var(--fs-sm);box-shadow:var(--sh-1)}.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{gap:var(--s-2);border-radius:var(--r-lg);background:color-mix(in oklab, var(--zone) 22%, var(--violet-900));min-height:84px;box-shadow:inset 0 0 0 2px color-mix(in oklab, 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;padding:10px;display:flex}.match-zone-label{align-items:center;gap:var(--s-2);font-size:var(--fs-md);color:var(--on-violet);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 oklab, 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 oklab, var(--zone) 34%, var(--violet-900))}}.text-answer{border-radius:var(--r-lg);background:var(--paper);width:100%;height:2.8em;color:var(--ink);font-family:var(--font-display);font-size:var(--fs-2xl);box-shadow:var(--sh-2), inset 0 -3px 0 var(--violet-100);border:0;padding:0 18px;font-weight:600}.text-answer:focus{box-shadow:var(--sh-2), 0 0 0 4px #ffffff73;outline:none}.text-answer::placeholder{color:var(--ink-4)}.submit-btn.text-submit{margin-top:0}@media (height<=560px){.text-mascot{display:none}}.text-mascot{align-self:center;width:clamp(84px,22vw,130px);height:auto}@media (width>=700px){.play-inner{padding-inline:var(--s-6)}.p-bar{margin-inline:calc(var(--s-6) * -1);padding-inline:var(--s-6)}.choice-tile{min-height:140px;font-size:var(--fs-3xl)}.n-5 .choice-tile,.n-6 .choice-tile{font-size:var(--fs-2xl)}.p-qtext{font-size:var(--fs-xl)}.order-row,.match-chip{font-size:var(--fs-lg)}.match-chip.is-placed{font-size:var(--fs-md)}.match-zones.n-2,.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)}.match-zone{min-height:140px}.p-main{max-width:820px}}@media (height<=520px){.choice-grid{min-height:0}.choice-tile{min-height:64px}}.board-frame{height:100dvh;color:var(--on-violet);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));--btn-h:max(52px, calc(var(--u) * 4.5));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:calc(var(--u) * 1);min-width:0;display:inline-flex}.board-brand .logo-mark{width:max(44px, calc(var(--u) * 4.6));height:auto}.board-title{font-family:var(--font-display);font-weight:600;font-size:max(22px, calc(var(--u) * 2.6));color:var(--on-violet);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.join-mini{align-items:center;gap:calc(var(--u) * .8);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-weight:800;font-size:max(14px, calc(var(--u) * 1.15));box-shadow:var(--sh-2);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:var(--on-violet);letter-spacing:.04em;padding:2px 12px;font-size:1.35em;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) * 1));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 .48s var(--ease-out) both;flex-direction:column;display:flex;position:relative}.board-main.no-enter{animation:none}@keyframes screen-in{0%{opacity:0;transform:translateY(calc(var(--u) * 1.4))}}.board-actions{justify-content:flex-end;gap:calc(var(--u) * 1);display:flex}.board-actions .btn-lg{font-size:max(18px, calc(var(--u) * 1.7));min-height:var(--btn-h);padding:0 max(22px, calc(var(--u) * 2.4));border-radius:max(var(--r-lg), calc(var(--u) * 1.4))}.board-actions .btn-lg svg{width:1.1em;height:1.1em}.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:var(--fs-5xl)}.board-message p{color:var(--on-violet-2);font-size:var(--fs-xl)}.screen-title{font-size:max(30px, calc(var(--u) * 4.2));text-align:center;margin-bottom:calc(var(--u) * 1.6);font-weight:600}.bq-intro-text,.bq-text{view-transition-name:qcard}::view-transition-group(qcard){animation-duration:.56s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-duration:.32s}::view-transition-new(root){animation-duration:.32s}.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) * 92);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);background:var(--paper);color:var(--ink);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) both;grid-template-columns:minmax(0,1fr) auto;display:grid}.lobby-label{font-size:max(15px, calc(var(--u) * 1.4));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.2));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) * 8));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);background:var(--paper);color:var(--ink-2);box-shadow:var(--sh-3);animation:rise var(--t-slow) var(--ease-out) .12s both;margin:0;display:grid}.qr{width:max(120px, calc(var(--u) * 13));aspect-ratio:1}.qr svg{width:100%;height:100%;display:block}.lobby-qr figcaption{font-weight:800;font-size:max(13px, calc(var(--u) * 1.05))}.lobby-players{gap:calc(var(--u) * 1.2);flex-direction:column;min-height:0;display:flex}.lobby-count{border-radius:var(--r-pill);font-weight:800;font-size:max(18px, calc(var(--u) * 1.8));background:#00000038;align-self:center;align-items:baseline;gap:10px;padding:6px 22px;display:inline-flex}.lobby-count-num{font-family:var(--font-display);animation:pop .42s var(--ease-spring);font-size:1.5em;font-weight:600;display:inline-block}.lobby-waiting{align-self:center;justify-items:center;gap:calc(var(--u) * 1);margin-top:calc(var(--u) * 1);font-size:max(20px, calc(var(--u) * 2.2));color:var(--on-violet-2);font-weight:700;display:grid}.lobby-mascot{width:calc(var(--u) * 12);height:calc(var(--u) * 12);animation:bob 3.2s var(--ease-in-out) infinite}.lobby-waiting p{align-items:center;gap:8px;display:flex}.lobby-waiting .dot{width:.4em;height:.4em;animation:blink-dot 1.2s var(--ease-in-out) infinite;background:currentColor;border-radius:50%}.lobby-waiting .dot:first-of-type{margin-left:4px}.lobby-waiting .dot:nth-of-type(2){animation-delay:.15s}.lobby-waiting .dot:nth-of-type(3){animation-delay:.3s}@keyframes blink-dot{50%{opacity:.25;transform:translateY(-4px)}}.name-grid{place-content:flex-start center;gap:calc(var(--u) * .9);flex-wrap:wrap;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.name-chip{padding:calc(var(--u) * .55) calc(var(--u) * 1.3);border-radius:var(--r-lg);background:var(--ans);min-height:44px;color:var(--ans-ink);font-family:var(--font-display);font-weight:600;font-size:max(20px, calc(var(--u) * 3));box-shadow:var(--press-sm), var(--sh-2);animation:name-in .62s var(--ease-spring) both;transition:background-color var(--t-fast), color var(--t-fast), opacity var(--t-fast);border:0;align-items:center;gap:.4em;line-height:1.1;display:inline-flex}.is-busy .name-chip{font-size:max(17px, calc(var(--u) * 2.1))}.is-crowded .name-chip{font-size:max(15px, calc(var(--u) * 1.6))}.name-shape{opacity:.9;flex:none}.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:var(--on-violet)}.name-chip.is-away{opacity:.5}@keyframes name-in{0%{opacity:0;transform:translateY(20px)scale(.5)rotate(-6deg)}60%{opacity:1}}.phase-lobby .board-actions .btn-lg{min-height:max(60px, calc(var(--u) * 5.4));font-size:max(22px, calc(var(--u) * 2.4));padding:0 max(28px, calc(var(--u) * 3.6))}.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) * 1.1));background:#0000003d;align-items:center;gap:6px;padding:4px 14px;display:inline-flex}.pill-soft{background:#ffffff24}.pill-gold{background:var(--gold);color:var(--gold-ink)}.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);background:var(--paper);color:var(--ink);font-size:max(22px, calc(var(--u) * 3));text-align:center;box-shadow:var(--sh-3);font-weight:600;line-height:1.15}.bq-stage{justify-content:center;align-items:center;gap:calc(var(--u) * 1.4);flex-direction:column;min-height:0;display:flex}.bq-hero{justify-content:center;align-items:center;gap:calc(var(--u) * 4);min-height:0;max-height:100%;display:flex}.has-image .bq-hero{justify-content:space-between;gap:calc(var(--u) * 2);width:100%;height:100%}.has-image.is-reveal .bq-hero{justify-content:center;gap:calc(var(--u) * 4)}.bq-image{object-fit:contain;border-radius:var(--r-lg);width:auto;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;box-shadow:var(--sh-3);animation:pop .52s var(--ease-out) both;flex:0 auto}.bq-image.is-small{flex:0 auto;width:auto;max-width:40%}.timer-ring{width:min(calc(var(--u) * 17), 26cqh);aspect-ratio:1;flex:none;place-items:center;display:grid;position:relative}.has-image .timer-ring,.has-image .meter{width:calc(var(--u) * 11)}.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:var(--on-violet);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:min(calc(var(--u) * 6.2), 9cqh);line-height:1;position:relative}.has-image .timer-num{font-size:calc(var(--u) * 4)}.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)}}.meter{width:min(calc(var(--u) * 17), 26cqh);aspect-ratio:1;flex:none;place-items:center;display:grid;position:relative}.meter svg{width:100%;height:100%;position:absolute;inset:0}.meter-track{fill:#ffffff14;stroke:#ffffff24;stroke-width:8px}.meter-arc{fill:none;stroke:var(--warm-500);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-out)}.meter-score{width:min(calc(var(--u) * 17), 24cqh)}.meter-score .meter-arc{stroke:var(--good);transition-duration:1.1s}.meter-body{justify-items:center;line-height:1;display:grid;position:relative}.meter-num{font-family:var(--font-display);font-weight:600;font-size:min(calc(var(--u) * 5.2), 7.6cqh);animation:pop .32s var(--ease-spring)}.meter-num small{color:var(--on-violet-2);margin-left:.08em;font-size:.5em}.meter-label{margin-top:calc(var(--u) * .5);font-weight:800;font-size:max(13px, calc(var(--u) * 1.2));color:var(--on-violet-2)}.has-image .meter-num{font-size:calc(var(--u) * 3.4)}.summary{justify-items:center;line-height:1;display:grid}.summary-num{font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 7)}.summary-label{font-weight:800;font-size:max(16px, calc(var(--u) * 1.6));color:var(--on-violet-2)}.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{isolation:isolate;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(18px, calc(var(--u) * 2.3));box-shadow:var(--press), var(--sh-2);animation:tile-in .48s var(--ease-spring) both;transition:background-color var(--t-slow) var(--ease-out), color var(--t-slow) var(--ease-out), transform var(--t-med) var(--ease-out), box-shadow var(--t-med);line-height:1.15;display:flex;position:relative;overflow:hidden}.tiles.n-5 .tile,.tiles.n-6 .tile{font-size:max(15px, calc(var(--u) * 1.75))}.tile-shape{filter:drop-shadow(0 2px 2px #00000026);flex:none;font-size:1.35em}.tile-label{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.tile-count{font-family:var(--font-display);text-align:right;flex:none;min-width:1.6em;font-size:1.1em;font-weight:600}.tile-mark{background:var(--paper);width:1.5em;height:1.5em;color:var(--good-deep);animation:pop .42s var(--ease-spring) calc(.9s + var(--n,4) * 90ms) both;border-radius:50%;flex:none;place-items:center;display:grid}.tile-mark svg{width:70%;height:70%}.tiles.is-revealed .tile{animation:none}.tile-fill{z-index:-1;width:var(--pct);transform-origin:0;animation:grow-x .9s var(--ease-out) calc(var(--i) * 90ms) both;background:#ffffff38;position:absolute;inset:0 auto 0 0}.tile.is-wrong{background:color-mix(in oklab, var(--ans) 22%, var(--violet-950));color:#ffffff8c;box-shadow:inset 0 0 0 1px #ffffff0f}.tile.is-wrong .tile-shape{color:var(--ans)}.tile.is-wrong .tile-fill{background:color-mix(in oklab, var(--ans) 45%, transparent)}.tiles.is-revealed .tile.is-right{z-index:1;box-shadow:var(--press), 0 0 0 calc(var(--u) * .3) var(--on-violet), var(--sh-3);animation:right-pop .64s var(--ease-spring) .9s both;transform:scale(1.03)}@keyframes right-pop{0%{box-shadow:var(--press), 0 0 0 0 var(--on-violet), var(--sh-2);transform:scale(1)}}.panel{justify-items:center;gap:calc(var(--u) * 1.2);max-width:calc(var(--u) * 90);padding:calc(var(--u) * 1.4) 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) * 2.8));color:var(--on-violet);padding:calc(var(--u) * .6) 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);background:var(--paper);color:var(--ink);font-weight:800;font-size:max(15px, calc(var(--u) * 1.8));box-shadow:var(--sh-1);animation:tile-in .42s var(--ease-spring) both}.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) * 84));gap:calc(var(--u) * .8);display:grid}.reveal-caption{font-weight:800;font-size:max(16px, calc(var(--u) * 1.8));color:var(--on-violet-2);justify-content:center;align-items:center;gap:8px;display:inline-flex}.reveal-caption strong{color:var(--on-violet);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);background:var(--paper);color:var(--ink);font-weight:800;font-size:max(16px, calc(var(--u) * 1.8));box-shadow:var(--sh-2);animation:slide-in .52s var(--ease-out) both;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);width:1.9em;height:1.9em;color:var(--on-violet);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%;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);min-width:0;padding:calc(var(--u) * 1);border-radius:var(--r-lg);background:var(--paper);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;display:grid}.rm-col h3{font-size:max(18px, calc(var(--u) * 2.6));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(15px, calc(var(--u) * 1.9));align-items:center;gap:10px;line-height:1.25;display:flex}.rm-col li span{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0}.rm-col h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.reveal-match.n-4 li,.reveal-match.n-5 li,.reveal-match.n-6 li{font-size:max(13px, calc(var(--u) * 1.45))}.reveal-match.n-4 h3,.reveal-match.n-5 h3,.reveal-match.n-6 h3{font-size:max(16px, calc(var(--u) * 2))}.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%;min-height:0;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(16px, calc(var(--u) * 2.2));max-width:calc(var(--u) * 92);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:var(--on-violet)}.cloud-word.tone-1{color:var(--a-yellow-soft)}.cloud-word.tone-2{color:var(--cloud-blue)}.cloud-word.tone-3{color:var(--warm-400)}.cloud-word.tone-4{color:var(--cloud-mint)}.cloud-word.is-right{color:var(--cloud-right)}.cloud-word.is-wrong{color:var(--on-violet-3)}.cloud-empty{font-size:max(18px, calc(var(--u) * 2));color:var(--on-violet-2)}@keyframes word-in{0%{opacity:0;transform:scale(.3)}}.cloud-hide{all:unset;cursor:pointer;border-radius:var(--r-xs)}.cloud-hide:focus-visible{box-shadow:var(--focus)}.cloud-hide.is-confirm{background:var(--bad-deep);color:var(--on-violet);padding:0 .2em;font-size:.6em}.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);background:var(--paper);color:var(--ink);font-size:max(28px, calc(var(--u) * 4.4));box-shadow:var(--sh-3);animation:intro-in .7s var(--ease-spring) both;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{background:var(--warm-500);border-radius:inherit;transform-origin:0;height:100%;transition:transform .11s linear;display:block}.lb{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.lb-list{--row:calc(var(--u) * 6);--gap:calc(var(--u) * .9);width:min(100%, calc(var(--u) * 80));height:calc(var(--rows) * (var(--row) + var(--gap)) - var(--gap));margin:0;padding:0;list-style:none;position:relative}.lb-row{height:var(--row);align-items:center;gap:calc(var(--u) * 1.1);padding:0 calc(var(--u) * 1.4);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(20px, calc(var(--u) * 2.6));box-shadow:var(--sh-2);transform:translateY(calc(var(--pos) * (var(--row) + var(--gap))));transition:transform .9s var(--ease-in-out), opacity .6s var(--ease-out), background-color var(--t-slow);animation:lb-in .56s var(--ease-out) both;grid-template-columns:auto auto 1fr auto auto auto;display:grid;position:absolute;inset:0 0 auto}.lb-row:nth-child(2){animation-delay:70ms}.lb-row:nth-child(3){animation-delay:.14s}.lb-row:nth-child(4){animation-delay:.21s}.lb-row:nth-child(n+5){animation-delay:.28s}.lb-row.is-out{opacity:0}.is-moved .lb-row.is-first{background:var(--gold);color:var(--gold-ink)}@keyframes lb-in{0%{opacity:0;translate:0 calc(var(--u) * 2)}}.lb-rank{border-radius:var(--r-sm);background:var(--violet-900);width:1.8em;height:1.8em;color:var(--on-violet);place-items:center;font-size:.85em;display:grid}.is-moved .is-first .lb-rank{background:var(--gold-ink);color:var(--gold)}.lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-climb{border-radius:var(--r-pill);background:var(--good-deep);color:var(--on-violet);animation:pop .42s var(--ease-spring) .3s both;align-items:center;gap:2px;padding:2px 10px 2px 6px;font-size:.7em;display:inline-flex}.lb-climb svg{width:1.1em;height:1.1em}.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:.6em;font-weight:800}.lb-score{text-align:right;font-variant-numeric:tabular-nums;min-width:4.2ch}.lb-empty{font-size:var(--fs-2xl);color:var(--on-violet-2)}.podium{flex-direction:column;flex:1;min-height:0;display:flex}.screen-title.is-winner{color:var(--gold);animation:pop .64s var(--ease-spring) both}.podium-stage{grid-template-columns:repeat(3, minmax(0, calc(var(--u) * 26)));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{justify-items:center;gap:calc(var(--u) * .5);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;display:grid}.podium-avatar{font-size:max(16px, calc(var(--u) * 2.4));box-shadow:var(--press), var(--sh-2)}.podium-name{max-width:100%;padding:calc(var(--u) * .4) calc(var(--u) * 1.2);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(22px, calc(var(--u) * 3));overflow-wrap:anywhere;box-shadow:var(--sh-2);line-height:1.1}.place-1 .podium-name{font-size:max(26px, calc(var(--u) * 3.6))}.podium-score{font-weight:800;font-size:max(15px, calc(var(--u) * 1.6));color:var(--on-violet-2)}.podium-crown{width:calc(var(--u) * 5);height:calc(var(--u) * 5);color:var(--gold);fill:var(--gold);stroke:var(--gold-line);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:var(--gold-hi);--block-bottom:var(--gold-lo);height:52%}.place-2 .podium-block{--block-top:var(--silver-hi);--block-bottom:var(--silver-lo);height:38%}.place-3 .podium-block{--block-top:var(--bronze-hi);--block-bottom:var(--bronze-lo);height:28%}.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-scroll{gap:calc(var(--u) * 1.4);min-height:0;padding:0 4px 4px;display:grid;overflow-y:auto}.fr-top{width:min(100%, calc(var(--u) * 110));gap:calc(var(--u) * .7) calc(var(--u) * 1.6);grid-template-rows:repeat(5,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;margin:0 auto;padding:0;list-style:none;display:grid}.fr-top li{align-items:center;gap:calc(var(--u) * .9);padding:calc(var(--u) * .6) calc(var(--u) * 1.2);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:max(18px, calc(var(--u) * 2.2));box-shadow:var(--sh-1);animation:rise .42s var(--ease-out) both;grid-template-columns:1.6em auto 1fr auto;display:grid}.fr-top li.medal-1{background:var(--gold);color:var(--gold-ink)}.fr-top li.medal-2{background:var(--silver);color:var(--silver-ink)}.fr-top li.medal-3{background:var(--bronze-hi);color:var(--bronze-ink)}.fr-rest{width:min(100%, calc(var(--u) * 110));columns:calc(var(--u) * 24) 4;column-gap:calc(var(--u) * 1.2);margin:0 auto;padding:0;list-style:none}.fr-rest li{break-inside:avoid;margin-bottom:calc(var(--u) * .4);padding:calc(var(--u) * .35) calc(var(--u) * .8);border-radius:var(--r-sm);font-weight:800;font-size:max(14px, calc(var(--u) * 1.35));background:#ffffff1f;grid-template-columns:2.2em 1fr auto;gap:8px;display:grid}.fr-rank{font-family:var(--font-display);opacity:.75;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)}.bq-hero{gap:calc(var(--u) * 3)}.has-image .timer-ring,.has-image .meter{width:calc(var(--u) * 9)}.has-image .timer-num{font-size:calc(var(--u) * 3.4)}.has-image .meter-num{font-size:calc(var(--u) * 2.8)}.has-image .meter-label{display:none}.tile{min-height:calc(var(--u) * 9)}.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))}.fr-top{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}}@container (width<=1100px){.reveal-match.n-4{--cols:2}}@container (height<=820px){.bq{gap:calc(var(--u) * .8)}.tile{min-height:calc(var(--u) * 5.8)}}@media (prefers-reduced-motion:reduce){.lb-row{transition:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.docent{background:var(--canvas);min-height:100vh;color:var(--ink)}.docent-loading{background:var(--canvas)}.d-top{z-index:30;background:var(--paper);box-shadow:0 1px 0 var(--line);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);font-weight:800;font-size:var(--fs-sm);transition:background-color var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:0 14px;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);width:32px;height:32px;color:var(--on-violet);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{font-size:var(--fs-4xl);color:var(--violet-980);font-weight:600}.d-lead{color:var(--ink-2);font-size:var(--fs-md);max-width:62ch;margin-top:6px}.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:var(--fs-2xl)}.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{font-size:var(--fs-xl);margin-bottom:14px}.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);font-weight:600;font-size:var(--fs-xl);color:var(--on-violet);background:var(--violet-600);box-shadow:var(--press-sm);flex:none;place-items:center;display:grid}.quiz-info{gap:2px;min-width:0;display:grid}.quiz-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);color:var(--violet-980);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quiz-meta{color:var(--ink-3);font-size:var(--fs-sm);font-weight:700}.quiz-meta .warn{color:var(--warn-text)}.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);font-weight:600;font-size:var(--fs-3xl);color:var(--violet-980)}.ed-desc{text-overflow:ellipsis;font-size:var(--fs-sm);color:var(--ink-2);font-weight:700}.ed-title:hover,.ed-desc:hover{background:#ffffffb3}.ed-title:focus,.ed-desc:focus{background:var(--paper);box-shadow:0 0 0 2px var(--violet-400);outline:none}.ed-actions{align-items:center;gap:10px;display:flex}.save-badge{border-radius:var(--r-pill);height:32px;font-size:var(--fs-xs);white-space:nowrap;border:0;align-items:center;gap:6px;padding:0 12px;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:var(--fs-lg)}.qlist-count{border-radius:var(--r-pill);background:var(--violet-50);color:var(--violet-700);font-weight:800;font-size:var(--fs-xs);padding:1px 9px}.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;background:var(--paper);box-shadow:var(--sh-2), inset 0 0 0 2px var(--violet-400)}.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);width:30px;height:30px;color:var(--on-violet);font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);flex:none;place-items:center;display:grid}.qrow-body{min-width:0;display:grid}.qrow-type{font-size:var(--fs-2xs);color:var(--violet-600);align-items:center;gap:5px;font-weight:800;display:inline-flex}.qrow-text{font-weight:700;font-size:var(--fs-sm);color:var(--ink);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.qrow-text.is-empty{color:var(--ink-3);font-style:italic}.qrow-warn{border-radius:var(--r-pill);background:var(--bad-soft);color:var(--bad-deep);font-size:var(--fs-2xs);white-space:nowrap;flex:none;padding:2px 8px;font-weight:800}.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);max-height:var(--room,480px);gap:2px;padding:6px;display:grid;position:absolute;left:0;overflow-y:auto}.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{font-size:var(--fs-sm);color:var(--ink);display:block}.type-option small{font-size:var(--fs-xs);color:var(--ink-3);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;font-weight:800;font-size:var(--fs-sm);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;display:inline-flex}.seg button.is-on{background:var(--paper);color:var(--violet-800);box-shadow:var(--sh-1)}.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);font-weight:600;font-size:var(--fs-xl);min-height:76px}.qform-section{box-shadow:inset 0 1px 0 var(--line);gap:12px;padding-top:18px;display:grid}.qform-section header h3{font-size:var(--fs-lg)}.qform-section header p{color:var(--ink-3);font-size:var(--fs-sm);margin-top:2px;font-weight:700}.qform-note{color:var(--ink-2);font-size:var(--fs-sm);border-radius:var(--r-sm);background:var(--violet-50);padding:10px 14px}.qform-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.qform-problems{border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn-ink);font-size:var(--fs-sm);gap:10px;padding:12px 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;background:var(--paper);box-shadow:var(--sh-2)}.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 var(--good-line)}.opt-correct{border:2px solid var(--line-strong);background:var(--paper);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);border-radius:50%;flex:none;place-items:center;display:grid}.opt-correct:hover{border-color:var(--good);color:var(--good-line)}.opt-correct.is-on{border-color:var(--good-deep);background:var(--good-deep);color:var(--on-violet);transform:scale(1.05)}.opt-num{border-radius:var(--r-xs);background:var(--violet-600);width:32px;height:32px;color:var(--on-violet);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);font-weight:600;font-size:var(--fs-xl);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;display:flex;position:relative}.tf-option.is-on{opacity:1;box-shadow:var(--press-sm), 0 0 0 3px var(--paper), 0 0 0 6px var(--good-deep)}.tf-check{position:absolute;right:14px}.switch{font-weight:700;font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;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:"";background:var(--paper);width:20px;height:20px;box-shadow:var(--sh-1);transition:transform var(--t-med) var(--ease-spring);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{font-size:var(--fs-xs);color:var(--ink-3);text-align:center;font-weight:800}.preview-board .board-frame{box-shadow:var(--sh-2)}.preview-phone{min-width:0}.phone{background:var(--device);width:100%;height:600px;box-shadow:var(--sh-2);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{--fs-sm:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:26px;--fs-4xl:30px;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:var(--gold-ink)}.top-2 .rr-rank{background:var(--silver);color:var(--silver-ink)}.top-3 .rr-rank{background:var(--bronze);color:var(--bronze-ink)}.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);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:4px 0 6px 22px;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:var(--warn-text)}.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:var(--warn-mid)}.rq-bar .lo{background:var(--bad)}.help{border-radius:var(--r-lg);background:var(--paper);max-width:70ch;box-shadow:var(--sh-1);font-size:var(--fs-lg);padding:32px 36px 40px;line-height:1.6}.help-lead{font-size:var(--fs-xl);color:var(--ink-2);margin:10px 0 8px}.help h2{font-size:var(--fs-2xl);color:var(--violet-900);margin:32px 0 10px}.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;padding:8px;position:static}.qlist-head{display:none}.qlist-toggle{display:flex}.qlist-collapsible{display:none}.qlist.is-open .qlist-collapsible{animation:menu-in .16s var(--ease-out);padding-top:8px;display:flex}.qlist.is-open .qlist-chevron{transform:rotate(180deg)}.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:var(--fs-3xl)}.quiz-row{flex-wrap:wrap;padding:10px}.quiz-actions{justify-content:flex-end;width:100%}.ed-panel{padding:14px}.ed-title{font-size:var(--fs-2xl)}.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}}.qlist-collapsible{flex-direction:column;min-height:0;display:flex}@media (width>=961px){.qlist-toggle{display:none}}.qlist-toggle{border-radius:var(--r-md);background:var(--violet-50);text-align:left;border:0;align-items:center;gap:12px;width:100%;padding:8px 10px}.qlist-toggle-text{flex:1;min-width:0;display:grid}.qlist-toggle-text small{font-size:var(--fs-xs);color:var(--violet-600);font-weight:800}.qlist-toggle-text span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.qlist-chevron{color:var(--ink-3);transition:transform var(--t-med) var(--ease-out);flex:none}.input.is-missing,.textarea.is-missing{border-color:var(--bad);background:var(--paper)}.input.is-missing:focus,.textarea.is-missing:focus{box-shadow:0 0 0 4px #ef405629}.ed-empty{text-align:center;justify-items:center;gap:8px;padding:32px 8px 16px;display:grid}.ed-empty h2{font-size:var(--fs-2xl);margin-top:4px}.ed-empty p{color:var(--ink-2);margin-bottom:12px}.type-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;width:100%;display:grid}.type-grid .type-option{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line)}.type-grid .type-option:hover{box-shadow:inset 0 0 0 2px var(--violet-300)}.login-page{background:radial-gradient(60% 50% at 85% 0%, var(--warm-100), transparent 70%), radial-gradient(70% 60% at 0% 100%, var(--violet-100), transparent 70%), var(--canvas);min-height:100dvh;color:var(--ink);place-items:center;padding:24px 16px;display:grid}.login-wrap{justify-items:center;gap:20px;width:min(100%,400px);display:grid}.login-card{border-radius:var(--r-xl);background:var(--paper);width:100%;box-shadow:var(--sh-2);gap:14px;padding:28px 24px 24px;display:grid}.login-card .login-title{font-size:var(--fs-2xl);margin-bottom:4px}.login-card .btn-lg{width:100%;margin-top:4px}.login-error{border-radius:var(--r-sm);background:var(--bad-soft);color:var(--bad-deep);padding:10px 14px;font-weight:700}.login-alt{color:var(--ink-3);justify-self:center;font-weight:700}@media (width<=960px){.qlist-toggle{display:flex}.qlist-collapsible{display:none}.qlist.is-open .qlist-collapsible{display:flex}}.board-scale{aspect-ratio:16/9;border-radius:var(--r-md);width:100%;box-shadow:var(--sh-2);overflow:hidden}.board-scale>.board-frame.is-embedded{aspect-ratio:auto;width:1280px;height:720px;box-shadow:none;transform:scale(var(--k));transform-origin:0 0;border-radius:0}@media (pointer:coarse){.opt-correct,.opt-grip,.qrow-grip{min-width:44px;min-height:44px}.opt-correct{width:44px;height:44px}.d-nav-link{height:44px}.switch{min-height:44px}}
