:root{color-scheme:light;--bg: #f5f5f7;--surface: #ffffff;--surface-2: #fbfbfd;--text: #1d1d1f;--muted: #6e6e73;--line: #d8d8df;--accent: #0a84ff;--accent-dark: #0066cc;--ok: #178a4b;--warn: #b7791f;--bad: #c7392f;--radius: 16px;--shadow: 0 18px 50px rgba(0, 0, 0, .08);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}body,button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}.app.landing{--bg: #151515;--surface: #242424;--surface-2: #303030;--text: #ffffff;--muted: #d1d5db;--line: #383838;--accent: #f5f5f7;--accent-dark: #b9cbff;background:radial-gradient(circle at 50% 0%,rgba(92,113,155,.18),transparent 34rem),#151515;min-height:100vh}.site-header{align-items:center;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);background:#f5f5f7c7;border-bottom:1px solid rgba(0,0,0,.08);display:flex;gap:28px;height:64px;justify-content:space-between;padding:0 clamp(18px,5vw,72px);position:sticky;top:0;z-index:20}.landing .site-header{background:#1515159e;border-bottom-color:#ffffff14}.brand{align-items:center;display:inline-flex;flex:0 0 auto;font-weight:800;gap:10px}.landing .brand span,.landing .main-nav a,.landing .text-link,.landing .menu-button{color:#f5f5f7}.brand img{border-radius:10px;height:34px;width:34px}.main-nav{align-items:center;display:flex;flex:1;gap:22px;justify-content:center}.main-nav a,.text-link{color:var(--muted);font-size:15px}.main-nav a:hover,.main-nav a.active,.text-link:hover,.auth-note a,.form-row a,.policy-box a{color:var(--accent-dark)}.landing .main-nav a:hover,.landing .main-nav a.active,.landing .text-link:hover{color:#fff}.header-actions{align-items:center;display:flex;gap:14px}.text-button{background:transparent;border:0;color:var(--muted);font-weight:800;padding:0}.text-button:hover{color:var(--accent-dark)}.profile-chip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-weight:900;gap:8px;min-height:38px;padding:4px 10px 4px 4px}.landing .profile-chip{background:#ffffff14;border-color:#ffffff29;color:#fff}.profile-chip b{color:var(--accent-dark);font-size:12px}.avatar{border-radius:999px;height:30px;object-fit:cover;width:30px}.avatar.placeholder{align-items:center;background:linear-gradient(135deg,#0a84ff,#8ea7d8);color:#fff;display:inline-flex;font-size:12px;justify-content:center}.avatar.large{border:4px solid rgba(255,255,255,.72);box-shadow:var(--shadow);font-size:28px;height:112px;width:112px}.menu-button{background:transparent;border:0;color:var(--text);display:none;font-size:22px}.button{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:44px;padding:0 20px;transition:background .15s ease,transform .15s ease}.button:hover{background:var(--accent-dark);transform:translateY(-1px)}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.landing .button{background:#f5f5f7;border-color:#ffffff2e;color:#171717}.landing .button.secondary{background:#ffffff0f;border-color:#ffffff29;color:var(--text)}.button.small{min-height:36px;padding:0 14px}.button.full{width:100%}.landing-main,.section,.page{margin:0 auto;max-width:1180px;padding:clamp(32px,6vw,76px) clamp(18px,4vw,34px)}.landing-main{overflow:hidden}.landing-hero{align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);min-height:calc(100vh - 64px);padding:clamp(34px,7vw,86px) 0}.kicker{color:var(--accent-dark);font-size:13px;font-weight:900;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.hero-copy h1{color:#fff;font-size:clamp(38px,5.6vw,66px);letter-spacing:0;line-height:1.08;margin:0;max-width:780px}.hero-copy h1 span{color:#fff;display:block}.hero-copy p:not(.kicker){color:#e5e7eb;font-size:clamp(16px,1.8vw,19px);line-height:1.75;margin:22px 0;max-width:650px}.hero-actions,.score-row,.meta-row,.form-row{align-items:center;display:flex;gap:12px}.hero-showcase,.showcase-card,.table-card,.doc-card,.auth-card,.side-card,.contest-card,.feature-grid article,.split,.architecture-flow,.architecture-hero-card,.ops-grid article{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-showcase{background:linear-gradient(180deg,#ffffff1f,#ffffff0f),var(--surface);border-color:#ffffff1c;min-height:410px;overflow:hidden;padding:18px;position:relative}.showcase-track{display:grid;min-height:340px;position:relative}.showcase-card{background:#ffffff17;border-color:#ffffff2e;inset:0;opacity:0;padding:26px;position:absolute;transform:translateY(22px) scale(.98);transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1)}.showcase-card.is-active{opacity:1;transform:translateY(0) scale(1)}.showcase-card strong{display:block;font-size:clamp(28px,4.5vw,46px);line-height:1.08;margin:62px 0 20px}.showcase-card p,.section-head p,.muted,.contest-card p,.doc-card p,.auth-note{color:var(--muted);line-height:1.7}.landing .showcase-card,.landing .showcase-card strong,.landing .showcase-card dd,.landing .flow-node,.landing .feature-grid h3,.landing .split h2{color:#fff}.landing .showcase-card p,.landing .showcase-card dt,.landing .feature-grid p,.landing .split .muted,.landing .flow-node span{color:#d1d5db}.duel-mini{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.duel-mini span,.duel-mini b{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px;text-align:center}.showcase-dots{bottom:18px;display:flex;gap:8px;left:18px;position:absolute}.showcase-dots span{background:#ffffff40;border-radius:999px;height:8px;transition:background .26s ease,width .26s ease;width:8px}.showcase-dots span.is-active{background:#fff;width:28px}.judge-card-top,.page-title,.section-head,.split{align-items:center;display:flex;justify-content:space-between;gap:24px}dl{display:grid;gap:10px;margin:0}dl div{display:flex;justify-content:space-between}dt{color:var(--muted)}dd{margin:0}.story-section{display:grid;min-height:42vh;place-items:center}.lead-line{color:#eceef3;font-size:clamp(28px,3.7vw,46px);font-weight:900;line-height:1.18;margin:0;max-width:980px;text-align:center}.section-head{align-items:flex-end;margin-bottom:22px}.section-head h2,.split h2{color:var(--text);font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0;max-width:760px}.feature-grid,.card-grid,.ops-grid.detailed{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.feature-grid article,.contest-card,.doc-card,.side-card,.auth-card,.table-card,.ops-grid article{padding:22px}.landing .feature-grid article,.landing .split{background:#ffffff14;border-color:#ffffff29}.feature-grid h3,.contest-card h2,.doc-card h2,.side-card h2,.ops-grid h2{margin:0 0 10px}.feature-grid p,.contest-card p,.ops-grid p{margin:0}.split{padding:clamp(24px,4vw,42px)}.site-footer{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;gap:20px;justify-content:center;padding:30px 18px}.page{min-height:calc(100vh - 64px)}.page.narrow{max-width:880px}.page-title{margin-bottom:22px}.page-title h1,.auth-card h1{font-size:clamp(34px,4.6vw,56px);line-height:1.1;margin:0}.page-title.compact h1{font-size:clamp(30px,4vw,44px)}.toolbar{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 180px;margin-bottom:16px}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--text);min-height:48px;outline:none;padding:0 14px}textarea{font-family:SFMono-Regular,Consolas,monospace;min-height:280px;padding:14px;resize:vertical;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #0a84ff24}.table-card{overflow-x:auto;padding:0}.data-table{border-collapse:collapse;min-width:720px;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:16px 18px;text-align:left;white-space:nowrap}.data-table th{color:var(--muted);font-size:14px}.data-table tr:last-child td{border-bottom:0}.tier,.verdict,.status{border-radius:999px;display:inline-flex;font-size:13px;font-weight:900;padding:5px 10px}.silver{background:#eef1f5;color:#53606f}.gold{background:#fff6df;color:#9a6700}.platinum{background:#e8f8f8;color:#007c7c}.accepted,.open{background:#e9f8ef;color:var(--ok)}.wrong,.closed{background:#fff0ee;color:var(--bad)}.pending,.ready{background:#fff6df;color:var(--warn)}.problem-page{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 360px}.problem-statement h2{border-top:1px solid var(--line);margin:30px 0 12px;padding-top:22px}.meta-row{color:var(--muted);flex-wrap:wrap;margin:18px 0 30px}.sample-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}pre{background:#1d1d1f;border-radius:12px;color:#fff;overflow-x:auto;padding:16px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contest-card{display:grid;gap:18px}.auth-layout{display:grid;margin:0 auto;max-width:620px;min-height:calc(100vh - 64px);padding:46px 18px;place-content:center}.auth-layout.wide{max-width:820px}.auth-brand{justify-self:center;margin-bottom:24px}.auth-card{padding:clamp(28px,5vw,44px);width:min(100%,620px)}.auth-layout.wide .auth-card{width:min(100%,820px)}.auth-card h1{margin-bottom:24px}.auth-helper{color:var(--muted);line-height:1.7;margin:-8px 0 22px}.auth-form{display:grid;gap:16px}.auth-form label:not(.check){color:var(--muted);display:grid;gap:8px;font-size:14px;font-weight:800}.two-col{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.check{align-items:flex-start;color:var(--text);display:flex;gap:10px;line-height:1.5}.check input{min-height:auto;margin-top:4px}.form-row{justify-content:space-between}.policy-box{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:16px}.policy-box p{color:var(--muted);line-height:1.65}.policy-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.auth-note{margin:20px 0 0;text-align:center}.profile-page{display:grid;gap:22px}.profile-hero,.profile-editor,.profile-stats,.empty-state{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);box-shadow:var(--shadow)}.profile-hero{align-items:center;display:flex;gap:24px;justify-content:space-between;padding:clamp(24px,4vw,38px)}.profile-identity{align-items:center;display:flex;gap:22px}.profile-identity h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:0}.profile-identity p:not(.kicker){color:var(--muted);line-height:1.7;margin:10px 0 0}.level-card{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;min-width:210px;padding:20px}.level-card span{color:var(--muted);font-weight:900}.level-card strong{display:block;font-size:54px;line-height:1;margin:8px 0}.level-card p{color:var(--muted);margin:0}.profile-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 360px}.profile-editor,.profile-stats,.empty-state{padding:24px}.profile-editor{display:grid;gap:16px}.profile-editor label{color:var(--muted);display:grid;font-size:14px;font-weight:900;gap:8px}.profile-stats{align-self:start;display:grid;gap:16px}.profile-stats div{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;display:grid;gap:6px;padding:14px}.profile-stats span{color:var(--muted);font-size:13px;font-weight:900}progress{accent-color:var(--accent);width:100%}.empty-state{display:grid;gap:12px;justify-items:start}.legal-doc section+section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.architecture-flow{display:grid;gap:14px;padding:clamp(18px,3vw,28px)}.architecture-hero-card{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:22px;padding:clamp(24px,4vw,38px)}.architecture-hero-card h2{font-size:clamp(28px,4vw,44px);margin:0 0 12px}.architecture-hero-card p{color:var(--muted);line-height:1.75;margin:0;max-width:760px}.infra-badges{align-content:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:340px}.infra-badges span{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-weight:800;padding:9px 13px}.flow-node{background:#ffffff17;border:1px solid rgba(255,255,255,.18);border-radius:16px;color:var(--text);font-weight:900;line-height:1.35;padding:18px;text-align:center}.app:not(.landing) .flow-node{background:var(--surface-2);border-color:var(--line)}.flow-node span{color:var(--muted);display:block;font-size:13px;font-weight:700;margin-top:4px}.flow-node.primary{background:linear-gradient(135deg,#0a84ffe0,#5c719be0);border-color:transparent;color:#fff}.flow-node.primary span{color:#ffffffc7}.flow-node.terminal{background:#1d1d1f;color:#fff;font-family:SFMono-Regular,Consolas,monospace}.flow-line{background:linear-gradient(180deg,transparent,var(--line),transparent);height:30px;justify-self:center;width:1px}.flow-split,.worker-row{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.flow-split.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-grid.detailed{margin-top:22px}.modal-backdrop{align-items:center;background:#0000006b;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);max-width:480px;padding:28px;position:relative;width:100%}.close-button{background:#eef0f3;border:0;border-radius:999px;height:34px;position:absolute;right:16px;top:16px;width:34px}.toast{background:var(--text);border-radius:999px;bottom:24px;color:var(--bg);left:50%;opacity:0;padding:12px 18px;pointer-events:none;position:fixed;transform:translate(-50%,12px);transition:opacity .16s ease,transform .16s ease;z-index:60}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:980px){.main-nav,.header-actions{display:none}.site-header.open{align-items:flex-start;flex-wrap:wrap;height:auto;padding-bottom:18px}.site-header.open .main-nav,.site-header.open .header-actions{align-items:stretch;display:grid;flex-basis:100%;justify-content:stretch}.menu-button{display:block}.landing-hero,.problem-page,.architecture-hero-card,.profile-grid{grid-template-columns:1fr}.profile-hero{align-items:flex-start;flex-direction:column}.feature-grid,.card-grid,.ops-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-badges{justify-content:flex-start;max-width:none}}@media(max-width:680px){.hero-actions,.section-head,.page-title,.split,.form-row{align-items:stretch;flex-direction:column}.feature-grid,.card-grid,.sample-grid,.two-col,.toolbar,.flow-split,.flow-split.three,.worker-row,.ops-grid.detailed{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.profile-identity{align-items:flex-start;flex-direction:column}}
