@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Noto+Sans+KR:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--void: #080810;--deep: #0D0D18;--surface: #11111E;--raised: #171728;--elevated: #1E1E32;--border: #252538;--border-2: #2E2E48;--border-hi: #3D3D60;--teal: #00E5CC;--teal-dim: #00C4B0;--teal-glow: rgba(0, 229, 204, .15);--teal-faint: rgba(0, 229, 204, .06);--gold: #F5C842;--gold-dim: #D4A820;--text: #F0F0FA;--text-2: #A0A0C0;--text-3: #606080;--text-inv: #080810;--success: #00E5CC;--warning: #F5C842;--error: #FF4D6D;--font-display: "Cormorant Garamond", "Noto Serif KR", Georgia, serif;--font-body: "Noto Sans KR", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 28px;--shadow-sm: 0 1px 4px rgba(0,0,0,.4);--shadow: 0 4px 24px rgba(0,0,0,.5);--shadow-lg: 0 16px 64px rgba(0,0,0,.6);--shadow-teal: 0 4px 32px rgba(0,229,204,.18);--shadow-teal-lg: 0 8px 48px rgba(0,229,204,.25);--max-w: 1120px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--void);color:var(--text);font-family:var(--font-body);line-height:1.65;min-height:100vh}::selection{background:var(--teal);color:var(--void)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-.02em;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:15px;font-weight:500;border:none;border-radius:var(--radius);padding:12px 24px;transition:all .2s ease;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 60%);opacity:0;transition:opacity .2s}.btn:hover:after{opacity:1}.btn-primary{background:var(--teal);color:var(--void);font-weight:700;box-shadow:var(--shadow-teal);letter-spacing:.01em}.btn-primary:hover{background:var(--teal-dim);transform:translateY(-2px);box-shadow:var(--shadow-teal-lg)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border-2)}.btn-ghost:hover{border-color:var(--border-hi);color:var(--text);background:var(--raised)}.btn-outline-teal{background:var(--teal-faint);color:var(--teal);border:1px solid rgba(0,229,204,.3)}.btn-outline-teal:hover{background:var(--teal-glow);border-color:var(--teal);box-shadow:0 0 20px #00e5cc33}.btn-sm{padding:8px 16px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:16px 40px;font-size:16px;border-radius:var(--radius)}.btn-xl{padding:18px 48px;font-size:17px;border-radius:var(--radius)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase}.form-input{padding:12px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;border:1px solid var(--border-2);background:var(--deep);color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s;outline:none}.form-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #00e5cc1f;background:var(--surface)}.form-input::placeholder{color:var(--text-3)}.form-hint{font-size:12px;color:var(--text-3)}select.form-input option{background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card:hover{border-color:var(--border-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.04em;font-family:var(--font-body)}.badge-success{background:#00e5cc1f;color:var(--teal);border:1px solid rgba(0,229,204,.25)}.badge-warning{background:#f5c8421f;color:var(--gold);border:1px solid rgba(245,200,66,.25)}.badge-error{background:#ff4d6d1f;color:#ff4d6d;border:1px solid rgba(255,77,109,.25)}.badge-teal{background:#00e5cc1f;color:var(--teal);border:1px solid rgba(0,229,204,.2)}.badge-indigo{background:#00e5cc14;color:var(--teal);border:1px solid rgba(0,229,204,.15)}.badge-neutral{background:var(--raised);color:var(--text-2);border:1px solid var(--border)}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;border:1px solid transparent}.alert-error{background:#ff4d6d14;border-color:#ff4d6d40;color:#ff4d6d}.alert-success{background:#00e5cc14;border-color:#00e5cc40;color:var(--teal)}.alert-info{background:#00e5cc0f;border-color:#00e5cc33;color:var(--teal)}.alert-warning{background:#f5c84214;border-color:#f5c84240;color:var(--gold)}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:10px 16px;border-bottom:1px solid var(--border);text-align:left;background:var(--deep)}.table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border);color:var(--text-2)}.table td:first-child{color:var(--text)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--raised)}.container{max-width:var(--max-w);margin:0 auto;padding:0 28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mono{font-family:var(--font-mono);letter-spacing:.04em}.divider{border:none;border-top:1px solid var(--border);margin:0}@keyframes pulse-teal{0%,to{box-shadow:0 0 #00e5cc66}50%{box-shadow:0 0 0 8px #00e5cc00}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media(max-width:768px){:root{font-size:15px}.container{padding:0 16px}}
