@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../../node_modules/@fontsource-variable/inter/files/inter-latin-wght-normal.woff2) format("woff2-variations")}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../../node_modules/@fontsource-variable/fraunces/files/fraunces-latin-opsz-normal.woff2) format("woff2-variations")}:root{--font-ui: "Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--display-opsz: 32;--display-wght: 600;--fs-display: clamp(2rem, 1.55rem + 2.2vw, 2.75rem);--fs-title: 1.75rem;--fs-figure: 2.25rem;--fs-headline: 1.0625rem;--fs-body: 1rem;--fs-meta: .875rem;--fs-caption: .75rem;--lh-tight: 1.1;--lh-snug: 1.3;--lh-body: 1.5;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--gutter: 16px;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-1: .15s;--dur-2: .2s;--dur-3: .25s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--blur-bar: 16px;--saturate-bar: 150%;--blur-dim: 4px;--r-glass: 28px;--tabbar-h: 68px;--tabbar-gap: max(calc(var(--safe-b) - 6px), 12px);--tabbar-clear: calc(var(--tabbar-h) + var(--tabbar-gap));--rail-w: 248px;--content-max: 680px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);color-scheme:light;--bg: #f4f0e6;--surface: #fbf9f3;--sunk: #eae4d6;--line: #ddd5c4;--line-strong: #c4b9a4;--ink: #1e1b16;--ink-2: #575045;--ink-3: #6a6255;--line-ctrl: #8c8271;--accent: oklch(.47 .19 268);--accent-text: oklch(.47 .19 268);--on-accent: #ffffff;--accent-tint: oklch(.92 .04 268);--accent-ink: oklch(.42 .18 268);--ok: oklch(.47 .12 150);--ok-tint: oklch(.92 .05 150);--on-ok: #ffffff;--bad: oklch(.5 .17 25);--bad-tint: oklch(.93 .04 25);--warn: oklch(.5 .11 70);--warn-tint: oklch(.93 .06 80);--plc: oklch(.48 .17 305);--plc-tint: oklch(.93 .04 305);--score-up-a: oklch(.95 .045 150);--score-up-b: oklch(.92 .06 168);--score-up-ink: oklch(.44 .12 152);--score-up10-a: oklch(.9 .09 150);--score-up10-b: oklch(.86 .1 168);--score-up10-ink: oklch(.37 .11 152);--score-up25-a: oklch(.44 .13 150);--score-up25-b: oklch(.42 .1 190);--score-up25-ink: #ffffff;--score-up-glow: oklch(.65 .17 150 / .35);--score-down-a: oklch(.95 .035 25);--score-down-b: oklch(.93 .045 5);--score-down-ink: oklch(.48 .16 25);--score-down10-a: oklch(.9 .07 25);--score-down10-b: oklch(.87 .08 5);--score-down10-ink: oklch(.42 .15 25);--score-down25-a: oklch(.47 .18 25);--score-down25-b: oklch(.44 .16 5);--score-down25-ink: #ffffff;--score-down-glow: oklch(.62 .19 25 / .3);--score-shimmer: rgb(255 255 255 / .16);--vote-up: var(--ok);--vote-down: var(--bad);--cdot-l: .6;--cdot-c: .14;--ctint-l: .92;--ctint-c: .05;--cink-l: .37;--cink-c: .1;--cink2-l: .44;--cink2-c: .09;--accent-text-on-light: oklch(.47 .19 268);--accent-text-on-dark: oklch(.82 .09 268);--snack-bg: var(--ink);--snack-ink: #f4f0e6;--snack-action: var(--accent-text-on-dark);--shadow-1: 0 1px 2px rgb(30 27 22 / .06), 0 6px 20px rgb(30 27 22 / .07);--shadow-2: 0 2px 6px rgb(30 27 22 / .1), 0 16px 40px rgb(30 27 22 / .16);--scrim: rgb(30 27 22 / .04);--snack-edge: rgb(255 255 255 / .14);--ground-top: #f7f4eb;--ground-mid: #f6f2e8;--ground: linear-gradient(180deg, var(--ground-top) 0, var(--ground-mid) 270px, var(--bg) 740px);--surface-top: #fdfcf8;--surface-edge: rgb(255 255 255 / .85);--surface-fill: linear-gradient(to bottom, var(--surface-top), var(--surface) 64px);--surface-lift: inset 0 1px 0 var(--surface-edge);--glass-top: rgb(253 252 248 / .84);--glass-bottom: rgb(248 245 238 / .9);--glass-solid-top: #fdfcf8;--glass-solid-bottom: #f8f5ee;--glass-edge: rgb(255 255 255 / .9);--glass-rim: rgb(30 27 22 / .08);--glass-lens: oklch(.47 .19 268 / .1);--glass-shadow: 0 10px 30px rgb(30 27 22 / .12), 0 2px 6px rgb(30 27 22 / .08);--dim: rgb(30 27 22 / .4);--dim-strong: rgb(30 27 22 / .6);--sheet-edge: rgb(30 27 22 / .06);--rank-mark-size: 8px;--rank-mark-f: circle(28%);--rank-mark-e: circle(50%);--rank-mark-d: inset(8% round 1px);--rank-mark-c: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);--rank-mark-b: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);--rank-mark-a: polygon(50% 0, 100% 100%, 0 100%);--rank-mark-s: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%);--rank-mark-ss: polygon(50% 0, 62% 36%, 100% 38%, 70% 60%, 80% 100%, 50% 76%, 20% 100%, 30% 60%, 0 38%, 38% 36%);--rank-mark-sss: polygon(50% 0, 62% 24%, 85% 15%, 76% 38%, 100% 50%, 76% 62%, 85% 85%, 62% 76%, 50% 100%, 38% 76%, 15% 85%, 24% 62%, 0 50%, 24% 38%, 15% 15%, 38% 24%);--rank-mark-ex: polygon(35% 0, 65% 0, 65% 35%, 100% 35%, 100% 65%, 65% 65%, 65% 100%, 35% 100%, 35% 65%, 0 65%, 0 35%, 35% 35%);--rank-mark-copper: inset(32% 4% round 1px);--rank-mark-bronze: circle(50%);--rank-mark-silver: inset(8% round 1px);--rank-mark-gold: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);--rank-mark-platinum: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);--rank-mark-diamond: polygon(20% 0, 80% 0, 100% 35%, 50% 100%, 0 35%);--rank-mark-master: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%);--rank-mark-grandmaster: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);--rank-f-tone: var(--ink-3);--rank-e-tone: oklch(.55 .13 150);--rank-e-ring: repeating-linear-gradient(45deg, oklch(.55 .13 150) 0 7px, transparent 7px 11px);--rank-d-tone: oklch(.52 .14 150);--rank-d-ring: repeating-linear-gradient(45deg, oklch(.52 .14 150) 0 3px, transparent 3px 5px);--rank-c-tone: oklch(.54 .1 200);--rank-c-ring: repeating-linear-gradient(135deg, oklch(.54 .1 200) 0 9px, oklch(.42 .09 205) 9px 13px);--rank-b-tone: oklch(.46 .1 200);--rank-b-ring: linear-gradient(180deg, oklch(.5 .1 198), oklch(.4 .09 208));--rank-b-chip-bg: oklch(.42 .09 205);--rank-b-chip-ink: oklch(.98 .01 200);--rank-a-tone: oklch(.5 .19 255);--rank-a-ring: linear-gradient(135deg, oklch(.56 .18 245), oklch(.44 .2 268));--rank-a-chip-bg: oklch(.42 .18 258);--rank-a-chip-ink: oklch(.98 .01 250);--rank-s-tone: oklch(.52 .2 315);--rank-s-ring: linear-gradient(145deg, oklch(.6 .17 305), oklch(.46 .2 325));--rank-s-glow: oklch(.52 .2 315 / .4);--rank-ss-tone: oklch(.52 .22 5);--rank-ss-ring: linear-gradient(145deg, oklch(.6 .18 25), oklch(.5 .22 350) 55%, oklch(.58 .15 60));--rank-ss-glow: oklch(.52 .22 5 / .45);--rank-sss-tone: oklch(.52 .22 335);--rank-sss-ring: conic-gradient(from 0deg, oklch(.6 .15 95), oklch(.52 .22 340), oklch(.52 .18 255), oklch(.58 .16 160), oklch(.6 .15 95));--rank-sss-glow: oklch(.52 .22 335 / .5);--rank-sss-edge: linear-gradient(110deg, oklch(.6 .15 95), oklch(.52 .22 340), oklch(.52 .18 255), oklch(.58 .16 160), oklch(.6 .15 95));--rank-sss-chip-edge: linear-gradient(90deg, oklch(.6 .15 95), oklch(.52 .22 340), oklch(.52 .18 255));--rank-sss-wash: oklch(.52 .18 255);--rank-ex-tone: var(--ink);--rank-ex-ring: var(--rank-sss-edge);--rank-ex-edge: var(--rank-sss-edge);--rank-ex-chip-edge: var(--rank-sss-chip-edge);--rank-ex-chip-bg: var(--ink);--rank-ex-chip-ink: var(--bg);--rank-ex-glow: oklch(.3 0 0 / .4);--rank-copper-tone: oklch(.52 .08 30);--rank-bronze-tone: oklch(.56 .12 55);--rank-bronze-ring: linear-gradient(145deg, oklch(.6 .12 58), oklch(.48 .11 48));--rank-bronze-halo: oklch(.56 .12 55);--rank-bronze-glow: transparent;--rank-silver-tone: oklch(.5 .02 250);--rank-silver-ring: conic-gradient(from 0deg, oklch(.58 .02 250) 0 180deg, oklch(.42 .02 250) 0 360deg);--rank-silver-halo: oklch(.5 .02 250);--rank-silver-glow: transparent;--rank-gold-tone: oklch(.58 .14 85);--rank-gold-ring: repeating-conic-gradient(from 0deg, oklch(.6 .14 88) 0 22.5deg, oklch(.46 .12 78) 0 45deg);--rank-gold-halo: oklch(.6 .14 86);--rank-gold-glow: oklch(.6 .14 86 / .4);--rank-gold-chip-bg: oklch(.84 .15 90);--rank-gold-chip-ink: oklch(.25 .05 85);--rank-platinum-tone: oklch(.54 .1 250);--rank-platinum-ring: repeating-conic-gradient(from 0deg, oklch(.6 .1 250) 0 11.25deg, oklch(.44 .11 270) 0 22.5deg);--rank-platinum-halo: oklch(.56 .1 255);--rank-platinum-glow: oklch(.56 .1 255 / .45);--rank-platinum-chip-bg: oklch(.86 .06 245);--rank-platinum-chip-ink: oklch(.25 .06 255);--rank-diamond-tone: oklch(.52 .1 225);--rank-diamond-ring: conic-gradient(from 0deg, oklch(.6 .08 215) 0 60deg, oklch(.46 .1 232) 0 120deg, oklch(.55 .09 200) 0 180deg, oklch(.6 .08 215) 0 240deg, oklch(.46 .1 232) 0 300deg, oklch(.55 .09 200) 0 360deg);--rank-diamond-halo: oklch(.58 .09 220);--rank-diamond-glow: oklch(.58 .09 220 / .5);--rank-diamond-chip-bg: oklch(.92 .04 220);--rank-diamond-chip-ink: oklch(.28 .05 235);--rank-master-tone: oklch(.42 .15 292);--rank-master-ring: radial-gradient(circle closest-side, oklch(.46 .16 295) calc(100% - 1.6px) , oklch(.6 .13 86) calc(100% - 1.6px) );--rank-master-gold: oklch(.6 .13 86);--rank-master-halo: oklch(.46 .16 292);--rank-master-glow: oklch(.46 .16 292 / .5);--rank-master-chip-bg: oklch(.36 .13 292);--rank-master-chip-ink: oklch(.97 .02 90);--rank-grandmaster-tone: oklch(.58 .14 85);--rank-grandmaster-ring: conic-gradient(from 0deg, oklch(.6 .14 90), oklch(.46 .12 75), oklch(.6 .15 92), oklch(.48 .12 78), oklch(.6 .14 90));--rank-grandmaster-edge: linear-gradient(90deg, oklch(.6 .14 90), oklch(.46 .12 75), oklch(.6 .15 92));--rank-grandmaster-halo: oklch(.6 .14 88);--rank-grandmaster-glow: oklch(.6 .14 88 / .55);--rank-grandmaster-chip-bg: oklch(.22 .02 270);--rank-grandmaster-chip-ink: oklch(.93 .09 92)}:root[data-theme=dark]{color-scheme:dark;--bg: #13151c;--surface: #1a1d26;--sunk: #232733;--line: #2b303c;--line-strong: #3d4352;--ink: #ece7dc;--ink-2: #b1aca1;--ink-3: #9a958b;--line-ctrl: #757b8b;--accent: oklch(.78 .11 268);--accent-text: oklch(.8 .1 268);--on-accent: #13151c;--accent-tint: oklch(.31 .07 268);--accent-ink: oklch(.86 .08 268);--ok: oklch(.8 .13 150);--ok-tint: oklch(.31 .05 150);--on-ok: #13151c;--bad: oklch(.76 .13 25);--bad-tint: oklch(.31 .06 25);--warn: oklch(.84 .12 75);--warn-tint: oklch(.32 .05 75);--plc: oklch(.8 .11 305);--plc-tint: oklch(.31 .07 305);--score-up-a: oklch(.3 .055 150);--score-up-b: oklch(.32 .06 168);--score-up-ink: oklch(.86 .12 150);--score-up10-a: oklch(.36 .09 150);--score-up10-b: oklch(.38 .09 168);--score-up10-ink: oklch(.93 .09 150);--score-up25-a: oklch(.78 .16 150);--score-up25-b: oklch(.8 .12 185);--score-up25-ink: #13151c;--score-up-glow: oklch(.75 .17 150 / .4);--score-down-a: oklch(.3 .06 25);--score-down-b: oklch(.31 .065 5);--score-down-ink: oklch(.84 .1 25);--score-down10-a: oklch(.36 .09 25);--score-down10-b: oklch(.37 .09 5);--score-down10-ink: oklch(.91 .07 25);--score-down25-a: oklch(.74 .15 25);--score-down25-b: oklch(.76 .13 5);--score-down25-ink: #13151c;--score-down-glow: oklch(.7 .17 25 / .4);--score-shimmer: rgb(255 255 255 / .22);--cdot-l: .76;--cdot-c: .12;--ctint-l: .31;--ctint-c: .055;--cink-l: .91;--cink-c: .05;--cink2-l: .84;--cink2-c: .06;--snack-bg: #ece7dc;--snack-ink: #13151c;--snack-action: var(--accent-text-on-light);--shadow-1: 0 1px 2px rgb(0 0 0 / .35), 0 6px 20px rgb(0 0 0 / .25);--shadow-2: 0 2px 6px rgb(0 0 0 / .4), 0 16px 40px rgb(0 0 0 / .45);--scrim: rgb(255 255 255 / .03);--snack-edge: rgb(255 255 255 / .7);--ground-top: #171a23;--ground-mid: #15171f;--surface-top: #1e2230;--surface-edge: rgb(255 255 255 / .06);--glass-top: rgb(31 35 46 / .88);--glass-bottom: rgb(24 27 36 / .92);--glass-solid-top: #1f232e;--glass-solid-bottom: #181b24;--glass-edge: rgb(255 255 255 / .1);--glass-rim: rgb(255 255 255 / .07);--glass-lens: oklch(.78 .11 268 / .16);--glass-shadow: 0 10px 30px rgb(0 0 0 / .5), 0 2px 6px rgb(0 0 0 / .35);--dim: rgb(0 0 0 / .6);--dim-strong: rgb(0 0 0 / .8);--sheet-edge: rgb(255 255 255 / .14);--rank-e-tone: oklch(.74 .15 150);--rank-e-ring: repeating-linear-gradient(45deg, oklch(.74 .15 150) 0 7px, transparent 7px 11px);--rank-d-tone: oklch(.72 .16 150);--rank-d-ring: repeating-linear-gradient(45deg, oklch(.72 .16 150) 0 3px, transparent 3px 5px);--rank-c-tone: oklch(.74 .11 200);--rank-c-ring: repeating-linear-gradient(135deg, oklch(.74 .11 200) 0 9px, oklch(.62 .1 205) 9px 13px);--rank-b-tone: oklch(.7 .11 200);--rank-b-ring: linear-gradient(180deg, oklch(.78 .11 198), oklch(.64 .1 208));--rank-a-tone: oklch(.7 .18 250);--rank-a-ring: linear-gradient(135deg, oklch(.76 .15 242), oklch(.64 .2 268));--rank-s-tone: oklch(.72 .18 315);--rank-s-ring: linear-gradient(145deg, oklch(.8 .14 300), oklch(.64 .19 325));--rank-s-glow: oklch(.72 .18 315 / .4);--rank-ss-tone: oklch(.72 .2 8);--rank-ss-ring: linear-gradient(145deg, oklch(.8 .17 25), oklch(.66 .22 350) 55%, oklch(.8 .15 60));--rank-ss-glow: oklch(.72 .2 8 / .45);--rank-sss-tone: oklch(.78 .2 330);--rank-sss-ring: conic-gradient(from 0deg, oklch(.88 .16 95), oklch(.72 .22 340), oklch(.7 .18 255), oklch(.85 .16 160), oklch(.88 .16 95));--rank-sss-glow: oklch(.78 .2 330 / .5);--rank-sss-edge: linear-gradient(110deg, oklch(.88 .16 95), oklch(.72 .22 340), oklch(.7 .18 255), oklch(.85 .16 160), oklch(.88 .16 95));--rank-sss-chip-edge: linear-gradient(90deg, oklch(.88 .16 95), oklch(.72 .22 340), oklch(.7 .18 255));--rank-sss-wash: oklch(.7 .18 255);--rank-ex-glow: oklch(.95 0 0 / .35);--rank-copper-tone: oklch(.74 .08 30);--rank-bronze-tone: oklch(.72 .12 55);--rank-bronze-ring: linear-gradient(145deg, oklch(.78 .11 60), oklch(.62 .11 48));--rank-bronze-halo: oklch(.72 .12 55);--rank-silver-tone: oklch(.8 .02 250);--rank-silver-ring: conic-gradient(from 0deg, oklch(.88 .01 250) 0 180deg, oklch(.66 .02 250) 0 360deg);--rank-silver-halo: oklch(.8 .02 250);--rank-gold-tone: oklch(.82 .15 88);--rank-gold-ring: repeating-conic-gradient(from 0deg, oklch(.88 .15 92) 0 22.5deg, oklch(.7 .14 80) 0 45deg);--rank-gold-halo: oklch(.84 .15 88);--rank-gold-glow: oklch(.82 .15 85 / .35);--rank-platinum-tone: oklch(.82 .09 245);--rank-platinum-ring: repeating-conic-gradient(from 0deg, oklch(.9 .06 215) 0 11.25deg, oklch(.7 .11 270) 0 22.5deg);--rank-platinum-halo: oklch(.82 .1 250);--rank-platinum-glow: oklch(.78 .1 250 / .4);--rank-diamond-tone: oklch(.88 .06 220);--rank-diamond-ring: conic-gradient(from 0deg, oklch(.95 .03 215) 0 60deg, oklch(.76 .09 232) 0 120deg, oklch(.86 .06 200) 0 180deg, oklch(.95 .03 215) 0 240deg, oklch(.76 .09 232) 0 300deg, oklch(.86 .06 200) 0 360deg);--rank-diamond-halo: oklch(.88 .06 220);--rank-diamond-glow: oklch(.9 .06 220 / .55);--rank-master-tone: oklch(.7 .17 295);--rank-master-ring: radial-gradient(circle closest-side, oklch(.7 .18 298) calc(100% - 1.6px) , oklch(.84 .14 88) calc(100% - 1.6px) );--rank-master-gold: oklch(.84 .14 88);--rank-master-halo: oklch(.68 .18 295);--rank-master-glow: oklch(.7 .17 295 / .55);--rank-grandmaster-tone: oklch(.84 .14 90);--rank-grandmaster-ring: conic-gradient(from 0deg, oklch(.92 .13 95), oklch(.72 .14 80), oklch(.84 .14 90), oklch(.7 .13 78), oklch(.92 .13 95));--rank-grandmaster-edge: linear-gradient(90deg, oklch(.92 .13 95), oklch(.72 .14 80), oklch(.84 .14 90));--rank-grandmaster-halo: oklch(.86 .14 90);--rank-grandmaster-glow: oklch(.86 .14 90 / .55)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root,:root[data-theme=dark]{--glass-top: var(--glass-solid-top);--glass-bottom: var(--glass-solid-bottom)}}@media(prefers-reduced-transparency:reduce){:root,:root[data-theme=dark]{--glass-top: var(--glass-solid-top);--glass-bottom: var(--glass-solid-bottom);--blur-bar: 0px;--saturate-bar: 100%;--blur-dim: 0px;--dim: var(--dim-strong)}}@media(prefers-contrast:more){:root,:root[data-theme=dark]{--glass-top: var(--glass-solid-top);--glass-bottom: var(--glass-solid-bottom);--glass-rim: var(--line-strong);--glass-lens: var(--accent-tint);--blur-bar: 0px;--saturate-bar: 100%;--blur-dim: 0px}}.hue{--c-dot: oklch(var(--cdot-l) calc(var(--cdot-c) * var(--cs, 1)) var(--ch, 250));--c-tint: oklch(var(--ctint-l) calc(var(--ctint-c) * var(--cs, 1)) var(--ch, 250));--c-ink: oklch(var(--cink-l) calc(var(--cink-c) * var(--cs, 1)) var(--ch, 250));--c-ink2: oklch(var(--cink2-l) calc(var(--cink2-c) * var(--cs, 1)) var(--ch, 250))}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-color:var(--line-strong) transparent;scroll-padding-top:calc(var(--safe-t) + 16px);background:var(--bg)}body{margin:0;min-height:100dvh;background:transparent;color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);font-feature-settings:"cv11","ss01","calt";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;caret-color:var(--accent);overflow-x:clip}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--ground);pointer-events:none}::selection{background:var(--accent-tint);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}h1,h2,h3,h4,p,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}img,svg{display:block}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:var(--accent-text);text-underline-offset:.18em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}[tabindex="-1"]:focus{outline:none}.num,time{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:calc(var(--safe-t) + 8px);z-index:100;padding:12px 16px;border-radius:var(--r-md);background:var(--ink);color:var(--bg);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.app{min-height:100dvh}.rail-wrap{display:none}.app-body{min-width:0}.main{width:100%;max-width:var(--content-max);margin:0 auto;padding:calc(var(--safe-t) + var(--s-3)) calc(var(--gutter) + var(--safe-r)) calc(var(--tabbar-clear) + var(--s-7)) calc(var(--gutter) + var(--safe-l))}.screen{animation:screen-in var(--dur-2) var(--ease-out) both}.screen-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-8) var(--s-4);text-align:center;min-height:200px}.screen-error-title{font-family:var(--font-serif);font-size:var(--fs-title);font-weight:700;color:var(--ink)}.screen-error-sub{font-size:var(--fs-sub);color:var(--ink-2);max-width:320px}.screen-error-btn{margin-top:var(--s-2)}.tabbar,.rail-nav,.week-sticky,.accept-dock{background:linear-gradient(to bottom,var(--glass-top),var(--glass-bottom));-webkit-backdrop-filter:blur(var(--blur-bar)) saturate(var(--saturate-bar));backdrop-filter:blur(var(--blur-bar)) saturate(var(--saturate-bar))}.tabbar,.rail-nav{box-shadow:inset 0 1px 0 var(--glass-edge),0 0 0 1px var(--glass-rim),var(--glass-shadow)}.tabbar{position:fixed;left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);bottom:var(--tabbar-gap);z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--tabbar-h);padding:6px;border-radius:24px;touch-action:manipulation}.tab-lens{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px) / var(--tabs, 5));border-radius:18px;background:var(--glass-lens);box-shadow:inset 0 1px 0 var(--glass-edge);transform:translate(calc(var(--tab, 0) * 100%));pointer-events:none;transition:transform var(--dur-1) var(--ease-standard),opacity var(--dur-1) var(--ease-standard)}.tab-lens[data-idle]{opacity:0}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:0;border-radius:18px;color:var(--ink-2);text-decoration:none;font-size:.625rem;font-weight:600;letter-spacing:-.015em;padding-inline:0;transition:color var(--dur-1) var(--ease-standard)}.tab-icon{display:grid;place-items:center;width:100%;height:28px;transition:color var(--dur-1) var(--ease-standard),transform var(--dur-1) var(--ease-standard)}.tab-label{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] .tab-icon{color:var(--accent-ink)}.tab:active .tab-icon{transform:scale(.92)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-pill)}.rail-nav{display:flex;flex-direction:column;gap:var(--s-5);height:100%;overflow-y:auto;padding:20px 12px;border-radius:var(--r-glass);scrollbar-width:none}.wordmark{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;color:var(--ink);text-decoration:none;font-size:1.25rem;font-weight:750;letter-spacing:-.02em}.wordmark img{border-radius:8px}.rail-group{display:flex;flex-direction:column;gap:2px}.rail-group+.rail-group{padding-top:var(--s-4);border-top:1px solid var(--line)}.rail-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-pill);color:var(--ink-2);text-decoration:none;font-weight:560;transition:background-color var(--dur-1) var(--ease-standard),color var(--dur-1) var(--ease-standard)}.rail-link[aria-current=page]{background:var(--glass-lens);box-shadow:inset 0 1px 0 var(--glass-edge);color:var(--accent-ink);font-weight:650}.rail-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-foot{margin-top:auto;padding:0 12px;font-size:var(--fs-meta);color:var(--ink-2)}.offline{position:sticky;top:calc(var(--safe-t) + 8px);z-index:30;display:flex;align-items:center;gap:10px;margin:calc(var(--safe-t) + 8px) calc(var(--gutter) + var(--safe-r)) 0 calc(var(--gutter) + var(--safe-l));padding:4px 6px 4px 14px;border-radius:var(--r-lg);background:var(--warn-tint);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--glass-rim);color:var(--warn);font-size:var(--fs-meta);font-weight:600;line-height:1.4}.offline svg{flex:none}.offline p{flex:1;padding:4px 0}.offline-retry{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:var(--r-pill);color:var(--warn);font-weight:700}.update-bar{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:calc(var(--safe-t) + 8px) calc(var(--gutter) + var(--safe-r)) 8px calc(var(--gutter) + var(--safe-l));background:var(--accent-tint);color:var(--accent-text);font-size:var(--fs-meta);font-weight:700;text-align:left}.offline+.update-bar{margin-top:8px}.saved-pill-wrap{display:flex;justify-content:center;margin-bottom:8px}.saved-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--sunk);color:var(--ink-2);font-size:var(--fs-meta);font-weight:650}html:has(.ptr){overscroll-behavior-y:contain}.ptr-ind{display:grid;place-items:center;overflow:hidden;color:var(--ink-2);transition:height var(--dur-2) var(--ease-out)}.ptr-ind.ptr-idle{height:0}.snack-host{position:fixed;left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 12px);bottom:calc(var(--tabbar-clear) + 12px);z-index:50;display:flex;justify-content:center;pointer-events:none}.snack{display:flex;align-items:center;gap:2px;width:100%;max-width:520px;padding:4px 4px 4px 18px;border-radius:26px;background:var(--snack-bg);color:var(--snack-ink);box-shadow:inset 0 1px 0 var(--snack-edge),0 0 0 1px var(--glass-rim),var(--shadow-2);pointer-events:auto;animation:snack-in var(--dur-2) var(--ease-out) both}.snack p{flex:1;padding:10px 0;font-size:.9375rem;line-height:1.35}.snack-action{min-height:44px;padding:0 14px;border-radius:var(--r-pill);color:var(--snack-action);font-weight:750}.snack-close{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);color:var(--snack-ink)}.snack :focus-visible{outline-color:var(--snack-action)}.display,.screen-title,.login-title{font-family:var(--font-display);font-weight:var(--display-wght);font-variation-settings:"opsz" var(--display-opsz);text-wrap:balance}.display{font-size:var(--fs-display);line-height:1.06;letter-spacing:-.012em}.lede{margin-top:8px;max-width:60ch;color:var(--ink-2);text-wrap:pretty}.screen-head{padding:var(--s-2) 0 var(--s-4)}.screen-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.screen-title{font-size:var(--fs-title);line-height:1.12;letter-spacing:-.008em}.screen-actions{display:flex;gap:8px;flex:none}.back-link{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin-left:-8px;padding:0 10px 0 4px;border-radius:var(--r-sm);color:var(--accent-text);font-weight:600;font-size:.9375rem}.section{margin-top:var(--s-6)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:2px}.section-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-headline);font-weight:680;letter-spacing:-.005em}.section-title.tone-bad{color:var(--bad)}.section-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--sunk);color:var(--ink);border:1px solid var(--line-ctrl);font-size:.75rem;font-weight:700}.section-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);font-weight:600;font-size:.9375rem;text-decoration:none}.quiet-line{padding:8px 0;color:var(--ink-2);font-size:.9375rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-pill);font-size:.9375rem;font-weight:650;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-2) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-ctrl)}.btn-danger{background:transparent;color:var(--bad);border:1px solid var(--line-strong)}.btn-quiet{min-height:44px;padding:0 12px;background:transparent;color:var(--accent-text)}.btn-disabled{background:var(--sunk);color:var(--ink-2);cursor:not-allowed;width:100%}.btn-lg{min-height:56px;font-size:1.0625rem}.btn-sm{min-height:44px;padding:0 16px}.btn-block{width:100%}.btn-danger-solid{background:var(--bad);color:var(--bad-tint)}.btn:disabled{opacity:.5}.btn-primary:disabled{opacity:1;background:var(--sunk);color:var(--ink-2);border:1px solid var(--line-ctrl);box-shadow:none}.icon-btn{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:var(--r-pill);color:var(--ink);transition:background-color var(--dur-1) var(--ease-out)}.icon-btn-sm{width:44px;height:44px;color:var(--ink-2)}.icon-btn:active{background:var(--sunk)}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:620;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip:disabled{opacity:.45}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s-2)}.chips-scroll{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{flex:none;scroll-snap-align:start}.tag{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:1px 8px;border-radius:6px;background:var(--sunk);color:var(--ink-2);font-size:.75rem;line-height:1.3;font-weight:680;letter-spacing:.01em;white-space:nowrap}.tag.hue{background:var(--c-tint);color:var(--c-ink)}.tag-accent{background:var(--accent-tint);color:var(--accent-ink)}.tag-warn{background:var(--warn-tint);color:var(--warn)}.tag-plc,.mark-placement{background:var(--plc-tint);color:var(--plc)}.mark-present{background:var(--ok-tint);color:var(--ok)}.mark-absent{background:var(--bad-tint);color:var(--bad)}.seg-wrap{position:relative;min-width:0}.seg-wrap:before,.seg-wrap:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:28px;pointer-events:none;opacity:0;transition:opacity var(--dur-2) var(--ease-out)}.seg-wrap:before{left:0;border-radius:14px 0 0 14px;background:linear-gradient(to right,var(--sunk) 20%,transparent)}.seg-wrap:after{right:0;border-radius:0 14px 14px 0;background:linear-gradient(to left,var(--sunk) 20%,transparent)}.seg-wrap[data-more-start]:before,.seg-wrap[data-more-end]:after{opacity:1}.seg{display:flex;gap:2px;padding:2px;border-radius:14px;background:var(--sunk);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg-btn{position:relative;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:max-content;padding:0 14px;border-radius:12px;color:var(--ink-2);font-size:.875rem;font-weight:600;white-space:nowrap;scroll-snap-align:start;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.seg-btn>svg{flex:none}.seg-btn[data-on=true]{background:linear-gradient(var(--glass-lens),var(--glass-lens)),var(--surface);color:var(--ink);font-weight:700;box-shadow:inset 0 1px 0 var(--glass-edge),0 1px 2px #00000014,0 0 0 1px var(--glass-rim)}.timeline>li+li,.dl-list>li+li{border-top:1px solid var(--line)}.class-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;column-gap:12px;padding:14px 0}.cr-time{display:flex;flex-direction:column;padding-top:1px;line-height:1.3;white-space:nowrap}.cr-body{grid-column:2 / -1;min-width:0}.clock{white-space:nowrap}.ampm{margin-left:2px;font-size:.75em;font-weight:600;letter-spacing:.01em}.cr-start{font-size:.9375rem;font-weight:680}.cr-end{font-size:.8125rem;color:var(--ink-2)}.is-past .cr-start{color:var(--ink-2);font-weight:560}.is-now .cr-start{color:var(--accent-text)}.cr-name{display:flex;align-items:flex-start;gap:8px;font-weight:640;line-height:1.3;overflow-wrap:anywhere}.cdot{flex:none;display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c-dot)}.cr-name .cdot,.att-name .cdot{margin-top:.4em}.cr-meta{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:2px;padding-left:18px;color:var(--ink-2);font-size:var(--fs-meta)}.cr-venue{display:inline-flex;align-items:center;gap:3px}.cr-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;padding-left:18px}.cr-reason{font-size:.8125rem;color:var(--ink-2)}.is-cancelled .cr-name s{color:var(--ink-2);text-decoration-thickness:1.5px}.is-cancelled .cr-start{color:var(--ink-2);text-decoration:line-through}.mark-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:340px;margin-top:10px}.mark-opt{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;padding:0 4px;border-radius:var(--r-pill);border:1.5px solid var(--line-ctrl);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:620;transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-2) var(--ease-out)}.mark-opt:active{transform:scale(.96)}.mk-dot{flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}.mk-present .mk-dot{background:var(--ok)}.mk-absent .mk-dot{background:var(--bad)}.mk-placement .mk-dot{background:var(--plc)}@media(max-width:400px){.mark-opt{padding:0 2px;font-size:.8125rem;letter-spacing:-.005em}.mark-opt .mk-dot{display:none}}.mark-chip{display:inline-flex;align-items:center;min-height:44px;margin:2px 0 -6px;border-radius:var(--r-pill)}.mark-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border-radius:var(--r-pill);font-size:.875rem;font-weight:680;background:var(--sunk);color:var(--ink-2)}.mark-pill .mk-dot{background:currentColor}.mark-pill.mk-present{background:var(--ok-tint);color:var(--ok)}.mark-pill.mk-absent{background:var(--bad-tint);color:var(--bad)}.mark-pill.mk-placement{background:var(--plc-tint);color:var(--plc)}.mark-chip:active .mark-pill{transform:scale(.97)}.cr-pending{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--warn);font-size:.8125rem;font-weight:650}.now-line{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;align-items:center;height:20px;margin:-10px 0;position:relative;z-index:1;border:0!important}.now-line+li{border-top-color:transparent!important}.now-time{justify-self:start;padding-right:4px;background:var(--bg);color:var(--accent-text);font-size:.8125rem;font-weight:720}.now-rule{position:relative;height:2px;border-radius:2px;background:var(--accent)}.now-rule:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.dl-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;column-gap:12px;padding:12px 0}.dl-body{min-width:0}.done-box{display:grid;place-items:center;align-self:start;width:44px;height:44px;margin:-6px -10px 0 0;border-radius:var(--r-md)}.done-box-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line-ctrl);background:var(--surface);color:var(--on-ok);transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.done-box[aria-checked=true] .done-box-mark{background:var(--ok);border-color:var(--ok)}.done-box:active .done-box-mark{transform:scale(.88)}.dl-in-agenda .dl-title{padding-top:1px}.dl-side{display:flex;flex-direction:column;align-items:center;align-self:start;margin:-6px -10px 0 0}.dl-side .done-box{margin:0}.dl-side .dl-choice{height:38px}.dl-ghost{color:var(--ink-3);opacity:.55;stroke-width:2}.dl-side .dl-decline .done-box-mark{border-radius:50%}.dl-side .dl-decline[aria-checked=true] .done-box-mark{background:var(--ink-3);border-color:var(--ink-3);color:var(--surface)}.is-done.dl-row .dl-rel{color:var(--ink-2)}.dl-side .cr-report{width:44px;height:36px;margin:0}.dl-date{display:flex;flex-direction:column;align-items:center;justify-content:center;height:44px;border-radius:var(--r-md);background:var(--sunk);line-height:1}.dl-day{font-size:1.125rem;font-weight:720}.dl-mon{margin-top:3px;font-size:.75rem;font-weight:620;color:var(--ink-2)}.dl-title{font-weight:640;line-height:1.3;overflow-wrap:anywhere}.dl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;color:var(--ink-2);font-size:var(--fs-meta)}.dl-detail{margin-top:2px;color:var(--ink-2);font-size:.8125rem}.is-overdue .dl-rel{color:var(--bad);font-weight:650}.is-done .dl-title{color:var(--ink-2);text-decoration:line-through}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:20px;border-radius:var(--r-lg);background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line)}.empty-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:6px;border-radius:var(--r-md);background:var(--sunk);color:var(--ink-2)}.empty-title{font-weight:680}.empty-body{max-width:46ch;color:var(--ink-2);font-size:.9375rem}.error-state{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0;padding:16px 18px;border-radius:var(--r-lg);background:var(--bad-tint);color:var(--bad)}.error-state p{font-weight:620;max-width:52ch}.sk{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--sunk)}.sk+.sk{margin-top:8px}.sk:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--scrim),transparent);transform:translate(-100%);animation:shimmer 1.4s ease-in-out infinite}.loading .cr-time .sk+.sk{margin-top:6px}.today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-top:var(--s-2)}.day-nav{display:flex;flex:none;margin-right:-10px}.chip-back{margin-top:12px}.day-swap.from-next{animation:from-right var(--dur-3) var(--ease-out) both}.day-swap.from-prev{animation:from-left var(--dur-3) var(--ease-out) both}.hero{margin-top:var(--s-5);padding:20px 20px 18px;border-radius:var(--r-lg);background:var(--c-tint);color:var(--c-ink);animation:hero-in var(--dur-3) var(--ease-out) both}.hero-count{display:flex;align-items:center;gap:12px;font-size:1.75rem;line-height:1.15;font-weight:720;letter-spacing:-.02em}.hero-count-text{display:inline-block;animation:count-in var(--dur-2) var(--ease-out) both}.hero-course{margin-top:10px;font-size:var(--fs-headline);font-weight:680;line-height:1.3}.hero-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;color:var(--c-ink2);font-size:.9375rem}.hero-meta span{display:inline-flex;align-items:center;gap:4px}.hero-progress{height:4px;margin-top:16px;overflow:hidden;border-radius:2px;background:color-mix(in oklch,var(--c-ink) 18%,transparent)}.hero-progress i{display:block;height:100%;background:var(--c-ink);transform-origin:left center;transition:transform var(--dur-3) var(--ease-out)}.hero-then{margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in oklch,var(--c-ink) 18%,transparent);color:var(--c-ink2);font-size:.9375rem}.live-dot{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:currentColor}.live-dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:live 2.4s var(--ease-out) infinite}.hero-quiet{background:var(--surface-fill);box-shadow:var(--surface-lift);color:var(--ink);border:1px solid var(--line)}.hero-quiet{padding-bottom:6px}.hero-quiet .hero-count{font-size:1.375rem;letter-spacing:-.015em}.hero-sub{color:var(--ink-2);font-size:.9375rem}.hero-next{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.hero-next .sk+.sk{margin-top:8px}.hero-next-course{display:flex;align-items:flex-start;gap:8px;margin-top:4px;font-size:var(--fs-headline);font-weight:680;line-height:1.3}.hero-next-course .cdot{margin-top:.42em}.hero-next-meta{display:flex;flex-wrap:wrap;gap:2px 14px;padding-left:18px;color:var(--ink-2);font-size:var(--fs-meta)}.hero-next-meta span{display:inline-flex;align-items:center;gap:3px}.hero-quiet>.hero-sub{margin-top:8px}.hero-due{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;margin-top:12px;border-top:1px solid var(--line);color:var(--accent-text);font-size:.9375rem;font-weight:640;text-decoration:none}.holiday-line{display:flex;align-items:center;gap:8px;margin-top:var(--s-3);padding:10px 14px;border-radius:var(--r-md);background:var(--sunk);color:var(--ink);font-weight:620}.watch{display:block;margin-top:var(--s-5);padding:12px 16px 8px;border-radius:var(--r-lg);background:var(--warn-tint);color:var(--warn);text-decoration:none}.watch-head{display:flex;align-items:center;gap:8px;min-height:28px;font-weight:720;font-size:.9375rem}.watch-list li{display:flex;align-items:center;gap:10px;min-height:36px;font-size:.9375rem;font-weight:560}.watch-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.watch-n{flex:none;font-weight:760}.view-toggle{margin-bottom:var(--s-2)}.week-sticky{position:sticky;top:0;z-index:10;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 8px;border-bottom:1px solid var(--line)}.week-sticky+.week-legend{margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter)}.week-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px}.week-label{font-weight:680;font-size:.9375rem}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.wday{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:74px;padding:6px 0;border-radius:var(--r-md)}.wd{font-size:.75rem;font-weight:620;color:var(--ink-2)}.dn{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:1.0625rem;font-weight:650;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.wday.is-today .dn{color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.wday[aria-pressed=true] .dn{background:var(--ink);color:var(--bg);box-shadow:none}.wday.is-today[aria-pressed=true] .dn{background:var(--accent);color:var(--on-accent)}.wday.is-holiday,.mcell.is-holiday,.hol-mark{background-image:repeating-linear-gradient(135deg,var(--sunk) 0 3px,transparent 3px 7px)}.marks{display:flex;align-items:center;justify-content:center;gap:3px;height:7px}.marks .cdot{width:7px;height:7px}.dl-bar{flex:none;display:inline-block;width:12px;height:4px;border-radius:2px;background:var(--ink)}.week-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 0;border-bottom:1px solid var(--line)}.week-legend .legend,.month-legend .legend{margin:0}.month-legend{margin-top:12px}.agenda{padding-top:4px}.day-block{padding:16px 0 6px;scroll-margin-top:148px}.day-block+.day-block{border-top:1px solid var(--line-strong)}.day-block.is-empty{padding:10px 0}.day-head{display:flex;align-items:center;gap:8px;min-height:32px;font-size:1rem;font-weight:720}.day-empty{margin-left:auto;color:var(--ink-2);font-size:var(--fs-meta);font-weight:500}.day-block .timeline{margin-top:2px}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.month-wd{padding:4px 0;text-align:center;color:var(--ink-2);font-size:.75rem;font-weight:620}.month-wd-rest{display:none}.mcell{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:58px;padding:5px 0 8px;border-radius:var(--r-md);transition:background-color var(--dur-2) var(--ease-out)}.mnum{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-weight:620}.mcell.is-out .mnum{color:var(--ink-3);font-weight:500}.mcell.is-today .mnum{background:var(--accent);color:var(--on-accent)}.mcell[aria-pressed=true]{background-color:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ink)}.month.is-loading .mcell{opacity:.6}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--ink-2);font-size:.8125rem}.legend li{display:flex;align-items:center;gap:6px}.hol-mark{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--line-strong)}.month-day{margin-top:var(--s-4);border-top:1px solid var(--line-strong)}.safe-line{display:flex;align-items:center;gap:8px;margin-bottom:var(--s-2);padding:10px 14px;border-radius:var(--r-md);background:var(--ok-tint);color:var(--ok);font-size:.9375rem;font-weight:640}.safe-line svg{flex:none}.att-list>li+li{border-top:1px solid var(--line)}.att-row{display:flex;flex-direction:column;gap:10px;padding:18px 0 8px}.att-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.att-id{display:flex;flex-direction:column;gap:2px;min-width:0}.att-name{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-headline);font-weight:680;line-height:1.3;overflow-wrap:anywhere}.att-meta{padding-left:18px;color:var(--ink-2);font-size:var(--fs-meta)}.att-left{display:flex;align-items:baseline;gap:4px;flex:none}.att-left-n{font-size:var(--fs-figure);line-height:1;font-weight:720;letter-spacing:-.03em}.att-left-l{color:var(--ink-2);font-size:.9375rem;font-weight:620}.att-left.tone-warn .att-left-n,.att-line.tone-warn{color:var(--warn)}.att-left.tone-bad .att-left-n,.att-line.tone-bad{color:var(--bad)}.att-plc{padding-left:18px}.att-line{padding-left:18px;color:var(--ink-2);font-size:.9375rem}.att-line.tone-warn,.att-line.tone-bad{font-weight:620}.att-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;max-width:480px;margin:2px 0 0;padding:0 18px}.att-grid>div{min-width:0}.att-grid dt{color:var(--ink-2);font-size:.75rem;font-weight:600;white-space:nowrap}.att-grid dd{margin:0;font-size:var(--fs-headline);font-weight:680;line-height:1.3}.att-disclose{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:0 4px 0 18px;border-top:1px solid var(--line);color:var(--accent-text);font-size:.9375rem;font-weight:640;text-align:left}.att-disclose svg{flex:none;transition:transform var(--dur-2) var(--ease-out)}.is-open .att-disclose[data-track="attendance.course.toggle"] svg{transform:rotate(180deg)}.att-history{padding:0 0 8px 18px}.hist-note{padding:4px 0 8px;color:var(--ink-2);font-size:var(--fs-meta)}.hist-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;font-size:var(--fs-meta)}.hist-list li+li{border-top:1px solid var(--line)}.hist-time{color:var(--ink-2)}.hist-pick{position:relative;display:inline-flex;align-items:center;min-width:124px;background:var(--sunk);color:var(--ink-2);border-radius:var(--r-pill)}.hist-pick.mk-present{background:var(--ok-tint);color:var(--ok)}.hist-pick.mk-absent{background:var(--bad-tint);color:var(--bad)}.hist-pick.mk-placement{background:var(--plc-tint);color:var(--plc)}.hist-pick svg{position:absolute;right:12px;pointer-events:none}.hist-sel{appearance:none;width:100%;min-height:44px;padding:0 34px 0 14px;border:1.5px solid var(--line-ctrl);border-radius:var(--r-pill);background:transparent;color:inherit;font:inherit;font-size:.875rem;font-weight:680;cursor:pointer}.hist-sel option{background:var(--surface);color:var(--ink)}.hist-list li>.hist-state{grid-column:1 / -1;display:flex;align-items:center;gap:6px;margin:-4px 0 6px;color:var(--warn);font-size:.8125rem;font-weight:650}.done-group{margin-top:var(--s-6);border-top:1px solid var(--line-strong)}.done-group>summary{display:flex;align-items:center;gap:8px;min-height:52px;cursor:pointer;list-style:none;font-size:var(--fs-headline);font-weight:680}.done-group>summary::-webkit-details-marker{display:none}.done-group>summary .notes-chev{margin-left:auto}.me-card{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line);color:inherit;text-decoration:none}.avatar{display:grid;place-items:center;flex:none;width:48px;height:48px;overflow:hidden;border-radius:50%;background:var(--sunk);color:var(--ink);font-weight:720;font-size:1.0625rem}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-lg{width:72px;height:72px;font-size:1.5rem}.more-list{margin-top:var(--s-3)}.more-list>li+li{border-top:1px solid var(--line)}.more-row{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 0;color:var(--ink);text-align:left;text-decoration:none}.more-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-md);background:var(--sunk);color:var(--ink)}.more-text{display:flex;flex-direction:column;flex:1;min-width:0}.more-label{font-weight:640}.more-sub{color:var(--ink-2);font-size:var(--fs-meta);overflow-wrap:anywhere}.more-chev{flex:none;color:var(--ink-3)}.more-block{margin-top:var(--s-5)}.seg-theme{margin-top:8px}.more-signout{margin-top:var(--s-5);border-top:1px solid var(--line);color:var(--bad)}.more-signout .more-icon{background:var(--bad-tint);color:var(--bad)}.ios-hint{padding:12px 16px;border-radius:var(--r-md);background:var(--sunk);font-size:.9375rem}.inline-icon{display:inline;vertical-align:-3px}.about-foot{margin-top:var(--s-5);color:var(--ink-2);font-size:var(--fs-meta)}.profile-id{display:flex;align-items:center;gap:16px;margin-top:4px}.profile-name-wrap{min-width:0}.profile-name{font-size:1.25rem;line-height:1.25;font-weight:700;letter-spacing:-.01em}.profile-email{color:var(--ink-2);font-size:.9375rem;overflow-wrap:anywhere}.facts{margin:var(--s-5) 0 0;border-top:1px solid var(--line)}.facts>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--ink-2);white-space:nowrap}.facts dd{margin:0;min-width:0;font-weight:650;text-align:right;text-wrap:pretty;overflow-wrap:anywhere}@media(max-width:419.98px){.facts-stack>div{grid-template-columns:minmax(0,1fr)}.facts-stack dd{text-align:left;text-wrap:balance}}.profile-sec{margin:var(--s-6) 0 4px}.enrol-list li{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid var(--line)}.enrol-name{flex:1;min-width:0;font-weight:620}.enrol-sec{flex:none;color:var(--ink-2);font-size:var(--fs-meta)}.profile-out{width:100%;margin-top:var(--s-6)}.mat-group{margin-top:var(--s-5)}.mat-course{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line-strong);font-size:var(--fs-headline);font-weight:680;line-height:1.3}.mat-code{margin-left:auto;color:var(--ink-2);font-size:.8125rem;font-weight:600}.mat-list>li+li{border-top:1px solid var(--line)}.mat-row{display:flex;align-items:center;gap:12px;padding:14px 0}.mat-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.mat-title{font-weight:620;overflow-wrap:anywhere}.mat-desc,.mat-nolink{color:var(--ink-2);font-size:var(--fs-meta)}.sync-lede{max-width:26ch;font-size:1.25rem;line-height:1.3;font-weight:680;letter-spacing:-.012em;text-wrap:balance}.sync-lede2{max-width:44ch;margin-top:8px;color:var(--ink-2)}.sync-actions{display:flex;flex-direction:column;gap:10px;margin-top:var(--s-5)}.sync-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.sync-secondary .btn{padding:0 12px;white-space:normal;text-align:center}@media(max-width:389px){.sync-secondary .btn svg{display:none}}.sync-secondary .sk+.sk{margin-top:0}.feed-status{display:flex;align-items:flex-start;gap:8px;margin-top:var(--s-4);color:var(--ok);font-size:.9375rem}.feed-status svg{flex:none;margin-top:2px}.feed-status span{color:var(--ink-2)}.feed-status strong{color:var(--ink)}.notice{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-tint);color:var(--warn);font-size:.9375rem;font-weight:620;line-height:1.4}.notice svg{flex:none;margin-top:1px}.link-disclosure{margin-top:var(--s-2)}.link-disclosure>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding-right:8px;color:var(--accent-text);font-size:.9375rem;font-weight:640;cursor:pointer;list-style:none;border-radius:var(--r-sm)}.link-disclosure>summary::-webkit-details-marker{display:none}.link-disclosure>summary .notes-chev{color:currentColor}.sync-notes{margin-top:var(--s-5);border-top:1px solid var(--line)}.sync-notes li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:.9375rem}.sync-notes svg{margin-top:2px;color:var(--ink)}.sync-note-title{color:var(--ink);font-weight:680}.reset-btn{margin-top:var(--s-4)}.feed-url{margin-top:4px;padding:10px 12px;border-radius:var(--r-md);background:var(--sunk);color:var(--ink-2);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.45;overflow-wrap:anywhere;user-select:all}.sync-side{margin-top:var(--s-6)}.sync-side .section-title{margin-top:var(--s-5)}.steps{margin-top:14px}.steps li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding-bottom:20px}.steps li:not(:last-child):before{content:"";position:absolute;left:15.5px;top:38px;bottom:4px;width:1px;background:var(--line-strong)}.step-n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sunk);color:var(--ink);font-weight:720;font-size:.9375rem}.step-title{padding-top:4px;font-weight:680}.step-body{margin-top:2px;color:var(--ink-2);font-size:.9375rem}.preview{padding:14px 14px 16px;border-radius:var(--r-lg);background:var(--surface-fill);border:1px solid var(--line);box-shadow:var(--surface-lift),var(--shadow-1)}.preview figcaption{margin-bottom:10px;color:var(--ink-2);font-size:.8125rem;font-weight:620}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.preview-col{min-width:0}.preview-day{padding-bottom:6px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:.75rem;font-weight:680}.preview-allday{display:flex;flex-direction:column;gap:2px;min-height:26px;padding:4px 0}.preview-dl{display:block;padding:1px 6px;overflow:hidden;border-radius:4px;background:var(--sunk);color:var(--ink-2);font-size:.75rem;font-weight:620;white-space:nowrap;text-overflow:ellipsis}.preview-dl.hue{background:var(--c-tint);color:var(--c-ink)}.preview-track{position:relative;height:180px;border-radius:8px;background:var(--bg)}.preview-block{position:absolute;left:2px;right:2px;display:flex;flex-direction:column;padding:3px 6px;overflow:hidden;border-radius:6px;background:var(--c-tint);color:var(--c-ink);font-size:.75rem;line-height:1.25}.preview-code,.preview-time{flex:none}.preview-code{overflow:hidden;font-weight:720;white-space:nowrap;text-overflow:ellipsis}.preview-time{color:var(--c-ink2)}.preview-sk{margin-bottom:var(--s-2)}.login{max-width:1120px;min-height:100dvh;margin:0 auto;padding:calc(var(--safe-t) + 28px) calc(var(--gutter) + var(--safe-r)) calc(var(--safe-b) + 40px) calc(var(--gutter) + var(--safe-l))}.login-brand{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:750;letter-spacing:-.02em}.login-brand img{border-radius:9px}.login-title{margin-top:32px;font-size:clamp(2.5rem,1.9rem + 3vw,3.5rem);line-height:1.04;letter-spacing:-.018em}.login-lede{max-width:40ch;margin-top:14px;color:var(--ink-2);font-size:1.0625rem;text-wrap:pretty}.jump-signin,.welcome-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;font-weight:640;font-size:.9375rem;text-decoration:none}.login-notes{margin-top:var(--s-5)}.signin{display:flex;flex-direction:column;gap:12px;max-width:440px;margin-top:var(--s-5);scroll-margin-top:24px}.ack-check{display:flex;align-items:flex-start;gap:12px;min-height:52px;padding:13px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-strong);font-weight:620;line-height:1.4;cursor:pointer;transition:border-color var(--dur-2) var(--ease-out)}.ack-check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}.ack-check:has(input:checked){border-color:var(--accent)}.ack-check.is-nudged{border-color:var(--accent);animation:nudge var(--dur-3) var(--ease-out)}.gsi-slot{position:relative;min-height:44px}.gsi-wrap,.gsi-wrap iframe{color-scheme:light;background:transparent}.gsi-wrap{display:flex;justify-content:center;min-height:44px;transition:opacity var(--dur-2) var(--ease-out),filter var(--dur-2) var(--ease-out)}.gsi-wrap[inert]{opacity:.45;filter:grayscale(1)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:400px;min-height:44px;margin:0 auto;border-radius:999px;border:1px solid var(--line-ctrl);background:#fff;color:#1f1f1f;font:inherit;font-weight:500;cursor:pointer}.btn-google:disabled{opacity:.45;cursor:default}.gsi-sk{position:absolute!important;inset:0}.gsi-guard{position:absolute;inset:0;border-radius:var(--r-pill)}.gsi-failed{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;color:var(--bad);font-weight:600;font-size:.9375rem}.signin-off p{margin-top:10px;color:var(--ink-2);font-size:.9375rem}.signin-help{color:var(--ink-2);font-size:var(--fs-meta)}.signin-error{padding:12px 14px;border-radius:var(--r-md);background:var(--bad-tint);color:var(--bad);font-weight:620;font-size:.9375rem}.signin-wait{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3)}.login-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--s-6);padding-top:8px;border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-meta)}.login-foot .btn-quiet{margin-right:-12px;font-size:var(--fs-meta)}.notes{border-radius:var(--r-lg);background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line)}.notes>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 18px;border-radius:var(--r-lg);cursor:pointer;list-style:none}.notes>summary::-webkit-details-marker{display:none}.notes-heading{display:block;font-size:var(--fs-headline);font-weight:680;line-height:1.3}.notes-sub{display:block;margin-top:2px;color:var(--ink-2);font-size:var(--fs-meta)}.notes-chev{flex:none;color:var(--ink-2);transition:transform var(--dur-2) var(--ease-out)}details[open]>summary .notes-chev{transform:rotate(180deg)}.notes .notes-list{padding:0 18px 6px}.notes-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line)}.about .notes-list li:first-child{border-top:0}.notes-n{padding-top:2px;color:var(--ink-2);font-size:.8125rem;font-weight:720}.notes-title{font-size:1rem;font-weight:680;line-height:1.35}.notes-body{max-width:62ch;margin-top:3px;color:var(--ink-2);font-size:.9375rem;line-height:1.55;text-wrap:pretty}.sheet{width:100%;max-width:100%;max-height:min(90dvh,calc(100dvh - var(--safe-t) - 12px));overflow-y:auto;overscroll-behavior:contain;margin:auto 0 0;padding:0;border:0;border-radius:var(--r-glass) var(--r-glass) 0 0;background:linear-gradient(to bottom,var(--surface-top),var(--surface) 120px);color:var(--ink);box-shadow:inset 0 1px 0 var(--sheet-edge),var(--shadow-2);animation:sheet-in var(--dur-3) var(--ease-out) both}.sheet::backdrop{background:var(--dim, rgb(10 10 14 / .45));-webkit-backdrop-filter:blur(var(--blur-dim, 0px));backdrop-filter:blur(var(--blur-dim, 0px));animation:fade-in var(--dur-2) var(--ease-out) both}.sheet-body{padding:20px calc(var(--gutter) + var(--safe-r)) calc(var(--safe-b) + 16px) calc(var(--gutter) + var(--safe-l))}.sheet-title{font-size:var(--fs-headline);font-weight:700;line-height:1.3;text-wrap:balance}.sheet-sub,.sheet-text{margin-top:4px;color:var(--ink-2);font-size:.9375rem}.sheet-text+.sheet-text{margin-top:8px}.sheet-options{margin-top:12px;border-top:1px solid var(--line)}.sheet-options li+li{border-top:1px solid var(--line)}.sheet-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 4px;color:var(--ink);font-weight:640;text-align:left}.sheet-opt .mk-dot{width:10px;height:10px}.sheet-opt-text{display:flex;flex-direction:column;flex:1}.sheet-opt-note{color:var(--ink-2);font-size:var(--fs-meta);font-weight:500}.sheet-opt[aria-pressed=true]{font-weight:720}.sheet-opt-clear{color:var(--bad)}.sheet-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}@keyframes fade-in{0%{opacity:0}}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}@keyframes hero-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes count-in{0%{opacity:0;transform:translateY(4px)}}@keyframes from-right{0%{opacity:0;transform:translate(18px)}}@keyframes from-left{0%{opacity:0;transform:translate(-18px)}}@keyframes snack-in{0%{opacity:0;transform:translateY(12px)}}@keyframes live{0%{opacity:.55;transform:scale(.5)}to{opacity:0;transform:scale(1.5)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes nudge{30%{transform:translate(-4px)}60%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.sk:after,.live-dot:after{display:none}}@media(hover:hover){.icon-btn:hover,.wday:hover,.mcell:hover{background-color:var(--sunk)}.mcell[aria-pressed=true]:hover{background-color:var(--surface)}.btn-secondary:hover,.chip:not([aria-pressed=true]):hover,.me-card:hover{background:var(--sunk)}.btn-primary:hover{background:color-mix(in oklch,var(--accent) 88%,var(--ink))}.rail-link:not([aria-current]):hover,.seg-btn:not([data-on=true]):hover{background:color-mix(in oklch,var(--sunk) 70%,transparent);color:var(--ink)}.more-row:hover .more-chev{color:var(--ink)}.mark-opt:hover,.sheet-opt:hover,.att-disclose:hover{background-color:var(--sunk)}.done-box:hover .done-box-mark{border-color:var(--ink-2)}}@media(min-width:640px){:root{--gutter: 28px}.main{padding-top:calc(var(--safe-t) + var(--s-5))}.month-wd-rest{display:inline}.mcell{min-height:72px}.class-row,.now-line{grid-template-columns:76px minmax(0,1fr) auto;column-gap:16px}.now-line{grid-template-columns:76px minmax(0,1fr)}.hero{padding:24px 24px 22px}.hero-count{font-size:2.125rem}.hero-quiet{padding-bottom:8px}.sheet{width:min(440px,calc(100% - 48px));margin:auto;border-radius:var(--r-lg)}.sheet-body{padding:22px 24px 20px}.sheet-actions{flex-direction:row-reverse;justify-content:flex-start}}@media(min-width:1024px){:root{--gutter: 48px;--content-max: 1080px}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr)}.rail-wrap{display:block;position:sticky;top:0;height:100dvh;padding:calc(var(--safe-t) + 12px) 0 calc(var(--safe-b) + 12px) calc(var(--safe-l) + 12px)}.tabbar{display:none}.main{padding:calc(var(--safe-t) + 40px) calc(var(--gutter) + var(--safe-r)) calc(var(--safe-b) + 72px) var(--gutter)}.snack-host{left:calc(var(--rail-w) + 24px);bottom:24px;justify-content:flex-start}.offline{margin-inline:var(--gutter)}.today-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:56px;align-items:start}.today-side{padding-top:var(--s-1)}.calendar,.attendance,.deadlines,.more,.materials,.profile,.about{max-width:780px}.calendar:has(.month-layout){max-width:none}.view-toggle{max-width:320px}.week-sticky,.week-sticky+.week-legend{margin:0;padding-inline:0}.month-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:start}.month-day{margin-top:48px;border-top:0}.sync-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}.sync-side{margin-top:0}.sync-lede{font-size:1.5rem}.login{max-width:1120px;padding-top:64px}.login-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);column-gap:64px;align-items:start}.login-intro,.login-notes{grid-column:1}.signin{grid-column:2;grid-row:1 / span 2;position:sticky;top:48px;margin-top:132px}.jump-signin{display:none}}.consent-title{font-size:clamp(2rem,1.6rem + 2vw,2.75rem)}.gate-wait{min-height:100dvh}.login-intro+.signin{margin-top:var(--s-5)}.signin .btn-quiet{align-self:center}.accept-dock{position:sticky;bottom:0;z-index:2;max-width:none;margin-inline:calc(-1 * var(--gutter));padding:12px var(--gutter) calc(12px + var(--safe-b));border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px #00000040}.accept-dock .ack-check{min-height:48px}.mail-facts{margin-top:var(--s-3)}.mail-email{overflow-wrap:anywhere}.mail-found{margin-top:var(--s-2);color:var(--ink-2);font-size:.9375rem}.mail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:var(--s-4)}.mail-callout{flex-basis:100%}.mail-help{flex-basis:100%;margin-top:8px;color:var(--ink-2);font-size:var(--fs-meta)}.mail-sec{margin-top:var(--s-6)}.mail-notes{margin-top:var(--s-2)}.more-list-tight{margin-top:4px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dl-src{display:inline-flex;align-items:center;gap:3px;color:var(--ink-2);font-size:var(--fs-meta)}.field{width:100%;min-height:48px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line-ctrl);background:var(--surface);color:var(--ink);font:inherit}.field::placeholder{color:var(--ink-2);opacity:1}.field-label{display:block;margin:14px 0 6px;font-weight:640;font-size:.9375rem}.src-list>li+li{border-top:1px solid var(--line)}.src-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:2px 8px;padding:8px 0}.src-row-plain{grid-template-columns:minmax(0,1fr)}.src-courses{margin:4px 0;color:var(--ink-2);font-size:var(--fs-meta)}.src-courses li{overflow-wrap:anywhere}.src-courses strong{color:var(--ink);font-weight:640}.src-check{display:grid;place-items:center;width:44px;height:44px;cursor:pointer}.src-check input{width:22px;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}.src-body{min-width:0;padding-top:10px}.src-name{font-weight:640;overflow-wrap:anywhere}.src-email,.src-meta{color:var(--ink-2);font-size:var(--fs-meta);overflow-wrap:anywhere}.src-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.src-subjects{margin-top:4px;color:var(--ink-2);font-size:.8125rem}.src-subjects li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-find>.chips{margin:var(--s-3) 0}.src-find>.btn{width:100%;white-space:normal;text-align:center}.src-find .mail-help{margin:var(--s-3) 0 var(--s-2);line-height:1.5}.src-find .src-courses{display:grid;gap:4px;margin:8px 0}.src-find .src-row-plain{padding:12px 0}.src-sub{margin:var(--s-5) 0 var(--s-2);font-size:var(--fs-body);font-weight:600}.src-map{margin:var(--s-3) 0}.src-map summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--ink-2)}.add-sender{display:flex;gap:8px;margin-top:var(--s-3)}.add-sender .btn{flex:none}.src-find .btn-primary{margin-top:4px}.upd-list>li+li{border-top:1px solid var(--line)}.upd-row{padding:16px 0}.upd-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.upd-head .cdot{margin-top:0}.upd-course{font-size:var(--fs-headline);font-weight:680}.upd-sub{margin-top:2px;color:var(--ink-2);font-size:var(--fs-meta)}.upd-change{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 10px;margin:10px 0 0;font-size:.9375rem}.upd-change dt{color:var(--ink-2)}.upd-change dd{margin:0;font-variant-numeric:tabular-nums}.upd-after{font-weight:640}.upd-warn{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 12px;border-radius:var(--r-md);background:var(--warn-tint);color:var(--warn);font-size:.9375rem;font-weight:600}.upd-warn svg{flex:none;margin-top:2px}.upd-quote{margin:10px 0 0;padding:2px 0 2px 12px;border-left:3px solid var(--line-strong);color:var(--ink-2);font-size:.9375rem}.upd-meta{margin-top:8px;color:var(--ink-2);font-size:var(--fs-meta)}.upd-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.upd-actions:empty{display:none}.upd-by{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--ok);font-size:var(--fs-meta);font-weight:640}.upd-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin-bottom:var(--s-4);padding:12px 12px 12px 16px;border-radius:var(--r-lg);background:var(--accent-tint);color:var(--accent-ink);text-decoration:none}.upd-card-head{display:flex;align-items:center;gap:8px;font-weight:720;font-size:.9375rem}.upd-card-line{grid-column:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem}.upd-card-cta{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;min-height:44px;font-weight:680}.upd-actions .chip{gap:6px}.onb-main{max-width:560px}.onb-title{margin-top:24px;font-size:clamp(2rem,1.6rem + 2vw,2.75rem)}.onb-courses{margin-top:var(--s-5);border-top:1px solid var(--line)}.onb-courses li{padding:8px 0}.onb-code{display:block;color:var(--ink-2);font-weight:500;font-size:var(--fs-meta)}.onb-actions{display:flex;flex-direction:column;gap:10px;margin-top:var(--s-5)}.onb-roll,.onb-roll .btn-lg{margin-top:var(--s-4)}.onb-roll .btn-quiet{display:flex;margin:8px auto 0}.onb-help{margin-top:8px;color:var(--ink-2);font-size:var(--fs-meta)}.onb .signin-error{margin-top:var(--s-4)}.onb-foot{display:flex;justify-content:center;margin-top:var(--s-5);padding-top:8px;border-top:1px solid var(--line)}.tt-sample{margin:var(--s-5) 0 0}.tt-sample img{display:block;width:100%;height:auto;border-radius:var(--r-md);border:1px solid var(--line)}.tt-sample figcaption{margin-top:8px;color:var(--ink-2);font-size:var(--fs-meta)}.tt-sec{margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--line-strong)}.tt-sec-title{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-headline);font-weight:680;line-height:1.3}.tt-sec-title .cdot{margin-top:.45em}.tt-sec-sub{display:block;color:var(--ink-2);font-weight:500;font-size:var(--fs-meta)}.tt-rows{margin:8px 0 12px}.tt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"day slot" "room room";gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.tt-row .field{min-height:44px;padding:0 10px}.tt-day{grid-area:day}.tt-slot{grid-area:slot}.tt-room{grid-area:room;padding-right:52px!important}.tt-remove{grid-area:room;justify-self:end}@media(min-width:640px){.tt-row{grid-template-columns:9.5rem minmax(0,1fr) 8rem 44px;grid-template-areas:"day slot room remove";align-items:center}.tt-room{padding-right:10px!important}.tt-remove{grid-area:remove}}.cr-report{display:inline-grid;place-items:center;width:44px;height:44px;margin:-13px -12px -13px auto;border-radius:var(--r-pill);color:var(--ink-3)}.cr-report:hover{color:var(--ink)}.cr-report:active{background:var(--sunk)}.report-form .seg{margin-bottom:4px}.report-form .sheet-text{margin-top:var(--s-4)}.seg-btn:disabled{color:var(--ink-3);cursor:not-allowed}.login-features{margin-top:var(--s-5, 24px)}.login-features-title{font-size:1rem;font-weight:650;margin:0 0 10px}.feature-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.feature{display:flex;gap:12px;align-items:flex-start}.feature-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-soft, rgba(80,110,255,.14));color:var(--accent, #4a64ff)}.feature-title{display:block;font-size:.95rem}.feature-body{display:block;font-size:.85rem;color:var(--muted);line-height:1.4}.first-mark .btn-text-quiet,.setup-card .btn-text-quiet{min-height:44px;padding:0 6px}.setup-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.setup-row{display:flex;align-items:center;gap:12px;min-height:52px}.setup-icon{flex:none;display:grid;place-items:center;color:var(--accent)}.setup-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:var(--fs-meta);line-height:1.35}.setup-text>strong{font-weight:650;color:var(--ink)}.setup-text>span{color:var(--ink-2)}.setup-row .btn{flex:none}.setup-steps{margin:0;font-size:var(--fs-meta);line-height:1.4;color:var(--ink-2)}.onb-summary{margin:0 0 var(--s-2);font-size:var(--fs-meta);color:var(--ink-2)}.onb-wrong{align-self:center}.btn-text-quiet{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;min-width:44px;background:none;border:none;padding:0 4px;color:var(--muted);font-size:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-text-quiet:hover{color:var(--ink)}.onb-sync-card{display:flex;flex-direction:column;gap:12px;margin-top:var(--s-4);padding:16px;border:1px solid var(--line);border-radius:var(--r-card, 12px);background:var(--card, var(--bg));text-align:left}.onb-sync-head{display:flex;align-items:flex-start;gap:12px}.onb-sync-icon{flex:none;color:var(--accent, #4a64ff);margin-top:2px}.onb-sync-head strong{display:block;font-size:1rem;font-weight:600}.onb-sync-head p{margin-top:2px;color:var(--ink-2);font-size:var(--fs-meta, .85rem);line-height:1.35}.onb-sync-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill, 9999px);background:var(--sunk, #f0f2f5);color:var(--ink-2);font-size:var(--fs-meta, .85rem);font-weight:550;width:fit-content}.onb-sync-badge-ok{color:#1e7e34}.comm-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-height:36px;margin:0 0 -4px;padding:0;color:var(--ink-2);font-size:var(--fs-meta);text-align:left}.comm-line svg{flex:none}.comm-line>span+span:before{content:"·";margin-right:8px}.comm-line:hover{color:var(--ink)}.names-title{display:flex;align-items:center;gap:8px;margin-top:var(--s-4);font-size:.9375rem;font-weight:680}.names-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.names-list li{padding:4px 10px;border-radius:var(--r-pill);background:var(--sunk);font-size:var(--fs-meta)}.field-area{min-height:96px;padding:12px 14px;resize:vertical}.field-hint{margin-top:4px;color:var(--ink-3);font-size:var(--fs-caption);text-align:right}.file-pick{margin-top:var(--s-3)}.file-chosen{display:flex;align-items:center;gap:12px;margin-top:var(--s-3)}.file-thumb{flex:none;width:56px;height:56px;border-radius:8px;border:1px solid var(--line);object-fit:cover}.file-name{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-meta);color:var(--ink-2)}.rep-seg{margin-top:var(--s-3)}.dl-report{margin-left:auto}.mail-covered{display:flex;align-items:flex-start;gap:8px;flex-basis:100%;color:var(--ok)}.mail-covered svg{flex:none;margin-top:2px}.support-form{margin-bottom:var(--s-5)}.support-send{margin-top:var(--s-4)}.ticket-desc{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.upd-meta.is-ok{color:var(--ok);font-weight:640}.admin-tabs{margin-bottom:var(--s-4)}.admin-facts dd{font-variant-numeric:tabular-nums}.admin-inline{display:grid;grid-template-columns:minmax(0,8rem) auto;align-items:end;gap:0 8px;margin-top:var(--s-2)}.admin-inline .field-label{grid-column:1 / -1}.admin-search{display:flex;gap:8px;margin-bottom:var(--s-4)}.admin-search .btn{flex:none}.admin-user{grid-template-columns:72px minmax(0,1fr)}.admin-table-wrap{margin-top:var(--s-3);overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-meta)}.admin-table th,.admin-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.admin-table thead th{color:var(--ink-2);font-weight:640}.admin-table tbody th{font-weight:640}.admin-shot{display:block;max-width:100%;max-height:60dvh;margin:0 auto;border-radius:var(--r-md)}.feed-cats{margin:var(--s-4, 16px) 0}.feed-cats-hint{font-size:.85rem;color:var(--muted);margin:0 0 10px}.feed-cats .chip{gap:6px}.q-card{margin-bottom:var(--s-4);padding:14px 16px;border-radius:var(--r-lg);background:var(--accent-tint);color:var(--accent-ink)}.q-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-weight:720;font-size:.875rem}.q-badge{padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--ink-2);font-weight:600;font-size:.75rem}.q-prompt{margin:6px 0 2px;font-size:1.0625rem;font-weight:720;line-height:1.3}.q-detail{margin:0 0 4px;font-size:.9375rem}.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}.q-opt{gap:8px}.q-count{min-width:1.25em;text-align:center;color:var(--ink-2)}.q-opt[aria-pressed=true] .q-count{color:inherit}.q-meta{margin:0;font-size:var(--fs-meta, .8125rem)}.feat-row{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 0;color:var(--ink);text-align:left}.feat-row:disabled{opacity:.6}.feat-switch{position:relative;flex:none;width:48px;height:28px;box-sizing:content-box;border:4px solid transparent;background-clip:padding-box;margin-left:auto;border-radius:999px;background:var(--line);transition:background .18s var(--ease-out)}.feat-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #00000040;transition:transform .18s var(--ease-out)}.feat-switch[data-on=true]{background:var(--accent)}.feat-switch[data-on=true]:after{transform:translate(20px)}@media(prefers-reduced-motion:reduce){.feat-switch,.feat-switch:after{transition:none}}.use-list{margin-top:var(--s-2)}.use-row{display:grid;grid-template-columns:7.5rem 1fr;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.use-name{font-weight:600;text-transform:capitalize}.use-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.use-bar>span{display:block;height:100%;background:var(--ink)}.use-nums{grid-column:1 / -1;color:var(--ink-2);font-size:var(--fs-meta, .8125rem)}.fr-row{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.fr-name{font-weight:650}.fr-form{display:flex;gap:8px;align-items:center}.fr-input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md, 12px);background:var(--surface);color:var(--ink);font:inherit;letter-spacing:.08em}.fr-code{margin:8px 0;font-size:1.5rem;font-weight:720;letter-spacing:.14em}.cal-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--s-4) * -1);padding-inline:var(--s-4)}.cal-chips::-webkit-scrollbar{display:none}.cal-chips .chip{flex:none}.fr-stack{display:inline-flex;flex:none;align-items:center;margin-left:2px}.fr-av{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--surface);background:var(--c-tint, var(--sunk));color:var(--c-ink, var(--ink));font-size:.6875rem;font-weight:760;line-height:1}.fr-stack .fr-av+.fr-av{margin-left:-7px}.fr-av-more{background:var(--sunk);color:var(--ink-2)}.fr-name{display:flex;align-items:center;gap:8px}.fr-item{list-style:none}.fr-item-btn{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;align-items:center;width:100%;min-height:44px;padding:4px 0;color:var(--ink-2);text-align:left}.fr-item-time{font-size:.8125rem;opacity:.85}.fr-item-body{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 10px;border-left:3px solid var(--c-dot);border-radius:0 10px 10px 0;background:color-mix(in oklch,var(--c-tint) 55%,transparent);font-size:.875rem}.fr-item-text{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;color:var(--c-ink, var(--ink));font-weight:560}.fr-sheet-line{display:flex;align-items:center;gap:6px;margin:4px 0;font-weight:600}.fr-chip{gap:8px;padding-left:8px}.fr-chip-note{font-size:.75rem;font-weight:500;opacity:.75}.fr-free .chips{margin-bottom:var(--s-3, 12px)}.fr-windows li{padding:8px 0;border-top:1px solid var(--line);font-weight:620}.fr-windows li:first-child{border-top:0}.fr-nudge{display:flex;align-items:flex-start;gap:10px;margin-bottom:var(--s-4, 16px);padding:12px 12px 12px 14px;border-radius:var(--r-lg);background:var(--accent-tint);color:var(--accent-ink);font-size:.9375rem}.fr-nudge p{flex:1;min-width:0}.fr-share{display:grid;gap:2px}.fr-share-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:8px 0;color:var(--ink);text-align:left}.fr-share-opt:disabled{opacity:.6}.fr-share-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-ctrl)}.fr-share-opt[aria-checked=true] .fr-share-dot{border:7px solid var(--accent)}.fr-hide{min-height:52px;padding:4px 0}.fr-now{background:var(--accent-tint);color:var(--accent-ink)}.fr-now-none{padding:6px 0 8px;font-size:.9375rem}.notify-device{display:flex;align-items:flex-start;gap:12px;margin:var(--s-2) 0 var(--s-3);padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.notify-device>svg{flex:none;margin-top:2px;color:var(--accent-text)}.notify-device.is-ok{border-color:var(--ok);background:var(--ok-tint)}.notify-device.is-ok>svg{color:var(--ok)}.notify-device.is-bad{border-color:var(--warn);background:var(--warn-tint)}.notify-device.is-bad>svg{color:var(--warn)}.notify-device>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.notify-device-btn{margin-top:6px}.notify-off{opacity:.55}.lead{margin-bottom:var(--s-4)}.lead-label{margin:0 0 8px;font-weight:620}.lead-chips{margin-bottom:8px}.lead-custom{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lead-step{border:1px solid var(--line-strong);border-radius:var(--r-pill)}.lead-input{display:inline-flex;align-items:center;gap:6px;font-weight:620}.lead-input input{width:5.5em;min-height:44px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;text-align:center;font-variant-numeric:tabular-nums}.lead-human{margin:0;color:var(--ink-2);font-size:var(--fs-meta, .8125rem)}.quiet-times{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 var(--s-4)}.quiet-times label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-meta, .8125rem);color:var(--ink-2)}.quiet-times input{min-height:44px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit}.notify-test{width:100%;margin-top:var(--s-5)}.class-row{-webkit-touch-callout:none}.idea-sort{margin-bottom:var(--s-3);max-width:320px}.idea-list>li+li{border-top:1px solid var(--line)}.idea-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:12px;align-items:start;padding:12px 0}.idea-vote{display:flex;flex-direction:column;align-items:center;gap:2px;width:48px}.idea-arrow{display:grid;place-items:center;width:48px;height:40px;border-radius:var(--r-md);color:var(--ink-3);transition:color var(--dur-1) var(--ease-standard),background-color var(--dur-1) var(--ease-standard)}.idea-arrow:active:not(:disabled){background-color:var(--sunk)}.idea-arrow-up[aria-pressed=true]{color:var(--vote-up)}.idea-arrow-down[aria-pressed=true]{color:var(--vote-down)}.idea-arrow[aria-pressed=true] svg{fill:currentColor}.idea-arrow:disabled{cursor:default;opacity:.4}.idea-arrow svg.pop{animation:idea-arrow-pop .36s cubic-bezier(.34,1.56,.64,1)}@keyframes idea-arrow-pop{0%{transform:scale(.7)}55%{transform:scale(1.22)}to{transform:scale(1)}}.idea-net{position:relative;isolation:isolate;display:inline-flex;justify-content:center;min-width:40px;padding:2px 7px;border-radius:var(--r-pill);overflow:hidden;background:var(--sunk);color:var(--ink-2);font-size:var(--fs-meta);font-weight:750;line-height:1.45;font-variant-numeric:tabular-nums}.idea-net-n{position:relative;z-index:1;display:inline-block}.idea-net[data-tier=up]{background:linear-gradient(135deg,var(--score-up-a),var(--score-up-b));color:var(--score-up-ink);box-shadow:0 1px 8px -2px var(--score-up-glow)}.idea-net[data-tier=up-10]{background:linear-gradient(135deg,var(--score-up10-a),var(--score-up10-b));color:var(--score-up10-ink);box-shadow:0 0 0 1px var(--score-up-glow),0 2px 12px -1px var(--score-up-glow)}.idea-net[data-tier=up-25]{background:linear-gradient(135deg,var(--score-up25-a),var(--score-up25-b));color:var(--score-up25-ink);box-shadow:0 0 0 1px var(--score-up-glow),0 3px 16px var(--score-up-glow)}.idea-net[data-tier=down]{background:linear-gradient(135deg,var(--score-down-a),var(--score-down-b));color:var(--score-down-ink);box-shadow:0 1px 8px -2px var(--score-down-glow)}.idea-net[data-tier=down-10]{background:linear-gradient(135deg,var(--score-down10-a),var(--score-down10-b));color:var(--score-down10-ink);box-shadow:0 0 0 1px var(--score-down-glow),0 2px 12px -1px var(--score-down-glow)}.idea-net[data-tier=down-25]{background:linear-gradient(135deg,var(--score-down25-a),var(--score-down25-b));color:var(--score-down25-ink);box-shadow:0 0 0 1px var(--score-down-glow),0 3px 16px var(--score-down-glow)}.idea-net[data-tier$="-25"]:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,var(--score-shimmer) 50%,transparent 70%) no-repeat;background-size:250% 100%;animation:idea-net-shimmer 3.6s ease-in-out infinite}.idea-net[data-tier$="-25"]:before{content:"";position:absolute;z-index:2;top:2px;right:4px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 4px 1px #fffc;animation:idea-net-spark 2.4s ease-in-out infinite}@keyframes idea-net-shimmer{0%{background-position:150% 0}55%,to{background-position:-50% 0}}@keyframes idea-net-spark{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}.idea-net[data-roll]{animation:idea-net-pop .38s cubic-bezier(.34,1.56,.64,1)}.idea-net[data-roll=up] .idea-net-n{animation:idea-net-roll-up .26s var(--ease-out)}.idea-net[data-roll=down] .idea-net-n{animation:idea-net-roll-down .26s var(--ease-out)}@keyframes idea-net-pop{0%{transform:scale(1)}45%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes idea-net-roll-up{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@keyframes idea-net-roll-down{0%{opacity:0;transform:translateY(-70%)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.idea-net,.idea-net-n,.idea-arrow svg.pop{animation:none!important}.idea-net:before,.idea-net:after{display:none}}@media(prefers-contrast:more){.idea-net{box-shadow:none!important}.idea-net:before,.idea-net:after{display:none}}.idea-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:56px;color:var(--ink);text-align:left}.idea-title{font-weight:680;line-height:1.3;overflow-wrap:anywhere;text-wrap:pretty}.idea-author{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--ink-2);font-size:var(--fs-meta)}.idea-avatar{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--accent-tint);color:var(--accent-ink);font-size:.6875rem;font-weight:750;line-height:1}.idea-author-name{overflow-wrap:anywhere}.sheet .idea-author{margin-bottom:var(--s-3)}.idea-author-switch{margin-top:var(--s-2)}.idea-chips{display:flex;flex-wrap:wrap;gap:6px}.idea-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;color:var(--ink-2);font-size:var(--fs-meta);overflow-wrap:anywhere}.idea-note{color:var(--accent-text);font-size:var(--fs-meta);font-weight:560;overflow-wrap:anywhere}.tag-quiet{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong)}.idea-planned{background:var(--accent-tint);color:var(--accent-ink)}.idea-building{background:var(--plc-tint);color:var(--plc)}.idea-shipped{background:var(--ok-tint);color:var(--ok)}.idea-shot{margin-top:var(--s-3)}.idea-counts{margin-bottom:var(--s-2)}.idea-form .chips{margin-bottom:0}.idea-field.field-area{min-height:72px}.field-optional{color:var(--ink-3);font-weight:500}.idea-similar{margin-top:var(--s-3);padding:12px 14px;border-radius:var(--r-md);background:var(--accent-tint)}.idea-similar-head{margin-bottom:8px;color:var(--accent-ink);font-size:var(--fs-meta);font-weight:640}.idea-similar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:8px 0}.idea-similar-row+.idea-similar-row{border-top:1px solid var(--line)}.idea-similar-text{display:flex;flex:1 1 180px;flex-direction:column;gap:4px;min-width:0}.idea-title-edit{margin-top:var(--s-3)}.idea-title-edit summary{display:flex;align-items:center;min-height:44px;color:var(--ink-2);font-size:var(--fs-meta);cursor:pointer;overflow-wrap:anywhere}.idea-title-preview{margin-left:4px;color:var(--ink);font-weight:640}.idea-asked{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--s-3)}.idea-asked-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:44px;padding:12px 14px;border-radius:var(--r-md);background:var(--warn-tint, var(--accent-tint));color:var(--ink);text-align:left}.idea-reply{margin-top:var(--s-3)}.idea-reply .btn{margin-top:var(--s-2)}.idea-fields{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:4px 12px;margin:8px 0;font-size:var(--fs-meta)}.idea-fields dt{color:var(--ink-3);font-weight:600}.idea-fields dd{margin:0;overflow-wrap:anywhere}@media(max-width:420px){.idea-fields{grid-template-columns:minmax(0,1fr)}.idea-fields dd+dt{margin-top:6px}}.idea-admin .idea-chips{margin:6px 0}.idea-score{background:var(--ink);color:var(--bg)}.idea-score-line{margin-bottom:4px}.idea-spec{font-weight:600;overflow-wrap:anywhere}.idea-spec-md{max-height:60dvh;overflow:auto;padding:12px;border-radius:var(--r-md);background:var(--sunk);font-size:.8125rem;white-space:pre-wrap;overflow-wrap:anywhere}.idea-confirm{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:var(--s-2) 0;padding:10px 0;font-size:var(--fs-meta);cursor:pointer}.idea-confirm input{flex:none;width:22px;height:22px;margin-top:1px}.idea-filter{margin-bottom:var(--s-2)}.feat-opts{list-style:none;padding:0 0 6px 16px;border-left:2px solid var(--line, rgb(128 128 128 / .2));margin:0 0 0 18px}.feat-sub .feat-row{min-height:48px}.feat-sub .more-label{font-size:.9375rem}.feat-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:var(--s-4) 0}.feat-preset{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-fill);color:var(--ink);text-align:left}.feat-preset[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 10%,var(--surface-fill))}.feat-preset:disabled{opacity:.6}.feat-suggest{display:grid;gap:10px;margin:0 0 var(--s-4);padding:0;list-style:none}.feat-suggest li{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-fill)}.feat-suggest-text{margin:0 0 10px;overflow-wrap:anywhere}.feat-suggest-actions{display:flex;flex-wrap:wrap;gap:8px}.feat-area{margin:var(--s-5) 0 var(--s-1)}.feedback-tabs{margin:0 0 var(--s-4)}.login-credit{margin-top:.5rem;font-size:var(--t-13, .8125rem);color:var(--ink-3)}.login-credit a,.about-foot a{color:inherit;text-decoration:underline;text-underline-offset:2px}.lw-card{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-4);padding:16px 18px;border-radius:var(--r-lg);background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line);color:var(--ink)}.lw-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.lw-card-title-group{display:flex;align-items:center;gap:10px;min-width:0}.lw-card-icon{flex:none;display:grid;place-items:center;color:var(--accent)}.lw-card-title{font-family:var(--font-ui);font-size:1.0625rem;font-weight:680;color:var(--ink);line-height:var(--lh-snug);margin:0}.lw-card-body{margin:0;font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink-2);word-break:break-word}.lw-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lw-card-link{background:none;border:none;padding:0;font-family:inherit;font-size:var(--fs-meta);font-weight:600;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center;min-height:44px}.lw-card-link:hover{color:var(--accent-ink)}.lw-card-dispute{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-1);padding-top:var(--s-2);border-top:1px solid var(--line)}.lw-card-textarea{width:100%;box-sizing:border-box;min-height:72px;resize:vertical}.lw-card-dispute-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.today-mascot{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);flex:none}.dir-change{display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px 10px;margin:10px 0 0;font-size:.9375rem}.dir-change dt{color:var(--ink-2)}.dir-change dd{margin:0}.profile-dir-card{margin:var(--s-3) 0;padding:14px 16px;background:var(--surface-fill);box-shadow:var(--surface-lift);border-radius:var(--r-md);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.profile-dir-title{font-weight:640;display:block;color:var(--ink)}.profile-dir-sub{font-size:var(--fs-meta);color:var(--ink-2)}.mascot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}@media(max-width:400px){.mascot-grid{grid-template-columns:repeat(2,1fr)}}.mascot-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:84px;padding:10px 6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-fill);box-shadow:var(--surface-lift);cursor:pointer;color:var(--ink);transition:border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out)}.mascot-card:hover{border-color:var(--line-strong)}.mascot-card.is-selected{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.mascot-name{font-size:var(--fs-caption);font-weight:600;margin-top:6px;color:inherit}.admin-inline-wide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2);align-items:end}.mat-upload-card{margin-bottom:var(--s-4);padding:18px;border-radius:var(--r-lg);background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line);color:var(--ink)}.mat-upload-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-3)}.mat-upload-title{font-size:1.0625rem;font-weight:680;margin:0;color:var(--ink)}.circle-card{margin-bottom:var(--s-3);padding:16px;background:var(--surface-fill);box-shadow:var(--surface-lift);border:1px solid var(--line);border-radius:var(--r-lg)}.circle-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.circle-title{font-size:1.0625rem;font-weight:680;color:var(--ink);margin:0}.gmail-gate{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:var(--s-4, 16px);background:var(--bg, #f6f2e8);overflow-y:auto}.gmail-gate-card{width:100%;max-width:420px;display:grid;gap:var(--s-3, 12px);justify-items:center;text-align:center}.gmail-gate-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--surface, #fbf9f3);border:1px solid var(--line, #ddd5c4)}.gmail-gate-title{margin:0;font-size:1.4rem;line-height:1.25}.gmail-gate-text,.gmail-gate-help{margin:0;color:var(--ink-2, inherit)}.gmail-gate-help{font-size:.875rem}.gmail-gate-error{margin:0;color:var(--bad, #b3261e)}.gmail-gate .btn-lg{width:100%}.mail-new{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.mail-new li{display:grid;gap:2px;padding:10px 12px;border-radius:var(--r-md);background:var(--sunk)}.mail-new-title{font-weight:640;overflow-wrap:anywhere}.mail-new-meta{color:var(--ink-2);font-size:var(--fs-meta)}.tier-halo{--ring: var(--line);--glow: transparent;--halo-pad: 3px;position:relative;isolation:isolate;display:inline-grid;flex:none;padding:var(--halo-pad);border-radius:50%}.tier-halo:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:var(--ring)}.tier-halo>.avatar{box-shadow:0 0 0 2px var(--surface)}.tier-halo.rank-bronze{--halo-c: var(--rank-bronze-halo);--ring: var(--rank-bronze-ring);--glow: var(--rank-bronze-glow)}.tier-halo.rank-silver{--halo-c: var(--rank-silver-halo);--ring: var(--rank-silver-ring);--glow: var(--rank-silver-glow)}.tier-halo.rank-gold{--halo-c: var(--rank-gold-halo);--ring: var(--rank-gold-ring);--glow: var(--rank-gold-glow)}.tier-halo.rank-platinum{--halo-c: var(--rank-platinum-halo);--ring: var(--rank-platinum-ring);--glow: var(--rank-platinum-glow)}.tier-halo.rank-diamond{--halo-c: var(--rank-diamond-halo);--ring: var(--rank-diamond-ring);--glow: var(--rank-diamond-glow)}.tier-halo.rank-master{--halo-c: var(--rank-master-halo);--ring: var(--rank-master-ring);--glow: var(--rank-master-glow)}.tier-halo.rank-grandmaster{--halo-c: var(--rank-grandmaster-halo);--ring: var(--rank-grandmaster-ring);--glow: var(--rank-grandmaster-glow);--halo-pad: 4px}.tier-halo.rank-gold,.tier-halo.rank-platinum,.tier-halo.rank-diamond,.tier-halo.rank-master,.tier-halo.rank-grandmaster{--halo-blur: 8px;--halo-grow: -8%;--halo-alpha: .5;box-shadow:0 0 0 1px color-mix(in oklch,var(--glow) 70%,transparent),0 0 14px -2px var(--glow)}.tier-halo.rank-gold:after,.tier-halo.rank-platinum:after,.tier-halo.rank-diamond:after,.tier-halo.rank-master:after,.tier-halo.rank-grandmaster:after{content:"";position:absolute;inset:var(--halo-grow);z-index:-2;border-radius:50%;background:var(--halo-c, var(--ring));filter:blur(var(--halo-blur));opacity:var(--halo-alpha);pointer-events:none}.tier-halo.rank-diamond,.tier-halo.rank-master{--halo-blur: 9px;--halo-alpha: .55}.tier-halo.rank-grandmaster{--halo-blur: 11px;--halo-grow: -14%;--halo-alpha: .6}.rank-surface .tier-halo{--halo-pad: 4px}.tier-halo-sm{--halo-pad: 2px;box-shadow:none!important}.tier-halo-sm:after{display:none!important}.tier-halo-sm:before{animation:none!important}.tier-halo-sm>.avatar{box-shadow:0 0 0 1.5px var(--surface)}.tier-halo.rank-bronze,.tier-halo.rank-silver,.tier-halo.rank-gold,.tier-halo.rank-platinum,.tier-halo.rank-diamond,.tier-halo.rank-master,.tier-halo.rank-grandmaster{box-shadow:0 0 10px 1px color-mix(in oklch,var(--halo-c) 55%,transparent),0 0 22px 2px color-mix(in oklch,var(--halo-c) 28%,transparent)}.tier-halo.rank-bronze:before,.tier-halo.rank-silver:before,.tier-halo.rank-gold:before,.tier-halo.rank-platinum:before,.tier-halo.rank-diamond:before,.tier-halo.rank-master:before,.tier-halo.rank-grandmaster:before{background:var(--halo-c)}.tier-halo-sm.rank-bronze,.tier-halo-sm.rank-silver,.tier-halo-sm.rank-gold,.tier-halo-sm.rank-platinum,.tier-halo-sm.rank-diamond,.tier-halo-sm.rank-master,.tier-halo-sm.rank-grandmaster{box-shadow:0 0 6px color-mix(in oklch,var(--halo-c) 55%,transparent)!important}.rank-surface{--tone: var(--ink-2);--edge: var(--line);--wash: 0%;--lift: 0%;--bw: 1.5px;position:relative;isolation:isolate;padding:16px 18px;border:var(--bw) solid transparent;border-radius:var(--r-lg);--rank-bg: radial-gradient(85% 170% at 0% 50%, color-mix(in oklch, var(--tone) var(--wash), transparent), transparent 72%) padding-box, var(--surface-fill) padding-box, var(--edge) border-box;background:var(--rank-bg);box-shadow:var(--surface-lift),0 10px 28px -14px color-mix(in oklch,var(--tone) var(--lift),transparent)}.rank-surface.rank-e{--tone: var(--rank-e-tone);--edge: var(--rank-e-ring);--bw: 1px;--emblem: .08}.rank-surface.rank-d{--tone: var(--rank-d-tone);--edge: var(--rank-d-ring);--wash: 6%;--lift: 22%;--emblem: .1}.rank-surface.rank-c{--tone: var(--rank-c-tone);--edge: var(--rank-c-ring);--wash: 14%;--lift: 40%;--emblem: .12}.rank-surface.rank-b{--tone: var(--rank-b-tone);--edge: var(--rank-b-ring);--wash: 16%;--lift: 55%;--bw: 2px}.rank-surface.rank-a{--tone: var(--rank-a-tone);--edge: var(--rank-a-ring);--wash: 24%;--lift: 70%;--bw: 2px}.rank-surface.rank-s{--tone: var(--rank-s-tone);--edge: var(--rank-s-ring);--wash: 26%;--lift: 70%}.rank-surface.rank-ss{--tone: var(--rank-ss-tone);--edge: var(--rank-ss-ring);--wash: 26%;--lift: 70%}.rank-surface.rank-sss,.rank-surface.rank-ex{--tone: var(--rank-sss-tone);--edge: var(--rank-sss-edge);--wash: 28%;--lift: 70%;--rank-bg: radial-gradient(85% 170% at 0% 50%, color-mix(in oklch, var(--tone) var(--wash), transparent), transparent 72%) padding-box, radial-gradient(70% 140% at 100% 0%, color-mix(in oklch, var(--rank-sss-wash) 18%, transparent), transparent 70%) padding-box, var(--surface-fill) padding-box, var(--edge) border-box;background:var(--rank-bg);background-size:auto,auto,auto,300% 100%;animation:rank-edge 9s ease-in-out infinite alternate}.rank-surface.rank-ex{--tone: var(--rank-ex-tone);--edge: var(--rank-ex-edge);--wash: 12%;--bw: 1.5px}@media(hover:hover){.me-card.rank-surface:hover{background:var(--rank-bg);filter:brightness(1.06)}.me-card.rank-surface.rank-sss:hover,.me-card.rank-surface.rank-ex:hover{background-size:auto,auto,auto,300% 100%}}.rank-surface:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 38%,color-mix(in oklch,white 18%,transparent) 50%,transparent 62%) 120% 0 / 250% 100% no-repeat}.rank-surface.rank-ss:after,.rank-surface.rank-sss:after,.rank-surface.rank-ex:after{opacity:1;animation:rank-sheen 7s ease-in-out infinite}@keyframes rank-sheen{0%,55%{background-position:120% 0}to{background-position:-20% 0}}@keyframes rank-edge{to{background-position:0 0,0 0,0 0,100% 50%}}.rank-surface .rank-chip{padding:3px 12px;font-size:.8125rem}.rank-surface.rank-sss .rank-chip.rank-sss,.rank-surface.rank-ss .rank-chip.rank-ss,.rank-surface.rank-s .rank-chip.rank-s,.rank-surface.rank-ex .rank-chip.rank-ex{letter-spacing:.05em;text-transform:uppercase;font-weight:780}.rank-emblem{position:absolute;right:48px;bottom:6px;z-index:0;color:var(--tone);opacity:var(--emblem, .14);pointer-events:none}.rank-surface>:not(.rank-emblem){position:relative;z-index:2}.me-card.rank-surface .avatar{width:56px;height:56px;font-size:1.25rem}.me-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0}.me-card{gap:12px}.me-card.rank-surface{padding:12px 14px}.me-card .more-label{font-size:1.0625rem;line-height:1.2;overflow-wrap:break-word;text-wrap:balance}.me-card .more-sub{line-height:1.35}.me-card .me-roll{margin-top:2px}.me-card .me-email{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.me-card .me-chips{gap:5px}.me-card .me-chips .rank-chip{padding:2px 9px;font-size:.75rem;white-space:nowrap}.more-utility{margin-top:var(--s-5)}@media(prefers-reduced-motion:reduce){.rank-surface.rank-ss:after,.rank-surface.rank-sss:after,.rank-surface.rank-ex:after{animation:none;opacity:0}.rank-surface.rank-sss,.rank-surface.rank-ex{animation:none}}.rank-chip{--tone: var(--ink-2, var(--ink));--chip-bg: color-mix(in oklch, var(--tone) 14%, transparent);--chip-bd: color-mix(in oklch, var(--tone) 45%, transparent);--chip-ink: var(--ink);--chip-dot: var(--tone);display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;border:1px solid var(--chip-bd);background:var(--chip-bg);color:var(--chip-ink);font-size:.75rem;font-weight:650;line-height:1.6;white-space:nowrap}.rank-chip:before{content:"";flex:none;width:var(--rank-mark-size);height:var(--rank-mark-size);background:var(--chip-dot);clip-path:var(--mark, circle(50%))}.friend-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;border-radius:999px;border:1px solid color-mix(in oklch,var(--accent) 40%,transparent);background:var(--accent-tint);color:var(--accent-ink);font-size:.75rem;font-weight:650;line-height:1.6;white-space:nowrap}.friend-chip.is-pending{border-color:var(--line-strong);background:transparent;color:var(--ink-2)}.rank-surface .friend-chip{padding:3px 12px 3px 10px;font-size:.8125rem}.rank-chip.rank-f{--tone: var(--rank-f-tone);--mark: var(--rank-mark-f);--chip-bg: transparent;--chip-bd: var(--rank-f-tone);border-style:dotted;font-weight:600}.rank-chip.rank-e{--tone: var(--rank-e-tone);--mark: var(--rank-mark-e);--chip-bg: transparent;--chip-bd: var(--rank-e-tone)}.rank-chip.rank-d{--tone: var(--rank-d-tone);--mark: var(--rank-mark-d)}.rank-chip.rank-c{--tone: var(--rank-c-tone);--mark: var(--rank-mark-c);--chip-bg: color-mix(in oklch, var(--tone) 20%, transparent)}.rank-chip.rank-b,.rank-chip.rank-gold,.rank-chip.rank-platinum{--chip-bg: var(--rank-b-chip-bg);--chip-ink: var(--rank-b-chip-ink);--chip-bd: var(--tone);--chip-dot: var(--chip-ink)}.rank-chip.rank-b{--tone: var(--rank-b-tone);--mark: var(--rank-mark-b)}.rank-chip.rank-gold{--tone: var(--rank-gold-tone);--mark: var(--rank-mark-gold);--chip-bg: var(--rank-gold-chip-bg);--chip-ink: var(--rank-gold-chip-ink)}.rank-chip.rank-platinum{--tone: var(--rank-platinum-tone);--mark: var(--rank-mark-platinum);--chip-bg: var(--rank-platinum-chip-bg);--chip-ink: var(--rank-platinum-chip-ink)}.rank-chip.rank-a{--tone: var(--rank-a-tone);--mark: var(--rank-mark-a);--chip-ink: var(--rank-a-chip-ink);--chip-dot: var(--chip-ink);border-color:transparent;background:linear-gradient(var(--rank-a-chip-bg),var(--rank-a-chip-bg)) padding-box,var(--rank-a-ring) border-box}.rank-chip.rank-s{--tone: var(--rank-s-tone);--mark: var(--rank-mark-s)}.rank-chip.rank-ss{--tone: var(--rank-ss-tone);--mark: var(--rank-mark-ss)}.rank-chip.rank-sss{--tone: var(--rank-sss-tone);--mark: var(--rank-mark-sss);border-color:transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--rank-sss-chip-edge) border-box;font-weight:750;letter-spacing:.02em}.rank-chip.rank-ex{--tone: var(--rank-ex-tone);--mark: var(--rank-mark-ex);--chip-ink: var(--rank-ex-chip-ink);--chip-dot: var(--chip-ink);border-color:transparent;background:linear-gradient(var(--rank-ex-chip-bg),var(--rank-ex-chip-bg)) padding-box,var(--rank-ex-chip-edge) border-box;font-weight:750;letter-spacing:.02em}.rank-chip.rank-copper{--tone: var(--rank-copper-tone);--mark: var(--rank-mark-copper);--chip-bg: transparent;--chip-bd: var(--rank-copper-tone)}.rank-chip.rank-bronze{--tone: var(--rank-bronze-tone);--mark: var(--rank-mark-bronze)}.rank-chip.rank-silver{--tone: var(--rank-silver-tone);--mark: var(--rank-mark-silver)}.rank-chip.rank-diamond{--tone: var(--rank-diamond-tone);--mark: var(--rank-mark-diamond);--chip-ink: var(--rank-diamond-chip-ink);--chip-dot: var(--chip-ink);border-color:transparent;background:linear-gradient(var(--rank-diamond-chip-bg),var(--rank-diamond-chip-bg)) padding-box,var(--rank-diamond-ring) border-box}.rank-chip.rank-master{--tone: var(--rank-master-tone);--mark: var(--rank-mark-master);--chip-bg: var(--rank-master-chip-bg);--chip-ink: var(--rank-master-chip-ink);--chip-bd: var(--rank-master-gold);--chip-dot: var(--rank-master-gold)}.rank-chip.rank-grandmaster{--tone: var(--rank-grandmaster-tone);--mark: var(--rank-mark-grandmaster);--chip-ink: var(--rank-grandmaster-chip-ink);--chip-dot: var(--rank-grandmaster-tone);border-color:transparent;background:linear-gradient(var(--rank-grandmaster-chip-bg),var(--rank-grandmaster-chip-bg)) padding-box,var(--rank-grandmaster-edge) border-box;font-weight:750}.avatar-sm{width:32px;height:32px;font-size:.875rem}.progress-card{margin:var(--s-4) 0}.rank-chip.rank-chip-tier{border-radius:5px}.rank-why{position:relative;display:inline-flex;padding:0;border:0;border-radius:999px;background:none;color:inherit;font:inherit;cursor:pointer}.rank-why:after{content:"";position:absolute;inset:-9px -3px}.rank-why:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.me-card>:not(.rank-emblem):not(.me-hit){position:relative;z-index:2}.me-card>a.me-hit{position:absolute;inset:0;z-index:1;border-radius:inherit}.me-card>a.me-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.me-card .more-text{pointer-events:none}.me-card .rank-why{pointer-events:auto}.why-body{margin-top:4px}.why-facts{margin-top:var(--s-3)}.progress-tier{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-2);margin:var(--s-3) 0}.badge{display:grid;gap:2px;padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:12px}.badge-title{font-weight:650;font-size:.875rem}.badge-how{font-size:.75rem;color:var(--ink-2, var(--ink))}.badge-off{opacity:.55}.badge-on{background:var(--sunk)}a[data-track$=".credit"]{display:inline-block;padding:11px 4px}.dir-list,.fr-cards,.dir-courses{list-style:none;margin:0;padding:0}.dir-person{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 4px;color:inherit;text-decoration:none;border-radius:12px}a.dir-person:hover,a.dir-person:focus-visible{background:var(--sunk)}.dir-who{display:grid;gap:2px;min-width:0}.dir-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:650}.dir-sub{color:var(--ink-3, var(--ink));opacity:.72;font-size:.875rem;overflow-wrap:anywhere}.dir-group{margin-top:8px}.dir-letter{margin:12px 4px 2px;font-size:.8125rem;letter-spacing:.08em;opacity:.6;border-bottom:1px solid var(--line);padding-bottom:4px}.dir-more{display:block;margin:16px auto}.dir-hero{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 4px 4px}.dir-hero .avatar{width:72px;height:72px;font-size:1.75rem}.dir-hero-text{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:8px;flex:1;min-width:140px}.dir-hero-text .quiet-line{flex-basis:100%}.dir-hero-action{margin-left:auto}.dir-hero.rank-surface{margin-top:8px;padding:16px 18px}.dir-hero-has-action .rank-emblem{right:168px}@media(max-width:640px){.dir-hero-has-action .rank-emblem{display:none}}.dir-courses li{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.dir-course-name{font-weight:600}.fr-card{border-top:1px solid var(--line);padding:4px 0}.fr-manage{padding:0 4px 8px 64px}.fr-manage summary{cursor:pointer;min-height:32px;color:var(--accent);font-size:.875rem}.fr-manage[open]{display:grid;gap:8px}.fr-filter{margin-bottom:8px}.fr-all{margin-top:12px}.rank-rules{margin:12px 0;padding:8px 0;border-top:1px solid var(--line)}.rank-rules summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-weight:650}.rank-rules-h{margin:12px 0 2px;font-size:.9375rem}.rank-rules-list{margin:4px 0;padding-left:20px}.admin-pick{display:grid;gap:6px;margin-top:12px}.admin-pick-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-pick-list li{border-top:1px solid var(--line)}.admin-pick-list li:first-child{border-top:0}.admin-pick-list button{display:grid;gap:2px;width:100%;min-height:48px;padding:8px 12px;text-align:left;background:transparent;color:inherit;border:0;cursor:pointer}.admin-pick-list button:hover,.admin-pick-list button:focus-visible{background:var(--sunk)}.admin-pick-list .quiet-line{padding:8px 12px}.ai-form{display:grid;gap:8px;margin:10px 0}.ai-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0}.ai-model{width:auto;max-width:60%}.ai-check{display:flex;gap:8px;align-items:center;font-size:.9rem}.ai-step{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center;margin:6px 0 0}.ai-step .field{min-width:0}.ai-n{color:var(--ink-3, #6b7280);text-align:center}.ai-brief{margin:8px 0 0}.ai-brief-body{margin-top:8px;padding:10px 12px;border:1px solid var(--line, #e5e7eb);border-radius:10px}.ai-h{margin:10px 0 4px;font-size:.85rem}.ai-list{margin:0;padding-left:18px}.ai-totals{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0;font-size:.9rem}.ai-bar{display:block;height:6px;margin-top:6px;border-radius:999px;background:var(--sunk);overflow:hidden}.ai-bar i{display:block;height:100%;border-radius:inherit;background:var(--ok)}.ai-days{display:grid;gap:4px;margin:0;padding:0;list-style:none}.ai-days li{display:grid;grid-template-columns:3.2rem minmax(0,1fr) 3.6rem;gap:8px;align-items:center;font-size:.8125rem}.ai-days li>:last-child{text-align:right}.ai-daybar{display:block;height:10px;border-radius:999px;background:var(--sunk);overflow:hidden}.ai-daybar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}@media(max-width:520px){.ai-step{grid-template-columns:20px minmax(0,1fr)}.ai-step .field:nth-of-type(2),.ai-step .btn{grid-column:2}}.bld{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line, #e5e7eb);border-radius:10px}.bld-steps{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;padding:0;list-style:none;font-size:.85rem}.bld-step{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2, var(--muted, #555))}.bld-dot{width:10px;height:10px;border-radius:999px;border:2px solid currentColor;box-sizing:border-box}.bld-done{color:var(--ok)}.bld-done .bld-dot{background:currentColor}.bld-active{color:var(--ink, inherit);font-weight:600}.bld-active .bld-dot{background:var(--accent, currentColor);border-color:var(--accent, currentColor);animation:bld-pulse 1.4s ease-in-out infinite}.bld-waiting{color:var(--ink, inherit);font-weight:600}.bld-waiting .bld-dot{border-style:dashed}.bld-failed{color:var(--bad, #b00020);font-weight:600}.bld-failed .bld-dot{background:currentColor}.bld-line{margin:0 0 4px}.bld-gates{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:2px;font-size:.85rem}.bld-gates li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bld-pass svg{color:var(--ok)}.bld-fail svg{color:var(--bad, #b00020)}.bld-na{display:inline-block;width:14px;text-align:center}.bld-nums{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px}.bld-num{display:grid;gap:4px;font-size:.85rem}.bld-num input{width:6.5rem}@keyframes bld-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.bld-active .bld-dot{animation:none}}.avatar-zoom{display:grid;padding:0;border:0;background:none;border-radius:50%;cursor:zoom-in;color:inherit}.avatar-zoom:focus-visible{outline:2px solid var(--accent, currentColor);outline-offset:3px}.photo-viewer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#0b0c10;color:#fff;overflow:hidden}.photo-viewer::backdrop{background:#0b0c10}.photo-viewer-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.photo-viewer-stage img{max-width:min(100vw,100dvh - 120px);max-height:calc(100dvh - 120px);width:auto;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;transform-origin:center;will-change:transform;-webkit-user-drag:none}.photo-viewer-close{position:absolute;z-index:2;top:calc(var(--safe-t, 0px) + 12px);right:calc(var(--safe-r, 0px) + 12px)}.photo-viewer-bar{position:absolute;z-index:2;left:50%;bottom:calc(var(--safe-b, 0px) + 16px);transform:translate(-50%);display:flex;gap:8px;padding:6px;border-radius:999px;background:#ffffff1f}.photo-viewer-close,.photo-viewer-bar button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:#ffffff29;color:#fff;cursor:pointer}.photo-viewer-close:focus-visible,.photo-viewer-bar button:focus-visible{outline:2px solid #fff;outline-offset:2px}.photo-viewer-bar button:disabled{opacity:.4;cursor:default}@media(prefers-reduced-motion:no-preference){.photo-viewer-stage img{transition:transform .12s ease-out}}.cl-day,.cl-release{margin:0 0 18px}.cl-date,.cl-version{margin:0 0 6px;font-size:1rem;font-weight:650}.cl-kind{margin:10px 0 2px;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.cl-list{margin:0;padding-left:20px;display:grid;gap:4px}.bld-timeline{margin:8px 0;color:var(--ink-2);font-size:var(--fs-meta)}.bld-timeline summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.bld-timeline ol{display:grid;gap:4px;padding-left:4px}.bld-stop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex-basis:100%}.bld-stop>span{flex-basis:100%}.bld-models{display:grid;gap:6px;padding-left:4px}.bld-models li{overflow-wrap:anywhere}.bld-models b{color:var(--ink);font-weight:640;margin-right:6px}
