:root{--bg-base:#0f111a;--bg-surface:#1a1e2c99;--bg-surface-solid:#1a1e2c;--bg-overlay:#0f111ad9;--accent-primary:#6366f1;--accent-primary-glow:#6366f166;--accent-hover:#818cf8;--accent-secondary:#ec4899;--accent-secondary-glow:#ec489966;--text-main:#f8fafc;--text-muted:#94a3b8;--border-subtle:#ffffff1a;--border-focus:#6366f180;--font-sans:"Inter", system-ui, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--shadow-glow:0 0 20px #6366f126;--shadow-glass:0 8px 32px 0 #0000005e;--glass-blur:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 50% -20%, #1a1e2c 0%, var(--bg-base) 60%);background-attachment:fixed;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);box-shadow:var(--shadow-glass);border-radius:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--accent-primary-glow)}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes indeterminate{0%{transform:translate(-150%)}50%{transform:translate(200%)}to{transform:translate(-150%)}}.btn{font-family:var(--font-sans);cursor:pointer;background:var(--bg-surface-solid);color:var(--text-main);border:none;border:1px solid var(--border-subtle);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff0d;border-color:#fff3}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent-primary);border:1px solid var(--accent-hover);box-shadow:0 0 15px var(--accent-primary-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 25px var(--accent-primary-glow)}.btn-icon{border-radius:8px;padding:8px}input,textarea,select{border:1px solid var(--border-subtle);width:100%;color:var(--text-main);font-family:var(--font-sans);background:#0003;border-radius:8px;padding:10px 14px;font-size:.95rem;transition:all .2s}input:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-glow);outline:none}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.flex-center{justify-content:center;align-items:center;display:flex}.app-container{max-width:1400px;margin:0 auto;padding:16px}.app-header{z-index:100;margin-bottom:24px;position:sticky;top:16px}.header-content{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.header-top{justify-content:space-between;align-items:center;width:100%;display:flex}.main-nav{justify-content:center}.nav-pill.icon-only{padding:8px}.logo-section{align-items:center;gap:12px;display:flex}.app-title{background:linear-gradient(135deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem}.nav-pills{background:#0003;border-radius:12px;gap:8px;width:100%;padding:4px;display:flex}.nav-pill{color:var(--text-muted);cursor:pointer;font-weight:500;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.nav-pill:hover{color:var(--text-main);background:#ffffff0d}.main-nav .nav-pill{flex:1;justify-content:center}.main-nav .nav-pill.active{color:#fff;background:var(--bg-surface-solid);flex:3;box-shadow:0 2px 8px #0003}.nav-pill.icon-only{flex:none;justify-content:center;padding:8px}.nav-pill.icon-only.active{color:var(--accent-primary);border-color:var(--accent-primary-glow);background:#6366f11a}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;border-radius:16px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--border-focus);transform:scale(1.02)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.05)}.item-overlay{opacity:0;background:linear-gradient(#0000 50%,#0f111ae6 100%);align-items:flex-end;padding:16px;transition:opacity .2s;display:flex;position:absolute;inset:0}.gallery-item:hover .item-overlay{opacity:1}.settings-panel{margin:0 auto;padding:30px}.toast{background:var(--bg-surface-solid);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);color:#fff;z-index:9999;box-shadow:var(--shadow-glass);border-radius:30px;padding:12px 24px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-success{border-color:#22c55e80;box-shadow:0 0 20px #22c55e26}.toast-error{border-color:#ef444480;box-shadow:0 0 20px #ef444426}.toast-info{border-color:var(--border-focus)}.generator-container{grid-template-columns:2fr minmax(300px,1fr);gap:24px;height:calc(100vh - 120px);min-height:600px;display:grid}@media (width<=768px){.generator-container{grid-template-rows:auto minmax(400px,1fr);grid-template-columns:1fr;height:auto}}.vault-stats-bar{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);background:#0f111a80;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:12px 20px;display:flex}.stats-info{flex-shrink:0;align-items:center;gap:12px;display:flex}.stats-labels{flex-direction:column;display:flex}@media (width<=768px){.vault-stats-bar{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.stats-info{justify-content:flex-start}.vault-id-pill{order:3;width:100%;justify-content:center!important}.vault-actions{width:100%;justify-content:space-between!important}}.stats-main{color:var(--text-main);font-size:.85rem;font-weight:600}.stats-sub{color:var(--text-muted);font-size:.7rem}.switch{width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#ffffff1a;border-radius:20px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary-glow)}input:checked+.slider:before{transform:translate(16px)}.flex-between{justify-content:space-between;align-items:center;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1100;background:#0f111acc;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface-solid);border:1px solid var(--border-subtle);border-radius:20px;width:100%;max-width:450px;animation:.3s cubic-bezier(.34,1.56,.64,1) modalScale;overflow:hidden;box-shadow:0 20px 50px #00000080}@keyframes modalScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-title{margin:0;font-size:1.1rem;font-weight:700}.modal-body{color:var(--text-muted);padding:24px;font-size:.95rem;line-height:1.6}.modal-footer{border-top:1px solid var(--border-subtle);background:#ffffff05;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.nav-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:1010;opacity:.6;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav-btn:hover{opacity:1;background:#ffffff26;border-color:#ffffff4d;transform:translateY(-50%)scale(1.1)}.nav-btn.left{left:30px}.nav-btn.right{right:30px}@media (width<=768px){.nav-btn{opacity:.4;width:44px;height:44px}.nav-btn.left{left:10px}.nav-btn.right{right:10px}}
