@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,600;0,700;1,600&family=Space+Grotesk:wght@400;500;600;700&display=swap";.language-switcher[data-v-795e7b56]{position:relative}.lang-btn[data-v-795e7b56]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#2c3e5014;border:1px solid rgba(44,62,80,.12);border-radius:20px;color:#2c3e50;font-size:14px;cursor:pointer;transition:all .3s}.lang-btn[data-v-795e7b56]:hover{background:#2c3e501f;border-color:#2c3e5033}.current-name[data-v-795e7b56]{font-weight:500}.arrow-icon[data-v-795e7b56]{transition:transform .3s;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.arrow-icon.open[data-v-795e7b56]{transform:rotate(180deg)}.lang-menu[data-v-795e7b56]{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;min-width:160px;z-index:1000}.lang-option[data-v-795e7b56]{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;color:#2c3e50;font-size:14px;text-align:left;cursor:pointer;transition:all .3s}.lang-option[data-v-795e7b56]:hover{background:#2c3e500d}.lang-option.active[data-v-795e7b56]{background:#2c3e5014;font-weight:500}.lang-option .name[data-v-795e7b56]{flex:1}.check-icon[data-v-795e7b56]{stroke:#2c3e50;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.dropdown-enter-active[data-v-795e7b56],.dropdown-leave-active[data-v-795e7b56]{transition:all .3s ease}.dropdown-enter-from[data-v-795e7b56],.dropdown-leave-to[data-v-795e7b56]{opacity:0;transform:translateY(-10px)}@media (max-width: 768px){.current-name[data-v-795e7b56]{display:none}.lang-btn[data-v-795e7b56]{padding:6px 10px}}.modal-overlay[data-v-80c1e8d4]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-container[data-v-80c1e8d4]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-80c1e8d4]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0}.modal-header h2[data-v-80c1e8d4]{margin:0;font-size:24px;color:#2c3e50}.close-btn[data-v-80c1e8d4]{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s}.close-btn[data-v-80c1e8d4]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-80c1e8d4]{padding:24px}.modal-description[data-v-80c1e8d4]{color:#666;margin-bottom:24px;line-height:1.6}.form-group[data-v-80c1e8d4]{margin-bottom:20px}.form-group label[data-v-80c1e8d4]{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.optional[data-v-80c1e8d4]{font-weight:400;color:#999;font-size:12px}.required[data-v-80c1e8d4]{color:#e74c3c}.form-input[data-v-80c1e8d4]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:all .3s}.form-input[data-v-80c1e8d4]:focus{outline:none;border-color:#2c3e50;background:#f8f9fa}textarea.form-input[data-v-80c1e8d4]{resize:vertical;min-height:120px}.upload-area[data-v-80c1e8d4]{border:2px dashed #d0d0d0;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .3s}.upload-area[data-v-80c1e8d4]:hover{border-color:#2c3e50;background:#f8f9fa}.upload-placeholder[data-v-80c1e8d4]{color:#999}.upload-placeholder svg[data-v-80c1e8d4]{margin:0 auto 12px;color:#ccc}.upload-placeholder p[data-v-80c1e8d4]{margin:0;font-size:14px}.file-list[data-v-80c1e8d4]{display:grid;gap:12px}.file-item[data-v-80c1e8d4]{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px}.file-item img[data-v-80c1e8d4]{width:60px;height:60px;object-fit:cover;border-radius:6px}.file-name[data-v-80c1e8d4]{flex:1;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file[data-v-80c1e8d4]{background:#e74c3c;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .3s}.remove-file[data-v-80c1e8d4]:hover{background:#c0392b;transform:scale(1.1)}.form-actions[data-v-80c1e8d4]{display:flex;gap:12px;margin-top:24px}.btn-cancel[data-v-80c1e8d4],.btn-submit[data-v-80c1e8d4]{flex:1;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;border:none}.btn-cancel[data-v-80c1e8d4]{background:#f5f5f5;color:#666}.btn-cancel[data-v-80c1e8d4]:hover{background:#e0e0e0}.btn-submit[data-v-80c1e8d4]{background:linear-gradient(135deg,#2c3e50,#000);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.btn-submit[data-v-80c1e8d4]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.btn-submit[data-v-80c1e8d4]:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner[data-v-80c1e8d4]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-80c1e8d4 .8s linear infinite}@keyframes spin-80c1e8d4{to{transform:rotate(360deg)}}.message[data-v-80c1e8d4]{margin-top:16px;padding:12px;border-radius:8px;text-align:center;font-size:14px}.message.success[data-v-80c1e8d4]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error[data-v-80c1e8d4]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.modal-enter-active[data-v-80c1e8d4],.modal-leave-active[data-v-80c1e8d4]{transition:opacity .3s}.modal-enter-from[data-v-80c1e8d4],.modal-leave-to[data-v-80c1e8d4]{opacity:0}.modal-enter-active .modal-container[data-v-80c1e8d4]{animation:slide-in-80c1e8d4 .3s}.modal-leave-active .modal-container[data-v-80c1e8d4]{animation:slide-out-80c1e8d4 .3s}@keyframes slide-in-80c1e8d4{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out-80c1e8d4{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@media (max-width: 768px){.modal-container[data-v-80c1e8d4]{max-width:100%;margin:0;border-radius:12px 12px 0 0;max-height:95vh}.modal-overlay[data-v-80c1e8d4]{align-items:flex-end;padding:0}}.navbar[data-v-fb62b8cc]{position:sticky;top:0;z-index:1000;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-container[data-v-fb62b8cc]{max-width:1320px;margin:0 auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.logo[data-v-fb62b8cc]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;text-decoration:none;padding:6px 10px;border-radius:14px;transition:all .2s ease;font-family:var(--font-serif)}.logo[data-v-fb62b8cc]:hover{background:rgba(var(--mono-ink-rgb),.04)}.logo-icon[data-v-fb62b8cc]{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-ink);font-size:14px}.logo-text[data-v-fb62b8cc]{font-weight:600;letter-spacing:-.2px}.nav-right[data-v-fb62b8cc]{display:flex;align-items:center;gap:16px}.nav-links[data-v-fb62b8cc]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav-actions[data-v-fb62b8cc]{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--border-subtle)}.quota-display[data-v-fb62b8cc]{padding:6px 12px;background:var(--surface-strong);border-radius:999px;font-size:12px;color:var(--text-subtle);border:1px solid var(--border-subtle)}.nav-link[data-v-fb62b8cc]{text-decoration:none;color:var(--text-subtle);padding:8px 12px;border-radius:999px;border:1px solid transparent;transition:all .2s;font-size:13px;font-weight:500}.nav-link.contact-link[data-v-fb62b8cc]{background:none;border:none;cursor:pointer;font-family:inherit}.nav-link[data-v-fb62b8cc]:hover{background:rgba(var(--mono-ink-rgb),.06);color:var(--text-strong)}.nav-link.router-link-active[data-v-fb62b8cc]{background:var(--surface);border-color:var(--border-subtle);color:var(--text-strong);box-shadow:var(--shadow-soft)}.github-badge[data-v-fb62b8cc]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--ink-solid);color:var(--paper-solid);text-decoration:none;border-radius:999px;font-size:12px;font-weight:600;transition:all .2s}.github-badge[data-v-fb62b8cc]:hover{background:rgba(var(--mono-ink-rgb),.9)}.github-badge svg[data-v-fb62b8cc]{flex-shrink:0}.github-badge .external-icon[data-v-fb62b8cc]{opacity:.6;margin-left:2px}.btn-login[data-v-fb62b8cc]{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-ink);padding:8px 16px;border-radius:999px;text-decoration:none;transition:all .2s;font-size:13px;font-weight:600}.btn-login[data-v-fb62b8cc]:hover{transform:translateY(-1px)}.user-menu[data-v-fb62b8cc]{position:relative}.user-btn[data-v-fb62b8cc]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface);color:var(--text-strong);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.user-btn[data-v-fb62b8cc]:hover{border-color:var(--border-strong)}.dropdown[data-v-fb62b8cc]{position:absolute;right:0;top:100%;margin-top:8px;background:var(--surface);border-radius:12px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);min-width:150px}.dropdown button[data-v-fb62b8cc]{display:block;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-strong);text-align:left;cursor:pointer;font-size:14px}.dropdown button[data-v-fb62b8cc]:hover{background:rgba(var(--mono-ink-rgb),.05)}.theme-toggle[data-v-fb62b8cc]{border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-strong);padding:6px 10px;border-radius:999px;font-size:14px;line-height:1;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.theme-toggle[data-v-fb62b8cc]:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-icon[data-v-fb62b8cc]{line-height:1}@media (max-width: 900px){.nav-links[data-v-fb62b8cc]{display:none}.nav-actions[data-v-fb62b8cc]{border-left:none;padding-left:0}}.site-footer[data-v-cb5ba01a]{background:linear-gradient(135deg,#2c3e50,#1a1a1a);color:#fff;padding:60px 20px 20px;margin-top:80px}.footer-container[data-v-cb5ba01a]{max-width:1200px;margin:0 auto}.footer-content[data-v-cb5ba01a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px}.footer-section h3[data-v-cb5ba01a]{font-size:18px;margin-bottom:20px;color:#fff;font-weight:600}.footer-section p[data-v-cb5ba01a]{color:#fffc;line-height:1.6;font-size:14px;margin-bottom:15px}.opensource-badge[data-v-cb5ba01a]{margin-top:15px}.github-link[data-v-cb5ba01a]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;text-decoration:none;font-size:14px;transition:all .3s}.github-link[data-v-cb5ba01a]:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px)}.github-link svg[data-v-cb5ba01a]{flex-shrink:0}.footer-links[data-v-cb5ba01a]{list-style:none;padding:0;margin:0}.footer-links li[data-v-cb5ba01a]{margin-bottom:12px}.footer-links a[data-v-cb5ba01a]{color:#fffc;text-decoration:none;font-size:14px;transition:all .3s;display:inline-block}.footer-links a[data-v-cb5ba01a]:hover{color:#fff;padding-left:5px}.footer-bottom[data-v-cb5ba01a]{padding-top:30px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p[data-v-cb5ba01a]{color:#fff9;font-size:14px;margin:8px 0}.footer-bottom a[data-v-cb5ba01a]{color:#fffc;text-decoration:none;transition:color .3s}.footer-bottom a[data-v-cb5ba01a]:hover{color:#fff}@media (max-width: 768px){.site-footer[data-v-cb5ba01a]{padding:40px 20px 20px;margin-top:40px}.footer-content[data-v-cb5ba01a]{grid-template-columns:1fr;gap:30px}.footer-section h3[data-v-cb5ba01a]{font-size:16px}}.dashboard-shell[data-v-1145da4f]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.brand-link[data-v-1145da4f]{display:flex;align-items:center;gap:12px;color:inherit}.brand-mark[data-v-1145da4f]{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-ink);font-weight:700;display:grid;place-items:center;letter-spacing:-1px}.brand-text[data-v-1145da4f]{display:flex;flex-direction:column}.brand-title[data-v-1145da4f]{font-weight:600;font-size:14px}.brand-subtitle[data-v-1145da4f]{font-size:12px;color:var(--text-subtle)}.topbar[data-v-1145da4f]{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5;gap:12px;box-shadow:0 12px 30px rgba(var(--mono-ink-rgb),.08)}.topbar-left[data-v-1145da4f]{display:flex;align-items:center;gap:16px;min-width:0}.topbar-nav[data-v-1145da4f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar-nav .nav-item[data-v-1145da4f]{padding:8px 12px;border-radius:999px;color:var(--text-subtle);font-weight:500;background:transparent;transition:all .2s ease;font-size:13px;border:1px solid transparent}.topbar-nav .nav-item[data-v-1145da4f]:hover{background:var(--surface);color:var(--text-strong);border-color:var(--border-subtle)}.topbar-nav .nav-item.router-link-active[data-v-1145da4f]{background:linear-gradient(135deg,rgba(var(--accent-rgb),.35),rgba(var(--accent-strong-rgb),.15));color:var(--accent-ink);border:1px solid rgba(var(--accent-rgb),.35)}.topbar-right[data-v-1145da4f]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quota-pill[data-v-1145da4f]{padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border-subtle);font-size:12px;color:var(--text-subtle)}.theme-toggle[data-v-1145da4f]{border:1px solid var(--border-subtle);background:var(--surface);padding:8px 10px;border-radius:999px;font-size:14px;line-height:1;cursor:pointer;color:var(--text-strong);display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle[data-v-1145da4f]:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-icon[data-v-1145da4f]{display:inline-block;line-height:1}.menu-toggle[data-v-1145da4f]{border:1px solid var(--border-subtle);background:var(--surface);padding:8px 12px;border-radius:999px;font-size:12px;display:none;color:var(--text-strong)}.user-menu[data-v-1145da4f]{position:relative}.user-btn[data-v-1145da4f]{border:1px solid var(--border-subtle);background:var(--surface);padding:8px 12px;border-radius:999px;font-weight:500;font-size:13px;color:var(--text-strong)}.dropdown[data-v-1145da4f]{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;padding:8px;box-shadow:var(--shadow-soft);min-width:140px}.dropdown button[data-v-1145da4f]{width:100%;padding:8px 10px;border:none;background:transparent;text-align:left;border-radius:8px}.dropdown button[data-v-1145da4f]:hover{background:rgba(var(--mono-ink-rgb),.05)}.dashboard-content[data-v-1145da4f]{padding:24px 28px 40px;max-width:1440px;width:100%;margin:0 auto}.mobile-nav[data-v-1145da4f]{position:fixed;right:0;top:0;width:260px;height:100vh;background:var(--surface);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-strong);transform:translate(100%);transition:transform .3s ease;z-index:20;padding:16px;display:flex;flex-direction:column;gap:16px}.dashboard-shell.nav-open .mobile-nav[data-v-1145da4f]{transform:translate(0)}.mobile-nav-header[data-v-1145da4f]{display:flex;align-items:center;justify-content:space-between;font-weight:600}.mobile-nav-header button[data-v-1145da4f]{background:transparent;border:none;color:var(--text-strong);cursor:pointer;font-size:16px}.mobile-nav-links[data-v-1145da4f]{display:grid;gap:10px}.mobile-nav .nav-item[data-v-1145da4f]{padding:10px 12px;border-radius:12px;border:1px solid var(--border-subtle);color:var(--text-strong)}.nav-action[data-v-1145da4f]{background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-strong);padding:10px 12px;border-radius:12px;font-weight:500;text-align:left}.nav-backdrop[data-v-1145da4f]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--mono-ink-rgb),.4);z-index:15;opacity:0;pointer-events:none;transition:opacity .3s ease}.dashboard-shell.nav-open .nav-backdrop[data-v-1145da4f]{opacity:1;pointer-events:auto}@media (max-width: 980px){.topbar-nav[data-v-1145da4f]{display:none}.menu-toggle[data-v-1145da4f]{display:inline-flex}}@media (max-width: 640px){.topbar[data-v-1145da4f]{padding:14px 18px}.dashboard-content[data-v-1145da4f]{padding:18px}.quota-pill[data-v-1145da4f]{display:none}}#app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}:root{--bg: #f4f1ec;--bg-muted: #ede7e1;--surface: #fdfaf6;--surface-strong: #f2ece6;--surface-muted: #f0eae4;--text-strong: #171614;--text-subtle: #4d4843;--text-faint: #7a736b;--accent: #191817;--accent-strong: #0c0b0a;--accent-ink: #fbf8f3;--border-subtle: rgba(23, 22, 20, .1);--border-strong: rgba(23, 22, 20, .22);--shadow-soft: 0 12px 32px rgba(18, 17, 15, .08);--shadow-strong: 0 24px 64px rgba(18, 17, 15, .16);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--font-sans: "Space Grotesk", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif: "Newsreader", "Noto Serif SC", serif;--mono-ink-rgb: 23, 22, 20;--mono-paper-rgb: 253, 250, 246;--accent-rgb: 25, 24, 23;--accent-strong-rgb: 12, 11, 10;--glass-bg: rgba(253, 250, 246, .82);--glass-border: rgba(23, 22, 20, .1);--page-bg: radial-gradient(1200px 620px at 12% -8%, rgba(var(--mono-ink-rgb), .08) 0%, transparent 60%), radial-gradient(900px 540px at 88% 0%, rgba(var(--mono-ink-rgb), .05) 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-muted) 100%);--ink-solid: rgb(var(--mono-ink-rgb));--paper-solid: rgb(var(--mono-paper-rgb));--status-success-bg: rgba(var(--mono-ink-rgb), .08);--status-success-border: rgba(var(--mono-ink-rgb), .2);--status-success-text: var(--text-strong);--status-danger-bg: rgba(var(--mono-ink-rgb), .12);--status-danger-border: rgba(var(--mono-ink-rgb), .28);--status-danger-text: var(--text-strong);--status-warning-bg: rgba(var(--mono-ink-rgb), .1);--status-warning-border: rgba(var(--mono-ink-rgb), .22);--status-warning-text: var(--text-strong);--status-info-bg: rgba(var(--mono-ink-rgb), .08);--status-info-border: rgba(var(--mono-ink-rgb), .2);--status-info-text: var(--text-strong)}:root[data-theme=mono-dark]{--bg: #0c0b0a;--bg-muted: #12100f;--surface: #171514;--surface-strong: #11100f;--surface-muted: #1e1c1b;--text-strong: #f7f3ee;--text-subtle: rgba(247, 243, 238, .72);--text-faint: rgba(247, 243, 238, .45);--accent: #f7f3ee;--accent-strong: #ffffff;--accent-ink: #0c0b0a;--border-subtle: rgba(247, 243, 238, .12);--border-strong: rgba(247, 243, 238, .26);--shadow-soft: 0 18px 40px rgba(0, 0, 0, .5);--shadow-strong: 0 28px 70px rgba(0, 0, 0, .6);--mono-ink-rgb: 247, 243, 238;--mono-paper-rgb: 12, 11, 10;--accent-rgb: 247, 243, 238;--accent-strong-rgb: 255, 255, 255;--glass-bg: rgba(18, 16, 15, .8);--glass-border: rgba(247, 243, 238, .12);--ink-solid: rgb(var(--mono-ink-rgb));--paper-solid: rgb(var(--mono-paper-rgb))}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-strong);background:var(--page-bg);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;line-height:1.6;letter-spacing:.01em}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(var(--mono-ink-rgb),.05) 1px,transparent 1px);background-size:26px 26px;opacity:.06;z-index:-1}a{color:inherit;text-decoration:none;transition:color .2s ease}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}#app{min-height:100vh}.mono-title,h1,h2,h3{letter-spacing:-.01em}.mono-title{font-family:var(--font-serif)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;background:transparent;letter-spacing:.02em}.btn-solid{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-ink);border:1px solid rgba(var(--accent-rgb),.32);box-shadow:0 12px 28px rgba(var(--accent-rgb),.25)}.btn-solid:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(var(--accent-rgb),.32)}.btn-outline{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface)}.btn-ghost{border-color:transparent;color:var(--text-subtle)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);transition:box-shadow .2s ease,transform .2s ease}.input,input.input,textarea.input,select.input{width:100%;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface);font-size:14px;color:var(--text-strong);transition:all .2s ease;box-shadow:inset 0 1px rgba(var(--mono-paper-rgb),.4)}.input:focus,input.input:focus,textarea.input:focus,select.input:focus{outline:none;border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.25)}::selection{background:rgba(var(--accent-rgb),.2);color:var(--text-strong)}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface-muted);color:var(--text-subtle);font-size:12px;border:1px solid var(--border-subtle)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:rgba(var(--accent-rgb),.15);color:var(--accent-ink);font-size:11px;font-weight:600}.mono{font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.text-muted{color:var(--text-subtle)}.loading{display:inline-block;width:18px;height:18px;border:2px solid rgba(var(--mono-ink-rgb),.15);border-radius:50%;border-top-color:rgba(var(--mono-ink-rgb),.7);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-up .6s ease both}
