:root{--font: "Space Mono", monospace;--font-ko: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--bg: #0d1117;--bg2: #161b22;--bg3: #21262d;--border: #30363d;--border2: #444c56;--text1: #e6edf3;--text2: #8b949e;--text3: #6e7681;--accent: #f7931a;--accent-text: #f7931a;--accent2: #e07b10;--green: #3fb950;--red: #f85149;--blue: #58a6ff;--purple: #a371f7;--max-w: 1200px;--radius: 8px}[data-theme=light]{--bg: #f6f8fa;--bg2: #fff;--bg3: #eaeef2;--border: #d0d7de;--border2: #b8c0cc;--text1: #1f2328;--text2: #656d76;--text3: #8c959f;--accent: #bc4e00;--accent-text: #b34700}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ko);background:var(--bg);color:var(--text1);min-height:100vh;padding-bottom:90px}a{color:inherit;text-decoration:none}header{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:var(--gnav-h, 0px);z-index:100}.nav-top{max-width:var(--max-w);margin:0 auto;padding:0 20px;height:48px;display:flex;align-items:center;gap:12px}.logo{display:flex;align-items:center;font-family:var(--font);font-size:1rem;font-weight:700;color:var(--accent-text);text-decoration:none;letter-spacing:.05em;flex-shrink:0}.logo:hover{opacity:.8}.logo-icon{flex-shrink:0;margin-right:6px}.logo-sep{color:var(--border);font-family:var(--font);font-size:.9rem;margin:0 2px}.logo-sub{font-family:var(--font);font-size:.8rem;color:var(--text3)}.nav-links{display:flex;align-items:center;gap:4px;margin-left:12px;padding-left:12px;border-left:1px solid var(--border)}.nav-links a{color:var(--text2);font-size:.78rem;padding:5px 10px;border-radius:4px;font-family:var(--font-ko);transition:all .2s;white-space:nowrap;text-decoration:none}.nav-links a:hover{color:var(--accent);background:#f7931a0f}.nav-links a.active{color:var(--accent);background:#f7931a14}.nav-right{margin-left:auto;display:flex;align-items:center;gap:6px}.auth-mount{position:relative;display:inline-flex}.theme-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-btn:hover{border-color:var(--accent);color:var(--accent)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.lang-dropdown{position:relative}.lang-btn{background:none;border:1px solid var(--border);color:var(--text2);font-family:var(--font);font-size:.72rem;font-weight:700;padding:0 8px;height:32px;border-radius:6px;cursor:pointer;transition:all .2s;letter-spacing:.05em}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--bg2);border:1px solid var(--border);border-radius:8px;min-width:100px;z-index:200;box-shadow:0 8px 24px #0006;overflow:hidden}.lang-menu.open{display:block}.lang-menu button{display:block;width:100%;text-align:left;padding:8px 14px;background:none;border:none;color:var(--text2);font-family:var(--font-ko);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.lang-menu button:hover{background:var(--bg3);color:var(--accent)}.hero{text-align:center;padding:52px 20px 32px}.hero h1{font-family:var(--font);font-size:2.2rem;font-weight:700;margin-bottom:10px}.accent{color:var(--accent-text)}.hero-sub{color:var(--text2);font-size:.9rem}.hero-pad{padding:36px 20px 20px}.content{max-width:var(--max-w);margin:0 auto;padding:0 24px 60px}.period-bar{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.period-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text2);font-family:var(--font-ko);font-size:.75rem;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .2s}.period-btn:hover{border-color:var(--accent);color:var(--accent)}.period-btn.active{border-color:var(--accent);color:var(--accent);background:#f7931a1a}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.kpi-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:transform .2s,box-shadow .2s}.kpi-val{font-family:var(--font);font-size:1.05rem;font-weight:700;color:var(--accent-text)}.kpi-lbl{font-size:.62rem;color:var(--text3);font-family:var(--font-ko);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.kpi-change{font-size:.65rem;font-family:var(--font);margin-top:3px}.kpi-change.up{color:var(--green)}.kpi-change.down{color:var(--red)}.kpi-loading{grid-column:1 / -1;color:var(--text3);font-size:.8rem;padding:12px}.kpi-error{grid-column:1 / -1;color:var(--red);font-size:.8rem;padding:12px}.retry-inline{margin-left:12px;padding:4px 10px;font-size:.72rem}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.chart-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:transform .2s,box-shadow .2s}.kpi-card:hover,.chart-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.chart-title{font-size:.72rem;color:var(--text2);font-family:var(--font-ko);margin-bottom:10px}.canvas-h{height:120px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card:hover{border-color:var(--border2)}.section-title{font-size:.78rem;font-weight:600;color:var(--text2);font-family:var(--font-ko);text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}.icon-inline{display:inline;vertical-align:middle}.pool-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.pool-row:last-child{border-bottom:none}.pool-name{font-size:.78rem;color:var(--text1);flex:1;font-family:var(--font-ko)}.pool-bar-wrap{width:80px;background:var(--bg3);border-radius:2px;height:5px}.pool-bar{background:var(--accent);height:100%;border-radius:2px;width:var(--w)}.pool-pct{font-family:var(--font);font-size:.68rem;color:var(--text2);width:36px;text-align:right}.bs-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);font-size:.75rem}.bs-row:last-child{border-bottom:none}.bs-key{color:var(--text3);font-family:var(--font-ko)}.bs-val{font-family:var(--font);color:var(--text1)}.learn-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:7px;margin:10px auto;max-width:var(--max-w);font-size:.78rem}.learn-links svg{color:var(--text3);flex-shrink:0}.learn-label{color:var(--text3);font-family:var(--font-ko);white-space:nowrap;margin-right:2px}.learn-chip{color:var(--text2);text-decoration:none;padding:3px 10px;border:1px solid var(--border);border-radius:4px;font-family:var(--font-ko);font-size:.72rem;transition:all .15s;white-space:nowrap}.learn-chip:hover{border-color:var(--accent);color:var(--accent)}footer{border-top:1px solid var(--border);padding:16px 20px;margin-top:40px}.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.7rem;color:var(--text3);font-family:var(--font-ko)}.footer-inner a{color:var(--text2);text-decoration:none}.footer-inner a:hover{color:var(--accent-text)}.footer-sep{color:var(--text3);margin:0 4px}.footer-links{display:flex;align-items:center;flex-wrap:wrap}.appbar{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg2);position:fixed;bottom:0;left:0;right:0;z-index:90;backdrop-filter:blur(10px)}.appbar a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text2);font-size:.62rem;font-family:var(--font-ko);background:var(--bg3);min-width:56px;transition:all .2s}.appbar a:hover,.appbar a.active{border-color:var(--accent);color:var(--accent)}.appbar a svg{flex-shrink:0}.icon-noshrink{flex-shrink:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;z-index:1000;font-size:.8rem;font-family:var(--font-ko);transition:top .2s;text-decoration:none;border-radius:0 0 4px}.skip-link:focus{top:0}.btn{background:var(--accent);border:none;color:#000;font-family:var(--font-ko);font-weight:700;font-size:.82rem;padding:8px 18px;border-radius:7px;cursor:pointer}.btn:hover{background:var(--accent2)}.btn.secondary{background:var(--bg3);border:1px solid var(--border);color:var(--text2);font-weight:400}.mobile-only{display:none}@media(max-width:768px){body{padding-bottom:0}.desktop-only{display:none!important}.mobile-only{display:block}.appbar{display:none!important}}@media(max-width:680px){.charts-grid,.two-col{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}}.hamburger-wrap{position:relative}.hamburger-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--bg2);border:1px solid var(--border);border-radius:10px;min-width:200px;z-index:300;box-shadow:0 8px 32px #00000080;overflow:hidden}.hamburger-panel.open{display:block}.settings-section{padding:8px 6px}.settings-section--border{border-top:1px solid var(--border)}.settings-label{font-size:.68rem;color:var(--text3);font-family:var(--font-ko);padding:2px 8px 6px;text-transform:uppercase;letter-spacing:.06em}.settings-lang-row{display:flex;gap:4px;padding:2px 8px 4px}.settings-lang-btn{flex:1;background:var(--bg3);border:1px solid var(--border);color:var(--text2);font-family:var(--font);font-size:.72rem;padding:5px 0;border-radius:5px;cursor:pointer;transition:all .2s;text-align:center}.settings-lang-btn:hover,.settings-lang-btn.active{border-color:var(--accent);color:var(--accent);background:#f7931a14}.settings-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;color:var(--text2);font-family:var(--font-ko);font-size:.78rem;padding:7px 10px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;text-align:left}.settings-item:hover{background:var(--bg3);color:var(--accent)}:focus-visible{outline:2px solid var(--accent, #f7931a);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}
