.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:1px solid transparent;border-radius:var(--radius-xl);font-family:var(--font-family);font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ui-btn--md{padding:var(--spacing-3) var(--spacing-6);font-size:.9375rem;min-height:44px}.ui-btn--sm{padding:var(--spacing-2) var(--spacing-4);font-size:.8125rem;min-height:36px}.ui-btn--primary{background:var(--primary);color:var(--on-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--primary-deep);box-shadow:var(--glow-strong)}.ui-btn--secondary{background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border-color:var(--glass-border);color:var(--on-surface);box-shadow:var(--glow)}.ui-btn--secondary:hover:not(:disabled){background:var(--glass-strong)}.ui-btn--ghost{background:transparent;color:var(--on-surface-variant)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.ui-btn:disabled,.ui-btn[disabled]{opacity:.5;cursor:not-allowed}.ui-btn__spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-transparency:reduce){.ui-btn--secondary{background:var(--surface-container-highest);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.ui-btn__spinner{animation-duration:1.6s}}.ui-card{background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow),var(--glass-highlight);color:var(--on-surface);transition:box-shadow var(--transition-normal),background var(--transition-normal)}.ui-card--accent{background:var(--glass-accent);box-shadow:var(--glow-strong);color:var(--on-glass-accent)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--spacing-4)}.ui-card--pad-md{padding:var(--spacing-6)}.ui-card--pad-lg{padding:var(--spacing-8)}@media(prefers-reduced-transparency:reduce){.ui-card{background:var(--surface-strong);backdrop-filter:none;-webkit-backdrop-filter:none}.ui-card--accent{background:var(--primary)}}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);background:#1c1b1a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .2s ease forwards}.ui-modal{width:100%;max-width:480px;max-height:calc(100dvh - 2 * var(--spacing-4));display:flex;flex-direction:column;background:var(--glass-strong);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glow-strong);color:var(--on-surface);animation:slideUp .25s cubic-bezier(.4,0,.2,1) forwards}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--glass-border)}.ui-modal__title{font-size:1.125rem;font-weight:600;line-height:1.4;color:var(--on-surface)}.ui-modal__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--on-surface-variant);cursor:pointer;transition:background var(--transition-fast)}.ui-modal__close:hover{background:var(--surface-container-high)}.ui-modal__body{padding:var(--spacing-6);overflow-y:auto}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--glass-border)}@media(prefers-reduced-transparency:reduce){.ui-modal-overlay{background:#1c1b1a99;backdrop-filter:none;-webkit-backdrop-filter:none}.ui-modal{background:var(--surface-strong);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.ui-modal-overlay,.ui-modal{animation:none}}.ui-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.ui-field__label{font-size:.8125rem;font-weight:500;color:var(--on-surface-variant)}.ui-field__required{color:var(--error);margin-left:2px}.ui-field__control{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family);font-size:.9375rem;color:var(--on-surface);background:var(--surface-container-high);transition:background var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);min-height:48px}.ui-field__control--glass{background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border-color:var(--glass-border)}.ui-field__control:focus{outline:2px solid var(--primary);outline-offset:0;background:var(--surface-container-highest);box-shadow:0 0 0 4px #a9151f2e}.ui-field__control::placeholder{color:var(--outline)}.ui-field__control:disabled{opacity:.6;cursor:not-allowed}textarea.ui-field__control{min-height:96px;resize:vertical;line-height:1.5}select.ui-field__control{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-field--error .ui-field__control{outline:1px solid var(--error)}.ui-field--error .ui-field__control:focus{outline:2px solid var(--error);box-shadow:0 0 0 4px var(--error-container)}.ui-field__error{font-size:.75rem;font-weight:500;color:var(--error)}@media(prefers-reduced-transparency:reduce){.ui-field__control--glass{background:var(--surface-container-high);backdrop-filter:none;-webkit-backdrop-filter:none}}.ui-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.02em;line-height:1.3;white-space:nowrap}.ui-badge--success{background:var(--success-container);color:var(--on-success-container)}.ui-badge--warning{background:var(--warning-container);color:var(--on-warning-container)}.ui-badge--error{background:var(--error-container);color:var(--on-error-container)}.ui-badge--info{background:var(--info-container);color:var(--on-info-container)}.ui-badge--neutral{background:var(--surface-container-high);color:var(--on-surface-variant)}.ui-badge--primary{background:var(--primary-container);color:var(--on-primary)}.ui-badge--available{background:var(--success-container);color:var(--on-success-container)}.ui-badge--wishday{background:var(--info-container);color:var(--on-info-container)}.ui-badge--blacklist{background:var(--error-container);color:var(--on-error-container)}.ui-skeleton{display:block}.ui-skeleton--circle{border-radius:var(--radius-full)}.ui-skeleton-text{display:flex;flex-direction:column;gap:var(--spacing-2)}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.ui-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);padding:var(--spacing-8);color:var(--on-surface-variant);text-align:center}.ui-empty-state__icon{opacity:.3;margin-bottom:var(--spacing-1)}.ui-empty-state__title{font-size:1.125rem;font-weight:600;color:var(--on-surface)}.ui-empty-state__desc{font-size:.9375rem;max-width:42ch}.ui-empty-state__action{margin-top:var(--spacing-3)}.app-layout{display:flex;min-height:100vh;min-height:100dvh;max-width:1280px;margin:0 auto;width:100%}.sidebar{width:280px;min-height:100vh;min-height:100dvh;background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border-right:1px solid var(--glass-border);box-shadow:var(--glow);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);transition:transform var(--transition-normal),background var(--transition-normal)}.sidebar-header{padding:var(--spacing-6) var(--spacing-5);display:flex;align-items:center;justify-content:space-between}.sidebar-brand{display:flex;align-items:center;gap:var(--spacing-3)}.brand-icon{width:42px;height:42px;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:1rem;font-weight:700;color:var(--on-surface);letter-spacing:var(--tracking-tight);line-height:1.2}.brand-subtitle{font-size:.6875rem;color:var(--on-surface-variant);font-weight:400}.sidebar .sidebar-close-btn{display:none;flex-shrink:0}.sidebar-site-filter{padding:0 var(--spacing-5);margin-bottom:var(--spacing-4);position:relative}.site-filter-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--surface-variant);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--on-surface);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.site-filter-btn:hover{background:var(--surface-container-high)}.site-filter-chevron{transition:transform var(--transition-fast)}.site-filter-chevron.rotated{transform:rotate(180deg)}.site-filter-dropdown{position:absolute;top:calc(100% + var(--spacing-2));left:var(--spacing-5);right:var(--spacing-5);padding:var(--spacing-2);z-index:var(--z-overlay);animation:fadeIn .2s ease;background:var(--glass-strong);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow-strong)}.site-filter-option{display:block;width:100%;text-align:left;padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--on-surface);font-family:var(--font-family);font-size:.8125rem;cursor:pointer;transition:background var(--transition-fast)}.site-filter-option:hover{background:var(--surface-container-high)}.site-filter-option.active{background:var(--primary);color:var(--on-primary)}.sidebar-nav{flex:1;padding:var(--spacing-2) var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-1);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);color:var(--on-surface-variant);text-decoration:none;font-size:.9375rem;font-weight:500;transition:all var(--transition-fast);position:relative}.nav-item:hover{background:var(--surface-container);color:var(--on-surface)}.nav-item-active{background:#a9151f1f;color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}.dark .nav-item-active{background:#a9151f47;color:var(--on-surface)}.nav-badge{margin-left:auto;background:var(--primary);color:var(--on-primary);font-size:.6875rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill);min-width:20px;text-align:center}.sidebar-footer{padding:var(--spacing-4) var(--spacing-5);padding-bottom:max(var(--spacing-4),env(safe-area-inset-bottom));background:var(--surface-variant);border-top:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-3);min-width:0}.user-avatar{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.8125rem;font-weight:600;color:var(--on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:var(--on-surface-variant)}.main-wrapper{flex:1;min-width:0;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;transition:margin var(--transition-normal)}.top-header{position:sticky;top:0;z-index:var(--z-header);background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);min-height:60px;transition:background var(--transition-normal)}.header-spacer{flex:1}.top-header .mobile-menu-btn,.bottom-nav{display:none}.notif-wrapper,.notif-btn{position:relative}.notif-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--error);border:2px solid var(--surface)}.notif-dropdown{position:absolute;top:calc(100% + var(--spacing-3));right:0;width:380px;max-height:480px;overflow-y:auto;padding:var(--spacing-4);animation:slideUp .25s ease;background:var(--glass-strong);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow-strong)}.notif-header{padding-bottom:var(--spacing-3);margin-bottom:var(--spacing-3);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--glass-border)}.notif-item{display:flex;gap:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.notif-item:hover{background:var(--surface-container-high)}.notif-unread{background:var(--surface-container)}.notif-icon-badge{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.notif-icon-warning{background:var(--warning-container)}.notif-icon-success{background:var(--success-container)}.notif-icon-info{background:var(--info-container)}.notif-content{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-title{font-size:.8125rem;font-weight:600;color:var(--on-surface)}.notif-message{font-size:.75rem;color:var(--on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-time{font-size:.6875rem;color:var(--outline);margin-top:2px}.main-content{flex:1;min-width:0;padding:var(--spacing-6) var(--spacing-8);max-width:1280px;margin:0 auto;width:100%}.sidebar-overlay{display:none}@media(min-width:900px)and (max-width:1199px){.sidebar{width:240px}.main-wrapper{margin-left:240px}.main-content{padding:var(--spacing-5) var(--spacing-6)}}@media(max-width:899px){.sidebar{display:flex;transform:translate(-100%);box-shadow:var(--shadow-lg);width:280px}.sidebar.sidebar-open{transform:translate(0)}.sidebar .sidebar-close-btn{display:flex}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:calc(var(--z-sidebar) - 1);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .2s ease}.mobile-menu-btn{display:flex!important}.main-wrapper{margin-left:0}.hide-on-mobile{display:none!important}.top-header{padding:var(--spacing-2) var(--spacing-3)}.main-content{padding:var(--spacing-4) var(--spacing-4);padding-bottom:calc(88px + var(--spacing-4))}.notif-dropdown{width:min(380px,calc(100vw - var(--spacing-8)));right:calc(-1 * var(--spacing-2))}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(80px + env(safe-area-inset-bottom,0px));background:linear-gradient(#a9151f14,#a9151f14),var(--glass-strong);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border-top:1px solid var(--glass-border);box-shadow:var(--glow);z-index:var(--z-header);padding-bottom:env(safe-area-inset-bottom,0px);align-items:flex-start;padding-top:6px}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--on-surface-variant);transition:color var(--transition-fast);padding:var(--spacing-2) 0;border-radius:0;-webkit-tap-highlight-color:transparent}.bottom-nav-item:hover,.bottom-nav-item-active{color:var(--primary)}.bottom-nav-item-active .bottom-nav-icon-wrap{background:var(--glass-accent);color:var(--on-glass-accent);box-shadow:var(--glow-strong);border-radius:var(--radius-pill)}.bottom-nav-item-active{color:var(--primary)}.dark .bottom-nav-item-active .bottom-nav-icon-wrap{background:var(--glass-accent);color:var(--on-glass-accent)}.bottom-nav-icon-wrap{position:relative;width:48px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);transition:background var(--transition-fast)}.bottom-nav-label{font-size:.6875rem;font-weight:500;line-height:1;white-space:nowrap}.bottom-nav-badge{position:absolute;top:-2px;right:4px;background:var(--error);color:#fff;font-size:.5625rem;font-weight:700;min-width:16px;height:16px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface-container-low)}}@media(max-width:479px){.top-header{padding:var(--spacing-2) var(--spacing-2)}.main-content{padding:var(--spacing-3) var(--spacing-3);padding-bottom:calc(88px + var(--spacing-3))}.notif-dropdown{width:calc(100vw - var(--spacing-6));right:calc(-1 * var(--spacing-1))}}/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tracking-tight:-.025em;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-family);--default-mono-font-family:var(--font-mono);--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.text-on-surface-variant{color:var(--on-surface-variant)}.text-primary{color:var(--primary)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}html,body{max-width:100%;overflow-x:hidden}:root{--primary:#a9151f;--primary-deep:#7a0f17;--primary-container:#d4525c;--primary-fixed-variant:#bb2a35;--on-primary:#faf9f6;--on-primary-container:#2a0f13;--secondary:#5d5f5b;--secondary-container:#e8e6e1;--on-secondary:#fff;--on-secondary-container:#1a1b19;--tertiary:#4a2500;--tertiary-container:#ffdcc2;--on-tertiary:#fff;--on-tertiary-fixed:#3a1d00;--background:#faf9f6;--surface:#faf9f6;--surface-container-lowest:#fff;--surface-container-low:#f5f3ee;--surface-container:#efede8;--surface-container-high:#e9e7e2;--surface-container-highest:#e3e1dc;--surface-variant:#efede8b3;--on-surface:#1c1b1a;--on-surface-variant:#534f4b;--outline:#857f7a;--outline-variant:#857f7a26;--success:#2d6a4f;--success-container:#d4edda;--warning:#b8860b;--warning-container:#fff3cd;--error:#9b2335;--error-container:#f8d7da;--info:#3a6b9f;--info-container:#d6e9f8;--surface-dim:var(--surface-container-low);--on-error-container:#7b1d1d;--on-success-container:#1b4332;--on-info-container:#1e3a5f;--on-warning-container:#7b5e00;--radius-full:9999px;--shadow-ambient:0 12px 40px #53434314;--shadow-sm:0 2px 8px #5343430f;--shadow-md:0 6px 20px #53434314;--shadow-lg:0 12px 40px #5343431a;--glass:#ffffff6b;--glass-strong:#ffffffb8;--glass-border:#fff9;--glass-accent:#a9151fd9;--on-glass-accent:#faf9f6;--glass-blur:18px;--glow:0 10px 36px #7a0f1724;--glow-strong:0 16px 48px #a9151f47;--glass-highlight:inset 0 1px 0 #fff9;--surface-strong:var(--surface-container-lowest);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--tracking-tight:-.02em;--tracking-normal:0;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:2rem;--spacing-8:2.5rem;--spacing-9:3rem;--spacing-10:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--z-sidebar:100;--z-header:90;--z-overlay:200;--z-modal:300;--z-toast:400;--foreground:var(--on-surface);--card:var(--surface-container-low);--card-foreground:var(--on-surface);--popover:var(--surface-container-lowest);--popover-foreground:var(--on-surface);--primary-foreground:var(--on-primary);--secondary-foreground:var(--on-secondary);--muted:var(--surface-container);--muted-foreground:var(--on-surface-variant);--accent:var(--surface-container-high);--accent-foreground:var(--on-surface);--destructive:var(--error);--destructive-foreground:#fff;--border:var(--outline-variant);--input:var(--surface-container-high);--ring:var(--primary);--radius:var(--radius-md)}.dark,[data-theme=dark]{--primary:#ff7782;--primary-deep:#e04654;--primary-container:#5e0d14;--primary-fixed-variant:#d94a58;--on-primary:#2a0608;--on-primary-container:#ffe0e3;--secondary:#d6d3ce;--secondary-container:#3d3f37;--on-secondary:#1a1b19;--on-secondary-container:#ecebe6;--tertiary:#f0bd8a;--tertiary-container:#4d3018;--on-tertiary:#1a1106;--on-tertiary-fixed:#ffe0c2;--background:#131215;--surface:#1a191c;--surface-container-lowest:#1f1e21;--surface-container-low:#25232b;--surface-container:#2c2a30;--surface-container-high:#353339;--surface-container-highest:#403e44;--surface-variant:#2c2a30d9;--on-surface:#ecebe7;--on-surface-variant:#b8b4ad;--outline:#908a82;--outline-variant:#908a8247;--success:#7adfa0;--success-container:#1c4530;--on-success-container:#b8efcb;--warning:#f0c965;--warning-container:#4a3a14;--on-warning-container:#ffe9a8;--error:#ff8b9a;--error-container:#4d1622;--on-error-container:#ffd0d6;--info:#8fc1ed;--info-container:#18324d;--on-info-container:#c5dff5;--shadow-ambient:0 12px 40px #00000080;--shadow-sm:0 2px 8px #0006;--shadow-md:0 6px 20px #00000073;--shadow-lg:0 12px 40px #0000008c;--glass:#221c1d6b;--glass-strong:#221c1db8;--glass-border:#ffffff1a;--glass-accent:#a9151fb3;--on-glass-accent:#faf9f6;--glow:0 10px 36px #0006;--glow-strong:0 16px 48px #0000008c;--glass-highlight:inset 0 1px 0 #ffffff12;--surface-strong:var(--surface-container-low);--surface-dim:var(--surface-container);--card:var(--surface-container-low);--popover:var(--surface-container-lowest);--muted:var(--surface-container);--accent:var(--surface-container-high);--destructive:var(--error);--input:var(--surface-container-high)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--on-surface);min-height:100vh;transition:background var(--transition-normal),color var(--transition-normal);background-color:#f4eae8;background-image:radial-gradient(72vw 72vw at 6% -12%,#a9151f38,#0000 52%),radial-gradient(64vw 64vw at 102% 110%,#d4525c38,#0000 56%),radial-gradient(52vw 52vw at 60% 38%,#a9151f14,#0000 60%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;line-height:1.6}.dark body,[data-theme=dark] body{background:radial-gradient(72vw 72vw at 6% -12%,#a9151f33,transparent 52%),radial-gradient(64vw 64vw at 102% 110%,#d4525c29,transparent 56%),radial-gradient(52vw 52vw at 60% 38%,#a9151f1a,transparent 60%),var(--background);background-attachment:fixed}#root{min-height:100vh}.text-display-lg{letter-spacing:var(--tracking-tight);font-size:2.5rem;font-weight:700;line-height:1.15}.text-display-md{letter-spacing:var(--tracking-tight);font-size:2rem;font-weight:700;line-height:1.2}.text-headline-lg{letter-spacing:var(--tracking-tight);font-size:1.75rem;font-weight:600;line-height:1.25}.text-headline-md{letter-spacing:var(--tracking-tight);font-size:1.5rem;font-weight:600;line-height:1.3}.text-title-lg{font-size:1.25rem;font-weight:600;line-height:1.35}.text-title-md{font-size:1.125rem;font-weight:600;line-height:1.4}.text-body-lg{font-size:1rem;font-weight:400;line-height:1.6}.text-body-md{font-size:.9375rem;font-weight:400;line-height:1.55}.text-body-sm{font-size:.875rem;font-weight:400;line-height:1.5}.text-label-lg{letter-spacing:.01em;font-size:.875rem;font-weight:500;line-height:1.4}.text-label-md{letter-spacing:.02em;font-size:.8125rem;font-weight:500;line-height:1.3}.text-label-sm{letter-spacing:.03em;font-size:.75rem;font-weight:500;line-height:1.3}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-on-surface-variant{color:var(--on-surface-variant)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-xl);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;min-height:44px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-deep);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface-container-highest);color:var(--on-surface)}.btn-secondary:hover{background:var(--surface-container-high)}.btn-tertiary{color:var(--primary-fixed-variant);padding:var(--spacing-2) var(--spacing-4);background:0 0}.btn-tertiary:hover{background:var(--surface-container)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);min-height:36px;font-size:.8125rem}.btn-lg{padding:var(--spacing-4) var(--spacing-8);min-height:52px;font-size:1.0625rem}.btn-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--on-surface-variant);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--surface-container-high)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background:var(--surface-container-lowest);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),background var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-flat{background:var(--surface-container-low);border-radius:var(--radius-lg);padding:var(--spacing-5)}.badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);letter-spacing:.02em;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-container);color:var(--on-primary)}.badge-success{background:var(--success-container);color:var(--success)}.badge-warning{background:var(--warning-container);color:var(--on-warning-container)}.badge-error{background:var(--error-container);color:var(--error)}.badge-info{background:var(--info-container);color:var(--info)}.input-field{width:100%;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-family:var(--font-family);background:var(--surface-container-high);color:var(--on-surface);transition:background var(--transition-fast),box-shadow var(--transition-fast);border:none;min-height:48px;font-size:.9375rem}.input-field:focus{outline:2px solid var(--primary);outline-offset:0;background:var(--surface-container-highest);box-shadow:0 0 0 4px #722f3733}.input-field::placeholder{color:var(--outline)}.input-group{gap:var(--spacing-2);flex-direction:column;display:flex}.input-group label{color:var(--on-surface-variant);font-size:.8125rem;font-weight:500}.segmented-control{background:var(--surface-container-high);border-radius:var(--radius-lg);padding:var(--spacing-1);gap:var(--spacing-1);display:inline-flex}.segmented-control button{padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);color:var(--on-surface-variant);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;min-height:36px;font-size:.8125rem;font-weight:500}.segmented-control button.active{background:var(--surface-container-lowest);color:var(--on-surface);box-shadow:var(--shadow-sm)}.progress-bar{background:var(--surface-container-highest);border-radius:var(--radius-pill);width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--primary),var(--primary-container));border-radius:var(--radius-pill);height:100%;transition:width var(--transition-slow)}.toggle-switch{background:var(--surface-container-highest);border-radius:var(--radius-pill);cursor:pointer;width:52px;height:32px;transition:background var(--transition-fast),border-color var(--transition-fast);border:2px solid var(--outline);padding:0;position:relative}.toggle-switch.active{background:var(--primary);border-color:var(--primary)}.toggle-switch:after{content:"";background:var(--surface-container-lowest);width:26px;height:26px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch.active:after{transform:translate(20px)}.glass-overlay{background:var(--surface-variant);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow),var(--glass-highlight)}.glass-strong{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow)}.glass-accent{background:var(--glass-accent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glow-strong);color:var(--on-glass-accent)}@media(prefers-reduced-transparency:reduce){.glass,.glass-strong,.glass-overlay{background:var(--surface-strong);-webkit-backdrop-filter:none}.glass-accent{background:var(--primary);-webkit-backdrop-filter:none}body,.dark body,[data-theme=dark] body{background:var(--background)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-container-high) 25%,var(--surface-container-highest) 50%,var(--surface-container-high) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--outline)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-up{animation:.5s cubic-bezier(.4,0,.2,1) forwards slideUp}@media(max-width:899px){.page-header{flex-wrap:wrap}}@media(max-width:599px){:root{--spacing-8:1.5rem;--spacing-9:2rem;--spacing-10:2.5rem}.text-display-lg{font-size:1.75rem}.text-display-md{font-size:1.5rem}.text-headline-lg{font-size:1.375rem}.text-headline-md{font-size:1.25rem}.segmented-control{width:100%}.segmented-control button{padding:var(--spacing-2) var(--spacing-2);flex:1;font-size:.75rem}.card{padding:var(--spacing-4)}.btn{min-height:44px}}@media(max-width:479px){.text-headline-lg{font-size:1.25rem}.text-headline-md,.text-title-lg{font-size:1.125rem}.page-header{flex-direction:column;align-items:flex-start}}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skip-link{top:-100px;left:var(--spacing-4);padding:var(--spacing-3) var(--spacing-5);background:var(--primary);color:var(--on-primary);border-radius:var(--radius-md);z-index:9999;font-weight:500;text-decoration:none;position:absolute}.skip-link:focus{top:var(--spacing-4)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
