*,*:before,*:after{box-sizing:border-box}:root{--font-ui: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--cranberry: #e04a5b;--cranberry-deep: #b32639;--pine: #2f9e6b;--pine-deep: #1c7a50;--gold: #f0c04a;--gold-deep: #d9a52c;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-pill: 999px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .28s;--shadow-sm: 0 1px 2px rgba(4, 8, 20, .28);--shadow-md: 0 10px 30px -12px rgba(4, 8, 20, .55);--shadow-lg: 0 30px 70px -30px rgba(4, 8, 20, .8)}:root,[data-theme=dark]{color-scheme:dark;--bg: #070d1c;--bg-glow-1: rgba(47, 158, 107, .22);--bg-glow-2: rgba(224, 74, 91, .2);--bg-glow-3: rgba(240, 192, 74, .12);--surface: rgba(255, 255, 255, .045);--surface-strong: rgba(255, 255, 255, .075);--surface-solid: #101a30;--border: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .2);--text: #eaf0fa;--text-muted: #9dabc4;--text-faint: #6c7c96;--accent: var(--gold);--field-bg: rgba(9, 15, 30, .6);--snow: rgba(255, 255, 255, .85);--shine: linear-gradient(100deg, var(--gold) 10%, #fff3cf 45%, var(--gold-deep) 80%);--shine-fallback: var(--gold)}[data-theme=light]{color-scheme:light;--bg: #eef3fb;--bg-glow-1: rgba(47, 158, 107, .18);--bg-glow-2: rgba(224, 74, 91, .16);--bg-glow-3: rgba(240, 192, 74, .18);--surface: rgba(255, 255, 255, .78);--surface-strong: #ffffff;--surface-solid: #ffffff;--border: rgba(15, 30, 60, .12);--border-strong: rgba(15, 30, 60, .24);--text: #0f1e35;--text-muted: #4d5f7c;--text-faint: #7387a3;--accent: var(--gold-deep);--field-bg: #ffffff;--snow: rgba(255, 255, 255, .95);--shine: linear-gradient(100deg, var(--cranberry-deep) 8%, var(--cranberry) 48%, #8e1b2d 92%);--shine-fallback: var(--cranberry-deep)}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;background:radial-gradient(38vmax 38vmax at 12% 8%,var(--bg-glow-1),transparent 60%),radial-gradient(42vmax 42vmax at 88% 12%,var(--bg-glow-2),transparent 62%),radial-gradient(36vmax 36vmax at 50% 108%,var(--bg-glow-3),transparent 60%);filter:blur(4px)}#snow{position:fixed;inset:0;z-index:-1;pointer-events:none}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:0}p{margin:0}a{color:var(--accent)}::selection{background:var(--gold);color:#12203a}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.shell{width:min(1120px,100%);margin:0 auto;padding:clamp(16px,3vw,32px)}.btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--r-pill);padding:11px 18px;background:var(--surface-strong);color:var(--text);font:inherit;font-weight:600;font-size:.95rem;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--cranberry) 0%,var(--cranberry-deep) 100%);color:#fff;box-shadow:0 12px 28px -14px var(--cranberry-deep)}.btn-primary:hover{box-shadow:0 18px 34px -14px var(--cranberry-deep)}.btn-pine{border-color:transparent;background:linear-gradient(135deg,var(--pine) 0%,var(--pine-deep) 100%);color:#fff;box-shadow:0 12px 28px -14px var(--pine-deep)}.btn-ghost{background:transparent}.btn-sm{padding:8px 13px;font-size:.84rem}.btn-icon{padding:9px;width:38px;height:38px;border-radius:var(--r-pill)}.btn-lg{padding:17px 30px;font-size:1.06rem}.btn svg{width:1.05em;height:1.05em;flex:none}.field{-webkit-appearance:none;appearance:none;width:100%;border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;background:var(--field-bg);color:var(--text);font:inherit;font-size:.96rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field::placeholder{color:var(--text-faint)}.field:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #f0c04a2e}.card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md)}.toast-stack{position:fixed;left:50%;bottom:24px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:9px;border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:11px 18px;background:var(--surface-solid);color:var(--text);font-size:.9rem;font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in .32s var(--ease) both}.toast.is-leaving{animation:toast-out .24s var(--ease) both}.toast:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pine);flex:none}.toast[data-kind=error]:before{background:var(--cranberry)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.97)}}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#04081499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .2s var(--ease) both}.modal[hidden]{display:none}.modal-box{width:min(440px,100%);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:26px;background:var(--surface-solid);box-shadow:var(--shadow-lg);animation:pop-in .3s var(--ease) both}.modal-title{font-size:1.3rem;margin-bottom:10px}.modal-body{color:var(--text-muted);font-size:.95rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
