:root{color-scheme:light;--brand-orange: #FF6A00;--brand-orange-deep: #DD5A00;--brand-ink: #16181D;--brand-plate: #000B10;--surface-canvas: #F5F6F8;--surface-sunken: #ECEDF1;--surface-card: #FFFFFF;--surface-muted: #F4F2EF;--surface-inverse: #16181D;--surface-overlay: rgba(22, 24, 29, .45);--text-primary: #16181D;--text-secondary: #5A6270;--text-tertiary: #636A78;--text-disabled: #9AA3B2;--text-on-accent: #16181D;--text-on-inverse: #FFFFFF;--text-on-inverse-muted: #A6AEBC;--accent: #FF6A00;--accent-hover: #DD5A00;--accent-active: #C24A00;--accent-text: #B84600;--accent-tint: #FFF4EC;--accent-wash: rgba(255, 106, 0, .055);--accent-ring: #C24A00;--success: #26A269;--success-text: #1A7A4C;--success-tint: #E3F5EC;--warning: #E0912A;--warning-text: #8A5A12;--warning-tint: #FBF0DC;--danger: #DC4B4B;--danger-text: #C0392F;--danger-tint: #FBE7E5;--neutral: #8B93A2;--neutral-text: #5A6270;--neutral-tint: #EDEFF3;--state-confident: #1A7A4C;--state-confident-tint: #E3F5EC;--state-close: #8A5A12;--state-close-tint: #FBF0DC;--state-struggling: #C0392F;--state-struggling-tint: #FBE7E5;--attend-present-bg: #EDEFF3;--attend-present-fg: #5A6270;--attend-late-bg: #FBF0DC;--attend-late-fg: #8A5A12;--attend-absent-bg: #FBE7E5;--attend-absent-fg: #C0392F;--attend-excused-bg: #EDEFF3;--attend-excused-fg: #636A78;--attend-none-bg: transparent;--attend-none-fg: #636A78;--border-hairline: rgba(22, 24, 29, .08);--border-divider: rgba(22, 24, 29, .06);--border-card: rgba(22, 24, 29, .1);--border-control: #767E8F;--border-bevel: rgba(255, 255, 255, .7);--shadow-none: none;--shadow-card: 0 1px 2px rgba(22, 24, 29, .06);--shadow-raised: 0 2px 8px rgba(22, 24, 29, .1);--shadow-sheet: 0 -2px 16px rgba(22, 24, 29, .12);--shadow-modal: 0 20px 60px rgba(22, 24, 29, .24);--shadow-inset: inset 0 1px 2px rgba(22, 24, 29, .05);--logo-plate: #000B10;--logo-keyline: #FF6A00;--logo-monogram: #FFFFFF;--logo-wordmark: #FF6A00}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-canvas: #0F1115;--surface-sunken: #14161C;--surface-card: #1B1E24;--surface-muted: #23262E;--surface-inverse: #16181D;--surface-overlay: rgba(0, 0, 0, .6);--text-primary: #F2F4F7;--text-secondary: #A6AEBC;--text-tertiary: #8B93A2;--text-disabled: #646B79;--text-on-accent: #16181D;--text-on-inverse: #FFFFFF;--text-on-inverse-muted: #A6AEBC;--accent: #FF6A00;--accent-hover: #FF8A3D;--accent-active: #DD5A00;--accent-text: #FF8A3D;--accent-tint: #2C1B0E;--accent-wash: rgba(255, 106, 0, .08);--accent-ring: #FF8A3D;--success: #26A269;--success-text: #4CC38A;--success-tint: #16281F;--warning: #E0912A;--warning-text: #F0B45C;--warning-tint: #2B2115;--danger: #DC4B4B;--danger-text: #F27272;--danger-tint: #2E1B1B;--neutral: #6B7280;--neutral-text: #A6AEBC;--neutral-tint: #262A33;--state-confident: #4CC38A;--state-confident-tint: #16281F;--state-close: #F0B45C;--state-close-tint: #2B2115;--state-struggling: #F27272;--state-struggling-tint: #2E1B1B;--attend-present-bg: #262A33;--attend-present-fg: #A6AEBC;--attend-late-bg: #2B2115;--attend-late-fg: #F0B45C;--attend-absent-bg: #2E1B1B;--attend-absent-fg: #F27272;--attend-excused-bg: #262A33;--attend-excused-fg: #8B93A2;--attend-none-bg: transparent;--attend-none-fg: #8B93A2;--border-hairline: rgba(255, 255, 255, .07);--border-divider: rgba(255, 255, 255, .06);--border-card: rgba(255, 255, 255, .1);--border-control: #727A88;--border-bevel: rgba(255, 255, 255, .045);--shadow-none: none;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-raised: 0 2px 8px rgba(0, 0, 0, .45);--shadow-sheet: 0 -2px 16px rgba(0, 0, 0, .5);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .6);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--logo-plate: transparent;--logo-keyline: #FF6A00;--logo-monogram: #F2F4F7;--logo-wordmark: #FF6A00}}:root[data-theme=dark]{color-scheme:dark;--surface-canvas: #0F1115;--surface-sunken: #14161C;--surface-card: #1B1E24;--surface-muted: #23262E;--surface-inverse: #16181D;--surface-overlay: rgba(0, 0, 0, .6);--text-primary: #F2F4F7;--text-secondary: #A6AEBC;--text-tertiary: #8B93A2;--text-disabled: #646B79;--text-on-accent: #16181D;--text-on-inverse: #FFFFFF;--text-on-inverse-muted: #A6AEBC;--accent: #FF6A00;--accent-hover: #FF8A3D;--accent-active: #DD5A00;--accent-text: #FF8A3D;--accent-tint: #2C1B0E;--accent-wash: rgba(255, 106, 0, .08);--accent-ring: #FF8A3D;--success: #26A269;--success-text: #4CC38A;--success-tint: #16281F;--warning: #E0912A;--warning-text: #F0B45C;--warning-tint: #2B2115;--danger: #DC4B4B;--danger-text: #F27272;--danger-tint: #2E1B1B;--neutral: #6B7280;--neutral-text: #A6AEBC;--neutral-tint: #262A33;--state-confident: #4CC38A;--state-confident-tint: #16281F;--state-close: #F0B45C;--state-close-tint: #2B2115;--state-struggling: #F27272;--state-struggling-tint: #2E1B1B;--attend-present-bg: #262A33;--attend-present-fg: #A6AEBC;--attend-late-bg: #2B2115;--attend-late-fg: #F0B45C;--attend-absent-bg: #2E1B1B;--attend-absent-fg: #F27272;--attend-excused-bg: #262A33;--attend-excused-fg: #8B93A2;--attend-none-bg: transparent;--attend-none-fg: #8B93A2;--border-hairline: rgba(255, 255, 255, .07);--border-divider: rgba(255, 255, 255, .06);--border-card: rgba(255, 255, 255, .1);--border-control: #727A88;--border-bevel: rgba(255, 255, 255, .045);--shadow-none: none;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-raised: 0 2px 8px rgba(0, 0, 0, .45);--shadow-sheet: 0 -2px 16px rgba(0, 0, 0, .5);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .6);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--logo-plate: transparent;--logo-keyline: #FF6A00;--logo-monogram: #F2F4F7;--logo-wordmark: #FF6A00}:root{--font-display: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-numeric: var(--font-body);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--text-hero-size: 34px;--text-hero-lh: 1.05;--text-hero-ls: -.022em;--text-title-lg-size: 26px;--text-title-lg-lh: 1.15;--text-title-lg-ls: -.015em;--text-title-size: 20px;--text-title-lh: 1.2;--text-title-ls: -.01em;--text-title-sm-size: 17px;--text-title-sm-lh: 1.25;--text-title-sm-ls: -.005em;--text-body-lg-size: 16px;--text-body-lg-lh: 1.45;--text-body-size: 15px;--text-body-lh: 1.45;--text-caption-size: 13px;--text-caption-lh: 1.4;--text-label-size: 12px;--text-label-lh: 1.3;--text-overline-size: 11px;--text-overline-lh: 1.2;--text-overline-ls: .06em}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--gutter-mobile: 16px;--gutter-tablet: 24px;--gutter-desktop: 32px;--content-max: 1200px;--reading-max: 68ch;--touch-min: 44px;--touch-comfy: 48px;--control-height: 44px;--control-height-sm: 36px;--bottom-nav-height: 56px;--top-bar-height: 56px;--icon-size: 24px;--icon-size-sm: 20px;--icon-stroke: 1.75}:root{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px}:root{--duration-instant: 0ms;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--duration-max: .4s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, 0, 1);--ease-accelerate: cubic-bezier(.3, 0, 1, 1);--focus-ring: 0 0 0 3px var(--accent-ring);--z-sticky: 10;--z-nav: 20;--z-overlay: 40;--z-modal: 50;--z-toast: 60}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 1ms;--duration-base: 1ms;--duration-slow: 1ms;--duration-max: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root{--border-zone: rgba(22, 24, 29, .14);--border-hairline: rgba(22, 24, 29, .06);--surface-float: #FFFFFF;--text-secondary: #444B59}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--border-zone: rgba(255, 255, 255, .16);--border-hairline: rgba(255, 255, 255, .06);--border-card: rgba(255, 255, 255, .12);--surface-float: #262B33;--text-tertiary: #7F8798}}:root[data-theme=dark]{--border-zone: rgba(255, 255, 255, .16);--border-hairline: rgba(255, 255, 255, .06);--border-card: rgba(255, 255, 255, .12);--surface-float: #262B33;--text-tertiary: #7F8798}:root{--chrome-pill: rgba(255, 255, 255, .1);--chrome-pill-hover: rgba(255, 255, 255, .16);--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--chrome-pill: rgba(255, 255, 255, .06);--chrome-pill-hover: rgba(255, 255, 255, .1)}}:root[data-theme=dark]{--chrome-pill: rgba(255, 255, 255, .06);--chrome-pill-hover: rgba(255, 255, 255, .1)}:root{--text-table-compact: 12.5px;--text-table-normal: 13px;--text-table-spacious: 13.5px;--text-table-meta: 11.5px}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/v0.92/fonts/inter-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/v0.92/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/v0.92/fonts/inter-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/v0.92/fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/v0.92/fonts/inter-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/v0.92/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/v0.92/fonts/inter-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/v0.92/fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/v0.92/fonts/montserrat-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/v0.92/fonts/montserrat-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/v0.92/fonts/montserrat-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/v0.92/fonts/montserrat-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--shell-max: 560px;--side-nav-w: 224px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--text-body-lh);-webkit-font-smoothing:antialiased;min-height:100svh}ul,ol{list-style:none}button{font:inherit;color:inherit}a{color:var(--accent-text)}.tnum{font-variant-numeric:tabular-nums}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skiplink{position:absolute;left:-9999px;top:0;z-index:var(--z-toast);min-height:var(--touch-min);display:inline-flex;align-items:center;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);text-decoration:none}.skiplink:focus{left:var(--space-4);top:var(--space-2);background:var(--surface-card);color:var(--text-primary);padding:0 var(--space-4);border-radius:var(--radius-md);box-shadow:var(--focus-ring)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ty-hero{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-hero-size);line-height:var(--text-hero-lh);letter-spacing:var(--text-hero-ls)}.ty-title-lg{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-lg-size);line-height:var(--text-title-lg-lh);letter-spacing:var(--text-title-lg-ls)}.ty-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-size);line-height:var(--text-title-lh);letter-spacing:var(--text-title-ls)}.ty-title-sm,.card-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:var(--text-title-sm-lh);letter-spacing:var(--text-title-sm-ls)}.ty-body-lg{font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-lh)}.ty-caption,.card-sub{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--text-secondary)}.ty-label{font-size:var(--text-label-size);line-height:var(--text-label-lh);font-weight:var(--weight-semibold)}.ty-overline{font-size:var(--text-overline-size);line-height:var(--text-overline-lh);letter-spacing:var(--text-overline-ls);text-transform:uppercase;font-weight:var(--weight-bold);color:var(--text-tertiary)}.topbar{position:sticky;top:0;z-index:var(--z-nav);background:var(--surface-inverse);box-shadow:var(--shadow-raised)}.topbar-in{display:flex;align-items:center;gap:var(--space-3);min-height:var(--top-bar-height);max-width:var(--shell-max);margin:0 auto;padding:0 var(--gutter-mobile)}.logo-guard{display:flex;align-items:center;padding:13px 0;flex-shrink:0}.logo{display:block;height:26px;width:auto}.themebtn{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-3);background:#ffffff14;border:0;border-radius:var(--radius-md);color:var(--text-on-inverse-muted);font-size:var(--text-label-size);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.themebtn:hover{background:#ffffff29}.themebtn svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.shell{max-width:var(--shell-max);margin:0 auto;padding:var(--space-5) var(--gutter-mobile) calc(var(--bottom-nav-height) + var(--space-12) + env(safe-area-inset-bottom))}@media (min-width: 600px){.topbar-in,.shell{padding-left:var(--gutter-tablet);padding-right:var(--gutter-tablet)}}.screen{animation:enter var(--duration-base) var(--ease-decelerate) both}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-head{padding-bottom:var(--space-5)}.screen-sub{font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:var(--space-1)}.block{padding-bottom:var(--space-6)}.block>.ty-overline{padding-bottom:var(--space-2);display:block}.block-head{display:flex;align-items:baseline;gap:var(--space-2);padding-bottom:var(--space-2)}.block-head .ty-overline{flex:1;min-width:0}.mainnav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);background:var(--surface-inverse);box-shadow:var(--shadow-sheet);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}.mainnav-in{display:flex;max-width:var(--shell-max);margin:0 auto}.mainnav button{flex:1;min-height:var(--touch-comfy);background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:var(--space-2) 0;position:relative;color:var(--text-on-inverse-muted);font-size:var(--text-overline-size);font-weight:var(--weight-semibold);transition:color var(--duration-fast) var(--ease-standard)}.mainnav button svg{width:var(--icon-size);height:var(--icon-size)}.mainnav button[aria-current=page]{color:var(--accent)}.mainnav .ndot{position:absolute;top:6px;right:calc(50% - 18px)}.card{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.card+.card{margin-top:var(--space-3)}.card.railed{position:relative;padding-left:var(--space-5);overflow:hidden}.card.railed:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.card.railed.ok:before{background:var(--success)}.card.railed.warn:before{background:var(--warning)}.card.railed.crit:before{background:var(--danger)}.card.railed.acc:before{background:var(--accent)}.card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-4)}.card-title+.card-sub{padding-top:2px}.badges{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-label-size);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);padding:5px var(--space-3);white-space:nowrap}.badge svg{width:14px;height:14px;flex-shrink:0}.badge.ok{background:var(--success-tint);color:var(--success-text)}.badge.warn{background:var(--warning-tint);color:var(--warning-text)}.badge.crit{background:var(--danger-tint);color:var(--danger-text)}.badge.acc{background:var(--accent-tint);color:var(--accent-text)}.badge.neu{background:var(--neutral-tint);color:var(--neutral-text)}.btn{font-size:var(--text-body-size);font-weight:var(--weight-semibold);min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.btn svg{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0}a.btn{text-decoration:none}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);color:var(--text-on-inverse)}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-control)}.btn-secondary:hover{background:var(--surface-muted)}.btn-ghost{background:transparent;color:var(--accent-text);padding:0 var(--space-3)}.btn-ghost,.btn-block{white-space:normal;max-width:100%;padding-top:var(--space-2);padding-bottom:var(--space-2)}.btn-ghost:hover{background:var(--accent-tint)}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{background:var(--neutral-tint);color:var(--text-disabled);border-color:transparent;cursor:not-allowed}.rowbtn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:var(--space-2) 0;background:transparent;border:0;text-align:left;cursor:pointer;border-bottom:1px solid var(--border-hairline)}.rowbtn:last-child{border-bottom:0}.rowbtn:hover{background:var(--accent-wash)}.chev{width:var(--icon-size-sm);height:var(--icon-size-sm);color:var(--text-tertiary);flex-shrink:0}.rowbtn .rb-main{flex:1;min-width:0}.rowbtn .rb-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowbtn .rb-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.counter{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font-size:var(--text-label-size);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.np-top{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.np-till{font-size:var(--text-caption-size);color:var(--text-secondary)}.np-title{padding-top:var(--space-2)}.today-list{padding-top:var(--space-1)}.lesson{display:flex;gap:var(--space-3);align-items:flex-start;min-height:var(--touch-min);padding:var(--space-2) 0;border-bottom:1px solid var(--border-hairline)}.lesson:last-child{border-bottom:0}.lesson .l-time{flex:0 0 46px;font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding-top:2px}.lesson .l-main{flex:1;min-width:0}.lesson .l-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-medium)}.lesson .l-meta{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}.lesson.past .l-name,.lesson.past .l-time{color:var(--text-disabled)}.lesson.now .l-name{font-weight:var(--weight-semibold)}.lesson .l-flag{margin-top:var(--space-1)}.collapsed .l-meta,.collapsed .l-flag{display:none}.collapsed .lesson{min-height:36px}.newslist li{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) 0;border-bottom:1px solid var(--border-hairline)}.newslist li:last-child{border-bottom:0}.g-mark{width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-title-sm-size);flex-shrink:0}.g-mark.m5,.g-mark.m4{background:var(--success-tint);color:var(--success-text)}.g-mark.m3{background:var(--warning-tint);color:var(--warning-text)}.g-mark.m2{background:var(--danger-tint);color:var(--danger-text)}.g-mark.mn{background:var(--neutral-tint);color:var(--text-secondary)}.g-mark.ico svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.n-main{flex:1;min-width:0}.n-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.n-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}li.read .dot{visibility:hidden}.empty{text-align:center;padding:var(--space-10) var(--space-4);border:1px dashed var(--border-control);border-radius:var(--radius-lg);background:var(--surface-card)}.empty svg{width:40px;height:40px;color:var(--text-tertiary);margin-bottom:var(--space-3)}.empty h2{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);padding-bottom:var(--space-2)}.empty p{color:var(--text-secondary);font-size:var(--text-caption-size);max-width:36ch;margin:0 auto var(--space-5)}.empty p:last-child{margin-bottom:0}.skel{display:block;border-radius:var(--radius-sm);background:var(--neutral-tint);height:1em;animation:skel-in var(--duration-base) var(--ease-standard) .2s both,skel-pulse 1.4s var(--ease-standard) .2s infinite}.skel+.skel{margin-top:var(--space-2)}.skel.h-hero{height:34px;width:40%}.skel.h-title{height:20px;width:70%}.skel.h-line{height:13px;width:100%}.skel.h-line.short{width:55%}@keyframes skel-in{0%{opacity:0}to{opacity:1}}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--surface-overlay)}.scrim[data-state=open]{animation:scrim-in var(--duration-base) var(--ease-standard)}.scrim[data-state=closed]{animation:scrim-out var(--duration-base) var(--ease-standard);pointer-events:none}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);max-width:var(--shell-max);margin:0 auto;background:var(--surface-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid var(--border-card);box-shadow:var(--shadow-modal);max-height:88svh;display:flex;flex-direction:column}.sheet[data-state=open]{animation:sheet-in var(--duration-slow) var(--ease-standard)}.sheet[data-state=closed]{animation:sheet-out var(--duration-slow) var(--ease-standard)}@keyframes sheet-in{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(101%)}}.sheet-grip{width:40px;height:4px;border-radius:var(--radius-xs);background:var(--border-control);margin:var(--space-3) auto var(--space-1)}.sheet-head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-3)}.sheet-head h2{flex:1;min-width:0;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-size);line-height:var(--text-title-lh);letter-spacing:var(--text-title-ls)}.sheet-close{width:var(--touch-min);height:var(--touch-min);flex-shrink:0;margin:-10px -10px 0 0;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer}.sheet-close:hover{background:var(--neutral-tint);color:var(--text-primary)}.sheet-close svg{width:var(--icon-size);height:var(--icon-size)}.sheet-body{padding:0 var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-body>*+*{margin-top:var(--space-4)}.sheet-body p{font-size:var(--text-body-size);color:var(--text-secondary);max-width:var(--reading-max)}.sheet-body p strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.sheet-body .steps{counter-reset:s}.sheet-body .steps li{position:relative;padding:0 0 var(--space-3) var(--space-8);font-size:var(--text-body-size);color:var(--text-secondary)}.sheet-body .steps li:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--neutral-tint);color:var(--text-secondary);display:grid;place-items:center;font-size:var(--text-label-size);font-weight:var(--weight-bold)}.toast{position:fixed;left:var(--space-4);right:var(--space-4);bottom:calc(var(--bottom-nav-height) + var(--space-4) + env(safe-area-inset-bottom));z-index:var(--z-toast);max-width:calc(var(--shell-max) - var(--space-8));margin:0 auto;background:var(--surface-inverse);color:var(--text-on-inverse);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-caption-size);line-height:var(--text-caption-lh);box-shadow:var(--shadow-modal);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.toast.on{opacity:1;transform:none}.toast{display:flex;align-items:center;gap:var(--space-3)}.toast span{flex:1}.toast .t-undo{border:0;background:none;color:var(--accent-hover);font-weight:700;cursor:pointer;font-size:inherit;white-space:nowrap;padding:0}.footnote{font-size:var(--text-label-size);color:var(--text-tertiary);padding-top:var(--space-2);max-width:var(--reading-max)}.subbar{display:flex;align-items:center;padding-bottom:var(--space-2);margin-left:calc(var(--space-3) * -1)}.backbtn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-min);padding:0 var(--space-3);background:transparent;border:0;border-radius:var(--radius-md);color:var(--accent-text);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);cursor:pointer}.backbtn:hover{background:var(--accent-tint)}.backbtn svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.notice{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--neutral-tint);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.notice svg{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0;color:var(--text-secondary);margin-top:1px}.notice p{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--text-secondary)}.notice b{display:block;color:var(--text-primary);font-weight:var(--weight-semibold)}.kv{display:grid;gap:var(--space-3)}.kv>div{display:flex;gap:var(--space-3);align-items:baseline}.kv dt{flex:0 0 40%;font-size:var(--text-caption-size);color:var(--text-tertiary)}.kv dd{flex:1;min-width:0;font-size:var(--text-body-size);font-weight:var(--weight-medium);overflow-wrap:anywhere}.field{display:block;padding-bottom:var(--space-4)}.field-label{display:block;font-size:var(--text-label-size);line-height:var(--text-label-lh);font-weight:var(--weight-semibold);color:var(--text-secondary);padding-bottom:var(--space-2)}.field-ctrl{position:relative;display:flex}.input{width:100%;min-height:var(--control-height);padding:0 var(--space-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-control);border-radius:var(--radius-md);font-family:var(--font-body);font-size:16px;line-height:1.4;transition:border-color var(--duration-fast) var(--ease-standard)}.input::-moz-placeholder{color:var(--text-disabled)}.input::placeholder{color:var(--text-disabled)}.input:focus-visible{border-color:var(--accent-ring)}.input:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.input.has-suffix{padding-right:calc(var(--touch-min) + var(--space-1))}.input-suffix{position:absolute;right:0;top:0;width:var(--touch-min);height:100%;min-height:var(--control-height);display:grid;place-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer}.input-suffix:hover{color:var(--text-primary)}.input-suffix svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.field-hint{font-size:var(--text-label-size);color:var(--text-tertiary);padding-top:var(--space-2)}.consent{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) 0 var(--space-4);cursor:pointer}.consent input{width:20px;height:20px;flex-shrink:0;margin-top:1px;accent-color:var(--accent);cursor:pointer}.consent span{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--text-secondary)}.consent a{font-weight:var(--weight-semibold)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-caption-size);line-height:var(--text-caption-lh)}.alert.crit{background:var(--danger-tint);color:var(--danger-text)}.alert svg{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0;margin-top:1px}.auth-wrap{min-height:100svh;display:grid;place-items:center;padding:var(--space-6) var(--gutter-mobile) calc(var(--space-10) + env(safe-area-inset-bottom));background:var(--surface-canvas)}.auth-card{width:100%;max-width:400px}.auth-logo{display:flex;justify-content:center;padding-bottom:var(--space-6)}.auth-logo svg{height:34px;width:auto}.auth-title{padding-bottom:var(--space-2)}.auth-lede{font-size:var(--text-caption-size);color:var(--text-secondary);padding-bottom:var(--space-5)}.auth-foot{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--border-card);font-size:var(--text-label-size);line-height:1.4;color:var(--text-tertiary)}.auth-foot svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}.seg{display:flex;gap:var(--space-2)}.seg label{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:0 var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-md);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);text-align:center;cursor:pointer}.seg input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg label.on{background:var(--accent-tint);border-color:var(--accent-ring);color:var(--accent-text)}.seg label:focus-within{box-shadow:var(--focus-ring)}.profile{display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-5)}.ava{width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--surface-inverse);color:var(--text-on-inverse);font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-title-size);border:2px solid var(--accent)}.profile .p-main{min-width:0}.profile .p-name{display:block;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-size);line-height:var(--text-title-lh)}.profile .p-sub{display:block;font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:2px}.install-tip{padding-top:var(--space-2)}.state-pill{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;border-radius:var(--radius-pill);padding:6px var(--space-3);font-weight:var(--weight-semibold);font-size:var(--text-caption-size);white-space:nowrap}.state-pill.confident{background:var(--state-confident-tint);color:var(--state-confident)}.state-pill.close{background:var(--neutral-tint);color:var(--neutral-text)}.state-pill.struggling{background:var(--state-close-tint);color:var(--state-close)}.state-pill.overdue{background:var(--state-struggling-tint);color:var(--state-struggling)}.stateline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.st-ok{color:var(--state-confident)}.st-risk{color:var(--state-close)}.st-behind{color:var(--state-struggling)}.state-why{padding-top:var(--space-2);font-size:var(--text-body-lg-size);line-height:1.4;max-width:var(--reading-max)}.state-why b{font-weight:var(--weight-semibold)}.avg{font-size:var(--text-caption-size);color:var(--text-tertiary);font-variant-numeric:tabular-nums;padding-top:var(--space-3)}.heat-wrap{padding-top:var(--space-3)}.heat-dow,.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.heat-dow span{text-align:center;font-size:var(--text-label-size);font-weight:var(--weight-semibold);color:var(--text-tertiary);padding-bottom:var(--space-1)}.heat-cell{aspect-ratio:1;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:11px;font-weight:var(--weight-bold);line-height:1;background:var(--attend-none-bg);color:var(--attend-none-fg);border:1px solid var(--border-hairline)}.heat-cell.present{background:var(--attend-present-bg);color:var(--attend-present-fg);border-color:var(--border-control)}.heat-cell.present:after{content:"✓"}.heat-cell.late{background:var(--attend-late-bg);color:var(--attend-late-fg);border-color:transparent}.heat-cell.absent{background:var(--attend-absent-bg);color:var(--attend-absent-fg);border-color:transparent}.heat-cell.excused{background:var(--attend-excused-bg);color:var(--attend-excused-fg);border-color:transparent}.heat-cell.blank{border-color:transparent}.heat-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-3);font-size:var(--text-label-size);color:var(--text-secondary)}.heat-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.heat-key{width:18px;height:18px;border-radius:var(--radius-xs);display:grid;place-items:center;font-size:11px;font-weight:var(--weight-bold);line-height:1;font-style:normal}.subj{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-comfy);padding:var(--space-2) 0;background:transparent;border:0;border-bottom:1px solid var(--border-hairline);text-align:left;cursor:pointer}.subj:last-of-type{border-bottom:0}.subj:hover{background:var(--accent-wash)}.subj .s-main{flex:1;min-width:0}.subj .s-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary)}.subj .s-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subj .s-flags{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-top:6px}.subj .s-flags .s-sub{white-space:normal}.subj.wrapsub .s-sub{white-space:normal;overflow:visible;text-overflow:clip}.subj .s-risk{font-size:var(--text-label-size);line-height:1.35;font-weight:var(--weight-semibold);color:var(--warning-text);white-space:normal}.subj .s-risk.over{color:var(--danger-text)}.hours{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.hours .of{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-size);color:var(--text-secondary)}.progress{height:8px;border-radius:var(--radius-xs);background:var(--neutral-tint);overflow:hidden;margin-top:var(--space-3)}.progress i{display:block;height:100%;background:var(--success);border-radius:var(--radius-xs)}.work{padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.work:first-of-type{padding-top:0}.work:last-of-type{border-bottom:0;padding-bottom:0}.work .w-name{font-size:var(--text-body-lg-size);font-weight:var(--weight-semibold);line-height:1.35}.work .w-sub{font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:var(--space-1)}.work .w-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-3)}.skills li{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) 0;border-bottom:1px solid var(--border-hairline)}.skills li:last-child{border-bottom:0}.skills .sk-ico{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0;margin-top:3px}.skills .ok .sk-ico{color:var(--success-text)}.skills .pending .sk-ico{color:var(--text-tertiary)}.skills .sk-name{font-size:var(--text-body-size);font-weight:var(--weight-medium)}.skills .sk-sub{font-size:var(--text-caption-size);color:var(--text-tertiary)}.skills .pending .sk-name{color:var(--text-secondary)}.marks li{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) 0;border-bottom:1px solid var(--border-hairline)}.marks li:last-child{border-bottom:0}.marks .m-main{flex:1;min-width:0;font-size:var(--text-caption-size);color:var(--text-secondary)}.marks .m-main b{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary)}.choice{display:block;padding:var(--space-1) 0}.choice label{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-md);cursor:pointer}.choice label+label{margin-top:var(--space-2)}.choice label:focus-within{box-shadow:var(--focus-ring)}.choice input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}.choice .c-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-medium)}.choice .c-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}.weekbar{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3)}.weekbar .wb-label{flex:1;min-width:0;text-align:center}.wb-label b{display:block;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:1.2}.wb-label span{display:block;font-size:var(--text-label-size);color:var(--text-tertiary);padding-top:2px}.iconbtn{width:var(--touch-min);height:var(--touch-min);flex-shrink:0;display:grid;place-items:center;background:var(--surface-card);border:1px solid var(--border-control);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer}.iconbtn:hover{background:var(--surface-muted)}.iconbtn svg{width:var(--icon-size);height:var(--icon-size)}.iconbtn:disabled{color:var(--text-disabled);border-color:var(--border-card);cursor:not-allowed;background:transparent}.day+.day{margin-top:var(--space-3)}.day-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--border-divider)}.day-head h3{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:var(--text-title-sm-lh)}.day-head .d-meta{font-size:var(--text-label-size);color:var(--text-tertiary);margin-left:auto}.day-note{font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:var(--space-2)}.rec{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.rec:first-child{padding-top:0}.rec:last-child{border-bottom:0;padding-bottom:0}.rec-main{flex:1;min-width:0}.rec-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.rec-meta{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}.g-mark.wide{width:auto;min-width:34px;padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-label-size);text-align:center}.rec.rec-head,.pay.rec-head{display:none}.rec-head>span{font-size:var(--text-overline-size);line-height:var(--text-overline-lh);letter-spacing:var(--text-overline-ls);text-transform:uppercase;font-weight:var(--weight-bold);color:var(--text-tertiary)}.pay{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.pay:first-child{padding-top:0}.pay:last-child{border-bottom:0;padding-bottom:0}.pay-main{flex:1;min-width:0}.pay-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.pay-meta{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}.pay-sum{flex-shrink:0;font-size:var(--text-body-size);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-align:right}.pay.done .pay-name,.pay.done .pay-sum{color:var(--text-secondary);font-weight:var(--weight-medium)}.pay-flag{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2)}.pay-flag:empty{display:none}.kv dd a{font-weight:var(--weight-semibold);text-decoration:none}.deskonly{display:none}.filters{display:flex;gap:var(--space-2);padding-bottom:var(--space-3);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filters::-webkit-scrollbar{display:none}.fchip{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;min-height:var(--touch-min);padding:0 var(--space-4);background:var(--surface-card);color:var(--text-secondary);border:1px solid var(--border-control);border-radius:var(--radius-pill);font-size:var(--text-caption-size);font-weight:var(--weight-semibold);cursor:pointer}.fchip:hover{background:var(--surface-muted)}.fchip b{font-variant-numeric:tabular-nums;font-size:var(--text-label-size);font-weight:var(--weight-bold);color:var(--text-tertiary)}.fchip.on{background:var(--accent-tint);border-color:var(--accent-ring);color:var(--accent-text)}.fchip.on b{color:var(--accent-text)}.searchrow{padding-bottom:var(--space-3)}.searchrow .field-ctrl{max-width:460px}.searchrow .input-suffix{color:var(--text-secondary)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:var(--space-2);padding-bottom:var(--space-4)}.stat{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.stat dt{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--text-tertiary);font-weight:var(--weight-semibold)}.stat dd{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-size);line-height:var(--text-title-lh);padding-top:2px}.stat.ok dd{color:var(--success-text)}.stat.warn dd{color:var(--warning-text)}.stat.crit dd{color:var(--danger-text)}.loadmore{padding-top:var(--space-3)}.loadmore .footnote{padding-top:var(--space-2);text-align:center}.wrow{display:block;width:100%;text-align:left;padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline);background:transparent;border-left:0;border-right:0;border-top:0;min-height:var(--touch-comfy);color:inherit}.wrow:last-child{border-bottom:0}.wrow.act{cursor:pointer}.wrow.act:hover{background:var(--accent-wash)}.wrow.act:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.wr-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.wr-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary)}.wr-meta{display:block;font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:2px}.wr-meta:empty{display:none}.wr-flags{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2)}.wr-flags:empty{display:none}.wr-amount{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);padding-top:var(--space-1)}.wr-amount:empty{display:none}.wrow.wr-head{display:none}.wr-head>span{font-size:var(--text-overline-size);line-height:var(--text-overline-lh);letter-spacing:var(--text-overline-ls);text-transform:uppercase;font-weight:var(--weight-bold);color:var(--text-tertiary)}.qbody{font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--text-secondary);max-width:var(--reading-max);padding-top:var(--space-2);overflow-wrap:anywhere}.actbar{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4)}.actbar .btn{flex:1 1 auto;min-width:148px}.childbar{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-comfy);width:100%;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);text-align:left;color:inherit}button.childbar{cursor:pointer}button.childbar:hover{background:var(--surface-muted)}.childbar .cb-main{flex:1;min-width:0}.childbar .cb-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.childbar .cb-sub{display:block;font-size:var(--text-caption-size);color:var(--text-secondary)}.childbar .ava{width:36px;height:36px;font-size:var(--text-label-size)}.form2{display:grid;gap:0 var(--space-4)}@media (min-width: 600px){.form2{grid-template-columns:1fr 1fr}}@media (min-width: 600px){.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5);align-items:start}.cols2>.block{padding-bottom:0}.cols2>.blk-wide{grid-column:1 / -1}}@media (min-width: 1024px){:root{--shell-max: 1160px}.topbar{margin-left:calc(var(--side-nav-w) * -1)}.topbar-in{max-width:none;padding-left:var(--gutter-desktop);padding-right:var(--gutter-desktop)}.shell{padding:var(--space-8) var(--gutter-desktop) var(--space-16)}body.has-nav{padding-left:var(--side-nav-w)}.mainnav{top:var(--top-bar-height);right:auto;width:var(--side-nav-w);border-radius:0;box-shadow:none;border-right:1px solid var(--border-card);padding:var(--space-4) 0}.mainnav-in{flex-direction:column;max-width:none;gap:2px}.mainnav button{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:var(--space-3);min-height:var(--touch-comfy);padding:0 var(--space-5);font-size:var(--text-body-size);letter-spacing:0;text-transform:none}.mainnav button:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:transparent}.mainnav button[aria-current=page]:before{background:var(--accent)}.mainnav .ndot{position:static;margin-left:auto;order:3}.sheet{max-width:520px;right:var(--space-8);left:auto;margin:0}.toast{left:auto;right:var(--space-8);margin:0;bottom:var(--space-8);width:360px}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}.cols2>.block{padding-bottom:0}.cols2>.blk-wide{grid-column:1 / -1}.today-grid{display:grid;gap:var(--space-6) var(--space-5);align-items:start;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"next todo" "day new"}.today-grid .block{padding-bottom:0}.b-next{grid-area:next}.b-todo{grid-area:todo}.b-new{grid-area:new}.b-day{grid-area:day}.screen>.block,.screen>.profile{max-width:860px}.card-sub,.day-note,.footnote,.state-why,.screen-sub{max-width:var(--reading-max)}.deskonly{display:revert}.mobonly{display:none}.b-attend{order:3;grid-column:1 / -1}.b-subj{order:2}.b-state{order:1}.wk-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:var(--space-3);align-items:start}.wk-body .day+.day{margin-top:0}.wk-body .card.day{padding:var(--space-3)}.wk-body .lesson{padding:var(--space-1) 0;min-height:0}.wk-body .l-time{flex:0 0 42px}.weekbar{max-width:420px}.rec-table .rec{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) 108px;gap:var(--space-3);align-items:center}.rec-table .rec-main{display:contents}.rec-table .rec-head{display:grid;padding:0 0 var(--space-2);border-bottom:1px solid var(--border-card)}.rec-table .g-mark.wide{justify-self:start}.pay-table .pay{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.9fr) minmax(0,130px) 130px;gap:var(--space-3);align-items:center}.pay-table .pay-main{display:contents}.pay-table .pay-flag{padding-top:0}.pay-table .pay-flag:empty{display:block}.pay-table .pay.rec-head{padding:0 0 var(--space-2);border-bottom:1px solid var(--border-card)}.at-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:var(--space-6) var(--space-5);align-items:start}.at-body>.block{padding-bottom:0}.heat-mname{display:block;font-size:var(--text-label-size);font-weight:var(--weight-semibold);color:var(--text-tertiary);padding-bottom:var(--space-2)}}@media (min-width: 1440px){.screen:has(>.profile) .cols2{grid-template-columns:repeat(3,minmax(0,1fr))}.today-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"next todo new" "day todo new"}}@media (hover: hover) and (pointer: fine){.rec-table .rec:not(.rec-head):hover,.pay-table .pay:not(.rec-head):hover,.at-body .rec:hover,.newslist li:hover,.marks li:hover{background:var(--accent-wash)}.heat-cell[title]:hover{position:relative;z-index:1;box-shadow:0 0 0 2px var(--accent-ring)}.wk-body .card.day:hover{box-shadow:var(--shadow-raised)}.lesson:hover .l-meta{color:var(--text-secondary)}.work:hover .w-name,.skills li:hover .sk-name{color:var(--accent-text)}}:root[data-density=compact]{--row-h: 32px;--cell-px: 10px;--table-fs: 12.5px;--ctl-h: 28px}:root[data-density=normal]{--row-h: 36px;--cell-px: 12px;--table-fs: 13px;--ctl-h: 32px}:root[data-density=spacious]{--row-h: 44px;--cell-px: 16px;--table-fs: 13.5px;--ctl-h: 36px}:root:not([data-density]){--row-h: 32px;--cell-px: 10px;--table-fs: 12.5px;--ctl-h: 28px}.densitysw{display:inline-flex;background:var(--surface-muted);border-radius:var(--radius-md);padding:2px;gap:2px}.densitysw button{border:0;background:transparent;cursor:pointer;color:var(--text-secondary);font-size:12px;padding:4px 9px;border-radius:6px;white-space:nowrap}.densitysw button[aria-pressed=true]{background:var(--surface-card);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-card)}.dr-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-2)}.dr-head .f-spacer{flex:1}.dr-link{border:1px solid var(--border-control);background:var(--surface-card);border-radius:var(--radius-md);height:var(--ctl-h);padding:0 10px;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.dr-link:hover{background:var(--surface-muted)}.table-zone{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.table-wrap{overflow:auto;overscroll-behavior:contain;max-height:min(72vh,900px);background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0}table.data{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--table-fs)}@media (max-width: 599px){table.data{width:100%}}table.data th{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface-card);text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:0;height:34px;border-bottom:1px solid var(--border-card);box-shadow:0 1px 0 var(--border-hairline);-webkit-user-select:none;-moz-user-select:none;user-select:none}table.data th .th-in{display:flex;align-items:center;gap:4px;height:34px;padding:0 var(--cell-px);position:relative;min-width:0}table.data th button.sortbtn{border:0;background:none;cursor:pointer;display:flex;align-items:center;gap:4px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;padding:2px 4px;margin:0 -4px;border-radius:4px;min-width:0;overflow:hidden}table.data th>span.lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}table.data th button.sortbtn:hover{color:var(--text-primary)}table.data th button.sortbtn:focus-visible{box-shadow:var(--focus-ring)}table.data th button.sortbtn .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.data th .arr{font-size:10px;line-height:1;flex:0 0 auto}table.data th[aria-sort] button.sortbtn{color:var(--text-primary)}table.data th.num .th-in{justify-content:flex-end}.col-resize{position:absolute;right:-4px;top:0;bottom:0;width:9px;cursor:col-resize;z-index:2;touch-action:none}.col-resize:after{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--border-card)}.col-resize:hover:after{background:var(--accent);width:2px}table.data th .colfilter{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:2px;border:0;background:transparent;cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius-xs);line-height:0}table.data th .colfilter svg{width:14px;height:14px}table.data th .colfilter:hover{color:var(--text-primary)}table.data th .colfilter:focus-visible{box-shadow:var(--focus-ring)}table.data th .colfilter.on{color:var(--accent)}table.data th .colfilter-n{font-size:10px;font-weight:var(--weight-semibold);line-height:1;font-variant-numeric:tabular-nums}.colfilter-pop{z-index:60;width:min(260px,calc(100vw - 24px));display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-card);box-shadow:var(--shadow-modal)}.colfilter-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.colfilter-list{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.colfilter-opt{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:2px 0;cursor:pointer;font-size:var(--text-body-size)}.colfilter-opt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colfilter-range{display:flex;gap:var(--space-2)}.colfilter-range label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.colfilter-head .linkbtn{border:0;background:transparent;padding:0;cursor:pointer;color:var(--accent);font-size:var(--text-caption-size)}.colfilter-head .linkbtn:hover{text-decoration:underline}table.data td{height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--border-divider);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}table.data td.num,table.data th.num{text-align:right}table.data td.num{font-variant-numeric:tabular-nums}table.data tbody tr{cursor:pointer}table.data tbody tr:hover td{background:var(--surface-muted)}table.data tbody tr:focus-visible{outline:none}table.data tbody tr:focus-visible td{box-shadow:inset 0 2px 0 var(--accent-ring),inset 0 -2px 0 var(--accent-ring)}table.data tbody tr:focus-visible td:first-child{box-shadow:inset 2px 2px 0 var(--accent-ring),inset 0 -2px 0 var(--accent-ring)}table.data tbody tr:focus-visible td:last-child{box-shadow:inset -2px 2px 0 var(--accent-ring),inset 0 -2px 0 var(--accent-ring)}table.data tbody tr[aria-selected=true] td{background:var(--accent-wash)}table.data tbody tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--accent)}table.data td .t-name{font-weight:500;color:var(--text-primary)}table.data td .t-sub{display:block;font-size:11px;color:var(--text-tertiary);line-height:1.1;margin-top:-1px;overflow:hidden;text-overflow:ellipsis}:root[data-density=compact] table.data td .t-sub{display:none}td.chk,th.chk{width:36px;text-align:center;padding:0 6px}td.chk input,th.chk input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;display:block;margin:0 auto}.days-late{color:var(--danger-text);font-weight:600}.days-warn{color:var(--warning-text);font-weight:600}.table-foot{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface-card);border:1px solid var(--border-card);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:12.5px;color:var(--text-secondary)}.table-foot .pages{margin-left:auto;display:flex;gap:4px;align-items:center}.table-foot .pages button{min-width:26px;height:26px;border:1px solid var(--border-hairline);background:var(--surface-card);border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.table-foot .pages button[aria-current=page]{background:var(--surface-inverse);color:var(--text-on-inverse);border-color:var(--surface-inverse);font-weight:600}.table-foot .pages button:hover:not([aria-current]){background:var(--surface-muted)}.table-foot .pages button[disabled]{opacity:.4;cursor:default}.keybar{display:flex;gap:14px;align-items:center;padding:6px 4px 2px;font-size:11.5px;color:var(--text-tertiary);flex-wrap:wrap}.keybar span{display:inline-flex;gap:5px;align-items:center;white-space:nowrap}.sk-row{display:flex;align-items:center;gap:16px;height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--border-divider)}.sk-row .skel{margin-top:0}.detail-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:transparent;cursor:default}.detail{position:fixed;top:var(--top-bar-height);right:0;bottom:0;z-index:30;background:var(--surface-card);border-left:1px solid var(--border-card);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;max-width:100vw}.detail-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-divider);flex:0 0 auto}.detail-head h2{font-family:var(--font-display);font-weight:600;font-size:15px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-head .dh-nav{display:flex;gap:4px}.detail-head .dh-pos{font-size:11.5px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.detail-body{flex:1;overflow-y:auto;padding:16px}.detail-foot{border-top:1px solid var(--border-divider);padding:12px 16px;display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}.staff-iconbtn{display:inline-grid;place-items:center;width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;color:var(--text-secondary)}.staff-iconbtn:hover{background:var(--surface-muted)}.staff-iconbtn:disabled{opacity:.4;cursor:default}.staff-iconbtn svg{width:18px;height:18px}@media (max-width: 599px){.detail{top:0;left:0;width:100%!important}}.d-sec{margin:0 0 16px}.d-sec h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 8px;font-weight:600}.d-kv{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:13px;margin:0 0 16px}.d-kv dt{color:var(--text-secondary);margin:0}.d-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.d-card{background:var(--surface-muted);border-radius:var(--radius-md);padding:12px;font-size:13px;margin:0 0 16px}.d-msg{background:var(--surface-muted);border-radius:var(--radius-md);padding:12px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}.d-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:0 0 16px}.d-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:4px 8px;border-bottom:1px solid var(--border-card);font-weight:600}.d-table td{padding:6px 8px;border-bottom:1px solid var(--border-divider);vertical-align:top}.d-table td.num,.d-table th.num{text-align:right;font-variant-numeric:tabular-nums}.d-total{display:flex;justify-content:space-between;align-items:baseline;padding:8px;font-size:13px}.d-total b{font-family:var(--font-display);font-size:17px;font-variant-numeric:tabular-nums}.d-field{margin:0 0 10px}.d-field label{display:block;font-size:11.5px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.d-field input,.d-field select,.d-field textarea{width:100%;border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-card);padding:7px 10px;font-size:13.5px}.d-field textarea{resize:vertical;min-height:72px}.d-hint{font-size:11.5px;color:var(--text-tertiary);margin-top:4px}.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:12px 0}.m-grid .d-field.wide,.d-field.wide{grid-column:1 / -1}.attach{display:flex;align-items:center;gap:10px;border:1px solid var(--border-card);border-radius:var(--radius-md);padding:8px 10px;font-size:12.5px;margin-bottom:8px}.attach .a-meta{color:var(--text-tertiary);font-size:11px;margin-left:auto}.sel-banner{display:flex;align-items:center;gap:10px;padding:7px 12px;margin-bottom:var(--space-2);background:var(--accent-tint);border:1px solid var(--accent-text);border-radius:var(--radius-md);font-size:12.5px;color:var(--accent-text)}.sel-banner .link{border:0;background:none;color:var(--accent-text);font-weight:600;cursor:pointer;text-decoration:underline;font-size:12.5px;padding:0}.bulkbar{position:sticky;bottom:12px;left:0;margin:10px auto 0;width:-moz-fit-content;width:fit-content;display:flex;align-items:center;gap:10px;z-index:25;background:var(--surface-inverse);color:var(--text-on-inverse);border-radius:var(--radius-lg);padding:10px 14px;box-shadow:var(--shadow-modal);font-size:13px;white-space:nowrap}.bulkbar .btn-secondary{background:transparent;border-color:var(--border-bevel);color:var(--text-on-inverse)}.bulkbar .btn-secondary:hover{background:var(--border-bevel)}.bulkbar .bb-x{border:0;background:none;color:var(--text-on-inverse-muted);cursor:pointer;padding:4px;display:grid;place-items:center}.bulkbar .bb-x:hover{color:var(--text-on-inverse)}.bulkbar .bb-x svg{width:16px;height:16px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--surface-overlay);z-index:var(--z-overlay)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;z-index:var(--z-modal);width:min(640px,calc(100% - 48px));max-height:min(84dvh,760px);display:flex;flex-direction:column;background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal)}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px 12px}.modal-head h2{font-family:var(--font-display);font-weight:600;font-size:17px;margin:0;flex:1}.modal-body{padding:4px 20px 8px;overflow-y:auto}.modal-foot{display:flex;gap:8px;padding:14px 20px 18px;justify-content:flex-end;border-top:1px solid var(--border-divider);flex-wrap:wrap}.dry{border:1px solid var(--border-card);border-radius:var(--radius-md);overflow:hidden;margin-top:14px}.dry-head{display:flex;gap:0;border-bottom:1px solid var(--border-card)}.dry-head>div{flex:1;padding:10px 14px}.dry-head b{display:block;font-family:var(--font-display);font-size:20px;font-variant-numeric:tabular-nums}.dry-head .ok b{color:var(--success-text)}.dry-head .skip b{color:var(--warning-text)}.dry-head span{font-size:11.5px;color:var(--text-secondary)}.dry ul{margin:0;padding:8px 14px;list-style:none;font-size:12.5px}.dry ul li{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.dry ul li b{font-variant-numeric:tabular-nums;color:var(--warning-text)}.dry .dry-sample{border-top:1px solid var(--border-divider);padding:8px 14px;font-size:11.5px;color:var(--text-tertiary)}@media (min-width: 1024px){body.wide-shell .shell{max-width:none}body.wide-shell .screen>.block,body.wide-shell .screen>.profile{max-width:none}body.wide-shell .table-zone{max-width:1760px}}@media (max-width: 599px){.table-wrap{max-height:none;overflow:visible;border-radius:var(--radius-lg)}table.data{table-layout:auto}table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.data colgroup{display:none}table.data,table.data tbody{display:block}table.data tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 10px;padding:10px 12px;border-bottom:1px solid var(--border-divider);height:auto}table.data tbody tr td{display:none;height:auto;padding:0;border:0;background:none!important}table.data tbody tr:focus-visible td{box-shadow:none!important}table.data tbody tr:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-ring)}table.data td[data-mob=title]{display:block;grid-column:1;grid-row:1;font-weight:600;font-size:14px;white-space:normal}table.data td[data-mob=badge]{display:flex;grid-column:2;grid-row:1 / span 2;align-items:center;justify-content:flex-end;overflow:visible;white-space:normal}table.data td[data-mob=sub]{display:block;grid-column:1;grid-row:2;color:var(--text-secondary);font-size:12px;white-space:normal}table.data td[data-mob=sub2]{display:block;grid-column:1 / -1;grid-row:3;color:var(--text-tertiary);font-size:11.5px;margin-top:2px;white-space:normal}table.data td .t-sub{display:block!important}.table-foot{flex-wrap:wrap}.keybar{display:none}.bulkbar{position:fixed;left:12px;right:12px;bottom:12px;margin:0;width:auto;flex-wrap:wrap;white-space:normal}}.chat-toolbar{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3)}.chat-toolbar .field-ctrl{flex:1;min-width:0}.chat-new{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--surface-card);padding:var(--space-3);margin-bottom:var(--space-4)}.chat-new-head{display:flex;align-items:center;gap:var(--space-2)}.chat-new-head .field-ctrl{flex:1;min-width:0}.chat-new-hint{padding-top:var(--space-3);font-size:var(--text-caption-size);color:var(--text-secondary)}.chat-new-results{padding-top:var(--space-1)}.chat-list{display:flex;flex-direction:column}.chat-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-comfy);padding:var(--space-2) 0;background:transparent;border:0;border-bottom:1px solid var(--border-hairline);text-align:left;cursor:pointer}.chat-row:last-child{border-bottom:0}.chat-row:hover,.chat-row.active{background:var(--accent-wash)}.chat-row .ava{width:40px;height:40px;font-size:var(--text-label-size);border-width:1px;flex-shrink:0}.chat-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-row-top{display:flex;align-items:baseline;gap:var(--space-2)}.chat-row-name{flex:1;min-width:0;font-size:var(--text-body-size);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row-time{flex-shrink:0;font-size:var(--text-label-size);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.chat-row-bottom{display:flex;align-items:center;gap:var(--space-2)}.chat-row-preview{flex:1;min-width:0;font-size:var(--text-caption-size);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-shell{display:flex;flex-direction:column;min-width:0}.chat-list-pane{min-width:0}.chat-thread-pane{display:none;flex-direction:column;min-width:0}.chat-shell.has-open .chat-list-pane{display:none}.chat-shell.has-open .chat-thread-pane{display:flex}@media (min-width: 860px){body.wide-shell .chat-shell{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:var(--space-5);max-width:1100px}body.wide-shell .chat-shell .chat-list-pane{display:block}body.wide-shell .chat-shell .chat-thread-pane{display:flex}body.wide-shell .chat-thread-pane .chat-back{display:none}}.chat-thread-pane{position:relative;background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden;height:min(76dvh,720px)}.chat-thread-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-divider);flex-shrink:0}.chat-thread-head .ava{width:36px;height:36px;font-size:var(--text-label-size);flex-shrink:0}.chat-thread-titles{flex:1;min-width:0;display:flex;flex-direction:column}.chat-thread-name{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-sub{font-size:var(--text-caption-size);color:var(--text-secondary)}.chat-thread-who{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;padding:0;margin:0;background:transparent;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:var(--radius-md)}.chat-thread-who:hover{background:var(--accent-wash)}.chat-thread-who:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-people{display:flex;flex-direction:column}.chat-bubbles{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.chat-loadmore{align-self:center;margin-bottom:var(--space-2)}.chat-day{align-self:center;padding:var(--space-2) 0}.chat-day span{font-size:var(--text-label-size);font-weight:var(--weight-semibold);color:var(--text-tertiary);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:2px 10px}.chat-empty-thread{text-align:center;color:var(--text-secondary);font-size:var(--text-caption-size);padding:var(--space-6) var(--space-4)}.chat-empty-thread--placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.chat-empty-thread--placeholder svg{width:32px;height:32px;color:var(--text-tertiary)}.bubble{max-width:82%;display:flex;flex-direction:column;gap:2px}.bubble.mine{align-self:flex-end;align-items:flex-end}.bubble.peer{align-self:flex-start;align-items:flex-start}.bubble-body{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-body-size);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--text-body-lh)}.bubble.mine .bubble-body{background:var(--accent);color:var(--text-on-accent);border-bottom-right-radius:var(--radius-xs)}.bubble.peer .bubble-body{background:var(--surface-sunken);color:var(--text-primary);border-bottom-left-radius:var(--radius-xs)}.bubble-body a{color:inherit;text-decoration:underline;text-underline-offset:2px}.bubble-body a:hover{text-decoration-thickness:2px}.bubble-meta{display:flex;align-items:center;gap:6px;font-size:var(--text-label-size);color:var(--text-tertiary);font-variant-numeric:tabular-nums;padding:0 var(--space-1)}.bubble-status{color:var(--text-tertiary)}.bubble-retry{border:0;background:none;color:var(--danger-text);cursor:pointer;font:inherit;font-size:var(--text-label-size);padding:0;text-decoration:underline}.bubble-blocked-note{max-width:100%;font-size:var(--text-label-size);color:var(--danger-text);padding:0 var(--space-1);text-align:right}.bubble.peer .bubble-blocked-note{text-align:left}.chat-composer{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-divider);flex-shrink:0}.chat-composer .btn{flex-shrink:0;padding-left:var(--space-3);padding-right:var(--space-3)}.chat-compose-input{flex:1;min-width:0;width:100%;min-height:var(--control-height);max-height:128px;padding:var(--space-2) var(--space-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-control);border-radius:var(--radius-md);font-family:var(--font-body);font-size:16px;line-height:1.4;resize:none;overflow-y:auto;overflow-wrap:anywhere;transition:border-color var(--duration-fast) var(--ease-standard)}.chat-compose-input::-moz-placeholder{color:var(--text-disabled)}.chat-compose-input::placeholder{color:var(--text-disabled)}.chat-compose-input:focus-visible{border-color:var(--accent-ring)}.chat-compose-input:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.chat-jumpdown{position:absolute;right:var(--space-4);bottom:calc(var(--space-4) + 68px);display:flex;align-items:center;gap:6px;min-height:36px;padding:var(--space-1) var(--space-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-pill);box-shadow:var(--shadow-raised);cursor:pointer}.chat-jumpdown svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}@media (max-width: 859px){.chat-thread-pane{height:calc(100dvh - var(--top-bar-height) - var(--bottom-nav-height) - 96px);min-height:360px}}kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;padding:1px 5px;border-radius:4px;background:var(--surface-muted);border:1px solid var(--border-card);border-bottom-width:2px;color:var(--text-secondary);white-space:nowrap}.table-wrap mark,.d-table mark{background:var(--warning-tint);color:var(--warning-text);border-radius:2px;padding:0 1px}table.data td .badge:only-child{min-width:84px;justify-content:center}.table-foot .tf-sum{color:var(--text-primary);font-weight:600}.table-foot .tf-sum:before{content:"·";margin-right:12px;color:var(--text-tertiary);font-weight:400}.topbar{padding-top:env(safe-area-inset-top)}button,.btn{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.net-banner{position:sticky;top:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--gutter-mobile);padding-top:calc(var(--space-2) + env(safe-area-inset-top));font-size:var(--text-label-size);font-weight:var(--weight-semibold);text-align:center}.net-banner--offline{background:var(--neutral-tint);color:var(--text-secondary)}.net-banner--update{background:var(--accent-wash);color:var(--accent-text)}.net-banner--update button{min-height:28px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.net-banner--update button:focus-visible{box-shadow:var(--focus-ring)}@media print{@page{size:A4;margin:14mm}.topbar,.mainnav,.skiplink,.toast,.net-banner,.subbar{display:none!important}body{background:#fff;color:#000;min-height:0}.shell{max-width:none;padding:0;margin:0}.card,.block{box-shadow:none!important;-moz-column-break-inside:avoid;break-inside:avoid}a{color:inherit;text-decoration:none}}.copyable{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:inherit;text-align:left;width:auto;max-width:100%}.copyable:hover{background:var(--accent-wash)}.copyable:hover .copyable-icon{color:var(--accent-text)}.copyable-text{overflow-wrap:anywhere}.copyable-icon{width:14px!important;height:14px!important;min-width:14px;flex-shrink:0;color:var(--text-tertiary)}.loading-slow-hint{font-size:var(--text-label-size);color:var(--text-tertiary);padding-top:var(--space-3);max-width:var(--reading-max)}@media (min-width: 1024px){.vac-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:start}.vac-col{display:grid;gap:var(--space-6);align-content:start;min-width:0}.vac-col .block{padding-bottom:0}.stackgap{display:grid;gap:var(--space-4);padding-top:var(--space-4)}}.quiet{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);max-height:56px;padding:var(--space-2) var(--space-4);background:var(--neutral-tint);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-caption-size)}.quiet svg{width:var(--icon-size-sm);height:var(--icon-size-sm);color:var(--text-tertiary);flex-shrink:0}.quiet span{min-width:0;flex:1;overflow-wrap:break-word}.tl{display:grid}.tl li{position:relative;padding:0 0 var(--space-4) var(--space-5);border-left:2px solid var(--border-hairline);margin-left:var(--space-1)}.tl li:last-child{border-left-color:transparent;padding-bottom:0}.tl li:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--neutral);border:2px solid var(--surface-card)}.tl li.done:before{background:var(--success)}.tl li.now:before{background:var(--accent)}.tl b{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary)}.tl span{font-size:var(--text-caption-size);color:var(--text-tertiary)}.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding-bottom:var(--space-6)}.scard{display:flex;flex-direction:column;gap:var(--space-1);text-align:left;cursor:pointer;background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);min-height:96px;min-width:0;transition:box-shadow var(--duration-fast) var(--ease-standard)}.scard:hover{box-shadow:var(--shadow-raised)}.scard .sc-top{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.scard .sc-top svg:first-child{width:var(--icon-size-sm);height:var(--icon-size-sm)}.scard .sc-top .ty-overline{color:inherit;padding-bottom:0}.scard .sc-top .chev{margin-left:auto;width:16px;height:16px}.scard .sc-val{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:var(--text-title-sm-lh);padding-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scard .sc-sub{font-size:var(--text-caption-size);color:var(--text-secondary)}@media (min-width: 600px){.cols2.study-cols{grid-template-columns:minmax(0,1fr)}}.hint{position:relative;display:inline-flex;vertical-align:middle}.hint-trigger{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size);height:var(--icon-size);flex-shrink:0;margin-left:var(--space-1);background:transparent;border:none;border-radius:var(--radius-pill);color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.hint-trigger svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.hint-trigger:hover,.hint-trigger[aria-expanded=true]{color:var(--accent-text);background:var(--accent-wash)}.hint-pop{z-index:var(--z-modal);width:-moz-max-content;width:max-content;max-width:min(300px,calc(100vw - var(--space-4) * 2));background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--space-3) var(--space-4) var(--space-4);animation:hint-in var(--duration-base) var(--ease-decelerate)}@keyframes hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hint-pop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.hint-pop-head b{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:var(--text-title-sm-lh);color:var(--text-primary)}.hint-pop-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--icon-size);height:var(--icon-size);margin:calc(var(--space-1) * -1) calc(var(--space-1) * -1) 0 0;background:transparent;border:none;border-radius:var(--radius-pill);color:var(--text-tertiary);cursor:pointer}.hint-pop-close:hover{color:var(--text-primary);background:var(--surface-muted)}.hint-pop-close svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.hint-pop p{margin:0;font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--text-secondary)}.screen-desc{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--text-tertiary);margin:2px 0 0}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.helpbtn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-3);background:#ffffff14;border:0;border-radius:var(--radius-md);color:var(--text-on-inverse-muted);font-size:var(--text-label-size);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.helpbtn:hover{background:#ffffff29}.helpbtn svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}mark{background:var(--accent-tint);color:var(--accent-text);border-radius:var(--radius-xs);padding:0 .1em}@media (min-width: 1024px){body:not(.wide-shell) .chat-shell{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:var(--space-5);max-width:1200px}body:not(.wide-shell) .chat-shell .chat-list-pane{display:block}body:not(.wide-shell) .chat-shell .chat-thread-pane{display:flex}body:not(.wide-shell) .chat-thread-pane .chat-back{display:none}}@media (min-width: 1024px){.b-subj>.card{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:var(--space-3);align-content:start}.b-subj .subj{flex-direction:column;align-items:flex-start;gap:var(--space-2);min-height:0;padding:var(--space-3);border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--surface-card)}.b-subj .subj:hover{border-color:var(--accent);background:var(--accent-wash)}.b-subj .subj .s-main{width:100%}.b-subj .subj .chev{display:none}}@media (min-width: 1024px){.tl-h{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;padding-top:var(--space-2)}.tl-h li{position:relative;flex:1 1 108px;min-width:100px;padding:22px var(--space-2) 0;text-align:center}.tl-h li:before{content:"";position:absolute;top:8px;left:-50%;width:100%;height:2px;background:var(--border-hairline);z-index:0}.tl-h li:first-child:before{display:none}.tl-h li.done:before,.tl-h li.now:before{background:var(--success)}.tl-h .tl-dot{position:absolute;top:2px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:50%;background:var(--neutral);border:2px solid var(--surface-card);z-index:1}.tl-h li.done .tl-dot{background:var(--success)}.tl-h li.now .tl-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.tl-h .tl-label{display:flex;flex-direction:column;gap:2px}.tl-h b{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);color:var(--text-primary)}.tl-h span:last-child{font-size:var(--text-label-size);color:var(--text-tertiary)}}.card.emp{background:var(--accent-wash)}.pay-emp .card:not(.railed){background:var(--accent-wash);border-color:var(--accent)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.setting-row+.setting-row{border-top:1px solid var(--border-hairline)}.setting-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.setting-row-text b{font-size:var(--text-body-size);font-weight:var(--weight-medium);color:var(--text-primary)}.setting-row-text span{font-size:var(--text-label-size);color:var(--text-tertiary)}.setting-row-ctrl{flex-shrink:0}.switch{position:relative;display:inline-flex;align-items:center;width:44px;height:26px;flex-shrink:0}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border-control);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);pointer-events:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface-card);box-shadow:0 1px 2px #0003;transition:transform var(--duration-fast) var(--ease-standard)}.switch input:checked~.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked~.switch-track:after{transform:translate(18px)}.switch input:focus-visible~.switch-track{box-shadow:var(--focus-ring)}.switch input:disabled~.switch-track{opacity:.5;cursor:not-allowed}.setting-example{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-muted);font-size:var(--text-label-size);color:var(--text-secondary)}.setting-example b{color:var(--text-primary);font-weight:var(--weight-semibold)}.setting-danger-box{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-tint);border:1px solid var(--danger)}.setting-danger-box p{margin:0;font-size:var(--text-caption-size);color:var(--text-secondary)}.setting-danger-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.setting-code-input{font-family:var(--font-mono, monospace);font-size:var(--text-label-size);word-break:break-all}@media (min-width: 1024px){.cta-lift .btn-ghost{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-control);padding:0 var(--space-5);white-space:nowrap;max-width:none}.cta-lift .btn-ghost:hover{background:var(--surface-muted)}}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2)}.auth-link{background:none;border:0;padding:var(--space-1);font-size:var(--text-label-size);color:var(--accent-text);cursor:pointer}.auth-link:hover{text-decoration:underline}.otp{display:flex;gap:var(--space-2);padding-bottom:var(--space-4)}.otp-cell{min-width:0;flex:1 1 0;aspect-ratio:1;padding:0;border-radius:var(--radius-md);border:1.5px solid var(--border-control);background:var(--surface-card);color:var(--text-primary);text-align:center;font-family:var(--font-body);font-size:22px;font-weight:var(--weight-semibold);outline:none;transition:border-color var(--duration-fast) var(--ease-standard)}.otp-cell.filled{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-text)}.otp-cell.active{border-color:var(--accent);box-shadow:var(--focus-ring)}.otp-cell:disabled{opacity:.6}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .topbar{background:var(--surface-canvas);box-shadow:none;border-bottom:1px solid var(--border-zone)}:root:not([data-theme=light]) .mainnav{background:var(--surface-canvas);box-shadow:none;border-top:1px solid var(--border-zone)}}@media (prefers-color-scheme: dark) and (min-width: 1024px){:root:not([data-theme=light]) .mainnav{border-top:0;border-right:1px solid var(--border-zone)}}:root[data-theme=dark] .topbar{background:var(--surface-canvas);box-shadow:none;border-bottom:1px solid var(--border-zone)}:root[data-theme=dark] .mainnav{background:var(--surface-canvas);box-shadow:none;border-top:1px solid var(--border-zone)}@media (min-width: 1024px){:root[data-theme=dark] .mainnav{border-top:0;border-right:1px solid var(--border-zone)}}.sheet,.modal,.detail,.hint-pop,.chat-jumpdown{background:var(--surface-float)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .toast{background:var(--surface-float);color:var(--text-primary);border:1px solid var(--border-zone)}}:root[data-theme=dark] .toast{background:var(--surface-float);color:var(--text-primary);border:1px solid var(--border-zone)}@media (min-width: 1024px){.b-subj .subj{background:var(--surface-muted)}}.card .stats .stat,.card .stat{background:var(--surface-muted);box-shadow:none}.input,textarea.input{background:var(--surface-sunken)}.modal .input,.sheet .input,.detail .input{background:var(--surface-canvas)}.card,.stat,.scard{box-shadow:var(--shadow-none)}.scard:hover{background:var(--surface-muted);box-shadow:var(--shadow-none)}@media (min-width: 1024px){body.has-nav[data-scroll-locked]{padding-left:var(--side-nav-w)}}@media (min-width: 1024px){.shell:has(.wk-body){max-width:none}.wk-body{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson .l-name,.lesson .l-meta{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}}@media (min-width: 1600px){.wk-body{grid-template-columns:repeat(6,minmax(0,1fr))}}.rowbtn{border-radius:var(--radius-md);padding-left:var(--space-3);padding-right:var(--space-2);margin-left:calc(var(--space-3) * -1);margin-right:calc(var(--space-2) * -1);width:calc(100% + var(--space-3) + var(--space-2));position:relative;transition:background var(--duration-fast) var(--ease-standard)}.rowbtn:hover{background:var(--surface-muted)}.rowbtn:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:transparent;transition:background var(--duration-fast) var(--ease-standard)}.rowbtn:hover:before{background:var(--accent)}@media (min-width: 1024px){.sheet{bottom:var(--space-8);border-radius:var(--radius-xl);max-height:min(80vh,720px)}.sheet-grip{display:none}.sheet-head{padding-top:var(--space-4)}.sheet[data-state=open]{animation:sheet-in-desk var(--duration-base) var(--ease-standard)}.sheet[data-state=closed]{animation:sheet-out-desk var(--duration-fast) var(--ease-standard)}}@keyframes sheet-in-desk{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-out-desk{0%{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}.themebtn,.helpbtn{background:var(--chrome-pill);transition:background var(--duration-fast) var(--ease-standard)}.themebtn:hover,.helpbtn:hover{background:var(--chrome-pill-hover)}kbd{font-family:var(--font-mono)}.quiet-hours{display:flex;align-items:center;gap:var(--space-3);padding:0 0 var(--space-3)}.quiet-hours-field{display:flex;align-items:center;gap:var(--space-2)}.quiet-hours-field>span{font-size:var(--text-label-size);color:var(--text-secondary)}.quiet-hours-field .input{width:auto;min-width:112px}:root[data-density=compact]{--table-fs: var(--text-table-compact)}:root[data-density=normal]{--table-fs: var(--text-table-normal)}:root[data-density=spacious]{--table-fs: var(--text-table-spacious)}:root:not([data-density]){--table-fs: var(--text-table-compact)}.dr-link,.table-foot,.d-table,.attach,.sel-banner,.sel-banner .link,.dry ul{font-size:var(--text-table-compact)}.keybar,.detail-head .dh-pos,.d-field label,.d-hint,.dry-head span,.dry .dry-sample{font-size:var(--text-table-meta)}.d-msg,.d-field input,.d-field select,.d-field textarea{font-size:var(--text-table-spacious)}@media (max-width: 599px){table.data td[data-mob=sub2]{font-size:var(--text-table-meta)}}table.data th,.d-sec h3,.d-table th{font-size:var(--text-overline-size);line-height:var(--text-overline-lh);letter-spacing:var(--text-overline-ls)}table.data th .arr{font-size:var(--text-overline-size)}.card.emp{background:var(--surface-card)}.pay-emp .card:not(.railed){background:var(--surface-card);border-color:var(--border-card)}@media (min-width: 1024px){.mainnav-sub{display:flex;flex-direction:column;gap:2px;padding:2px 0 var(--space-2)}.mainnav-sub button{min-height:var(--control-height-sm);padding-left:calc(var(--space-5) + var(--icon-size) + var(--space-3) + var(--space-2));font-size:var(--text-caption-size);font-weight:var(--weight-medium)}.mainnav-sub button:before{width:2px;top:6px;bottom:6px}}.filters,.table-wrap{position:relative}@media (min-width: 1024px){:root{--side-nav-w-icon: 76px;--chrome-gap: 12px}.topbar{background:var(--surface-canvas);box-shadow:none;margin-left:calc((var(--side-nav-w-icon) + var(--chrome-gap) * 2) * -1);padding:var(--chrome-gap) var(--chrome-gap) 0}.topbar-in{min-height:52px;padding:0 var(--space-4);background:var(--surface-inverse);border-radius:var(--radius-xl);box-shadow:var(--shadow-raised)}body.has-nav,body.has-nav[data-scroll-locked]{padding-left:calc(var(--side-nav-w-icon) + var(--chrome-gap) * 2)}.mainnav{top:calc(52px + var(--chrome-gap) * 2);left:var(--chrome-gap);right:auto;bottom:var(--chrome-gap);width:var(--side-nav-w-icon);padding:var(--space-2);background:var(--surface-inverse);border:0;border-radius:var(--radius-xl);box-shadow:var(--shadow-raised)}.mainnav-in{gap:var(--space-1)}.mainnav button{justify-content:center;padding:0;min-height:48px;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.mainnav button:hover{background:var(--chrome-pill)}.mainnav button:before{content:none}.mainnav button[aria-current=page]{background:var(--chrome-pill-hover);color:var(--accent)}.mainnav .ndot{position:absolute;top:8px;right:14px;margin-left:0}.mainnav-sub{display:none}.mainnav button,.helpbtn,.themebtn{position:relative}.navlabel{position:absolute;z-index:var(--z-nav);padding:var(--space-2) var(--space-3);background:var(--surface-inverse);color:var(--text-on-inverse);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);font-size:var(--text-body-size);line-height:1.2;font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.mainnav .navlabel{left:calc(100% + var(--space-3));top:50%;transform:translateY(-50%)}.helpbtn .navlabel,.themebtn .navlabel{top:calc(100% + var(--space-2));right:0}.mainnav button:hover .navlabel,.mainnav button:focus-visible .navlabel,.helpbtn:hover .navlabel,.helpbtn:focus-visible .navlabel,.themebtn:hover .navlabel,.themebtn:focus-visible .navlabel{opacity:1}.helpbtn,.themebtn{padding:0;width:40px;min-height:40px;justify-content:center}@media (prefers-reduced-motion: reduce){.navlabel{transition:none}}}@media (prefers-color-scheme: dark) and (min-width: 1024px){:root:not([data-theme=light]) .topbar{background:var(--surface-canvas);border-bottom:0}:root:not([data-theme=light]) .topbar-in,:root:not([data-theme=light]) .mainnav,:root:not([data-theme=light]) .navlabel{background:var(--surface-card);border:1px solid var(--border-card);box-shadow:var(--shadow-raised)}}@media (min-width: 1024px){:root[data-theme=dark] .topbar{background:var(--surface-canvas);border-bottom:0}:root[data-theme=dark] .topbar-in,:root[data-theme=dark] .mainnav,:root[data-theme=dark] .navlabel{background:var(--surface-card);border:1px solid var(--border-card);box-shadow:var(--shadow-raised)}}@media (min-width: 1024px){.mainnav{display:flex;flex-direction:column}.mainnav-in{flex:1 1 auto;min-height:0;width:100%;margin:0}.mainnav .navout{flex:0 0 auto;margin-top:var(--space-2);position:relative;color:var(--text-on-inverse-muted)}.mainnav .navout:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);top:calc(var(--space-2) * -1);height:1px;background:var(--chrome-pill)}.mainnav .navout:hover{color:var(--danger);background:var(--chrome-pill)}}@media (min-width: 1024px){.mainnav .navout.armed{color:var(--danger);background:var(--chrome-pill-hover)}.mainnav .navout.armed .navlabel{opacity:1;color:var(--danger)}}@media (min-width: 1024px){.shell{max-width:none}}@media (min-width: 1024px){.mainnav{top:var(--chrome-gap);padding:var(--space-3) var(--space-2) var(--space-2)}.rail-logo{display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0 var(--space-4);text-decoration:none}.rail-logo .logo{height:30px;width:auto}.shell{padding-top:var(--space-6)}.pagebar{position:sticky;top:var(--space-4);z-index:var(--z-nav);display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);height:40px;margin-bottom:-40px;pointer-events:none}.pagebar>*{pointer-events:auto}.pagebar .themebtn{margin-left:0}.pagebar .helpbtn,.pagebar .themebtn{background:var(--surface-card);border:1px solid var(--border-card);color:var(--text-secondary);box-shadow:var(--shadow-card)}.pagebar .helpbtn:hover,.pagebar .themebtn:hover{background:var(--surface-sunken);color:var(--text-primary)}.pagebar .navlabel{top:calc(100% + var(--space-2));right:0}}.tt-bar{align-items:center;gap:var(--space-2)}.tt-week{font-variant-numeric:tabular-nums;font-size:var(--text-body-size);color:var(--text-primary);white-space:nowrap}.tt-groups{flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3)}.tt-group{padding-bottom:var(--space-5)}.tt-group>.ty-overline{padding-bottom:var(--space-2);display:block}.tt-grid{display:flex;flex-direction:column;gap:1px;overflow-x:auto;background:var(--border-hairline);border:1px solid var(--border-card);border-radius:var(--radius-lg)}.tt-row{display:grid;grid-template-columns:56px repeat(7,minmax(148px,1fr));gap:1px;background:var(--border-hairline)}.tt-row--head{position:sticky;top:0;z-index:1}.tt-corner,.tt-dayhead,.tt-pair,.tt-slot{background:var(--surface-card)}.tt-corner,.tt-dayhead{padding:var(--space-2);font-size:var(--text-caption-size);color:var(--text-secondary);text-align:center}.tt-dayhead b{display:block;color:var(--text-primary)}.tt-pair{display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.tt-slot{display:flex;flex-direction:column;gap:1px;padding:2px;min-height:64px}.tt-cell{flex:1;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit}.tt-cell:hover{background:var(--accent-wash)}.tt-cell:focus-visible{box-shadow:var(--focus-ring)}.tt-cell--empty{align-items:center;justify-content:center;color:var(--text-tertiary);opacity:.35}.tt-cell--empty:hover{opacity:1}.tt-cell--manual{box-shadow:inset 3px 0 0 var(--accent)}.tt-cell--stale{box-shadow:inset 3px 0 0 var(--warning)}.tt-cell--off .tt-subject{text-decoration:line-through;color:var(--text-tertiary)}.tt-subject{font-size:var(--text-body-size);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tt-sub{font-size:var(--text-caption-size);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tt-marks{display:flex;flex-wrap:wrap;gap:2px}.tt-conflicts,.tt-diff,.tt-errors{list-style:none;margin:0;padding:var(--space-2) 0 0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-body-size)}.tt-diff,.tt-errors{max-height:320px;overflow-y:auto}.tt-counts{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) 0}@media (min-width: 1024px){.shell:has(.wk-grid){max-width:none}.wk-grid{display:grid;grid-template-columns:64px repeat(var(--wk-cols, 6),minmax(0,1fr));border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--surface-card);overflow:hidden}.wk-grid-head,.wk-grid-row{display:contents}.wk-corner{border-bottom:1px solid var(--border-card)}.wk-day-head{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-bottom:1px solid var(--border-card);border-left:1px solid var(--border-hairline)}.wk-day-head b{font-size:var(--text-label-size);font-weight:var(--weight-semibold);color:var(--text-primary)}.wk-day-head .d-meta{font-size:var(--text-caption-size);color:var(--text-tertiary)}.wk-day-head.is-today{box-shadow:inset 0 2px 0 0 var(--accent)}.wk-day-head.is-today b{color:var(--accent-text)}.wk-time{display:flex;align-items:flex-start;justify-content:flex-end;padding:var(--space-3) var(--space-2);font-size:var(--text-caption-size);color:var(--text-tertiary);border-top:1px solid var(--border-hairline)}.wk-grid-row:first-of-type .wk-time,.wk-grid-row:first-of-type .wk-cell{border-top:0}.wk-cell{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--space-3);border-top:1px solid var(--border-hairline);border-left:1px solid var(--border-hairline)}.wk-subject{font-size:var(--text-body-size);font-weight:var(--weight-medium);color:var(--text-primary);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.wk-meta{font-size:var(--text-caption-size);color:var(--text-tertiary);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.wk-cell.is-free{background:var(--surface-sunken)}.wk-free{font-size:var(--text-caption-size);color:var(--text-disabled)}.wk-cell.is-today{background:var(--accent-wash)}.wk-cell.is-free.is-today{background:var(--surface-sunken)}}@media (min-width: 1024px){.td-score{display:grid;gap:var(--space-6);align-content:start;min-width:0}.td-score>.block,.td-score>.td-pairs>.block{padding-bottom:0}.td-hero-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.td-hero-num{flex:0 0 auto}.td-hero-say{flex:1 1 300px;min-width:0;margin:0}.td-hero-act{flex:0 0 auto;margin-left:auto}.td-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5);align-items:start}.td-pairs>.block{min-width:0}.td-pairs>.block:last-child:nth-child(odd){grid-column:1 / -1}.td-pairs .card>.stats:last-child{padding-bottom:0}}@media (min-width: 1024px){.screen--chat{display:flex;min-height:0}.shell:has(.screen--chat){max-width:none;padding:var(--chrome-gap) var(--chrome-gap) var(--chrome-gap) 0}.chatd{--chatd-h: calc(100dvh - var(--chrome-gap) * 2);flex:1;min-width:0;display:grid;grid-template-columns:minmax(288px,340px) minmax(0,1fr);gap:var(--space-5);height:var(--chatd-h)}.chatd-list,.chatd-thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden}.chatd-thread{position:relative}.chatd-list-head{flex-shrink:0;padding:var(--space-3);border-bottom:1px solid var(--border-divider)}.chatd-list-head .chat-toolbar{padding-bottom:0}.chatd-list-head .chat-new{margin:var(--space-3) 0 0;background:var(--surface-sunken)}.chatd-list-head .chat-new-results{max-height:224px;overflow-y:auto}.chatd-list-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chatd-list-body .chat-row{padding-left:var(--space-3);padding-right:var(--space-3)}.chatd-list-body .chat-row.active{box-shadow:inset 3px 0 0 0 var(--accent)}.chatd-list-body .empty{margin:var(--space-3);padding:var(--space-6) var(--space-3)}.chatd-thread .chat-thread-head{padding:var(--space-4) var(--space-5)}.chatd-thread .notice{margin:var(--space-3) var(--space-5) 0}.chatd-thread .chat-bubbles{padding:var(--space-5) var(--space-6);gap:var(--space-3)}.chatd .bubble{max-width:min(58ch,74%)}.chatd-thread .chat-composer{padding:var(--space-3) var(--space-5)}.chatd-thread .chat-empty-thread--placeholder{padding:var(--space-6)}}@media (min-width: 1024px){.chatd-list-body{padding:var(--space-2)}.chatd-list-body .chat-row{border-bottom:0;border-radius:var(--radius-md);padding-left:var(--space-2);padding-right:var(--space-2)}.chatd-list-body .chat-row.active{box-shadow:none;background:var(--accent-wash)}.chatd-thread .chat-composer{padding:var(--space-3) var(--space-4) var(--space-4)}}.composer-box{display:flex;align-items:flex-end;gap:var(--space-1);width:100%;min-width:0;padding:var(--space-1);background:var(--surface-card);border:1px solid var(--border-control);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard)}.composer-box:focus-within{border-color:var(--accent-ring)}.composer-box .chat-compose-input{border:0;background:transparent;padding:var(--space-2);min-height:calc(var(--control-height) - var(--space-2))}.composer-box .chat-compose-input:focus-visible{border-color:transparent;outline:none}.composer-box .chat-compose-input:disabled{background:transparent}.composer-icon{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.composer-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.composer-icon:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.composer-icon:disabled{opacity:.45;cursor:not-allowed}.composer-send:not(:disabled){color:var(--accent)}.composer-send:hover:not(:disabled){background:var(--accent-wash)}.composer-queue{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-2)}.composer-queue .chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-1) var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-md);font-size:var(--text-caption-size);color:var(--text-secondary)}.composer-queue .chip--err{background:var(--danger-tint);color:var(--danger-text)}.composer-queue .chip svg{width:14px;height:14px;flex-shrink:0}.composer-queue .chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.composer-queue .chip-err{color:inherit;opacity:.8}.composer-queue .chip button{display:grid;place-items:center;width:18px;height:18px;background:transparent;border:0;border-radius:var(--radius-sm);color:inherit;cursor:pointer}.composer-queue .chip button:hover{background:var(--surface-card)}.attach{display:block;margin-bottom:var(--space-2);border-radius:var(--radius-md)}.attach:last-child{margin-bottom:0}.attach--img,.attach--video{padding:0;border:0;background:transparent;cursor:pointer;line-height:0;font:inherit;color:inherit;width:-moz-fit-content;width:fit-content;max-width:min(320px,100%)}.attach--img img{display:block;max-width:min(320px,100%);max-height:320px;border-radius:var(--radius-md)}.attach--videowrap{width:-moz-fit-content;width:fit-content;max-width:min(320px,100%)}.attach--video{position:relative;display:block}.attach-videoslot{display:block;width:320px;max-width:100%;aspect-ratio:16 / 9;background:var(--surface-sunken);border-radius:var(--radius-md)}.attach--video video{display:block;max-width:min(320px,100%);max-height:320px;border-radius:var(--radius-md);background:#000;pointer-events:none}.attach-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#0000008c;color:#fff}.attach-play svg{width:28px;height:28px;margin-left:2px}.attach--video:hover .attach-play{background:#000000b8}.mv-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#000000e0}.mv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column}.mv-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#fff}.mv-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-body-size);font-weight:var(--weight-medium)}.mv-pos{flex-shrink:0;margin-right:auto;color:#fff9;font-size:var(--text-caption-size)}.mv-name:last-of-type{margin-right:auto}.mv-btn{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;background:transparent;border:0;border-radius:var(--radius-md);color:#fff;cursor:pointer}.mv-btn:hover{background:#ffffff24}.mv-btn svg{width:var(--icon-size);height:var(--icon-size)}.mv-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 var(--space-6) var(--space-6);background:transparent;border:0;cursor:zoom-out}.mv-media{max-width:100%;max-height:100%;border-radius:var(--radius-md);cursor:default}.mv-load,.mv-fail{color:#ffffffb3;font-size:var(--text-body-size);line-height:var(--text-body-lh)}.mv-fail{max-width:46ch;text-align:center}.mv-fail b{color:#fff}.mv-load--over{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.mv-nav{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;background:#ffffff1f;border:0;border-radius:999px;color:#fff;cursor:pointer}.mv-nav:hover{background:#ffffff38}.mv-nav svg{width:var(--icon-size);height:var(--icon-size)}.mv-prev{left:var(--space-3)}.mv-next{right:var(--space-3)}@media (max-width: 599px){.mv-stage{padding:0 var(--space-2) var(--space-4)}.mv-nav{width:40px;height:40px}}.attach--skel{width:220px;height:120px;background:var(--surface-sunken)}.attach--gone{padding:var(--space-2) var(--space-3);background:var(--surface-sunken);color:var(--text-tertiary);font-size:var(--text-caption-size)}.attach--file{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border:0;border-radius:var(--radius-md);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.attach--file:hover{background:var(--surface-card)}.attach--file svg{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0;color:var(--text-tertiary)}.attach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{flex-shrink:0;color:var(--text-tertiary);font-size:var(--text-caption-size)}.lessons{display:grid;gap:1.1rem;padding:0 0 2rem}.lessons__head{display:grid;gap:.6rem}.lessons__head h1{margin:0;font-size:1.35rem}.lessons__nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lessons__nav button{font:inherit;padding:.3rem .7rem;border:1px solid var(--border-control);border-radius:999px;background:var(--surface-card);color:inherit;cursor:pointer}.lessons__range{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.lessons__today{margin-left:auto}.lessons__day h2{margin:0 0 .4rem;font-size:.95rem;color:var(--text-tertiary);font-weight:600}.lessons__day ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.lesson{color:var(--text-primary);display:grid;grid-template-columns:4.5rem 1fr auto;gap:.2rem .8rem;align-items:baseline;padding:.6rem .8rem;background:var(--surface-card);border:1px solid var(--border-card);border-left:3px solid var(--warning-text);border-radius:4px}.lesson--done{border-left-color:var(--success-text);opacity:.72}.lesson__pair{font-size:.82rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.lesson__body{display:grid;gap:.1rem}.lesson__where{font-size:.85rem;color:var(--text-secondary)}.lesson__marks{display:flex;gap:.7rem;font-size:.78rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.lesson__topic--empty{color:var(--warning-text)}.lessons__muted,.gradebook__muted{color:var(--text-tertiary)}.lessons__error,.gradebook__error{color:var(--danger-text)}@media (max-width: 640px){.lesson{grid-template-columns:4.2rem 1fr}.lesson__marks{grid-column:1 / -1}}.gradebook{display:grid;gap:.9rem;padding:0 0 2rem}.gradebook__head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.gradebook__head h1{margin:0;font-size:1.35rem}.gradebook__pick select{font:inherit;padding:.35rem .6rem;border:1px solid var(--border-control);border-radius:4px;background:var(--surface-card);color:inherit;max-width:22rem}.gradebook__sub{margin:0;color:var(--text-secondary)}.gradebook__scroll{overflow-x:auto;border:1px solid var(--border-card);border-radius:4px;background:var(--surface-card)}.gradebook__table{border-collapse:collapse;color:var(--text-primary);font-size:.86rem;min-width:100%}.gradebook__table th,.gradebook__table td{border-bottom:1px solid var(--border-hairline);padding:.35rem .45rem;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.gradebook__table thead th{position:sticky;top:0;background:var(--surface-card);font-size:.74rem;color:var(--text-tertiary);font-weight:600;z-index:1}.gradebook__name{position:sticky;left:0;background:var(--surface-card);text-align:left!important;min-width:11rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;z-index:2}.gradebook__table thead .gradebook__name{z-index:3}.gradebook__cell--absent{color:var(--danger-text);background:var(--attend-absent-bg)}.gradebook__dot{color:var(--text-tertiary);opacity:.5}.gradebook__total{color:var(--text-secondary);font-weight:600}.gradebook__warn{color:var(--warning-text);margin:0;max-width:72ch}@media (min-width: 1024px){.shell:has(.money-desk){max-width:none}.screen-head.money-head{padding-bottom:var(--space-2)}.screen-head.money-head .dr-head{padding-bottom:0;row-gap:var(--space-2)}.screen-head.money-head .screen-sub{padding-top:0;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-head.money-head .seg{flex:0 0 auto;gap:var(--space-1)}.screen-head.money-head .seg label{flex:0 0 auto;min-height:var(--ctl-h);padding:0 var(--space-4)}.filters.money-bar{align-items:center;padding-bottom:var(--space-2);overflow:visible;gap:var(--space-2);flex-wrap:wrap}.filters.money-bar .fchip{min-height:var(--ctl-h);padding:0 var(--space-3);font-size:var(--table-fs)}.filters.money-bar .searchrow{padding-bottom:0;flex:1 1 220px;min-width:160px}.filters.money-bar .searchrow .field-ctrl{width:100%;max-width:340px;margin-left:auto}.filters.money-bar .input{min-height:var(--ctl-h);height:var(--ctl-h);font-size:var(--table-fs)}.filters.money-bar .input.has-suffix{padding-right:calc(var(--ctl-h) + var(--space-2))}.filters.money-bar .input-suffix{width:var(--ctl-h);display:grid;place-items:center;height:100%}.filters.money-bar .btn{min-height:var(--ctl-h);height:var(--ctl-h);padding:0 var(--space-4);font-size:var(--table-fs)}.money-desk{display:flex;flex-direction:column;min-height:0;max-height:var(--money-fill, 72vh)}.money-desk .table-zone{flex:1 1 auto;min-height:0}.money-desk .table-wrap{flex:1 1 auto;min-height:0;max-height:none}.money-desk table.data{width:100%}.money-desk table.data th:last-child .col-resize{right:0}.money-desk .table-foot{padding:var(--space-1) var(--space-3)}.money-desk .keybar{padding:var(--space-1) var(--space-1) 0}.money-desk .footnote{max-width:none;padding-top:var(--space-1)}.money-desk table.data td.num{color:var(--text-primary)}.money-desk table.data td.num:empty:after{content:"—";color:var(--text-disabled)}.money-desk table.data th[aria-sort]{background:var(--accent-wash)}}.debt-stats .stat{display:flex;flex-direction:column;min-width:0}.debt-stats .stat dd{overflow-wrap:anywhere}@media (max-width: 719px){.debt-stats .stat dd{font-size:var(--text-body-size);line-height:var(--text-body-lh)}}.stat-sub{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--text-tertiary);padding-top:2px;margin:0}.linkish{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.linkish:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:3px}.aging{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);padding-bottom:var(--space-3)}.aging-seg{position:relative;overflow:hidden;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:0 var(--space-2);background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3) calc(var(--space-3) + 3px)}.aging-seg:hover{background:var(--surface-muted)}.aging-seg.on{border-color:var(--accent-ring);background:var(--accent-tint)}.aging-seg:focus-visible{outline:none;box-shadow:var(--focus-ring)}.aging-lbl{grid-column:1;font-size:var(--text-label-size);color:var(--text-secondary);font-weight:var(--weight-semibold)}.aging-cnt{grid-column:2;grid-row:1;font-size:var(--text-label-size);color:var(--text-tertiary)}.aging-sum{grid-column:1 / -1;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-body-size)}.aging-bar{position:absolute;left:0;bottom:0;height:3px;background:var(--neutral-text);opacity:.35}.aging-seg[data-tone=warn] .aging-bar{background:var(--warning-text);opacity:.55}.aging-seg[data-tone=crit] .aging-bar{background:var(--danger-text);opacity:.7}.aging-seg.on .aging-bar{opacity:1}.debt-today{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3)}.debt-today .fchip b{font-weight:var(--weight-semibold)}.dfilter{display:flex;flex-direction:column;gap:2px;flex:0 0 auto}.dfilter>span{font-size:var(--text-label-size);color:var(--text-tertiary);font-weight:var(--weight-semibold);white-space:nowrap}.dfilter select,.dfilter input{padding:0 var(--space-2);min-height:32px;background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-input);border-radius:var(--radius-md)}.dfilter select{max-width:220px}.dfilter select:focus-visible,.dfilter input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dfilter.range>div{display:flex;gap:var(--space-1)}.dfilter.range input{width:78px;text-align:right}.d-phone{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2)}.d-phone a{font-family:var(--font-display);font-size:var(--text-body-size)}.dhist{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.dhist li{border-left:2px solid var(--border-hairline);padding-left:var(--space-3)}.dhist-top{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.dhist-when,.dhist-who{font-size:var(--text-label-size);color:var(--text-tertiary)}.dhist-line{margin:2px 0 0;font-size:12.5px}.dhist-cmt{margin:4px 0 0;font-size:12.5px;font-style:italic;color:var(--text-secondary)}.presets{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.presets li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.seg.wrapseg{flex-wrap:wrap}.quickdates{display:flex;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-2)}.quickdates .fchip{min-height:28px;padding:0 var(--space-3);font-size:var(--text-label-size)}@media (min-width: 1024px){.shell:has(.debt-desk){max-width:none}.filters.debt-bar2{align-items:flex-end;row-gap:var(--space-2)}.dfilter select,.dfilter input{min-height:var(--ctl-h);height:var(--ctl-h);font-size:var(--table-fs)}.debt-stats{padding-bottom:var(--space-2)}.debt-stats .stat{padding:var(--space-2) var(--space-3)}.aging,.debt-today{padding-bottom:var(--space-2)}}@media (max-width: 1023px){.filters.debt-bar .searchrow{flex:0 0 240px}.filters.debt-bar .searchrow .field-ctrl{width:240px;max-width:none}}@media (min-width: 1024px){.debt-stats{padding-bottom:var(--space-1);gap:var(--space-1)}.debt-stats .stat{padding:var(--space-1) var(--space-3)}.debt-stats .stat dd{font-size:var(--text-body-size);line-height:1.3}.aging{padding-bottom:var(--space-1);gap:var(--space-1)}.aging-seg{padding:var(--space-1) var(--space-3) calc(var(--space-2) + 3px)}.aging-sum{font-size:var(--text-body-size);line-height:1.3}.debt-today,.filters.debt-bar{padding-bottom:var(--space-1)}}@media (min-width: 1024px){.sy-sembar{display:flex;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-3);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-card)}.sy-sem-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sy-sem-label{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-title-sm-size);line-height:var(--text-title-sm-lh);color:var(--text-primary)}.sy-sem-dates{font-size:var(--text-caption-size);color:var(--text-tertiary)}.sy-sem-nav{display:flex;gap:var(--space-2);flex:0 0 auto}.sy-summary{display:grid;grid-template-columns:minmax(0,var(--reading-max)) minmax(240px,1fr);gap:var(--space-5);align-items:start}.sy-summary-main,.sy-summary-rail{min-width:0}.sy-summary-rail .stats{padding-bottom:0}.sy-summary.sy-narrow{grid-template-columns:minmax(0,1fr) auto}.sy-att-rail{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.sy-sheet{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-1) var(--space-2)}.sy-row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1.1fr) minmax(0,1.9fr) 84px;gap:var(--space-3);align-items:start;width:100%;padding:var(--space-2);text-align:left;color:inherit;font:inherit;background:transparent;border:0;border-radius:var(--radius-md)}button.sy-row{cursor:pointer}.sy-row+.sy-row{border-top:1px solid var(--border-hairline)}.sy-head{padding-top:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-card)}.sy-head>span{font-size:var(--text-overline-size);line-height:var(--text-overline-lh);letter-spacing:var(--text-overline-ls);text-transform:uppercase;font-weight:var(--weight-bold);color:var(--text-tertiary)}.sy-name{font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);overflow-wrap:break-word}.sy-teacher{font-size:var(--text-caption-size);color:var(--text-secondary);overflow-wrap:break-word}.sy-avg-col{justify-self:end}.sy-marks{display:flex;flex-wrap:wrap;gap:var(--space-1);min-width:0}.sy-marks .g-mark{width:24px;height:24px;border-radius:var(--radius-sm);font-size:var(--text-caption-size);font-weight:var(--weight-semibold)}.sy-nomarks{font-size:var(--text-caption-size);color:var(--text-disabled)}}@media (min-width: 1024px) and (hover: hover) and (pointer: fine){button.sy-row:hover{background:var(--accent-wash)}button.sy-row:hover .sy-name{color:var(--accent-text)}}.subjatt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-3);align-items:baseline;padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.subjatt:last-child{border-bottom:0}.subjatt-main{min-width:0}.subjatt-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);overflow-wrap:break-word}.subjatt-sub{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary);padding-top:2px}.subjatt-pct{font-size:var(--text-body-size);font-weight:var(--weight-semibold)}.subjatt-pct.ok{color:var(--success-text)}.subjatt-pct.warn{color:var(--warning-text)}.subjatt-pct.bad{color:var(--danger-text)}.subjatt-bar{grid-column:1 / -1;height:4px;border-radius:var(--radius-xs);background:var(--surface-sunken);overflow:hidden;margin-top:var(--space-2)}.subjatt-fill{display:block;height:100%;border-radius:var(--radius-xs)}.subjatt-fill.ok{background:var(--success)}.subjatt-fill.warn{background:var(--warning)}.subjatt-fill.bad{background:var(--danger)}@media (min-width: 1024px){.at-body{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.at-body>.block:has(.subjatt){grid-column:1 / -1;order:-1}}.ava-photo{-o-object-fit:cover;object-fit:cover;background:var(--surface-2)}.profile .p-nick{display:block;font-size:var(--text-caption-size);color:var(--text-secondary);padding-top:2px}.look{display:flex;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap;padding-bottom:var(--space-4)}.look-side{min-width:0;flex:1 1 200px}.look-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3)}.look-actions label.btn{cursor:pointer}.look-actions label.btn:focus-within{box-shadow:var(--focus-ring)}.look-error{padding-top:var(--space-3);font-size:var(--text-caption-size);color:var(--state-struggling)}.look-note{padding-top:var(--space-3);font-size:var(--text-caption-size);color:var(--text-secondary)}.rec-btn{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-standard)}.rec-btn:hover{background:var(--surface-muted)}.dayfacts{display:block}.dayfact{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.dayfact:last-child{border-bottom:0}.dayfact-time{flex:0 0 48px;font-size:var(--text-caption-size);color:var(--text-tertiary);padding-top:2px}.dayfact-main{flex:1;min-width:0}.dayfact-name{display:block;font-size:var(--text-body-size);font-weight:var(--weight-medium);color:var(--text-primary);overflow-wrap:break-word}.dayfact-meta{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary);padding-top:2px}.dayfact.is-missed .dayfact-name{color:var(--danger-text)}.look-blocked{padding-top:var(--space-3);font-size:var(--text-caption-size);color:var(--text-secondary);border-left:3px solid var(--brand-primary, #ff6a00);padding-left:var(--space-3)}.ava-peek{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;padding-top:var(--space-4)}.ava-peek-img{max-width:240px;max-height:240px;width:auto;height:auto;border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--surface-muted)}.ava-feed-head{padding-bottom:var(--space-3)}.ava-feed{padding-bottom:var(--space-4)}.ava-feed-list{list-style:none;margin:0;padding:0}.ava-feed-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}.ava-feed-row:last-child{border-bottom:0}.ava-feed-who{flex:1 1 220px;min-width:0}.ava-feed-meta{display:block;font-size:var(--text-caption-size);color:var(--text-tertiary);padding-top:2px}.ava-feed-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.ava-feed-row>.ava-peek{flex:1 0 100%}.cur-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width: 1024px){.cur-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start}}.cur-card__name{margin:0 0 var(--space-2)}.cur-card__nums{display:flex;gap:var(--space-4);margin:0 0 var(--space-2)}.cur-card__nums div{display:flex;flex-direction:column;gap:2px}.cur-card__nums dt{font-size:12px;line-height:1.2;color:var(--text-secondary)}.cur-card__nums dd{margin:0;font-size:24px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.cur-card__note{margin:var(--space-2) 0 0;font-size:14px;line-height:1.45;color:var(--text-secondary)}.cur-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.cur-actions__state{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);margin-left:auto}.cur-debt{font-variant-numeric:tabular-nums;color:var(--warning-text);font-weight:600}.cur-muted{color:var(--text-secondary)}@media (min-width: 1024px){.table-zone.cur-roster{max-width:1120px}}.cur-pick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2)}.cur-pick__count{flex:1 0 100%;font-size:13px;line-height:1.3;color:var(--text-secondary)}.cur-pick__btns{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.cur-phone-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-secondary);font:inherit;font-size:13px;line-height:1.2;cursor:pointer}.cur-phone-btn:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}.cur-phone-btn:disabled{cursor:default;opacity:.6}.cur-phone-btn svg{width:14px;height:14px}.cur-phone{font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 599px){.cur-roster table.data tbody tr{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.cur-roster table.data tbody tr td.chk{display:flex;grid-column:1;grid-row:1 / span 3;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin-left:-4px}.cur-roster table.data tbody tr td.chk input{width:20px;height:20px}.cur-roster table.data td[data-mob=title],.cur-roster table.data td[data-mob=sub]{grid-column:2}.cur-roster table.data td[data-mob=badge]{grid-column:3}.cur-roster table.data td[data-mob=sub2]{grid-column:2 / -1;margin-top:4px}}.cur-textarea{min-height:7.5em;resize:vertical;line-height:1.45;font-family:inherit}.cur-count{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;border-radius:var(--radius-lg);background:var(--surface-sunken)}.cur-count__main{font-size:18px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.cur-count__sub{font-size:13px;line-height:1.3;color:var(--text-secondary)}.cur-names{margin:var(--space-2) 0 0;padding-left:1.15em;max-width:46ch;font-size:14px;line-height:1.5}.cur-names li+li{margin-top:2px}.reqcards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.reqcard{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.reqcard.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.reqcard-open{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-4) var(--space-3);background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.reqcard-open:hover{background:var(--surface-muted)}.reqcard-top{display:flex;align-items:flex-start;gap:var(--space-3)}.reqcard-subject{flex:1;min-width:0;font-size:var(--text-subtitle-size);font-weight:var(--weight-semibold);line-height:var(--text-subtitle-lh, 1.3)}.reqcard-top .badge{flex-shrink:0}.reqcard-author{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-body-size);color:var(--text-primary)}.reqcard-kind{padding:2px var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--text-caption-size);color:var(--text-secondary)}.reqcard-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-caption-size);color:var(--text-secondary)}.reqcard-files{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.reqcard-files svg{width:14px;height:14px}.reqcard-act{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-divider);background:var(--surface-canvas)}.reqcards-more{display:flex;justify-content:center;padding:var(--space-2) 0}@media (max-width: 599px){.reqcard-open{padding:var(--space-3)}.reqcard-act{padding:var(--space-2) var(--space-3)}.reqcard-act .btn{flex:1}}.ratt{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-divider)}.ratt-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2)}.ratt-head .ty-overline{flex:1}.ratt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.ratt-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md)}.ratt-item--staff{border-left:3px solid var(--accent)}.ratt-item>svg{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0;color:var(--text-tertiary)}.ratt-main{flex:1;min-width:0;display:flex;flex-direction:column}.ratt-name{padding:0;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--text-primary);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--border-card)}.ratt-name:hover{text-decoration-color:currentColor}.ratt-sub{font-size:var(--text-caption-size);color:var(--text-secondary)}.ratt-btn{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.ratt-btn:hover{background:var(--surface-card);color:var(--text-primary)}.ratt-btn svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.ratt-empty,.ratt-hint{font-size:var(--text-caption-size);color:var(--text-secondary)}.ratt-hint{padding-top:var(--space-2)}
