:root{--void: #0b0a0e;--surface: #17151c;--surface-raised: #201c27;--line: #2b2733;--ember: #ff4429;--ember-soft: #ff7a45;--gold: #ffb627;--ink: #f3efe9;--ink-dim: #96909c;--ink-faint: #59535e;--danger-bg: #2a1414;--danger-ink: #ff8f7a;--font-display: "Bebas Neue", "Archivo Black", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:var(--font-body);background:var(--void);background-image:radial-gradient(ellipse 800px 500px at 15% -10%,rgba(255,68,41,.1),transparent 60%),radial-gradient(ellipse 700px 500px at 100% 10%,rgba(255,182,39,.06),transparent 55%);color:var(--ink);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0}.page{max-width:1040px;margin:0 auto;padding:28px 24px 64px}.center{display:flex;align-items:center;justify-content:center;min-height:100vh}.brand{display:flex;align-items:baseline;gap:8px}.brand-mark{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--void);background:linear-gradient(135deg,var(--ember),var(--gold));padding:3px 7px;border-radius:5px;letter-spacing:.02em}.brand h1{font-size:2rem;color:var(--ink)}.brand h1 em{font-style:normal;background:linear-gradient(120deg,var(--ember-soft),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--line)}.topbar-right{display:flex;align-items:center;gap:14px}.username-pill{font-family:var(--font-mono);font-size:.82rem;color:var(--ink-dim)}.username-pill strong{color:var(--ink);font-weight:600}button{font-family:var(--font-body);background:linear-gradient(120deg,var(--ember),var(--ember-soft));border:none;color:#1a0a05;font-weight:700;padding:13px 20px;border-radius:9px;cursor:pointer;font-size:.95rem;letter-spacing:.01em;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 4px 14px #ff442938}button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 18px #ff442952}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.secondary{background:var(--surface-raised);color:var(--ink);box-shadow:none;border:1px solid var(--line)}button.secondary:hover:not(:disabled){filter:none;border-color:var(--ink-faint);background:var(--surface-raised)}input,textarea,select{width:100%;background:var(--void);border:1px solid var(--line);color:var(--ink);padding:12px 14px;border-radius:9px;font-size:.95rem;font-family:var(--font-body);transition:border-color .12s ease}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,textarea:focus,select:focus{border-color:var(--ember-soft)}textarea{min-height:84px;resize:vertical;font-family:var(--font-mono);font-size:.88rem}label.field-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);display:block;margin-bottom:8px}.error{background:var(--danger-bg);border:1px solid rgba(255,143,122,.25);color:var(--danger-ink);padding:11px 14px;border-radius:9px;margin-bottom:14px;font-size:.88rem}.auth-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.auth-visual{position:relative;background:linear-gradient(165deg,#14100f 0%,var(--void) 55%);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:60px;border-right:1px solid var(--line)}.auth-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 70%,rgba(255,68,41,.16),transparent 60%)}.auth-visual-inner{position:relative;z-index:1}.auth-tagline{font-family:var(--font-display);font-size:2.6rem;line-height:1.05;max-width:420px;color:var(--ink)}.auth-tagline em{font-style:normal;color:var(--ember-soft)}.ticker{margin-top:44px;display:flex;flex-direction:column;gap:12px}.ticker-line{font-family:var(--font-mono);font-size:.82rem;color:var(--ink-faint);border-left:2px solid var(--line);padding-left:12px;opacity:0;animation:ticker-in .5s ease forwards}.ticker-line.hot{color:var(--ember-soft);border-left-color:var(--ember)}.ticker-line:nth-child(1){animation-delay:.1s}.ticker-line:nth-child(2){animation-delay:.25s}.ticker-line:nth-child(3){animation-delay:.4s}.ticker-line:nth-child(4){animation-delay:.55s}@keyframes ticker-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.auth-form .brand{margin-bottom:6px}.auth-sub{color:var(--ink-dim);font-size:.92rem;margin:-6px 0 8px}.auth-form p.switch{color:var(--ink-dim);font-size:.88rem;text-align:center;margin:4px 0 0}.auth-form a{color:var(--ember-soft);text-decoration:none;font-weight:600}.auth-form a:hover{text-decoration:underline}@media (max-width: 860px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}}.arena-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:stretch}.vs-mark{align-self:center;font-family:var(--font-display);font-size:1.6rem;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;gap:8px}.vs-mark span{width:1px;height:60px;background:linear-gradient(var(--line),transparent)}.battle-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:16px}.battle-card .kicker{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ember-soft)}.battle-card h2{font-size:1.5rem;font-family:var(--font-display);letter-spacing:.01em}.gauge{display:flex;gap:8px}.gauge-option{flex:1;border:1px solid var(--line);background:var(--void);border-radius:9px;padding:10px 8px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.gauge-option .flame-bar{height:4px;border-radius:2px;background:var(--line);margin-bottom:8px}.gauge-option[data-level=mild] .flame-bar{width:30%;margin:0 auto 8px}.gauge-option[data-level=medium] .flame-bar{width:60%;margin:0 auto 8px}.gauge-option[data-level=savage] .flame-bar{width:100%;margin:0 auto 8px}.gauge-option .gauge-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.gauge-option.active{border-color:var(--ember);background:#ff442914}.gauge-option.active .flame-bar{background:linear-gradient(90deg,var(--ember),var(--gold))}.gauge-option.active .gauge-label{color:var(--ink)}.gauge-option:hover{border-color:var(--ink-faint)}.code-chip{font-family:var(--font-mono);background:var(--void);border:1px dashed var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem;color:var(--ember-soft);letter-spacing:.06em;display:inline-block}.room-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.room-title{display:flex;align-items:center;gap:12px}.room-title h1{font-size:2rem}.tag{font-family:var(--font-mono);background:var(--surface-raised);border:1px solid var(--line);padding:5px 12px;border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim)}.tag.savage{color:var(--ember-soft);border-color:#ff442959}.tag.medium{color:var(--gold);border-color:#ffb6274d}.problem{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ember);padding:16px 20px;border-radius:10px;margin-bottom:20px;font-size:.95rem;color:var(--ink)}.problem .field-label{margin-bottom:6px}.editor-frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:18px}.editor-frame-header{background:var(--surface-raised);padding:9px 14px;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-dim);border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.waiting-banner{text-align:center;padding:22px;color:var(--gold);font-family:var(--font-mono);font-size:.9rem;border:1px dashed var(--line);border-radius:10px;background:var(--surface)}.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.verdict-shell{text-align:center}.verdict-kicker{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);margin-bottom:6px}.verdict-shell h2{font-size:2.4rem;margin-bottom:10px}.verdict-shell h2 .gold-text{background:linear-gradient(120deg,var(--gold),var(--ember-soft));-webkit-background-clip:text;background-clip:text;color:transparent}.verdict-reason{color:var(--ink-dim);max-width:560px;margin:0 auto 30px;font-size:.95rem}.roast-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}.roast-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;position:relative;transition:opacity .2s ease}.roast-card.loser{opacity:.65}.roast-card.winner{border-color:var(--gold);box-shadow:0 0 0 1px #ffb62740,0 10px 30px #ffb6271f}.roast-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.roast-card h3{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.roast-card.winner h3{color:var(--gold)}.trophy-badge{font-family:var(--font-mono);font-size:.68rem;background:linear-gradient(120deg,var(--gold),var(--ember-soft));color:#1a0a05;padding:3px 9px;border-radius:999px;font-weight:700;letter-spacing:.04em}.roast-card p{color:var(--ink);line-height:1.55;font-size:.92rem;margin:0}@media (max-width: 700px){.arena-grid{grid-template-columns:1fr}.vs-mark span{display:none}.roast-grid{grid-template-columns:1fr}}
