.competition-class{color:#514a43;flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 10px;font-size:14px;display:flex}.competition-class button,.competition-cup button{font:inherit;cursor:pointer}.competition-class button{color:#393735;background:#fffaf2;border:1px solid #baad9d;border-radius:8px;padding:7px 11px}.competition-notice:empty{display:none}.competition-notice,.competition-note{font-size:14px;line-height:1.5}.competition-dialog{color:#393735;background:#fffaf5;border:1px solid #c4b6a7;border-radius:18px;width:min(480px,100vw - 32px);max-height:85vh;padding:26px;overflow:auto;box-shadow:0 18px 60px #0003}.competition-dialog::backdrop{background:#292622a8}.competition-dialog h2{margin:0 0 12px;font-size:27px}.class-choice-options{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;display:grid}.class-choice-options button{font:inherit;color:#272421;cursor:pointer;background:#f9e1ad;border:1px solid #bdaa8c;border-radius:10px;min-height:48px;padding:12px}.class-choice-options .class-fun-option{background:#f1ebe2;grid-column:1/-1;line-height:1.5}.competition-cup{z-index:30;color:#393735;background:#fffaf3;border:1px solid #bbaa94;border-radius:14px;width:235px;font-size:14px;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 5px 24px #30261526}.cup-toggle{text-align:left;color:#fff6e6;background:#393735;border:0;width:100%;padding:12px 16px;font-weight:700!important}.cup-body{max-height:55vh;padding:12px;overflow:auto}.cup-body h2{margin:12px 0;font-size:18px}.cup-tabs{gap:6px;display:flex}.cup-tabs button{background:#f4ece0;border:1px solid #c6b79f;border-radius:7px;flex:1;padding:7px}.cup-tabs button[aria-pressed=true]{background:#f8d990;border-color:#a67a2d}.competition-cup table{border-collapse:collapse;width:100%;font-size:14px}.competition-cup th,.competition-cup td{text-align:left;border-bottom:1px solid #e4d8c7;padding:7px 5px}.competition-cup td:last-child,.competition-cup th:last-child{text-align:right}.competition-cup .your-class{background:#fff0ca}.competition-cup details{margin-top:12px;font-size:12px;line-height:1.5}.competition-cup summary{cursor:pointer}.competition-sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.class-competition button:focus-visible{outline-offset:3px;outline:3px solid #28668a}@media (width<=600px){.competition-cup{width:220px;bottom:10px;right:10px}.cup-body{max-height:45vh}.competition-dialog{padding:20px}.class-competition{padding-bottom:50px}}.cup-tabs{grid-template-columns:1fr 1fr;display:grid}.cup-prize{font-size:13px;line-height:1.45}.cup-code-form{gap:12px;margin-top:20px;display:grid}.cup-code-form input{font:inherit;border:1px solid #767676;border-radius:8px;min-width:0;padding:12px}.cup-code-form label{font-weight:600}.class-choice-options button[aria-pressed=true]{outline-offset:2px;outline:3px solid}.competition-dialog{box-sizing:border-box;max-width:calc(100vw - 32px)}.cup-code-form button{font:inherit;color:#272421;background:#f9e1ad;border:1px solid #bdaa8c;border-radius:8px;min-height:44px;padding:10px}.cup-code-form input{font-size:16px}@media (width<=600px){.competition-class button{min-height:44px}.competition-cup{bottom:calc(10px + env(safe-area-inset-bottom));width:min(220px,100vw - 20px)}.competition-cup:not(:has(.cup-body)){width:auto;max-width:calc(100vw - 20px)}.competition-cup:not(:has(.cup-body)) .cup-toggle{text-align:center;white-space:nowrap;padding-inline:14px}.competition-cup:has(.cup-body){width:min(320px,100vw - 20px)}.cup-toggle{min-height:44px}.competition-dialog h2{font-size:24px}}.enrollment-dialog{background:linear-gradient(145deg,#fffdf8,#f7f0e7);border-color:#a9947b;width:min(520px,100vw - 28px);padding:clamp(22px,5vw,38px)}.enrollment-dialog p{line-height:1.55}.enrollment-dialog h2{max-width:12em;font-size:clamp(25px,6vw,34px);line-height:1.15}.enrollment-progress{align-items:center;gap:8px;margin-bottom:26px;display:flex}.enrollment-progress span{color:#635d55;background:#e3dbd0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.enrollment-progress span.current{color:#fff;background:#246f69;box-shadow:0 0 0 4px #d6ebe7}.enrollment-kicker{color:#276f69;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;margin:0 0 8px!important}.enrollment-choices{gap:12px;margin-top:24px;display:grid}.enrollment-choices button,.enrollment-dialog .enrollment-primary,.enrollment-dialog .enrollment-back,.enrollment-close{font:inherit;cursor:pointer;border-radius:10px;min-height:50px;padding:12px 16px}.enrollment-choices button{color:#272421;background:#fff;border:1px solid #b8aa98}.enrollment-dialog .enrollment-primary{color:#fff;background:#246f69;border:1px solid #185c57;font-weight:700}.enrollment-dialog .enrollment-back{color:#4e4943;background:0 0;border:0;text-decoration:underline}.enrollment-close{color:#4e4943;background:0 0;border:0;margin:18px auto 0;text-decoration:underline;display:block}.enrollment-error{color:#782828;background:#faeaea;border-left:4px solid #a43838;border-radius:5px;margin:16px 0 0;padding:12px 14px}.enrollment-success{text-align:center}.enrollment-success>p:first-child{color:#176346;background:#d8ede3;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;font-size:30px;font-weight:900;display:grid}.enrollment-success h2{margin-inline:auto}.enrollment-success .enrollment-primary{width:100%;margin-top:14px}.enrollment-dialog button:disabled{cursor:wait;opacity:.65}.enrollment-dialog input{text-transform:none}.enrollment-dialog input#puzzle-class-code{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.competition-cup{z-index:40}@media (width<=600px){.enrollment-dialog{max-height:calc(100dvh - 24px);padding:22px 18px}.enrollment-dialog h2{font-size:26px}.enrollment-progress{margin-bottom:20px}.competition-class{justify-content:space-between}.competition-class span{font-weight:600}}@media (prefers-reduced-motion:no-preference){.enrollment-dialog[open]{animation:.18s ease-out enrollment-in}@keyframes enrollment-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}}
