*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6efe4;--surface:#fffaf2cc;--surface-strong:#fff9f0;--surface-dark:#1f2520;--text:#1d1f1a;--muted:#6c685d;--border:#41392a1f;--accent:#1f7a5f;--accent-strong:#145c47;--accent-soft:#1f7a5f24;--warm:#d96f32;--warm-soft:#d96f3224;--danger:#c0493d;--success:#1f7a5f;--yellow:#b98518;--shadow:0 20px 55px #3a2a1a14;--font:"Space Grotesk", "Trebuchet MS", "Segoe UI", sans-serif}html,body,#root{min-height:100%}body{color:var(--text);font-family:var(--font);background:radial-gradient(circle at 0 0,#d96f3224,#0000 32%),radial-gradient(circle at 100% 0,#1f7a5f24,#0000 28%),linear-gradient(#fbf6ed 0%,#f3eadc 100%)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font)}input,textarea,select{width:100%;font-family:var(--font);border:1px solid var(--border);color:var(--text);background:#ffffffd1;border-radius:16px;outline:none;padding:14px 16px;transition:border-color .2s,transform .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:#1f7a5f73;box-shadow:0 0 0 4px #1f7a5f14}textarea{resize:vertical}.container{max-width:1180px;margin:0 auto;padding:0 24px}.narrow-container{max-width:920px}.page{min-height:calc(100vh - 88px);padding:28px 0 56px}.nav-shell{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#fbf6edb8;position:sticky;top:0}.nav-row{justify-content:space-between;align-items:center;gap:16px;min-height:88px;display:flex}.brand-mark{align-items:center;gap:14px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--accent) 0%, #2d9c7b 100%);color:#fff;width:46px;height:46px;box-shadow:var(--shadow);border-radius:15px;place-items:center;font-weight:700;display:grid}.brand-title{font-size:1.1rem;font-weight:700}.brand-subtitle{color:var(--muted);font-size:.86rem}.nav-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-link,.nav-profile-pill{color:var(--muted);border-radius:999px;padding:10px 14px;transition:background .2s,color .2s}.nav-link:hover,.nav-profile-pill:hover{color:var(--text);background:#ffffffa6}.nav-profile-pill{align-items:center;gap:10px;display:flex}.nav-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.btn{border:1px solid #0000;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700;transition:transform .18s,opacity .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}.btn-success{color:#fff;background:#1e9f72}.btn-outline{color:var(--text);border-color:var(--border);background:#fff9}.card,.section-card,.auth-card,.problem-card,.summary-pill,.stat-card,.statement-card,.history-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card,.section-card,.auth-card,.statement-card,.history-card{border-radius:28px;padding:24px}.hero-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffffad,#fff9f0e6),radial-gradient(circle at 100% 100%,#1f7a5f1f,#0000 28%);border-radius:36px;grid-template-columns:1.2fr .8fr;gap:24px;padding:34px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#ffffffbf;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.hero-copy h1,.section-banner h1,.auth-card h2,.problem-brief h1,.profile-hero h1{margin-top:16px;font-size:clamp(2rem,4vw,4.2rem);line-height:1.04}.hero-copy p,.section-copy,.auth-promo p,.feature-card p,.problem-meta,.muted,.preview-link,.result-panel pre,.submission-item span{color:var(--muted)}.hero-copy p{max-width:58ch;margin-top:18px;font-size:1.05rem}.button-row{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-metrics,.feature-stack,.grid-three,.leaderboard-grid,.summary-row,.testcase-grid{gap:16px;display:grid}.hero-metrics{grid-template-columns:1fr}.stat-card{border-radius:24px;padding:22px}.stat-card span,.summary-pill span,.problem-meta,.auth-switch,label span{color:var(--muted);font-size:.9rem;display:block}.stat-card strong,.summary-pill strong{margin:8px 0 10px;font-size:1.2rem;display:block}.stat-card.accent{background:linear-gradient(#1f7a5f24,#ffffffb8)}.stat-card.warm{background:linear-gradient(#d96f3224,#ffffffb8)}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{border-radius:28px}.feature-card h3{margin:16px 0 10px;font-size:1.18rem}.feature-dot{background:linear-gradient(135deg, var(--warm), var(--accent));border-radius:50%;width:18px;height:18px}.auth-page{align-items:center;display:flex}.auth-grid{grid-template-columns:1fr .9fr;gap:24px;width:min(1100px,100%);margin:0 auto;display:grid}.auth-promo{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#1f7a5f24,#ffffffad);border-radius:34px;padding:34px}.auth-promo.warm{background:linear-gradient(135deg,#d96f3224,#ffffffad)}.auth-promo h1{margin:18px 0 16px;font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.08}.auth-card h2{font-size:2.2rem}.form-grid{gap:14px;margin:22px 0;display:grid}.auth-switch{margin-top:18px}.auth-switch a,.inline-link,.preview-link a{color:var(--accent-strong);font-weight:700}.feature-stack{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.feature-chip{text-align:center;background:#ffffffbf;border-radius:18px;padding:14px 16px;font-weight:700}.verify-shell{width:min(640px,100%);margin:0 auto}.preview-card{overflow-wrap:anywhere;background:#ffffffb3;border:1px dashed #1f7a5f40;border-radius:22px;margin-top:16px;padding:18px}.alert{border-radius:18px;margin-top:16px;padding:14px 16px;font-weight:600}.alert-error{color:var(--danger);background:#c0493d1a}.alert-success{color:var(--accent-strong);background:#1f7a5f1f}.section-banner{justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.section-banner h1{font-size:clamp(2rem,3vw,3rem)}.summary-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.summary-pill{border-radius:24px;padding:18px 20px}.summary-pill strong{font-size:1.75rem}.toolbar,.filter-row,.section-heading,.problem-topline,.editor-toolbar,.submission-item,.rank-row,.profile-hero{align-items:center;gap:12px;display:flex}.toolbar,.section-heading,.editor-toolbar{justify-content:space-between}.toolbar{flex-wrap:wrap;margin-bottom:24px}.search-input{max-width:360px}.list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.problem-card{border-radius:24px;padding:22px;transition:transform .18s,border-color .18s}.problem-card:hover{border-color:#1f7a5f40;transform:translateY(-2px)}.problem-card h3{margin:14px 0 10px;font-size:1.2rem}.inline-link{margin-top:18px;display:inline-block}.badge{border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-easy,.badge-accepted{color:var(--accent-strong);background:#1f7a5f1f}.badge-medium,.badge-pending{color:var(--yellow);background:#b985181f}.badge-hard,.badge-wrong,.badge-error{color:var(--danger);background:#c0493d1f}.testcase-section{margin:8px 0 24px}.testcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.testcase-card{border:1px solid var(--border);background:#ffffff94;border-radius:24px;padding:18px}.testcase-card strong{margin-bottom:14px;display:block}.testcase-card textarea+textarea{margin-top:12px}.full-span{grid-column:1/-1}.problem-layout-page{padding-top:0}.problem-layout{grid-template-columns:.92fr 1.08fr;height:calc(100vh - 88px);display:grid}.problem-brief,.editor-shell{padding:28px}.problem-brief{border-right:1px solid var(--border);background:#fff9f0bd;overflow-y:auto}.statement-card{margin-top:18px}.statement-card pre,.result-panel pre{white-space:pre-wrap;font-family:Cascadia Code,Consolas,monospace;line-height:1.7}.history-card{margin-top:22px}.submission-feed{gap:12px;display:grid}.submission-item{border:1px solid var(--border);background:#fff9;border-radius:18px;flex-wrap:wrap;justify-content:space-between;padding:14px 16px}.submission-item.rich{align-items:start}.submission-side{justify-items:end;gap:6px;display:grid}.editor-shell{grid-template-rows:auto 1fr auto;gap:16px;height:100%;display:grid;overflow:hidden}.editor-panel{min-height:320px;box-shadow:var(--shadow);border:1px solid #0f11171a;border-radius:28px;overflow:hidden}.result-panel{color:#eff8f3;background:#1f2520f5;border-radius:24px;max-height:40vh;padding:18px;overflow-y:auto}.result-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.status-text{font-weight:700}.status-accepted{color:#7be0be}.status-wrong-answer,.status-runtime-error,.status-compilation-error,.status-error{color:#ff9a8c}.status-time-limit-exceeded{color:#f3d17d}.leaderboard-grid{grid-template-columns:.9fr 1.1fr}.rank-list{gap:12px;display:grid}.rank-row{border:1px solid var(--border);background:#ffffff94;border-radius:18px;justify-content:space-between;padding:14px 16px}.rank-badge{background:linear-gradient(135deg, var(--warm-soft), #ffffffd1);width:44px;height:44px;color:var(--warm);border-radius:14px;place-items:center;font-weight:700;display:grid}.rank-score{color:var(--accent-strong);font-weight:700}.profile-hero{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#1f7a5f24,#ffffffbf);border-radius:30px;flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;padding:24px}.profile-avatar{background:var(--accent);color:#fff;border-radius:24px;place-items:center;width:78px;height:78px;font-size:2rem;font-weight:700;display:grid}.profile-badges{flex-wrap:wrap;gap:10px;display:flex}.empty-state{text-align:center;color:var(--muted);padding:42px 18px}.empty-state.compact{padding:18px 0}@media (width<=1024px){.hero-panel,.auth-grid,.leaderboard-grid,.problem-layout,.grid-three,.list-grid,.testcase-grid,.summary-row{grid-template-columns:1fr}.problem-layout{height:auto}.problem-brief{border-right:none;border-bottom:1px solid var(--border)}}@media (width<=720px){.container{padding:0 16px}.nav-row,.nav-links,.section-banner,.toolbar,.editor-toolbar{align-items:stretch}.nav-row,.section-banner,.toolbar,.editor-toolbar{flex-direction:column}.search-input{max-width:none}.hero-panel,.auth-promo,.auth-card,.section-card,.card,.statement-card,.history-card{padding:20px}}
