.boot-splash[data-v-7e6d2529]{min-height:100vh;display:grid;place-items:center}.loading-dots[data-v-7e6d2529]{display:flex;gap:8px}.loading-dot[data-v-7e6d2529]{width:10px;height:10px;border-radius:999px;background:var(--accent);animation:pulse-7e6d2529 1s ease-in-out infinite}.loading-dot[data-v-7e6d2529]:nth-child(2){animation-delay:.15s}.loading-dot[data-v-7e6d2529]:nth-child(3){animation-delay:.3s}.app-footer[data-v-7e6d2529]{text-align:center;padding:24px 24px 20px;border-top:1px solid var(--border);margin-top:auto}.footer-nav[data-v-7e6d2529]{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;letter-spacing:.02em}.footer-nav a[data-v-7e6d2529]{color:var(--text-dim);text-decoration:none;transition:color .2s ease}.footer-nav a[data-v-7e6d2529]:hover{color:var(--accent)}.footer-nav a.router-link-active[data-v-7e6d2529]{color:var(--text-muted);pointer-events:none}.build-info-wrapper[data-v-7e6d2529]{position:relative;display:inline-flex;align-items:center}.build-info-btn[data-v-7e6d2529]{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;display:inline-flex;align-items:center;transition:color .2s ease;line-height:1}.build-info-btn[data-v-7e6d2529]:hover{color:var(--accent)}.build-info-popup[data-v-7e6d2529]{position:absolute;bottom:calc(100% + 8px);right:-8px;background:var(--surface, #1a1a1a);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:11px;white-space:nowrap;z-index:100;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 12px #00000026}.build-info-row[data-v-7e6d2529]{display:flex;gap:8px;align-items:center;color:var(--text-muted)}.build-info-label[data-v-7e6d2529]{font-weight:600;color:var(--text);min-width:60px}.build-info-dim[data-v-7e6d2529]{color:var(--text-dim);font-size:10px}.footer-sep[data-v-7e6d2529]{margin:0 4px;opacity:.4;color:var(--text-dim)}@keyframes pulse-7e6d2529{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0f0d0b;--bg-subtle: #131110;--surface: #1a1715;--surface-hover: #221e1b;--surface-alt: #151311;--text: #ede5db;--text-muted: #8a7d72;--text-dim: #5e554c;--accent: #d4935a;--accent-hover: #e0a46b;--accent-glow: rgba(212, 147, 90, .12);--accent-glow-strong: rgba(212, 147, 90, .22);--border: rgba(237, 229, 219, .07);--border-strong: rgba(237, 229, 219, .13);--error: #e06060;--error-bg: rgba(224, 96, 96, .1);--error-border: rgba(224, 96, 96, .2);--success: #5da87e;--success-bg: rgba(93, 168, 126, .1);--success-border: rgba(93, 168, 126, .2);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow: 0 2px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .4);--font-display: "Fraunces Variable", "Georgia", serif;--font-body: "Outfit Variable", -apple-system, BlinkMacSystemFont, sans-serif;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--text);letter-spacing:-.01em}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover);text-decoration:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=datetime-local],select,textarea{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-dim)}input[type=date],input[type=datetime-local],select{color-scheme:dark}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4;letter-spacing:.01em}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0f0d0b}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow-strong)}.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--border-strong)}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#cc4e4e;box-shadow:0 0 20px #e0606033}.btn-sm{padding:6px 14px;font-size:13px}.btn-block{width:100%}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.alert-warning{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b;border:1px solid color-mix(in srgb,#f59e0b 25%,transparent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}
