@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";.floating-player-container[data-v-58fc6ca0]{position:fixed;bottom:20px;right:20px;z-index:9999}.hidden-player[data-v-58fc6ca0]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.youtube-container-minimized[data-v-58fc6ca0]{width:100%;height:100%}.youtube-container[data-v-58fc6ca0]{position:absolute;top:0;left:0;width:100%;height:100%}.player-body[data-v-58fc6ca0] iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.hidden-player[data-v-58fc6ca0] iframe{width:100%;height:100%;border:0}.floating-player.minimized[data-v-58fc6ca0]{background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0003;overflow:hidden;width:350px}.minimized-content[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:12px}.video-info[data-v-58fc6ca0]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.thumbnail[data-v-58fc6ca0]{width:60px;height:45px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.thumbnail img[data-v-58fc6ca0]{width:100%;height:100%;object-fit:cover}.info[data-v-58fc6ca0]{flex:1;min-width:0}.title[data-v-58fc6ca0]{font-size:13px;font-weight:500;color:#212121;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status[data-v-58fc6ca0]{font-size:11px;color:#757575;margin-top:2px}.controls[data-v-58fc6ca0]{display:flex;gap:var(--space-1);flex-shrink:0}.btn-control[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);border-radius:var(--radius-full);transition:all var(--transition-fast);color:var(--text-secondary)}.btn-control[data-v-58fc6ca0]:hover{background:var(--color-neutral-100);color:var(--text-primary)}.btn-control[data-v-58fc6ca0]:active{transform:scale(.95)}.btn-control .icon[data-v-58fc6ca0]{width:var(--icon-md);height:var(--icon-md)}.btn-play[data-v-58fc6ca0]{background:var(--color-info);color:#fff}.btn-play[data-v-58fc6ca0]:hover{background:var(--color-info-dark);color:#fff}.btn-close[data-v-58fc6ca0]{color:var(--color-error)}.btn-close[data-v-58fc6ca0]:hover{background:var(--color-error-alpha);color:var(--color-error-dark)}.floating-player.expanded[data-v-58fc6ca0]{width:320px;max-width:calc(100vw - 40px);background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000004d;overflow:hidden}.floating-player.expanded.fullscreen[data-v-58fc6ca0]{position:fixed;inset:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;border-radius:0;z-index:10000}.floating-player.expanded.fullscreen .player-body[data-v-58fc6ca0]{padding-bottom:0;height:calc(100vh - 110px)}.floating-player.expanded.fullscreen .player-body .youtube-container[data-v-58fc6ca0],.floating-player.expanded.fullscreen .player-body[data-v-58fc6ca0] iframe{position:static;height:100%}.player-header[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.player-header h3[data-v-58fc6ca0]{margin:0;font-size:13px;font-weight:500;color:#212121;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions[data-v-58fc6ca0]{display:flex;gap:4px}.btn-icon[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--text-secondary)}.btn-icon[data-v-58fc6ca0]:hover{background:var(--color-neutral-200);color:var(--text-primary)}.btn-icon[data-v-58fc6ca0]:active{transform:scale(.95)}.btn-icon .icon-sm[data-v-58fc6ca0]{width:var(--icon-sm);height:var(--icon-sm)}.player-body[data-v-58fc6ca0]{position:relative;height:150px;background:#000}.player-controls[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:#fafafa}.playback-controls[data-v-58fc6ca0],.mode-controls[data-v-58fc6ca0]{display:flex;align-items:center;gap:8px}.player-controls .btn-control[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;width:48px;height:40px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary)}.player-controls .btn-control[data-v-58fc6ca0]:hover{background:var(--color-neutral-100);border-color:var(--border-color-hover)}.player-controls .btn-control[data-v-58fc6ca0]:active{transform:scale(.98)}.player-controls .btn-control .icon[data-v-58fc6ca0]{width:var(--icon-md);height:var(--icon-md)}.player-controls .btn-control .icon-lg[data-v-58fc6ca0]{width:var(--icon-xl);height:var(--icon-xl)}.player-controls .btn-play[data-v-58fc6ca0]{background:var(--color-info);color:#fff;border-color:var(--color-info)}.player-controls .btn-play[data-v-58fc6ca0]:hover{background:var(--color-info-dark);border-color:var(--color-info-dark)}.btn-mode[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.btn-mode[data-v-58fc6ca0]:hover{background:var(--color-neutral-100);border-color:var(--border-color-hover);color:var(--text-primary)}.btn-mode[data-v-58fc6ca0]:active{transform:scale(.98)}.btn-mode .icon[data-v-58fc6ca0]{width:var(--icon-md);height:var(--icon-md)}.btn-mode.active[data-v-58fc6ca0]{background:var(--color-success);color:#fff;border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-alpha)}.btn-mode.active[data-v-58fc6ca0]:hover{background:var(--color-success-dark);border-color:var(--color-success-dark)}.btn-mode-mini[data-v-58fc6ca0]{background:#fff;border:1px solid var(--border-color)}.btn-mode-mini.active[data-v-58fc6ca0]{background:var(--color-success);color:#fff;border-color:var(--color-success)}.track-info[data-v-58fc6ca0]{margin-left:auto;font-size:12px;color:#757575;text-align:center}.volume-control-section[data-v-58fc6ca0]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f5f5;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.btn-volume[data-v-58fc6ca0]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #e0e0e0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.btn-volume[data-v-58fc6ca0]:hover{background:var(--color-neutral-100);color:var(--text-primary);border-color:var(--border-color-hover)}.btn-volume.muted[data-v-58fc6ca0]{color:var(--color-error);border-color:var(--color-error-alpha);background:#fff5f5}.btn-volume .icon[data-v-58fc6ca0]{width:20px;height:20px}.volume-slider[data-v-58fc6ca0]{-webkit-appearance:none;appearance:none;flex:1;height:6px;background:linear-gradient(to right,var(--color-info) 0%,var(--color-info) var(--volume-percentage, 50%),#ddd var(--volume-percentage, 50%),#ddd 100%);outline:none;transition:all .2s;border-radius:3px;cursor:pointer}.volume-slider[data-v-58fc6ca0]:hover{transform:scaleY(1.1)}.volume-slider[data-v-58fc6ca0]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-info);cursor:pointer;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;transition:all .2s}.volume-slider[data-v-58fc6ca0]::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--color-info-dark);box-shadow:0 2px 8px #0000004d}.volume-slider[data-v-58fc6ca0]::-moz-range-thumb{width:16px;height:16px;background:var(--color-info);cursor:pointer;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;transition:all .2s}.volume-slider[data-v-58fc6ca0]::-moz-range-thumb:hover{transform:scale(1.2);background:var(--color-info-dark);box-shadow:0 2px 8px #0000004d}.volume-value[data-v-58fc6ca0]{font-size:13px;font-weight:500;color:var(--text-primary);width:45px;text-align:right;flex-shrink:0}@media (max-width: 768px){.floating-player-container[data-v-58fc6ca0]{bottom:10px;right:10px}.floating-player.minimized[data-v-58fc6ca0]{width:300px}.floating-player.expanded[data-v-58fc6ca0]{width:calc(100vw - 20px)}.volume-control-section[data-v-58fc6ca0]{padding:10px 12px}.volume-slider[data-v-58fc6ca0]{height:5px}.thumbnail[data-v-58fc6ca0]{width:50px;height:38px}.title[data-v-58fc6ca0]{font-size:12px}.btn-control[data-v-58fc6ca0]{font-size:16px;padding:4px 6px}}.toast-container[data-v-3e1e87b1]{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px;pointer-events:none}.toast[data-v-3e1e87b1]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-left:4px solid;pointer-events:auto;min-width:300px;max-width:100%}.toast-success[data-v-3e1e87b1]{border-left-color:var(--color-success)}.toast-error[data-v-3e1e87b1]{border-left-color:var(--color-error)}.toast-warning[data-v-3e1e87b1]{border-left-color:var(--color-warning)}.toast-info[data-v-3e1e87b1]{border-left-color:var(--color-info)}.toast-icon[data-v-3e1e87b1]{flex-shrink:0;width:var(--icon-lg);height:var(--icon-lg)}.toast-success .icon[data-v-3e1e87b1]{color:var(--color-success)}.toast-error .icon[data-v-3e1e87b1]{color:var(--color-error)}.toast-warning .icon[data-v-3e1e87b1]{color:var(--color-warning)}.toast-info .icon[data-v-3e1e87b1]{color:var(--color-info)}.toast-content[data-v-3e1e87b1]{flex:1;min-width:0}.toast-title[data-v-3e1e87b1]{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-1)}.toast-message[data-v-3e1e87b1]{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);word-break:break-word}.toast-close[data-v-3e1e87b1]{flex-shrink:0;padding:var(--space-1);background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);transition:color var(--transition-fast);border-radius:var(--radius-sm)}.toast-close[data-v-3e1e87b1]:hover{color:var(--text-primary);background:var(--color-neutral-100)}.icon-close[data-v-3e1e87b1]{width:var(--icon-md);height:var(--icon-md)}.toast-enter-active[data-v-3e1e87b1],.toast-leave-active[data-v-3e1e87b1]{transition:all var(--transition-base)}.toast-enter-from[data-v-3e1e87b1]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-3e1e87b1]{opacity:0;transform:translate(50%) scale(.8)}.toast-move[data-v-3e1e87b1]{transition:transform var(--transition-base)}@media (max-width: 768px){.toast-container[data-v-3e1e87b1]{top:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none}.toast[data-v-3e1e87b1]{min-width:0}}.user-menu[data-v-f7f3629a]{display:flex;align-items:center}.loading-skeleton[data-v-f7f3629a]{display:flex;align-items:center;gap:.5rem}.skeleton-circle[data-v-f7f3629a]{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,var(--cream-200) 25%,var(--line) 50%,var(--cream-200) 75%);background-size:200% 100%;animation:loading-f7f3629a 1.5s infinite}@keyframes loading-f7f3629a{0%{background-position:200% 0}to{background-position:-200% 0}}.user-info[data-v-f7f3629a]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background-color:var(--cream-200);border-radius:var(--radius-full, 9999px);transition:background-color .2s ease}.user-info[data-v-f7f3629a]:hover{background-color:#eee}.user-avatar[data-v-f7f3629a],.user-avatar-placeholder[data-v-f7f3629a]{width:40px;height:40px;border-radius:50%;flex-shrink:0}.user-avatar[data-v-f7f3629a]{object-fit:cover;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.user-avatar-placeholder[data-v-f7f3629a]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--amber-500) 0%,#764ba2 100%);color:#fff;font-weight:600;font-size:1.125rem;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.user-name[data-v-f7f3629a]{font-size:.9375rem;font-weight:500;color:var(--ink-900);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button[data-v-f7f3629a]{width:32px;height:32px;padding:0;background-color:transparent;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;color:#757575;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.logout-button[data-v-f7f3629a]:hover{background-color:#ffebee;color:red}.logout-button[data-v-f7f3629a]:active{transform:scale(.95)}.logout-button svg[data-v-f7f3629a]{width:20px;height:20px}.guest-actions[data-v-f7f3629a]{display:flex;gap:.75rem}.login-button[data-v-f7f3629a]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#3f9e6b,#35895c);border:none;border-radius:var(--radius-full, 9999px);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00b9004d}.login-button[data-v-f7f3629a]:hover{background:linear-gradient(135deg,#47ae77,#3f9e6b);box-shadow:0 6px 16px #3f9e6b52;transform:translateY(-1px)}.login-button[data-v-f7f3629a]:active{transform:translateY(0);box-shadow:0 2px 6px #00b9004d}.line-icon[data-v-f7f3629a]{width:20px;height:20px}@media (max-width: 768px){.user-name[data-v-f7f3629a]{display:none}.user-info[data-v-f7f3629a]{padding:.5rem;gap:.5rem}.login-button[data-v-f7f3629a]{padding:.5rem 1rem;font-size:.875rem}.login-button span[data-v-f7f3629a]{display:none}}#app{min-height:100vh;font-family:var(--font-family-base);color:var(--text-primary);background-color:var(--cream-100);background-image:var(--page-glow);background-attachment:fixed;background-repeat:no-repeat}.navbar{position:sticky;top:0;z-index:var(--z-sticky);background:#fdf8f0c7;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgba(235,223,204,.9)}.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.nav-brand{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;color:var(--ink-900);transition:color var(--transition-fast)}.nav-brand:hover{color:var(--amber-600)}.brand-icon-img{width:32px;height:32px;object-fit:contain;border-radius:10px;flex-shrink:0}.nav-right{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.nav-links{display:flex;gap:var(--space-1)}.nav-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:.9375rem;font-weight:600;text-decoration:none;color:var(--ink-500);transition:background var(--transition-fast),color var(--transition-fast)}.nav-link:hover{background:var(--cream-300);color:var(--ink-900)}.nav-link.router-link-active{color:var(--amber-700);background:#e08d5a24}@media (max-width: 768px){.nav-container{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.nav-brand{font-size:1.125rem}.brand-icon-img{width:28px;height:28px}.brand-text{display:none}.nav-right{gap:var(--space-2)}.nav-link{padding:var(--space-2) var(--space-3);font-size:.875rem}}:root{--cream-50: #FFFDF9;--cream-100: #FDF8F0;--cream-200: #F7EFE3;--cream-300: #F0E4D2;--cream-400: #E5D5BE;--line: #EBDFCC;--ink-900: #3D332B;--ink-700: #5C4F44;--ink-500: #877565;--ink-300: #AC9B88;--amber-300: #F7DCC2;--amber-400: #EDA97B;--amber-500: #E08D5A;--amber-600: #C97442;--amber-700: #A85C31;--sage: #6FA86B;--honey: #DFA43A;--terracotta: #D4634F;--sky: #6B94B8;--shadow-tint: 122, 88, 56;--color-brand-primary: var(--amber-500);--color-brand-primary-dark: var(--amber-600);--color-brand-primary-light: var(--amber-400);--color-brand-primary-alpha: rgba(224, 141, 90, .16);--color-success: var(--sage);--color-success-dark: #588A55;--color-success-light: #93C48F;--color-success-alpha: rgba(111, 168, 107, .14);--color-warning: var(--honey);--color-warning-dark: #BE8722;--color-warning-light: #EFC470;--color-warning-alpha: rgba(223, 164, 58, .14);--color-error: var(--terracotta);--color-error-dark: #B24C3A;--color-error-light: #E28B7B;--color-error-alpha: rgba(212, 99, 79, .14);--color-info: var(--sky);--color-info-dark: #547B9C;--color-info-light: #97B6D0;--color-info-alpha: rgba(107, 148, 184, .14);--color-neutral-900: var(--ink-900);--color-neutral-800: #4B3F35;--color-neutral-700: var(--ink-700);--color-neutral-600: #6E5F52;--color-neutral-500: var(--ink-500);--color-neutral-400: #9C8B79;--color-neutral-300: var(--cream-400);--color-neutral-200: var(--cream-300);--color-neutral-100: var(--cream-200);--color-neutral-50: var(--cream-100);--bg-primary: var(--cream-100);--bg-secondary: var(--cream-200);--bg-tertiary: var(--cream-300);--surface: var(--cream-50);--bg-overlay: rgba(61, 51, 43, .42);--bg-overlay-light: rgba(61, 51, 43, .22);--bg-overlay-dark: rgba(61, 51, 43, .62);--text-primary: var(--ink-900);--text-secondary: var(--ink-500);--text-tertiary: var(--ink-300);--text-disabled: #C3B5A2;--text-inverse: #FFFDF9;--border-color: var(--line);--border-color-hover: var(--cream-400);--border-color-focus: var(--amber-500);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-none: 0;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(var(--shadow-tint), .05);--shadow-sm: 0 2px 6px rgba(var(--shadow-tint), .07);--shadow-md: 0 6px 18px rgba(var(--shadow-tint), .1);--shadow-lg: 0 14px 34px rgba(var(--shadow-tint), .13);--shadow-xl: 0 24px 56px rgba(var(--shadow-tint), .16);--shadow-2xl: 0 32px 72px rgba(var(--shadow-tint), .2);--transition-fast: .16s cubic-bezier(.32, .72, 0, 1);--transition-base: .28s cubic-bezier(.32, .72, 0, 1);--transition-slow: .42s cubic-bezier(.32, .72, 0, 1);--transition-slowest: .56s cubic-bezier(.32, .72, 0, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.32, .72, 0, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ring: 0 0 0 3px rgba(224, 141, 90, .18);--accent-gradient: linear-gradient(135deg, #EDA97B 0%, #E08D5A 55%, #D97F4C 100%);--accent-gradient-hover: linear-gradient(135deg, #E8A071 0%, #D97F4C 55%, #C97442 100%);--page-glow: radial-gradient(1100px 620px at 12% -10%, rgba(247, 220, 194, .55), transparent 62%), radial-gradient(900px 520px at 92% 4%, rgba(214, 231, 222, .45), transparent 60%);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--font-family-base: "Nunito", -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "Segoe UI", sans-serif;--font-family-display: var(--font-family-base);--font-family-mono: "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--icon-xs: 12px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 32px;--icon-2xl: 40px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;user-select:none}.btn:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn .icon,.btn .icon-sm{flex-shrink:0}.btn .icon{width:var(--icon-md);height:var(--icon-md)}.btn .icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.btn-primary{background:var(--accent-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #c974423d}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);border-color:transparent;transform:translateY(-1px);box-shadow:0 8px 20px #c974424d}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface);color:var(--ink-700);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--cream-200);border-color:var(--cream-400);transform:translateY(-1px)}.btn-success{background:var(--color-success-light);color:#fff;border-color:var(--color-success-light)}.btn-success:hover:not(:disabled){background:var(--color-success);border-color:var(--color-success);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger{background:var(--color-error-light);color:#fff;border-color:var(--color-error-light)}.btn-danger:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-info{background:var(--color-info-light);color:#fff;border-color:var(--color-info-light)}.btn-info:hover:not(:disabled){background:var(--color-info);border-color:var(--color-info);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline-primary{background:transparent;color:var(--color-brand-primary);border-color:var(--color-brand-primary)}.btn-outline-primary:hover:not(:disabled){background:var(--color-brand-primary);color:#fff}.btn-outline-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-outline-secondary:hover:not(:disabled){background:var(--color-neutral-100);border-color:var(--border-color-hover)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-100)}.btn-icon{min-width:var(--touch-target-min);padding:var(--space-2)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{min-height:52px;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base)}.btn-block{width:100%}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],input[type=tel],input[type=date],input[type=time],textarea,select{width:100%;padding:var(--space-3);font-size:var(--font-size-sm);font-family:inherit;line-height:1.5;color:var(--text-primary);background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,input[type=number]:hover,input[type=url]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=date]:hover,input[type=time]:hover,textarea:hover,select:hover{border-color:var(--border-color-hover)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=date]:focus,input[type=time]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-primary-alpha)}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=url]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=date]:disabled,input[type=time]:disabled,textarea:disabled,select:disabled{background-color:var(--color-neutral-100);cursor:not-allowed;opacity:.6}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin-right:var(--space-2);cursor:pointer;accent-color:var(--color-brand-primary)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-group .form-hint{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-tertiary)}.form-group .form-error{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-error)}.input-group{position:relative;display:flex;align-items:center}.input-group .input-icon{position:absolute;left:var(--space-3);width:var(--icon-md);height:var(--icon-md);color:var(--text-tertiary);pointer-events:none}.input-group input{padding-left:var(--space-10)}@media (max-width: 640px){.btn{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3)}.btn-lg{min-height:48px;padding:var(--space-3) var(--space-5)}}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover:not(:disabled){transform:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: var(--color-brand-primary);--secondary-color: var(--color-neutral-800);--text-color: var(--text-primary);--bg-color: var(--bg-primary);--error-color: var(--color-error);--success-color: var(--color-success)}body{font-family:var(--font-family-base);line-height:1.6;color:var(--text-primary);background-color:var(--cream-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-family-display);color:var(--text-primary);letter-spacing:-.015em;font-weight:var(--font-weight-bold)}::selection{background:#e08d5a3d;color:var(--ink-900)}:focus-visible{outline:2px solid var(--amber-500);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-color:var(--cream-400) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--cream-400);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--ink-300);background-clip:content-box}button{cursor:pointer;border:none;background:none;font-family:inherit}input{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--cream-300);border-radius:50%;border-top-color:var(--amber-500);animation:spin 1s linear infinite}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;padding:var(--space-2) var(--space-3);background:#3d332bf2;color:#fff;font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transform:scale(.8);transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:var(--z-tooltip);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}[data-tooltip]:after{content:"";position:absolute;border:6px solid transparent;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-tooltip)}[data-tooltip]:not([data-tooltip-position]):before,[data-tooltip][data-tooltip-position=top]:before{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.8)}[data-tooltip]:not([data-tooltip-position]):after,[data-tooltip][data-tooltip-position=top]:after{bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border-top-color:#212121f2}[data-tooltip][data-tooltip-position=bottom]:before{top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.8)}[data-tooltip][data-tooltip-position=bottom]:after{top:calc(100% + 2px);left:50%;transform:translate(-50%);border-bottom-color:#212121f2}[data-tooltip][data-tooltip-position=left]:before{right:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.8)}[data-tooltip][data-tooltip-position=left]:after{right:calc(100% + 2px);top:50%;transform:translateY(-50%);border-left-color:#212121f2}[data-tooltip][data-tooltip-position=right]:before{left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.8)}[data-tooltip][data-tooltip-position=right]:after{left:calc(100% + 2px);top:50%;transform:translateY(-50%);border-right-color:#212121f2}[data-tooltip]:hover:before{opacity:1;transform:translate(-50%) scale(1)}[data-tooltip]:hover:after{opacity:1}[data-tooltip][data-tooltip-position=bottom]:hover:before{transform:translate(-50%) scale(1)}[data-tooltip][data-tooltip-position=left]:hover:before,[data-tooltip][data-tooltip-position=right]:hover:before{transform:translateY(-50%) scale(1)}@media (max-width: 768px){[data-tooltip]:before,[data-tooltip]:after{display:none}}@media (hover: hover){[data-tooltip]:focus:before,[data-tooltip]:focus:after{opacity:0}[data-tooltip]:hover:focus:before,[data-tooltip]:hover:focus:after{opacity:1}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-info);outline-offset:2px;border-radius:var(--radius-sm)}button{transition:all var(--transition-fast)}button:active:not(:disabled){transform:scale(.95)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.card-hover{transition:all var(--transition-base)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn var(--transition-base)}.slide-up{animation:slideUp var(--transition-base)}
