@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap";.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-brand);color:var(--background)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:var(--shadow-glow)}.btn--secondary{background:var(--glass-bg);border-color:var(--border);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--border-hover)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary)}.btn--danger{background:var(--color-danger);color:var(--text-primary)}.btn--danger:hover:not(:disabled){background:#f33;box-shadow:0 0 20px #ff52524d}.btn--small{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn--medium{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.btn--large{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.btn--full{width:100%}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.input-wrapper--full{width:100%}.input__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--text-placeholder)}.input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-muted)}.input--error{border-color:var(--color-error)}.input--error:focus{box-shadow:0 0 0 3px #ff444426}.input__error{font-size:var(--text-sm);color:var(--color-error)}.vault-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.vault-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;animation:vault-modal-enter .2s ease-out}@keyframes vault-modal-enter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.vault-modal__header{padding:var(--space-6);text-align:center;border-bottom:1px solid var(--border-subtle)}.vault-modal__icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--color-brand)}.vault-modal__icon svg{width:100%;height:100%}.vault-modal__title{font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.vault-modal__subtitle{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.vault-modal__form{padding:var(--space-6)}.vault-modal__field{margin-bottom:var(--space-4)}.vault-modal__strength{margin-top:var(--space-2)}.vault-modal__strength-bar{display:flex;gap:4px;margin-bottom:var(--space-2)}.vault-modal__strength-segment{flex:1;height:4px;background:var(--border);border-radius:2px;transition:background-color .2s}.vault-modal__strength-segment.active{background:var(--color-brand)}.vault-modal__strength-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.vault-modal__strength-feedback{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1)}.vault-modal__remember{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary)}.vault-modal__remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-brand)}.vault-modal__error{background:#ff52521a;border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.vault-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.vault-modal__warning{display:flex;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);background:#ffcc001a;border:1px solid var(--color-warning);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-warning)}.vault-modal__warning svg{flex-shrink:0;width:20px;height:20px}.vault-modal__warning p{margin:0;line-height:1.5}.vault-modal__warning strong{display:block;margin-bottom:var(--space-1)}.vault-modal__apikey-field{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.vault-modal__apikey-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.vault-modal__apikey-hint a{color:var(--color-brand);text-decoration:none}.vault-modal__apikey-hint a:hover{text-decoration:underline}:root{--background: #0a0a0f;--background-secondary: #12121a;--surface: #1a1a24;--surface-elevated: #22222e;--text-primary: #e8e8ec;--text-secondary: #a8a8b3;--text-muted: #6b6b7a;--text-placeholder: #4a4a58;--color-brand: #00d4ff;--color-brand-hover: #00b8e0;--color-brand-muted: rgba(0, 212, 255, .15);--element-data: #00d4ff;--element-signal: #00ff88;--element-static: #ff4444;--element-void: #9944ff;--element-neutral: #888899;--element-corrupt: #ff00ff;--rarity-common: #6b6b7a;--rarity-uncommon: #00cc66;--rarity-rare: #3399ff;--rarity-epic: #9944ff;--rarity-legendary: #ffaa00;--color-success: #00cc66;--color-error: #ff4444;--color-warning: #ffaa00;--color-info: #3399ff;--border: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .05);--border-hover: rgba(0, 212, 255, .4);--glass-bg: rgba(255, 255, 255, .03);--glass-bg-hover: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .08);--font-display: "Orbitron", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 212, 255, .3);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--background);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:.02em}h1{font-size:clamp(2rem,5vw,var(--text-5xl))}h2{font-size:clamp(1.75rem,4vw,var(--text-4xl))}h3{font-size:clamp(1.5rem,3vw,var(--text-3xl))}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4);color:var(--text-secondary)}a{color:var(--color-brand);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-brand-hover)}code,pre,.mono{font-family:var(--font-mono)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}::selection{background-color:var(--color-brand-muted);color:var(--text-primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}@media(min-width:768px){.container{padding:0 var(--space-6)}}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
