:root{--font-family-base:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-family-mono:Consolas, "Courier New", monospace;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-h2:22px;--font-size-h1:28px;--line-height-base:1.45;--line-height-heading:1.2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:6px;--radius-md:8px;--radius-lg:14px;--border-width:1px;--size-input-height:40px;--size-button-height:42px;--size-editor-min-height:440px;--color-bg-page:#1e1e1e;--color-bg-panel:#252526;--color-bg-panel-hover:#2a2d2e;--color-bg-elevated:#2d2d30;--color-bg-primary:#0e639c;--color-bg-primary-hover:#17b;--color-bg-glow:radial-gradient(circle at 10% 10%, #4fc1ff1f, transparent 32%);--color-text-primary:#d4d4d4;--color-text-secondary:#9aa0a6;--color-text-heading:#fff;--color-text-info:#b5cea8;--color-text-link:#4fc1ff;--color-text-error:#f48771;--color-text-table-key:#9cdcfe;--color-text-hint:gray;--color-text-success:#4ec9b0;--color-text-warning:#dcdcaa;--color-border-subtle:#333;--color-border-default:#3b3b3b;--color-border-accent:#4fc1ff;--shadow-soft:0 8px 24px #00000047}[data-theme=light]{--color-bg-page:#f3f6fb;--color-bg-panel:#fff;--color-bg-panel-hover:#f4f7fb;--color-bg-elevated:#fff;--color-bg-primary:#2563eb;--color-bg-primary-hover:#1d4ed8;--color-bg-glow:radial-gradient(circle at 10% 10%, #2563eb1f, transparent 34%);--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-heading:#0f172a;--color-text-info:#0f766e;--color-text-link:#2563eb;--color-text-error:#dc2626;--color-text-table-key:#1d4ed8;--color-text-hint:#64748b;--color-text-success:#0f766e;--color-text-warning:#92400e;--color-border-subtle:#dbe2ea;--color-border-default:#d1d9e5;--color-border-accent:#2563eb;--shadow-soft:0 10px 26px #0f172a14}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:var(--font-family-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-page)}.battle-end-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#080c18bf;justify-content:center;align-items:center;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInOverlay;display:flex;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.battle-end-card{color:#f8fafc;background:linear-gradient(145deg,#111827e6 0%,#0a0f1ef2 100%);border-radius:24px;width:min(90vw,450px);font-family:Outfit,Inter,sans-serif;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards scaleUpCard;position:relative;overflow:hidden;box-shadow:0 30px 60px #0009,inset 0 1px #ffffff1a,0 0 40px #0000004d}@keyframes scaleUpCard{0%{opacity:0;transform:scale(.8)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.battle-end-card.winner-theme{border:1px solid #10b98166;box-shadow:0 30px 60px #0009,inset 0 1px #ffffff26,0 0 30px #10b98126}.battle-end-card.loser-theme{border:1px solid #ef444466;box-shadow:0 30px 60px #0009,inset 0 1px #ffffff1a,0 0 30px #ef44441f}.glow-aura{filter:blur(80px);z-index:0;pointer-events:none;opacity:.3;border-radius:50%;width:250px;height:250px;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.winner-theme .glow-aura{background:radial-gradient(circle,#10b98199 0%,#0000 70%)}.loser-theme .glow-aura{background:radial-gradient(circle,#ef444480 0%,#0000 70%)}.battle-end-header{z-index:1;text-align:center;padding:2.5rem 2rem 1.5rem;position:relative}.status-badge-container{justify-content:center;margin-bottom:1rem;display:flex}.trophy-badge{filter:drop-shadow(0 0 12px #fbbf2499);font-size:4rem}.shield-badge{filter:drop-shadow(0 0 12px #38bdf899);font-size:4rem}.skull-badge{filter:drop-shadow(0 0 12px #ef444499);font-size:4rem}.battle-end-title{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:900}.winner-theme .battle-end-title{color:#10b981;text-shadow:0 0 15px #10b98166}.loser-theme .battle-end-title{color:#ef4444;text-shadow:0 0 15px #ef444466}.battle-end-subtitle{color:#9ca3af;margin:.75rem 0 0;font-size:.95rem;line-height:1.5}.battle-end-body{z-index:1;flex-direction:column;gap:1.5rem;padding:0 2rem 2rem;display:flex;position:relative}.rating-progress-panel{text-align:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;padding:1.25rem;box-shadow:inset 0 2px 4px #0003}.rank-tier-display{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.tier-badge{font-size:1.5rem}.tier-name{letter-spacing:.05em;text-transform:uppercase;font-size:1.1rem;font-weight:700}.rating-tick-counter{justify-content:center;align-items:baseline;gap:.75rem;margin:.5rem 0;display:flex}.current-score{color:#f3f4f6;font-feature-settings:"tnum";font-size:2.25rem;font-weight:800}.pts-delta{font-feature-settings:"tnum";font-size:1.5rem;font-weight:700}.pts-delta.plus{color:#10b981}.pts-delta.minus{color:#ef4444}.pts-delta.shielded{color:#38bdf8;letter-spacing:.05em;background:#38bdf826;border:1px solid #38bdf84d;border-radius:6px;padding:2px 8px;font-size:1.1rem;font-weight:800}.shield-absorb-alert{background:linear-gradient(90deg,#38bdf81a 0%,#38bdf833 50%,#38bdf81a 100%);border:1px solid #38bdf840;border-radius:99px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem 1rem;animation:2s ease-in-out infinite pulseShield;display:inline-flex}.shield-sparkle{font-size:1.1rem}.alert-text{color:#e0f2fe;letter-spacing:.02em;font-size:.85rem;font-weight:700}@keyframes pulseShield{0%,to{transform:scale(1);box-shadow:0 0 10px #38bdf81a}50%{transform:scale(1.03);box-shadow:0 0 20px #38bdf840}}.metrics-box{background:#0003;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.metric-row{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.metric-label{color:#9ca3af}.metric-value{font-weight:700}.metric-value.self{color:#10b981}.metric-value.opponent{color:#f59e0b}.battle-reason-section{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.85rem;display:flex}.reason-label{color:#9ca3af}.reason-code{font-family:var(--font-family-mono,"Fira Code", "Courier New", monospace);color:#38bdf8;background:#0000004d;border-radius:4px;padding:2px 6px;font-weight:600}.battle-end-footer{text-align:center;padding:0 2rem 2.5rem}.lobby-return-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:none;border-radius:12px;width:100%;padding:1rem;font-size:1rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #0284c766,inset 0 1px #ffffff26}.lobby-return-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 20px #0284c780,inset 0 1px #fff3}.lobby-return-btn:active{transform:translateY(0)}.animated-bounce{animation:2s infinite bounceBadge}@keyframes bounceBadge{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.animated-pulse{animation:1.5s infinite alternate pulseBadge}@keyframes pulseBadge{0%{filter:brightness(.9);transform:scale(1)}to{filter:brightness(1.1);transform:scale(1.08)}}.animated-shake{animation:4s ease-in-out infinite shakeBadge}@keyframes shakeBadge{0%,to{transform:rotate(0)}2%,6%{transform:rotate(-5deg)}4%,8%{transform:rotate(5deg)}10%{transform:rotate(0)}}.contest-layout[data-mode=solo]{background-color:#070a13!important;background-image:linear-gradient(#38bdf808 1px,#0000 1px),linear-gradient(90deg,#38bdf808 1px,#0000 1px)!important;background-position:0 0,0 0,0 0!important;background-repeat:repeat,repeat,repeat!important;background-size:24px 24px!important;background-attachment:scroll,scroll,scroll!important;background-origin:padding-box,padding-box,padding-box!important;background-clip:border-box,border-box,border-box!important}.contest-layout[data-mode=solo] .contest-layout__editor,.contest-layout[data-mode=solo] .contest-layout__result{transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px)!important;background:#0f172abf!important;border-color:#38bdf840!important;box-shadow:0 20px 50px #00000080,0 0 40px #38bdf80d,inset 0 0 0 1px #ffffff0d!important}.contest-layout[data-mode=solo] .contest-layout__editor:hover,.contest-layout[data-mode=solo] .contest-layout__result:hover{border-color:#38bdf866!important;box-shadow:0 24px 60px #0009,0 0 50px #38bdf814,inset 0 0 0 1px #ffffff14!important}.contest-layout[data-mode=solo] .panel-header{padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid #38bdf826}.contest-layout[data-mode=solo] .mode-switch{box-shadow:inset 0 0 10px #38bdf80d;background:#070a1299!important;border:1px solid #38bdf833!important}.contest-layout[data-mode=solo] .mode-switch__btn{font-weight:700;transition:all .2s}.contest-layout[data-mode=solo] .mode-switch__btn.is-active{color:#fff!important;background:linear-gradient(135deg,#0e639cd9 0%,#0369a1d9 100%)!important;box-shadow:0 4px 14px #0e639c66!important}.contest-layout[data-mode=solo] .ui-input{color:#f8fafc!important;background:#070a1299!important;border:1px solid #ffffff14!important;border-radius:8px!important;height:38px!important;padding:0 12px!important;font-size:14px!important;transition:all .25s!important}.contest-layout[data-mode=solo] .ui-input:hover{border-color:#38bdf859!important}.contest-layout[data-mode=solo] .ui-input:focus{background:#070a12cc!important;border-color:#38bdf8!important;box-shadow:0 0 0 3px #38bdf826!important}.contest-layout[data-mode=solo] button[type=submit]:not(.auth-logout-btn),.contest-layout[data-mode=solo] .ui-button:not(.ui-button--ghost):not(.auth-logout-btn){cursor:pointer;color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%)!important;border:1px solid #38bdf840!important;border-radius:8px!important;font-weight:700!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 4px 16px #0284c74d!important}.contest-layout[data-mode=solo] button[type=submit]:not(.auth-logout-btn):hover,.contest-layout[data-mode=solo] .ui-button:not(.ui-button--ghost):not(.auth-logout-btn):hover{background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%)!important;transform:translateY(-1px)!important;box-shadow:0 6px 22px #38bdf873!important}.contest-layout[data-mode=solo] button[type=submit]:not(.auth-logout-btn):active,.contest-layout[data-mode=solo] .ui-button:not(.ui-button--ghost):not(.auth-logout-btn):active{transform:translateY(0)!important}.editor-shell{overflow:hidden;background:#070a1266!important;border:1px solid #38bdf833!important;border-radius:8px!important}.editor-shell__top{background:#0f172acc!important;border-bottom:1px solid #38bdf826!important;padding:10px 14px!important}.editor-shell__top .dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.editor-shell__top .dot--red{box-shadow:0 0 6px #ef444466;background:#ef4444!important}.editor-shell__top .dot--yellow{box-shadow:0 0 6px #eab30866;background:#eab308!important}.editor-shell__top .dot--green{box-shadow:0 0 6px #22c55e66;background:#22c55e!important}.editor-file-name{font-family:var(--font-family-mono);letter-spacing:.5px;color:#94a3b8!important;font-size:11px!important}.panel-header__home-btn{color:#38bdf8!important;cursor:pointer!important;background:#0f172a99!important;border:1px solid #38bdf840!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:36px!important;height:36px!important;font-size:16px!important;text-decoration:none!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;display:inline-flex!important;box-shadow:0 4px 12px #00000026!important}.panel-header__home-btn:hover{color:#fff!important;background:#38bdf826!important;border-color:#38bdf8!important;transform:scale(1.08)!important;box-shadow:0 0 14px #38bdf859,inset 0 0 8px #38bdf81a!important}.panel-header__home-icon{justify-content:center!important;align-items:center!important;display:inline-flex!important}.panel-header__logo-link{align-items:center!important;gap:8px!important;text-decoration:none!important;transition:transform .2s,filter .2s!important;display:inline-flex!important}.panel-header__logo-link:hover{filter:brightness(1.15);transform:scale(1.02)}.panel-header__logo-icon{filter:drop-shadow(0 0 4px #38bdf873);font-size:20px;animation:2s ease-in-out infinite alternate logoPulse}@keyframes logoPulse{0%{transform:scale(.95)}to{transform:scale(1.1)}}.contest-layout[data-mode=battle]{background-color:#0b0f19!important;background-image:linear-gradient(#ff785a05 1px,#0000 1px),linear-gradient(90deg,#ff785a05 1px,#0000 1px)!important;background-position:0 0,0 0,0 0!important;background-repeat:repeat,repeat,repeat!important;background-size:24px 24px!important;background-attachment:scroll,scroll,scroll!important;background-origin:padding-box,padding-box,padding-box!important;background-clip:border-box,border-box,border-box!important}.contest-layout[data-mode=battle] .contest-layout__editor,.contest-layout[data-mode=battle] .contest-layout__result{-webkit-backdrop-filter:blur(12px)!important;background:#0f172a99!important;border-color:#ff785a40!important;box-shadow:0 8px 32px #00000059,inset 0 0 0 1px #ffffff05!important}.battle-arena-hud{margin-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.battle-arena-hud__pill{color:#b8f5d9;height:26px;font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;background:#4ec9b024;border:1px solid #4ec9b080;border-radius:999px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.battle-arena-hud__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#0003;border:1px solid #ffffff1a;border-radius:999px;max-width:100%;padding:4px 10px;overflow:hidden}.battle-arena-hud__meta--you{color:#b8f0d8;border-color:#4ec9b073}.panel-header__brand{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.workspace-pill{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);border:1px solid #ffffff1a;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:800}.workspace-pill--solo{color:#b8e7ff;background:#4fc1ff1a;border-color:#4fc1ff73}.workspace-pill--battle-lobby{color:#ffc9a8;background:#ff785a1f;border-color:#ffa07880}.workspace-pill--battle-live{color:#b8f5d9;background:#4ec9b024;border-color:#4ec9b08c;box-shadow:0 0 0 1px #4ec9b033}.battle-arena-banner{margin-bottom:var(--space-3);border-radius:var(--radius-md);align-items:stretch;gap:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #ff503c14;background:linear-gradient(120deg,#ff5a4626 0%,#0f172af2 45%,#070a12fa 100%)!important;border:1px solid #ff8c5a59!important}.battle-arena-banner__stripe{background:linear-gradient(#ff8a5c,#ff3d5c,#c94bff);flex-shrink:0;width:6px}.battle-arena-banner__body{flex:1;min-width:0;padding:10px 12px}.battle-arena-banner__title{font-size:var(--font-size-sm);letter-spacing:.06em;text-transform:uppercase;color:#ffd4c4;margin:0 0 4px;font-weight:800}.battle-arena-banner__sub{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:1.45}.battle-arena-banner__meta{background:#0003;border-left:1px solid #ffffff14;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;gap:6px;padding:10px 12px;display:flex}.battle-arena-banner__clock{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:#ffe8df;font-weight:700}.battle-arena-banner__socket{letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffffff1a;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.battle-arena-banner__socket.is-on{color:#a8efd0;background:#4ec9b01f;border-color:#4ec9b08c}.battle-arena-banner__socket.is-off{color:#ffb7b7;background:#ef5b5b1a;border-color:#ef5b5b73}.contest-layout__editor.battle-arena-editor{border-color:#ff785a73!important;box-shadow:0 12px 40px #ff3c280f,inset 0 0 0 1px #ff785a0d!important}.editor-shell--battle{box-shadow:inset 0 0 0 1px #ff645008;border-color:#ff8c6440!important}.battle-lobby{min-height:0;padding:var(--space-5) var(--space-4);box-sizing:border-box;flex:1;justify-content:center;align-items:center;display:flex}.battle-lobby__inner{text-align:center;-webkit-backdrop-filter:blur(20px);border-radius:16px;max-width:440px;padding:36px 28px;transition:all .3s;background:#0f172ab3!important;border:1px solid #ff785a40!important;box-shadow:0 24px 60px #00000073,0 0 40px #ff785a08,inset 0 0 0 1px #ffffff0a!important}.battle-lobby__inner:hover{border-color:#ff785a59!important;box-shadow:0 24px 60px #00000080,0 0 50px #ff785a0f,inset 0 0 0 1px #ffffff0f!important}.battle-lobby__eyebrow{margin:0 0 var(--space-2);font-size:var(--font-size-xs);letter-spacing:.15em;text-transform:uppercase;color:#ff9f80;font-weight:800}.battle-lobby__title{margin:0 0 var(--space-2);color:#fff;letter-spacing:-.01em;font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:800}.battle-lobby__sub{margin:0 0 var(--space-5);font-size:var(--font-size-sm);color:#94a3b8;line-height:1.6}.battle-lobby__match{appearance:none;cursor:pointer;min-width:220px;font-size:var(--font-size-md);letter-spacing:.06em;text-transform:uppercase;color:#0f1115;background:linear-gradient(135deg,#ffd8a8 0%,#ff8a5c 50%,#ff3d5c 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 40px;font-weight:800;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 0 0 1px #ffc8a040,0 12px 36px #ff3c284d}.battle-lobby__match:hover:not(:disabled){background:linear-gradient(135deg,#ffe3c2 0%,#ff9e75 50%,#ff5270 100%);transform:translateY(-2px);box-shadow:0 0 0 1px #ffdcb459,0 16px 44px #ff3c2873}.battle-lobby__match:active:not(:disabled){transform:translateY(0)}.battle-lobby__match:disabled{cursor:progress;opacity:.8;color:#1e293b;box-shadow:none;background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 50%,#94a3b8 100%);animation:2s ease-in-out infinite alternate matchPulse}@keyframes matchPulse{0%{opacity:.7}to{opacity:1}}.battle-lobby__spinner{border:2px solid #1e293b33;border-top-color:#1e293b;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite battle-spin}@keyframes battle-spin{to{transform:rotate(360deg)}}.battle-lobby__status{margin-top:var(--space-4);text-align:left;background:#070a1266;border:1px solid #ffffff14;border-radius:8px;padding:12px 16px}.battle-lobby__status-title{font-size:var(--font-size-sm);color:#fff;margin:0;font-weight:700}.battle-lobby__status-detail{font-size:var(--font-size-xs);color:#94a3b8;margin:6px 0 0;line-height:1.5}.battle-lobby__status--searching,.battle-lobby__status--waiting{background:#0e639c14!important;border-color:#4fc1ff59!important}.battle-lobby__status--searching .battle-lobby__status-title,.battle-lobby__status--waiting .battle-lobby__status-title{color:#6ec8ff}.battle-lobby__status--success{background:#4ec9b014!important;border-color:#4ec9b066!important}.battle-lobby__status--success .battle-lobby__status-title{color:#4ec9b0}.battle-lobby__status--failed{background:#ef5b5b14!important;border-color:#ef5b5b66!important}.battle-lobby__status--failed .battle-lobby__status-title{color:#f87171}.battle-lobby-aside{gap:var(--space-3)}.battle-lobby-aside__head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.battle-lobby-aside__title{color:#fff;flex:1;min-width:0;margin:0}.battle-lobby-aside__soon{letter-spacing:.1em;text-transform:uppercase;color:#ffb89c;background:#ff785a1a;border:1px solid #ffa07859;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:800}.battle-lobby-aside__intro{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:#94a3b8;line-height:1.5}.battle-lobby-aside__section{margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#ff785a05!important;border:1px solid #ff785a26!important}.battle-lobby-aside__section-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.battle-lobby-aside__section-title{font-size:var(--font-size-sm);color:#fff;margin:0;font-weight:700}.battle-lobby-aside__pill{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;background:#0003;border:1px solid #ffffff0f;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.battle-lobby-aside__hint{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:#94a3b8;line-height:1.45}.battle-lobby-aside__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.battle-lobby-aside__row{background:#070a124d;border:1px solid #ffffff0d;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.battle-lobby-aside__avatar{background:linear-gradient(145deg,#78c8ff33,#4f8cff14);border:1px solid #78c8ff26;border-radius:8px;flex-shrink:0;width:32px;height:32px}.battle-lobby-aside__avatar--opp{background:linear-gradient(145deg,#ff8c6440,#ff5a5a14);border-color:#ff8c6433}.battle-lobby-aside__name{font-size:var(--font-size-sm);color:#f1f5f9;font-weight:600}.battle-lobby-aside__meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.battle-lobby-aside__sub{font-size:var(--font-size-xs);color:#64748b}.battle-lobby-aside__row-soon{font-size:var(--font-size-xs);color:#64748b;opacity:.85;flex-shrink:0}.battle-lobby-aside__cta{margin-top:var(--space-3);width:100%;font-size:var(--font-size-sm);cursor:not-allowed;opacity:.55;color:#64748b;background:0 0;border:1px dashed #ffffff1a;border-radius:8px;padding:8px 12px;font-family:inherit;font-weight:600}.battle-arena-panel{gap:var(--space-3);flex-direction:column;display:flex;background:linear-gradient(165deg,#ff5a460a 0%,#0f172acc 38%)!important;border-color:#ff785a40!important}.battle-arena-panel__hero{padding-bottom:var(--space-2);border-bottom:1px solid #ffffff0f}.battle-arena-panel__title{margin:0 0 var(--space-2);color:#fff}.battle-arena-panel__subtitle{font-size:var(--font-size-xs);color:#94a3b8;margin:0;line-height:1.5}.battle-arena-panel__card{padding:var(--space-3);border-radius:var(--radius-md);background:#070a1259;border:1px solid #ffffff0d}.battle-arena-panel__card--opponent{background:#ff644608!important;border-color:#ffa07833!important}.battle-arena-panel__card--socket{border-color:#4fc1ff26!important}.battle-arena-panel__card--risks{background:#f59e0b08!important;border-color:#f59e0b33!important}.battle-arena-panel__card-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.battle-arena-panel__card-title{font-size:var(--font-size-sm);color:#fff;margin:0;font-weight:700}.battle-arena-panel__badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.battle-arena-panel__badge--soon{color:#ffe3c2;background:#ffa05014;border:1px solid #ffc87859}.battle-arena-panel__card-body,.battle-arena-panel__card-hint{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:#94a3b8;line-height:1.6}.battle-arena-panel__card-hint:last-child{margin-bottom:0}.battle-arena-panel__code{word-break:break-all;background:#0000004d;border:1px solid #ffffff0f;border-radius:4px;padding:2px 6px;font-size:11px}.battle-arena-panel__socket-row{font-size:var(--font-size-xs);color:#94a3b8;flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.battle-arena-panel__socket-label{color:#fff;font-weight:600}.battle-arena-panel__socket-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.battle-arena-panel__socket-dot.is-on{background:#4ade80;box-shadow:0 0 10px #4ade808c}.battle-arena-panel__socket-dot.is-off{background:#f87171;box-shadow:0 0 8px #f8717173}.battle-arena-panel__socket-text{flex:1;min-width:0;line-height:1.45}.battle-arena-panel__socket-reason{color:#ffd2d2;margin:8px 0 0;font-size:11px;line-height:1.45}.battle-arena-panel__socket-reason code{color:#ffc4c4;background:#ef5b5b14;border:1px solid #ef5b5b4d;border-radius:4px;padding:2px 6px;font-size:11px}.battle-arena-panel__phase-check{color:#64748b;margin:8px 0 0;font-size:11px;line-height:1.45}.battle-arena-panel__risk-list{font-size:var(--font-size-xs);color:#94a3b8;margin:0;padding-left:18px;line-height:1.6}.battle-arena-panel__risk-list li{margin-bottom:8px}.battle-arena-panel__risk-list li:last-child{margin-bottom:0}.battle-arena-panel__judge-wrap{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px dashed #ffffff14}.battle-arena-panel__judge-heading{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:#fff;align-items:center;gap:8px;font-weight:700;display:flex}.battle-arena-panel__judge-hint{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:#64748b;line-height:1.45}.result-panel--embedded,.result-panel--embedded .text-hint{margin-top:var(--space-2)}.battle-lobby-debug{background:#0e639c05!important;border-color:#4fc1ff33!important}.battle-lobby-debug__clear{appearance:none;color:#94a3b8;font-family:inherit;font-size:var(--font-size-xs);cursor:pointer;background:#070a1266;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;transition:all .2s}.battle-lobby-debug__clear:hover{color:#6ec8ff;background:#0e639c1a;border-color:#4fc1ff66}.battle-lobby-debug__guide{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:#4fc1ff08;border:1px solid #4fc1ff26}.battle-lobby-debug__guide-title{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:#6ec8ff;font-weight:700}.battle-lobby-debug__guide-list{margin:0 0 var(--space-2);color:#94a3b8;font-size:var(--font-size-xs);padding-left:18px;line-height:1.6}.battle-lobby-debug__guide-list li{margin-bottom:6px}.battle-lobby-debug__guide-list code{color:#6ec8ff;background:#00000040;border:1px solid #ffffff0f;border-radius:4px;padding:2px 6px;font-size:11px}.battle-lobby-debug__me{font-size:var(--font-size-xs);color:#94a3b8;margin:0;line-height:1.45}.battle-lobby-debug__me-label{color:#6ec8ff;font-weight:700}.battle-lobby-debug__code{word-break:break-all;background:#00000040;border:1px solid #ffffff0d;border-radius:3px;padding:1px 4px;font-size:11px}.battle-lobby-debug__list{margin:var(--space-2) 0 0;flex-direction:column;gap:8px;max-height:260px;padding:0;list-style:none;display:flex;overflow:auto}.battle-lobby-debug__list::-webkit-scrollbar{width:6px}.battle-lobby-debug__list::-webkit-scrollbar-track{background:#0000000d}.battle-lobby-debug__list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.battle-lobby-debug__item{background:#070a1259;border:1px solid #ffffff0d;border-radius:6px;padding:8px 12px}.battle-lobby-debug__item--success{border-color:#4ec9b04d}.battle-lobby-debug__item--error{border-color:#ef5b5b4d}.battle-lobby-debug__item--warning{border-color:#f59e0b4d}.battle-lobby-debug__item--info{border-color:#4fc1ff4d}.battle-lobby-debug__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.battle-lobby-debug__time{color:#64748b;font-size:11px}.battle-lobby-debug__type{color:#6ec8ff;font-size:11px;font-weight:700}.battle-lobby-debug__detail{color:#94a3b8;word-break:break-word;margin:6px 0 0;font-size:11px;line-height:1.45}.battle-lobby-debug__empty{padding:var(--space-3);text-align:center;color:#64748b;font-size:var(--font-size-xs);border:1px dashed #ffffff0d;border-radius:6px}.result-card{background:#070a1273;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:16px;padding:16px;box-shadow:inset 0 0 12px #0003}.result-card__row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.result-card__label{font-size:var(--font-size-sm);color:#94a3b8;font-weight:700}.status-badge{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.status-badge--accepted{color:#4ade80;background:#4ade8014;border-color:#4ade8066;box-shadow:0 0 12px #4ade8026}.status-badge--pending{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b66;box-shadow:0 0 12px #f59e0b26}.status-badge__pulse{background:#fbbf24;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite alternate badgePulse}@keyframes badgePulse{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.3)}}.status-badge--failed{color:#f87171;background:#ef5b5b14;border-color:#ef5b5b66;box-shadow:0 0 12px #ef5b5b26}.result-card__grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.result-card__item{background:#0003;border:1px solid #ffffff08;border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.result-card__item-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.result-card__item-value{font-size:var(--font-size-sm);color:#f1f5f9;font-weight:600}.result-card__timestamps{border-top:1px dashed #ffffff0d;flex-direction:column;gap:6px;padding-top:12px;display:flex}.result-card__timestamp{color:#64748b;justify-content:space-between;align-items:center;font-size:10px;display:flex}.debug-box{background:#1e293b73;border:1px solid #ffffff14;border-radius:12px;margin-top:16px;padding:14px}.debug-box__title{font-size:var(--font-size-sm);color:#f1f5f9;margin:0 0 10px;font-weight:700}.debug-box p{color:#94a3b8;margin:0 0 6px;font-size:11px;line-height:1.5}.debug-box p strong{color:#cbd5e1}.debug-stop-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;margin-top:8px;padding:8px 12px;font-size:11px;font-weight:700;transition:all .2s}.debug-stop-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff26}.battle-lobby__match-auth-btn{min-width:220px;font-size:var(--font-size-md);letter-spacing:.06em;text-transform:uppercase;border-radius:12px;justify-content:center;align-items:center;padding:14px 40px;font-weight:800;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 0 0 1px #4fc1ff40,0 12px 36px #0284c759;color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 50%,#c94bff 100%)!important;text-decoration:none!important}.battle-lobby__match-auth-btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #4fc1ff59,0 16px 44px #0284c773;background:linear-gradient(135deg,#38bdf8 0%,#0284c7 50%,#d846ff 100%)!important}.question-details-card{margin-top:var(--space-3);margin-bottom:var(--space-1);-webkit-backdrop-filter:blur(16px);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;background:#0f172a73!important;border:1px solid #ffffff0f!important;border-radius:12px!important;box-shadow:0 4px 20px #00000040,inset 0 0 0 1px #ffffff08!important}.contest-layout[data-mode=solo] .question-details-card{border-color:#38bdf826!important}.contest-layout[data-mode=solo] .question-details-card:hover{border-color:#38bdf84d!important;box-shadow:0 8px 32px #38bdf80f,inset 0 0 0 1px #ffffff0d!important}.contest-layout[data-mode=battle] .question-details-card{border-color:#ff785a26!important}.contest-layout[data-mode=battle] .question-details-card:hover{border-color:#ff785a4d!important;box-shadow:0 8px 32px #ff785a0f,inset 0 0 0 1px #ffffff0d!important}.question-details-card--loading{align-items:center;gap:12px;padding:16px 20px;display:flex;background:#0f172a99!important;border-color:#ffffff1a!important}.question-details-card__spinner{border:2px solid #ffffff26;border-top-color:#38bdf8;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite battle-spin}.question-details-card__loading-text{font-size:var(--font-size-sm);color:#94a3b8;letter-spacing:.02em;font-weight:600}.question-details-card__header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172a40;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;transition:background .2s;display:flex}.question-details-card__header:hover{background:#0f172a73}.question-details-card__title-area{align-items:center;gap:10px;min-width:0;display:flex}.question-details-card__book-icon{filter:drop-shadow(0 0 3px #38bdf859);font-size:16px}.question-details-card__title{font-size:var(--font-size-sm);color:#fff;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:800;overflow:hidden}.question-details-card__slug{font-family:var(--font-family-mono);color:#64748b;background:#00000040;border:1px solid #ffffff0d;border-radius:4px;padding:2px 6px;font-size:10px}.question-details-card__meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.difficulty-badge{letter-spacing:.06em;border:1px solid;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:800}.difficulty-badge--easy{background:#4ade8014;box-shadow:0 0 8px #4ade8026;color:#4ade80!important}.difficulty-badge--medium{background:#fbbf2414;box-shadow:0 0 8px #fbbf2426;color:#fbbf24!important}.difficulty-badge--hard{background:#f8717114;box-shadow:0 0 8px #f8717126;color:#f87171!important}.meta-chip{font-size:var(--font-size-xs);color:#94a3b8;background:#070a1266;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.meta-chip__icon{color:#64748b}.question-details-card__toggle-btn{appearance:none;font-family:inherit;font-size:var(--font-size-xs);color:#38bdf8;cursor:pointer;background:#38bdf814;border:1px solid #38bdf833;border-radius:6px;padding:4px 10px;font-weight:700;transition:all .2s}.question-details-card__toggle-btn:hover{color:#fff;background:#38bdf82e;border-color:#38bdf8;box-shadow:0 0 8px #38bdf840}.contest-layout[data-mode=battle] .question-details-card__toggle-btn{color:#ff8a5c;background:#ff8a5c14;border-color:#ff8a5c33}.contest-layout[data-mode=battle] .question-details-card__toggle-btn:hover{color:#fff;background:#ff8a5c2e;border-color:#ff8a5c;box-shadow:0 0 8px #ff8a5c40}.question-details-card__body{gap:var(--space-4);background:#070a1233;border-top:1px solid #ffffff0d;flex-direction:column;max-height:480px;padding:16px 18px 20px;display:flex;overflow-y:auto}.question-details-card__body::-webkit-scrollbar{width:6px}.question-details-card__body::-webkit-scrollbar-track{background:#0000001a}.question-details-card__body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.question-section{flex-direction:column;gap:8px;display:flex}.question-section__title{font-size:var(--font-size-sm);color:#f1f5f9;letter-spacing:.02em;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.question-section__icon{font-size:14px}.question-section__text{font-size:var(--font-size-sm);color:#cbd5e1;margin:0;line-height:1.6}.question-section__code-box{background:#070a128c;border:1px solid #ffffff0d;border-radius:8px;padding:12px 16px;box-shadow:inset 0 2px 8px #0000004d}.question-section__code-box--warning{background:#f59e0b04;border-color:#f59e0b26}.question-section__code-box .question-section__text{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:#a7f3d0;white-space:pre-wrap;word-break:break-all}.question-section__code-box--warning .question-section__text{color:#fde68a}.question-details-card__grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.question-details-card__grid{grid-template-columns:1fr}}.question-details-card__footer{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px dashed #ffffff0f;align-items:center;gap:10px;display:flex}.tags-label{font-size:var(--font-size-xs);color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.tags-list{flex-wrap:wrap;gap:6px;display:flex}.tag-pill{color:#a5f3fc;background:#06b6d414;border:1px solid #06b6d42e;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;transition:all .2s}.tag-pill:hover{background:#06b6d429;border-color:#06b6d459;transform:translateY(-1px)}.battle-workspace-split{align-items:stretch;gap:var(--space-4);width:100%;min-height:0;margin-top:var(--space-3);margin-bottom:var(--space-1);flex-direction:row;flex:1;display:flex;overflow:hidden}.battle-workspace-split__question{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.battle-workspace-split__divider{background:linear-gradient(#0000 10%,#ff8a5c40 50%,#0000 90%);flex-shrink:0;align-self:stretch;width:1px}.battle-workspace-split__editor{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.battle-workspace-split__editor .editor-form--battle{gap:var(--space-3)!important;flex-direction:column!important;height:100%!important;display:flex!important}.question-panel{-webkit-backdrop-filter:blur(16px);flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;background:#0f172a80!important;border:1px solid #ff8a5c26!important;border-radius:12px!important;box-shadow:0 8px 32px #00000040,inset 0 0 0 1px #ffffff05!important}.question-panel:hover{border-color:#ff8a5c4d!important;box-shadow:0 12px 40px #ff8a5c0d,inset 0 0 0 1px #ffffff0a!important}.question-panel--loading,.question-panel--empty{text-align:center;justify-content:center;align-items:center;padding:32px}.question-panel__spinner{border:2.5px solid #ffffff26;border-top-color:#ff8a5c;border-radius:50%;flex-shrink:0;width:28px;height:28px;margin-bottom:16px;animation:.8s linear infinite battle-spin}.question-panel__loading-text,.question-panel__empty-text{font-size:var(--font-size-sm);color:#94a3b8;letter-spacing:.02em;margin:0;font-weight:600}.question-panel__empty-icon{filter:drop-shadow(0 0 8px #ff8a5c4d);margin-bottom:16px;font-size:36px;display:block}.question-panel__header{background:#0f172a59;border-bottom:1px solid #ff8a5c26;flex-direction:column;flex-shrink:0;gap:12px;padding:18px 20px;display:flex}.question-panel__title-row{align-items:center;gap:12px;display:flex}.question-panel__icon{filter:drop-shadow(0 0 4px #ff8a5c59);font-size:18px}.question-panel__title{color:#fff;letter-spacing:-.01em;margin:0;font-size:16px;font-weight:800;line-height:1.3}.question-panel__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.question-panel__slug{font-family:var(--font-family-mono);color:#64748b;background:#00000040;border:1px solid #ffffff0d;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.question-panel__body{background:#070a1226;flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.question-panel__body::-webkit-scrollbar{width:6px}.question-panel__body::-webkit-scrollbar-track{background:#0000001a}.question-panel__body::-webkit-scrollbar-thumb{background:#ff8a5c26;border-radius:3px}.question-panel__body::-webkit-scrollbar-thumb:hover{background:#ff8a5c4d}.question-panel__io-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=992px){.question-panel__io-grid{grid-template-columns:1fr}.battle-workspace-split{flex-direction:column}.battle-workspace-split__question,.battle-workspace-split__editor{height:50%}.battle-workspace-split__divider{width:100%;height:1px}}.question-panel__footer{margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px dashed #ffffff0f;align-items:center;gap:10px;display:flex}.battle-arena-panel__vs-section{background:#070a1273;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex;box-shadow:inset 0 0 12px #0003}.vs-player{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.vs-player__meta{justify-content:space-between;align-items:center;gap:4px;display:flex}.vs-player__tag{letter-spacing:.05em;font-size:10px;font-weight:800}.vs-player--self .vs-player__tag{color:#38bdf8;text-shadow:0 0 8px #38bdf859}.vs-player--opponent .vs-player__tag{color:#f87171;text-shadow:0 0 8px #f8717159}.vs-player__cases{color:#94a3b8;font-size:11px;font-weight:700;font-family:var(--font-family-mono)}.vs-player__progress{background:#0000004d;border:1px solid #ffffff08;border-radius:999px;height:6px;overflow:hidden}.vs-player__bar{border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.vs-player--self .vs-player__bar{background:linear-gradient(90deg,#0284c7,#38bdf8);box-shadow:0 0 8px #38bdf873}.vs-player--opponent .vs-player__bar{background:linear-gradient(90deg,#ef4444,#f87171);box-shadow:0 0 8px #f8717173}.vs-player__status{letter-spacing:.06em;text-align:center;color:#64748b;text-overflow:ellipsis;white-space:nowrap;background:#ffffff05;border:1px solid #ffffff0a;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:800;overflow:hidden}.vs-player__status--accepted{color:#4ade80!important;background:#4ade800d!important;border-color:#4ade8040!important}.vs-player__status--wrong_answer{color:#f87171!important;background:#ef5b5b0d!important;border-color:#ef5b5b40!important}.vs-player__status.is-submitting{animation:1.5s ease-in-out infinite alternate matchPulse;color:#fbbf24!important;background:#f59e0b0f!important;border-color:#f59e0b4d!important}.vs-divider{color:#475569;letter-spacing:.05em;padding:0 4px;font-size:11px;font-weight:900}.battle-arena-panel__opp-submit-toast{color:#fbbf24;background:#f59e0b0f;border:1px dashed #f59e0b59;border-radius:8px;align-items:center;gap:8px;margin:10px 0;padding:10px 12px;font-size:11px;line-height:1.45;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInDown;display:flex}.pulse-dot{background-color:#fbbf24;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite alternate badgePulse;box-shadow:0 0 8px #f59e0b99}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.battle-end-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;padding:var(--space-4);box-sizing:border-box;background:#04060ad9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.battle-end-modal-card{-webkit-backdrop-filter:blur(25px);box-sizing:border-box;width:100%;max-width:480px;padding:36px var(--space-5);text-align:center;background:#0f172acc;border-radius:20px;transition:all .3s;position:relative;overflow:hidden}.battle-end-modal-card.is-winner{border:1px solid #4ec9b073;box-shadow:0 30px 70px #000000b3,0 0 50px #4ec9b01a,inset 0 0 0 1px #ffffff0d}.battle-end-modal-card.is-loser{border:1px solid #ef444473;box-shadow:0 30px 70px #000000b3,0 0 50px #ef44441a,inset 0 0 0 1px #ffffff0d}.battle-end-modal-card__glow{filter:blur(70px);opacity:.18;pointer-events:none;border-radius:50%;width:240px;height:240px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.is-winner .battle-end-modal-card__glow{background:#4ec9b0}.is-loser .battle-end-modal-card__glow{background:#ef4444}.battle-end-modal-card__title{letter-spacing:.1em;margin:0 0 10px;font-family:inherit;font-size:clamp(2rem,4.5vw,2.7rem);font-weight:900;line-height:1}.is-winner .battle-end-modal-card__title{color:#4ec9b0;text-shadow:0 0 20px #4ec9b073;background:linear-gradient(135deg,#a8efd0 0%,#4ec9b0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.is-loser .battle-end-modal-card__title{color:#ef4444;text-shadow:0 0 20px #ef444473;background:linear-gradient(135deg,#ff8b8b 0%,#ef4444 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.battle-end-modal-card__subtitle{font-size:var(--font-size-sm);color:#94a3b8;margin:0 0 28px;line-height:1.5}.battle-end-modal-card__stats{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.battle-end-modal-card__stat-item{background:#00000040;border:1px solid #ffffff08;border-radius:12px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.battle-end-modal-card__stat-item .label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.battle-end-modal-card__stat-item .value{font-size:var(--font-size-md);color:#f1f5f9;font-weight:800}.battle-end-modal-card__reason{font-size:var(--font-size-xs);background:#070a124d;border:1px solid #ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:32px;padding:10px 14px;display:flex}.battle-end-modal-card__reason .reason-label{color:#64748b}.battle-end-modal-card__reason .reason-code{color:#e2e8f0;background:#0003;border:1px solid #ffffff0a;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.battle-end-modal-card__btn{appearance:none;cursor:pointer;width:100%;font-size:var(--font-size-md);letter-spacing:.04em;text-transform:uppercase;color:#0f1115;border:none;border-radius:12px;padding:14px 28px;font-weight:800;transition:all .25s cubic-bezier(.4,0,.2,1)}.is-winner .battle-end-modal-card__btn{background:linear-gradient(135deg,#a8efd0 0%,#4ec9b0 100%);box-shadow:0 8px 24px #4ec9b059}.is-winner .battle-end-modal-card__btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #4ec9b073}.is-loser .battle-end-modal-card__btn{background:linear-gradient(135deg,#ff8b8b 0%,#ef4444 100%);box-shadow:0 8px 24px #ef444459}.is-loser .battle-end-modal-card__btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #ef444473}.battle-end-modal-card__btn:active{transform:translateY(0)}.auth-page{background-color:#0b0f19!important;background-image:linear-gradient(#4fc1ff08 1px,#0000 1px),linear-gradient(90deg,#4fc1ff08 1px,#0000 1px)!important;background-size:24px 24px!important}.auth-page__glow{pointer-events:none;filter:blur(60px);background:radial-gradient(circle,#0e639c38 0%,#ff785a0a 45%,#0000 70%);width:500px;height:500px;animation:6s ease-in-out infinite alternate pulseGlow;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseGlow{0%{opacity:.7;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.auth-page__card{-webkit-backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;background:#0f172abf!important;border:1px solid #4fc1ff40!important;box-shadow:0 24px 70px #0000008c,0 0 50px #4fc1ff0d,inset 0 0 0 1px #ffffff0d!important}.auth-page__card:before{content:"";background:linear-gradient(90deg,#6ec8ff,#ff8c64,#c94bff);width:100%;height:3px;position:absolute;top:0;left:0}.auth-page__tabs{background:#070a1280!important;border:1px solid #ffffff0d!important;border-radius:10px!important;padding:4px!important}.auth-page__tab{border-radius:8px!important;font-weight:700!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.auth-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.auth-input-icon{color:#64748b;pointer-events:none;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute;left:16px}.auth-page__input-with-icon{padding-left:46px!important}.auth-input-wrapper:focus-within .auth-input-icon{color:#6ec8ff}.auth-page__input{color:#f8fafc!important;background:#070a128c!important;border:1px solid #ffffff14!important;border-radius:8px!important;height:48px!important;font-size:14px!important;transition:all .25s!important}.auth-page__input:focus{background:#070a12cc!important;border-color:#38bdf8!important;box-shadow:0 0 0 4px #38bdf826!important}.auth-password-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s,transform .2s;display:flex;position:absolute;right:16px}.auth-password-toggle:hover{color:#6ec8ff;transform:scale(1.1)}.auth-page__submit{justify-content:center;align-items:center;gap:8px;color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%)!important;border:1px solid #38bdf840!important;border-radius:8px!important;height:48px!important;font-weight:700!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;display:flex!important;box-shadow:0 4px 16px #0284c74d!important}.auth-page__submit:hover:not(:disabled){background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%)!important;transform:translateY(-1.5px)!important;box-shadow:0 6px 22px #38bdf873!important}.auth-page__submit:active:not(:disabled){transform:translateY(0)!important}.auth-page__submit:disabled{opacity:.7!important;cursor:not-allowed!important}.auth-page__input:disabled{opacity:.5!important;cursor:not-allowed!important}.auth-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite authSpin;display:inline-block}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-page__back{align-items:center;gap:6px;color:#94a3b8!important;background:#ffffff05!important;border:1px solid #ffffff14!important;border-radius:8px!important;padding:8px 18px!important;transition:all .2s!important;display:inline-flex!important}.auth-page__back:hover{transform:translate(-3px);color:#fff!important;background:#4fc1ff1a!important;border-color:#4fc1ff4d!important}.auth-page__session{background:#10b98108!important;border:1px solid #10b98133!important;border-radius:12px!important;padding:24px!important;box-shadow:0 0 24px #10b9810a!important}.auth-page__session-name{color:#10b981!important;font-size:1.3rem!important;font-weight:700!important}.auth-terminal{font-family:var(--font-family-mono);text-align:left;margin:20px 0;overflow:hidden;box-shadow:0 10px 30px #00000073;background:#070a12d9!important;border:1px solid #4fc1ff26!important;border-radius:8px!important}.auth-terminal__header{background:#0f172acc;border-bottom:1px solid #4fc1ff14;align-items:center;gap:6px;padding:8px 12px;display:flex}.auth-terminal__dot{border-radius:50%;width:8px;height:8px}.auth-terminal__dot.red{background:#ef4444}.auth-terminal__dot.yellow{background:#eab308}.auth-terminal__dot.green{background:#22c55e}.auth-terminal__title{color:#64748b;letter-spacing:.5px;margin-left:6px;font-size:11px}.auth-terminal__body{padding:12px 14px;font-size:11px;line-height:1.6}.auth-terminal__line{margin-bottom:4px}.auth-terminal__line.success{color:#4ec9b0}.auth-terminal__line.info{color:#4fc1ff}.auth-terminal__line.warning{color:#dcdcaa}.auth-terminal__line.blink{color:#f8fafc}.auth-terminal__line.blink:after{content:"█";margin-left:2px;animation:1s infinite terminalCursor}@keyframes terminalCursor{0%,to{opacity:0}50%{opacity:1}}.auth-radar-container{justify-content:center;align-items:center;margin:15px 0;display:flex;position:relative}.auth-radar-svg{filter:drop-shadow(0 0 6px #38bdf840)}.rotate-slow{transform-origin:150px 75px;animation:16s linear infinite spin}.radar-sweep{transform-origin:150px 75px;animation:3.5s linear infinite sweep}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{to{transform:rotate(360deg)}}.ping-slow{animation:3s ease-in-out infinite pingPulse}.ping-fast{animation:1.5s ease-in-out infinite pingPulse}@keyframes pingPulse{0%,to{opacity:.25;r:2px}50%{opacity:1;r:4.5px}}.home-page{box-sizing:border-box;background:radial-gradient(circle at 10% 10%, #4fc1ff26, transparent 40%), radial-gradient(circle at 90% 10%, #5eead414, transparent 30%), radial-gradient(circle at 50% 80%, #ff785a0d, transparent 50%), var(--color-bg-page);gap:var(--space-5);flex-direction:column;min-height:100vh;padding:clamp(16px,3vw,32px);display:flex}.home-page__glow{pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 20%,#ffffff08,#0000 60%);position:fixed;inset:0}.home-page__glow-orb{pointer-events:none;filter:blur(120px);opacity:.15;z-index:0;border-radius:999px;width:300px;height:300px;position:fixed}.home-page__glow-orb--cyan{background:#4fc1ff;top:10%;left:5%}.home-page__glow-orb--purple{background:#a855f7;bottom:15%;right:8%}.home-wrap{z-index:2;width:100%;max-width:1200px;margin:0 auto;position:relative}.home-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1e1e23a6;border:1px solid #ffffff14;border-radius:999px;justify-content:space-between;align-items:center;margin-top:8px;padding:12px 24px;display:flex;box-shadow:0 4px 30px #0000004d,inset 0 1px #ffffff0d}.home-nav__logo{align-items:center;gap:10px;text-decoration:none;display:flex}.home-nav__logo-text{color:#fff;letter-spacing:.05em;background:linear-gradient(90deg,#fff 0%,#fffc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:800}.home-nav__item{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;transition:color .2s,text-shadow .2s}.home-nav__item:hover{color:var(--color-text-heading);text-shadow:0 0 8px #ffffff80}.home-nav__badge{color:#a3ebd3;height:28px;font-size:var(--font-size-xs);background:#4ec9b01f;border:1px solid #4ec9b04d;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:inline-flex}.home-nav__badge-dot{background:#4ec9b0;border-radius:999px;width:6px;height:6px;box-shadow:0 0 8px #4ec9b0}.home-nav__logout-btn{color:#fca5a5;height:28px;font-size:var(--font-size-xs);cursor:pointer;background:#ef5b5b14;border:1px solid #ef5b5b66;border-radius:999px;padding:0 12px;font-weight:600;transition:all .2s}.home-nav__login-btn{color:#8cd6ff;height:32px;font-size:var(--font-size-xs);background:#4fc1ff14;border:1px solid #4fc1ff66;border-radius:999px;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.home-nav__login-btn:hover{background:var(--color-bg-primary);border-color:var(--color-bg-primary-hover);color:#fff;box-shadow:0 0 12px #4fc1ff59}.home-page__hero{border-radius:var(--radius-lg);background-blend-mode:multiply;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#0000;background-image:linear-gradient(135deg,#0f172aeb 0%,#080a14f5 100%),url(/assets/home_hero-CHN_O650.png);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff14;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,4vw,48px);margin-top:12px;padding:clamp(24px,4vw,48px);display:grid;box-shadow:0 20px 50px #0006,inset 0 1px #ffffff0d}@media (width<=968px){.home-page__hero{grid-template-columns:1fr;gap:36px}}.home-page__hero-copy{min-width:0}.home-page__badge{height:28px;margin-bottom:var(--space-3);color:#7dd3fc;font-size:var(--font-size-xs);letter-spacing:.05em;background:#4fc1ff1a;border:1px solid #4fc1ff4d;border-radius:999px;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.home-page__title{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.15}.home-page__subtitle{margin:var(--space-3) 0 var(--space-4);color:var(--color-text-secondary);max-width:54ch;font-size:var(--font-size-md);line-height:1.6}.home-page__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.home-page__cta{border-radius:var(--radius-md);height:48px;font-size:var(--font-size-md);align-items:center;padding:0 24px;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 8px 20px #0000004d}.home-page__cta--primary{color:#fff;background:linear-gradient(#38bdf8 0%,#0284c7 100%);border:1px solid #7dd3fc4d}.home-page__cta--primary:hover{background:linear-gradient(#7dd3fc 0%,#0369a1 100%);transform:translateY(-2px);box-shadow:0 0 20px #38bdf866}.home-page__cta--accent{color:#fff;background:linear-gradient(#f97316 0%,#ea580c 100%);border:1px solid #fdba744d}.home-page__cta--accent:hover{background:linear-gradient(#fdba74 0%,#c2410c 100%);transform:translateY(-2px);box-shadow:0 0 20px #f9731666}.home-page__stats{gap:var(--space-3);border-top:1px solid #ffffff0f;grid-template-columns:repeat(3,1fr);margin-top:40px;padding-top:24px;display:grid}.home-stat{flex-direction:column;gap:4px;display:flex}.home-stat strong{color:#fff;font-size:var(--font-size-md);font-weight:700}.home-stat span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.home-page__preview{flex-direction:column;gap:16px;display:flex}.home-terminal{border-radius:var(--radius-md);background:#0f172a;border:1px solid #ffffff14;overflow:hidden;box-shadow:0 15px 35px #00000080}.home-terminal__header{background:#1e293b;border-bottom:1px solid #ffffff0a;align-items:center;gap:6px;height:32px;padding:0 12px;display:flex}.home-terminal__title{color:#94a3b8;font-size:11px;font-family:var(--font-family-mono);margin-left:6px}.home-terminal__body{font-family:var(--font-family-mono);flex-direction:column;gap:6px;min-height:120px;padding:14px;font-size:12px;line-height:1.6;display:flex}.home-terminal__line{align-items:center;display:flex}.home-terminal__line.blink:after{content:"_";animation:1s step-end infinite terminal-blink}@keyframes terminal-blink{0%,to{opacity:0}50%{opacity:1}}.home-mock{border-radius:var(--radius-md);background:#1e1e24;border:1px solid #ffffff14;overflow:hidden;box-shadow:0 15px 35px #0006}.home-mock__top .file-name{color:#8b949e;font-size:11px;font-family:var(--font-family-mono);margin-left:6px}.home-mock__code-container{font-family:var(--font-family-mono);background:#0d1117;grid-template-columns:auto 1fr;font-size:12px;display:grid}.home-mock__line-numbers{color:#484f58;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0a;flex-direction:column;align-items:flex-end;gap:4px;padding:12px 8px;display:flex}.home-mock pre{margin:0;padding:12px 14px;line-height:1.6;overflow-x:auto}.code-comment{color:#8b949e;font-style:italic}.code-keyword{color:#ff7b72;font-weight:700}.code-function{color:#d2a8ff}.code-variable{color:#ffa657}.code-builtin{color:#79c0ff}.home-mock--panel{background:linear-gradient(135deg,#ff785a1f 0%,#ff785a08 100%);border-color:#ff785a40;flex-direction:column;gap:12px;padding:16px;display:flex}.home-mock--panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ff785a26;margin:0;padding-bottom:8px;font-size:13px;font-weight:700}.home-mock__panel-row{font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.home-mock__panel-row .value{color:#fff;font-weight:600;font-family:var(--font-family-mono)}.home-highlight{border-radius:var(--radius-lg);background:linear-gradient(90deg,#f973161f 0%,#1e1e23b3 100%);border:1px solid #f9731640;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;display:flex;box-shadow:0 10px 30px #00000040}.home-highlight__badge{color:#fff;letter-spacing:.05em;background:#f97316;border-radius:4px;padding:4px 10px;font-size:10px;font-weight:800;box-shadow:0 0 10px #f9731666}.home-highlight__content{flex:1;align-items:center;gap:12px;min-width:280px;display:flex}.home-highlight__ping{background:#f97316;border-radius:999px;width:8px;height:8px;position:relative}.home-highlight__ping:after{content:"";border:2px solid #f97316;border-radius:999px;animation:1.5s cubic-bezier(0,0,.2,1) infinite highlight-ping;position:absolute;inset:-4px}@keyframes highlight-ping{75%,to{opacity:0;transform:scale(2.5)}}.home-highlight__text{color:#ffedd5;font-size:var(--font-size-sm);line-height:1.5}.home-highlight__btn{font-size:var(--font-size-xs);color:#fdba74;font-weight:700;text-decoration:none;transition:color .2s}.home-highlight__btn:hover{color:#fff}.home-section-title{text-align:center;color:#fff;margin:0 0 32px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;position:relative}.home-section-title:after{content:"";background:var(--color-bg-primary);width:50px;height:3px;box-shadow:0 0 8px var(--color-bg-primary);border-radius:999px;margin:10px auto 0;display:block}.home-features__grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.home-features__grid{grid-template-columns:1fr}}.home-feature-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e2373;border:1px solid #ffffff0f;padding:24px;transition:all .25s}.home-feature-card:hover{background:#1e1e23a6;border-color:#4fc1ff40;transform:translateY(-4px);box-shadow:0 10px 25px #0000004d}.home-feature-card__icon{margin-bottom:16px;font-size:28px;display:inline-block}.home-feature-card__title{font-size:var(--font-size-md);color:#fff;margin:0 0 8px;font-weight:700}.home-feature-card__desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.6}.home-modes__grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.home-modes__grid{grid-template-columns:1fr}}.home-mode-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1e1e2399 0%,#141418b3 100%);border:1px solid #ffffff0f;flex-direction:column;gap:24px;padding:32px;transition:transform .25s,border-color .25s;display:flex}.home-mode-card--solo{border-color:#4fc1ff33}.home-mode-card--solo:hover{border-color:#4fc1ff66;transform:translateY(-2px)}.home-mode-card--battle{border-color:#f9731633}.home-mode-card--battle:hover{border-color:#f9731666;transform:translateY(-2px)}.home-mode-card__header{align-items:center;gap:16px;display:flex}.home-mode-card__icon{font-size:36px}.home-mode-card__header h3{font-size:var(--font-size-lg);color:#fff;margin:0 0 4px;font-weight:800}.home-mode-card__header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.home-mode-card__list{flex-direction:column;flex:1;gap:12px;margin:0;padding:0;list-style:none;display:flex}.home-mode-card__list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.home-mode-card__btn{border-radius:var(--radius-md);height:42px;font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.home-mode-card--solo .home-mode-card__btn{color:#7dd3fc;background:#4fc1ff14;border:1px solid #4fc1ff4d}.home-mode-card--solo .home-mode-card__btn:hover{color:#fff;background:#0284c7;box-shadow:0 0 15px #0284c766}.home-mode-card--battle .home-mode-card__btn{color:#fdba74;background:#f9731614;border:1px solid #f973164d}.home-mode-card--battle .home-mode-card__btn:hover{color:#fff;background:#ea580c;box-shadow:0 0 15px #ea580c66}.home-roadmap__grid{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.home-roadmap__grid{grid-template-columns:1fr}}.home-roadmap-step{border-radius:var(--radius-md);background:#0f172a4d;border:1px solid #ffffff0a;padding:20px;position:relative;overflow:hidden}.home-roadmap-step__num{font-family:var(--font-family-mono);color:#ffffff08;-webkit-user-select:none;user-select:none;font-size:36px;font-weight:900;position:absolute;top:10px;right:15px}.home-roadmap-step__title{font-size:var(--font-size-md);color:#fff;margin:0 0 10px;font-weight:700}.home-roadmap-step__desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.5}.home-footer{border-top:1px solid #ffffff0f;flex-direction:column;gap:24px;margin-top:40px;padding:40px 0;display:flex}.home-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.home-footer__brand{flex-direction:column;gap:6px;display:flex}.home-footer__logo-icon{font-size:20px}.home-footer__logo-text{color:#fff;font-size:16px;font-weight:800}.home-footer__tagline{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.home-footer__status{color:#a7f3d0;font-size:var(--font-size-xs);background:#10b98114;border:1px solid #10b98133;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.home-footer__status-dot{background:#10b981;border-radius:999px;width:6px;height:6px;box-shadow:0 0 8px #10b981}.home-footer__bottom{font-size:var(--font-size-xs);color:var(--color-text-secondary);border-top:1px solid #ffffff0a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;display:flex}.home-footer__bottom p{margin:0}.home-footer__credits{color:var(--color-text-secondary)}.contest-layout{grid-template-columns:minmax(0, 1fr) 14px var(--result-width,420px);background:var(--color-bg-glow), var(--color-bg-page);gap:var(--space-4);height:100vh;padding:var(--space-4);box-sizing:border-box;display:grid;overflow:hidden}.contest-layout[data-collapsed=true]{grid-template-columns:minmax(0,1fr) 14px}.contest-layout[data-battle-active=true]{grid-template-columns:minmax(0,1fr)}.contest-layout[data-focus-mode=true] .panel-header,.contest-layout[data-focus-mode=true] .battle-arena-banner,.contest-layout[data-focus-mode=true] .question-meta,.contest-layout[data-focus-mode=true] .question-brief,.contest-layout[data-focus-mode=true] .panel-footnote{display:none}.contest-layout[data-focus-mode=true] .editor-form{gap:var(--space-1)}.contest-layout__editor,.contest-layout__result{padding:var(--space-5);background:linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-panel) 100%);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);min-width:0;min-height:0;overflow:auto}.contest-layout__editor{flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.contest-layout__result{flex-direction:column;display:flex}.result-resizer{border:1px solid var(--color-border-default);cursor:col-resize;background:#ffffff0f;border-radius:999px;align-self:stretch;position:relative}.collapse-btn{border:1px solid var(--color-border-default);background:var(--color-bg-panel);height:28px;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;border-radius:999px;padding:0 10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.panel-header{margin-bottom:var(--space-2);min-width:0}.panel-header__row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.panel-header__row .heading--h1{margin:0}.auth-nav-link{font-size:var(--font-size-sm);color:var(--color-text-info);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:#ffffff0a;flex-shrink:0;padding:6px 12px;text-decoration:none}.auth-nav-link:hover{color:var(--color-text-heading);border-color:var(--color-border-strong)}.auth-nav-link.is-signed-in{color:#9fe8bf;background:#4ec9b01f;border-color:#4ec9b073}.auth-nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auth-logout-btn{cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);border-radius:var(--radius-md);color:#f0b4b4;background:#ef5b5b1a;border:1px solid #ef5b5b80;flex-shrink:0;padding:6px 14px;font-weight:600}.auth-logout-btn:hover{color:#ffd6d6;background:#ef5b5b2e;border-color:#ef5b5ba6}.auth-logout-btn:focus-visible{outline-offset:2px;outline:2px solid #ef5b5b8c}.question-meta{margin-top:var(--space-2);gap:var(--space-2);flex-wrap:wrap;display:flex}.mode-switch{margin-top:var(--space-3);border:1px solid var(--color-border-default);background:#ffffff0a;border-radius:999px;gap:6px;padding:4px;display:inline-flex}.mode-switch__btn{color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;border-radius:999px;min-height:32px;padding:0 12px;font-weight:600}.mode-switch__btn.is-active{color:var(--color-text-heading);background:var(--color-bg-primary)}.question-chip{min-height:24px;font-size:var(--font-size-xs);color:var(--color-text-info);border:1px solid var(--color-border-default);background:#ffffff05;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.question-brief{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#ffffff05}.question-brief p{margin:0 0 4px}.question-brief p:last-child{margin-bottom:0}.question-brief__head{color:var(--color-text-heading);justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.question-brief.is-collapsed{padding-top:var(--space-1);padding-bottom:var(--space-1)}.question-brief.is-collapsed .question-brief__head{margin-bottom:0}.heading{color:var(--color-text-heading);line-height:var(--line-height-heading);margin:0}.heading--h1{margin-bottom:0;font-size:30px}.heading--h2{font-size:var(--font-size-h2)}.heading-icon{margin-right:var(--space-2);vertical-align:text-bottom}.text-error{color:var(--color-text-error);font-size:var(--font-size-sm);margin:0}.text-hint{margin-top:var(--space-3);color:var(--color-text-hint);font-size:var(--font-size-xs)}.hint-icon{margin-right:var(--space-1);vertical-align:text-bottom}.editor-form{gap:var(--space-2);flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-content:start;min-width:0;min-height:0;display:grid;overflow:hidden}.editor-form__full{grid-column:1/-1;min-width:0;min-height:0}.editor-form__full .ui-field{min-width:0;height:100%;min-height:0}.ui-field{gap:var(--space-2);flex-direction:column;display:flex}.ui-field__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600}.ui-input,.ui-textarea,.ui-button{border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-sm);font-family:var(--font-family-base);transition:border-color .2s,box-shadow .2s,background .2s}.ui-input{height:var(--size-input-height);padding:0 var(--space-3);background:var(--color-bg-panel);color:var(--color-text-primary)}.ui-input:focus,.ui-textarea:focus{border-color:var(--color-border-accent);outline:none;box-shadow:0 0 0 3px #4fc1ff29}.ui-textarea{resize:none;width:100%;padding:var(--space-3);background:var(--color-bg-panel);color:var(--color-text-primary)}.ui-code-editor{height:100%;min-height:0;font-family:var(--font-family-mono);font-size:var(--font-size-md);line-height:var(--line-height-base);border-radius:0 0 var(--radius-md) var(--radius-md);border:none;flex:1;overflow:auto}.code-editor-host{border-radius:0 0 var(--radius-md) var(--radius-md);flex-direction:column;flex:1;min-width:0;min-height:280px;display:flex;overflow:hidden}.code-editor-host .code-editor-cm{flex-direction:column;flex:1;min-width:0;max-width:100%;min-height:0;display:flex!important}.code-editor-host .code-editor-cm .cm-editor{border-radius:0 0 var(--radius-md) var(--radius-md);flex:1;min-width:0;max-width:100%;min-height:0}.editor-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;width:100%;min-width:0;max-width:100%;display:flex}.editor-toolbar>.ui-field{flex:0 auto;min-width:0;max-width:100%}.editor-toolbar>.ui-field .ui-input{max-width:200px}.editor-toolbar__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;margin-left:auto;display:inline-flex}.theme-toggle{background:var(--color-bg-panel);border:1px solid var(--color-border-default);border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.theme-toggle__btn{min-width:72px;height:34px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;font-weight:600}.theme-toggle__btn.is-active{background:var(--color-bg-primary);color:#fff}.ui-button--ghost{color:var(--color-text-secondary);border-color:var(--color-border-default);background:0 0}.ui-button--ghost:hover:not(:disabled){background:#ffffff0f}.link-btn{color:var(--color-text-link);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;padding:0}.editor-shell{border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-panel);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.editor-shell__top{height:36px;padding:0 var(--space-3);background:var(--color-bg-panel-hover);border-bottom:var(--border-width) solid var(--color-border-default);align-items:center;gap:8px;display:flex}.dot{border-radius:999px;width:10px;height:10px}.dot--red{background:#ff5f57}.dot--yellow{background:#febc2e}.dot--green{background:#28c840}.editor-file-name{margin-left:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ui-button{width:100%;height:var(--size-button-height);padding:0 var(--space-4);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-heading);background:var(--color-bg-primary);border-color:var(--color-bg-primary-hover);font-weight:600}.ui-button:hover:not(:disabled){background:var(--color-bg-primary-hover);transform:translateY(-1px)}.ui-button:disabled{opacity:.7;cursor:not-allowed}.ui-button.ui-button--compact{white-space:nowrap;border-radius:999px;width:auto;min-width:84px;height:30px;padding:0 10px;font-size:12px;line-height:1}.panel-footnote{min-height:16px;margin-top:var(--space-1);color:var(--color-text-info);font-size:var(--font-size-xs);flex-shrink:0}.status-badge{margin:var(--space-3) 0;color:var(--color-text-link);font-size:var(--font-size-lg);min-height:30px;padding:0 var(--space-3);background:#4fc1ff1a;border:1px solid #4fc1ff4d;border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.status-badge--accepted{color:var(--color-text-success);background:#4ec9b01a;border-color:#4ec9b059}.status-badge--wrong_answer,.status-badge--no_test_cases{color:var(--color-text-warning);background:#dcdcaa14;border-color:#dcdcaa59}.status-badge--pending{color:var(--color-text-link)}.result-table{border-collapse:collapse;background:var(--color-bg-panel);border-radius:var(--radius-md);width:100%;overflow:hidden}.result-table th,.result-table td{border:var(--border-width) solid var(--color-border-default);padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-sm)}.result-table th{width:42%;color:var(--color-text-table-key);background:#9cdcfe0a}.result-table tr:nth-child(2n) td{background:#ffffff04}.result-table tr:hover td{background:#ffffff08}.debug-box{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#ffffff05}.debug-box--warning{background:#dcdcaa14;border-color:#dcdcaa80}.debug-box--error{background:#f487711a;border-color:#f487718c}.debug-box--success{background:#4ec9b014;border-color:#4ec9b080}.debug-box__title{margin:0 0 var(--space-2);color:var(--color-text-heading);font-size:var(--font-size-sm)}.debug-box p{margin:0 0 4px}.debug-box p:last-child{margin-bottom:0}.debug-stop-btn{margin-top:var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-panel);height:30px;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;padding:0 10px}.debug-stop-btn:disabled{opacity:.6;cursor:not-allowed}.auth-page{min-height:100vh;padding:var(--space-5) var(--space-4);box-sizing:border-box;background:var(--color-bg-page);justify-content:center;align-items:center;display:flex;position:relative;overflow-x:hidden}.auth-page__glow{pointer-events:none;background:radial-gradient(80% 60% at 50% 0,#4fc1ff38,#0000 55%);height:70vh;max-height:520px;position:absolute;inset:-20% -30% auto}.auth-page__card{z-index:1;border-radius:calc(var(--radius-lg) + 4px);background:linear-gradient(165deg,#2d2d30fa 0%,#252526fc 45%,#1e1e1e 100%);border:1px solid #4fc1ff59;width:100%;max-width:500px;padding:clamp(26px,5vw,40px);position:relative;box-shadow:0 0 0 1px #00000059,0 24px 56px #00000073,0 0 80px #4fc1ff14}.auth-page__layout{gap:var(--space-4);grid-template-columns:1fr;display:grid}.auth-page__hero{text-align:center;padding-bottom:var(--space-2)}.auth-page__header{margin-bottom:var(--space-4);text-align:center}.auth-page__badge{margin:0 0 var(--space-3);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-link);background:#4fc1ff1f;border:1px solid #4fc1ff59;border-radius:999px;padding:6px 14px;font-weight:600;display:inline-block}.auth-page__title{margin:0 0 var(--space-2);font-size:clamp(1.75rem,4vw,2rem);font-weight:700;line-height:var(--line-height-heading);color:var(--color-text-heading);letter-spacing:-.02em}.auth-page__subtitle{margin:0 auto var(--space-3);max-width:34ch;font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.5}.auth-page__hero-art{margin:0 auto var(--space-3);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);min-height:78px;padding:var(--space-2);background:radial-gradient(circle at 20% 20%,#4fc1ff24,#0000 45%),#00000038;border:1px solid #4fc1ff33;flex-wrap:wrap;display:flex}.auth-page__chip{border:1px solid var(--color-border-default);height:28px;color:var(--color-text-info);font-size:var(--font-size-xs);font-family:var(--font-family-mono);background:#ffffff0a;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.auth-page__main{border-radius:var(--radius-md);padding:var(--space-3);background:#0000002e;border:1px solid #ffffff0f}.auth-page__back{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-link);border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;padding:8px 16px;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.auth-page__back:hover{color:var(--color-text-heading);background:#4fc1ff14;border-color:#4fc1ff40}.auth-page__tabs{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:#00000059;grid-template-columns:1fr 1fr;display:grid}.auth-page__session{border-radius:calc(var(--radius-md) + 2px);padding:var(--space-4) var(--space-4) var(--space-3);margin-bottom:var(--space-4);background:linear-gradient(#4ec9b021 0%,#4ec9b00d 100%);border:1px solid #4ec9b06b}.auth-page__session-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px}.auth-page__session-name{color:var(--color-text-heading);margin:0 0 2px;font-size:clamp(1.05rem,2.5vw,1.2rem);font-weight:600;line-height:1.3}.auth-page__session-email{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-page__tab{min-height:48px;padding:0 var(--space-3);font-size:var(--font-size-md);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;font-family:inherit;font-weight:600;transition:color .15s,background .15s,box-shadow .15s}.auth-page__tab:hover{color:var(--color-text-heading);background:#ffffff0a}.auth-page__tab--active{color:var(--color-text-heading);background:linear-gradient(#4fc1ff33 0%,#0e639c59 100%);box-shadow:inset 0 1px #ffffff0f}.auth-page__tab:focus-visible{outline:2px solid var(--color-border-accent);outline-offset:2px}.auth-page__panel{animation:.2s auth-page-fade}@keyframes auth-page-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-page__form{gap:var(--space-4);flex-direction:column;display:flex}.auth-page__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.auth-page__session .auth-page__actions{flex-direction:column;align-items:stretch}.auth-page__session-logout{justify-content:center;width:100%;font-weight:600;color:#f0b4b4!important;border-color:#ef5b5b8c!important}.auth-page__session-logout:hover:not(:disabled){color:#ffd6d6!important;background:#ef5b5b1f!important}.auth-page__session-logout--inline{width:auto;margin-top:var(--space-2);align-self:center}.auth-page__form .ui-field__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:600}.auth-page__input{box-sizing:border-box;width:100%;min-height:48px;font-size:var(--font-size-lg);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:#00000059;padding:12px 14px;font-family:inherit;line-height:1.35;transition:border-color .15s,box-shadow .15s}.auth-page__input::placeholder{color:var(--color-text-hint);opacity:1}.auth-page__input:hover{border-color:#4fc1ff59}.auth-page__input:focus{border-color:var(--color-border-accent);outline:none;box-shadow:0 0 0 3px #4fc1ff2e}.auth-page__alert{border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:12px 14px;line-height:1.45}.auth-page__alert--error{color:var(--color-text-error);background:#f487711f;border:1px solid #f4877159}.auth-page__alert--success{color:var(--color-text-success);background:#4ec9b01f;border:1px solid #4ec9b059}.auth-page__alert--hint{color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);background:#ffffff0a}.auth-page__submit{width:100%;min-height:50px;margin-top:var(--space-1);font-size:var(--font-size-lg);letter-spacing:.01em;font-weight:600}.ui-button--auth-primary{background:linear-gradient(180deg, var(--color-bg-primary-hover) 0%, var(--color-bg-primary) 100%);border:1px solid #4fc1ff73;box-shadow:0 4px 14px #0e639c59}.ui-button--auth-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px 20px #0e639c73}.ui-button--auth-primary:disabled{opacity:.65;cursor:not-allowed}.auth-page__link-btn{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:center;margin-top:0;padding:8px 12px;font-family:inherit;text-decoration:underline}.auth-page__link-btn:hover{color:var(--color-text-link)}.auth-page__link-btn:focus-visible{outline:2px solid var(--color-border-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (width>=860px){.auth-page__card{max-width:900px}.auth-page__layout{align-items:stretch;gap:var(--space-5);grid-template-columns:.95fr 1.05fr}.auth-page__hero{text-align:left;padding-right:var(--space-3);border-right:1px solid #ffffff0f;flex-direction:column;justify-content:center;display:flex}.auth-page__subtitle,.auth-page__hero-art{margin-left:0}.auth-page__back{align-self:flex-start}}@media (width<=980px){.home-page{gap:var(--space-4)}.home-page__hero{padding:var(--space-4);grid-template-columns:1fr}.home-page__stats,.home-gallery,.home-page__cards{grid-template-columns:1fr}.home-highlight{gap:var(--space-3);grid-template-columns:1fr;padding:12px}.home-highlight__stripe{width:100%;height:4px;min-height:4px}.home-highlight__actions{justify-content:flex-start;justify-self:start;width:100%}.home-features,.home-steps__grid{grid-template-columns:1fr}.contest-layout{padding:var(--space-3);gap:var(--space-3);grid-template-columns:1fr;height:auto;min-height:100vh;overflow:auto}.contest-layout__editor{border-bottom:var(--border-width) solid var(--color-border-subtle)}.editor-form{grid-template-columns:1fr}.editor-toolbar{flex-direction:column;align-items:stretch}.editor-toolbar__actions{justify-content:space-between}.result-resizer{display:none}}.home-page{position:relative;overflow-x:hidden;padding-top:var(--space-4)!important;background-color:#080a10!important;background-image:linear-gradient(#38bdf805 1px,#0000 1px),linear-gradient(90deg,#38bdf805 1px,#0000 1px)!important;background-size:30px 30px!important}.home-page__glow-orb{pointer-events:none;filter:blur(80px);z-index:0;opacity:.55;mix-blend-mode:screen;border-radius:50%;position:absolute}.home-page__glow-orb--cyan{background:radial-gradient(circle,#0ea5e92e 0%,#0000 70%);width:450px;height:450px;animation:12s ease-in-out infinite alternate orbFloat;top:15%;left:-10%}.home-page__glow-orb--purple{width:500px;height:500px;animation:orbFloat 16s infinite alternate ease-in-out-reverse;background:radial-gradient(circle,#a855f724 0%,#0000 70%);top:45%;right:-10%}@keyframes orbFloat{0%{transform:translateY(0)scale(.95)rotate(0)}to{transform:translateY(-50px)scale(1.15)rotate(15deg)}}.home-nav{z-index:10;-webkit-backdrop-filter:blur(16px);border-radius:14px;justify-content:space-between;align-items:center;display:flex;position:relative;box-shadow:0 10px 30px #00000059,inset 0 0 0 1px #ffffff08;margin-bottom:var(--space-4)!important;background:#0f172a99!important;border:1px solid #38bdf833!important;padding:14px 24px!important}.home-nav__logo{align-items:center;gap:10px;text-decoration:none;transition:transform .2s;display:flex}.home-nav__logo:hover{transform:scale(1.02)}.home-nav__logo-icon{filter:drop-shadow(0 0 6px #38bdf880);font-size:24px}.home-nav__logo-text{letter-spacing:-.5px;background:linear-gradient(135deg,#f8fafc 30%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.3rem;font-weight:900}.home-nav__links{gap:24px;display:flex}.home-nav__item{color:#94a3b8;font-weight:700;font-size:var(--font-size-sm);padding:4px 0;text-decoration:none;transition:all .2s;position:relative}.home-nav__item:hover{color:#38bdf8}.home-nav__item:after{content:"";background:#38bdf8;width:0;height:2px;transition:width .2s;position:absolute;bottom:0;left:0}.home-nav__item:hover:after{width:100%}.home-nav__auth{align-items:center;display:flex}.home-nav__profile{align-items:center;gap:12px;display:flex}.home-nav__badge{color:#a8efd0;background:#4ec9b01f;border:1px solid #4ec9b066;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 0 10px #4ec9b00d}.home-nav__badge-dot{background-color:#4ade80;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #4ade80}.home-nav__logout-btn{color:#fca5a5;cursor:pointer;background:0 0;border:1px solid #ef5b5b66;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .25s}.home-nav__logout-btn:hover{color:#fff;background:#ef5b5b1f;border-color:#ef5b5ba6}.home-nav__login-btn{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:1px solid #38bdf84d;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0284c74d}.home-nav__login-btn:hover{background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%);transform:translateY(-1px);box-shadow:0 6px 16px #38bdf873}.home-page__title{background:linear-gradient(135deg,#fff 40%,#e2e8f0 70%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;letter-spacing:-1px!important;margin-bottom:var(--space-4)!important;font-size:clamp(2rem,5vw,3.2rem)!important;font-weight:900!important;line-height:1.12!important}.home-page__hero{-webkit-backdrop-filter:blur(12px);transition:border-color .3s;background:linear-gradient(165deg,#0f172ae6 0%,#070a12f5 100%)!important;border:1px solid #38bdf840!important;box-shadow:0 24px 60px #0000008c,0 0 50px #38bdf80d,inset 0 0 0 1px #ffffff05!important}.home-page__hero:hover{border-color:#38bdf866!important}.home-terminal{text-align:left;border-radius:10px;margin-bottom:16px;overflow:hidden;box-shadow:0 12px 32px #00000073;background:#070a12cc!important;border:1px solid #38bdf833!important}.home-terminal__header{background:#0f172ad9;border-bottom:1px solid #38bdf81a;align-items:center;gap:6px;padding:8px 12px;display:flex}.home-terminal__dot{border-radius:50%;width:8px;height:8px}.home-terminal__dot.red{background:#ef4444}.home-terminal__dot.yellow{background:#eab308}.home-terminal__dot.green{background:#22c55e}.home-terminal__title{color:#64748b;font-size:11px;font-family:var(--font-family-mono);letter-spacing:.5px;margin-left:6px}.home-terminal__body{font-size:11px;line-height:1.6;font-family:var(--font-family-mono);padding:12px 14px}.home-terminal__line{margin-bottom:4px}.home-terminal__line.success{color:#4ec9b0}.home-terminal__line.info{color:#38bdf8}.home-terminal__line.warning{color:#dcdcaa}.home-terminal__line.blink:after{content:"█";color:#f8fafc;margin-left:2px;animation:1s infinite cursorBlink}@keyframes cursorBlink{0%,to{opacity:0}50%{opacity:1}}.home-mock{overflow:hidden;background:#0f172acc!important;border:1px solid #38bdf840!important;border-radius:10px!important;box-shadow:0 16px 40px #00000073!important}.home-mock__top{background:#070a12e6!important;border-bottom:1px solid #38bdf826!important;align-items:center!important;gap:7px!important;height:36px!important;padding:0 14px!important;display:flex!important}.home-mock__top .dot{border-radius:50%;width:9px;height:9px}.home-mock__top .dot--red{background:#ef4444}.home-mock__top .dot--yellow{background:#eab308}.home-mock__top .dot--green{background:#22c55e}.home-mock__top .file-name{color:#94a3b8;font-family:var(--font-family-mono);letter-spacing:.5px;margin-left:8px;font-size:11px}.home-mock__code-container{background:#0b0f19a6;display:flex}.home-mock__line-numbers{font-family:var(--font-family-mono);color:#475569;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0d;flex-direction:column;padding:14px 8px 14px 14px;font-size:12px;display:flex}.home-mock__line-numbers span{line-height:1.5}.home-mock pre{flex:1;margin:0!important;padding:14px 16px!important}.home-mock pre code{color:#c9d1d9;font-size:12px;line-height:1.5;font-family:var(--font-family-mono);white-space:pre-wrap}.home-mock--panel{background:linear-gradient(135deg,#0ea5e90f 0%,#070a12cc 100%)!important;border-color:#38bdf840!important;padding:16px!important}.home-mock--panel h3{border-bottom:1px dashed #38bdf826;padding-bottom:10px;letter-spacing:.5px!important;text-transform:uppercase!important;color:#38bdf8!important;margin-bottom:12px!important;font-size:13px!important;font-weight:800!important}.home-mock__panel-row{font-size:12px;font-family:var(--font-family-mono);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-mock__panel-row span:first-child{color:#64748b}.home-mock__panel-row .value{color:#f1f5f9;font-weight:700}.status-badge{font-family:var(--font-family-mono)}.home-highlight{background:linear-gradient(120deg,#ff5a4624 0%,#0f172af2 45%,#070a12fa 100%)!important;border:1px solid #ff785a59!important;box-shadow:0 16px 44px #ff3c280f,inset 0 0 0 1px #ffffff05!important}.home-highlight__title{color:#ffe6dc!important}.home-highlight__tag{color:#fa8!important;background:#ff5a4626!important;border-color:#ff5a4659!important}.home-highlight__stripe{background:linear-gradient(#ff8a5c,#ff3d5c,#c94bff)!important}.home-feature{-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px #0003;background:#0f172aa6!important;border:1px solid #38bdf833!important;border-radius:12px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.home-feature:hover{box-shadow:0 16px 40px #00000059,0 0 30px #38bdf80d;border-color:#38bdf859!important;transform:translateY(-3px)!important}.home-feature h3{color:#f1f5f9!important;font-weight:800!important}.home-card{-webkit-backdrop-filter:blur(12px);background:#0f172ab3!important;border:1px solid #38bdf833!important;border-radius:16px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 20px 48px #00000059!important}.home-card:hover{box-shadow:0 24px 56px #00000073,0 0 40px #38bdf80f;border-color:#38bdf866!important;transform:translateY(-4px)!important}.home-card--battle{border-color:#ff785a40!important}.home-card--battle:hover{box-shadow:0 24px 56px #00000073,0 0 40px #ff785a0f;border-color:#ff785a73!important}.home-card__title{letter-spacing:-.5px!important;margin-bottom:12px!important;font-weight:900!important}.home-card--battle .home-card__title{color:#ffa580!important}.home-card__list{padding-left:20px!important}.home-card__list li{line-height:1.6}.home-steps{-webkit-backdrop-filter:blur(10px);box-shadow:0 24px 56px #0006;background:#0f172abf!important;border:1px solid #38bdf833!important;border-radius:16px!important}.home-steps__title{text-transform:uppercase;text-align:center;font-size:var(--font-size-xl)!important;letter-spacing:-.5px!important;color:#38bdf8!important;margin-bottom:24px!important;font-weight:900!important}.home-step{transition:all .3s;background:#070a1280!important;border:1px solid #ffffff0d!important;border-radius:12px!important}.home-step:hover{transform:translateY(-2px);background:#070a12b3!important;border-color:#38bdf84d!important}.home-step__num{font-family:var(--font-family-mono);box-shadow:0 0 10px #38bdf81a;color:#38bdf8!important;background:#38bdf81a!important;border-color:#38bdf866!important}
