@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,400&display=swap";.toast-container{position:fixed;z-index:var(--z-toast);top:calc(16px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:min(460px,calc(100vw - 32px))}.toast-item{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 10px 12px 14px;min-width:260px;max-width:100%;background:var(--color-text);color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);line-height:1.45;animation:toastIn .28s var(--ease-out)}.toast-item>i{margin-top:2px;font-size:15px;flex-shrink:0}.toast-success>i{color:#34d399}.toast-error>i{color:#f87171}.toast-warning>i{color:#fbbf24}.toast-info>i{color:#93c5fd}.toast-message{flex:1;overflow-wrap:anywhere}.toast-close{width:24px;height:24px;border-radius:6px;flex-shrink:0;margin-top:-2px;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.6;font-size:12px}.toast-close:hover{opacity:1;background:#ffffff1f}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:900px){.toast-container{left:16px;right:16px;transform:none;width:auto;align-items:stretch;max-width:none}.toast-item{min-width:0}}@media(prefers-color-scheme:dark){.toast-item{background:var(--color-surface-3);color:var(--color-text);border:1px solid var(--color-border-strong)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;color-scheme:light dark;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}img,video,svg{max-width:100%;display:block}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}:root{--color-primary: #c32754;--color-primary-hover: #a61f45;--color-primary-active: #8e1a3b;--color-primary-light: #fdeef2;--color-primary-mid: rgba(195, 39, 84, .12);--color-primary-faint: rgba(195, 39, 84, .07);--color-primary-border: rgba(195, 39, 84, .28);--color-on-primary: #ffffff;--color-secondary: #213750;--color-secondary-soft: rgba(33, 55, 80, .08);--gradient-brand: linear-gradient(135deg, #c32754 0%, #a61f45 55%, #213750 140%);--gradient-brand-soft: linear-gradient(135deg, rgba(195,39,84,.1), rgba(33,55,80,.06));--color-bg: #f4f2ee;--color-bg-elevated: #fbfaf8;--color-surface: #ffffff;--color-surface-1: #fbfaf8;--color-surface-2: #f4f2ee;--color-surface-3: #ebe7e1;--color-overlay: rgba(17, 12, 14, .48);--color-glass: rgba(255, 255, 255, .82);--color-border: #e7e3dd;--color-border-strong: #d6d0c8;--color-border-hover: #c4bdb4;--color-text: #18130f;--color-text-secondary: #3b332d;--color-text-muted: #6b625b;--color-text-faint: #9a918a;--color-text-inverse: #ffffff;--color-success: #059669;--color-success-light: #e3f7ef;--color-warning: #c27803;--color-warning-light: #fdf3dc;--color-error: #dc2626;--color-error-light: #fdeaea;--color-info: #2563eb;--color-info-light: #e6eefd;--font-heading: "Sora", "Inter", system-ui, -apple-system, sans-serif;--font-body: "DM Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--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;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(28, 25, 23, .05);--shadow-sm: 0 1px 3px rgba(28, 25, 23, .07), 0 1px 2px rgba(28, 25, 23, .04);--shadow-md: 0 4px 12px rgba(28, 25, 23, .07), 0 2px 4px rgba(28, 25, 23, .04);--shadow-lg: 0 12px 32px rgba(28, 25, 23, .1), 0 4px 10px rgba(28, 25, 23, .05);--shadow-xl: 0 24px 64px rgba(28, 25, 23, .16), 0 8px 20px rgba(28, 25, 23, .06);--shadow-primary: 0 6px 18px rgba(195, 39, 84, .26);--shadow-focus: 0 0 0 3px rgba(195, 39, 84, .22);--shadow-glow-primary: 0 0 0 3px rgba(195, 39, 84, .18);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .12s ease;--transition-normal: .2s var(--ease-out);--transition-slow: .36s var(--ease-out);--header-height: 60px;--content-max: 1240px;--tap-size: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400}@media(prefers-color-scheme:dark){:root{--color-primary: #d93a68;--color-primary-hover: #e4507b;--color-primary-active: #c32754;--color-primary-light: rgba(217, 58, 104, .16);--color-primary-mid: rgba(217, 58, 104, .2);--color-primary-faint: rgba(217, 58, 104, .1);--color-primary-border: rgba(217, 58, 104, .4);--color-secondary: #c9d6e6;--color-secondary-soft: rgba(201, 214, 230, .08);--gradient-brand-soft: linear-gradient(135deg, rgba(217,58,104,.16), rgba(33,55,80,.3));--color-bg: #12100e;--color-bg-elevated: #1a1715;--color-surface: #1e1a17;--color-surface-1: #221e1b;--color-surface-2: #26221f;--color-surface-3: #2d2927;--color-overlay: rgba(0, 0, 0, .62);--color-glass: rgba(26, 23, 22, .82);--color-border: #2e2925;--color-border-strong: #3d3732;--color-border-hover: #4a4442;--color-text: #f7f3ee;--color-text-secondary: #e5ded6;--color-text-muted: #a69c93;--color-text-faint: #7a716a;--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .12);--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .12);--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .12);--color-info: #60a5fa;--color-info-light: rgba(96, 165, 250, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .65);--shadow-primary: 0 6px 18px rgba(217, 58, 104, .3)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint);background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::selection{background:var(--color-primary-mid);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-normal),transform var(--transition-fast);user-select:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn i{font-size:.95em}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-1)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn-soft{background:var(--color-primary-faint);color:var(--color-primary)}.btn-soft:hover:not(:disabled){background:var(--color-primary-mid)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-sm{height:32px;padding:0 12px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{height:48px;padding:0 22px;font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-muted);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.icon-btn:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.icon-btn.is-active{background:var(--color-primary-faint);color:var(--color-primary)}.icon-btn:disabled{opacity:.4}.input,.select,.textarea{width:100%;height:42px;padding:0 14px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-hover)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field-error{font-size:var(--text-xs);color:var(--color-error)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:600;letter-spacing:.01em;background:var(--color-surface-2);color:var(--color-text-muted)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-primary{background:var(--color-primary-faint);color:var(--color-primary)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}.spinner-lg{width:36px;height:36px;border-width:3px;color:var(--color-primary)}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}.kbd{font-family:var(--font-mono);font-size:.75em;padding:1px 6px;border-radius:5px;border:1px solid var(--color-border-strong);background:var(--color-surface-1);color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .18s ease}.modal{width:100%;max-width:480px;max-height:calc(100dvh - 48px);overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:popIn .24s var(--ease-out)}@media(max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;max-height:92dvh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding-bottom:var(--safe-bottom);animation:sheetUp .28s var(--ease-out)}}.app-header{position:sticky;top:0;z-index:var(--z-sticky);height:calc(var(--header-height) + var(--safe-top));padding:var(--safe-top) clamp(16px,3vw,32px) 0;display:flex;align-items:center;gap:16px;background:var(--color-glass);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--color-border)}.app-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;border-radius:var(--radius-sm)}.app-brand img{width:32px;height:32px;object-fit:contain}.app-brand span{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text)}.app-header-spacer{flex:1}.app-header-actions{display:flex;align-items:center;gap:10px}@media(max-width:520px){.app-brand span{display:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page-loader{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--color-bg);color:var(--color-primary)}.page-loader img{animation:fadeIn .4s ease}.route-error{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--color-bg)}.route-error-card{max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.route-error-card h1{font-size:var(--text-2xl);color:var(--color-text)}.route-error-card p{color:var(--color-text-muted);font-size:var(--text-sm)}.route-error-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}
