@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Fira+Code:wght@400;500&display=swap";:root{--bg-main: #FAFAFC;--bg-surface: #FFFFFF;--bg-surface-secondary: #F6F7FB;--bg-code: #0F172A;--text-primary: #111827;--text-secondary: #4B5563;--text-muted: #6B7280;--text-disabled: #9CA3AF;--primary: #5B5FEF;--primary-hover: #4D51E3;--primary-pressed: #4044D7;--primary-light: #EEF0FF;--border-default: #E5E7EB;--border-hover: #F3F4F6;--border-active: #CBD5E1;--border-focus: #5B5FEF;--status-success: #22C55E;--status-warning: #F59E0B;--status-danger: #EF4444;--status-info: #3B82F6;--radius-btn: 10px;--radius-input: 10px;--radius-dropdown: 12px;--radius-card: 14px;--radius-dialog: 16px;--radius-badge: 999px;--shadow-card: 0 6px 20px rgba(15,23,42,.04);--shadow-card-hover: 0 10px 30px rgba(15,23,42,.07);--shadow-dropdown: 0 12px 32px rgba(15,23,42,.12);--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--space-96: 96px;--space-128: 128px;--transition: .2s ease-out}[data-theme=dark]{--bg-main: #0F1117;--bg-surface: #1A1D2E;--bg-surface-secondary: #1E2235;--bg-code: #090C14;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--text-disabled: #475569;--primary: #818CF8;--primary-hover: #6366F1;--primary-pressed: #4F46E5;--primary-light: rgba(129, 140, 248, .12);--border-default: #2A2F45;--border-hover: #333852;--border-active: #3D4463;--border-focus: #818CF8;--shadow-card: 0 6px 20px rgba(0,0,0,.25);--shadow-card-hover: 0 10px 30px rgba(0,0,0,.35);--shadow-dropdown: 0 12px 32px rgba(0,0,0,.45)}[data-theme=dark] .navbar.scrolled{background:#1a1d2ed9}[data-theme=dark] .btn-secondary,[data-theme=dark] .btn-run{background:var(--bg-surface-secondary);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .btn-run:hover{background:var(--border-default)}[data-theme=dark] .problems-table tr:hover td,[data-theme=dark] .leaderboard-table tr:hover td{background:var(--bg-surface-secondary)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-btn);border:1px solid var(--border-default);background:var(--bg-surface-secondary);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:16px}.theme-toggle:hover{background:var(--border-default);color:var(--text-primary);transform:translateY(-1px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg-main);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.text-display{font-size:72px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.text-h1{font-size:48px;font-weight:800;line-height:1.2;letter-spacing:-.01em}.text-h2{font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.01em}.text-h3{font-size:28px;font-weight:700;line-height:1.3}.text-body-large{font-size:18px;font-weight:500;line-height:1.6}.text-body{font-size:16px;font-weight:500;line-height:1.6}.text-small{font-size:14px;font-weight:500;line-height:1.5}.text-caption{font-size:13px;font-weight:500;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-32);height:80px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);transition:background var(--transition),backdrop-filter var(--transition)}.navbar.scrolled{background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-logo{font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.nav-links{display:flex;align-items:center;gap:var(--space-8);list-style:none}.nav-links a{padding:var(--space-8) var(--space-12);border-radius:var(--radius-btn);font-size:14px;font-weight:600;color:var(--text-secondary);transition:var(--transition)}.nav-links a:hover{color:var(--text-primary);background:var(--bg-main)}.nav-links a.active{color:var(--primary);background:var(--primary-light)}.nav-user{font-size:14px;font-weight:600;color:var(--text-secondary)}.back-link{display:inline-flex;align-items:center;gap:var(--space-4);font-size:14px;color:var(--text-muted);font-weight:600;transition:var(--transition)}.back-link:hover{color:var(--text-primary)}.page-wrapper{max-width:1200px;margin:0 auto;padding:var(--space-40) var(--space-24)}.btn-primary,.btn-secondary,.btn-submit-code,.btn-run,.btn-auth,.nav-links a.btn-nav,.nav-links a.btn-nav-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);height:40px;padding:0 var(--space-16);border-radius:var(--radius-btn);font-weight:600;font-size:14px;border:none;transition:var(--transition);cursor:pointer}.btn-auth,.hero-btns a{height:44px;padding:0 var(--space-24)}.btn-primary,.btn-submit-code,.btn-auth,.nav-links a.btn-nav{background:var(--primary);color:#fff}.btn-primary:hover,.btn-submit-code:hover,.btn-auth:hover,.nav-links a.btn-nav:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-card);color:#fff}.btn-primary:active,.btn-submit-code:active,.btn-auth:active{background:var(--primary-pressed);transform:translateY(0)}.btn-primary:disabled,.btn-submit-code:disabled,.btn-auth:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary,.btn-run,.nav-links a.btn-nav-outline{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary)}.btn-secondary:hover,.btn-run:hover,.nav-links a.btn-nav-outline:hover{background:#f9fafb;border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn-run:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.card,.auth-card,.feature-card,.example-box{background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-default);padding:var(--space-24);box-shadow:var(--shadow-card);transition:var(--transition)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:var(--space-24)}.auth-card{width:100%;max-width:440px;padding:var(--space-40) var(--space-32)}.auth-logo{text-align:center;font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:var(--space-20)}.auth-card p{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-32);font-size:15px}.hero{text-align:center;padding:var(--space-96) var(--space-24) var(--space-64)}.hero h1{font-size:56px;font-weight:800;line-height:1.15;margin-bottom:var(--space-24);color:var(--text-primary);letter-spacing:-.02em}.hero p{font-size:20px;color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-40);line-height:1.6}.hero-btns{display:flex;gap:var(--space-16);justify-content:center}.features{padding:var(--space-64) var(--space-24);max-width:1200px;margin:0 auto}.features h2{text-align:center;font-size:32px;font-weight:700;margin-bottom:var(--space-48)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-24)}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:var(--primary)}.feature-icon{width:48px;height:48px;border-radius:var(--radius-card);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-20)}.feature-card h3{font-size:18px;font-weight:700;margin-bottom:var(--space-8)}.feature-card p{font-size:14px;color:var(--text-secondary);line-height:1.6}.stats{display:flex;justify-content:space-around;max-width:1000px;margin:0 auto var(--space-64);background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-default);padding:var(--space-24);box-shadow:var(--shadow-card)}.stat-item{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.stat-item:not(:last-child){border-right:1px solid var(--border-default)}.stat-value{display:flex;align-items:center;gap:var(--space-8);color:var(--text-primary);font-size:32px;font-weight:800}.stat-value svg{color:var(--primary)}.stat-item p{color:var(--text-secondary);font-size:14px;margin-top:var(--space-4);font-weight:600}.footer{text-align:center;padding:var(--space-40) var(--space-24);color:var(--text-muted);font-size:14px;border-top:1px solid var(--border-default)}.form-group{margin-bottom:var(--space-20);text-align:left}.form-group label{display:block;margin-bottom:var(--space-8);font-size:14px;font-weight:600;color:var(--text-primary)}.form-group input,.form-group select{width:100%;height:48px;padding:0 var(--space-16);font-size:14px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-input);color:var(--text-primary);transition:var(--transition);font-family:inherit}.form-group input::placeholder{color:var(--text-disabled)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.form-group .helper-text{font-size:13px;color:var(--text-muted);margin-top:var(--space-4)}.problems-table,.leaderboard-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-default);overflow:hidden;box-shadow:var(--shadow-card)}.problems-table th,.leaderboard-table th{position:sticky;top:0;background:var(--bg-surface-secondary);text-align:left;padding:var(--space-16) var(--space-24);font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);z-index:10}.problems-table td,.leaderboard-table td{padding:var(--space-16) var(--space-24);height:56px;border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:14px;font-weight:500}.problems-table tr:last-child td,.leaderboard-table tr:last-child td{border-bottom:none}.problems-table tr,.leaderboard-table tr{transition:background var(--transition)}.problems-table tr:hover td,.leaderboard-table tr:hover td{background:var(--bg-main)}.problems-table a{color:var(--text-primary);font-weight:600}.problems-table a:hover{color:var(--primary)}.filters{display:flex;gap:var(--space-12);margin-bottom:var(--space-24);flex-wrap:wrap}.filters select,.filters input{width:auto;height:40px}.leaderboard-table tr.current-user td{background:var(--primary-light);color:var(--primary)}.leaderboard-table tr.current-user a{color:var(--primary);font-weight:700}.rank-cell{font-size:18px;font-weight:700;width:80px;color:var(--text-primary)}.score-cell{font-weight:700;color:var(--text-primary)}.refresh-note{font-size:13px;color:var(--text-muted);margin-top:var(--space-12);text-align:right}.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:var(--radius-badge);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge.easy{background:#22c55e1a;color:var(--status-success)}.badge.medium{background:#f59e0b1a;color:var(--status-warning)}.badge.hard{background:#ef44441a;color:var(--status-danger)}.topic-tag{font-size:12px;font-weight:600;padding:2px 10px;background:var(--bg-surface-secondary);color:var(--text-secondary);border-radius:var(--radius-badge);border:1px solid var(--border-default)}.solved-badge{color:var(--status-success);font-weight:700}.unsolved{color:var(--text-disabled)}.solve-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);height:calc(100vh - 80px);padding:var(--space-8);background:var(--bg-main)}.problem-panel{overflow-y:auto;padding:var(--space-24);background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-default);box-shadow:var(--shadow-card)}.problem-title{font-size:28px;font-weight:800;margin-bottom:var(--space-12);color:var(--text-primary)}.problem-meta{display:flex;gap:var(--space-12);align-items:center;margin-bottom:var(--space-24);flex-wrap:wrap}.problem-section h3{font-size:14px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:var(--space-24) 0 var(--space-12)}.example-box{background:var(--bg-surface-secondary);border:1px solid var(--border-default);border-radius:var(--radius-card);padding:var(--space-16);margin-bottom:var(--space-12);font-size:14px;line-height:1.6;color:var(--text-secondary);box-shadow:none}.example-box code{font-family:Fira Code,monospace;color:var(--primary);font-weight:600}.editor-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface);border-radius:var(--radius-card);border:1px solid var(--border-default);box-shadow:var(--shadow-card)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--border-default);background:var(--bg-surface);position:sticky;top:0;z-index:10}.editor-header select{height:36px;padding:0 var(--space-12);font-size:13px;font-weight:600;width:140px}.editor-actions{display:flex;gap:var(--space-8)}.monaco-wrapper{flex:1;overflow:hidden;background:var(--bg-code)}.output-panel{height:220px;border-top:1px solid var(--border-default);background:var(--bg-surface);display:flex;flex-direction:column}.output-header{padding:var(--space-8) var(--space-16);font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);background:var(--bg-surface-secondary)}.output-content{flex:1;padding:var(--space-16);overflow-y:auto;font-family:Fira Code,monospace;font-size:13px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5}.verdict{padding:var(--space-12) var(--space-16);font-size:14px;font-weight:700;border-top:1px solid var(--border-default);display:flex;align-items:center;gap:var(--space-8)}.verdict.accepted{background:#22c55e1a;color:var(--status-success);border-top-color:#22c55e33}.verdict.wrong-answer{background:#ef44441a;color:var(--status-danger);border-top-color:#ef444433}.verdict.error{background:#f59e0b1a;color:var(--status-warning);border-top-color:#f59e0b33}.auth-prompt{background:var(--primary-light);color:var(--primary);border-top:1px solid rgba(91,95,239,.2);padding:var(--space-12) var(--space-16);font-size:14px;font-weight:600;display:flex;align-items:center;gap:var(--space-8)}.tc-table{width:100%;border-collapse:collapse;font-size:13px}.tc-table th{color:var(--text-muted);font-weight:600;text-align:left;padding:var(--space-8);border-bottom:1px solid var(--border-default)}.tc-table td{padding:var(--space-12) var(--space-8);font-family:Fira Code,monospace;color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.empty-state{text-align:center;padding:var(--space-64) var(--space-24);display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state svg{color:var(--text-disabled);margin-bottom:var(--space-16)}.empty-state h3{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-8)}.empty-state p{font-size:14px;color:var(--text-secondary);max-width:400px}.loading-page{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-16);color:var(--text-muted)}.spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.msg{padding:var(--space-12) var(--space-16);border-radius:var(--radius-dropdown);margin-bottom:var(--space-20);font-size:14px;font-weight:600;display:flex;align-items:center;gap:var(--space-8)}.msg.error{background:#ef44441a;color:var(--status-danger);border:1px solid rgba(239,68,68,.2)}.msg.success{background:#22c55e1a;color:var(--status-success);border:1px solid rgba(34,197,94,.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.fade-in{animation:slideUpFade .3s ease-out both}.pop-in{animation:scaleIn .25s ease-out both}@media (max-width: 768px){.solve-layout{grid-template-columns:1fr;height:auto;padding:0}.problem-panel{border-radius:0;border:none;border-bottom:1px solid var(--border-default);max-height:50vh}.editor-panel{border-radius:0;border:none}.navbar{padding:0 var(--space-16)}.stats{flex-direction:column;gap:var(--space-24);padding:var(--space-32)}.stat-item:not(:last-child){border-right:none;border-bottom:1px solid var(--border-default);padding-bottom:var(--space-24)}.features-grid{grid-template-columns:1fr}}
