html, body { min-height: 100%; }
html { background: #080b16; }
body { margin: 0; overflow-x: hidden; font-family: Inter, "Segoe UI", system-ui, sans-serif; background: var(--mud-palette-background); color: var(--mud-palette-text-primary); }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -3; background: radial-gradient(circle at 70% -10%, rgba(109, 126, 255, .24), transparent 42%), radial-gradient(circle at 15% 90%, rgba(149, 85, 211, .14), transparent 36%), linear-gradient(145deg, #080b16 0%, #10162a 48%, #080b16 100%); }
.ambient { position: fixed; pointer-events: none; z-index: -2; filter: blur(90px); border-radius: 50%; opacity: .34; }
.ambient-one { width: 420px; height: 420px; right: -120px; top: 14%; background: #5367ff; }
.ambient-two { width: 320px; height: 320px; left: 14%; bottom: -180px; background: #a763da; }
.content-shell { padding-top: 88px; padding-bottom: 32px; }
.app-shell { min-height: 100vh; }
.future-appbar { margin: 12px 16px 0; width: calc(100% - 32px) !important; border: 1px solid rgba(179, 190, 255, .14); border-radius: 16px; background: rgba(10, 14, 29, .76) !important; backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 20px 55px rgba(0, 0, 0, .28); }
.brand-lockup { display: inline-flex; align-items: center; gap: 11px; color: var(--mud-palette-text-primary); text-decoration: none; font-weight: 650; letter-spacing: -.02em; }
.brand-lockup img { width: 31px; height: 31px; border-radius: 9px; box-shadow: 0 0 24px rgba(164, 143, 255, .42); }
.nav-icon { border: 1px solid rgba(180, 191, 255, .12); }
.user-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid rgba(190, 199, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .04); color: var(--mud-palette-text-secondary); font-size: .78rem; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #8fffd0; box-shadow: 0 0 12px #8fffd0; }
.future-drawer { background: rgba(8, 12, 25, .88) !important; border-right: 1px solid rgba(174, 188, 255, .1) !important; backdrop-filter: blur(22px); }
.future-drawer .mud-drawer-content { display: flex; flex-direction: column; }
.drawer-kicker, .page-kicker, .carousel-eyebrow, .date-year { display: block; color: #9aa9d2; font-size: .64rem; font-weight: 650; letter-spacing: .32em; text-transform: uppercase; }
.future-nav { padding: 8px 12px; }
.future-nav .mud-nav-link { margin: 6px 0; padding: 12px 14px; border: 1px solid transparent; border-radius: 12px; color: #aeb8d2; transition: .22s ease; }
.future-nav .mud-nav-link:hover { color: white; border-color: rgba(172, 185, 255, .16); background: rgba(255, 255, 255, .045); transform: translateX(2px); }
.future-nav .mud-nav-link.active { color: white; border-color: rgba(169, 155, 255, .36); background: linear-gradient(110deg, rgba(128, 111, 255, .2), rgba(97, 156, 255, .08)); box-shadow: inset 3px 0 #aa9bff, 0 0 24px rgba(126, 111, 255, .09); }
.drawer-footer { margin-top: auto; padding: 20px; display: flex; align-items: center; gap: 10px; color: #77829f; font-size: .7rem; letter-spacing: .08em; }
.footer-orb { width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(145deg, #e1b9ff, #6c8cff 65%, #252d55); box-shadow: 0 0 20px rgba(170, 145, 255, .35); }
.glass-panel, .glass-card { border: 1px solid rgba(177, 189, 255, .14) !important; background: linear-gradient(145deg, rgba(27, 34, 62, .72), rgba(12, 17, 33, .72)) !important; backdrop-filter: blur(20px) saturate(125%); box-shadow: 0 22px 60px rgba(0, 0, 0, .2); }
.glass-panel { border-radius: 18px !important; }
.glass-card { border-radius: 16px !important; }
.page-title { margin-top: 5px; letter-spacing: -.04em; }
.luminous-button { border-radius: 11px !important; background: linear-gradient(100deg, #ccb6ff, #8eb9ff) !important; color: #111528 !important; box-shadow: 0 8px 26px rgba(143, 159, 255, .22); font-weight: 700 !important; }
.luminous-button:hover { filter: brightness(1.08); box-shadow: 0 10px 34px rgba(170, 150, 255, .36); }
.mud-input-control { margin-top: 9px; }
.mud-input-outlined-border { border-color: rgba(181, 193, 255, .18) !important; }
.mud-input-control:focus-within .mud-input-outlined-border { border-color: #a99bff !important; box-shadow: 0 0 0 3px rgba(169, 155, 255, .09); }
.mud-popover { border: 1px solid rgba(178, 190, 255, .2); background: rgba(15, 20, 39, .98) !important; backdrop-filter: blur(24px); box-shadow: 0 24px 60px rgba(0,0,0,.42) !important; }
.mud-list-item { border-radius: 9px; margin: 3px 6px; }
.mud-list-item:hover { background: rgba(169, 155, 255, .12) !important; }
.tag-option { display: flex; align-items: center; gap: 11px; min-height: 34px; width: 100%; }
.tag-color-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.tag-list { flex-wrap: wrap; align-items: center; min-height: 12px; }
.tag-list .mud-chip { font-weight: 700; letter-spacing: .02em; box-shadow: 0 5px 14px rgba(0,0,0,.18); }
.tag-color-input { width: 3rem; height: 2.5rem; border: 0; background: transparent; vertical-align: middle; }
.diary-page-shell { height: calc(100vh - 112px); min-height: 640px; overflow: hidden; display: flex; flex-direction: column; }
.diary-workspace { flex: 1; min-height: 0; overflow: hidden; }
.diary-editor-column, .diary-timeline-column { height: 100%; min-height: 0; }
.diary-timeline-column { display: flex; flex-direction: column; }
.sticky-editor { height: 100%; overflow-y: auto; scrollbar-width: thin; }
.search-panel { flex: 0 0 auto; }
.carousel-frame { flex: 1 1 auto; min-height: 260px; overflow: hidden; padding: 14px; display: flex; flex-direction: column; }
.carousel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 1px 4px 10px; }
.carousel-actions { display: flex; gap: 7px; }
.carousel-button { border: 1px solid rgba(181, 194, 255, .18) !important; background: rgba(255,255,255,.04) !important; }
.diary-carousel { flex: 1; min-height: 0; display: flex; gap: 14px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(169,155,255,.42) transparent; padding: 2px 2px 8px; touch-action: pan-x; }
.diary-slide { flex: 0 0 min(86%, 560px); height: 100%; min-width: 310px; scroll-snap-align: start; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(179, 191, 255, .13); border-radius: 16px; background: linear-gradient(150deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
.diary-slide-header { display: flex; align-items: center; gap: 13px; padding: 16px 17px 12px; border-bottom: 1px solid rgba(178, 190, 255, .1); }
.date-orb { width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #f5d7ff, #8da3ff 48%, #283258 76%); box-shadow: 0 0 24px rgba(158, 147, 255, .34); }
.diary-slide-content { flex: 1; min-height: 0; overflow-y: auto; padding: 14px; }
.diary-entry { white-space: pre-wrap; }
.entry-content { margin-top: 1rem; line-height: 1.68; color: var(--mud-palette-text-secondary); }
.source-chip { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(190,200,255,.13) !important; }
.carousel-load-more { align-self: center; flex: 0 0 auto; }
.future-home { padding-bottom: 40px; }
.future-hero { min-height: 560px; padding: clamp(36px, 6vw, 78px); display: grid; grid-template-columns: minmax(320px, .88fr) 1.12fr; align-items: center; gap: clamp(20px, 5vw, 72px); position: relative; overflow: hidden; }
.future-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(transparent, rgba(5,8,17,.38)); pointer-events: none; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { margin: 20px 0 22px; font-size: clamp(3.2rem, 6.7vw, 6.3rem); line-height: .93; letter-spacing: -.065em; font-weight: 520; }
.hero-copy h1 span { background: linear-gradient(100deg, #92b9ff, #d8abff 70%); -webkit-background-clip: text; color: transparent; }
.hero-copy > p { max-width: 540px; margin: 0 0 28px; color: #a5afc8; font-size: 1.06rem; line-height: 1.65; }
.hero-mantra { display: flex; align-items: center; gap: 13px; margin-top: 30px; color: #7e89a4; font-size: .68rem; letter-spacing: .2em; }
.hero-mantra i { display: block; width: 3px; height: 3px; border-radius: 50%; background: #a99bff; }
.hero-visual { height: 480px; position: relative; z-index: 1; }
.orbit { position: absolute; border: 1px solid rgba(161, 177, 255, .3); border-radius: 50%; transform: rotate(-28deg); }
.orbit-one { width: 510px; height: 290px; top: 52px; right: -42px; }
.orbit-two { width: 410px; height: 410px; top: 8px; right: 35px; border-color: rgba(218, 177, 255, .15); }
.planet { position: absolute; width: 270px; height: 270px; right: 100px; top: 78px; border-radius: 50%; background: radial-gradient(circle at 38% 30%, #f2d9fa 0%, #9ca9ed 28%, #56669d 52%, #202b50 74%, #10162c 100%); box-shadow: 0 0 80px rgba(139, 153, 255, .32), inset -32px -25px 55px rgba(4,8,22,.48); }
.planet span { position: absolute; inset: 15% 9% auto; height: 1px; background: rgba(255,255,255,.35); transform: rotate(-18deg); }
.floating-entry { position: absolute; z-index: 3; width: 245px; left: 4%; bottom: 34px; padding: 24px; border: 1px solid rgba(212, 218, 255, .24); border-radius: 20px; background: linear-gradient(145deg, rgba(72, 83, 135, .6), rgba(22, 28, 53, .7)); backdrop-filter: blur(18px); box-shadow: 0 28px 75px rgba(0,0,0,.34); transform: perspective(800px) rotateY(8deg) rotateX(2deg); }
.floating-entry small { color: #aeb9d6; letter-spacing: .22em; }
.floating-entry strong { display: block; margin: 14px 0 8px; font-size: 1.1rem; }
.floating-entry p { margin: 0; color: #b5bed3; line-height: 1.55; font-size: .86rem; }
.signal-line { width: 54px; height: 2px; margin-top: 18px; background: linear-gradient(90deg, #b89fff, transparent); box-shadow: 0 0 12px #a899ff; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 18px; }
.feature-card { padding: 25px; min-height: 178px; transition: transform .25s ease, border-color .25s ease; }
.feature-card:hover { transform: translateY(-4px); border-color: rgba(179, 163, 255, .34) !important; }
.feature-card h2 { margin: 18px 0 8px; font-size: 1.04rem; }
.feature-card p { margin: 0; color: var(--mud-palette-text-secondary); line-height: 1.55; font-size: .88rem; }
.feature-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #d9c6ff; background: linear-gradient(145deg, rgba(151,127,255,.25), rgba(89,120,210,.12)); border: 1px solid rgba(192,180,255,.16); }
.settings-panel { width: 100%; max-width: none; }
.profile-avatar { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; margin-bottom: 1rem; }
.token-secret { display: block; overflow-wrap: anywhere; margin-top: .5rem; user-select: all; }
.logout-form { padding: 0 8px; }
#blazor-error-ui { color-scheme: light only; background: #ffffe0; bottom: 0; box-shadow: 0 -1px 2px rgba(0,0,0,.2); box-sizing: border-box; display: none; left: 0; padding: .6rem 1.25rem .7rem; position: fixed; width: 100%; z-index: 1800; }
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }
.row { display: flex; flex-wrap: wrap; gap: 2rem; }
.col-lg-6 { flex: 1 1 32rem; max-width: 42rem; }
.form-floating { margin-bottom: 1rem; }
.form-control { box-sizing: border-box; width: 100%; padding: .85rem; border: 1px solid rgba(181,193,255,.22); border-radius: 9px; background: rgba(255,255,255,.035); color: inherit; }
.btn { border: 0; border-radius: 9px; padding: .75rem 1rem; cursor: pointer; }
.btn-primary { background: linear-gradient(100deg, #ccb6ff, #8eb9ff); color: #111528; font-weight: 700; }
.text-danger { color: #ff8fa0; }
@media (max-width: 1100px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } .future-hero { grid-template-columns: 1fr 1fr; } .hero-visual { transform: scale(.85); transform-origin: center right; } }
@media (max-width: 959px) { .diary-page-shell { height: auto; min-height: 0; overflow: visible; } .diary-workspace { overflow: visible; } .diary-editor-column, .diary-timeline-column { height: auto; } .sticky-editor { height: auto; } .carousel-frame { height: 64vh; min-height: 480px; } .future-hero { grid-template-columns: 1fr; } .hero-visual { height: 370px; transform: scale(.78); transform-origin: top center; } }
@media (max-width: 620px) { .content-shell { padding-left: 12px; padding-right: 12px; } .future-appbar { margin: 7px 8px 0; width: calc(100% - 16px) !important; } .user-pill { display: none; } .feature-grid { grid-template-columns: 1fr; } .future-hero { padding: 30px 23px; } .hero-copy h1 { font-size: 3.45rem; } .hero-visual { margin: -15px -35px -55px; } .diary-slide { flex-basis: 92%; min-width: 270px; } }

/* Theme-aware surfaces and compact account controls. */
body::before { background: radial-gradient(circle at 70% -10%, color-mix(in srgb, var(--mud-palette-primary) 24%, transparent), transparent 42%), radial-gradient(circle at 15% 90%, color-mix(in srgb, var(--mud-palette-tertiary) 15%, transparent), transparent 36%), linear-gradient(145deg, var(--mud-palette-background), color-mix(in srgb, var(--mud-palette-background) 88%, var(--mud-palette-primary))); }
.future-appbar { left: 12px !important; right: 12px !important; width: auto !important; max-width: none !important; margin: 12px 0 0 !important; color: var(--mud-palette-text-primary) !important; background: color-mix(in srgb, var(--mud-palette-surface) 88%, transparent) !important; }
.future-drawer { color: var(--mud-palette-text-primary) !important; background: color-mix(in srgb, var(--mud-palette-surface) 94%, transparent) !important; }
.future-nav .mud-nav-link { color: var(--mud-palette-text-secondary); }
.future-nav .mud-nav-link:hover, .future-nav .mud-nav-link.active { color: var(--mud-palette-text-primary); }
.drawer-kicker, .page-kicker, .carousel-eyebrow, .date-year, .drawer-footer { color: var(--mud-palette-text-secondary); }
.glass-panel, .glass-card { color: var(--mud-palette-text-primary) !important; background: linear-gradient(145deg, color-mix(in srgb, var(--mud-palette-surface) 92%, transparent), color-mix(in srgb, var(--mud-palette-surface) 76%, transparent)) !important; border-color: color-mix(in srgb, var(--mud-palette-primary) 20%, var(--mud-palette-lines-default)) !important; }
.hero-copy > p, .feature-card p, .entry-content, .floating-entry p { color: var(--mud-palette-text-secondary); }
.mud-popover { color: var(--mud-palette-text-primary); background: color-mix(in srgb, var(--mud-palette-surface) 98%, transparent) !important; }
.mud-list-item:hover { background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent) !important; }
.topbar-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 5px; overflow: hidden; }
.identity-pill { min-width: 0; display: inline-flex; align-items: center; gap: 9px; padding: 5px 10px 5px 5px; border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 18%, var(--mud-palette-lines-default)); border-radius: 999px; background: color-mix(in srgb, var(--mud-palette-surface) 76%, transparent); color: var(--mud-palette-text-primary); text-decoration: none; }
.identity-name { max-width: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .78rem; }
.topbar-text-button { min-width: 48px !important; color: var(--mud-palette-text-primary) !important; font-size: .72rem !important; }
.topbar-icon-button { flex: 0 0 auto; color: var(--mud-palette-text-primary) !important; border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 16%, var(--mud-palette-lines-default)) !important; background: color-mix(in srgb, var(--mud-palette-surface) 72%, transparent) !important; }
.diary-entry-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; border-radius: 16px; }
.diary-entry-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--mud-palette-primary) 55%, transparent); outline-offset: 2px; }
.diary-entry-button:hover .diary-entry { transform: translateY(-2px); border-color: color-mix(in srgb, var(--mud-palette-primary) 44%, var(--mud-palette-lines-default)) !important; box-shadow: 0 18px 38px color-mix(in srgb, var(--mud-palette-primary) 12%, transparent); }
.diary-entry { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.mud-overlay { backdrop-filter: blur(4px); background-color: rgba(4, 7, 18, .42) !important; }
.entry-detail-dialog .mud-dialog-content { min-height: 360px; }
.entry-dialog-content { margin-top: 24px; white-space: pre-wrap; line-height: 1.75; }
.excluded-tag-list .mud-chip { background: color-mix(in srgb, var(--mud-palette-error) 10%, transparent) !important; }
.avatar-editor { display: flex; align-items: center; gap: 20px; padding: 16px; margin-bottom: 12px; border: 1px solid var(--mud-palette-lines-default); border-radius: 14px; background: color-mix(in srgb, var(--mud-palette-surface) 72%, transparent); }
.avatar-editor input[type=file] { display: block; max-width: 100%; margin: 8px 0; color: var(--mud-palette-text-secondary); }
.admin-tabs .mud-tab { color: var(--mud-palette-text-secondary); }
.admin-tabs .mud-tab.mud-tab-active { color: var(--mud-palette-primary); }
.admin-tabs .mud-tabs-panels { padding: 20px 24px 24px !important; }
.admin-tabs .admin-panel-inset { padding: 20px 24px 24px !important; }
@media (max-width: 600px) {
  .admin-tabs .mud-tabs-panels { padding: 16px 14px 20px !important; }
  .admin-tabs .admin-panel-inset { padding: 16px 14px 20px !important; }
}
@media (max-width: 900px) { .identity-name { display: none; } .identity-pill { padding-right: 5px; } .brand-lockup span { display: none; } }
@media (max-width: 540px) { .topbar-actions { gap: 2px; } .topbar-text-button { min-width: 40px !important; padding: 5px !important; } .future-appbar { left: 7px !important; right: 7px !important; } }

/* The decorative journal card stays dark in both themes. */
.floating-entry, .floating-entry strong { color: #F5F7FF; }
.floating-entry p { color: #C5CEE4; }
.hero-mantra { color: var(--mud-palette-text-secondary); }

/* Module layouts */
.module-page { padding-bottom: 38px; }
.module-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.floating-add-button { width: 54px !important; height: 54px !important; color: #111528 !important; background: linear-gradient(135deg, #D8B7FF, #8EB9FF) !important; box-shadow: 0 10px 34px rgba(155,145,255,.35); }
.diary-page-shell { height: auto; min-height: 0; overflow: visible; }
.diary-browser-layout { align-items: flex-start; overflow: visible; }
.compact-filter-panel { position: sticky; top: 90px; padding: 18px !important; }
.compact-filter-panel .mud-input-control { margin-top: 5px; }
.filter-chip-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.filter-chip-group > span { width: 52px; color: var(--mud-palette-text-secondary); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.content-height-carousel { min-height: 0; overflow: hidden; }
.diary-carousel.content-height { height: auto; min-height: 300px; align-items: flex-start; overflow-y: visible; }
.content-height-slide { height: auto; min-height: 100%; overflow: visible; }
.content-height-content { overflow: visible; max-height: none; }
.shopping-carousel { display: flex; align-items: flex-start; gap: 18px; overflow-x: auto; padding: 4px 3px 18px; scroll-snap-type: x mandatory; }
.shopping-list-card { flex: 0 0 min(390px, 88vw); min-height: 0; padding: 13px 14px; scroll-snap-align: start; }
.shopping-list-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.shopping-list-card > header .mud-typography-h6 { font-size: 1rem; font-weight: 750; line-height: 1.25; }
.shopping-list-card > header .mud-typography-caption { display: block; margin-top: 1px; line-height: 1.2; }
.shopping-add-row { display: grid; grid-template-columns: 1fr 70px 32px; align-items: end; gap: 6px; margin: 5px 0 7px; }
.shopping-add-row .mud-input-control { margin-top: 0; }
.shopping-items { display: grid; gap: 0; }
.shopping-item { display: flex; align-items: center; gap: 2px; min-height: 30px; border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 68%, transparent); }
.shopping-item:last-child { border-bottom: 0; }
.shopping-item-toggle { flex: 1; min-width: 0; min-height: 30px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; position: relative; padding: 4px 3px 4px 18px; border: 0; color: var(--mud-palette-text-primary); background: transparent; font: inherit; line-height: 1.25; text-align: left; cursor: pointer; }
.shopping-item-toggle::before { content: "•"; position: absolute; left: 4px; top: 3px; font-size: 1rem; line-height: 1.25; }
.shopping-item-toggle:disabled { cursor: default; }
.shopping-item-toggle:focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: -2px; border-radius: 5px; }
.shopping-item-name { overflow-wrap: anywhere; }
.shopping-item-quantity { color: var(--mud-palette-text-secondary); font-size: .72rem; white-space: nowrap; }
.shopping-item.is-complete .shopping-item-toggle { text-decoration: line-through; opacity: .52; }
.shopping-item > .mud-icon-button { flex: 0 0 28px; width: 28px; height: 28px; padding: 4px; }
.site-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)); gap: 14px; }
.internal-site-card { min-height: 160px; padding: 20px; display: flex; align-items: flex-start; gap: 15px; color: var(--mud-palette-text-primary); text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.internal-site-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--mud-palette-primary) 42%, var(--mud-palette-lines-default)) !important; }
.site-icon-shell { position: relative; flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border-radius: 13px; color: var(--mud-palette-primary); background: color-mix(in srgb, var(--mud-palette-primary) 12%, var(--mud-palette-surface)); border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 20%, var(--mud-palette-lines-default)); }
.site-icon-shell img { position: absolute; inset: 8px; width: 30px; height: 30px; object-fit: contain; border-radius: 6px; }
.site-card-copy h2 { margin: 2px 0 7px; font-size: 1rem; }
.site-card-copy p { min-height: 52px; margin: 0; color: var(--mud-palette-text-secondary); font-size: .82rem; line-height: 1.5; }
.site-card-copy span { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; color: var(--mud-palette-primary); font-size: .75rem; }
.admin-site-list { display: grid; gap: 14px; }
.admin-site-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 9px; }
@media (max-width: 959px) { .compact-filter-panel { position: static; } }
@media (max-width: 620px) { .module-heading h1 { font-size: 2.2rem; } .shopping-add-row { grid-template-columns: 1fr 70px 38px; } }

/* Theme identities */
.app-shell::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.32; }
.theme-gaming::before { background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,245,212,.025) 3px 4px), radial-gradient(circle at 82% 15%, rgba(255,47,209,.28), transparent 34%); }
.theme-gaming .glass-panel, .theme-gaming .glass-card { box-shadow: 0 0 0 1px rgba(0,245,212,.08), 0 22px 60px rgba(0,0,0,.28); }
.theme-fortnite::before { background: radial-gradient(circle at 15% 20%, rgba(255,83,200,.36), transparent 28%), radial-gradient(circle at 84% 72%, rgba(117,232,255,.34), transparent 32%); }
.theme-fortnite .floating-add-button, .theme-fortnite .luminous-button { transform: skew(-2deg); box-shadow: 0 10px 0 rgba(72,32,150,.45), 0 18px 38px rgba(117,232,255,.2); }
.theme-fallout { font-family: "Courier New", ui-monospace, monospace; }
.theme-fallout::before { background: repeating-linear-gradient(0deg, rgba(72,255,114,.035) 0 1px, transparent 1px 4px), radial-gradient(circle at 50% 45%, rgba(72,255,114,.16), transparent 48%); }
.theme-fallout .glass-panel, .theme-fallout .glass-card { border-radius: 5px !important; border-color: rgba(72,255,114,.28) !important; }
.theme-dungeon h1, .theme-dungeon h2, .theme-dungeon h3, .theme-dungeon .mud-typography-h4, .theme-dungeon .mud-typography-h5 { font-family: Georgia, "Times New Roman", serif; letter-spacing:.01em; }
.theme-dungeon::before { background: radial-gradient(circle at 70% 0%, rgba(255,90,72,.2), transparent 35%), linear-gradient(120deg, transparent 55%, rgba(244,198,106,.06)); }
.theme-love::before { background: radial-gradient(circle at 12% 20%, rgba(255,107,156,.35), transparent 30%), radial-gradient(circle at 88% 75%, rgba(233,155,255,.22), transparent 34%); }
.theme-love .glass-panel, .theme-love .glass-card { border-radius: 24px !important; }
.theme-pink::before { background: radial-gradient(circle at 75% 10%, rgba(255,115,209,.38), transparent 34%), radial-gradient(circle at 20% 85%, rgba(185,147,255,.26), transparent 36%); }
.theme-pink .future-nav .mud-nav-link.active { box-shadow: inset 3px 0 #FF73D1, 0 0 26px rgba(255,115,209,.18); }
.theme-spider-noir::before { opacity:.45; background-color:#050505; background-image: radial-gradient(rgba(255,255,255,.16) .7px, transparent .7px), linear-gradient(115deg, transparent 0 62%, rgba(215,25,32,.16) 62% 63%, transparent 63%); background-size: 7px 7px, 100% 100%; }
.theme-spider-noir .glass-panel, .theme-spider-noir .glass-card { border-radius: 2px !important; border-color: rgba(241,241,241,.24) !important; box-shadow: 8px 8px 0 rgba(215,25,32,.14); }
.theme-spider-noir .floating-add-button, .theme-spider-noir .luminous-button { color:#fff !important; background:linear-gradient(135deg,#D71920,#72070B) !important; border-radius:2px !important; }
.theme-spider-noir .page-kicker { color:#D71920; font-weight:800; }
.theme-light::before { opacity:.45; background: radial-gradient(circle at 75% 0%, rgba(101,87,216,.13), transparent 36%), radial-gradient(circle at 5% 82%, rgba(80,120,200,.1), transparent 30%); }
.topbar-theme-menu .mud-icon-button { color: var(--mud-palette-text-primary) !important; border:1px solid color-mix(in srgb,var(--mud-palette-primary) 16%,var(--mud-palette-lines-default)); background:color-mix(in srgb,var(--mud-palette-surface) 72%,transparent); }
/* Responsive corrections: drawers overlay instead of shrinking content. */
@media (max-width: 959px) {
  html, body { overflow-x:hidden; overflow-y:auto; }
  .mud-main-content { margin-left:0 !important; min-width:0 !important; width:100% !important; overflow:visible !important; }
  .content-shell { width:100% !important; max-width:100% !important; box-sizing:border-box; padding-top:84px; padding-left:16px; padding-right:16px; overflow:visible; }
  .diary-browser-layout { width:100%; margin:0; }
  .diary-carousel.content-height { width:100%; max-width:100%; touch-action:auto; overflow-x:auto; overflow-y:visible; }
  .content-height-slide { flex:0 0 min(88vw,560px); min-width:280px; }
  .compact-filter-panel { width:100%; box-sizing:border-box; }
  .future-appbar { z-index:1500 !important; }
  .future-drawer { z-index:1400 !important; top:82px !important; height:calc(100vh - 90px) !important; border-radius:0 14px 14px 0; }
}
@media (min-width: 960px) {
  .future-appbar { transition:left .22s ease; }
  .future-appbar.drawer-open { left:252px !important; }
  .future-drawer { top:0 !important; height:100vh !important; }
}
@media (max-width: 600px) {
  .content-shell { padding-left:10px; padding-right:10px; }
  .diary-browser-layout > .mud-grid-item { padding-left:6px; padding-right:6px; }
  .carousel-frame { padding:10px; width:100%; box-sizing:border-box; }
  .content-height-slide { flex-basis:calc(100vw - 42px); min-width:0; }
  .diary-slide-header { padding:13px; }
  .diary-slide-content { padding:10px; }
  .compact-filter-panel .mud-grid-item { padding:4px; }
  .site-card-grid { grid-template-columns:1fr; }
  .shopping-list-card { flex-basis:calc(100vw - 34px); }
}

.future-nav .mud-nav-link.active { box-shadow: inset 3px 0 var(--mud-palette-primary), 0 0 24px color-mix(in srgb, var(--mud-palette-primary) 10%, transparent); }
.page-title:focus { outline: none; }

/* Content-height diary cards must never clip entries on touch layouts. */
.content-height-carousel { display:block; overflow:visible; }
.diary-carousel.content-height { flex:none; height:auto; overflow-x:auto; overflow-y:visible; align-items:stretch; }
.content-height-slide { height:auto; align-self:stretch; overflow:visible; }

.content-height-carousel { height:auto !important; min-height:0 !important; }

/* Weekly Work page */
.work-page { min-width:0; overflow:visible; }
.work-heading { flex-wrap:wrap; }
.work-week-toolbar { display:flex; align-items:center; gap:8px; margin-bottom:18px; min-width:0; }
.work-week-title { min-width:150px; flex:1; display:flex; flex-direction:column; text-align:center; }
.work-week-title span { color:var(--mud-palette-text-secondary); font-size:.78rem; }
.work-timeline { display:grid; gap:18px; }
.work-week-card { min-width:0; padding:14px; overflow:visible; }
.work-week-card-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.work-week-card-header>div { display:flex; flex-direction:column; }
.work-week-card-header span { color:var(--mud-palette-text-secondary); font-size:.76rem; }
.work-week-scroll { max-width:100%; overflow-x:auto; overflow-y:visible; scrollbar-width:thin; }
.work-week-days { min-width:1050px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; border:1px solid var(--mud-palette-lines-default); border-radius:13px; overflow:visible; }
.work-day-column { min-width:0; padding:11px; overflow:visible; border-right:1px solid var(--mud-palette-lines-default); }
.work-day-column:last-child { border-right:0; }
.work-day-column.has-no-data { color:color-mix(in srgb,var(--mud-palette-text-primary) 58%,transparent); background:color-mix(in srgb,var(--mud-palette-surface) 72%,#777 28%); filter:saturate(.45); }
.work-day-header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; padding-bottom:10px; border-bottom:1px solid var(--mud-palette-lines-default); }
.work-day-header div:first-child { min-width:0; display:flex; flex-direction:column; text-transform:capitalize; }
.work-day-header span { color:var(--mud-palette-text-secondary); font-size:.76rem; }
.red-day-badge { padding:3px 6px; border-radius:999px; font-size:.62rem !important; white-space:nowrap; }
.red-day-badge { color:var(--mud-palette-error); background:color-mix(in srgb,var(--mud-palette-error) 13%,transparent); }
.holiday-name { margin:9px 0; color:var(--mud-palette-error); font-size:.8rem; font-weight:650; }
.is-red-day { background:color-mix(in srgb,var(--mud-palette-error) 5%,transparent); }
.work-compact-row { display:grid; grid-template-columns:minmax(56px,1fr) minmax(56px,1fr) minmax(72px,1.15fr); align-items:end; gap:5px; margin-top:8px; }
.work-compact-row label { min-width:0; color:var(--mud-palette-text-secondary); font-size:.66rem; }
.work-compact-row input { display:block; box-sizing:border-box; width:100%; min-width:0; margin-top:4px; padding:8px 4px; border:1px solid var(--mud-palette-lines-default); border-radius:8px; color:var(--mud-palette-text-primary); background:var(--mud-palette-surface); color-scheme:dark; }
.work-compact-row .mud-input-control { min-width:0; margin-top:0; }
.mood-display { border:1px solid var(--mud-palette-lines-default); border-radius:8px; padding:3px 6px; background:color-mix(in srgb,var(--mud-palette-surface) 80%,transparent); font-size:1.15rem; cursor:pointer; }
.mood-display:focus-visible { outline:3px solid color-mix(in srgb,var(--mud-palette-primary) 48%,transparent); outline-offset:2px; }
.work-card-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; margin-top:14px; }
.work-read-summary { display:flex; align-items:center; justify-content:space-between; gap:7px; margin:10px 0; }
.work-read-summary span { color:var(--mud-palette-text-secondary); font-size:.78rem; }
.work-day-column .markdown-content { max-width:100%; overflow-wrap:anywhere; }
.work-day-column .markdown-content pre { max-width:100%; overflow:auto; }
.work-day-column textarea { field-sizing:content; min-height:3.5rem; resize:vertical; }
.household-work-entry { margin-top:14px; padding:10px; border:1px dashed var(--mud-palette-lines-default); border-radius:10px; }
.household-work-entry>span,.household-work-entry>strong { display:block; }
.work-load-sentinel { min-height:64px; display:grid; place-items:center; }
.profile-work-times { display:grid; grid-template-columns:repeat(2,minmax(180px,240px)); gap:14px; max-width:510px; }
.profile-work-times label { color:var(--mud-palette-text-secondary); font-size:.76rem; }
.profile-work-times input { display:block; box-sizing:border-box; width:100%; margin-top:5px; padding:10px; border:1px solid var(--mud-palette-lines-default); border-radius:9px; color:var(--mud-palette-text-primary); background:var(--mud-palette-surface); color-scheme:dark; }
@media (min-width:1280px) { .work-week-days { min-width:0; } }
@media (max-width:600px) {
  .work-week-toolbar { flex-wrap:wrap; }
  .work-week-title { order:-1; flex-basis:100%; }
  .work-week-card { padding:10px; }
  .work-week-card-header { align-items:flex-start; }
  .profile-work-times { grid-template-columns:1fr; }
}

/* Full-width, one-day Diary reader */
.diary-page-shell { height:calc(100vh - 104px); min-height:640px; overflow:hidden; display:flex; flex-direction:column; padding-bottom:14px; }
.diary-page-shell .module-heading { flex:0 0 auto; margin-bottom:8px; }
.diary-filter-bar { flex:0 0 auto; padding:10px 14px; margin-bottom:10px; }
.diary-filter-fields { display:grid; grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,180px)) auto auto; gap:8px; align-items:end; }
.diary-filter-fields>* { min-width:0; }
.diary-filter-fields .mud-input-control { margin-top:0; }
.diary-tag-mobile-toggle { display:none; }
.diary-tag-filter { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.diary-tag-toggle { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:5px 9px; border:1px solid color-mix(in srgb,var(--diary-tag-color) 52%,var(--mud-palette-lines-default)); border-radius:999px; color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--diary-tag-color) 18%,var(--mud-palette-surface)); cursor:pointer; transition:background var(--motion-fast),border-color var(--motion-fast),opacity var(--motion-fast); }
.diary-tag-toggle .mud-icon-root { width:16px; height:16px; font-size:16px; color:var(--diary-tag-color); }
.diary-tag-toggle span { font-weight:650; }
.diary-tag-toggle small { font-size:.65rem; color:var(--mud-palette-text-secondary); }
.diary-tag-toggle.is-negative { border-style:dashed; border-color:color-mix(in srgb,var(--mud-palette-error) 66%,var(--mud-palette-lines-default)); background:color-mix(in srgb,var(--mud-palette-error) 10%,var(--mud-palette-surface)); opacity:.76; }
.diary-tag-toggle.is-negative .mud-icon-root { color:var(--mud-palette-error); }
.diary-tag-toggle:hover,.diary-tag-toggle:focus-visible { opacity:1; border-color:var(--diary-tag-color); }
.diary-tag-toggle:focus-visible { outline:3px solid color-mix(in srgb,var(--mud-palette-primary) 34%,transparent); outline-offset:2px; }
.diary-window { position:relative; flex:1 1 auto; min-height:0; padding:10px 48px; overflow:hidden; }
.diary-carousel.week-window { width:100%; height:100%; min-height:0; display:flex; align-items:stretch; gap:12px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; touch-action:pan-x pan-y; cursor:grab; user-select:none; }
.diary-carousel.week-window.is-dragging { cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.diary-week-day,.diary-boundary { flex:0 0 100%; min-width:0; height:100%; overflow:hidden; display:flex; flex-direction:column; scroll-snap-align:start; }
.diary-week-day .diary-slide-header { flex:0 0 auto; padding:12px 18px; border-bottom:1px solid var(--mud-palette-lines-default); }
.diary-week-day .date-orb { width:26px; height:26px; }
.diary-day-body { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:clamp(210px,23%,300px) minmax(0,1fr); overflow:hidden; }
.diary-day-toc { min-width:0; height:100%; padding:14px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; border-right:1px solid var(--mud-palette-lines-default); background:color-mix(in srgb,var(--mud-palette-surface) 82%,transparent); }
.diary-day-toc strong { display:block; margin-bottom:10px; color:var(--mud-palette-text-secondary); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.diary-day-toc button { display:block; width:100%; padding:7px 8px; overflow:hidden; border:0; border-radius:7px; background:transparent; color:var(--mud-palette-primary); text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.diary-day-toc button:hover,.diary-day-toc button:focus-visible { background:color-mix(in srgb,var(--mud-palette-primary) 11%,transparent); }
.diary-week-day .diary-slide-content { min-width:0; min-height:0; padding:16px 18px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; user-select:text; }
.diary-week-day .diary-entry .mud-card-content { padding:16px 18px; }
.diary-week-day .entry-content { margin-top:.8rem; font-size:.96rem; line-height:1.65; }
.diary-empty-day { display:block; padding:12px 4px; }
.diary-boundary { align-items:center; justify-content:center; gap:8px; border:1px dashed var(--mud-palette-lines-default); border-radius:14px; color:var(--mud-palette-text-secondary); background:color-mix(in srgb,var(--mud-palette-surface) 68%,#777 32%); }
.diary-edge-arrow { position:absolute !important; z-index:5; top:50%; transform:translateY(-50%); width:40px !important; height:68px !important; border:1px solid color-mix(in srgb,var(--mud-palette-primary) 24%,var(--mud-palette-lines-default)) !important; border-radius:12px !important; background:color-mix(in srgb,var(--mud-palette-surface) 94%,transparent) !important; box-shadow:0 8px 25px rgba(0,0,0,.25); }
.diary-edge-left { left:4px; }
.diary-edge-right { right:4px; }
@media (max-width:959px) { .diary-page-shell { height:calc(100vh - 92px); min-height:620px; } .diary-window { padding-left:42px; padding-right:42px; } .diary-day-body { grid-template-columns:190px minmax(0,1fr); } }
@media (min-width:601px) and (max-width:760px) {
  .diary-filter-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .diary-filter-fields>:first-child { grid-column:1/-1; }
}
@media (max-width:600px) {
  .diary-page-shell { height:auto; min-height:0; overflow:visible; }
  .diary-filter-fields { grid-template-columns:1fr 1fr; }
  .diary-filter-fields>:first-child { grid-column:1/-1; }
  .diary-tag-mobile-toggle { display:flex; width:100%; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; padding:8px 4px; border:0; border-top:1px solid var(--mud-palette-lines-default); color:var(--mud-palette-text-primary); background:transparent; }
  .diary-tag-filter { display:none; }
  .diary-tag-filter.is-open { display:flex; }
  .diary-tag-toggle { flex:1 1 calc(50% - 7px); justify-content:flex-start; border-radius:10px; }
  .diary-window { flex:none; min-height:0; padding:8px 36px; overflow:visible; }
  .diary-carousel.week-window { height:auto; align-items:flex-start; overflow-y:visible; }
  .diary-week-day,.diary-boundary { flex-basis:100%; height:auto; min-height:calc(100vh - 250px); overflow:visible; }
  .diary-day-body { display:flex; flex-direction:column; min-height:0; overflow:visible; }
  .diary-day-toc { order:0; width:100%; height:auto; max-height:170px; border-right:0; border-bottom:1px solid var(--mud-palette-lines-default); }
  .diary-week-day .diary-slide-content { order:1; padding:12px; overflow:visible; }
  .diary-week-day .diary-entry .mud-card-content { padding:14px; }
  .diary-edge-arrow { width:32px !important; height:58px !important; }
}

.diary-sort-list { display:grid; gap:6px; margin-top:12px; }
.diary-sort-item { display:flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid var(--mud-palette-lines-default); border-radius:9px; background:color-mix(in srgb,var(--mud-palette-surface) 80%,transparent); cursor:grab; }
.diary-sort-item.is-dragging { opacity:.45; cursor:grabbing; }

/* Restrained motion system */
:root { --motion-fast:160ms; --motion-base:240ms; --motion-slow:380ms; --motion-ease:cubic-bezier(.22,1,.36,1); }
.ui-sprite-field { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ui-sprite { position:absolute; width:4px; height:4px; border-radius:50%; background:color-mix(in srgb,var(--mud-palette-primary) 65%,white); opacity:.18; box-shadow:0 0 14px color-mix(in srgb,var(--mud-palette-primary) 42%,transparent); animation:spriteDrift 16s ease-in-out infinite alternate; }
.ui-sprite::before,.ui-sprite::after { content:""; position:absolute; left:50%; top:50%; background:currentColor; opacity:.42; transform:translate(-50%,-50%); }
.ui-sprite::before { width:13px; height:1px; }
.ui-sprite::after { width:1px; height:13px; }
.sprite-one { left:8%; top:18%; animation-delay:-3s; }
.sprite-two { left:84%; top:24%; animation-delay:-9s; animation-duration:19s; }
.sprite-three { left:71%; top:72%; animation-delay:-5s; animation-duration:14s; }
.sprite-four { left:23%; top:83%; animation-delay:-12s; animation-duration:21s; }
.sprite-five { left:48%; top:9%; animation-delay:-7s; animation-duration:18s; }
.future-appbar { animation:shellReveal var(--motion-slow) var(--motion-ease) both; transition:left var(--motion-base) var(--motion-ease),background-color var(--motion-base) ease,border-color var(--motion-base) ease,box-shadow var(--motion-base) ease; }
.future-drawer .mud-drawer-content { animation:drawerReveal var(--motion-slow) var(--motion-ease) both; }
.future-nav .mud-nav-link { position:relative; overflow:hidden; transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-base) ease; animation:menuItemReveal 300ms var(--motion-ease) both; }
.future-nav .mud-nav-link::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 25%,color-mix(in srgb,var(--mud-palette-primary) 12%,transparent),transparent 75%); transform:translateX(-110%); transition:transform 520ms var(--motion-ease); }
.future-nav .mud-nav-link:hover::after { transform:translateX(110%); }
.future-nav .mud-nav-link:nth-child(2) { animation-delay:25ms; }.future-nav .mud-nav-link:nth-child(3) { animation-delay:45ms; }.future-nav .mud-nav-link:nth-child(4) { animation-delay:65ms; }.future-nav .mud-nav-link:nth-child(5) { animation-delay:85ms; }.future-nav .mud-nav-link:nth-child(6) { animation-delay:105ms; }.future-nav .mud-nav-link:nth-child(7) { animation-delay:125ms; }
.content-shell>.module-page,.content-shell>.future-home,.content-shell>.settings-panel,.content-shell>h1 { animation:pageReveal var(--motion-slow) var(--motion-ease) both; }
.glass-panel,.glass-card,.work-day-column,.diary-week-day,.internal-site-card,.shopping-list-card { transition:transform var(--motion-base) var(--motion-ease),border-color var(--motion-base) ease,box-shadow var(--motion-base) ease,background-color var(--motion-base) ease,filter var(--motion-base) ease; }
.work-week-card,.diary-week-day,.site-card-grid>* { animation:cardReveal 320ms var(--motion-ease) both; }
.work-week-card:nth-child(2),.diary-week-day:nth-child(2) { animation-delay:35ms; }.work-week-card:nth-child(3),.diary-week-day:nth-child(3) { animation-delay:70ms; }.work-week-card:nth-child(4),.diary-week-day:nth-child(4) { animation-delay:105ms; }
.mud-button-root,.mud-icon-button,.identity-pill,.mud-chip { transition:transform var(--motion-fast) var(--motion-ease),filter var(--motion-fast) ease,box-shadow var(--motion-base) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease; }
.mud-button-root:active,.mud-icon-button:active,.identity-pill:active { transform:scale(.97); }
.mud-input-control { transition:transform var(--motion-fast) var(--motion-ease),filter var(--motion-fast) ease; }
.mud-input-control:focus-within { transform:translateY(-1px); }
.mud-popover.mud-popover-open { transform-origin:top center; animation:popoverReveal 180ms var(--motion-ease) both; }
.mud-popover.mud-popover-open .mud-list-item { animation:menuItemReveal 220ms var(--motion-ease) both; }
.mud-dialog { transform-origin:center; animation:dialogReveal 240ms var(--motion-ease) both; }
.mud-overlay { animation:overlayReveal 200ms ease both; }
.mud-expand-panel,.mud-tabs-panels,.mud-tab { transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease; }
.diary-edge-arrow:hover,.carousel-button:hover { box-shadow:0 10px 28px color-mix(in srgb,var(--mud-palette-primary) 18%,transparent) !important; }
.diary-sort-item { transition:transform var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease; }
.diary-sort-item:hover { transform:translateX(3px); border-color:color-mix(in srgb,var(--mud-palette-primary) 34%,var(--mud-palette-lines-default)); }
@media (hover:hover) {
  .glass-card:hover,.work-week-card:hover,.shopping-list-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--mud-palette-primary) 34%,var(--mud-palette-lines-default)) !important; box-shadow:0 18px 44px color-mix(in srgb,var(--mud-palette-primary) 9%,rgba(0,0,0,.24)); }
  .mud-button-root:hover,.mud-icon-button:hover { transform:translateY(-1px); }
  .mud-chip:hover { transform:translateY(-1px); }
}
@keyframes shellReveal { from { opacity:0; transform:translateY(-8px) scale(.995); } to { opacity:1; transform:none; } }
@keyframes drawerReveal { from { opacity:0; transform:translateX(-10px); } to { opacity:1; transform:none; } }
@keyframes pageReveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes cardReveal { from { opacity:0; transform:translateY(7px) scale(.995); } to { opacity:1; transform:none; } }
@keyframes menuItemReveal { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:none; } }
@keyframes popoverReveal { from { opacity:0; transform:translateY(-5px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes dialogReveal { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes overlayReveal { from { opacity:0; } to { opacity:1; } }
@keyframes spriteDrift { 0% { transform:translate3d(0,0,0) rotate(0); opacity:.1; } 55% { opacity:.24; } 100% { transform:translate3d(12px,-16px,0) rotate(45deg); opacity:.14; } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .ui-sprite-field { display:none; }
}

/* Infrastructure topology */
.infrastructure-page { min-width:0; }
.infrastructure-heading { flex-wrap:wrap; }
.infrastructure-toolbar { display:flex; align-items:center; gap:12px; padding:10px 12px; margin-bottom:12px; }
.infra-view-switch { display:flex; gap:4px; padding:3px; border:1px solid var(--mud-palette-lines-default); border-radius:11px; background:color-mix(in srgb,var(--mud-palette-surface) 74%,transparent); }
.infra-view-button { padding:8px 11px; border:0; border-radius:8px; background:transparent; color:var(--mud-palette-text-secondary); cursor:pointer; transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast); }
.infra-view-button.active { color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--mud-palette-primary) 18%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mud-palette-primary) 28%,transparent); }
.infra-search { flex:1; min-width:180px; margin:0; }
.infra-stats { display:flex; gap:10px; white-space:nowrap; color:var(--mud-palette-text-secondary); font-size:.72rem; }
.infra-stats span { padding:5px 8px; border:1px solid var(--mud-palette-lines-default); border-radius:999px; }.infra-stats strong { color:var(--mud-palette-text-primary); }.infra-stats .update strong { color:var(--mud-palette-warning); }.infra-stats .risk strong { color:var(--mud-palette-error); }
.infra-zoom { display:flex; }
.infra-create { display:grid; grid-template-columns:2fr 1fr auto auto; gap:10px; align-items:end; padding:12px; margin-bottom:12px; }
.infrastructure-layout { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,350px); gap:12px; }
.infrastructure-canvas { position:relative; min-width:0; height:calc(100vh - 235px); min-height:620px; overflow:hidden; cursor:grab; touch-action:none; background-image:linear-gradient(color-mix(in srgb,var(--mud-palette-primary) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--mud-palette-primary) 5%,transparent) 1px,transparent 1px) !important; background-size:28px 28px !important; }
.infrastructure-canvas.is-manipulating { cursor:grabbing; }
.infra-stage { position:absolute; left:0; top:0; width:1800px; height:1120px; transform-origin:0 0; will-change:transform; }
.infra-edges { position:absolute; inset:0; z-index:0; width:1800px; height:1120px; overflow:visible; pointer-events:none; }
.infra-edges line { stroke:color-mix(in srgb,var(--mud-palette-primary) 28%,var(--mud-palette-lines-default)); stroke-width:1.15; opacity:.24; vector-effect:non-scaling-stroke; transition:opacity var(--motion-fast),stroke-width var(--motion-fast); }
.infra-edges line.selected { stroke:var(--mud-palette-primary); stroke-width:2; opacity:.9; }
.infra-edges text { fill:var(--mud-palette-text-secondary); font-size:9px; text-anchor:middle; opacity:.58; }
.infra-node { position:absolute; z-index:2; width:180px; min-height:70px; display:flex; align-items:center; gap:9px; padding:9px; border:1px solid color-mix(in srgb,var(--mud-palette-primary) 22%,var(--mud-palette-lines-default)); border-radius:13px; color:var(--mud-palette-text-primary); background:linear-gradient(145deg,color-mix(in srgb,var(--mud-palette-surface) 96%,transparent),color-mix(in srgb,var(--mud-palette-surface) 82%,transparent)); box-shadow:0 12px 28px rgba(0,0,0,.24); text-align:left; cursor:pointer; user-select:none; transition:border-color var(--motion-fast),box-shadow var(--motion-fast),filter var(--motion-fast); }
.infra-node:hover,.infra-node.selected { border-color:color-mix(in srgb,var(--mud-palette-primary) 62%,white); box-shadow:0 16px 38px color-mix(in srgb,var(--mud-palette-primary) 14%,rgba(0,0,0,.3)); }
.infra-node.selected { outline:2px solid color-mix(in srgb,var(--mud-palette-primary) 35%,transparent); }
.infra-node-icon { flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--mud-palette-primary); background:color-mix(in srgb,var(--mud-palette-primary) 12%,transparent); }
.infra-node-copy { min-width:0; display:flex; flex-direction:column; }.infra-node-copy strong,.infra-node-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.infra-node-copy strong { font-size:.78rem; }.infra-node-copy small { color:var(--mud-palette-text-secondary); font-size:.63rem; }
.infra-node.type-network { border-style:dashed; }.infra-node.type-service .infra-node-icon { color:var(--mud-palette-info); }.infra-node.type-smarthomedevice .infra-node-icon { color:var(--mud-palette-success); }.infra-node.has-update { border-color:color-mix(in srgb,var(--mud-palette-warning) 48%,var(--mud-palette-lines-default)); }
.infra-badge { position:absolute; top:-7px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; color:#111; font-size:.68rem; font-weight:800; }.infra-badge.update { right:-6px; background:var(--mud-palette-warning); }.infra-badge.risk { right:17px; color:white; background:var(--mud-palette-error); }
.infra-smart-dot { position:absolute; left:7px; bottom:6px; width:6px; height:6px; border-radius:50%; background:var(--mud-palette-success); box-shadow:0 0 10px var(--mud-palette-success); }
.infra-empty { position:absolute; left:50%; top:45%; transform:translate(-50%,-50%); color:var(--mud-palette-text-secondary); }
.infrastructure-detail { height:calc(100vh - 235px); min-height:620px; padding:14px; overflow-y:auto; }
.infrastructure-detail>header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }.infrastructure-detail>header>div { min-width:0; flex:1; }
.infra-detail-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--mud-palette-text-secondary); text-align:center; }
.infra-facts { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.infra-facts div { min-width:0; padding:7px; border:1px solid var(--mud-palette-lines-default); border-radius:8px; }.infra-facts span,.infra-facts strong { display:block; overflow-wrap:anywhere; }.infra-facts span { color:var(--mud-palette-text-secondary); font-size:.62rem; text-transform:uppercase; }.infra-facts strong { font-size:.75rem; }
.infra-endpoints,.infra-relations,.infra-version-list,.infra-vulnerabilities { display:grid; gap:6px; }.infra-endpoints>div,.infra-version-list>div,.infra-vulnerability { padding:8px; border:1px solid var(--mud-palette-lines-default); border-radius:8px; background:color-mix(in srgb,var(--mud-palette-surface) 72%,transparent); }.infra-endpoints strong,.infra-endpoints code,.infra-version-list code,.infra-version-list span { display:block; overflow-wrap:anywhere; }.infra-endpoints code,.infra-version-list span { color:var(--mud-palette-text-secondary); font-size:.65rem; }.infra-endpoints a { font-size:.68rem; }.infra-relations button { padding:7px; border:1px solid var(--mud-palette-lines-default); border-radius:7px; color:var(--mud-palette-primary); background:transparent; text-align:left; cursor:pointer; }
.infra-endpoint-card>header { display:flex; align-items:center; justify-content:space-between; gap:8px; }.infra-service-state { flex:0 0 auto; padding:2px 6px; border-radius:999px; color:var(--mud-palette-text-secondary); background:color-mix(in srgb,var(--mud-palette-lines-default) 65%,transparent); font-size:.6rem; font-weight:700; text-transform:uppercase; }.infra-service-state.open,.infra-service-state.up,.infra-service-state.online { color:var(--mud-palette-success); background:color-mix(in srgb,var(--mud-palette-success) 13%,transparent); }.infra-service-state.closed,.infra-service-state.unreachable,.infra-service-state.failed { color:var(--mud-palette-error); background:color-mix(in srgb,var(--mud-palette-error) 13%,transparent); }.infra-service-state.stale { color:var(--mud-palette-warning); background:color-mix(in srgb,var(--mud-palette-warning) 13%,transparent); }
.infra-service-summary { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:8px; }.infra-service-summary>div { min-width:0; padding:5px 6px; border:1px solid color-mix(in srgb,var(--mud-palette-lines-default) 72%,transparent); border-radius:7px; }.infra-service-summary span,.infra-service-summary strong { display:block; overflow-wrap:anywhere; }.infra-service-summary span,.infra-service-detail>span,.infra-tls-detail>span { color:var(--mud-palette-text-secondary); font-size:.58rem; text-transform:uppercase; }.infra-service-summary strong { font-size:.69rem; }.infra-service-detail,.infra-tls-detail { display:block; margin-top:7px; }.infra-service-detail code,.infra-tls-detail code { margin-top:2px; white-space:pre-wrap; }.infra-service-detail summary,.infra-tls-detail summary { color:var(--mud-palette-primary); cursor:pointer; font-size:.67rem; }.infra-service-error { display:block; margin-top:6px; color:var(--mud-palette-error); }
.infra-service-dot { position:absolute; right:7px; bottom:6px; width:6px; height:6px; border-radius:50%; background:var(--mud-palette-text-secondary); }.infra-service-dot.open,.infra-service-dot.up,.infra-service-dot.online { background:var(--mud-palette-success); box-shadow:0 0 8px color-mix(in srgb,var(--mud-palette-success) 75%,transparent); }.infra-service-dot.closed,.infra-service-dot.unreachable,.infra-service-dot.failed { background:var(--mud-palette-error); }.infra-service-dot.stale { background:var(--mud-palette-warning); }
.infra-vulnerability.open { border-color:color-mix(in srgb,var(--mud-palette-error) 48%,var(--mud-palette-lines-default)); }.infra-vulnerability.ignored { opacity:.72; }.infra-vulnerability.resolved { opacity:.5; }.infra-vulnerability header { display:flex; justify-content:space-between; gap:8px; }.infra-vulnerability p { margin:6px 0; font-size:.74rem; }
@media(max-width:1100px){.infrastructure-toolbar{flex-wrap:wrap}.infra-search{order:3;flex-basis:100%}.infrastructure-layout{grid-template-columns:1fr}.infrastructure-canvas{height:62vh;min-height:520px}.infrastructure-detail{height:auto;min-height:360px;max-height:none}.infra-create{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.infra-view-switch{width:100%;overflow-x:auto}.infra-view-button{flex:1;white-space:nowrap}.infra-stats{width:100%;overflow-x:auto}.infrastructure-canvas{height:58vh;min-height:440px}.infra-create{grid-template-columns:1fr}.infrastructure-layout{gap:9px}}

/* Lists and packing */
.lists-page .mud-tabs { background:transparent; }.lists-tabs .mud-tabs-panels { padding:16px 4px !important; }
.lists-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.packing-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) minmax(140px,220px) auto auto; align-items:end; gap:9px; padding:12px; margin-bottom:14px; }
.packing-toolbar .mud-input-control { margin-top:0; }
.packing-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr)); gap:14px; align-items:start; }
.packing-card { min-width:0; padding:15px; }.packing-card>header { display:flex; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid var(--mud-palette-lines-default); }.packing-title-input { max-width:360px; }.packing-sharing { display:flex; flex-wrap:wrap; gap:12px; }
.packing-locations { margin-top:10px; padding:9px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; }.packing-locations>div { display:flex; flex-wrap:wrap; gap:5px; }.packing-location-add { display:grid !important; grid-template-columns:1fr auto; align-items:end; }
.packing-add-item { display:grid; grid-template-columns:1.05fr .72fr .72fr .85fr 1.1fr auto; gap:7px; align-items:end; margin-top:10px; }.packing-add-item .mud-input-control { margin-top:0; }
.packing-items { display:grid; gap:12px; margin-top:12px; }.packing-person-group { overflow:hidden; border:1px solid color-mix(in srgb,var(--mud-palette-primary) 28%,var(--mud-palette-lines-default)); border-radius:14px; background:color-mix(in srgb,var(--mud-palette-primary) 4%,var(--mud-palette-surface)); }.packing-person-group>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 13px; border-bottom:1px solid var(--mud-palette-lines-default); background:linear-gradient(100deg,color-mix(in srgb,var(--mud-palette-primary) 18%,transparent),transparent); }.packing-person-group>header strong { font-size:1rem; }.packing-status-summary { display:flex; flex-wrap:wrap; gap:5px; font-size:.67rem; }.packing-status-summary span { padding:4px 7px; border-radius:999px; }.packing-status-summary .notdone { color:#fff; background:color-mix(in srgb,var(--mud-palette-error) 78%,#571018); }.packing-status-summary .prepared { color:#172035; background:color-mix(in srgb,var(--mud-palette-warning) 82%,white); }.packing-status-summary .packed { color:#082418; background:color-mix(in srgb,var(--mud-palette-success) 78%,white); }.packing-status-summary .notapplicable { color:var(--mud-palette-text-secondary); background:color-mix(in srgb,var(--mud-palette-surface) 72%,#777 28%); }.packing-category-group { margin:9px; overflow:hidden; border:1px solid var(--mud-palette-lines-default); border-radius:11px; }.packing-category-group>header { display:flex; justify-content:space-between; gap:8px; padding:7px 10px; color:var(--mud-palette-text-secondary); background:color-mix(in srgb,var(--mud-palette-surface) 84%,var(--mud-palette-primary) 16%); }.packing-category-group>header span { font-size:.7rem; }.packing-category-group .packing-row { margin:6px; }
.packing-row { position:relative; display:grid; grid-template-columns:1fr .68fr .68fr .78fr 1fr .82fr auto; gap:6px; align-items:end; padding:8px 8px 8px 12px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; background:color-mix(in srgb,var(--mud-palette-surface) 76%,transparent); transition:background var(--motion-base),border-color var(--motion-base),box-shadow var(--motion-base),opacity var(--motion-base); }.packing-row::before { content:""; position:absolute; inset:5px auto 5px 4px; width:4px; border-radius:999px; }.packing-row .mud-input-control { margin-top:0; }.packing-row.status-notdone { border-color:color-mix(in srgb,var(--mud-palette-error) 58%,var(--mud-palette-lines-default)); background:linear-gradient(100deg,color-mix(in srgb,var(--mud-palette-error) 15%,var(--mud-palette-surface)),color-mix(in srgb,var(--mud-palette-surface) 82%,transparent)); box-shadow:inset 0 0 20px color-mix(in srgb,var(--mud-palette-error) 5%,transparent); }.packing-row.status-notdone::before { background:var(--mud-palette-error); box-shadow:0 0 10px var(--mud-palette-error); }.packing-row.status-prepared { border-color:color-mix(in srgb,var(--mud-palette-warning) 62%,var(--mud-palette-lines-default)); background:linear-gradient(100deg,color-mix(in srgb,var(--mud-palette-warning) 13%,var(--mud-palette-surface)),color-mix(in srgb,var(--mud-palette-surface) 82%,transparent)); }.packing-row.status-prepared::before { background:var(--mud-palette-warning); }.packing-row.status-packed { border-color:color-mix(in srgb,var(--mud-palette-success) 62%,var(--mud-palette-lines-default)); background:linear-gradient(100deg,color-mix(in srgb,var(--mud-palette-success) 14%,var(--mud-palette-surface)),color-mix(in srgb,var(--mud-palette-surface) 82%,transparent)); }.packing-row.status-packed::before { background:var(--mud-palette-success); }.packing-row.status-notapplicable { opacity:.48; filter:saturate(.35); }.packing-row.status-notapplicable::before { background:var(--mud-palette-text-disabled); }.packing-row-actions { display:flex; }
.packing-template-origin { display:flex; align-items:center; gap:6px; margin-top:10px; color:var(--mud-palette-text-secondary); font-size:.72rem; }.packing-create-choice { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:10px; }.packing-create-choice button { padding:10px; border:1px solid var(--mud-palette-lines-default); border-radius:9px; color:var(--mud-palette-text-secondary); background:transparent; cursor:pointer; }.packing-create-choice button.selected { color:var(--mud-palette-text-primary); border-color:var(--mud-palette-primary); background:color-mix(in srgb,var(--mud-palette-primary) 14%,transparent); }
.packing-template-settings { margin-top:10px; }.packing-template-grid { display:grid; gap:10px; margin-top:10px; }.packing-template-card { padding:12px; }.packing-template-items { display:grid; gap:6px; }.packing-template-items>div { display:grid; grid-template-columns:1fr .7fr .7fr .8fr 1fr auto; align-items:end; gap:6px; padding:7px; border:1px solid var(--mud-palette-lines-default); border-radius:9px; }.packing-template-actions { display:flex; justify-content:flex-end; gap:7px; }
@media(max-width:900px){.packing-toolbar{grid-template-columns:1fr 1fr}.packing-add-item,.packing-row{grid-template-columns:1fr 1fr}.packing-row-actions{justify-content:flex-end}.packing-template-items>div{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.packing-toolbar{grid-template-columns:1fr}.packing-add-item,.packing-row,.packing-template-items>div{grid-template-columns:1fr}.lists-panel-heading{align-items:flex-start;flex-direction:column}}

/* Consent-controlled household locations */
.home-location-section { margin-top:18px; }
.home-location-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 4px 12px; }
.home-location-heading h2 { margin:5px 0 0; font-size:clamp(1.35rem,2vw,1.8rem); font-weight:560; letter-spacing:-.025em; }
.home-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-person-card,.home-location-empty { color:var(--mud-palette-text-primary); text-decoration:none; }
.home-person-card { min-height:170px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; }
.home-person-head { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px; }
.home-person-head span { min-width:0; display:flex; flex-direction:column; }.home-person-head strong,.home-person-head small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.home-person-head small,.home-person-updated { color:var(--mud-palette-text-secondary); }
.home-location-dot,.location-state-dot { width:9px; height:9px; border-radius:50%; }.home-location-dot.is-fresh,.location-state-dot.is-fresh { background:var(--mud-palette-success); box-shadow:0 0 12px color-mix(in srgb,var(--mud-palette-success) 80%,transparent); }.home-location-dot.is-stale,.location-state-dot.is-stale { background:var(--mud-palette-warning); }
.home-person-place { display:flex; align-items:center; gap:8px; margin-top:22px; font-size:1.12rem; }.home-person-place .mud-icon-root { color:var(--mud-palette-primary); }
.home-location-empty { min-height:130px; padding:24px; display:flex; align-items:center; gap:15px; }.home-location-empty>.mud-icon-root { color:var(--mud-palette-primary); font-size:2rem; }.home-location-empty span { display:flex; flex-direction:column; gap:4px; }.home-location-empty small { color:var(--mud-palette-text-secondary); }
.location-page,.location-admin-page { min-width:0; }.location-heading { align-items:flex-end; }
.location-consent { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; margin-bottom:16px; }.location-consent-actions,.location-panel-actions { display:flex; flex-wrap:wrap; gap:8px; }
.location-privacy-panel { margin-bottom:16px; }.location-panel-title,.location-map-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; }.location-toggle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 14px; margin:16px 0; }
.location-map-shell { position:relative; overflow:hidden; margin-top:16px; }.location-map-toolbar { padding:16px 18px; border-bottom:1px solid var(--mud-palette-lines-default); }.location-map { height:clamp(360px,52vh,620px); background:color-mix(in srgb,var(--mud-palette-surface) 84%,#1d2340); }.location-map-empty { position:absolute; left:50%; top:58%; z-index:500; transform:translate(-50%,-50%); padding:8px 12px; border-radius:999px; color:var(--mud-palette-text-secondary); background:color-mix(in srgb,var(--mud-palette-surface) 90%,transparent); pointer-events:none; }
.location-person-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:14px; }.location-person-card { padding:17px; }.location-card-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; }.location-card-top>div { min-width:0; display:flex; flex-direction:column; }.location-card-top span { color:var(--mud-palette-text-secondary); font-size:.75rem; }.location-place { display:flex; align-items:center; gap:7px; margin-top:18px; }.location-place .mud-icon-root { color:var(--mud-palette-primary); }.location-meta { margin-top:5px; color:var(--mud-palette-text-secondary); font-size:.72rem; }
.location-admin-map { height:430px; overflow:hidden; border:1px solid var(--mud-palette-lines-default); border-radius:14px; background:color-mix(in srgb,var(--mud-palette-surface) 84%,#1d2340); }.location-color-label { display:flex; flex-direction:column; gap:5px; color:var(--mud-palette-text-secondary); font-size:.75rem; }.location-color-label input { width:100%; height:38px; border:1px solid var(--mud-palette-lines-default); border-radius:8px; background:transparent; }
.location-zone-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; margin-top:16px; }.location-zone-row { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; padding:10px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--mud-palette-surface) 76%,transparent); text-align:left; cursor:pointer; }.location-zone-row>span { grid-row:1/3; width:12px; height:36px; border-radius:999px; }.location-zone-row small { color:var(--mud-palette-text-secondary); }
.leaflet-container { font-family:inherit; }.leaflet-control-attribution { font-size:10px; }.leaflet-tooltip { color:#e9ecff; background:#171a28; border-color:#4b526c; box-shadow:0 6px 18px rgba(0,0,0,.28); }.leaflet-tooltip::before { border-top-color:#4b526c; }
.location-marker-icon{border:0;background:transparent}.location-marker-group{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.location-marker-row{position:relative;flex:none}.location-person-marker,.location-zone-pin{position:absolute;top:0;display:flex;width:44px;height:44px;box-sizing:border-box}.location-person-marker{align-items:center;justify-content:center;overflow:hidden;border:3px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--mud-palette-primary),var(--mud-palette-secondary));box-shadow:0 3px 9px rgba(15,19,38,.42);font-size:.72rem;font-weight:800;letter-spacing:.02em}.location-person-marker img{width:100%;height:100%;object-fit:cover}.location-zone-pin{justify-content:center;filter:drop-shadow(0 3px 4px rgba(15,19,38,.42))}.location-zone-pin::after{position:absolute;left:18px;bottom:1px;width:0;height:0;border-right:4px solid transparent;border-left:4px solid transparent;border-top:8px solid var(--location-zone-color);content:""}.location-zone-pin-face{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;width:38px;height:38px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;color:#fff;background:var(--location-zone-color);font-size:.68rem}.location-zone-pin-face img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.home-location-grid,.location-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-toggle-grid{grid-template-columns:1fr 1fr}.location-consent{grid-template-columns:auto 1fr}.location-consent-actions{grid-column:1/-1}}
@media(max-width:600px){.home-location-heading{align-items:flex-start}.home-location-grid,.location-person-grid,.location-toggle-grid{grid-template-columns:1fr}.home-person-card{min-height:150px}.location-map{height:420px}.location-admin-map{height:380px}.location-map-toolbar{align-items:flex-start}.location-consent{grid-template-columns:1fr}.location-consent-actions{grid-column:auto}}
/* Training */
.training-page{min-width:0}.training-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--mud-palette-primary) 35%,var(--mud-palette-lines-default));border-radius:20px;background:radial-gradient(circle at 90% 20%,color-mix(in srgb,var(--mud-palette-secondary) 25%,transparent),transparent 38%),linear-gradient(120deg,color-mix(in srgb,var(--mud-palette-primary) 18%,var(--mud-palette-surface)),var(--mud-palette-surface))}.training-next{min-width:min(320px,45%);display:flex;flex-direction:column;padding:15px;border:1px solid color-mix(in srgb,var(--mud-palette-warning) 45%,var(--mud-palette-lines-default));border-radius:14px;background:color-mix(in srgb,var(--mud-palette-warning) 10%,transparent)}.training-next span,.training-stats span{font-size:.66rem;letter-spacing:.12em}.training-next strong{font-size:1.15rem}.training-next small{color:var(--mud-palette-text-secondary)}
.training-mobile-navigation{display:none}.training-person-tabs{margin-bottom:10px}.training-view-tabs .mud-tabs-panels{padding:14px 2px!important}.training-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}.training-event-card{min-width:0;padding:15px}.training-event-card>header,.training-live>header,.training-activity>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.training-event-card h3,.training-activity h3{margin:4px 0}.training-event-card p{margin:0;color:var(--mud-palette-text-secondary)}.training-event-card footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.training-state{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.65rem;text-transform:uppercase}.state-scheduled{color:var(--mud-palette-info);background:color-mix(in srgb,var(--mud-palette-info) 14%,transparent)}.state-live{color:#fff;background:var(--mud-palette-error)}.state-completed{color:var(--mud-palette-success);background:color-mix(in srgb,var(--mud-palette-success) 14%,transparent)}.training-sport-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.training-live{position:relative;min-width:0;padding:18px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--mud-palette-error) 40%,var(--mud-palette-lines-default));box-shadow:0 18px 50px color-mix(in srgb,var(--mud-palette-error) 10%,transparent)}.training-live-pulse{display:inline-flex;padding:4px 8px;border-radius:999px;color:#fff;background:var(--mud-palette-error);font-size:.68rem;font-weight:800;letter-spacing:.12em;animation:training-pulse 1.8s ease-in-out infinite}.training-finish{display:grid;grid-template-columns:90px auto auto;align-items:end;gap:6px}.training-activity{margin-top:14px;padding:13px;border:1px solid var(--mud-palette-lines-default);border-radius:14px;background:color-mix(in srgb,var(--mud-palette-surface) 85%,transparent)}.training-attendance{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.training-attendance .mud-input-control{max-width:190px}.training-attempt-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.training-attempt{display:grid;grid-template-columns:auto auto auto;gap:5px;align-items:center;padding:7px 9px;border:1px solid color-mix(in srgb,var(--mud-palette-success) 38%,var(--mud-palette-lines-default));border-radius:10px;background:color-mix(in srgb,var(--mud-palette-success) 8%,transparent)}.training-attempt.invalid,.training-result-summary .invalid,.training-public-sheet .invalid{opacity:.55;text-decoration:line-through;border-color:var(--mud-palette-error)}.training-attempt small{grid-column:1/-1;color:var(--mud-palette-text-secondary)}.training-entry{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;align-items:end}.training-scoreboard{display:grid;grid-template-columns:minmax(120px,1fr) 80px auto 80px minmax(120px,1fr) auto;gap:7px;align-items:end}.training-scoreboard>strong{align-self:center;font-size:1.5rem}.training-lineup{margin-top:10px;padding:8px;border-radius:9px;background:color-mix(in srgb,var(--mud-palette-primary) 8%,transparent)}
.training-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.training-stats article{display:flex;flex-direction:column;padding:16px;border:1px solid var(--mud-palette-lines-default);border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--mud-palette-primary) 13%,var(--mud-palette-surface)),var(--mud-palette-surface))}.training-stats strong{font-size:1.7rem}.training-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px}.training-record-card{display:flex;flex-direction:column;padding:15px;border:1px solid color-mix(in srgb,var(--mud-palette-warning) 36%,var(--mud-palette-lines-default));border-radius:14px;background:color-mix(in srgb,var(--mud-palette-warning) 7%,var(--mud-palette-surface))}.training-record-card b{font-size:1.35rem}.record-glow{box-shadow:inset 0 0 24px color-mix(in srgb,var(--mud-palette-warning) 8%,transparent)}.training-result-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.training-result-summary strong{width:100%}.training-result-summary span{padding:4px 7px;border-radius:8px;background:color-mix(in srgb,var(--mud-palette-primary) 10%,transparent)}
.training-gallery{display:flex;gap:8px;overflow-x:auto;margin-top:12px}.training-gallery figure{position:relative;flex:0 0 150px;margin:0}.training-gallery img{width:150px;height:105px;object-fit:cover;border-radius:10px}.training-gallery figcaption{font-size:.67rem;color:var(--mud-palette-text-secondary)}.training-gallery figure button{position:absolute;right:2px;top:2px;background:color-mix(in srgb,var(--mud-palette-surface) 80%,transparent)}.training-photo-upload{flex:0 0 150px;height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--mud-palette-primary);border-radius:10px;color:var(--mud-palette-primary);cursor:pointer;font-size:.68rem}.training-photo-upload input{position:absolute;width:1px;height:1px;opacity:0}.training-rest{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;margin:12px auto 0;padding:9px 16px;border-radius:999px;color:#111;background:var(--mud-palette-warning);font-size:1.2rem;font-weight:800}.training-admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;align-items:end}.training-admin-form>div:has(>.training-choice-grid){grid-column:1/-1}.training-choice-grid{display:flex;flex-wrap:wrap;gap:4px}.training-native-input{display:block;width:100%;padding:10px;border:1px solid var(--mud-palette-lines-default);border-radius:8px;color:var(--mud-palette-text-primary);background:var(--mud-palette-surface);color-scheme:dark}.training-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%}.training-public-sheet{max-width:900px;margin:auto;padding:24px}.training-public-sheet section{margin-top:15px;padding:13px;border:1px solid var(--mud-palette-lines-default);border-radius:12px}.training-public-score{font-size:2.4rem;font-weight:900}.training-public-sheet li{padding:4px}.training-gallery img{content-visibility:auto}
@keyframes training-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--mud-palette-error) 0%,transparent)}}
@media(prefers-reduced-motion:reduce){.training-live-pulse{animation:none}}
@media(max-width:700px){.training-mobile-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0 0 14px;padding:12px;border:1px solid var(--mud-palette-lines-default);border-radius:14px;background:var(--mud-palette-surface)}.training-person-tabs>.mud-tabs-tabbar,.training-view-tabs>.mud-tabs-tabbar{display:none}.training-person-tabs{margin:0}.training-view-tabs .mud-tabs-panels{padding-top:6px!important}.training-hero{align-items:flex-start;flex-direction:column;padding:16px}.training-next{width:100%;min-width:0}.training-stats{grid-template-columns:1fr 1fr}.training-scoreboard{grid-template-columns:1fr 64px auto 64px 1fr}.training-scoreboard button{grid-column:1/-1}.training-finish{width:100%;grid-template-columns:1fr 1fr}.training-finish button{grid-column:1/-1}.training-live>header{flex-direction:column}.training-entry{grid-template-columns:1fr 1fr}.training-entry button{min-height:48px}.training-admin-form{grid-template-columns:1fr}}
@media(max-width:430px){.training-mobile-navigation{grid-template-columns:1fr}.training-scoreboard{grid-template-columns:1fr 58px auto 58px}.training-scoreboard .mud-input-control:first-child,.training-scoreboard .mud-input-control:nth-last-child(2){grid-column:1/-1}.training-stats{grid-template-columns:1fr 1fr}.training-entry{grid-template-columns:1fr}}
.training-substitutions{margin-top:14px;padding-top:12px;border-top:1px solid var(--mud-palette-lines-default)}.training-substitution-form{display:grid;grid-template-columns:1fr 1fr 100px 1fr auto;gap:8px;align-items:end}.training-substitution-list{display:grid;gap:5px;margin:10px 0 0;padding:0;list-style:none}.training-substitution-list li{padding:7px 9px;border-radius:8px;background:color-mix(in srgb,var(--mud-palette-primary) 8%,transparent)}.training-substitution-list span{display:inline-block;min-width:34px;font-weight:700}.training-substitution-list small{margin-left:8px;color:var(--mud-palette-text-secondary)}
.training-sport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.training-sport-card{overflow:hidden;border:1px solid var(--mud-palette-lines-default);border-radius:16px;background:var(--mud-palette-surface)}.training-sport-card img,.training-sport-placeholder{display:grid;width:100%;height:150px;object-fit:cover;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--mud-palette-primary) 30%,var(--mud-palette-surface)),color-mix(in srgb,var(--mud-palette-secondary) 25%,var(--mud-palette-surface)))}.training-sport-placeholder .mud-icon-root{font-size:3rem;opacity:.55}.training-sport-card>div:last-child{padding:12px}.training-sport-card h3{margin:4px 0}.training-sport-card p{margin:0;color:var(--mud-palette-text-secondary)}
.training-sport-card{min-height:210px;background-position:center;background-size:cover;color:#fff}.training-sport-card>div:last-child{display:flex;min-height:210px;flex-direction:column;justify-content:flex-end}.training-sport-card p,.training-sport-card small{color:rgba(255,255,255,.82)}
.training-event-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.training-event-actions .mud-button-root{min-height:44px}.training-event-create-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin:0 0 16px;padding:16px;border:1px solid color-mix(in srgb,var(--mud-palette-primary) 35%,var(--mud-palette-lines-default));border-radius:16px;background:var(--mud-palette-surface)}.training-event-create-heading,.training-event-create-choices,.training-event-create-form .training-form-actions{grid-column:1/-1}.training-event-create-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-event-create-choices{min-width:0;margin:0;padding:10px 12px;border:1px solid var(--mud-palette-lines-default);border-radius:12px}.training-event-create-choices legend{padding:0 5px;font-weight:700}.training-inline-create{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px}.training-quick-form,.training-live-fields,.training-add-activity,.training-sport-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;flex:1;padding:12px;border:1px solid var(--mud-palette-lines-default);border-radius:14px;background:var(--mud-palette-surface)}.training-quick-form label,.training-live-fields label{display:grid;gap:4px;font-size:.8rem;color:var(--mud-palette-text-secondary)}
@media(max-width:430px){.training-event-actions{display:grid;grid-template-columns:1fr}.training-event-actions .mud-button-root{width:100%}.training-event-create-form{grid-template-columns:minmax(0,1fr);padding:13px}.training-event-create-heading,.training-event-create-choices,.training-event-create-form .training-form-actions{grid-column:1}}.training-live-editor{margin:14px 0;background:transparent!important}.training-activity-management{display:grid;gap:7px;margin-top:12px}.training-activity-management>div{display:flex;align-items:center;gap:9px;padding:7px;border-radius:10px;background:color-mix(in srgb,var(--mud-palette-primary) 8%,transparent)}.training-activity-thumb{width:42px;height:42px;border-radius:9px;object-fit:cover}.training-event-attendance{margin:12px 0;padding:12px;border:1px solid var(--mud-palette-lines-default);border-radius:14px}.training-attendance-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.training-attendance-tag{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;background:color-mix(in srgb,var(--mud-palette-primary) 8%,var(--mud-palette-surface))}.training-attendance-weight{width:96px}.training-result-corrections{display:grid;gap:5px;margin-top:8px}.training-result-corrections>div{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-top:1px solid var(--mud-palette-lines-default)}.training-event-people{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.training-event-people>span{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--mud-palette-primary) 11%,transparent);font-size:.78rem}.training-event-person-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.training-event-type{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:.66rem;font-weight:800;text-transform:uppercase}.type-competition{background:color-mix(in srgb,var(--mud-palette-warning) 25%,transparent);color:var(--mud-palette-warning-darken)}.type-training{background:color-mix(in srgb,var(--mud-palette-info) 18%,transparent);color:var(--mud-palette-info)}.training-activity{background-repeat:no-repeat;background-position:right center;background-size:min(220px,45%) 100%}.training-stat-button{width:100%;cursor:pointer;text-align:left;color:inherit;font:inherit}.training-progress-chart{margin-top:14px;padding:14px;border:1px solid var(--mud-palette-lines-default);border-radius:14px;background:var(--mud-palette-surface)}.training-progress-chart svg{display:block;width:100%;height:auto}.training-progress-chart polyline{fill:none;stroke:var(--mud-palette-primary);stroke-width:2}.training-progress-chart circle{fill:var(--mud-palette-primary)}.training-progress-chart footer{display:flex;justify-content:space-between;color:var(--mud-palette-text-secondary);font-size:.75rem}.training-record-sections{display:grid;gap:20px}
.training-record-history{display:grid;gap:5px;margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--mud-palette-lines-default);list-style:none}.training-record-history li{display:grid;grid-template-columns:auto auto;gap:0 8px;justify-content:space-between}.training-record-history li small{grid-column:1/-1;color:var(--mud-palette-text-secondary)}
.training-points-history{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.training-points-history article{display:grid;flex:0 0 180px;padding:12px;border-radius:12px;border:1px solid var(--mud-palette-lines-default);background:color-mix(in srgb,var(--mud-palette-warning) 10%,var(--mud-palette-surface))}.training-points-history strong{font-size:1.45rem}.training-points-history small{color:var(--mud-palette-text-secondary)}

.training-print-sheet{max-width:1100px;margin:0 auto;color:var(--mud-palette-text-primary)}.training-print-sheet>header{display:flex;justify-content:space-between;align-items:start;border-bottom:3px solid var(--mud-palette-primary);padding-bottom:12px}.training-print-sheet h1{margin:4px 0}.training-print-sheet dl{display:grid;grid-template-columns:max-content 1fr max-content 1fr;gap:4px 12px;margin:18px 0}.training-print-sheet dt{font-weight:700}.training-print-sheet dd{margin:0}.training-print-sheet section{margin:20px 0;break-inside:avoid}.training-print-sheet table{width:100%;border-collapse:collapse}.training-print-sheet th,.training-print-sheet td{padding:8px;text-align:left;border:1px solid var(--mud-palette-lines-default)}.training-print-sheet th{background:color-mix(in srgb,var(--mud-palette-primary) 10%,transparent)}.training-print-score{display:flex;gap:16px;align-items:center;font-size:1.2rem}.training-print-score strong{font-size:1.6rem}.training-print-sheet>footer{margin-top:28px;padding-top:8px;border-top:1px solid var(--mud-palette-lines-default);font-size:.75rem;color:var(--mud-palette-text-secondary)}
@media(max-width:800px){.training-substitution-form{grid-template-columns:1fr 1fr}.training-substitution-form button{grid-column:1/-1}.training-print-sheet dl{grid-template-columns:max-content 1fr}.training-print-sheet{overflow-x:auto}}
@media print{.future-appbar,.future-drawer,.training-person-tabs,.training-view-tabs>.mud-tabs-tabbar,.training-event-card footer,.training-photo-upload,.no-print{display:none!important}.mud-main-content{margin:0!important}.content-shell{max-width:none!important;padding:0!important}.training-event-card,.training-public-sheet section,.training-print-sheet section{break-inside:avoid;box-shadow:none!important}.training-print-sheet{max-width:none}.training-print-sheet table{font-size:10pt}.training-print-sheet th,.training-print-sheet td{padding:5px}}

/* 2026 visual system: editorial structure, calm surfaces and ambient depth. */
:root {
  --ui-radius-xs:8px;
  --ui-radius-sm:12px;
  --ui-radius-md:18px;
  --ui-radius-lg:26px;
  --ui-shadow-sm:0 1px 2px rgba(4,8,20,.06),0 8px 24px rgba(4,8,20,.06);
  --ui-shadow-md:0 2px 4px rgba(4,8,20,.06),0 18px 55px rgba(4,8,20,.10);
  --ui-border:color-mix(in srgb,var(--mud-palette-lines-default) 78%,var(--mud-palette-primary) 22%);
}
body { font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif; letter-spacing:-.008em; }
h1,.mud-typography-h1,.mud-typography-h2,.mud-typography-h3 { font-weight:560!important; letter-spacing:-.045em!important; text-wrap:balance; }
h2,.mud-typography-h4,.mud-typography-h5,.mud-typography-h6 { letter-spacing:-.025em!important; text-wrap:balance; }
.content-shell { padding-top:96px; padding-bottom:48px; }
.module-page { max-width:100%; }
.module-heading { margin-bottom:24px; padding:0 2px 14px; border-bottom:1px solid color-mix(in srgb,var(--mud-palette-lines-default) 76%,transparent); }
.module-heading h1,.content-shell>h1 { margin-bottom:4px!important; font-size:clamp(2.15rem,4vw,3.6rem)!important; }
.page-kicker,.drawer-kicker,.carousel-eyebrow,.date-year { color:var(--mud-palette-primary); font-weight:750; letter-spacing:.19em; }

/* Functional content is immediate: no page, card, shell or menu entrance effects. */
.future-appbar,.future-drawer .mud-drawer-content,.future-nav .mud-nav-link,
.content-shell>.module-page,.content-shell>.future-home,.content-shell>.settings-panel,.content-shell>h1,
.work-week-card,.diary-week-day,.site-card-grid>*,.mud-popover.mud-popover-open .mud-list-item { animation:none!important; }
.future-nav .mud-nav-link::after { display:none; }

.future-appbar { top:0!important; margin:10px 12px 0!important; min-height:62px!important; border:1px solid var(--ui-border)!important; border-radius:var(--ui-radius-md)!important; background:color-mix(in srgb,var(--mud-palette-surface) 91%,transparent)!important; backdrop-filter:blur(18px) saturate(112%); box-shadow:var(--ui-shadow-sm)!important; }
.brand-lockup { gap:10px; font-weight:720; letter-spacing:-.025em; }
.brand-lockup img { border-radius:10px; box-shadow:none; }
.nav-icon,.topbar-icon-button,.topbar-theme-menu .mud-icon-button { border-color:var(--ui-border)!important; background:color-mix(in srgb,var(--mud-palette-surface) 88%,transparent)!important; }
.future-drawer { border-right:1px solid var(--ui-border)!important; background:color-mix(in srgb,var(--mud-palette-background) 96%,var(--mud-palette-surface))!important; backdrop-filter:blur(16px); }
.future-drawer .mud-drawer-header { min-height:78px; padding:18px 20px 10px; }
.future-nav { padding:10px; }
.future-nav .mud-nav-link { min-height:44px; margin:3px 0; padding:10px 13px; border-radius:var(--ui-radius-sm); }
.future-nav .mud-nav-link:hover { transform:none; border-color:var(--ui-border); background:color-mix(in srgb,var(--mud-palette-primary) 7%,var(--mud-palette-surface)); }
.future-nav .mud-nav-link.active { border-color:color-mix(in srgb,var(--mud-palette-primary) 28%,var(--mud-palette-lines-default)); background:color-mix(in srgb,var(--mud-palette-primary) 11%,var(--mud-palette-surface)); box-shadow:inset 3px 0 var(--mud-palette-primary); }
.drawer-footer { padding:18px 20px; letter-spacing:.035em; }
.footer-orb { width:9px; height:9px; background:var(--mud-palette-primary); box-shadow:0 0 0 5px color-mix(in srgb,var(--mud-palette-primary) 12%,transparent); }

.glass-panel,.glass-card,.mud-paper { border-color:var(--ui-border)!important; }
.glass-panel,.glass-card { background:color-mix(in srgb,var(--mud-palette-surface) 95%,transparent)!important; backdrop-filter:blur(10px) saturate(106%); box-shadow:var(--ui-shadow-sm); }
.glass-panel { border-radius:var(--ui-radius-md)!important; }
.glass-card { border-radius:var(--ui-radius-sm)!important; }
.feature-card,.home-person-card,.internal-site-card,.training-event-card { box-shadow:none; }
.feature-card:hover,.internal-site-card:hover,.diary-entry-button:hover .diary-entry { transform:none; border-color:color-mix(in srgb,var(--mud-palette-primary) 40%,var(--mud-palette-lines-default))!important; box-shadow:var(--ui-shadow-sm); }
.mud-dialog { border:1px solid var(--ui-border); border-radius:var(--ui-radius-md)!important; background:var(--mud-palette-surface)!important; box-shadow:var(--ui-shadow-md)!important; }
.mud-overlay { backdrop-filter:blur(5px); background-color:rgba(5,8,18,.38)!important; }
.mud-popover { border-color:var(--ui-border); border-radius:var(--ui-radius-sm)!important; box-shadow:var(--ui-shadow-md)!important; }
.mud-list-item { border-radius:var(--ui-radius-xs); }
.mud-button-root,.btn { min-height:40px; border-radius:999px!important; font-weight:700!important; letter-spacing:-.01em; text-transform:none!important; }
.mud-button-filled-primary,.btn-primary,.luminous-button { color:var(--mud-palette-primary-contrasttext)!important; background:var(--mud-palette-primary)!important; box-shadow:0 7px 20px color-mix(in srgb,var(--mud-palette-primary) 22%,transparent)!important; }
.mud-button-outlined { border-color:color-mix(in srgb,var(--mud-palette-primary) 34%,var(--mud-palette-lines-default))!important; }
.mud-input-outlined-border,.form-control,.training-native-input { border-color:var(--ui-border)!important; border-radius:var(--ui-radius-sm)!important; }
.form-control { min-height:52px; padding:1rem .9rem; background:color-mix(in srgb,var(--mud-palette-surface) 88%,transparent); }
.mud-input-control:focus-within { transform:none; }
.mud-input-control:focus-within .mud-input-outlined-border,.form-control:focus { border-color:var(--mud-palette-primary)!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--mud-palette-primary) 13%,transparent); outline:none; }
.mud-tabs-tabbar { border-bottom:1px solid var(--ui-border); }
.admin-tabs .mud-tabs-panels,.admin-tabs .admin-panel-inset { padding:26px!important; }
.settings-panel { padding:clamp(18px,3vw,34px)!important; }
.settings-panel>.mud-input-control { max-width:720px; }
.avatar-editor { padding:18px; margin-bottom:18px; border-radius:var(--ui-radius-sm); }
.future-hero { min-height:420px; padding:clamp(30px,5vw,62px); grid-template-columns:minmax(320px,1.05fr) minmax(300px,.95fr); }
.hero-copy h1 { max-width:680px; font-size:clamp(3rem,5.8vw,5.3rem); line-height:.94; font-weight:560; }
.hero-visual { height:350px; }
.orbit-one { width:410px; height:230px; top:45px; right:-20px; }
.orbit-two { width:315px; height:315px; top:10px; right:42px; }
.planet { width:210px; height:210px; right:94px; top:58px; }
.floating-entry { width:210px; bottom:8px; padding:18px; border-radius:16px; transform:none; }
.feature-grid { gap:12px; margin-top:14px; }
.feature-card { min-height:160px; padding:22px; }
.feature-icon { border-radius:11px; }
.account-manage-grid { display:grid; grid-template-columns:240px minmax(0,1fr); overflow:hidden; }
.account-manage-grid>aside { padding:22px 14px; border-right:1px solid var(--ui-border); background:color-mix(in srgb,var(--mud-palette-primary) 4%,var(--mud-palette-surface)); }
.account-manage-content { min-width:0; padding:clamp(20px,3vw,36px); }
.account-manage-content>h3,.account-manage-content>h2 { margin-top:0; font-size:1.7rem; }
.account-manage-page .nav { display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.account-manage-page .nav-link { display:block; padding:10px 12px; border-radius:10px; color:var(--mud-palette-text-secondary); text-decoration:none; }
.account-manage-page .nav-link:hover { color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--mud-palette-primary) 7%,transparent); }
.account-manage-page .nav-link.active { color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--mud-palette-primary) 13%,transparent); box-shadow:inset 3px 0 var(--mud-palette-primary); }
.account-manage-content .form-floating { max-width:620px; }
.admin-setting-section { max-width:820px; padding:22px; border:1px solid var(--ui-border); border-radius:var(--ui-radius-md); background:color-mix(in srgb,var(--mud-palette-surface) 94%,transparent); }
.admin-setting-section>header { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; }
.admin-setting-section>header p { margin-top:4px; color:var(--mud-palette-text-secondary); }
.admin-setting-icon { flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--mud-palette-primary); background:color-mix(in srgb,var(--mud-palette-primary) 12%,transparent); }
.admin-setting-fields { display:grid; grid-template-columns:minmax(240px,1fr) minmax(180px,.55fr); gap:12px; }
.state-page { width:min(680px,100%); min-height:390px; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:13px; margin:7vh auto 0; padding:clamp(28px,6vw,62px); }
.state-page h1 { max-width:570px; margin:0; font-size:clamp(2.5rem,6vw,4.7rem); line-height:.98; }
.state-page p { max-width:540px; margin:0 0 10px; color:var(--mud-palette-text-secondary); font-size:1.02rem; line-height:1.65; }
.state-code { color:var(--mud-palette-primary); font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.state-reference { max-width:100%; overflow-wrap:anywhere; margin:2px 0 10px; padding:8px 11px; border:1px solid var(--ui-border); border-radius:8px; background:color-mix(in srgb,var(--mud-palette-background) 70%,transparent); }
.training-public-sheet { border:1px solid var(--ui-border); border-radius:var(--ui-radius-lg); background:color-mix(in srgb,var(--mud-palette-surface) 95%,transparent); box-shadow:var(--ui-shadow-sm); }
.training-public-sheet>header { padding-bottom:18px; border-bottom:1px solid var(--ui-border); }
#blazor-error-ui { left:16px; right:16px; bottom:16px; width:auto; border:1px solid #e6c869; border-radius:12px; background:#fff9d9; box-shadow:var(--ui-shadow-md); }

/* Visual theme selection. */
.theme-preview { flex:0 0 auto; width:60px; height:28px; display:grid; grid-template-columns:1.2fr 1fr .72fr .72fr; gap:2px; overflow:hidden; padding:3px; border:1px solid rgba(127,127,127,.28); border-radius:9px; background:rgba(127,127,127,.09); }
.theme-preview span { display:block; border-radius:4px; }
.theme-menu-choice { width:100%; min-width:230px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px; }
.theme-menu-choice>.mud-icon-root { color:var(--mud-palette-primary); }
.theme-picker { min-width:0; margin:24px 0 16px; padding:0; border:0; }
.theme-picker legend { margin-bottom:10px; color:var(--mud-palette-text-secondary); font-size:.78rem; font-weight:700; }
.theme-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:9px; }
.theme-choice { min-width:0; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; align-items:center; gap:1px 10px; padding:11px; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); color:var(--mud-palette-text-primary); background:color-mix(in srgb,var(--mud-palette-surface) 94%,transparent); text-align:left; cursor:pointer; }
.theme-choice .theme-preview { grid-row:1/3; }
.theme-choice>span { overflow:hidden; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.theme-choice small { color:var(--mud-palette-text-secondary); }
.theme-choice:hover { border-color:color-mix(in srgb,var(--mud-palette-primary) 45%,var(--mud-palette-lines-default)); }
.theme-choice.selected { border-color:var(--mud-palette-primary); outline:2px solid color-mix(in srgb,var(--mud-palette-primary) 16%,transparent); background:color-mix(in srgb,var(--mud-palette-primary) 8%,var(--mud-palette-surface)); }
.theme-choice:focus-visible { outline:3px solid color-mix(in srgb,var(--mud-palette-primary) 38%,transparent); outline-offset:2px; }

/* Theme-aware ambient field; operational workspaces intentionally lower it. */
.ambient-field { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; opacity:.58; }
.app-shell,.auth-shell { position:relative; z-index:1; }
.ambient-grid { position:absolute; inset:-8%; opacity:.14; background-image:radial-gradient(circle,color-mix(in srgb,var(--mud-palette-primary,#8f83ff) 38%,transparent) 1px,transparent 1.3px); background-size:32px 32px; mask-image:radial-gradient(ellipse at center,black,transparent 78%); animation:ambientGridDrift 36s linear infinite alternate; }
.ambient-orb { position:absolute; border-radius:50%; filter:blur(2px); opacity:.18; background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--mud-palette-primary,#8f83ff) 60%,white),color-mix(in srgb,var(--mud-palette-primary,#8f83ff) 20%,transparent) 42%,transparent 68%); animation:ambientFloat 28s ease-in-out infinite alternate; }
.ambient-orb-one { width:340px; height:340px; right:-90px; top:8%; }
.ambient-orb-two { width:260px; height:260px; left:8%; bottom:-100px; animation-delay:-11s; animation-duration:34s; background:radial-gradient(circle,color-mix(in srgb,var(--mud-palette-secondary,#7da3ff) 26%,transparent),transparent 67%); }
.ambient-orb-three { width:150px; height:150px; left:42%; top:18%; animation-delay:-18s; animation-duration:39s; opacity:.11; }
.ambient-ring { position:absolute; border:1px solid color-mix(in srgb,var(--mud-palette-primary,#8f83ff) 20%,transparent); border-radius:50%; opacity:.25; animation:ambientRing 32s ease-in-out infinite alternate; }
.ambient-ring-one { width:110px; height:110px; left:6%; top:16%; }
.ambient-ring-two { width:190px; height:190px; right:12%; bottom:10%; animation-delay:-14s; }
body:has(.diary-page-shell) .ambient-field,body:has(.infrastructure-page) .ambient-field,body:has(.location-page) .ambient-field,body:has(.packing-card-grid) .ambient-field { opacity:.28; }
@keyframes ambientGridDrift { to { transform:translate3d(10px,-8px,0); } }
@keyframes ambientFloat { to { transform:translate3d(-18px,14px,0) scale(1.025); } }
@keyframes ambientRing { to { transform:translate3d(12px,-10px,0) rotate(6deg); } }

/* Authentication layout shared by all signed-out Identity pages. */
.auth-shell { --mud-palette-background:#070A12; --mud-palette-surface:#111622; --mud-palette-primary:#AFA4FF; --mud-palette-secondary:#7CB5FF; --mud-palette-text-primary:#F7F7FB; --mud-palette-text-secondary:#A7AEBD; --mud-palette-lines-default:#293142; --ui-border:rgba(183,190,218,.22); min-height:100vh; overflow:hidden; color:var(--mud-palette-text-primary); background:radial-gradient(circle at 72% 8%,rgba(102,94,190,.14),transparent 31%),linear-gradient(145deg,#070A12,#0A0E18 52%,#070A12); }
.auth-shell .ambient-field { opacity:.82; }
.auth-brandbar { position:relative; z-index:2; padding:clamp(20px,4vw,38px); }
.auth-brand { display:inline-flex; align-items:center; gap:11px; color:inherit; font-weight:740; letter-spacing:-.025em; text-decoration:none; }
.auth-brand img { width:34px; height:34px; border-radius:10px; }
.auth-stage { position:relative; z-index:2; width:min(1120px,calc(100% - 40px)); min-height:calc(100vh - 150px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,430px); align-items:center; gap:clamp(40px,8vw,112px); padding:30px 0 70px; }
.auth-intro { max-width:650px; }
.auth-eyebrow,.auth-form-kicker { color:#B8AFFF; font-size:.67rem; font-weight:780; letter-spacing:.2em; }
.auth-intro h1 { margin:18px 0; font-size:clamp(3.6rem,8vw,7.2rem); line-height:.88; font-weight:560; letter-spacing:-.07em; }
.auth-intro p { max-width:520px; margin:0; color:var(--mud-palette-text-secondary); font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.65; }
.auth-card { width:100%; padding:clamp(24px,4vw,38px); border:1px solid rgba(183,190,218,.18); border-radius:24px; background:rgba(17,22,34,.82); backdrop-filter:blur(20px) saturate(112%); box-shadow:0 28px 90px rgba(0,0,0,.35); }
.auth-card h1 { margin:7px 0 9px; font-size:clamp(2rem,4vw,2.8rem); }
.auth-card h2 { font-size:1.35rem; }
.auth-card p { color:var(--mud-palette-text-secondary); line-height:1.55; }
.auth-card .row { display:block; }
.auth-card [class^="col-"],.auth-card [class*=" col-"] { width:100%; max-width:none; }
.auth-form-head { margin-bottom:24px; }
.auth-form-head p { margin:0; }
.auth-card .form-floating { position:relative; display:flex; flex-direction:column; margin-bottom:14px; }
.auth-card .form-floating label { order:1; display:block; margin:0 0 6px; color:#C5CAD4; font-size:.77rem; font-weight:650; }
.auth-card .form-floating .form-control { order:2; }
.auth-card .form-floating .validation-message { order:3; }
.auth-card .form-control { min-height:54px; color:#F7F7FB; background:rgba(255,255,255,.035); }
.auth-card .form-control::placeholder { color:transparent; }
.auth-card .checkbox { margin:4px 0 18px; color:#C5CAD4; font-size:.85rem; }
.auth-card .form-check-input { margin-right:7px; accent-color:#AFA4FF; }
.auth-primary-action { margin-top:8px; }
.auth-primary-action .btn,.auth-passkey .btn { width:100%; }
.auth-card .btn-primary { color:#0D1020!important; background:#F5F3FF!important; box-shadow:none!important; }
.auth-card .btn-outline-secondary { border:1px solid rgba(190,197,220,.2); color:#E8EAF0; background:rgba(255,255,255,.02); }
.auth-divider { display:flex; align-items:center; gap:12px; margin:19px 0; color:#777F91; font-size:.72rem; text-transform:uppercase; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:rgba(190,197,220,.14); }
.auth-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 15px; margin-top:20px; font-size:.78rem; }
.auth-card a { color:#D1CCFF; text-underline-offset:3px; }
.auth-external:empty { display:none; }
.auth-footer { position:absolute; z-index:2; left:0; right:0; bottom:18px; color:#697184; font-size:.67rem; letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.auth-card hr { border:0; border-top:1px solid rgba(190,197,220,.14); }
.auth-card .alert { padding:11px 13px; border:1px solid rgba(255,125,146,.25); border-radius:10px; background:rgba(255,83,112,.08); }
/* Brighter theme accents. */
.theme-porcelain::before,.theme-nordic::before,.theme-daybreak::before,.theme-sage::before,.theme-aurora-light::before { opacity:.36; }
.theme-porcelain::before { background:radial-gradient(circle at 76% 4%,rgba(105,87,200,.14),transparent 38%),radial-gradient(circle at 8% 82%,rgba(218,107,85,.10),transparent 30%); }
.theme-nordic::before { background:radial-gradient(circle at 80% 0%,rgba(23,107,117,.12),transparent 36%),radial-gradient(circle at 4% 85%,rgba(210,154,98,.11),transparent 30%); }
.theme-daybreak::before { background:radial-gradient(circle at 74% 0%,rgba(219,93,59,.13),transparent 36%),radial-gradient(circle at 7% 84%,rgba(107,123,199,.10),transparent 31%); }
.theme-sage::before { background:radial-gradient(circle at 75% 0%,rgba(82,112,90,.13),transparent 36%),radial-gradient(circle at 7% 84%,rgba(165,121,82,.09),transparent 31%); }
.theme-aurora-light::before { background:radial-gradient(circle at 78% 0%,rgba(83,103,217,.14),transparent 36%),radial-gradient(circle at 5% 84%,rgba(155,91,198,.10),transparent 31%); }

@media(max-width:959px) {
  .future-hero { grid-template-columns:1fr; }
}

.settings-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 18px;padding:5px;border:1px solid var(--ui-border);border-radius:16px;background:color-mix(in srgb,var(--mud-palette-surface) 88%,transparent)}
.settings-tab{flex:0 0 auto;padding:9px 14px;border-radius:11px;color:var(--mud-palette-text-secondary);font-weight:700;text-decoration:none}
.settings-tab:hover,.settings-tab.active{color:var(--mud-palette-text-primary);background:color-mix(in srgb,var(--mud-palette-primary) 14%,var(--mud-palette-surface))}.settings-tab.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mud-palette-primary) 45%,transparent)}
.training-progress-chart{max-width:100%;padding:18px}.training-progress-chart>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-progress-chart h3{margin:2px 0}.training-chart-count{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--mud-palette-primary) 12%,transparent);font-size:.78rem;font-weight:700}.training-chart-canvas{overflow-x:auto}.training-progress-chart svg{width:100%;min-width:620px;max-height:460px;aspect-ratio:740/310}.training-progress-chart .chart-axis{stroke:var(--mud-palette-text-secondary);stroke-width:1.5}.training-progress-chart .chart-grid{stroke:var(--mud-palette-lines-default);stroke-width:1;stroke-dasharray:4 5}.training-progress-chart .chart-tick{stroke:var(--mud-palette-text-secondary)}.training-progress-chart text{fill:var(--mud-palette-text-secondary);font-family:inherit;font-size:11px}.training-progress-chart .chart-axis-title{fill:var(--mud-palette-text-primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.training-progress-chart polyline{stroke-width:3;vector-effect:non-scaling-stroke}.training-progress-chart circle{cursor:pointer;stroke:var(--mud-palette-surface);stroke-width:3;vector-effect:non-scaling-stroke}.training-progress-chart circle:hover,.training-progress-chart circle:focus,.training-progress-chart circle.selected{r:10;outline:none;stroke:var(--mud-palette-warning);stroke-width:4}.training-chart-feedback{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.training-chart-feedback>div{display:grid;padding:10px 12px;border:1px solid var(--mud-palette-lines-default);border-radius:12px;background:color-mix(in srgb,var(--mud-palette-primary) 6%,var(--mud-palette-surface))}.training-chart-feedback span,.training-chart-feedback small{color:var(--mud-palette-text-secondary);font-size:.75rem}.training-chart-feedback strong{font-size:1.1rem}.training-chart-point-list{display:flex;gap:7px;overflow-x:auto;margin-top:10px;padding-bottom:3px}.training-chart-point-list button{display:grid;min-width:118px;padding:7px 9px;border:1px solid var(--mud-palette-lines-default);border-radius:10px;color:var(--mud-palette-text-primary);background:var(--mud-palette-surface);text-align:left}.training-chart-point-list button.active{border-color:var(--mud-palette-primary);background:color-mix(in srgb,var(--mud-palette-primary) 12%,var(--mud-palette-surface))}.training-chart-point-list span{font-size:.68rem;color:var(--mud-palette-text-secondary)}
@media(max-width:700px){.training-chart-feedback{grid-template-columns:1fr}.training-progress-chart{padding:12px}.settings-tabs{border-radius:13px}}
@media(max-width:800px) {
  .auth-stage { width:min(520px,calc(100% - 28px)); min-height:0; grid-template-columns:1fr; gap:28px; padding:30px 0 80px; }
  .auth-intro { text-align:center; }
  .auth-intro h1 { font-size:clamp(3rem,14vw,5rem); }
  .auth-intro p { margin:auto; }
  .auth-card { box-sizing:border-box; }
  .theme-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-manage-grid { grid-template-columns:1fr; }
  .account-manage-grid>aside { border-right:0; border-bottom:1px solid var(--ui-border); }
  .account-manage-page .nav { display:flex; overflow-x:auto; padding-bottom:3px; }
  .account-manage-page .nav-item { flex:0 0 auto; }
}
@media(max-width:520px) {
  .content-shell { padding-top:84px; padding-bottom:30px; }
  .future-appbar { margin:7px!important; }
  .auth-brandbar { padding:18px; }
  .auth-stage { padding-top:10px; }
  .auth-intro p { display:none; }
  .auth-card { padding:22px 18px; border-radius:20px; }
  .theme-gallery { grid-template-columns:1fr; }
  .admin-tabs .mud-tabs-panels,.admin-tabs .admin-panel-inset { padding:18px 14px!important; }
  .admin-setting-fields { grid-template-columns:1fr; }
  .state-page { min-height:340px; margin-top:3vh; }
}
@media(prefers-color-scheme:light) {
  .auth-shell { --mud-palette-background:#F4F5FA; --mud-palette-surface:#FFFFFF; --mud-palette-primary:#6558C7; --mud-palette-primary-contrasttext:#FFFFFF; --mud-palette-secondary:#3179A8; --mud-palette-text-primary:#171925; --mud-palette-text-secondary:#5D6372; --mud-palette-lines-default:#D8DBE5; --ui-border:rgba(74,80,104,.20); color:var(--mud-palette-text-primary); background:radial-gradient(circle at 72% 8%,rgba(101,88,199,.12),transparent 31%),linear-gradient(145deg,#F8F8FC,#F1F3F8 52%,#F7F8FC); }
  .auth-shell .ambient-field { opacity:.55; }
  .auth-shell .auth-eyebrow,.auth-shell .auth-form-kicker { color:#5547B8; }
  .auth-shell .auth-card { border-color:rgba(74,80,104,.16); background:rgba(255,255,255,.88); box-shadow:0 28px 80px rgba(37,41,62,.13); }
  .auth-shell .auth-card .form-floating label,.auth-shell .auth-card .checkbox { color:#4F5565; }
  .auth-shell .auth-card .form-control { color:#171925; background:rgba(247,248,252,.92); }
  .auth-shell .auth-card .btn-primary { color:#FFFFFF!important; background:#6558C7!important; }
  .auth-shell .auth-card .btn-outline-secondary { border-color:rgba(74,80,104,.20); color:#282B38; background:rgba(255,255,255,.62); }
  .auth-shell .auth-divider,.auth-shell .auth-footer { color:#687080; }
  .auth-shell .auth-divider::before,.auth-shell .auth-divider::after,.auth-shell .auth-card hr { background:rgba(74,80,104,.15); border-color:rgba(74,80,104,.15); }
  .auth-shell .auth-card a { color:#5144B1; }
}
@media(prefers-reduced-motion:reduce) {
  .ambient-grid,.ambient-orb,.ambient-ring { animation:none!important; }
}

