:root{--font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",Arial,sans-serif;--font-number:"DIN Alternate","Inter",-apple-system,BlinkMacSystemFont,Arial,sans-serif;--xhs-brand:#ff5a1f;--xhs-brand-hover:#e94b12;--xhs-brand-active:#c93d0c;--xhs-brand-soft:#fff1e8;--xhs-brand-subtle:#fff7f2;--xhs-bg-page:#fbf8f4;--xhs-bg-surface:#ffffff;--xhs-bg-card:var(--xhs-bg-surface);--xhs-bg-subtle:#fffdf9;--xhs-bg-muted:#f0e9e3;--xhs-bg-elevated:var(--xhs-bg-subtle);--xhs-text-primary:#21130d;--xhs-text-secondary:#6b5145;--xhs-text-tertiary:#8a817b;--xhs-text-muted:var(--xhs-text-tertiary);--xhs-text-inverse:#ffffff;--xhs-border-subtle:#f0e9e3;--xhs-border-default:#e7ded6;--xhs-border-strong:#d4c7bd;--xhs-success:#15803d;--xhs-success-bg:#ecfdf5;--xhs-warning:#a16207;--xhs-warning-bg:#fefce8;--xhs-info:#1d4ed8;--xhs-info-bg:#eff6ff;--xhs-error:#b91c1c;--xhs-error-bg:#fef2f2;--xhs-danger:var(--xhs-error);--xhs-danger-bg:var(--xhs-error-bg);--warm-0:var(--xhs-bg-surface);--warm-50:var(--xhs-bg-subtle);--warm-100:var(--xhs-bg-page);--warm-200:var(--xhs-border-subtle);--warm-300:var(--xhs-border-default);--orange-50:var(--xhs-brand-soft);--orange-100:#ffe1d2;--orange-400:#ff7a45;--orange-500:var(--xhs-brand);--orange-600:var(--xhs-brand-hover);--orange-700:var(--xhs-brand-active);--brown-950:#160b07;--brown-900:var(--xhs-text-primary);--brown-800:#352018;--brown-700:#51392f;--brown-500:var(--xhs-text-secondary);--brown-300:#b9a79d;--neutral-0:#ffffff;--neutral-50:#fafafa;--neutral-100:#f4f4f5;--neutral-300:var(--xhs-border-strong);--neutral-500:var(--xhs-text-tertiary);--neutral-700:#3f3f46;--green-50:var(--xhs-success-bg);--green-500:#22c55e;--green-700:var(--xhs-success);--blue-50:var(--xhs-info-bg);--blue-500:#3b82f6;--blue-700:var(--xhs-info);--red-50:var(--xhs-error-bg);--red-500:#ef4444;--red-700:var(--xhs-error);--yellow-50:var(--xhs-warning-bg);--yellow-500:#eab308;--yellow-700:var(--xhs-warning);--color-bg:var(--xhs-bg-surface);--color-bg-page:var(--xhs-bg-page);--color-bg-card:var(--xhs-bg-card);--color-bg-muted:var(--xhs-bg-muted);--color-bg-elevated:var(--xhs-bg-elevated);--color-text-primary:var(--xhs-text-primary);--color-text-secondary:var(--xhs-text-secondary);--color-text-muted:var(--xhs-text-muted);--color-text-inverse:var(--xhs-text-inverse);--color-text:var(--xhs-text-primary);--color-border-default:var(--xhs-border-default);--color-border-strong:var(--xhs-border-strong);--color-border-subtle:var(--xhs-border-subtle);--color-brand-primary:var(--xhs-brand);--color-brand-primary-hover:var(--xhs-brand-hover);--color-brand-primary-active:var(--xhs-brand-active);--color-brand-primary-soft:var(--xhs-brand-soft);--color-brand-accent:var(--xhs-brand-hover);--color-brand-dark:var(--xhs-text-primary);--color-warning-bg:var(--xhs-warning-bg);--color-warning-text:var(--xhs-warning);--color-success:var(--xhs-success);--color-warning:var(--xhs-warning);--color-error:var(--xhs-error);--color-info:var(--xhs-info);--xhs-space-1:4px;--xhs-space-2:8px;--xhs-space-3:12px;--xhs-space-4:16px;--xhs-space-5:20px;--xhs-space-6:24px;--xhs-space-7:32px;--xhs-space-8:40px;--xhs-space-9:48px;--xhs-space-10:64px;--space-1:var(--xhs-space-1);--space-2:var(--xhs-space-2);--space-3:var(--xhs-space-3);--space-4:var(--xhs-space-4);--space-5:var(--xhs-space-5);--space-6:var(--xhs-space-6);--space-7:var(--xhs-space-7);--space-8:var(--xhs-space-8);--space-9:var(--xhs-space-9);--xhs-text-display-size:32px;--xhs-text-display-weight:700;--xhs-text-display-line-height:40px;--xhs-text-h1-size:28px;--xhs-text-h1-weight:700;--xhs-text-h1-line-height:36px;--xhs-text-h2-size:24px;--xhs-text-h2-weight:700;--xhs-text-h2-line-height:32px;--xhs-text-h3-size:20px;--xhs-text-h3-weight:600;--xhs-text-h3-line-height:28px;--xhs-text-title-size:18px;--xhs-text-title-weight:600;--xhs-text-title-line-height:26px;--xhs-text-body-lg-size:16px;--xhs-text-body-lg-weight:400;--xhs-text-body-lg-line-height:24px;--xhs-text-body-size:15px;--xhs-text-body-weight:400;--xhs-text-body-line-height:22px;--xhs-text-caption-size:13px;--xhs-text-caption-weight:400;--xhs-text-caption-line-height:18px;--xhs-text-tiny-size:12px;--xhs-text-tiny-weight:500;--xhs-text-tiny-line-height:16px;--text-display-size:var(--xhs-text-display-size);--text-display-weight:var(--xhs-text-display-weight);--text-display-line-height:var(--xhs-text-display-line-height);--text-h1-size:var(--xhs-text-h1-size);--text-h1-weight:var(--xhs-text-h1-weight);--text-h1-line-height:var(--xhs-text-h1-line-height);--text-h2-size:var(--xhs-text-h2-size);--text-h2-weight:var(--xhs-text-h2-weight);--text-h2-line-height:var(--xhs-text-h2-line-height);--text-h3-size:var(--xhs-text-h3-size);--text-h3-weight:var(--xhs-text-h3-weight);--text-h3-line-height:var(--xhs-text-h3-line-height);--text-title-size:var(--xhs-text-title-size);--text-title-weight:var(--xhs-text-title-weight);--text-title-line-height:var(--xhs-text-title-line-height);--text-body-lg-size:var(--xhs-text-body-lg-size);--text-body-lg-weight:var(--xhs-text-body-lg-weight);--text-body-lg-line-height:var(--xhs-text-body-lg-line-height);--text-body-size:var(--xhs-text-body-size);--text-body-weight:var(--xhs-text-body-weight);--text-body-line-height:var(--xhs-text-body-line-height);--text-caption-size:var(--xhs-text-caption-size);--text-caption-weight:var(--xhs-text-caption-weight);--text-caption-line-height:var(--xhs-text-caption-line-height);--text-tiny-size:var(--xhs-text-tiny-size);--text-tiny-weight:var(--xhs-text-tiny-weight);--text-tiny-line-height:var(--xhs-text-tiny-line-height);--line-height-tight:1.25;--line-height-normal:1.45;--line-height-loose:1.6;--xhs-radius-2xs:2px;--xhs-radius-xs:4px;--xhs-radius-sm:6px;--xhs-radius-md:8px;--xhs-radius-lg:12px;--xhs-radius-xl:16px;--xhs-radius-2xl:20px;--xhs-radius-full:999px;--radius-2xs:var(--xhs-radius-2xs);--radius-xs:var(--xhs-radius-xs);--radius-sm:var(--xhs-radius-sm);--radius-md:var(--xhs-radius-md);--radius-lg:var(--xhs-radius-lg);--radius-xl:var(--xhs-radius-xl);--radius-2xl:var(--xhs-radius-2xl);--radius-pill:var(--xhs-radius-full);--xhs-shadow-xs:0 1px 2px rgb(33 19 13/4%);--xhs-shadow-sm:0 4px 12px rgb(33 19 13/6%);--xhs-shadow-md:0 12px 32px rgb(33 19 13/8%);--xhs-shadow-lg:0 24px 64px rgb(33 19 13/12%);--xhs-shadow-float:var(--xhs-shadow-md);--xhs-shadow-tabbar:0 -12px 32px rgb(33 19 13/8%);--xhs-shadow-soft-03:rgb(15 23 42/3%);--xhs-shadow-soft-04:rgb(15 23 42/4%);--xhs-shadow-soft-05:rgb(15 23 42/5%);--xhs-shadow-soft-06:rgb(15 23 42/6%);--xhs-shadow-soft-12:rgb(15 23 42/12%);--xhs-shadow-soft-18:rgb(15 23 42/18%);--xhs-on-brand-text-72:rgb(255 255 255/72%);--xhs-on-brand-text-78:rgb(255 255 255/78%);--xhs-surface-strong-96:rgb(255 255 255/96%);--xhs-success-soft-shadow:rgb(16 185 89/15%);--xhs-success-mid-shadow:rgb(22 199 101/28%);--xhs-success-soft-bg:rgb(22 163 74/10%);--xhs-brand-soft-shadow:rgb(255 106 0/18%);--hairline-thin:1px;--max-height-md:30rem;--shadow-xs:var(--xhs-shadow-xs);--shadow-sm:var(--xhs-shadow-sm);--shadow-md:var(--xhs-shadow-md);--shadow-lg:var(--xhs-shadow-lg);--shadow-float:var(--xhs-shadow-float);--shadow-tabbar:var(--xhs-shadow-tabbar);--icon-xs:12px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:28px;--touch-min:44px;--touch-rec:48px;--xhs-button-height-md:40px;--xhs-button-height-lg:48px;--xhs-button-radius:var(--xhs-radius-md);--xhs-button-padding-x:20px;--xhs-button-font-size:var(--xhs-text-body-size);--xhs-button-font-weight:600;--xhs-button-primary-bg:var(--xhs-brand);--xhs-button-primary-bg-hover:var(--xhs-brand-hover);--xhs-button-primary-bg-pressed:var(--xhs-brand-active);--xhs-button-primary-bg-disabled:#fec7ad;--xhs-button-primary-text:var(--xhs-text-inverse);--xhs-button-secondary-bg:var(--xhs-bg-surface);--xhs-button-secondary-bg-hover:#f6f0eb;--xhs-button-secondary-bg-pressed:var(--xhs-bg-muted);--xhs-button-secondary-text:var(--xhs-text-primary);--xhs-button-secondary-border:var(--xhs-border-strong);--xhs-button-ghost-bg:transparent;--xhs-button-ghost-bg-hover:var(--xhs-brand-soft);--xhs-button-ghost-text:var(--xhs-brand);--xhs-button-danger-bg:#ef4444;--xhs-button-danger-bg-hover:#dc2626;--xhs-button-danger-bg-pressed:#b91c1c;--xhs-button-disabled-text:#ffffff;--xhs-button-loading-opacity:0.82;--btn-primary-height:var(--xhs-button-height-lg);--btn-primary-radius:var(--xhs-button-radius);--btn-primary-px:var(--xhs-button-padding-x);--btn-primary-font:var(--xhs-text-body-lg-size);--btn-primary-weight:var(--xhs-button-font-weight);--btn-primary-icon-size:18px;--btn-primary-icon-gap:var(--xhs-space-2);--btn-secondary-height:var(--xhs-button-height-lg);--btn-secondary-radius:var(--xhs-button-radius);--btn-secondary-font:16px;--btn-secondary-weight:var(--xhs-button-font-weight);--btn-secondary-border-width:1px;--btn-tag-height:32px;--btn-tag-px:12px;--btn-tag-font:var(--xhs-text-caption-size);--btn-tag-weight:500;--btn-tag-radius:var(--xhs-radius-full);--xhs-card-bg:var(--xhs-bg-surface);--xhs-card-bg-subtle:var(--xhs-bg-subtle);--xhs-card-border:var(--xhs-border-default);--xhs-card-border-hover:var(--xhs-border-strong);--xhs-card-radius:var(--xhs-radius-md);--xhs-card-padding:var(--xhs-space-4);--xhs-card-gap:var(--xhs-space-4);--xhs-card-shadow:var(--xhs-shadow-sm);--xhs-card-shadow-hover:var(--xhs-shadow-md);--card-radius:var(--xhs-card-radius);--card-padding:var(--xhs-card-padding);--card-shadow:var(--xhs-card-shadow);--card-gap:var(--xhs-card-gap);--card-logo-to-title:var(--xhs-space-3);--card-title-to-desc:var(--xhs-space-1);--card-content-to-bottom:var(--xhs-space-4);--card-item-gap:var(--xhs-space-4);--xhs-filter-height:40px;--xhs-filter-radius:var(--xhs-radius-full);--xhs-filter-bg:var(--xhs-bg-surface);--xhs-filter-bg-active:var(--xhs-brand-soft);--xhs-filter-text:var(--xhs-text-secondary);--xhs-filter-text-active:var(--xhs-brand);--xhs-filter-border:var(--xhs-border-default);--tab-filter-height:var(--xhs-filter-height);--tab-filter-px:14px;--tab-filter-radius:var(--xhs-filter-radius);--tab-filter-font:var(--xhs-text-body-size);--tab-filter-weight:500;--xhs-tabbar-height:64px;--xhs-tabbar-icon:26px;--xhs-tabbar-label:12px;--xhs-tabbar-label-active-weight:600;--xhs-tabbar-fab-size:56px;--xhs-tabbar-fab-radius:28px;--xhs-tabbar-bg:rgb(255 255 255/94%);--xhs-tabbar-border:rgb(231 222 214/72%);--tabbar-height:var(--xhs-tabbar-height);--tabbar-icon:var(--xhs-tabbar-icon);--tabbar-label:var(--xhs-tabbar-label);--tabbar-label-active-weight:var(--xhs-tabbar-label-active-weight);--tabbar-fab-size:var(--xhs-tabbar-fab-size);--tabbar-fab-radius:var(--xhs-tabbar-fab-radius);--tabbar-bg:var(--xhs-tabbar-bg);--tabbar-border:var(--xhs-tabbar-border);--xhs-form-control-height:40px;--xhs-form-control-radius:var(--xhs-radius-sm);--xhs-form-control-bg:var(--xhs-bg-surface);--xhs-form-control-bg-disabled:#f2f3f5;--xhs-form-control-border:var(--xhs-border-default);--xhs-form-control-border-hover:var(--xhs-border-strong);--xhs-form-control-border-focus:var(--xhs-brand);--xhs-form-control-border-error:#ef4444;--xhs-form-control-text:var(--xhs-text-primary);--xhs-form-control-placeholder:#9ca3af;--xhs-form-control-disabled-text:#9ca3af;--xhs-form-control-shadow-focus:0 0 0 3px rgb(255 90 31/14%);--xhs-form-helper-text:var(--xhs-text-tertiary);--xhs-form-error-text:#ef4444;--form-control-height:var(--xhs-form-control-height);--form-control-radius:var(--xhs-form-control-radius);--form-control-bg:var(--xhs-form-control-bg);--form-control-border:var(--xhs-form-control-border);--form-control-border-focus:var(--xhs-form-control-border-focus);--form-control-border-error:var(--xhs-form-control-border-error);--hero-height:13.75rem;--hero-padding:var(--xhs-space-5);--hero-title-size:var(--xhs-text-h1-size);--hero-title-weight:var(--xhs-text-h1-weight);--hero-desc-size:var(--xhs-text-body-lg-size);--hero-desc-weight:var(--xhs-text-body-lg-weight);--hero-cta-height:var(--touch-rec)}:where(.app-shell[data-workspace-chrome=true],.notices-workspace-content,.notices-workspace-page,.notice-create-workspace-content,.notice-create-workspace-page){--workspace-success-surface-soft:var(--xhs-success-bg);--workspace-success-border-soft:#bbf7d0;--workspace-success-strong:var(--xhs-success);--workspace-info-surface-soft:var(--xhs-info-bg);--workspace-warning-surface-soft:#fff7ed;--workspace-warning-surface-muted:#fff2df;--workspace-warning-border-soft:#fed7aa;--workspace-danger-surface-soft:var(--xhs-error-bg);--workspace-error-surface-soft:var(--xhs-error-bg);--workspace-danger-border-soft:#fecaca;--workspace-ink-strong:#7a3c08;--workspace-ink-muted:#8a5a12;--workspace-overlay-ink:rgb(33 19 13/72%);--workspace-white-78:rgb(255 255 255/78%);--workspace-white-84:rgb(255 255 255/84%);--workspace-white-90:rgb(255 255 255/90%);--workspace-white-94:rgb(255 255 255/94%);--workspace-white-95:rgb(255 255 255/95%);--workspace-warm-80:rgb(231 222 214/80%);--workspace-warm-90:rgb(231 222 214/90%);--workspace-warm-90-faint:rgb(255 253 249/90%);--workspace-warm-98:rgb(255 253 249/98%);--workspace-warm-98-alt:rgb(255 247 242/98%);--workspace-sand-96:rgb(247 239 230/96%);--workspace-sand-96-alt:rgb(255 240 217/96%);--workspace-sand-96-2:rgb(255 232 185/96%);--workspace-gold-98:rgb(255 239 196/98%);--workspace-gold-96:rgb(255 231 178/96%);--workspace-gold-96-alt:rgb(255 239 201/96%);--workspace-brown-60:rgb(188 170 152/60%);--workspace-green-22:rgb(34 197 94/22%);--workspace-orange-400-18:rgb(255 122 69/18%);--workspace-orange-12:rgb(255 90 31/12%);--workspace-orange-14:rgb(255 90 31/14%);--workspace-orange-18:rgb(255 90 31/18%);--workspace-orange-12-shadow:rgb(255 90 31/12%);--workspace-orange-20:rgb(255 90 31/20%);--workspace-orange-28:rgb(255 90 31/28%);--workspace-orange-32:rgb(255 90 31/32%);--workspace-orange-34:rgb(255 90 31/34%);--workspace-orange-38:rgb(255 90 31/38%);--workspace-orange-90:rgb(255 90 31/90%);--workspace-orange-96:rgb(255 90 31/96%);--workspace-orange-11:rgb(33 19 13/11%)}:root{--layout-breakpoint-mobile:40rem;--layout-breakpoint-tablet:48rem;--layout-breakpoint-desktop:64rem;--layout-breakpoint-wide:80rem;--layout-shell-width-app:26.875rem;--layout-shell-width-page:60rem;--layout-shell-width-auth:70rem;--layout-shell-width-wide:80rem;--layout-shell-width-full:100%;--layout-shell-padding-mobile:var(--space-5);--layout-shell-padding-desktop:var(--space-6);--control-height-sm:2.25rem;--control-height-lg:3.25rem;--control-padding-lg-x:1.375rem;--tag-height-sm:1.5rem;--tag-height-md:1.75rem;--tabbar-item-height:3.875rem;--tabbar-icon-size:1.5rem;--tabbar-label-size:0.75rem;--tabbar-label-line-height:0.875rem}.layout-contract,.layout-contract-hero,.layout-contract-panel,.layout-contract-section{min-width:0}.layout-contract{--page-padding-x:var(--layout-shell-padding-mobile);--page-padding-top:1.125rem;--page-bottom-space:7rem}.layout-contract,.layout-contract[data-layout-shell-width=app]{--page-max-width:var(--layout-shell-width-app)}.layout-contract[data-layout-shell-width=page]{--page-max-width:var(--layout-shell-width-page)}.layout-contract[data-layout-shell-width=auth]{--page-max-width:var(--layout-shell-width-auth)}.layout-contract[data-layout-shell-width=wide]{--page-max-width:var(--layout-shell-width-wide)}.layout-contract[data-layout-shell-width=full]{--page-max-width:var(--layout-shell-width-full)}@media (min-width:64rem){.layout-contract{--page-padding-x:var(--layout-shell-padding-desktop)}}.layout-contract-hero[data-layout-flow=stack] .page-hero-head,.layout-contract-panel[data-layout-flow=stack],.layout-contract-section[data-layout-flow=stack]{flex-direction:column;align-items:stretch}.layout-contract-hero[data-layout-flow=split] .page-hero-head,.layout-contract-section[data-layout-flow=split]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.layout-contract-hero[data-layout-cta=stack] .page-hero-actions,.layout-contract-section[data-layout-cta=stack] .section-header-aside{width:100%}.layout-contract-section[data-layout-cta=stack] .section-header-aside{justify-content:flex-start}.layout-contract-hero[data-layout-density=compact],.layout-contract-panel[data-layout-density=compact],.layout-contract-section[data-layout-density=compact]{--layout-surface-gap:var(--space-2)}.layout-contract-hero[data-layout-density=regular],.layout-contract-panel[data-layout-density=regular],.layout-contract-section[data-layout-density=regular]{--layout-surface-gap:var(--space-3)}.layout-contract-hero[data-layout-density=spacious],.layout-contract-panel[data-layout-density=spacious],.layout-contract-section[data-layout-density=spacious]{--layout-surface-gap:var(--space-4)}body.theme-xhs-planet{background:var(--color-bg-page);color:var(--color-text-primary)}body.theme-xhs-planet .theme-hero-gradient{background:linear-gradient(135deg,#2f2218,#5c3b1e 48%,#f28c28);color:var(--color-text-inverse)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-sans);background:var(--color-bg-page);color:var(--color-text-primary);overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer}code{background:var(--color-brand-primary-soft);border-radius:var(--radius-sm);padding:calc(var(--space-1) / 2) calc(var(--space-1) + var(--space-1) / 2)}.feedback-card,.ui-alert{border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-body-size);line-height:var(--line-height-loose);border:1px solid var(--color-border-default);background:var(--color-bg-card)}.feedback-card,.ui-alert,.ui-alert-neutral{color:var(--color-text-secondary)}.feedback-loading,.ui-alert-info{color:var(--color-info);border-color:#bfdbfe;background:#eff6ff}.feedback-success,.ui-alert-success{color:var(--color-success);border-color:#bbf7d0;background:#f0fdf4}.ui-alert-warning{color:var(--color-warning);border-color:#fcd34d;background:#fff7ed}.feedback-error,.ui-alert-error{color:var(--color-error);border-color:#fecaca;background:#fef2f2}.feedback-empty{color:var(--color-text-secondary)}.feedback-submit{color:var(--color-brand-accent);border-color:var(--color-border-default);background:var(--color-brand-primary-soft)}.feedback-card{display:flex;align-items:flex-start;gap:var(--space-2)}.feedback-state-icon{display:inline-grid;width:var(--icon-sm);height:var(--icon-sm);flex:0 0 auto;place-items:center;font-weight:800;line-height:1}.feedback-state-dot{width:calc(var(--space-2) + var(--space-1) / 2);height:calc(var(--space-2) + var(--space-1) / 2);border-right-color:currentcolor;border:calc(var(--space-1) / 2) solid;border-right:calc(var(--space-1) / 2) solid transparent;border-radius:50%;animation:spin .7s linear infinite}.feedback-submit-message{font-weight:700}.feedback-submit-detail{flex-basis:100%;margin:var(--space-1) 0 0 calc(var(--icon-sm) + var(--space-2));color:var(--color-text-secondary)}.ui-alert-density-compact{padding:var(--space-3)}.ui-alert-density-default{padding:var(--space-4)}.ui-button{border:none;border-radius:var(--radius-md);padding:var(--space-3) calc(var(--space-5) - var(--space-1) / 2);font-size:var(--text-body-size);font-weight:700;transition:background .2s ease,color .2s ease,opacity .2s ease}.ui-button-size-sm{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-caption-size)}.ui-button-size-md{min-height:var(--touch-min)}.ui-button-size-lg{min-height:var(--control-height-lg);padding:0 var(--control-padding-lg-x);font-size:var(--text-body-lg-size)}.ui-button-full{width:100%}.ui-button-recipe-form{box-shadow:var(--shadow-xs)}.ui-button-recipe-action{box-shadow:var(--shadow-sm)}.ui-button-recipe-inline{padding-inline:var(--space-3)}.primary-button,.ui-button-primary{background:var(--color-brand-primary);color:var(--color-text-inverse)}.primary-button:hover,.ui-button-primary:hover{background:var(--color-brand-primary-hover)}.ui-button-secondary{background:var(--color-brand-primary-soft);color:var(--color-brand-accent);border:1px solid var(--color-border-default)}.primary-button:disabled,.ui-button:disabled{opacity:.65;cursor:not-allowed}.ui-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) calc(var(--space-2) + var(--space-1) / 2);border-radius:var(--radius-pill);font-size:var(--text-caption-size);font-weight:700;border:1px solid transparent}.ui-tag-brand{background:var(--color-brand-primary-soft);color:var(--color-brand-accent)}.ui-tag-info{background:#eff6ff;color:var(--color-info)}.ui-tag-success{background:#f0fdf4;color:var(--color-success)}.ui-tag-warning{background:#fff7ed;color:var(--color-warning)}.ui-tag-error{background:#fef2f2;color:var(--color-error)}.ui-tag-neutral{background:var(--color-bg-muted);color:var(--color-text-secondary)}.ui-tag-size-sm{padding:0 var(--space-2);min-height:var(--tag-height-sm);font-size:var(--text-tiny-size)}.ui-tag-size-md{min-height:var(--tag-height-md)}.dashboard-card,.dashboard-panel,.notice-detail-card,.role-switch-card,.ui-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}.ui-card-density-compact{padding:var(--space-4)}.ui-card-density-comfortable{padding:var(--space-6)}.ui-card-surface-default{box-shadow:var(--shadow-sm)}.ui-card-surface-elevated{box-shadow:var(--shadow-md)}.ui-card-surface-subtle{box-shadow:var(--shadow-xs)}.page-hero{padding:var(--space-7);border-radius:var(--radius-xl);margin-bottom:var(--space-6)}.page-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.page-hero-main{max-width:calc(var(--space-8) * 19)}.page-hero-title{margin:var(--space-4) 0 0;font-size:var(--text-display-size)}.page-hero-description{margin-top:var(--space-3);line-height:1.8}.page-hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.page-hero-dark{background:#111827;color:#fff}.page-hero-dark .page-hero-description{color:rgba(255,255,255,.88)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.section-header-main{min-width:0}.section-header-title-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.section-header-title{margin:0;font-size:var(--text-h2-size)}.section-header-description{margin:calc(var(--space-2) + var(--space-1) / 2) 0 0;color:var(--color-text-secondary);line-height:1.7}.section-header-aside{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-width:calc(var(--space-8) * 18);margin:0 auto;padding:var(--space-7) var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-card);box-shadow:var(--shadow-xs);text-align:center;color:var(--color-text-secondary)}.empty-state-icon{display:grid;width:calc(var(--space-8) + var(--space-3));height:calc(var(--space-8) + var(--space-3));place-items:center;border-radius:var(--radius-pill);background:var(--color-brand-primary-soft);color:var(--color-brand-accent);font-size:var(--text-h2-size);line-height:1}.empty-state-icon svg,.error-state-icon svg{width:var(--space-6);height:var(--space-6)}.empty-state-title{font-size:var(--text-title-size);font-weight:700;color:var(--color-text-primary)}.empty-state-description{margin:0;max-width:calc(var(--space-8) * 10);line-height:1.7}.empty-state-action{margin-top:var(--space-2)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);color:var(--color-text-secondary)}.loading-state-spinner{width:calc(var(--space-5) + var(--space-4) / 2);height:calc(var(--space-5) + var(--space-4) / 2);border:calc(var(--space-1) - var(--space-1) / 4) solid var(--color-border-default);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin .7s linear infinite}.loading-state-text{font-size:var(--text-body-size)}@keyframes spin{to{transform:rotate(1turn)}}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-width:calc(var(--space-8) * 18);margin:0 auto;padding:var(--space-7) var(--space-6);border:1px solid color-mix(in srgb,var(--red-500) 22%,var(--color-border-subtle));border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--red-50) 55%,transparent),transparent 52%),var(--color-bg-card);box-shadow:var(--shadow-xs);text-align:center;color:var(--color-error)}.error-state-icon{display:grid;width:calc(var(--space-8) + var(--space-3));height:calc(var(--space-8) + var(--space-3));place-items:center;border-radius:var(--radius-pill);background:var(--red-50);color:var(--color-error);font-size:var(--text-h2-size);line-height:1}.error-state-title{font-size:var(--text-title-size);font-weight:700}.error-state-description{margin:0;max-width:calc(var(--space-8) * 10);line-height:1.7;color:var(--color-text-secondary)}.error-state-action{margin-top:var(--space-2)}.page-shell{max-width:calc(var(--space-5) * 55);margin:0 auto;padding:var(--space-7)}.report-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(31,26,23,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-4)}.report-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:calc(var(--space-5) * 23);overflow:hidden}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.report-modal-header h3{margin:0;font-size:var(--text-body-lg-size);color:var(--color-text-primary)}.report-modal-close{background:none;border:none;font-size:var(--text-h3-size);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);line-height:1;border-radius:var(--radius-sm);transition:color .15s,background .15s}.report-modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-muted)}.report-modal-body{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.report-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-subtle)}.form-field-label{display:block;font-size:var(--text-caption-size);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.report-reason-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.report-reason-option{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:var(--color-bg-card);font-size:var(--text-caption-size);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.report-reason-active,.report-reason-option:hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.report-reason-active{background:var(--color-brand-primary-soft);font-weight:600}.report-trigger{background:none;border:none;font-size:var(--text-caption-size);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color .15s,background .15s}.report-trigger:hover{color:var(--color-error);background:rgba(192,57,43,.06)}.sr-only{position:absolute;width:calc(var(--space-1) / 4);height:calc(var(--space-1) / 4);padding:0;margin:calc(var(--space-1) / -4);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:fixed;top:var(--space-6);left:50%;transform:translateX(-50%) translateY(calc(var(--space-3) * -1));padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-caption-size);color:var(--color-bg);background:var(--color-text);box-shadow:var(--shadow-md);opacity:0;transition:opacity .25s,transform .25s;z-index:9999;pointer-events:none}.toast-visible{opacity:1;transform:translateX(-50%) translateY(0)}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-info{background:var(--color-brand)}