.app-header[data-astro-cid-qgrrgaau]{border-bottom:1px solid var(--color-border);position:relative;z-index:100}.header-container[data-astro-cid-qgrrgaau]{max-width:1024px;margin:0 auto;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.header-brand[data-astro-cid-qgrrgaau]{display:flex;align-items:center;gap:.625rem;text-decoration:none}.brand-icon[data-astro-cid-qgrrgaau]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:0}.brand-text[data-astro-cid-qgrrgaau]{font-family:var(--font-display);font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text)}.header-actions[data-astro-cid-qgrrgaau]{display:flex;align-items:center;gap:var(--s-16)}.status[data-astro-cid-qgrrgaau]{display:flex;align-items:center;gap:var(--s-8)}.status-dot[data-astro-cid-qgrrgaau]{width:6px;height:6px;background:var(--color-success);border-radius:50%}.status-text[data-astro-cid-qgrrgaau]{font-family:var(--font-mono);font-size:.58rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em}.header-link[data-astro-cid-qgrrgaau]{text-decoration:none}.user-menu[data-astro-cid-qgrrgaau]{position:relative}.user-btn[data-astro-cid-qgrrgaau]{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem .375rem .375rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:0;cursor:pointer;transition:all .15s;font-family:var(--font-sans);font-weight:600;font-size:.75rem}.user-btn[data-astro-cid-qgrrgaau]:hover{border-color:var(--color-text-tertiary)}.user-avatar[data-astro-cid-qgrrgaau]{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-initial[data-astro-cid-qgrrgaau]{width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:.75rem;font-weight:500}.user-name[data-astro-cid-qgrrgaau]{font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text)}.chevron[data-astro-cid-qgrrgaau]{width:14px;height:14px;color:var(--color-text-tertiary)}.user-dropdown[data-astro-cid-qgrrgaau]{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;box-shadow:var(--sh-md);z-index:100;overflow:hidden}.dropdown-user-info[data-astro-cid-qgrrgaau]{padding:.75rem 1rem}.dropdown-name[data-astro-cid-qgrrgaau]{display:block;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--color-text)}.dropdown-email[data-astro-cid-qgrrgaau]{display:block;font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-secondary);margin-top:.125rem}.dropdown-divider[data-astro-cid-qgrrgaau]{margin:0;border:none;border-top:1px solid var(--color-border)}.dropdown-item[data-astro-cid-qgrrgaau]{display:block;width:100%;padding:.625rem 1rem;font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text);background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background .15s}.dropdown-item[data-astro-cid-qgrrgaau]:hover{background:var(--color-bg)}.dropdown-item-danger[data-astro-cid-qgrrgaau]{color:var(--color-error)}.hidden[data-astro-cid-qgrrgaau]{display:none!important}.mobile-sidebar-toggle[data-astro-cid-qgrrgaau]{display:none;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.mobile-sidebar-toggle[data-astro-cid-qgrrgaau]:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}@media(max-width:768px){.mobile-sidebar-toggle[data-astro-cid-qgrrgaau]{display:flex}}@media(max-width:640px){.header-container[data-astro-cid-qgrrgaau]{padding:.75rem 1rem}.user-name[data-astro-cid-qgrrgaau]{display:none}.header-link[data-astro-cid-qgrrgaau]{padding:.375rem .5rem}}.toast-container{position:fixed;bottom:var(--s-24, 1.5rem);right:var(--s-24, 1.5rem);z-index:9999;display:flex;flex-direction:column-reverse;gap:var(--s-8, .5rem);pointer-events:none;max-width:400px}.toast{pointer-events:auto;padding:var(--s-16, .75rem) var(--s-20, 1rem);border-left:3px solid;background:var(--color-surface, white);box-shadow:var(--sh-lg, 0 8px 28px rgba(42, 36, 28, .12));font-family:var(--font-sans, sans-serif);font-size:.82rem;font-weight:300;line-height:1.6;color:var(--color-text-secondary, #4A4236);display:flex;align-items:flex-start;gap:var(--s-12, .75rem);opacity:0;transform:translate(100%);animation:toastIn .3s cubic-bezier(.25,.46,.45,.94) forwards}.toast.toast-exit{animation:toastOut .25s cubic-bezier(.55,.06,.68,.19) forwards}.toast-body{flex:1;min-width:0}.toast-label{display:block;font-family:var(--font-mono, monospace);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s-4, .25rem)}.toast-message{display:block}.toast-dismiss{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--color-text-tertiary, #968A74);cursor:pointer;flex-shrink:0;padding:0;margin-top:1px;transition:color .15s ease}.toast-dismiss:hover{color:var(--color-text, #2E2820)}.toast-success{border-color:var(--color-success, #2A8856)}.toast-success .toast-label{color:var(--color-success, #2A8856)}.toast-warning{border-color:var(--color-warning, #B87C18)}.toast-warning .toast-label{color:var(--color-warning, #B87C18)}.toast-error{border-color:var(--color-error, #B83838)}.toast-error .toast-label{color:var(--color-error, #B83838)}.toast-info{border-color:var(--color-info, #2878A8)}.toast-info .toast-label{color:var(--color-info, #2878A8)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.toast,.toast.toast-exit{animation-duration:.01ms!important}}@media(max-width:640px){.toast-container{left:var(--s-16, 1rem);right:var(--s-16, 1rem);bottom:var(--s-16, 1rem);max-width:none}}.confirm-dialog{border:1px solid var(--color-border);border-radius:0;padding:0;max-width:380px;width:calc(100% - 2rem);background:var(--color-surface);box-shadow:var(--sh-lg);color:var(--color-text);overflow:hidden}.confirm-dialog::backdrop{background:#1a161266;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-dialog .card-b p{font-family:var(--font-body);font-size:.95rem;color:var(--color-text-secondary);line-height:1.7}.confirm-dialog-btns{display:flex;gap:var(--s-8)}.confirm-btn-danger{background:var(--color-error);border:1px solid var(--color-error);color:#fff}.confirm-btn-danger:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.confirm-dialog{animation:none}}.btn{display:inline-flex;align-items:center;gap:var(--s-8);font-family:var(--font-sans);font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:10px 20px;border:none;border-radius:0;cursor:pointer;text-decoration:none;transition:all .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-prim{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary-light)}.btn-prim:hover:not(:disabled){background:var(--color-primary-light);box-shadow:0 0 12px #2e4a5f33;transform:translateY(-1px)}.btn-sun{background:var(--color-accent);color:#fff;font-weight:700}.btn-sun:hover:not(:disabled){background:var(--color-accent-light);box-shadow:0 0 12px #f0903033;transform:translateY(-1px)}.btn-out{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary-light)}.btn-out:hover:not(:disabled){background:var(--color-primary);color:#fff;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-tertiary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){color:var(--color-accent-dark)}.btn-icon{padding:0;width:36px;height:36px;justify-content:center}.btn-block{width:100%;justify-content:center}.btn-sm{padding:7px 14px;font-size:.7rem}.fg{margin-bottom:var(--s-20)}.fg-label{display:block;font-family:var(--font-mono);font-size:.58rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--s-4)}.fg-input{width:100%;font-family:var(--font-mono);font-size:.85rem;padding:10px 12px;border:1.5px solid var(--color-border);border-radius:0;background:var(--color-bg);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.fg-input:focus{outline:none;border-color:var(--color-primary-focus);box-shadow:0 0 0 3px #2e4a5f14}.fg-input::placeholder{color:var(--color-text-tertiary)}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border:1px solid transparent}.badge-dot{width:5px;height:5px;border-radius:50%}.b-go{background:var(--color-success-light);color:var(--color-success);border-color:#2a88561f}.b-go .badge-dot{background:var(--color-success)}.b-err{background:var(--color-error-light);color:var(--color-error);border-color:#b838381f}.b-err .badge-dot{background:var(--color-error)}.b-warn{background:var(--color-warning-light);color:var(--color-warning);border-color:#b87c181f}.b-warn .badge-dot{background:var(--color-warning)}.b-info{background:var(--color-info-light);color:var(--color-info);border-color:#2878a81f}.b-info .badge-dot{background:var(--color-info)}.co{padding:var(--s-16) var(--s-20);border-left:3px solid;background:var(--color-surface);font-family:var(--font-sans);font-size:.82rem;font-weight:300;line-height:1.6;color:var(--color-text-secondary);transition:transform .15s ease}.co:hover{transform:translate(3px)}.co strong{display:block;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s-4)}.co-go{border-color:var(--color-success)}.co-go strong{color:var(--color-success)}.co-warn{border-color:var(--color-warning)}.co-warn strong{color:var(--color-warning)}.co-err{border-color:var(--color-error)}.co-err strong{color:var(--color-error)}.panel{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--s-32);transition:border-color .2s ease,box-shadow .2s ease}.panel:hover{border-color:var(--color-accent-light);box-shadow:var(--sh-sm)}.panel h3{font-family:var(--font-display);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);padding-bottom:var(--s-12);border-bottom:1px solid var(--color-border);margin-bottom:var(--s-20)}.panel>p{font-family:var(--font-body);font-weight:400;font-size:1rem;line-height:1.8;color:var(--color-text-secondary)}.btn-formal{background:var(--color-deep);color:var(--color-accent-soft);border:1px solid var(--color-deep-mid);font-family:var(--font-mono);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;padding:12px 28px}.btn-formal:hover:not(:disabled){background:var(--color-deep-light);box-shadow:0 0 16px #ffb85c1a;transform:translateY(-1px)}.card{background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.card:hover{border-color:var(--color-accent-light);box-shadow:var(--sh-sm)}.card-h{padding:var(--s-16) var(--s-20);background:var(--color-primary);border-bottom:1px solid var(--color-primary-dark)}.card-h h3{font-family:var(--font-mono);font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-light);margin:0}.card-b{padding:var(--s-20)}.card-b p{font-family:var(--font-body);font-weight:400;font-size:.95rem;color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--s-12)}.card-b p:last-child{margin-bottom:0}.card-f{padding:var(--s-12) var(--s-20);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.stat{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--s-24) var(--s-20);text-align:center;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.stat:hover{border-color:var(--color-accent-light);box-shadow:var(--sh-sm)}.stat:after{content:"";position:absolute;top:0;left:0;right:0;height:3px}.stat-sun:after{background:var(--color-accent)}.stat-hb:after{background:var(--color-primary-focus)}.stat-warn:after{background:var(--color-warning)}.stat-gold:after{background:var(--color-gold)}.stat-v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:.02em;color:var(--color-primary);line-height:1;margin:0}.stat-l{font-family:var(--font-mono);font-size:.5rem;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin:var(--s-8) 0 0}.stat-delta{font-family:var(--font-mono);font-size:.62rem;font-weight:700;margin:var(--s-8) 0 0}.sd-up{color:var(--color-success)}.sd-dn{color:var(--color-error)}.sd-flat{color:var(--color-text-muted)}.dt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dt{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.72rem;background:var(--color-primary-dark);border:1px solid var(--color-primary-dark);min-width:400px}.dt thead{background:var(--color-primary)}.dt th{font-size:.48rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:var(--s-12) var(--s-16);text-align:left;color:var(--color-accent-soft);border-bottom:1px solid var(--color-primary-dark)}.dt td{padding:var(--s-12) var(--s-16);border-bottom:1px solid rgba(46,74,95,.4);color:var(--color-primary-faint);transition:background .15s ease}.dt tbody tr:hover td{background:var(--color-primary)}.dt tbody tr:last-child td{border-bottom:none}.dt .dm{font-weight:700;color:var(--color-accent-pale)}.dark-panel{background:var(--color-primary-dark);padding:var(--s-48) var(--s-40);position:relative;border:1px solid var(--color-primary-dark)}.dark-panel:before{content:"";position:absolute;inset:var(--s-8);border:1px solid rgba(255,184,92,.06);pointer-events:none}.dark-panel h3{font-family:var(--font-heading);font-weight:400;font-size:clamp(1.4rem,3vw,2rem);color:var(--color-accent-soft);margin:0 0 var(--s-16)}.dark-panel p{font-family:var(--font-body);font-size:1rem;color:var(--color-primary-muted);line-height:1.7;max-width:540px;margin:0}@media(max-width:640px){.dark-panel{padding:var(--s-32) var(--s-24)}}.prog-t{height:4px;background:var(--color-border);overflow:hidden}.prog-f{height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.pf-sun{background:var(--color-accent)}.pf-hb{background:var(--color-primary-focus)}:root{--color-primary: #2E4A5F;--color-primary-light: #3A5A72;--color-primary-dark: #1A2A3A;--color-primary-focus: #4A6E88;--color-accent: #F09030;--color-accent-light: #FFB85C;--color-accent-dark: #D07018;--color-teal: #1E8E8E;--color-teal-light: #48B8B8;--color-gold: #B89B3A;--color-gold-light: #D4BA62;--color-bg: #F8F3EA;--color-surface: #FDFAF5;--color-text: #2E2820;--color-text-secondary: #4A4236;--color-text-tertiary: #968A74;--color-border: #E0D4C0;--color-success: #2A8856;--color-warning: #B87C18;--color-error: #B83838;--color-info: #2878A8;--color-success-light: #EAF6EE;--color-error-light: #FCEAEA;--color-warning-light: #FCF4E4;--color-info-light: #E8F2FA;--color-primary-muted: #A0C8E0;--color-primary-faint: #C8E0F0;--color-accent-soft: #FFD9A8;--color-accent-pale: #FFF0D8;--color-deep: #101820;--color-deep-light: #182430;--color-deep-mid: #264050;--color-text-muted: #C0B49C;--font-display: "Josefin Sans", sans-serif;--font-heading: "DM Serif Display", serif;--font-body: "Cormorant Garamond", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Space Mono", monospace;--s-4: clamp(2px, .25vw, 4px);--s-8: clamp(4px, .5vw, 8px);--s-12: clamp(8px, .75vw, 12px);--s-16: clamp(12px, 1vw, 16px);--s-20: clamp(14px, 1.25vw, 20px);--s-24: clamp(16px, 1.5vw, 24px);--s-32: clamp(20px, 2vw, 32px);--s-40: clamp(24px, 2.5vw, 40px);--s-48: clamp(28px, 3vw, 48px);--s-64: clamp(36px, 4vw, 64px);--s-80: clamp(40px, 5vw, 80px);--s-96: clamp(48px, 6vw, 96px);--sh-sm: 0 1px 3px rgba(42, 36, 28, .08);--sh-md: 0 4px 12px rgba(42, 36, 28, .1);--sh-lg: 0 8px 28px rgba(42, 36, 28, .12)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{margin:0;padding:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}body{min-height:100dvh;line-height:1.6}::selection{background:var(--color-accent);color:#fff}.hidden{display:none!important}
