:root{--primary:#7c3aed;--primary-deep:#6d28d9;--primary-soft:#a78bfa;--on-primary:#fff;--c-pink:#ec4899;--c-orange:#fb923c;--c-yellow:#f5b912;--c-green:#22c55e;--c-teal:#14b8a6;--c-blue:#3b82f6;--c-cyan:#06b6d4;--c-red:#ef4444;--success:#22c55e;--warning:#f5b912;--danger:#ef4444;--radius:20px;--radius-sm:14px;--radius-pill:999px;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,[data-theme=light]{--bg:#f3f0fb;--bg-2:#ece7f9;--surface:#fff;--surface-2:#faf8ff;--surface-3:#f3effc;--text:#221b40;--text-dim:#6d6790;--border:#ece7f7;--border-2:#e0d9f2;--shadow:0 10px 26px #5537a01a;--shadow-lg:0 18px 44px #5537a029;--aurora-1:#7c3aed1a;--aurora-2:#ec489914;--aurora-3:#3b82f614}[data-theme=dark]{--bg:#15122e;--bg-2:#1b1740;--surface:#221d45;--surface-2:#2a2454;--surface-3:#2f2858;--text:#f2effc;--text-dim:#a7a1ce;--border:#ffffff17;--border-2:#ffffff24;--shadow:0 12px 30px #00000061;--shadow-lg:0 20px 48px #00000080;--aurora-1:#7c3aed42;--aurora-2:#ec489929;--aurora-3:#3b82f62e}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);transition:background .3s,color .3s;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(38% 46% at 12% 8%, var(--aurora-1), transparent 60%), radial-gradient(36% 44% at 88% 14%, var(--aurora-2), transparent 60%), radial-gradient(44% 50% at 78% 92%, var(--aurora-3), transparent 62%);animation:18s ease-in-out infinite alternate breathe;position:fixed;inset:-20%}@keyframes breathe{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}#root{z-index:1;position:relative}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .4em;font-weight:700;line-height:1.12}h1{font-size:clamp(1.7rem,3.6vw,2.5rem)}h2{font-size:clamp(1.3rem,2.2vw,1.6rem)}h3{font-size:1.2rem}a{color:var(--primary);font-weight:700}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input{font:inherit}.page{max-width:960px;margin:0 auto;padding:26px 18px 80px;animation:.4s cubic-bezier(.22,1,.36,1) rise}.page--wide{max-width:1240px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.brand{font-family:var(--font-display);color:var(--text);align-items:baseline;gap:2px;font-size:1.4rem;font-weight:700;display:inline-flex}.brand b{color:var(--primary)}.muted{color:var(--text-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:relative}.card+.card{margin-top:16px}.btn{border-radius:var(--radius-sm);font-family:var(--font-display);color:var(--on-primary);background:var(--primary);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:1rem;font-weight:600;transition:transform .1s,box-shadow .15s,filter .15s,background .15s;display:inline-flex;box-shadow:0 6px 16px #7c3aed4d}.btn:hover:not(:disabled){background:var(--primary-deep);transform:translateY(-2px);box-shadow:0 10px 22px #7c3aed66}.btn:active:not(:disabled){transform:translateY(0)}.btn--ghost{background:var(--surface-2);color:var(--text);border:1.5px solid var(--border-2);box-shadow:none}.btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--primary-soft);transform:translateY(-2px)}.btn--danger{background:var(--danger);box-shadow:0 6px 16px #ef44444d}.btn--danger:hover:not(:disabled){background:#dc2626;box-shadow:0 10px 22px #ef444466}.btn--amber{background:var(--c-yellow);color:#3a2a00;box-shadow:0 6px 16px #f5b9124d}.btn--block{width:100%}.field{margin-bottom:16px;display:block}.field>span{font-family:var(--font-display);color:var(--text-dim);margin-bottom:7px;font-size:.85rem;font-weight:600;display:block}.input{background:var(--surface-2);border:1.5px solid var(--border-2);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:13px 16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-dim);opacity:.7}.input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #7c3aed26}.alert{border-radius:var(--radius-sm);border:1.5px solid;margin-bottom:14px;padding:13px 16px;font-size:.95rem;font-weight:600}.alert--error{color:#b91c1c;background:#ef44441a;border-color:#ef444466}.alert--success{color:#15803d;background:#22c55e1f;border-color:#22c55e66}.alert--info{color:#1d4ed8;background:#3b82f61a;border-color:#3b82f666}[data-theme=dark] .alert--error{color:#fca5a5}[data-theme=dark] .alert--success{color:#86efac}[data-theme=dark] .alert--info{color:#93c5fd}.badge{border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--text-dim);background:var(--surface-2);border:1.5px solid var(--border-2);align-items:center;gap:7px;padding:6px 13px;font-size:.8rem;font-weight:600;display:inline-flex}.badge--open{color:#16a34a;background:#22c55e24;border-color:#0000}.badge--closed{color:var(--text-dim)}.badge--draft{color:#b45309;background:#f5b91229;border-color:#0000}.badge--revealed{color:var(--primary);background:#7c3aed24;border-color:#0000}.badge--live{color:#fff;background:var(--danger);border-color:#0000}[data-theme=dark] .badge--open{color:#86efac}[data-theme=dark] .badge--draft{color:#fcd34d}[data-theme=dark] .badge--revealed{color:var(--primary-soft)}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@keyframes pulse{0%{box-shadow:0 0}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.statbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:10px;padding:8px 14px;display:flex}.stat__icon{border-radius:9px;place-items:center;width:28px;height:28px;font-size:.9rem;display:grid}.stat__num{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1}.stat__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:.66rem;font-weight:700}.weight-slider__labels{font-family:var(--font-display);color:var(--text-dim);justify-content:space-between;margin-bottom:12px;font-size:.9rem;font-weight:600;display:flex}.weight-slider__labels strong{color:var(--text)}.weight-slider__input{width:100%;accent-color:var(--primary)}.theme-toggle{border-radius:var(--radius-pill);border:1.5px solid var(--border-2);background:var(--surface);width:44px;height:44px;color:var(--text);box-shadow:var(--shadow);place-items:center;font-size:1.2rem;transition:transform .15s,border-color .15s;display:grid}.theme-toggle:hover{border-color:var(--primary-soft);transform:translateY(-2px)rotate(-8deg)}.theme-toggle-fab{z-index:50;position:fixed;bottom:18px;right:18px}.spinner{border:3px solid var(--border-2);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;margin:36px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center}@media (prefers-reduced-motion:reduce){*,body:before{animation:none!important}}.bg-blobs{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-blob{filter:blur(70px);opacity:.12;border-radius:50%;animation-name:float-blob;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}[data-theme=dark] .bg-blob{opacity:.22}@keyframes float-blob{0%{transform:translate(0)scale(1)}to{transform:translate(24px,-30px)scale(1.12)}}@media (prefers-reduced-motion:reduce){.bg-blob{animation:none!important}}.ui-btn{--btn-bg:var(--primary);--btn-fg:#fff;border-radius:var(--radius-sm);font-family:var(--font-display);white-space:nowrap;cursor:pointer;color:var(--btn-fg);background:var(--btn-bg);border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;line-height:1;text-decoration:none;transition:transform .12s,box-shadow .18s,background .15s,border-color .15s,filter .15s;display:inline-flex}.ui-btn:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 35%, transparent);outline:none}.ui-btn:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.7)}.ui-btn:active:not(:disabled){transform:translateY(1px)scale(.99)}.ui-btn--sm{padding:8px 14px;font-size:.85rem}.ui-btn--md{padding:12px 20px;font-size:1rem}.ui-btn--lg{padding:15px 26px;font-size:1.1rem}.ui-btn--block{width:100%}.ui-btn--solid{box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 34%, transparent)}.ui-btn--solid:hover:not(:disabled){background:var(--primary-deep);box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 45%, transparent);transform:translateY(-2px)}.ui-btn--soft{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}[data-theme=dark] .ui-btn--soft{color:var(--primary-soft)}.ui-btn--soft:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 22%, transparent);transform:translateY(-2px)}.ui-btn--ghost{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--primary-soft);transform:translateY(-2px)}.ui-btn--outline{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 45%, transparent);background:0 0}[data-theme=dark] .ui-btn--outline{color:var(--primary-soft)}.ui-btn--outline:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, transparent);border-color:var(--primary)}.ui-btn--danger{background:var(--danger);box-shadow:0 6px 16px color-mix(in srgb, var(--danger) 34%, transparent)}.ui-btn--danger:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.ui-btn__icon{font-size:1.1em;display:inline-flex}.ui-btn__label{align-items:center;display:inline-flex}.ui-btn.is-loading{color:#0000;position:relative}.ui-btn__spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:#fff;border-radius:50%;width:1.05em;height:1.05em;animation:.7s linear infinite ui-btn-spin;position:absolute}.ui-btn--soft .ui-btn__spinner,.ui-btn--ghost .ui-btn__spinner,.ui-btn--outline .ui-btn__spinner{border-top-color:var(--primary)}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}.ui-btn:hover:not(:disabled){transform:none}}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .15s,box-shadow .2s,border-color .15s;position:relative}.ui-card--elevated{box-shadow:var(--shadow)}.ui-card--outlined{box-shadow:none;border-color:var(--border-2)}.ui-card--accent{--accent-c:var(--primary);box-shadow:var(--shadow);border-color:#0000}.ui-card--accent:before{content:"";border-radius:var(--radius) 0 0 var(--radius);background:var(--accent-c);width:5px;position:absolute;top:0;bottom:0;left:0}.ui-card--p-none{padding:0}.ui-card--p-sm{padding:14px}.ui-card--p-md{padding:22px}.ui-card--p-lg{padding:30px}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.ui-badge{border-radius:var(--radius-pill);font-family:var(--font-display);white-space:nowrap;border:1.5px solid #0000;align-items:center;gap:7px;padding:5px 12px;font-size:.8rem;font-weight:600;line-height:1.2;display:inline-flex}.ui-badge--neutral{color:var(--text-dim);background:var(--surface-2);border-color:var(--border-2)}.ui-badge--primary{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent)}.ui-badge--info{color:#1d4ed8;background:color-mix(in srgb, var(--c-blue) 16%, transparent)}.ui-badge--success{color:#16a34a;background:color-mix(in srgb, var(--success) 16%, transparent)}.ui-badge--warning{color:#b45309;background:color-mix(in srgb, var(--warning) 18%, transparent)}.ui-badge--danger{color:#b91c1c;background:color-mix(in srgb, var(--danger) 14%, transparent)}.ui-badge--live{color:#fff;background:var(--danger)}[data-theme=dark] .ui-badge--primary{color:var(--primary-soft)}[data-theme=dark] .ui-badge--info{color:#93c5fd}[data-theme=dark] .ui-badge--success{color:#86efac}[data-theme=dark] .ui-badge--warning{color:#fcd34d}[data-theme=dark] .ui-badge--danger{color:#fca5a5}.ui-badge__dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.5s infinite ui-badge-pulse}@keyframes ui-badge-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 60%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.ui-avatar{--avatar-c:var(--primary);color:#fff;background:var(--avatar-c);font-family:var(--font-display);flex-shrink:0;place-items:center;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar__initial{transform:translateY(1px)}.ui-avatar--circle{border-radius:50%}.ui-avatar--rounded{border-radius:30%}.ui-avatar--sm{width:34px;height:34px;font-size:.95rem}.ui-avatar--md{width:48px;height:48px;font-size:1.25rem}.ui-avatar--lg{width:62px;height:62px;font-size:1.6rem}.ui-avatar--xl{width:84px;height:84px;font-size:2.1rem}.ui-switch{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text-dim) 32%, var(--surface));cursor:pointer;border:1.5px solid #0000;flex-shrink:0;width:46px;height:26px;padding:0;transition:background .25s,border-color .2s;position:relative}.ui-switch:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 30%, transparent);outline:none}.ui-switch:hover:not(:disabled){background:color-mix(in srgb, var(--text-dim) 42%, var(--surface))}.ui-switch:disabled{opacity:.5;cursor:not-allowed}.ui-switch.is-on,.ui-switch.is-on:hover{background:var(--primary);border-color:var(--primary)}.ui-switch__thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000059}.ui-switch.is-on .ui-switch__thumb{transform:translate(20px)}.ui-field{margin-bottom:16px;display:block}.ui-field__label{font-family:var(--font-display);color:var(--text-dim);margin-bottom:7px;font-size:.85rem;font-weight:600;display:block}.ui-field__control{background:var(--surface-2);border:1.5px solid var(--border-2);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.ui-field__control:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 15%, transparent)}.ui-field.is-error .ui-field__control{border-color:var(--danger)}.ui-field.is-error .ui-field__control:focus-within{box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 18%, transparent)}.ui-field__icon{color:var(--text-dim);display:inline-flex}.ui-field__input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;padding:13px 0}.ui-field__input::placeholder{color:var(--text-dim);opacity:.7}.ui-field__hint{color:var(--text-dim);margin-top:6px;font-size:.82rem;display:block}.ui-field__error{color:var(--danger);margin-top:6px;font-size:.82rem;font-weight:600;display:block}[data-theme=dark] .ui-field__error{color:#fca5a5}.ui-iconbtn{border-radius:var(--radius-sm);border:1.5px solid var(--border-2);background:var(--surface);color:var(--text);cursor:pointer;place-items:center;transition:transform .15s,border-color .15s,background .15s;display:grid}.ui-iconbtn:hover{border-color:var(--primary-soft);transform:translateY(-2px)}.ui-iconbtn:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 30%, transparent);outline:none}.ui-iconbtn:active{transform:translateY(0)scale(.96)}.ui-iconbtn--sm{width:36px;height:36px;font-size:1rem}.ui-iconbtn--md{width:44px;height:44px;font-size:1.2rem}.ui-iconbtn--ghost{background:0 0;border-color:#0000}.ui-iconbtn--ghost:hover{background:var(--surface-2)}.ui-skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 37%, var(--surface-2) 63%);background-size:400% 100%;animation:1.4s infinite ui-shimmer;display:block}@keyframes ui-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-progress{background:var(--surface-3);border-radius:var(--radius-pill);width:100%;display:block;overflow:hidden}.ui-progress__fill{--bar-c:var(--primary);border-radius:var(--radius-pill);background:var(--bar-c);height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.ui-progress__fill.is-animated:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.8s infinite ui-progress-shine;position:absolute;inset:0}@keyframes ui-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ui-progress__fill.is-animated:after{animation:none}}.ui-mascot{filter:drop-shadow(0 8px 16px #fbbf2466);line-height:0;animation:2s ease-in-out infinite ui-mascot-bounce;display:inline-block}.ui-mascot__star{transition:transform .2s}@keyframes ui-mascot-bounce{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-10px)rotate(4deg)}}@media (prefers-reduced-motion:reduce){.ui-mascot{animation:none}}.ui-confetti{pointer-events:none;z-index:2;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.ui-confetti__bit{will-change:transform;line-height:0;animation-name:ui-confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-16px}@keyframes ui-confetti-fall{0%{opacity:0;transform:translateY(-16px)rotate(0)}10%{opacity:1}to{transform:translateY(440px) rotate(var(--rot));opacity:1}}@media (prefers-reduced-motion:reduce){.ui-confetti{display:none}}.l-stack{gap:var(--l-gap,16px);flex-direction:column;display:flex}.l-cluster{gap:var(--l-gap,8px);flex-wrap:wrap;align-items:center;display:flex}.l-grid{gap:var(--l-gap,14px);grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--l-min,210px)), 1fr));display:grid}.l-sidebar{gap:var(--l-gap,18px);flex-wrap:wrap;align-items:start;display:flex}.l-sidebar>:first-child{min-width:min(100%, var(--l-main,420px));flex:999 1 0}.l-sidebar>:last-child{flex:1 1 var(--l-aside,320px)}.ui-theme{border-radius:var(--radius-pill);border:1.5px solid var(--border-2);background:var(--surface-2);cursor:pointer;flex-shrink:0;width:62px;height:32px;padding:0;transition:background .25s,border-color .2s;position:relative}.ui-theme:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 30%, transparent);outline:none}.ui-theme.is-dark{background:color-mix(in srgb, var(--primary) 30%, var(--surface-2))}.ui-theme__icon{font-size:.9rem;line-height:1;transition:opacity .25s;position:absolute;top:50%;transform:translateY(-50%)}.ui-theme__icon--sun{color:#f59e0b;opacity:1;left:9px}.ui-theme__icon--moon{color:var(--primary-soft);opacity:.5;right:9px}.ui-theme.is-dark .ui-theme__icon--sun{opacity:.5}.ui-theme.is-dark .ui-theme__icon--moon{opacity:1}.ui-theme__thumb{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.ui-theme.is-dark .ui-theme__thumb{background:var(--primary-soft);transform:translate(30px)}.ui-stat{--stat-c:var(--text-dim);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:10px;padding:7px 14px 7px 8px;display:inline-flex}.ui-stat__icon{width:30px;height:30px;color:var(--stat-c);background:color-mix(in srgb, var(--stat-c) 16%, transparent);border-radius:9px;place-items:center;font-size:.95rem;display:grid}.ui-stat__body{flex-direction:column;line-height:1.1;display:flex}.ui-stat__num{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.ui-stat__label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);font-size:.64rem;font-weight:700}.ui-navitem{border-radius:var(--radius-sm);color:#ffffffd9;width:100%;font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:14px;font-size:1.12rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,transform .12s;display:flex;position:relative}.ui-navitem:hover{color:#fff;background:#ffffff1f}.ui-navitem:active{transform:scale(.98)}.ui-navitem.is-active{color:var(--primary-deep);background:#fffffff5;font-weight:600}.ui-navitem.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ui-navitem__icon{text-align:center;width:22px;font-size:1.4rem}.ui-navitem__label{flex:1}.ui-navitem__mark{background:var(--primary);border-radius:50%;width:7px;height:7px}.ui-seg{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;max-width:100%;padding:4px;display:inline-grid;position:relative}.ui-seg__indicator{width:calc((100% - 8px) / var(--seg-count));border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow);transform:translateX(calc(var(--seg-index) * 100%));transition:transform .28s cubic-bezier(.34,1.4,.64,1);position:absolute;top:4px;bottom:4px;left:4px}[data-theme=dark] .ui-seg__indicator{background:color-mix(in srgb, var(--primary) 32%, var(--surface))}.ui-seg__btn{z-index:1;border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:.92rem;font-weight:600;transition:color .2s,background .2s;display:inline-flex;position:relative}.ui-seg__btn.is-active{color:var(--text)}[data-theme=dark] .ui-seg__btn.is-active{color:#fff}.ui-seg__icon{font-size:1.05em}@media (width<=640px){.ui-seg{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.ui-seg::-webkit-scrollbar{display:none}.ui-seg__indicator{display:none}.ui-seg__btn{scroll-snap-align:start;flex:none}.ui-seg__btn.is-active{background:var(--surface);box-shadow:var(--shadow)}[data-theme=dark] .ui-seg__btn.is-active{background:color-mix(in srgb, var(--primary) 32%, var(--surface))}}.ui-candidate{--cc:var(--primary);text-align:left;border-radius:var(--radius);background:var(--cc);color:#fff;cursor:pointer;border:none;align-items:center;gap:14px;padding:16px;transition:transform .14s,box-shadow .18s,filter .15s;display:flex;box-shadow:0 8px 20px #00000029;container-type:inline-size}.ui-candidate:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-4px);box-shadow:0 16px 30px #0000003d}.ui-candidate:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--cc) 45%, transparent);outline:none}.ui-candidate:active:not(:disabled){transform:translateY(-1px)scale(.99)}.ui-candidate.is-voted{filter:grayscale(.4)brightness(.92);opacity:.72;cursor:default}.ui-candidate__avatar{width:52px;height:52px;font-family:var(--font-display);color:#fff;background:#ffffff40;border-radius:16px;flex-shrink:0;place-items:center;font-size:1.4rem;font-weight:700;display:grid;overflow:hidden}.ui-candidate__avatar img{object-fit:cover;width:100%;height:100%}.ui-candidate__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ui-candidate__body strong{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.ui-candidate__body span{color:#ffffffd9;font-size:.82rem}.ui-candidate__cta{font-family:var(--font-display);border-radius:var(--radius-pill);white-space:nowrap;background:#ffffff38;flex-shrink:0;padding:6px 14px;font-size:.9rem;font-weight:600}@container (width<=210px){.ui-candidate{gap:10px;padding:12px}.ui-candidate__avatar{width:42px;height:42px;font-size:1.15rem}.ui-candidate__cta{padding:5px 10px;font-size:.8rem}}.lb{flex-direction:column;gap:22px;display:flex;container-type:inline-size}.lb-podium{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:14px;padding-top:28px;display:grid}.lb-podium__col{--cc:var(--primary);text-align:center;flex-direction:column;align-items:center;display:flex}.lb-podium__crown{z-index:2;margin-bottom:-6px;line-height:0;animation:2s ease-in-out infinite bounce}.lb-podium__col .ui-avatar{border:3px solid var(--surface);z-index:1;margin-bottom:8px;box-shadow:0 6px 16px #0000002e}.lb-podium__name{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:2px;font-size:1rem;font-weight:600;line-height:1.1;overflow:hidden}.lb-podium__pct{font-family:var(--font-display);color:var(--text-dim);margin-bottom:8px;font-size:.9rem;font-weight:700}.lb-podium__bar{background:var(--cc);color:#fff;border-radius:16px 16px 0 0;flex-direction:column;align-items:center;width:100%;padding:12px 6px 14px;display:flex;box-shadow:inset 0 -30px 40px #0000001f}.is-first .lb-podium__bar{height:130px}.is-second .lb-podium__bar{height:96px}.is-third .lb-podium__bar{height:72px}.lb-podium__rank{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1}.lb-podium__score{margin-top:auto;font-size:1.05rem;font-weight:800}@keyframes bounce{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12px)rotate(4deg)}}.lb-rows{flex-direction:column;gap:8px;display:flex}.lb-row{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:26px 12px 1fr 120px 50px;align-items:center;gap:10px;padding:10px 12px;display:grid}.lb-row__pos{font-family:var(--font-display);color:var(--text-dim);text-align:center;font-weight:700}.lb-row__dot{border-radius:50%;width:12px;height:12px}.lb-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.lb-row__score{font-family:var(--font-display);text-align:right;font-weight:700}.lb-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:18px;display:grid}.lb-stat{text-align:center}.lb-stat strong{font-family:var(--font-display);color:var(--primary);font-size:1.7rem;font-weight:700;display:block}[data-theme=dark] .lb-stat strong{color:var(--primary-soft)}.lb-stat span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}@container (width<=560px){.lb-row{grid-template-columns:22px 12px 1fr 48px}.lb-row__bar{display:none}.lb-podium{gap:8px;padding-top:22px}.lb-podium__col .ui-avatar--xl{width:58px;height:58px;font-size:1.5rem}.lb-podium__col .ui-avatar--lg{width:46px;height:46px;font-size:1.2rem}.lb-podium__crown svg{width:42px;height:42px}.lb-podium__name{font-size:.82rem}.lb-podium__pct{font-size:.78rem}.lb-podium__bar{padding:10px 4px 12px}.is-first .lb-podium__bar{height:104px}.is-second .lb-podium__bar{height:80px}.is-third .lb-podium__bar{height:62px}.lb-podium__rank{font-size:1.3rem}.lb-podium__score{font-size:.9rem}.lb-stats{gap:8px}.lb-stat strong{font-size:1.3rem}}@container (width<=380px){.lb-podium{gap:6px}.lb-podium__col .ui-avatar--xl{width:50px;height:50px;font-size:1.3rem}.lb-podium__col .ui-avatar--lg{width:38px;height:38px;font-size:1.05rem}.lb-row{grid-template-columns:20px 10px 1fr 44px;gap:8px;padding:9px 10px}}.ui-roster__group{margin-bottom:16px}.ui-roster__title{font-family:var(--font-display);margin:0 0 8px;font-size:.95rem;font-weight:600}.ui-roster{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ui-roster__item{border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;transition:background .2s;display:flex}.ui-roster__item.is-done{background:color-mix(in srgb, var(--success) 14%, transparent)}.ui-roster__name{font-weight:700}.ui-roster__state{font-size:.82rem;font-weight:600}.ui-roster__check{color:var(--success)}[data-theme=dark] .ui-roster__check{color:#86efac}.shell{min-height:100vh;display:flex}.shell__sidebar{background:linear-gradient(180deg, var(--primary), var(--primary-deep));color:#fff;z-index:40;flex-direction:column;flex-shrink:0;align-self:flex-start;width:268px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.shell__brand{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;color:#fff;padding:12px 12px 26px;font-size:2.7rem;font-weight:800;line-height:1}.shell__brand b{color:#ffd84d}.shell__nav{flex-direction:column;flex:1;gap:4px;display:flex}.shell__nav-group{flex-direction:column;gap:4px;display:flex}.shell__nav-children{border-left:1px solid #ffffff2e;flex-direction:column;gap:4px;margin:2px 0 2px 23px;padding-left:10px;display:flex}.shell__nav-children .ui-navitem{padding-top:11px;padding-bottom:11px;font-size:1rem}.shell__foot{border-top:1px solid #ffffff2e;flex-direction:column;gap:12px;padding-top:14px;display:flex}.shell__user{align-items:center;gap:10px;min-width:0;display:flex}.shell__email{text-overflow:ellipsis;white-space:nowrap;color:#ffffffe6;font-size:.85rem;overflow:hidden}.shell__foot .ui-btn--ghost{color:#fff;background:#ffffff24;border-color:#ffffff40}.shell__foot .ui-btn--ghost:hover{background:#ffffff3d}.shell__main{flex-direction:column;flex:1;min-width:0;display:flex}.shell__header{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;align-items:center;gap:14px;padding:14px 22px;display:flex;position:sticky;top:0}.shell__title{min-width:0;font-family:var(--font-display);flex:1;align-items:center;gap:12px;font-size:1.25rem;font-weight:600;display:flex}.shell__header-right{align-items:center;gap:10px;display:flex}.shell__burger{display:none}.shell__content{width:100%;max-width:1200px;margin:0 auto;padding:24px 22px 60px}.shell__scrim{z-index:39;background:#00000073;position:fixed;inset:0}@media (width<=900px){.shell__sidebar{transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0006}.shell__sidebar.is-open{transform:translate(0)}.shell__burger{display:grid}.shell__content{padding:18px 16px 60px}}@media (width<=640px){.shell__header .ui-stat{display:none}}.pshell{margin:0 auto;padding:24px 18px 80px;animation:.4s cubic-bezier(.22,1,.36,1) pshell-rise}.pshell--narrow{max-width:480px}.pshell--normal{max-width:960px}.pshell--wide{max-width:1200px}@keyframes pshell-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pshell__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.pshell__brand{font-family:var(--font-display);color:var(--text);font-size:clamp(1.2rem,1rem + 1vw,1.5rem);font-weight:700}.pshell__brand b{color:var(--primary)}.pshell__right{align-items:center;gap:10px;display:flex}.login-hero{text-align:center;margin-bottom:22px}.login-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--primary);margin:10px 0 8px;font-size:3.6rem;font-weight:800;line-height:1}.login-logo b{color:#ff5da2}.login-tagline{color:var(--text-dim);max-width:34ch;margin:0 auto;line-height:1.5}.login-feats{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:20px;display:flex}.login-feats span{color:var(--text-dim);font-size:.86rem;font-weight:600}.login-hero{position:relative}.login-content{z-index:1;position:relative}.login-decor{pointer-events:none;z-index:0;--px:0;--py:0;position:fixed;inset:0;overflow:hidden}.login-shape{transform:translate(calc(var(--px) * var(--depth,24) * 1px), calc(var(--py) * var(--depth,24) * 1px));transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute}.login-shape__inner{width:100%;height:100%;animation:var(--anim,drift) var(--dur,7s) ease-in-out infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 8px 14px #3c28782e);will-change:transform, opacity;display:block}.login-shape__inner img{width:100%;height:100%;display:block}@keyframes drift{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(9px,-18px)rotate(12deg)}66%{transform:translate(-11px,-9px)rotate(-9deg)}}@keyframes pulse-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-15px)scale(1.16)}}@keyframes sway{0%,to{transform:rotate(-13deg)translateY(0)}50%{transform:rotate(13deg)translateY(-12px)}}@keyframes spin-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-16px)rotate(180deg)}}@keyframes twinkle{0%,to{opacity:.45;transform:scale(.78)rotate(0)}50%{opacity:1;transform:scale(1.18)rotate(22deg)}}@media (prefers-reduced-motion:reduce){.login-shape{transition:none}.login-shape__inner{animation:none}}.confirm-modal{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;place-items:center;padding:20px;animation:.15s confirm-modal-fade;display:grid;position:fixed;inset:0}.confirm-modal__card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:22px 22px 18px;animation:.16s confirm-modal-pop}.confirm-modal__title{font-family:var(--font-display);margin:0 0 8px;font-weight:600}.confirm-modal__body{color:var(--text-dim);margin:0 0 18px;line-height:1.5}.confirm-modal__input{margin-bottom:18px}.confirm-modal__actions{justify-content:flex-end;gap:10px;display:flex}@keyframes confirm-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-cols{flex-wrap:wrap;align-items:start;gap:18px;display:flex}.admin-cols>:first-child{flex:999 1 0;min-width:min(100%,420px)}.admin-cols>:last-child{flex:320px}.session-tabs{margin-bottom:18px}.voter-preview__cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.voter-preview__scrim{z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;animation:.15s voter-preview-fade;position:fixed;inset:0}@keyframes voter-preview-fade{0%{opacity:0}to{opacity:1}}.voter-preview{z-index:901;background:var(--bg-2,var(--surface));border-left:1px solid var(--border);width:min(460px,94vw);box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s voter-preview-slide;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes voter-preview-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.voter-preview__bar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.voter-preview__steps{flex-shrink:0;padding:14px 16px 0}.voter-preview__steps .ui-seg__btn{gap:5px;padding:8px 10px;font-size:.82rem}.voter-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;flex:1;min-height:0;margin:16px;display:flex;overflow:hidden}.voter-frame__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.voter-frame__content{flex:1;min-height:0;padding:18px 16px 28px;overflow-y:auto}.voter-frame__content .candidate-grid{grid-template-columns:1fr}@media (width<=480px){.voter-frame{margin:10px}}.bank-create{align-items:flex-start;gap:10px;display:flex}.bank-create__input{flex:1;margin-bottom:0}.bank-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.bank-row{border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:transform .12s,box-shadow .15s;display:flex}.bank-row>div{flex-wrap:wrap;display:flex}.bank-row:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.bank-row strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 14px;display:grid}.admin-status-btns{flex-wrap:wrap;gap:10px;display:flex}.admin-candidates{flex-direction:column;gap:10px;margin-top:12px;display:flex}.admin-candidate{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.admin-candidate__avatar{width:44px;height:44px;font-family:var(--font-display);color:#fff;background:var(--primary);border-radius:13px;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.admin-candidate__avatar img{object-fit:cover;width:100%;height:100%}.admin-candidate__info{flex-direction:column;flex:1;min-width:0;display:flex}.admin-candidate__info strong{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.voter-editable{border-radius:var(--radius-sm);font:inherit;color:inherit;text-align:left;cursor:text;background:0 0;border:1px solid #0000;gap:2px;margin:-6px -8px;padding:6px 8px;transition:background .12s,border-color .12s}.voter-editable:hover{background:var(--surface-3);border-color:var(--border)}.voter-editable__hint{color:var(--primary);opacity:0;font-size:.72rem;transition:opacity .12s}.voter-editable:hover .voter-editable__hint{opacity:1}.voter-edit{flex-flow:wrap;align-items:center;gap:8px}.voter-edit .input{margin-bottom:0}.voter-edit__name{flex:2 150px;min-width:0}.voter-edit__code{flex:120px;min-width:0}.tag{border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;line-height:1.4;display:inline-flex}.tag--jury{color:#fff;letter-spacing:.02em;background:#7c3aed}.admin-candidate.is-jury{background:#7c3aed14;border-color:#7c3aed}.admin-candidate__actions{flex-wrap:wrap;gap:8px;display:flex}.admin-candidate__actions .btn{padding:8px 14px;font-size:.85rem}.session-row{flex-wrap:wrap}.session-row__info{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.session-row__code{font-family:var(--font-display);letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-dim);padding:1px 8px;font-weight:600}.session-row__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.session-row__actions{width:100%}}.likert__row{flex-wrap:wrap;gap:8px;display:flex}.likert__dot{aspect-ratio:1;border:2px solid var(--border-2);background:var(--surface-2);min-width:40px;max-width:58px;color:var(--text-dim);font-family:var(--font-display);border-radius:14px;flex:40px;font-size:1.1rem;font-weight:700;transition:transform .1s,background .15s,color .15s,border-color .15s,box-shadow .15s}.likert__dot:hover:not(:disabled){border-color:var(--cc,var(--primary));color:var(--text);transform:translateY(-2px)}.likert__dot.is-active{background:var(--cc,var(--primary));color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 6px 14px #0000002e}.likert__labels{color:var(--text-dim);justify-content:space-between;margin-top:8px;font-size:.8rem;font-weight:600;display:flex}.ranking{flex-wrap:wrap;align-items:start;gap:18px;display:flex;container-type:inline-size}.ranking__main{flex:999 1 0;min-width:min(100%,360px)}.ranking__hint{margin:0 0 12px}.ranking-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:12px;display:grid}.ranking-card{--cc:var(--primary);text-align:left;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--text);cursor:pointer;border:2px solid #0000;align-items:center;gap:12px;padding:14px;transition:transform .12s,border-color .15s,box-shadow .15s;display:flex;position:relative}.ranking-card:hover:not(:disabled){border-color:var(--cc);transform:translateY(-3px)}.ranking-card:disabled{opacity:.45;cursor:not-allowed}.ranking-card.is-picked{border-color:var(--cc);background:color-mix(in srgb, var(--cc) 12%, var(--surface))}.ranking-card__avatar{width:46px;height:46px;font-family:var(--font-display);color:#fff;background:var(--cc);border-radius:14px;flex-shrink:0;place-items:center;font-size:1.2rem;font-weight:700;display:grid;overflow:hidden}.ranking-card__avatar img{object-fit:cover;width:100%;height:100%}.ranking-card__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ranking-card__body strong{font-family:var(--font-display);font-weight:600}.ranking-card__body span{color:var(--text-dim);font-size:.8rem}.ranking-card__mark{width:34px;height:34px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.ranking-card .ranking-card__mark{color:var(--text-dim);background:var(--surface-2)}.ranking-card.is-picked .ranking-card__mark{color:#fff;background:var(--cc);box-shadow:0 4px 10px color-mix(in srgb, var(--cc) 45%, transparent)}.ranking-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex:300px;padding:18px;position:sticky;top:84px}.ranking-slots{flex-direction:column;gap:8px;margin:12px 0 16px;display:flex}.ranking-slot{--cc:var(--border-2);border-radius:var(--radius-sm);border:1.5px dashed var(--border-2);background:var(--surface-2);align-items:center;gap:10px;padding:9px 10px;transition:box-shadow .15s,transform .12s,border-color .15s;display:flex}.ranking-slot.is-filled{border-style:solid;border-color:var(--cc);background:color-mix(in srgb, var(--cc) 10%, var(--surface));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ranking-slot.is-dragging{cursor:grabbing;z-index:2;border-style:solid;position:relative;transform:scale(1.03);box-shadow:0 10px 22px #00000038}.ranking-slot__grip{color:var(--text-dim);cursor:grab;opacity:.6;letter-spacing:-2px;font-size:1.15rem;line-height:1}.ranking-slot.is-dragging .ranking-slot__grip{cursor:grabbing}.ranking-slot__pos{width:26px;height:26px;font-family:var(--font-display);color:#fff;background:var(--cc);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:800;display:grid}.ranking-slot__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.ranking-slot__empty{flex:1}.ranking-slot__x{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:4px;font-size:1rem;line-height:1}.ranking-slot__x:hover{color:var(--danger)}.ranking-done{margin-bottom:8px;font-size:3.4rem;line-height:1}@container (width<=680px){.ranking-panel{flex-basis:100%;order:-1;position:static}}.session-grid{flex-wrap:wrap;align-items:start;gap:18px;display:flex}.session-grid>:first-child{flex:999 1 0;min-width:min(100%,380px)}.session-grid>:last-child{flex:300px}.link-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.candidate-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:14px;margin-top:8px;display:grid}.candidate-card{--cc:var(--primary);text-align:left;border-radius:var(--radius);background:var(--cc);color:#fff;border:none;align-items:center;gap:14px;padding:16px;transition:transform .12s,box-shadow .15s,filter .15s;display:flex;box-shadow:0 8px 20px #00000029}.candidate-card:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-4px);box-shadow:0 14px 28px #00000038}.candidate-card:active:not(:disabled){transform:translateY(-1px)}.candidate-card.is-voted{filter:grayscale(.4)brightness(.92);opacity:.75}.candidate-card__avatar{width:52px;height:52px;font-family:var(--font-display);color:#fff;background:#ffffff40;border-radius:16px;flex-shrink:0;place-items:center;font-size:1.4rem;font-weight:700;display:grid;overflow:hidden}.candidate-card__avatar img{object-fit:cover;width:100%;height:100%}.candidate-card__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.candidate-card__body strong{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.candidate-card__body span{color:#ffffffd9;font-size:.82rem}.candidate-card__cta{font-family:var(--font-display);border-radius:var(--radius-pill);white-space:nowrap;background:#ffffff38;padding:6px 14px;font-size:.9rem;font-weight:600}.vote-form{--cc:var(--primary);border-top:5px solid var(--cc)}.vote-form__back{margin-bottom:16px}.vote-form__head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.vote-form__avatar{width:56px;height:56px;font-family:var(--font-display);color:#fff;background:var(--cc);border-radius:16px;place-items:center;font-size:1.6rem;font-weight:700;display:grid;overflow:hidden}.vote-form__avatar img{object-fit:cover;width:100%;height:100%}.vote-form__hint{margin-top:4px}.vote-form__attr{border-top:1px solid var(--border);padding:16px 0}.vote-form__attr-head{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.vote-form__attr-head strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.vote-form__attr-head span{font-size:.88rem}.vote-form__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.join-card{padding:34px 24px}.join-card__emoji{margin-bottom:10px;font-size:3.6rem;line-height:1;animation:2s ease-in-out infinite bounce;display:inline-block}.join-card h1{color:var(--primary)}.thanks{text-align:center;padding:30px 20px}.thanks__mascot{margin-bottom:8px;font-size:4.5rem;line-height:1;animation:1.6s ease-in-out infinite bounce;display:inline-block}.thanks h1{color:var(--primary)}
