:root{--font-main:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-kr:"Noto Sans KR", sans-serif;--bg-dark:#0f172a;--bg-card:#1e293bb3;--bg-card-hover:#1e293be6;--bg-glass:#0f172abf;--border-color:#ffffff1a;--border-color-glow:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-secondary:#06b6d4;--accent-purple:#a855f7;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444;--gradient-main:linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #06b6d4 100%);--gradient-glow:linear-gradient(135deg, #6366f126 0%, #a855f726 100%);--shadow-lg:0 10px 30px -10px #00000080;--shadow-glow:0 0 25px #6366f140;--radius-lg:16px;--radius-md:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(at 0 0,#6366f11f 0,#0000 50%),radial-gradient(at 100% 100%,#06b6d41f 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}.kr-text{font-family:var(--font-kr)}.app-layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:2rem 1.5rem}.navbar{-webkit-backdrop-filter:blur(16px);background:var(--bg-glass);border-bottom:1px solid var(--border-color);z-index:100;padding:.85rem 1.5rem;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1240px;margin:0 auto;display:flex}.logo-brand{color:var(--text-primary);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.logo-badge{background:var(--gradient-main);border-radius:var(--radius-sm);width:38px;height:38px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.nav-links{align-items:center;gap:.5rem;display:flex}.nav-links a{color:var(--text-secondary);border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-links a:hover{color:var(--text-primary);background:#ffffff0d}.nav-links a.active{color:#fff;background:var(--accent-primary);box-shadow:0 4px 14px #6366f166}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.5rem;transition:transform .2s,border-color .2s}.glass-card:hover{border-color:var(--border-color-glow)}.btn{border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn.btn-primary{background:var(--gradient-main);color:#fff;box-shadow:0 4px 15px #6366f166}.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f199}.btn.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff14}.btn.btn-secondary:hover{background:#ffffff26;border-color:#fff3}.btn.btn-outline{color:var(--accent-secondary);border:1px solid var(--accent-secondary);background:0 0}.btn.btn-outline:hover{background:#06b6d41a}.btn.btn-danger{color:var(--accent-danger);background:#ef444426;border:1px solid #ef44444d}.btn.btn-danger:hover{background:#ef444440}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.pill{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill.pill-primary{color:#a5b4fc;background:#6366f133;border:1px solid #6366f166}.pill.pill-success{color:#6ee7b7;background:#10b98133;border:1px solid #10b98166}.pill.pill-warning{color:#fcd34d;background:#f59e0b33;border:1px solid #f59e0b66}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.input-group input,.input-group textarea,.input-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-main);background:#0f172acc;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}:is(.input-group input,.input-group textarea,.input-group select):focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f140}.input-group textarea{resize:vertical;min-height:100px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card{align-items:center;gap:1.25rem;display:flex}.stat-card .stat-icon{border-radius:var(--radius-md);background:var(--gradient-glow);border:1px solid var(--border-color-glow);width:52px;height:52px;color:var(--accent-primary);justify-content:center;align-items:center;display:flex}.stat-card .stat-value{font-size:1.8rem;font-weight:700;line-height:1.1}.stat-card .stat-label{color:var(--text-secondary);font-size:.85rem}.code-block{border:1px solid var(--border-color);border-radius:var(--radius-md);color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#020617;max-height:400px;padding:1rem;font-family:Fira Code,Courier New,monospace;font-size:.85rem;overflow-y:auto}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color-glow);border-radius:var(--radius-lg);background:#1e293b;width:100%;max-width:750px;max-height:90vh;padding:1.75rem;overflow-y:auto;box-shadow:0 25px 50px -12px #000000b3}.spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.main-content{padding:1rem}.navbar-container{flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr 1fr}}
