:root {
    color-scheme: light;
    --ui-page: #f1f4f9;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f7f9fc;
    --ui-surface-blue: #edf3ff;
    --ui-text: #10213f;
    --ui-muted: #697792;
    --ui-line: #dce4f0;
    --ui-line-strong: #c8d5e8;
    --ui-primary: #2d63e8;
    --ui-primary-strong: #194bc4;
    --ui-primary-soft: #eaf1ff;
    --ui-violet: #7054e8;
    --ui-success: #16836d;
    --ui-success-soft: #e7f5f1;
    --ui-warning: #b36b12;
    --ui-warning-soft: #fff5df;
    --ui-danger: #c3474d;
    --ui-danger-soft: #fff0f1;
    --ui-shadow-sm: 0 8px 22px rgba(31, 64, 120, .07);
    --ui-shadow-md: 0 20px 52px rgba(31, 64, 120, .12);
    --ui-radius-sm: 10px;
    --ui-radius-md: 16px;
    --ui-radius-lg: 24px;
    --ui-z-header: 40;
    --ui-z-popover: 80;
    --ui-z-dialog: 120;
    font-family: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--ui-text); background: var(--ui-page); }
button, input, select, textarea { font: inherit; }
button, [role="button"] { -webkit-tap-highlight-color: transparent; }
button { transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
button:hover:not(:disabled) { transform: translateY(-1px); }
button:active:not(:disabled) { transform: translateY(0) scale(.98); }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid rgba(45, 99, 232, .22);
    outline-offset: 2px;
}
button:disabled { cursor: not-allowed; opacity: .5; }
::selection { color: #fff; background: var(--ui-primary); }

.friday-brand-logo {
    width: 42px; height: 42px; display: block; flex: 0 0 auto;
    border-radius: 0; box-shadow: none; object-fit: contain;
}
.brand-mark.friday-brand-logo { display: block; padding: 0; border-radius: 0; background: transparent; box-shadow: none; object-fit: contain; }

.ui-skip-link {
    position: fixed; left: 12px; top: 12px; z-index: 999;
    transform: translateY(-150%); padding: 9px 13px; border-radius: 9px;
    color: #fff; background: var(--ui-primary);
}
.ui-skip-link:focus { transform: translateY(0); }
.ui-icon { width: 20px; height: 20px; display: inline-block; flex: 0 0 auto; }
.ui-tooltip { position: relative; }
.ui-tooltip::after {
    content: attr(data-tooltip); position: absolute; left: 50%; bottom: calc(100% + 9px);
    z-index: var(--ui-z-popover); transform: translate(-50%, 5px); opacity: 0; pointer-events: none;
    padding: 6px 9px; border-radius: 7px; color: #fff; background: #14213a;
    font-size: 12px; font-weight: 500; line-height: 1; white-space: nowrap;
    transition: opacity .16s ease, transform .16s ease;
}
.ui-tooltip:hover::after, .ui-tooltip:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.ui-skeleton { position: relative; overflow: hidden; background: #e7edf6; }
.ui-skeleton::after {
    content: ""; position: absolute; inset: 0; transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    animation: uiShimmer 1.35s infinite;
}
@keyframes uiShimmer { to { transform: translateX(100%); } }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
