:root { color-scheme: dark; }
.public-header { min-height:96px; max-width:1440px; margin:0 auto; padding:24px 4%; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #293135; }
.public-links, .header-actions { display:flex; align-items:center; gap:28px; }
.public-links a, .header-actions>a:not(.btn) { color:#b9c1c5; font-size:14px; }
.public-links a:hover, .header-actions>a:hover { color:#fff; }
.portal.public-portal { display:block; }
.public-portal .portal-body { margin-left:0; }
.public-portal .portal-content { max-width:1260px; margin:auto; padding:54px 4%; }
.public-portal .portal-footer { max-width:1260px; margin:auto; }
.auth-layout { min-height:calc(100vh - 100px); display:grid; place-items:center; padding:48px 24px; background:radial-gradient(ellipse at 20% 10%,#21272a66,transparent 60%); }
.auth-card { width:100%; max-width:480px; padding:40px; background:#151a1d; border:1px solid #2e373b; border-radius:18px; box-shadow:0 20px 80px #0003; }
.auth-card h1 { font-family:var(--heading,'Space Grotesk',sans-serif); font-size:34px; margin:14px 0; line-height:1.15; letter-spacing:-.04em; }
.auth-card p { color:#b1babe; line-height:1.65; margin:12px 0 24px; }
.auth-card form, .security-form { display:grid; gap:18px; }
.auth-card form { grid-template-columns:minmax(0,1fr); }
.auth-card .btn { white-space:normal; text-wrap:balance; text-align:center; }
.auth-card .auth-approval { display:flex; align-items:flex-start; gap:10px; margin:0 0 24px; font-size:14px; line-height:1.6; color:var(--muted); }
.auth-approval .icon { flex:0 0 auto; width:18px; height:18px; margin-top:2px; }
.auth-approval strong { color:var(--paper); font-weight:600; }
.auth-switch { display:grid; gap:6px; }
.auth-card .auth-approval-note { margin:0; font-size:12px; line-height:1.5; color:var(--muted); }
.auth-card label, .security-form label, .portfolio-space label, .portfolio-review label { display:grid; gap:9px; font-size:13px; color:#cfd4d7; }
.auth-card :is(input,textarea) { box-sizing:border-box; width:100%; border:1px solid #384146; border-radius:8px; background:#101314; padding:12px 14px; color:#eff1f2; font:inherit; line-height:1.5; }
.auth-card textarea { min-height:104px; resize:vertical; }
input:read-only { color:#9ea9af; }
.auth-card :is(input,textarea):focus, .portfolio-space :is(input,textarea,select):focus, .portfolio-review :is(textarea,select):focus { outline:2px solid var(--accent,#34d7a1); outline-offset:2px; }
.auth-card .btn { justify-content:center; min-height:46px; }
.auth-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:24px; font-size:13px; }
.auth-links a { color:var(--accent,#34d7a1); }
.auth-note, .local-mail-note { margin-top:24px; padding:14px; border-radius:8px; background:#1b2022; color:#a9b5bb; font-size:12px; line-height:1.6; }
.auth-message, .form-success { color:#9fadb4; line-height:1.6; }
.form-error:empty { display:none; }
.security-form { max-width:560px; margin:24px 0; }
.portfolio-space, .portfolio-review { display:grid; gap:24px; }
.portfolio-review { margin:32px 0; }
.portfolio-space .section-title-row, .portfolio-review .section-title-row { align-items:flex-start; gap:20px; }
.portfolio-space h2, .portfolio-review h2 { font-family:var(--heading); font-size:22px; font-weight:500; letter-spacing:-.5px; margin:8px 0; }
.portfolio-space p, .portfolio-review p { color:#b1babe; font-size:13px; line-height:1.7; }.portfolio-prose p { font-size:inherit; }
.portfolio-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.portfolio-editor form { display:grid; gap:22px; }
.portfolio-editor .field-grid { margin:0; }
.portfolio-editor small { color:#98a4aa; line-height:1.6; }
.portfolio-upload { padding:16px; border:1px dashed #455055; border-radius:10px; }
.portfolio-upload input { border:0; padding:8px 0; background:transparent; }
.portfolio-files { display:flex; gap:8px; flex-wrap:wrap; }
.portfolio-files>span { display:flex; gap:12px; align-items:center; border:1px solid #384146; padding:9px 12px; border-radius:8px; font-size:13px; }
.portfolio-entry { padding:24px; }
.entry-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; border-bottom:1px solid #2f383c; padding-bottom:20px; margin-bottom:24px; }
.entry-heading h3 { margin:10px 0 0; font-size:22px; line-height:1.3; font-family:var(--heading,'Space Grotesk',sans-serif); letter-spacing:-.02em; }
.portfolio-entry h4 { font-size:13px; letter-spacing:.04em; margin:28px 0 14px; }
.portfolio-prose { overflow-wrap:anywhere; line-height:1.8; font-size:15px; color:#cbd2d5; max-width:80ch; }
.portfolio-prose h1, .portfolio-prose h2, .portfolio-prose h3 { font-size:1.4em; margin:20px 0 10px; color:#eaedef; }
.portfolio-prose ul, .portfolio-prose ol { padding-left:24px; }
.portfolio-prose li { margin:6px 0; }
.portfolio-prose code { background:#0d1011; border:1px solid #2d3539; border-radius:4px; padding:2px 5px; color:#bcc5ca; font-size:.9em; }
.portfolio-prose pre { padding:18px; border-radius:8px; background:#0d1011; overflow:auto; }
.portfolio-prose pre code { border:0; padding:0; }
.portfolio-prose a, .portfolio-evidence a { color:var(--accent,#34d7a1); text-decoration:underline; text-underline-offset:4px; }
.portfolio-prose blockquote { border-left:3px solid var(--accent,#34d7a1); padding-left:16px; margin-left:0; }
.portfolio-evidence { margin:24px 0; display:flex; gap:16px; align-items:center; flex-wrap:wrap; font-size:13px; }
.portfolio-evidence a { display:flex; gap:8px; align-items:center; }
.portfolio-evidence span { color:#a4aeb3; font-family:monospace; }
.portfolio-history { border-top:1px solid #2e373b; padding:18px 0; margin-top:20px; }
.portfolio-history summary { cursor:pointer; color:#a4aeb3; font-size:13px; }
.portfolio-history details { padding:16px; margin-top:12px; background:#111415; border-radius:8px; }
.portfolio-feedback { border-top:1px solid #2e373b; }
.portfolio-feedback form { display:grid; gap:16px; max-width:700px; margin-top:24px; }
.portfolio-feedback form .btn { justify-self:start; }
.feedback-note { padding:16px; border-left:2px solid var(--accent,#34d7a1); margin:16px 0; background:#1a1f21; border-radius:0 8px 8px 0; }
.feedback-note>div { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:13px; }
.feedback-note span, .feedback-note small { color:#9daab1; font-size:11px; }
.feedback-note p { white-space:pre-wrap; margin:12px 0; }
.review-portfolio { display:grid; gap:20px; }
.portfolio-reflection h3 { font-family:var(--heading); font-weight:500; margin:10px 0 18px; font-size:20px; }
.draft-preview { border-top:1px solid #2e373b; padding-top:24px; margin-top:24px; }
@media(max-width:760px) {
 .public-header { padding:20px; gap:16px; flex-wrap:wrap; }
 .public-links { display:none; }
 .header-actions { gap:16px; }
 .header-actions .btn { padding:10px 14px; }
 .auth-card { padding:26px; }
 .portfolio-space .section-title-row, .entry-heading { flex-direction:column; }
 .portfolio-entry { padding:22px; }
 .portfolio-actions .btn { width:100%; justify-content:center; }
}
.auth-layout { grid-template-columns:minmax(280px,540px) minmax(320px,460px); align-content:center; justify-content:center; gap:8vw; }
.auth-intro h1 { font-family:var(--heading,'Space Grotesk',sans-serif); font-size:clamp(38px,4.5vw,66px); line-height:1.07; letter-spacing:-.055em; max-width:600px; margin:20px 0; }
.auth-intro>p { max-width:420px; color:#b1babe; line-height:1.7; }
.auth-emblem { font-family:var(--heading,'Space Grotesk',sans-serif); font-size:120px; color:#34d7a12b; line-height:1; margin:40px 0; }
.auth-card h2 { font-size:23px; margin:0 0 28px; }
.auth-card label small { color:#8f9ba1; font-size:12px; line-height:1.5; }
.password-form { display:grid; gap:18px; max-width:540px; margin:32px 0; }
@media(max-width:850px){.auth-layout{grid-template-columns:1fr;gap:30px}.auth-intro{max-width:480px}.auth-emblem{display:none}.auth-intro h1{font-size:40px}.auth-intro .small-muted{display:none}}
.auth-layout:has(>section:only-child) { display:flex; align-items:center; justify-content:center; }
.auth-layout>section:only-child>.btn { margin-right:16px; }

.oauth-action { display:grid; gap:6px; }
.oauth-action .form-error:empty { display:none; }
.oauth-button { width:100%; justify-content:center; }
.oauth-button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.oauth-mark { display:inline-grid; place-items:center; font-weight:650; font-size:14px; min-width:20px; }
.provider-unavailable { color:#8e9aa0; font-size:11px; text-align:center; }
.auth-divider { display:flex; align-items:center; gap:14px; color:#98a4aa; font-size:12px; margin:24px 0; }
.auth-divider:before,.auth-divider:after { content:''; height:1px; flex:1; background:#354047; }
.oauth-notice { padding:14px 18px; margin:0 0 24px; border:1px solid #3b454a; background:#1b2023; border-radius:8px; font-size:13px; line-height:1.7; color:#c6ced2; }
.oauth-notice[hidden],.provider-unavailable[hidden] { display:none; }
.google-connection { display:grid; gap:16px; padding:16px 0 24px; border-bottom:1px solid var(--border); }
.google-connection p { font-size:12px; color:#9facb3; line-height:1.7; }
.google-connection .oauth-action { justify-self:start; }
.google-connection .text-link { display:block; margin-top:12px; background:transparent; padding:0; font-size:12px; }
.connection-status { font-size:11px; color:#99a8af; display:inline-flex; gap:5px; align-items:center; white-space:nowrap; }
.connection-status.unverified { color:#9aa4a9; }
.profile-social .connection-status { margin-left:auto; }

:root{--ink:#14181b;--deep:#111517;--paper:#edf3f3;--surface:#191e21;--card:#20272a;--teal:#34d7a1;--teal-dark:#9be8cb;--line:#354047;--muted:#a9b6bc;--heading:Inter,Arial,sans-serif;--sans:Inter,Arial,sans-serif;--display:Inter,Arial,sans-serif}
.portal,.cohort-room{--accent:#34d7a1;--accent-soft:#9be8cb;--accent-rgb:52,215,161;--accent-ink:#101b17;--secondary:#7ba99d;--panel:#191e21;--panel-raised:#21292d;--border:#354047;--field:#13191c;--field-border:#50626c;--radius:3px;--teal:var(--accent);--teal-dark:var(--accent-soft)}
body{background:#111517}.public-header{border-color:#2b3337}.public-header .brand{font-size:24px}.brand-mark,.portal-sidebar .brand-mark,.meeting-header .brand-mark{background:none;color:transparent;mix-blend-mode:normal;mask-image:none;min-height:37px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand small{color:#9fadb4}.portal-sidebar .brand-mark{width:31px;min-height:39px}.brand:hover{color:#d5f7ed}
.btn,.portal .btn,.icon-button{border-radius:3px}.btn-primary{background:linear-gradient(110deg,#28bb8c,#49e4b0);color:#101b17}.btn-primary:hover{background:#71edc0}.portal .btn-primary,.cohort-room .btn-primary{background:var(--accent);color:var(--accent-ink)}.portal .btn-primary:hover,.cohort-room .btn-primary:hover{background:var(--accent);filter:brightness(1.07)}.btn-outline{border-color:#5a6b73}.btn-subtle:hover{border-color:#70b8a0}.pill{border-radius:3px}.pill-teal{color:#a5d3c4;background:#87c4b013;border-color:#87c4b044}
.portal-sidebar{background:#101416;border-color:#354047;scrollbar-color:#4b585f transparent}.portal-nav .nav-item,.joined-link,.settings-nav>button{border-radius:2px}.portal-nav .nav-item:hover{background:#1e2427;color:var(--accent-soft)}.joined-link.current,.settings-nav>button.active{background:rgba(var(--accent-rgb),.08);color:var(--accent-soft)}.nav-section-label{color:#8798a1}.portal-topbar{background:#141718;border-color:#2d3539}.nav-expand:hover{background:#242b2e}.portal-panel,.catalogue-card,.profile-cover,.auth-card,.agent-card,.stage,.meeting-side,.connection-dialog,dialog{border-radius:4px}.portal-panel{box-shadow:0 1px 0 #ffffff03 inset}.portal .page-heading h1{font-weight:600;letter-spacing:-.05em}.portal .text-link,.profile-handle{color:var(--accent-soft)!important}.workspace-tabs>button.active{color:var(--accent-soft);border-color:var(--accent)}.workspace-tabs{border-color:#374146}
.landing-hero{background:var(--deep)}
.landing-hero{min-height:710px;padding-top:68px}.landing-hero h1{font-family:var(--display);font-size:clamp(60px,6.3vw,91px);line-height:1.01;letter-spacing:-.055em;font-weight:800;max-width:850px}.landing-hero h1 .teal-word{color:#34d7a1}.hero-copy{color:#b2bdc2}.hero-art.has-image{background-image:url('/assets/jade-assembly-code.webp');background-size:contain;background-repeat:no-repeat;width:59%;right:-1%;top:0;height:680px;opacity:1;mask-image:radial-gradient(ellipse at center,#000 36%,transparent 74%);mix-blend-mode:lighten}.hero-drawing{display:none}.hero-tag{color:#95a4ac;border-color:#667982}.hero-foot{color:#9eacb3}.hero-foot .avatar{border-color:#111517}.cohort-card,.cohort-card.featured{background:#151819;border:1px solid #3e494e;isolation:isolate;border-radius:4px}.cohort-card:hover{border-color:#70b8a0}.cohort-card p,.cohort-card.featured p{color:#aab6bc}.cohort-card .eyebrow,.cohort-card.featured .eyebrow{color:#9ecfbf}.cohort-card .cohort-bottom,.featured .cohort-bottom{color:#93c5b4;border-color:#70848e44}.cohort-card h3{font-weight:600}.featured .card-arrow{color:#101b17}.approach-section{border-radius:4px;background:#171a1b;border:1px solid #2f383c}.approach-item{border-color:#354047}
.reveal-canvas{opacity:.92;mix-blend-mode:darken}
.hero-callouts{position:absolute;top:0;right:-1%;width:59%;height:680px;pointer-events:none;overflow:visible}
.callout-lines{stroke:#667f78;stroke-opacity:.65;stroke-width:1}
.callout-lines path{vector-effect:non-scaling-stroke}
.callout-points{fill:var(--teal);fill-opacity:.7}
.callout-labels{fill:#a5b9b3;font-family:var(--sans);font-size:14px;letter-spacing:2.2px}
.callout-index{fill:var(--teal);font-size:13px;letter-spacing:2px}
@media(min-width:1600px){.hero-callouts{height:720px}}
@media(max-width:1000px){.hero-callouts{width:62%;right:-8%;height:600px}}
@media(min-width:701px) and (max-width:1000px){.callout-labels text:nth-child(3),.callout-labels text:nth-child(4){transform:translateX(-85px)}.callout-lines path:nth-child(2),.callout-points circle:nth-child(2){transform:translateX(-45px)}.callout-labels text:nth-child(5),.callout-labels text:nth-child(6){transform:translateX(-40px)}}
@media(max-width:700px){.hero-callouts{top:auto;bottom:30px;right:22px;width:calc(100% - 44px);height:auto;min-height:270px;aspect-ratio:1}.callout-labels{font-size:24px;letter-spacing:1.5px}.callout-index{font-size:21px}.callout-labels text:nth-child(-n+2){transform:translateX(-40px)}}
.role-hero{background:linear-gradient(115deg,#23292c,#141719);border-color:#3e494f;border-radius:4px}.hero-orbit{background:url('/assets/amussis-a-512.webp') center/contain no-repeat!important;border:0!important;box-shadow:none!important;border-radius:0!important}.hero-orbit span{visibility:hidden}.profile-cover{background:linear-gradient(90deg,#181d1fed,#11141560),url('/assets/jade-assembly-code.webp') 70% 44%/60% auto no-repeat,#131617;border-color:#46535a}.cover-shape{display:none}.profile-cover>span{color:#9acdbc}.profile-summary>.profile-avatar{border-color:#141516}.auth-layout{background:radial-gradient(ellipse at 20% 10%,#505f6628,transparent 65%)}.auth-card{border-color:#3b464c;background:#15191b}.auth-emblem{width:128px;margin:24px 0;font-size:0;line-height:0}.auth-emblem img{display:block;width:100%;height:auto}.auth-links a{color:#a5d2c3}.auth-card :is(input,textarea){border-color:#48555b;background:#101213}.auth-card :is(input,textarea):focus{outline-color:#34d7a1}.portal-panel input:focus,.portal-panel textarea:focus{outline-color:#9be8cb}.connection-status{color:#a4d2c3}
.meeting{background:#111517}.meeting-header{border-color:#323b3f}.stage{border-color:#47545b}.stage-header,.window-bar{background:#1a1e20;color:#8cc0af}.stage-tabs button.active{background:rgba(var(--accent-rgb),.15);color:var(--accent-soft)}.stage-footer{background:#14181a;border-color:#333c40;color:#9ba9b0}.meeting-side{background:#161a1c}.meeting-side-tabs{border-color:#3a4449}.meeting-side-tabs button.active{color:var(--accent-soft);border-color:var(--accent)}.code-surface{background:#131617;color:#afd8ca}.code-keyword{color:#9fd0c0}.code-type{color:#bcded3}.code-comment{color:#7c8f98}.self-participant.speaking{border-color:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft)}.connection-dialog::backdrop,dialog::backdrop{background:#060708c7}.form-error{color:#e6a391}.form-success,.auth-message{color:#a7d4c5}
@media(min-width:1600px){.landing-hero{min-height:750px}.landing-hero h1{font-size:96px}.hero-art.has-image{height:720px}}
@media(max-width:1000px){.landing-hero{min-height:660px}.landing-hero h1{font-size:clamp(56px,6.3vw,70px)}.hero-art.has-image{width:62%;right:-8%;height:600px}.portal .page-heading h1{letter-spacing:-.04em}}
@media(max-width:700px){.landing-hero{padding-top:40px;padding-bottom:30px;min-height:0;display:flex;flex-direction:column}.landing-hero h1{font-size:clamp(31px,8.6vw,60px);max-width:100%;line-height:1.08}.hero-art.has-image{position:relative;order:5;width:100%;height:auto;aspect-ratio:1;right:auto;top:auto;margin-top:12px;opacity:1;min-height:270px;background-size:contain}.hero-actions{gap:16px}.hero-actions .btn{font-size:12px}.hero-secondary{font-size:11px}.hero-copy{font-size:15px}.hero-foot{font-size:11px}.section-title-row{align-items:flex-start;flex-wrap:wrap}.section-title-row .eyebrow{font-size:11px}.portal .page-heading h1{overflow-wrap:anywhere}.profile-cover{background-size:auto,100% auto}.cohort-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.activity-row>div{min-width:0;flex:1}.activity-row small{overflow-wrap:anywhere}.self-participant strong>span{color:#94c4b4!important}.role-hero .hero-orbit{transform:translateY(-50%);mix-blend-mode:lighten}.hero-orbit::before,.hero-orbit::after{display:none}

.public-header .brand-mark--assemble{position:relative;width:44px;height:44px;flex:none;overflow:visible}
.brand-mark .core-a{display:block;width:100%;height:100%;overflow:visible}
.mobile-bar .brand-mark .core-a{width:28px;height:28px}
.brand-mark--assemble .ca-part{animation:amussis-logo-pull var(--piece-travel) linear(0, 0.000038, 0.000398, 0.00158, 0.004202, 0.008974, 0.016681, 0.028173, 0.044361, 0.06621, 0.094732, 0.130988, 0.176082, 0.231156, 0.297395, 0.376018, 0.46828, 0.575472, 0.698915, 0.839963, 1) var(--piece-delay) 1 backwards,amussis-logo-settle 0.11s linear calc(var(--piece-delay) + var(--piece-travel)) 1}
.brand-mark--assemble .ca-leg-left{--piece-x:-11px;--piece-y:6px;--piece-delay:0.325s;--piece-travel:0.29s}
.brand-mark--assemble .ca-leg-right{--piece-x:11px;--piece-y:6px;--piece-delay:0.785s;--piece-travel:0.29s}
.brand-mark--assemble .ca-cap{--piece-x:0px;--piece-y:-12px;--piece-delay:1.245s;--piece-travel:0.24s}
.brand-mark--assemble .ca-bar{--piece-x:0px;--piece-y:14px;--piece-delay:1.655s;--piece-travel:0.23s}
.brand-mark--assemble .ca-lit{animation:amussis-core-ignite 0.18s cubic-bezier(.16,1,.3,1) 1.885s 1 backwards}
.brand-mark--assemble .ca-glow{animation:amussis-core-glow 0.36s cubic-bezier(.16,1,.3,1) 1.885s 1 backwards}
.brand-mark--assemble .ca-flash{animation:amussis-core-flash 0.6s cubic-bezier(.16,1,.3,1) 1.885s 1 backwards}
.brand-mark--light .ca-lit{animation:amussis-core-ignite 0.18s cubic-bezier(.16,1,.3,1) 0.35s 1 backwards}
.brand-mark--light .ca-glow{animation:amussis-core-glow 0.36s cubic-bezier(.16,1,.3,1) 0.35s 1 backwards}
.brand-mark--light .ca-flash{animation:amussis-core-flash 0.6s cubic-bezier(.16,1,.3,1) 0.35s 1 backwards}
@media(prefers-reduced-motion:reduce){
    .brand-mark--assemble .ca-part,.brand-mark--assemble .ca-flash,.brand-mark--light .ca-flash{animation:none}
    .brand-mark--assemble .ca-lit,.brand-mark--light .ca-lit{animation:amussis-core-ignite .6s ease-out .2s 1 backwards}
    .brand-mark--assemble .ca-glow,.brand-mark--light .ca-glow{animation:amussis-core-glow .6s ease-out .2s 1 backwards}
}
@keyframes amussis-core-ignite{from{opacity:.12}to{opacity:1}}
@keyframes amussis-core-glow{from{opacity:0}to{opacity:1}}
@keyframes amussis-core-flash{0%{opacity:0}14%{opacity:1}100%{opacity:0}}
@keyframes amussis-logo-pull{from{transform:translate(var(--piece-x),var(--piece-y))}to{transform:translate(0,0)}}
@keyframes amussis-logo-settle{
    0.0000%{transform:translate(0,0)}
    9.0909%{transform:translate(calc(var(--piece-x)*-0.018264),calc(var(--piece-y)*-0.018264))}
    18.1818%{transform:translate(calc(var(--piece-x)*-0.020625),calc(var(--piece-y)*-0.020625))}
    27.2727%{transform:translate(calc(var(--piece-x)*-0.013661),calc(var(--piece-y)*-0.013661))}
    36.3636%{transform:translate(calc(var(--piece-x)*-0.004551),calc(var(--piece-y)*-0.004551))}
    45.4545%{transform:translate(calc(var(--piece-x)*0.002064),calc(var(--piece-y)*0.002064))}
    54.5455%{transform:translate(calc(var(--piece-x)*0.004730),calc(var(--piece-y)*0.004730))}
    63.6364%{transform:translate(calc(var(--piece-x)*0.004254),calc(var(--piece-y)*0.004254))}
    72.7273%{transform:translate(calc(var(--piece-x)*0.002309),calc(var(--piece-y)*0.002309))}
    81.8182%{transform:translate(calc(var(--piece-x)*0.000365),calc(var(--piece-y)*0.000365))}
    90.9091%{transform:translate(calc(var(--piece-x)*-0.000806),calc(var(--piece-y)*-0.000806))}
    100.0000%{transform:translate(0,0)}
}
@media(min-width:701px){.cohort-cards:has(>:nth-child(2):last-child){grid-template-columns:1.2fr 1fr}}
.hero-foot{color:#bcc7cc}.hero-caption{color:#a4b1b7}.hero-caption button{color:#cfdbde}
@media(max-width:700px){.hero-foot{font-size:12px}}
.planned-tag{display:inline-block;margin-left:6px;padding:0 7px;border:1px solid rgba(var(--accent-rgb,52,215,161),.4);border-radius:999px;font-size:11px;font-weight:500;line-height:18px;letter-spacing:.02em;color:var(--accent-soft,#9be8cb);vertical-align:1px;white-space:nowrap}
.cohort-card .cohort-art{margin:-26px -26px 24px;height:150px;overflow:hidden}
.cohort-card .cohort-art .chain-art{height:100%;border:0;border-radius:0}
.approach-item .approach-later{margin-top:10px}

.portal[data-chain="solana"],.cohort-room[data-chain="solana"],.portal [data-chain="solana"] {
  --accent:#14f195;
  --accent-soft:#8df9ca;
  --accent-rgb:20,241,149;
  --accent-ink:#081c19;
  --secondary:#9945ff;
  --teal:var(--accent);
  --teal-dark:var(--accent-soft);
}
.portal[data-chain="monad"],.cohort-room[data-chain="monad"],.portal [data-chain="monad"] {
  --accent:#6e54ff;
  --accent-soft:#c1b4ff;
  --accent-rgb:110,84,255;
  --accent-ink:#fff;
  --secondary:#ddd7fe;
  --teal:var(--accent);
  --teal-dark:var(--accent-soft);
}
.chain-dot.solana{background:linear-gradient(140deg,#9945ff,#14f195)}
.chain-dot.monad{background:#6e54ff}
.solana-lines i{background:#00c2b8}
.solana-lines i:nth-child(2){background:#bbc8ca}
.solana-lines i:nth-child(3){background:#9992c0}
.cohort-card.featured{border-color:#326965}
.cohort-card.featured .eyebrow{color:#69cbbb}
.cohort-card.featured .cohort-bottom{border-color:#2a474b;color:#8caaa9}
.cohort-card.featured .card-arrow{background:#00c2b8;border-color:#00c2b8;color:#0b1220}

.cohort-workspace-heading>div{min-width:0}
.cohort-teaching-team{display:flex;flex-wrap:wrap;gap:5px 18px;list-style:none;margin:13px 0 0;padding:0;font-size:12px;line-height:1.6;color:var(--muted)}
.cohort-teaching-team li{min-width:0;overflow-wrap:anywhere}
.cohort-teaching-team strong{font-weight:500;color:var(--accent-soft)}

.block-version-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}
.block-version-controls .btn{padding:8px 12px;font-size:.82rem}
.block-version-controls>.small-muted{margin:0}
.run-settings>summary{cursor:pointer;font-weight:650;margin-bottom:14px}
.run-settings{display:grid;gap:16px;margin-bottom:24px}
.run-settings[open]>:not(summary){margin-top:16px}
.studio-session-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin:12px 0}
.studio-session-row .btn{justify-self:start}
.week-schedule{min-width:0;border-top:1px solid var(--line);padding:16px 0}
.week-schedule-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.week-schedule-head>strong{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}
.week-schedule button{min-height:44px}
.week-schedule-lines p,.week-schedule-preview p{margin:8px 0;font-size:14px;overflow-wrap:anywhere}
.week-schedule-modes,.week-schedule-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}
.week-schedule-modes button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-soft)}
.week-schedule .week-class-row{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
.week-class-fields{display:contents}
.week-class-lesson>strong{display:block;font-size:14px;line-height:1.4;margin-bottom:6px;overflow-wrap:anywhere}
.curriculum-fields .week-class-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;height:44px;margin:0;font-size:14px}
.curriculum-fields .week-class-toggle input{width:18px;height:18px;min-width:18px;min-height:18px;flex:none;padding:0;accent-color:var(--accent)}
.week-class-row select,.week-class-row input[type="time"]{width:100%;height:44px;min-height:44px}
.week-schedule-preview{border-left:2px solid var(--line);padding-left:12px;margin:16px 0}
.week-schedule h4{margin:0 0 10px;font-size:14px}
@media(max-width:700px){.week-schedule .week-class-row{grid-template-columns:1fr}.week-schedule-actions{align-items:stretch;flex-direction:column}}
@media(max-width:1050px){.studio-session-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.studio-session-row .btn{justify-self:stretch}}
.curriculum-fields .deadline-policy{display:flex;flex-direction:row;align-items:center;gap:10px;margin:14px 0}
.curriculum-fields .deadline-policy input{width:18px;height:18px;min-width:18px;flex:none;padding:0;accent-color:var(--accent)}
.lesson-library{margin:18px 0}
.curriculum-change{padding:14px 0;border-bottom:1px solid var(--line,#334044)}
.curriculum-change pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:inherit;font-size:.85rem;color:var(--muted);background:#11191b;padding:12px;min-width:0}
@media(max-width:700px){.studio-session-row{grid-template-columns:1fr 1fr}.studio-session-row .btn{grid-column:1/-1}.block-version-controls{align-items:stretch}.block-version-controls .small-muted{flex-basis:100%}}

.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:3px;margin:0 0 28px;overflow:hidden}.admin-summary>div{background:var(--panel);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-summary span{font-size:12px;color:var(--muted)}.admin-summary strong{font-size:28px;letter-spacing:-.05em;font-weight:600;color:var(--accent-soft)}
.admin-directory{padding:0!important;overflow:visible}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.directory-toolbar h2{margin:0!important;font-size:18px}.directory-search{margin:0!important;width:min(320px,100%)}.directory-search input{width:100%;margin:0!important;background:var(--field);border:1px solid var(--field-border);border-radius:3px;padding:10px 12px;color:var(--paper);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.directory-head,.directory-row{display:grid;align-items:center;gap:20px;padding:16px 24px}.user-grid{grid-template-columns:minmax(170px,1.6fr) minmax(110px,1fr) minmax(75px,.8fr) 88px 38px}.agent-grid{grid-template-columns:minmax(140px,1.3fr) minmax(120px,1fr) minmax(120px,1fr) 100px 38px}.cohort-grid{grid-template-columns:minmax(190px,1.6fr) minmax(60px,.5fr) 100px minmax(110px,.6fr)}.directory-head{background:var(--field);border-top:1px solid var(--border);font-size:11px;letter-spacing:.1em;color:var(--muted)}.directory-row{border-top:1px solid var(--border);font-size:13px;min-height:86px}.directory-row:hover{background:#ffffff03}.directory-person{display:flex;align-items:center;gap:13px;min-width:0}.directory-person>span,.directory-person>div{min-width:0}.directory-person strong{font-size:14px;display:block;font-weight:600;overflow-wrap:anywhere}.directory-person small{display:block;font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.directory-person:hover strong{color:var(--accent-soft)}.directory-person .profile-avatar,.directory-person .agent-glyph{width:38px;height:38px;flex-shrink:0;object-fit:cover}.directory-role,.directory-cohort{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.status-chip{font-size:11px;letter-spacing:.04em;padding:4px 8px;color:var(--accent-soft);border:1px solid #5c807057;background:#34d7a108;justify-self:start;border-radius:2px}.status-chip.is-paused{color:#e3bc8f;background:#ddac7010;border-color:#ddac7040}.directory-note{margin:0!important;padding:20px 24px;border-top:1px solid var(--border)}.directory-empty{padding:32px 24px;color:var(--muted)}.directory-detail{margin-top:26px;scroll-margin-top:24px}.directory-detail .directory-toolbar{padding:0 0 20px}.directory-detail h2{margin:0}.directory-detail .profile-avatar{width:58px;height:58px}.profile-detail-bio{margin:20px 0!important;max-width:650px}.directory-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:20px;border-top:1px solid var(--border)}.directory-facts dt{font-size:11px;color:var(--muted);margin-bottom:6px}.directory-facts dd{font-size:13px;margin:0;overflow-wrap:anywhere}.directory-open{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;color:var(--accent-soft)}.cohort-directory-link .chain-dot{width:12px;height:12px;margin:0 8px}.cohort-directory-link:hover{background:rgba(var(--accent-rgb),.05)}
.row-actions{position:relative;justify-self:end}.row-actions.is-open{z-index:35}.row-menu-trigger{display:grid;place-items:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--muted);font-size:25px;line-height:1}.row-menu-trigger:hover,.row-actions.is-open .row-menu-trigger{border-color:var(--border);background:var(--panel-raised);color:var(--paper)}.row-menu-backdrop{position:fixed;inset:0;z-index:1;background:transparent;cursor:default}.row-menu{position:absolute;right:0;top:42px;min-width:185px;z-index:2;background:var(--panel-raised);border:1px solid var(--border);box-shadow:0 10px 30px #0005;padding:5px;border-radius:3px}.row-menu>a,.row-menu>button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 12px;font-size:12px;color:var(--paper);background:transparent;text-align:left;border-radius:2px}.row-menu>a:hover,.row-menu>button:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-soft)}.row-menu .icon{width:14px;height:14px}.row-menu>button:disabled{opacity:.5}.moderation-note{border-left:2px solid #ddac70;padding:10px 14px;color:#e3bc8f!important;background:#ddac7010}
.cohort-settings-form{max-width:900px}.cohort-settings-form h2{margin-top:10px}.cohort-settings-form>label{display:block;margin-top:26px;font-size:13px}.cohort-settings-form textarea{width:100%;display:block;margin-top:10px;padding:13px;border:1px solid var(--field-border);background:var(--field);color:var(--paper);border-radius:3px;resize:vertical}.portal .cohort-settings-form>label.cohort-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--border);padding:20px 0}.cohort-setting-toggle strong{display:block;font-size:14px}.cohort-setting-toggle small{display:block;color:var(--muted);margin-top:5px}.cohort-setting-toggle input{width:18px;height:18px;accent-color:var(--accent)}.cohort-settings-form .form-action-row{gap:16px;flex-wrap:wrap;margin-top:22px}.cohort-settings-form .form-action-row>span{margin-left:auto}
@media(max-width:1100px){.directory-head,.directory-row{gap:12px;padding:14px 18px}.user-grid{grid-template-columns:minmax(140px,1.4fr) minmax(80px,1fr) 80px 72px 32px}.cohort-grid{grid-template-columns:minmax(140px,1.5fr) 60px 80px 40px}.directory-open>span{display:none}.admin-summary>div{padding:16px;align-items:start;flex-direction:column;gap:5px}}
@media(max-width:760px){.directory-toolbar{align-items:stretch;flex-direction:column;padding:18px}.directory-search{width:100%}.directory-head{display:none}.user-grid{grid-template-columns:minmax(0,1fr) 76px 32px;gap:8px 12px}.user-grid .directory-person{grid-column:1}.user-grid .directory-role{grid-column:1;grid-row:2;padding-left:51px}.user-grid .directory-cohort{grid-column:1;grid-row:3;padding-left:51px}.user-grid>.status-chip{grid-column:2;grid-row:1}.user-grid>.row-actions{grid-column:3;grid-row:1}.agent-grid{grid-template-columns:minmax(0,1fr) 76px 32px}.agent-grid .directory-owner{grid-column:1/-1;grid-row:2;padding-left:51px}.agent-grid .directory-cohort{grid-column:1/-1;grid-row:3;padding-left:51px}.agent-grid>.status-chip{grid-column:2;grid-row:1}.agent-grid>.row-actions{grid-column:3;grid-row:1}.cohort-grid{grid-template-columns:minmax(0,1fr) 64px 24px}.cohort-grid>.directory-person{grid-column:1}.cohort-grid>span:nth-child(2){display:none}.cohort-grid>.status-chip{grid-column:2}.directory-facts{grid-template-columns:1fr;gap:16px}.admin-summary{gap:0}.admin-summary>div{padding:12px}.admin-summary span{font-size:11px}.admin-summary strong{font-size:24px}.directory-note{padding:16px!important}}
.profile-tabs{margin-top:30px;margin-bottom:30px}.profile-access{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.profile-access h2{margin-top:10px}.profile-access p{max-width:680px}.admin-profile-editor fieldset{border:0;padding:0;margin:0;min-width:0}.admin-profile-editor .form-action-row{gap:16px;flex-wrap:wrap}.admin-profile-editor .form-action-row>span{margin-left:auto}.admin-profile-editor input,.admin-profile-editor textarea{max-width:100%}@media(max-width:760px){.profile-access{align-items:flex-start;flex-direction:column}.admin-profile-editor .form-action-row>span{margin-left:0}.profile-tabs{margin-top:20px}}

.moderation-panel fieldset {border:0; padding:0; margin:24px 0; min-width:0}
.moderation-panel select {width:100%; padding:12px; background:var(--deep); color:inherit; border:1px solid var(--border); border-radius:3px; font:inherit}
.moderation-effect {padding:14px; border-left:2px solid var(--accent); background:rgba(52,215,161,.04)}
.moderation-history {display:grid; gap:10px; margin:18px 0 30px; max-height:340px; overflow-y:auto; scrollbar-width:thin}
.moderation-history article, .school-warnings article {display:grid; gap:6px; padding:14px; border:1px solid var(--border); overflow-wrap:anywhere}
.moderation-history small, .school-warnings small {color:var(--muted); font-size:12px}
.moderation-history p, .school-warnings p {white-space:pre-wrap; margin:5px 0}
.moderation-panel h3 {margin-top:25px}
.moderation-panel .password-link {display:grid; gap:12px; margin:0 0 30px; padding:20px; border:1px solid var(--accent); border-radius:3px; background:var(--field)}
.moderation-panel .password-link h3 {margin:0}
.moderation-panel .password-link p {margin:0; color:var(--muted); font-size:13px; line-height:1.6}
.moderation-panel .password-link input {width:100%; min-height:44px; box-sizing:border-box; font-size:13px}
.moderation-panel .password-link .form-action-row {margin:0; padding-top:0; border-top:0}
.row-menu {max-height:min(70vh,420px); overflow-y:auto}
.school-warnings {margin-bottom:24px; border-color:var(--accent)}

.directory-owner{min-width:0;overflow-wrap:anywhere;color:inherit;font-size:12px}.directory-owner strong,.directory-owner small{display:block}.directory-owner small{color:var(--muted);font-size:11px;margin-top:3px}.directory-owner:hover strong{color:var(--accent-soft)}.owner-mobile-label{display:none}
@media(max-width:1050px){.directory-head.agent-grid{display:none}.directory-row.agent-grid{grid-template-columns:minmax(0,1fr) 76px 32px;gap:8px 12px}.agent-grid .directory-person{grid-column:1;grid-row:1}.agent-grid .directory-owner{grid-column:1/-1;grid-row:2;padding-left:51px}.agent-grid .directory-cohort{grid-column:1/-1;grid-row:3;padding-left:51px}.agent-grid>.status-chip{grid-column:2;grid-row:1}.agent-grid>.row-actions{grid-column:3;grid-row:1}.owner-mobile-label{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}}

.curriculum-materials,.week-assignments { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }
.curriculum-materials .section-title-row,.week-assignments .section-title-row { flex-wrap:wrap; gap:12px; }
.material-edit,.week-assignments .assignment-edit { border:1px solid var(--line); border-radius:12px; padding:16px; margin:14px 0; min-width:0; }
.curriculum-upload { display:grid; gap:10px; margin-top:16px; }
.curriculum-upload input { max-width:100%; min-width:0; }
.curriculum-upload small { font-size:12px; color:var(--muted); }
.material-edit input { min-width:0; }
.material-edit .curriculum-actions { justify-content:space-between; flex-wrap:wrap; }
.week-assignments .assignment-edit>label { display:grid; gap:8px; margin-bottom:14px; }
.material-edit .curriculum-form-grid,.assignment-edit .curriculum-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:640px) { .material-edit .curriculum-form-grid,.assignment-edit .curriculum-form-grid { grid-template-columns:minmax(0,1fr); } }
.place-list,.grant-list{display:grid;gap:0;margin:12px 0;padding:0;list-style:none}
.place-list li,.grant-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--border)}
.place-list li:first-child,.grant-list li:first-child{border-top:0}
.place-list li>span,.grant-list li>span{display:grid;gap:2px;min-width:0}
.place-list strong,.grant-list strong{font-size:14px}
.place-list small,.grant-list small{font-size:12px;color:var(--muted);line-height:1.5}
.place-list .btn,.grant-list .btn{flex-shrink:0;min-height:34px;padding:7px 13px;font-size:12.5px}
.place-add{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:6px;padding-top:12px;border-top:1px solid var(--border)}
.place-add label{display:grid;gap:5px;font-size:12px;color:var(--muted);min-width:170px;flex:1}
.storage-disk{padding:22px 24px!important;margin-bottom:28px}
.storage-disk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.storage-disk-head h2{margin:0!important;font-size:18px}
.storage-meter{height:10px;border-radius:5px;background:var(--field);border:1px solid var(--border);overflow:hidden}
.storage-meter>span{display:block;height:100%;background:var(--accent)}
.storage-meter.is-attention>span{background:#e8bd78}
.storage-meter.is-danger>span{background:#f2988a}
.storage-disk-figures{margin:12px 0 0!important;font-size:13px;color:var(--muted)}
.storage-disk-figures strong{color:var(--paper);font-weight:600}
.storage-disk-note{margin:6px 0 0!important;font-size:12px}
.storage-summary>div>span{min-width:0}
.storage-summary small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.storage-summary strong{white-space:nowrap}
.storage-files{margin-bottom:28px}
.storage-files .directory-toolbar .btn{min-height:44px;padding:10px 16px;gap:8px;font-size:13px}
.storage-files .directory-toolbar .icon{width:16px;height:16px}
.storage-grid{grid-template-columns:minmax(170px,1.6fr) minmax(120px,1fr) 80px minmax(120px,.8fr) 38px}
.storage-file-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--border);border-radius:3px;color:var(--muted)}
.storage-file-icon .icon{width:18px;height:18px}
.storage-size{font-size:13px;font-variant-numeric:tabular-nums}
.storage-when small{display:block;margin-top:3px;font-size:11px}
.row-menu>button.is-danger{color:#f2988a}
.storage-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}
.portal .storage-recordings label.storage-age{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.portal .storage-recordings label.storage-age select{width:auto;min-height:44px;margin:0;padding:0 12px}
.storage-budget{padding:0 24px 22px;border-bottom:1px solid var(--border)}
.storage-budget .storage-disk-head h3{margin:0!important;font-size:14px}
.storage-budget-form{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:16px}
.portal .storage-budget label.storage-budget-field{display:flex;align-items:center;min-height:44px;padding:0 12px 0 0;border:1px solid var(--field-border);border-radius:7px;background:var(--field)}
.portal .storage-budget label.storage-budget-field>input[type=number]{width:130px;min-height:42px;margin:0;border:0;background:transparent}
.storage-budget-field>span{font-size:13px;color:var(--muted)}
.storage-budget-form .btn{min-height:44px;padding:10px 16px;font-size:13px}
.recording-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.live-figures{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 0}

.live-class{display:grid;justify-items:start;gap:3px;min-width:0}
.live-class strong{font-size:14px;overflow-wrap:anywhere}
.live-class small{font-size:12px;color:var(--muted)}

.live-ceilings{padding:22px 24px!important;margin-bottom:28px}
.live-ceilings h2{margin:0 0 16px!important;font-size:18px}
.live-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.portal .live-form label.live-field{display:grid;align-content:start;gap:8px;font-size:12px}
.portal .live-form label.live-field :is(select,input){margin:0;min-height:44px}
.portal .live-form .live-suffix{display:flex;align-items:center;min-height:44px;padding-right:12px;border:1px solid var(--field-border);border-radius:7px;background:var(--field)}
.portal .live-form .live-suffix>input[type=number]{border:0;background:transparent;min-width:0}
.live-suffix>span{font-size:13px;color:var(--muted)}
.live-form small{font-size:12px;color:var(--muted);line-height:1.6}
.live-actions{grid-column:1/-1;margin-top:4px!important}
.live-stats{padding:22px 24px!important;margin-bottom:28px;--live-1:var(--accent);--live-2:#7aa7ff;--live-3:#e8bd78;--live-quiet:var(--muted)}
html[data-theme="light"] .live-stats{--live-1:#178a5c;--live-2:#2f5fd0;--live-3:#a1660f}
.live-stats-head{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.live-stats h2{margin:0!important;font-size:18px}
.live-stats-note{margin:16px 0 0!important}
.live-range{display:flex;border:1px solid var(--field-border);border-radius:7px;overflow:hidden}
.live-range-choice{min-height:36px;padding:0 14px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.live-range-choice+.live-range-choice{border-left:1px solid var(--field-border)}
.live-range-choice:hover{color:var(--accent-soft)}
.live-range-choice.is-active{background:rgba(var(--accent-rgb),.12);color:var(--accent-soft)}
.live-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.live-chart{margin:0;padding:14px 16px 12px;border:1px solid var(--border);border-radius:7px;background:var(--field);min-width:0}
.live-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.live-chart-title{font-size:14px;font-weight:600}
.live-chart-peak{font-size:12px;color:var(--muted)}
.live-chart-plot{position:relative;height:96px}
.live-chart-plot svg{display:block;width:100%;height:100%;overflow:visible}
.live-chart-top{position:absolute;top:-7px;left:0;z-index:1;padding-right:6px;font-size:11px;line-height:14px;color:var(--muted);background:var(--field)}
.live-chart-grid{fill:none;stroke:var(--border);stroke-width:1}
.live-line{fill:none;stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}
.live-line.is-dashed{stroke-dasharray:4 3}
.live-line.live-tone-1{stroke:var(--live-1)}.live-line.live-tone-2{stroke:var(--live-2)}.live-line.live-tone-3{stroke:var(--live-3)}.live-line.live-tone-quiet{stroke:var(--live-quiet)}
.live-chart-times{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted)}
.live-chart-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;font-size:12px;color:var(--muted)}
.live-chart-legend li{display:flex;align-items:center;gap:6px}
.live-chart-note{margin:8px 0 0!important;font-size:12px;color:var(--muted)}
.live-chart-legend strong{font-weight:600;color:var(--paper)}
.live-swatch{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--swatch)}
.live-swatch.is-dashed{background:repeating-linear-gradient(90deg,var(--swatch) 0 4px,transparent 4px 7px)}
.live-swatch.live-tone-1{--swatch:var(--live-1)}.live-swatch.live-tone-2{--swatch:var(--live-2)}.live-swatch.live-tone-3{--swatch:var(--live-3)}.live-swatch.live-tone-quiet{--swatch:var(--live-quiet)}
.live-log{margin-bottom:28px;container:live-log/inline-size}
.live-log-grid{grid-template-columns:minmax(200px,1.6fr) 90px minmax(170px,1fr) minmax(170px,1fr) 24px}
.live-log-row{color:inherit;text-decoration:none}
.live-log-row:hover strong{color:var(--accent-soft)}
.live-log-row .live-class{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px}
.live-log-row .live-class>strong,.live-log-row .live-class>small{flex-basis:100%}
.live-log-figure{display:grid;gap:3px;font-size:13px;min-width:0;overflow-wrap:anywhere}
.live-log-figure small{font-size:12px;color:var(--muted)}
.live-log-open{display:grid;place-items:center;color:var(--muted)}
.live-log-row:hover .live-log-open{color:var(--accent-soft)}
.live-log-more{padding:16px 24px;border-top:1px solid var(--border)}
.report-summary{margin-bottom:28px}
.portal-panel>p.report-verdict{margin:0 0 4px!important;font-size:15px;line-height:1.5;color:var(--paper)}
@media(max-width:760px){.live-stats{padding:18px!important}.live-range{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;border:0;border-radius:0;overflow:visible}.live-range-choice,.live-range-choice+.live-range-choice{min-height:44px;padding:0 6px;border:1px solid var(--field-border);border-radius:7px}.live-charts{grid-template-columns:minmax(0,1fr)}}
@container live-log (width < 738px){.directory-head.live-log-grid{display:none}.live-log-grid{grid-template-columns:minmax(0,1fr) 24px;gap:8px 12px}.live-log-grid>.live-class{grid-column:1;grid-row:1}.live-log-grid>.live-log-open{grid-column:2;grid-row:1}.live-log-grid>.live-log-figure{grid-column:1/-1}.live-log-more{padding:16px}}
@container live-log (526px <= width < 738px){.live-log-grid{grid-template-columns:90px minmax(170px,1fr) minmax(170px,1fr) 24px}.live-log-grid>.live-class{grid-column:1/4}.live-log-grid>.live-log-open{grid-column:4}.live-log-grid>.live-log-figure{grid-column:auto;grid-row:2;align-self:start}}
@media(max-width:1100px){.live-form{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1100px){.storage-grid{grid-template-columns:minmax(140px,1.4fr) minmax(100px,1fr) 70px 110px 32px}}
@media(max-width:760px){.live-figures{grid-template-columns:repeat(2,minmax(0,1fr))}.live-ceilings{padding:18px!important}.storage-disk{padding:18px!important}.storage-tools>*{flex:1 1 100%}.portal .storage-recordings label.storage-age select{flex:1}.storage-budget{padding:0 18px 18px}.storage-budget-form>*{flex:1 1 auto}.storage-grid>.recording-state{grid-column:1/-1;grid-row:2;padding-left:51px}.storage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-grid{grid-template-columns:minmax(0,1fr) auto 32px;gap:8px 12px}.storage-grid>.directory-person{grid-column:1;grid-row:1}.storage-grid>.storage-size{grid-column:2;grid-row:1}.storage-grid>.row-actions{grid-column:3;grid-row:1}.storage-grid>.directory-owner{grid-column:1/-1;grid-row:2;padding-left:51px}.storage-grid>.storage-when{grid-column:1/-1;grid-row:3;padding-left:51px}}
.acct-page{display:grid;gap:18px;min-width:0}
.acct-page .portal-panel{margin:0;padding:20px 22px}
.acct-page .btn{min-height:44px;padding:10px 16px;font-size:13px;gap:8px}
.acct-page .btn .icon{width:15px;height:15px}
.portal .acct-page .btn.is-unavailable{opacity:.5;cursor:not-allowed}
.portal .acct-page .btn.is-unavailable:hover{border-color:var(--border);background:var(--panel-raised)}
.acct-loading{display:grid;justify-items:start;gap:12px}
.acct-head{display:grid;gap:16px}
.acct-who{display:flex;align-items:center;gap:16px;min-width:0}
.acct-page .acct-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.acct-page .acct-thumb{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.acct-initials{display:grid;place-items:center;border-radius:50%;background:rgba(var(--accent-rgb),.12);color:var(--accent-soft);font-weight:600;letter-spacing:.02em}
.acct-initials.acct-avatar{font-size:22px}
.acct-initials.acct-thumb{font-size:13px}
.acct-who-text{display:grid;gap:6px;min-width:0}
.acct-page .acct-who-text h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.2px;line-height:1.3;color:var(--paper);overflow-wrap:anywhere}
.acct-page .acct-who-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.acct-facts{display:flex;flex-wrap:wrap;gap:1px;margin:0;background:var(--border);border:1px solid var(--border);border-radius:3px;overflow:hidden}
.acct-fact{display:grid;align-content:start;gap:4px;flex:1 1 150px;min-width:0;padding:12px 14px;background:var(--panel)}
.acct-fact:first-child{flex:1.6 1 220px}
.acct-fact dt{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.acct-fact dd{display:grid;justify-items:start;gap:3px;margin:0;min-width:0}
.acct-fact strong{font-size:14px;font-weight:600;line-height:1.4;color:var(--paper);overflow-wrap:anywhere}
.acct-fact small{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.acct-fact small .icon{width:13px;height:13px}
.acct-fact .is-good{color:var(--accent-soft)}
.acct-fact .is-attention{color:#e8bd78}
.acct-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
.acct-reasons{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.acct-reasons li{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;color:var(--muted);transition:color .2s}
.acct-reasons .icon{width:13px;height:13px;flex-shrink:0;margin-top:2px}
.acct-reasons li.is-lit{color:var(--paper)}
.acct-reasons li.is-lit .icon{color:var(--accent-soft)}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(380px,calc(50% - 9px))),1fr));gap:18px}
.acct-wide{grid-column:1/-1}
.acct-card{display:flex;flex-direction:column;gap:12px;min-width:0;scroll-margin-top:16px;transition:border-color .3s,box-shadow .3s}
.acct-card.is-called{border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft)}
.acct-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.acct-page .acct-card-head h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.2px;line-height:1.3;color:var(--paper)}
.acct-chips{display:flex;flex-wrap:wrap;gap:6px}
.acct-page .acct-subhead{margin:4px 0 0;font-size:13px;font-weight:600;color:var(--paper)}
.acct-page .acct-hint{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.acct-page :is(.acct-empty,.acct-none){display:block;margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.acct-list{display:grid;margin:0;padding:0;list-style:none}
.acct-list>li{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:44px;padding:8px 0;border-top:1px solid var(--border)}
.acct-list>li:first-child{border-top:0;padding-top:0}
.acct-item-text{display:grid;gap:2px;flex:1 1 160px;min-width:0}
.acct-item-text strong{font-size:13px;font-weight:600;line-height:1.4;color:var(--paper);overflow-wrap:anywhere}
.acct-item-text small{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.acct-item-actions{display:flex;flex-wrap:wrap;gap:8px}
.acct-mark{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;color:var(--paper)}
.acct-mark .icon{width:17px;height:17px}
.acct-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}
.acct-values>div{display:grid;align-content:start;gap:2px;min-width:0}
.acct-values>.is-wide{grid-column:1/-1}
.acct-values dt{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.acct-values dd{margin:0;font-size:13px;line-height:1.5;color:var(--paper);overflow-wrap:anywhere;white-space:pre-wrap}
.acct-activity{display:grid;margin:0;padding:0;list-style:none}
.acct-activity li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:2px 12px;padding:8px 0;border-top:1px solid var(--border);font-size:13px;line-height:1.5;color:var(--paper);overflow-wrap:anywhere}
.acct-activity li:first-child{border-top:0;padding-top:0}
.acct-activity time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.acct-card :is(.place-list,.grant-list){margin:0}
.acct-card .place-add{margin:0}
.acct-page .moderation-panel fieldset{margin:0}
.acct-card.moderation-panel .field-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.acct-card .form-action-row{flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:14px}
.acct-card .moderation-effect{margin:0;font-size:13px;line-height:1.6}
.acct-card .moderation-effect.is-unavailable{display:flex;align-items:flex-start;gap:8px;border-left-color:var(--border);background:var(--field);color:var(--muted)}
.acct-card .moderation-effect .icon{width:14px;height:14px;flex-shrink:0;margin-top:3px}
.acct-card .moderation-effect.is-lit{border-left-color:#e8bd78;color:var(--paper)}
.acct-card .moderation-log{margin:0;padding:0}
.acct-card .moderation-log>summary{padding:12px 0;font-size:13px}
.acct-card .moderation-history{margin:4px 0 12px}
.acct-card .password-link{margin:0}
.acct-editor{display:grid;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--border)}
.acct-page :is(.admission-answer,.approval-reason,.form-error,.form-success,.auth-message){margin:0}
@media(max-width:900px){.acct-card{scroll-margin-top:74px}}
@media(max-width:760px){.acct-page,.acct-grid{gap:14px}.acct-page .portal-panel{padding:16px}.acct-page .acct-avatar{width:52px;height:52px}.acct-actions>.btn{flex:1 1 calc(50% - 5px)}.acct-values{grid-template-columns:minmax(0,1fr)}.acct-activity li{grid-template-columns:minmax(0,1fr)}}
.mail-off{margin:-8px 0 20px!important}
.mail-sent{margin-bottom:28px}
.mail-grid{grid-template-columns:minmax(200px,1.5fr) minmax(170px,1fr) 150px 170px 24px}
.mail-row{border-top:1px solid var(--border)}
.mail-row>summary{list-style:none;cursor:pointer;border-top:0;min-height:72px}
.mail-row>summary::-webkit-details-marker{display:none}
.mail-row>summary:hover,.mail-row[open]>summary{background:rgba(var(--accent-rgb),.035)}
.mail-row>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.mail-cell{display:grid;gap:3px;min-width:0}
.mail-cell strong{font-size:14px;font-weight:600;color:var(--paper);overflow-wrap:anywhere}
.mail-cell small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.mail-when{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.mail-grid>.chip{white-space:normal}
.mail-open-icon{display:grid;place-items:center;color:var(--muted)}
.mail-open-icon .icon{width:16px;height:16px;transition:transform .15s}
.mail-row[open] .mail-open-icon .icon{transform:rotate(180deg)}
.mail-opened{padding:18px 24px 22px;border-top:1px solid var(--border);background:var(--field)}
.mail-opened>p{margin:0}
.mail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0 0 16px}
.mail-facts>div{display:grid;align-content:start;gap:2px;min-width:0}
.mail-facts dt{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.mail-facts dd{margin:0;font-size:13px;line-height:1.5;color:var(--paper);overflow-wrap:anywhere}
.mail-text{margin:0;padding:14px 16px;max-height:480px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--paper);font:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.mail-more{display:flex;justify-content:center;padding:16px 24px;border-top:1px solid var(--border)}
.mail-more .btn{min-height:44px;padding:10px 18px;font-size:13px}
.mail-write{max-width:860px!important}
.mail-write .btn{min-height:44px;padding:10px 16px;font-size:13px;gap:8px}
.mail-write .btn .icon{width:16px;height:16px}
.mail-to{display:grid;gap:8px;min-width:0}
.mail-to>label{font-size:13px;color:#c9d3d6}
.mail-to-add{display:flex;align-items:flex-start;gap:10px}
.mail-to-add>input{flex:1;min-width:0}
.mail-to-add>.btn{flex-shrink:0}
.mail-matches,.mail-chosen{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 12px}
.mail-matches:empty,.mail-chosen:empty{display:none}
.mail-matches .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;overflow-wrap:anywhere}
.mail-matches .icon{width:16px;height:16px;flex-shrink:0}
.mail-chosen .chip{font-size:13px;font-weight:500;color:var(--paper);padding:2px 2px 2px 10px;gap:4px;white-space:normal;overflow-wrap:anywhere}
.mail-chosen .chip button{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}
.mail-chosen .chip button:hover{color:var(--paper)}
.mail-chosen .icon{width:14px;height:14px}
@media(max-width:1000px){.directory-head.mail-grid{display:none}.directory-row.mail-grid{grid-template-columns:minmax(0,1fr) auto 24px;gap:6px 12px}.mail-grid>.mail-cell:first-child{grid-column:1;grid-row:1}.mail-grid>.mail-cell:nth-child(2){grid-column:1/-1;grid-row:2}.mail-grid>.mail-when{grid-column:1/-1;grid-row:3}.mail-grid>.chip{grid-column:2;grid-row:1;max-width:150px}.mail-grid>.mail-open-icon{grid-column:3;grid-row:1}.mail-facts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.mail-opened{padding:16px 18px}.mail-more{padding:16px 18px}}

.portal{--live-warn:#e8bd78;--live-bad:#f2988a;--live-row-warn:rgba(232,189,120,.045);--live-row-bad:rgba(242,152,138,.07);--live-track:rgba(169,182,188,.16)}
html[data-theme="light"] .portal{--live-warn:#7e5616;--live-bad:#851f0f;--live-row-warn:rgba(196,140,40,.07);--live-row-bad:rgba(190,62,42,.07);--live-track:rgba(40,52,58,.1)}
.live-fresh{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;align-self:center}
.live-pause{min-width:11.5em}
.live-stale{display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--live-warn) 45%,transparent);border-radius:3px;background:color-mix(in srgb,var(--live-warn) 8%,transparent);font-size:13px;line-height:1.5;color:var(--paper)}
.live-stale>.icon{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:var(--live-warn)}
.live-board.is-stale :is(.live-value,.live-num,.live-receives,.live-sends,.live-trouble){color:var(--muted)}
.live-board.is-stale :is(.live-mark,.live-server .chip,.live-class-block .chip,.live-meter i){filter:grayscale(1);opacity:.6}
.live-panel{padding:22px 24px!important;margin-bottom:28px}
.live-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.live-head h2{margin:0!important;font-size:18px}
.live-head .chip .icon{width:13px;height:13px}
.live-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.live-corner{margin:6px 0 0!important;max-width:92ch;font-size:12px;line-height:1.55;color:var(--muted);min-height:1.55em}
.live-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;overflow:hidden;border:1px solid var(--border);border-radius:3px;background:var(--panel)}
.live-cell{display:grid;grid-template-rows:auto 30px 4px calc(2 * 1.45em);row-gap:6px;min-width:0;padding:14px 16px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel)}
.live-cell:nth-child(4n){border-right:0}
.live-cell:nth-child(n+5){border-bottom:0}
.live-cells::after{content:"";background:var(--panel)}
.live-label{display:flex;justify-content:space-between;gap:8px;min-width:0;font-size:12px;color:var(--muted);white-space:nowrap}
.live-label>span{overflow:hidden;text-overflow:ellipsis}
.live-figure{display:flex;align-items:baseline;gap:6px;white-space:nowrap;min-width:0}
.live-value{display:inline-block;font-size:22px;font-weight:600;line-height:30px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--paper)}
.live-unit{flex:0 0 auto;font-size:11px;color:var(--muted)}
.live-meter{display:block;height:4px;overflow:hidden;border-radius:2px;background:var(--live-track)}
.live-meter[hidden]{display:block;visibility:hidden}
.live-meter i{display:block;width:0;height:100%;border-radius:2px;background:var(--accent)}
.live-meter[data-tone="warn"] i{background:var(--live-warn)}
.live-meter[data-tone="bad"] i{background:var(--live-bad)}
.live-ref{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:760px){.live-fresh{min-width:0;text-align:left}.live-panel{padding:18px 16px!important}.live-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.live-cell{padding:12px}.live-cell:nth-child(2n){border-right:0}.live-cell:nth-child(n+5){border-bottom:1px solid var(--border)}.live-cell:nth-child(n+7){border-bottom:0}.live-label{flex-wrap:wrap;white-space:normal;gap:0 6px}.live-label>span{overflow:visible}.live-value{font-size:20px}}

.live-class-block{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);container:live-class/inline-size}
.live-class-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.live-class-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.live-class-title h3{margin:0;font-size:16px;font-weight:600;color:var(--paper)}
.live-trouble{min-width:10em;font-size:12px;color:var(--muted)}
.live-trouble[data-tone="warn"]{color:var(--live-warn)}
.live-minis{display:grid;grid-template-columns:72px 72px 92px 92px 104px;gap:0 16px}
.live-mini{display:grid;gap:1px;justify-items:end}
.live-mini .live-label{font-size:11px}
.live-mini .live-value{font-size:16px;line-height:22px}
.live-plan{margin:8px 0 14px!important;font-size:12px;line-height:1.5;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-people-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}
.live-col-status{width:214px}.live-col-receives{width:124px}.live-col-rtt{width:92px}.live-col-lost{width:64px}.live-col-sends{width:96px}.live-col-filled{width:104px}.live-col-more{width:52px}
.live-people-table thead th{padding:8px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--field);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.04em;text-align:left;text-transform:uppercase;color:var(--muted);vertical-align:bottom}
.live-people-table thead th small{display:block;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}
.live-row>th,.live-row>td{height:44px;padding:0 10px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--paper)}
.live-people-table .live-num{text-align:right;font-variant-numeric:tabular-nums}
.live-person-row[data-tone="warn"] .live-row{background:var(--live-row-warn)}
.live-person-row[data-tone="bad"] .live-row{background:var(--live-row-bad)}
.live-who{font-weight:400;text-align:left}.live-handle{font-weight:600}.live-role{margin-left:8px;font-size:11px;color:var(--muted)}
.live-st{display:inline-flex;align-items:center;gap:8px}.live-mark{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.live-mark .icon{flex:0 0 auto;width:15px;height:15px}.live-good{color:var(--accent-soft)}.live-good .icon{opacity:.8}.live-warn{color:var(--live-warn)}.live-bad{color:var(--live-bad)}.live-quiet{color:var(--muted)}
.live-why{font-size:12px;color:var(--muted)}.live-receives{color:var(--paper)}
.live-sends-icons{display:inline-flex;align-items:center}.live-send{display:inline-flex;align-items:center;gap:4px;margin-right:10px;font-variant-numeric:tabular-nums}.live-send:last-child{margin-right:0}.live-send .icon{width:15px;height:15px;color:var(--muted)}.live-send.is-off{opacity:.45}
.live-more{text-align:right;padding-right:0!important;padding-left:8px!important}
.live-toggle{display:inline-grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}
.live-toggle:hover{color:var(--accent-soft);background:rgba(var(--accent-rgb),.08)}.live-more .live-toggle:focus-visible{outline:2px solid var(--accent-soft);outline-offset:-2px}
.live-toggle .icon{width:18px;height:18px;transition:transform .16s cubic-bezier(.2,.7,.2,1)}.live-toggle[aria-expanded="true"] .icon{transform:rotate(90deg);color:var(--paper)}
.live-detail>td{padding:16px 12px 20px;border-bottom:1px solid var(--border);background:var(--field);white-space:normal}.live-detail[hidden]{display:none!important}
.live-detail-body{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px}.live-detail-body h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--paper)}
.live-now-list{margin:0;font-size:12px;line-height:1.45}.live-now-list>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:5px 0;border-bottom:1px solid var(--border)}.live-now-list dt{color:var(--muted)}.live-now-list dd{margin:0;color:var(--paper);font-variant-numeric:tabular-nums;min-height:1.45em;overflow-wrap:anywhere}.live-now-list .live-holding dd{color:var(--live-warn)}
@media(max-width:760px){.live-class-head{align-items:flex-start}.live-minis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;width:100%}.live-mini{justify-items:start}.live-mini .live-value{text-align:left;min-width:0}.live-plan{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.5em}}
@container live-class (width < 866px){.live-people-table,.live-people-table tbody,.live-people-table tr,.live-people-table td,.live-people-table th{display:block}.live-people-table colgroup,.live-people-table thead{display:none}.live-person-row{border-top:1px solid var(--border)}.live-people-table .live-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 44px;grid-template-areas:"who who status status more" "receives receives sends sends sends" "rtt lost filled filled filled";align-items:center;gap:10px 10px;padding:10px 4px 12px}.live-people-table .live-row>th,.live-people-table .live-row>td{height:auto;padding:0;border:0;white-space:normal}.live-people-table .live-row>.live-who{grid-area:who;display:grid;gap:2px}.live-people-table .live-row>.live-status{grid-area:status}.live-people-table .live-row>.live-status .live-st{display:grid;gap:2px}.live-people-table .live-row>.live-status .live-why{margin-left:21px}.live-people-table .live-row>.live-more{grid-area:more;justify-self:end}.live-people-table .live-row>.live-receives{grid-area:receives}.live-people-table .live-row>td.live-sends{grid-area:sends;display:flex;flex-wrap:wrap;align-items:center}.live-people-table .live-row>td.live-sends::before{flex-basis:100%}.live-people-table .live-row>.live-rtt{grid-area:rtt}.live-people-table .live-row>.live-lost{grid-area:lost}.live-people-table .live-row>.live-filled{grid-area:filled}.live-people-table .live-row>td[data-label]::before{content:attr(data-label);display:block;margin-bottom:1px;font-size:11px;font-weight:500;color:var(--muted);text-align:left}.live-people-table .live-row>.live-num{text-align:left}.live-role{margin-left:0}.live-people-table .live-detail>td{padding:14px 8px 18px}.live-detail-body{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(prefers-reduced-motion:reduce){.live-toggle .icon{transition:none}}

.portal .live-form { grid-template-columns: minmax(0, 1fr); gap: 0; }
.portal .live-form label.live-field { grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); grid-template-areas: "name control" "hint control"; align-items: center; gap: 4px 32px; padding: 18px 0; border-top: 1px solid var(--line); }
.portal .live-form label.live-field > span:first-child { grid-area: name; font-size: 14px; font-weight: 600; color: var(--paper); }
.portal .live-form label.live-field > small { grid-area: hint; }
.portal .live-form label.live-field > :is(select, .live-suffix) { grid-area: control; }
.portal .live-form .live-actions { margin-top: 0 !important; }
@media (max-width: 760px) {
  .portal .live-form label.live-field { grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "control" "hint"; gap: 8px; }
}

.cohort-coursework { display: grid; gap: 20px; min-width: 0; }
.cohort-coursework > .coursework-heading { flex-wrap: wrap; gap: 12px 24px; margin: 0; }
.coursework-heading h2 { margin: 0; }
#coursework-submissions { scroll-margin-top: 88px; min-width: 0; margin-top: 12px; }
.submission-review { margin-top: 24px; min-width: 0; }
.submission-review h4 { margin: 24px 0 12px; }
.submission-review .submitted-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.7;
  font-size: 13px;
}
.submission-review form { margin-top: 24px; }
.submission-review form > label { display: block; margin-top: 18px; }
.submission-review .review-comment { padding: 18px 0; border-top: 1px solid #334044; }
.submission-review .review-comment small { display: block; margin: 6px 0 12px; color: #9caaae; font-size: 11px; }
.submission-review .review-comment p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.submission-review .review-comment > span { display: inline-block; margin-top: 10px; }

.joined-cohort-title { min-width: 0; overflow-wrap: anywhere; }

.teaching-actions label { display: grid; gap: .5rem; }
.teaching-actions select { width: 100%; }
.teaching-action { display: flex; align-items: center; gap: .8rem; padding: 1.1rem 0; border-bottom: 1px solid var(--border); color: inherit; text-decoration: none; }
.teaching-action:last-child { border-bottom: 0; }
.teaching-action div { flex: 1; }
.teaching-action strong, .teaching-action small { display: block; }
.teaching-action small { margin-top: .35rem; color: var(--muted); line-height: 1.5; }
.teaching-action:hover strong { color: var(--accent); }
.role-grant-choice span { display: flex; align-items: center; gap: .6rem; }
.role-grant-choice input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin: 0; }
.role-grant-choice small { font-weight: normal; color: var(--muted); line-height: 1.5; }
[data-user-roles] fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.role-grant-choice input[type="checkbox"] { accent-color: var(--accent); }

.portfolio-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.portfolio-heading .btn { flex-shrink: 0; }
.portfolio-overview { display: flex; gap: 36px; align-items: center; margin-bottom: 28px; }
.portfolio-overview > div { display: grid; gap: 8px; flex-shrink: 0; }
.portfolio-overview strong { font-size: 28px; color: var(--accent); }
.portfolio-overview span, .portfolio-overview p { color: var(--muted); font-size: 13px; }
.portfolio-overview p { margin: 0 0 0 auto; max-width: 420px; line-height: 1.7; }
.portfolio-filter { display: grid; gap: 10px; max-width: 340px; margin-bottom: 36px; }
.portfolio-cohort-section { border-top: 1px solid #354047; padding-top: 28px; margin-bottom: 48px; min-width: 0; }
.portfolio-cohort-section .section-title-row { margin-bottom: 24px; }
.portfolio-cohort-section .portfolio-reflection { margin-top: 24px; }
.portfolio-cohort-section .portfolio-entry + .portfolio-entry { margin-top: 24px; }
.portfolio-cohort-section h2, .portfolio-entry h3, .portfolio-prose { overflow-wrap: anywhere; }
.portfolio-overview, .portfolio-filter, .portfolio-editor { min-width: 0; }
@media(max-width: 700px) {
  .portfolio-heading { flex-direction: column; align-items: flex-start; }
  .portfolio-overview { flex-wrap: wrap; gap: 24px; }
  .portfolio-overview p { flex-basis: 100%; margin-left: 0; }
  .portfolio-actions { flex-wrap: wrap; }
}

.timeline{position:relative;display:grid;gap:40px;padding:8px 0 32px;view-timeline-name:--portfolio}
.timeline::before,.timeline-trunk{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px}
.timeline::before{content:"";background:var(--line)}
.timeline-trunk{display:none;overflow:hidden;pointer-events:none}
.timeline-trunk>span{display:block;height:100%;background:linear-gradient(to bottom,var(--accent,var(--teal)),rgba(var(--accent-rgb,52,215,161),.3));transform-origin:top}
.timeline-cohort{position:relative;min-width:0;padding:28px 24px 8px;border:1px solid var(--line);border-radius:24px}
.timeline-cohort-head{position:relative;z-index:1;max-width:640px;margin:0 auto 28px;padding:22px 26px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.timeline-cohort-head::before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--accent,var(--teal));box-shadow:0 0 0 4px var(--surface),0 0 0 5px rgba(var(--accent-rgb,52,215,161),.35)}
.timeline-cohort-mark{display:block;width:28px;height:28px;margin:0 auto 8px}
.timeline-cohort-meta{display:block;font-size:13px;font-weight:600;color:var(--muted)}
.timeline-cohort-head h2{margin:6px 0 0;font-size:24px;line-height:1.25;color:var(--paper);overflow-wrap:anywhere}
.timeline-learned{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);text-align:left}
.timeline-label{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--muted)}
.timeline-entries{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);margin:0;padding:0;list-style:none}
.timeline-entry{position:relative;min-width:0;grid-row:var(--row)/span 2;padding-bottom:24px}
.timeline-entry.is-left{grid-column:1}
.timeline-entry.is-right{grid-column:3}
.timeline-entry::before{content:"";position:absolute;top:30px;width:32px;height:2px;background:var(--line)}
.timeline-entry::after{content:"";position:absolute;top:25px;width:12px;height:12px;box-sizing:border-box;border:2px solid var(--accent,var(--teal));border-radius:50%;background:var(--surface)}
.timeline-entry.is-left::before{right:-32px}
.timeline-entry.is-left::after{right:-38px}
.timeline-entry.is-right::before{left:-32px}
.timeline-entry.is-right::after{left:-38px}
.timeline-card{position:relative;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px -18px rgba(0,0,0,.45)}
.timeline-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.timeline-version{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.timeline-card h3{margin:8px 0 10px;font-size:18px;line-height:1.3;color:var(--paper);overflow-wrap:anywhere}
.timeline-card .portfolio-prose,.timeline-cohort-head .portfolio-prose{font-size:14px;line-height:1.65}
.timeline-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.timeline-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.timeline-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;line-height:1.3;color:var(--paper);text-decoration:none;overflow-wrap:anywhere}
.timeline-pill .icon{flex-shrink:0;width:13px;height:13px;color:var(--muted)}
a.timeline-pill:hover{border-color:var(--accent,var(--teal))}
a.timeline-pill:focus-visible{outline:2px solid var(--accent,var(--teal));outline-offset:2px}
.timeline-pill-host{color:var(--muted)}
@media(max-width:760px){
  .timeline::before,.timeline-trunk{left:15px}
  .timeline-cohort{padding:22px 14px 4px 34px;border-radius:18px}
  .timeline-cohort-head{margin:0 0 22px;padding:18px;text-align:left}
  .timeline-cohort-head::before{top:22px;left:-26px;margin-left:0}
  .timeline-cohort-mark{margin:0 0 8px}
  .timeline-entries{grid-template-columns:minmax(0,1fr)}
  .timeline-entry,.timeline-entry.is-left,.timeline-entry.is-right{grid-column:1;grid-row:auto}
  .timeline-entry.is-left::before,.timeline-entry.is-right::before{left:-19px;right:auto;width:19px}
  .timeline-entry.is-left::after,.timeline-entry.is-right::after{left:-25px;right:auto}
}
@media(prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()){
    .timeline-trunk{display:block}
    .timeline-trunk>span{animation:timeline-fill linear both;animation-timeline:--portfolio;animation-range:cover 40vh exit 40vh}
    .timeline-cohort-head{animation:timeline-rise linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
    .timeline-entry.is-left .timeline-card{animation:timeline-from-left linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
    .timeline-entry.is-right .timeline-card{animation:timeline-from-right linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
    @media(max-width:760px){.timeline-entry.is-left .timeline-card{animation-name:timeline-from-right}}
  }
}
@keyframes timeline-fill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes timeline-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes timeline-from-left{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes timeline-from-right{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@media print{.timeline-trunk{display:none!important}.timeline-card,.timeline-cohort-head{animation:none!important}}

.showcase{--accent:var(--teal);--accent-rgb:52,215,161;--accent-soft:var(--teal-dark);--border:var(--line);max-width:1080px;margin:0 auto;padding:32px 24px 48px}
.showcase-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 28px;align-items:center;margin:8px 0 40px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:24px}
.showcase-picture{display:grid;place-items:center;width:96px;height:96px;overflow:hidden;border-radius:24px;background:var(--card);font-size:36px;font-weight:700;color:var(--paper)}
.showcase-picture img{width:100%;height:100%;object-fit:cover}
.showcase-who{min-width:0}
.showcase-who h1{margin:0 0 4px;font-size:clamp(28px,4vw,40px);line-height:1.1;color:var(--paper);overflow-wrap:anywhere}
.showcase-share{display:grid;gap:10px;justify-items:end;max-width:430px}
.share-heading{margin:0;font-size:13px;font-weight:600;color:var(--muted)}
.showcase-share .share-row{justify-content:flex-end}
.showcase-share .share-note{text-align:right}
.showcase-handle{margin:0;font-size:14px;color:var(--muted)}
.showcase-cohorts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.showcase-cohorts li{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 14px 4px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--paper)}
.showcase-cohorts img{flex-shrink:0;width:18px;height:18px}
.showcase-empty{padding:32px 0;text-align:center;color:var(--muted)}
.showcase-made{display:flex;align-items:center;gap:16px;margin-top:48px;padding:20px 24px;border:1px solid var(--line);border-radius:18px}
.showcase-made img{flex-shrink:0;width:40px;height:40px}
.showcase-made div{flex:1;min-width:0}
.showcase-made strong{font-size:15px;color:var(--paper)}
.showcase-made p{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){
  .showcase-hero{grid-template-columns:auto minmax(0,1fr)}
  .showcase-share{grid-column:1/-1;justify-items:stretch;max-width:none;padding-top:14px;border-top:1px solid var(--line)}
  .showcase-share .share-row{justify-content:flex-start}
  .showcase-share .share-note{text-align:left}
}
@media(max-width:760px){
  .showcase{padding:20px 16px 40px}
  .showcase-hero{grid-template-columns:minmax(0,1fr);padding:22px}
  .showcase-picture{width:72px;height:72px;border-radius:18px;font-size:28px}
  .showcase-who h1{font-size:30px}
  .showcase-made{flex-direction:column;align-items:flex-start;gap:12px}
  .showcase-made div{flex:none;width:100%}
  .showcase-made .pill-button{align-self:stretch;justify-content:center}
}
.share-buttons{display:grid;gap:10px;min-width:0}
.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.share-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--paper);font-size:13px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.share-button .icon{flex-shrink:0;width:16px;height:16px}
.share-button:hover{border-color:var(--accent,var(--teal));background:rgba(var(--accent-rgb,52,215,161),.08)}
.share-button:focus-visible{outline:2px solid var(--accent,var(--teal));outline-offset:2px}
.share-copy .icon{color:var(--accent,var(--teal))}
.share-native{display:none}
.share-note{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}
@media(max-width:760px){
  .share-row .share-button{min-height:44px}
  .share-row.has-share-sheet{width:100%}
  .share-row.has-share-sheet .share-platform{display:none}
  .share-row.has-share-sheet .share-copy,.share-row.has-share-sheet .share-native{display:inline-flex;flex:1 1 0}
}
.public-portfolio{display:grid;gap:14px;margin-bottom:28px;padding:18px 20px}
.public-portfolio-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.public-portfolio .room-switch-state.is-live .room-switch-dot{animation:none}
.public-portfolio-note{flex:1 1 240px;margin:0;font-size:13px;color:var(--muted)}
.public-portfolio-link{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:14px;border-top:1px solid var(--line)}
.public-portfolio-link>a{display:inline-flex;align-items:center;gap:6px;font-size:13px;overflow-wrap:anywhere}
.public-portfolio-link>a .icon{width:13px;height:13px}
.entry-owner-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:14px}
.entry-public-tick{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.entry-public-tick input{width:16px;height:16px;accent-color:var(--accent)}
.entry-meta{display:block;font-size:11px;color:var(--muted)}
.profile-portfolio-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:18px}

.curriculum-meta > .curriculum-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.studio-field { display: grid; gap: 9px; min-width: 0; align-content: start; }
.studio-field small { color: var(--muted); font-size: 12px; line-height: 1.6; }
.studio-field > .text-link { justify-self: start; text-align: left; font-size: 12px; padding: 0; }
.accent-input-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
.accent-input-row input { min-width: 0; flex: 1; }
.accent-preview { width: 24px; height: 24px; border: 1px solid #75847d; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 4px #13191c; }
.field-help { position: relative; width: fit-content; cursor: help; border-bottom: 1px dotted #71847b; }
.field-help [role=tooltip] { display: none; position: absolute; bottom: calc(100% + 10px); left: 0; z-index: 25; width: 300px; max-width: calc(100vw - 80px); padding: 14px 16px; color: #edf3f3; background: #212b2c; border: 1px solid #50626c; border-radius: 8px; box-shadow: 0 12px 32px #0008; font-size: 12px; font-weight: 400; line-height: 1.7; }
.field-help:hover [role=tooltip], .field-help:focus [role=tooltip], .field-help:focus-within [role=tooltip] { display: block; }
.studio-popover { position: relative; min-width: 0; }
.studio-popover > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; padding: 12px; border: 1px solid #50626c; border-radius: 7px; background: #192124; color: #edf3f3; font-size: 13px; line-height: 1.4; }
.studio-popover > summary::after { content: '⌄'; color: #9be8cb; }
.studio-popover > summary::-webkit-details-marker { display: none; }
.studio-popover > summary:focus-visible, .color-swatches button:focus-visible, .week-picker [role=option]:focus-visible, .field-help:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.studio-popup { position: absolute; z-index: 20; top: calc(100% + 8px); padding: 18px; border: 1px solid #50626c; border-radius: 10px; background: #192124; box-shadow: 0 18px 48px #0009; }
.color-popover .studio-popup { right: 0; width: 266px; display: grid; gap: 14px; }
.studio-popup strong { font-size: 14px; }
.color-swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.color-swatches button { width: 29px; height: 29px; border: 1px solid #ffffff45; border-radius: 50%; cursor: pointer; }
.color-swatches button:hover { transform: scale(1.12); outline: 2px solid #a9b6bc; outline-offset: 2px; }
.curriculum-fields .studio-popup input[type=color] { height: 38px; padding: 3px; cursor: pointer; }
.studio-popup code { color: #edf3f3; font-size: 14px; }
.studio-popup .text-link { text-align: left; padding: 0; font-size: 12px; }
.studio-team { border-top: 1px solid #354047; padding-top: 22px; margin-top: 8px; }
.studio-team h3 { margin-bottom: 18px; font-size: 16px; }
.studio-team .small-muted { margin-top: 14px; line-height: 1.6; }
.assignment-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.assignment-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 7px 5px 10px; background: #20352b; border: 1px solid #3c6250; border-radius: 20px; font-size: 12px; color: #c9efdc; max-width: 100%; }
.assignment-chip > span { overflow-wrap: anywhere; }
.assignment-chip button { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: #17271e; color: #c9efdc; cursor: pointer; flex-shrink: 0; }
.assignment-chip button .icon { width: 12px; height: 12px; stroke-width: 2.2; }
.assignment-chip button:hover { background: #354e40; }
.publication-status { display: inline-flex; padding: 7px 11px; border: 1px solid #59616a; border-radius: 20px; background: #21272c; color: #b9c1ca; font-size: 12px; white-space: nowrap; }
.publication-status.is-published { color: #9be8cb; border-color: #367f5c; background: #193326; }
.week-picker-popup { left: 0; width: min(620px, calc(100vw - 370px)); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.week-picker [role=listbox] { display: grid; align-content: start; max-height: 300px; overflow-y: auto; overscroll-behavior: contain; gap: 4px; }
.week-picker [role=option] { background: transparent; border: 1px solid transparent; border-radius: 5px; color: #cbd7d2; text-align: left; padding: 10px; font: inherit; font-size: 12px; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
.week-picker [role=option]:hover, .week-picker [role=option]:focus-visible, .week-picker [role=option][aria-selected=true] { background: #24372f; border-color: #436553; color: #c9efdc; }
.week-hover-preview { border-left: 1px solid #354047; padding: 10px 0 10px 18px; min-width: 0; }
.week-hover-preview p { font-size: 12px; line-height: 1.7; color: #a9b6bc; margin-top: 12px; overflow-wrap: anywhere; max-height: 240px; overflow-y: auto; }
.ecosystem-artwork { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
@media(max-width: 1050px) { .studio-team > .curriculum-form-grid { grid-template-columns: minmax(0, 1fr); } }
@media(max-width: 760px) {
  .curriculum-meta > .curriculum-form-grid { grid-template-columns: minmax(0, 1fr); }
  .week-picker-popup { width: 100%; grid-template-columns: minmax(0, 1fr); }
  .week-picker [role=listbox] { max-height: 190px; }
  .week-hover-preview { border-left: 0; border-top: 1px solid #354047; padding: 14px 0 0; }
  .week-hover-preview p { max-height: 160px; }
}

.ecosystem-fallback { position: absolute; inset: 0; display: grid; place-items: center; font: 72px ui-monospace, monospace; color: var(--accent); }
.studio-field .ecosystem-error { color: #ffd9aa; }

.curriculum-toolbar.portal-panel { display: grid; gap: 18px; }
.curriculum-toolbar label { min-width: 0; }
.curriculum-publication { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.curriculum-publication .text-link { font-size: 12px; }
.studio-control-row { display: flex; align-items: flex-end; gap: 12px; min-width: 0; }
.studio-control-row > select, .studio-control-row > input, .studio-control-row > label { flex: 1; min-width: 0; width: auto; }
.portal .curriculum-toolbar .studio-control-row > select, .curriculum-toolbar .studio-control-row .btn { height: 44px; min-height: 44px; margin: 0; }
.curriculum-toolbar .studio-control-row .btn { padding: 10px 16px; }
.curriculum-toolbar > [role=status] { font-size: 12px; color: var(--muted); }
.studio-action-help { position: relative; display: inline-flex; flex-shrink: 0; }
.studio-action-help > [role=tooltip] { display: none; position: absolute; z-index: 30; bottom: 100%; right: 0; width: 280px; max-width: calc(100vw - 64px); padding: 14px 16px; color: #edf3f3; background: #212b2c; border: 1px solid #50626c; border-radius: 8px; box-shadow: 0 12px 32px #0008; font-size: 12px; line-height: 1.7; font-weight: 400; text-align: left; }
.studio-action-help:not([data-dismissed=true]):hover > [role=tooltip], .studio-action-help:not([data-dismissed=true]):focus-within > [role=tooltip] { display: block; }
@media(max-width: 1100px) {
  .curriculum-toolbar .studio-control-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .curriculum-toolbar .studio-control-row > select { grid-column: 1 / -1; width: 100%; }
  .curriculum-toolbar .studio-control-row .studio-action-help, .curriculum-toolbar .studio-control-row .btn { width: 100%; }
  .curriculum-toolbar .studio-control-row .studio-action-help:first-of-type > [role=tooltip] { left: 0; right: auto; }
}
@media(max-width: 760px) {
  .curriculum-publication { flex-wrap: wrap; }
  .curriculum-publication .curriculum-actions { justify-content: flex-end; flex: 1; }
  .curriculum-toolbar .studio-control-row { grid-template-columns: minmax(0, 1fr); }
  .curriculum-toolbar .studio-control-row .studio-action-help > [role=tooltip] { width: 100%; max-width: 100%; }
}

.portal .curriculum-fields .accent-input-row > input, .accent-input-row .color-popover > summary { margin: 0; height: 44px; }

.studio-level-head { display: flex; align-items: center; gap: 14px; min-width: 0; }
.studio-level-title { display: grid; gap: 4px; flex: 1; min-width: 0; }
.portal .studio-level-title .eyebrow { margin: 0; }
.portal .studio-level-title h2 { margin: 0; font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; }
.curriculum-meta > .studio-level-head { margin-bottom: 4px; }
.portal-panel.week-edit { gap: 20px; }
.studio-part { display: grid; gap: 16px; min-width: 0; padding: 18px 20px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-raised); }
.studio-part.curriculum-materials, .studio-part.week-assignments { margin-top: 0; padding-top: 18px; }
.studio-part-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 44px; }
.studio-part-head > .icon { width: 18px; height: 18px; flex-shrink: 0; color: var(--accent); }
.portal .studio-part-head h3 { margin: 0; font-size: 15px; }
.studio-part-head .part-hint { font-size: 12px; color: var(--muted); }
.studio-part-head .part-count { font: 12px ui-monospace, monospace; color: var(--muted); }
.studio-part-head > .btn, .studio-part-head > .part-actions { margin-left: auto; }
.studio-part-head > .part-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.studio-part .material-edit, .studio-part .assignment-edit { display: grid; gap: 14px; margin: 0; padding: 14px 16px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.studio-part .material-edit .curriculum-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.studio-part .material-edit .curriculum-form-grid.slide-fields { grid-template-columns: minmax(0, 1fr); }
.item-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; }
.item-head .item-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.portal .item-head .icon-button, .portal .lesson-tools .icon-button { width: 36px; height: 36px; }
.portal .item-head .icon-button .icon, .portal .lesson-tools .icon-button .icon { width: 16px; height: 16px; }
.portal .lesson-tools .icon-button:disabled { opacity: .35; }
.lessons-part > .lesson-library { padding-top: 4px; }

.lesson-edit { background: var(--panel); }
.lesson-edit[open] { border-color: rgba(var(--accent-rgb), .5); }
.portal .lesson-edit > summary { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px; list-style: none; font-weight: 400; }
.lesson-edit > summary::-webkit-details-marker { display: none; }
.lesson-edit > summary > .icon { width: 16px; height: 16px; flex-shrink: 0; color: var(--muted); transition: transform .15s; }
.lesson-edit[open] > summary > .icon { transform: rotate(90deg); color: var(--accent); }
.lesson-edit[open] > summary { border-bottom: 1px solid var(--line); }
.lesson-edit .lesson-index { flex-shrink: 0; font-size: 11px; letter-spacing: .15em; color: var(--accent-soft); }
.lesson-edit .lesson-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lesson-edit .lesson-held { margin-left: auto; flex-shrink: 0; font-size: 12px; color: var(--muted); white-space: nowrap; }
.portal .lesson-edit-body { gap: 16px; padding: 16px 18px 20px; }
.lesson-tools { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.lesson-basics { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 14px; align-items: start; }
.lesson-edit .studio-part { padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; }
.lesson-edit .studio-part .material-edit, .lesson-edit .studio-part .assignment-edit { background: var(--panel-raised); }

.row-menu > .row-menu-note { display: block; padding: 9px 12px 4px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.row-menu > .row-menu-note ~ .row-menu-note { margin-top: 4px; border-top: 1px solid var(--line); padding-top: 10px; }
.row-menu > .row-menu-note ~ .is-danger { margin-top: 4px; border-top: 1px solid var(--line); }

.portal .curriculum-fields label.file-pick { position: relative; display: inline-flex; flex-direction: row; align-items: center; overflow: hidden; color: var(--paper); cursor: pointer; }
.portal .curriculum-fields label.file-pick input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.file-pick:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.file-pick:has(input:disabled) { opacity: .6; cursor: progress; }

@media (max-width: 700px) {
  .studio-part { padding: 16px 14px 16px; }
  .lesson-basics, .studio-part .material-edit .curriculum-form-grid { grid-template-columns: minmax(0, 1fr); }
  .lesson-edit .lesson-held { display: none; }
}
.week-edit .row-menu { min-width: 260px; max-width: calc(100vw - 48px); }

.post-feed{margin-top:32px;min-width:0}.post-feed>.section-title-row{gap:20px;align-items:center}.post-feed h2{margin:8px 0}.post-audience{color:var(--muted,#a9b6bc);margin:0 0 22px}.post-list{display:grid;gap:16px}.school-post{background:#191e21;border:1px solid #354047;border-radius:10px;padding:26px 28px;min-width:0;overflow-wrap:anywhere}.school-post h3{font-size:23px;line-height:1.35;margin:12px 0 6px}.post-meta{color:#95a5ab;font-size:12px;margin:0 0 20px}.post-body,.post-excerpt{font-size:15px;line-height:1.75;color:#d8e0e1;overflow-wrap:anywhere}.post-body>:first-child{margin-top:0}.post-body>:last-child{margin-bottom:0}.post-body h1,.post-body h2,.post-body h3{font-size:19px;margin:22px 0 10px}.post-body pre{overflow:auto;background:#111517;padding:14px;border-radius:6px}.post-body code{font-size:13px}.post-body a{color:var(--accent,#34d7a1);text-decoration:underline}.post-body blockquote{border-left:2px solid var(--accent,#34d7a1);padding-left:16px;margin-left:0;color:#a9b6bc}.post-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.post-links:empty{display:none}.post-links a{border:1px solid #354047;border-radius:6px;padding:9px 12px;color:var(--accent,#34d7a1);font-size:13px;text-decoration:none}.post-links a:hover{background:#222c2d;border-color:var(--accent,#34d7a1)}.post-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.post-footer small{color:#95a5ab;font-size:11px}.post-footer:has(small:empty):not(:has(button)){display:none}.post-article summary{cursor:pointer;color:var(--accent,#34d7a1);font-size:14px;padding:8px 0}.post-article[open] summary{margin-bottom:14px}.post-editor{margin:0 0 24px!important;max-width:none!important}.post-editor fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}.post-editor label{display:grid;gap:7px;color:#c9d3d6;font-size:13px}.post-editor :is(input:not([type=checkbox]),textarea,select){width:100%;box-sizing:border-box;background:#111719;color:#edf3f3;border:1px solid #50626c;border-radius:7px;padding:11px 13px;font:inherit}.post-editor textarea{resize:vertical;line-height:1.6}.post-editor :is(input,textarea,select,button):focus-visible,.post-feed a:focus-visible,.post-article summary:focus-visible{outline:2px solid var(--accent,#34d7a1);outline-offset:3px}.post-link-editor{border-top:1px solid #354047;padding-top:14px}.post-link-editor h4{margin:0}.post-link-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,2fr) auto;align-items:end;gap:12px;margin-top:14px}.post-link-row>button{padding-bottom:12px}.post-editor .post-pin-toggle{display:flex;align-items:center;gap:10px}.post-pin-toggle input{width:17px;height:17px;accent-color:var(--accent,#34d7a1)}.post-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}.post-error{background:#2c2020;border:1px solid #835451;padding:14px;border-radius:7px;color:#ffd1c5;margin:12px 0}.post-error span{display:block;font-size:13px;margin-top:6px}.post-error[hidden],.post-feedback[hidden]{display:none}.post-feedback{color:var(--accent,#34d7a1);font-size:14px}.posts-empty{border:1px dashed #354047;border-radius:8px;padding:24px;color:#95a5ab}.post-pagination{display:flex;gap:24px;margin-top:16px}.post-feed .text-link{cursor:pointer}.post-feed button:disabled{opacity:.5;cursor:default}
@media(max-width:680px){.post-feed>.section-title-row{align-items:flex-start;flex-direction:column}.school-post{padding:20px}.school-post h3{font-size:20px}.post-link-row{grid-template-columns:minmax(0,1fr)}.post-link-row>button{justify-self:start}.post-footer{align-items:flex-start}.post-editor-actions{gap:12px}.post-editor-actions>.btn{width:100%}}

.school-post:has(.post-article[open]) .post-excerpt{display:none}
.post-meta .chip{margin-left:8px}


.form-list{margin-top:20px}.form-list h2{font-size:17px;margin:0 0 10px}
.form-editor fieldset>small.small-muted{margin-top:-8px}
.form-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;max-width:520px}
.form-question-list{display:grid;gap:14px;border-top:1px solid var(--border);padding-top:16px}.form-question-list h3{font-size:16px;margin:0}
.form-question-editor{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;padding:16px;min-width:0}
.form-question-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.form-question-head strong{font-size:14px;font-weight:600}
.post-editor .form-question-head select{width:auto;min-width:170px}
.post-editor .form-required-toggle{display:flex;align-items:center;gap:8px;min-height:44px}.form-required-toggle input{width:17px;height:17px;accent-color:var(--accent)}
.form-question-tools{display:flex;gap:6px;margin-left:auto}.form-question-tools .icon-button{width:44px;height:44px;border-color:var(--border);color:var(--paper)}.form-question-tools .icon-button:disabled{opacity:.4}.form-question-tools .icon{width:18px;height:18px}
.form-add-question{justify-self:start;gap:10px}.form-add-question .icon{width:18px;height:18px}
.form-save-state{margin-top:0}.form-delete{margin-left:auto;color:#f2988a}
.form-sheet{display:grid;gap:18px;margin-top:20px}.form-preview-note{margin:0}
.form-sheet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;color:var(--muted)}
.form-questions{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:question}
.form-question{display:grid;gap:8px;counter-increment:question;min-width:0}
.form-question-text{font-size:15px;font-weight:600;color:var(--paper);overflow-wrap:anywhere}.form-question-text::before{content:counter(question) ". ";color:var(--muted);font-weight:500}
.form-required{color:var(--accent)}.form-question-hint{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.portal .form-question :is(input,textarea){margin-top:0}
.form-answer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.form-answer-actions:empty{display:none}
.form-answer-status{font-size:13px;color:var(--muted)}.form-sheet .post-error,.form-sheet .post-feedback{margin:0}
.portal .form-question :is(input,textarea):disabled{opacity:.75}
.form-notices{display:grid;gap:16px;margin-bottom:16px}
.form-notice .post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between}.form-notice .post-meta .chip{margin-left:0}.form-notice-due{color:var(--muted)}.form-notice-kind{display:inline-flex;align-items:center;gap:6px}.form-notice-kind .icon{width:13px;height:13px}
.form-notice-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-top:16px}
.form-notice-state{font-size:13px;color:var(--muted)}
.form-answers{display:grid;gap:16px;margin-top:20px}
.form-answers-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.form-answers-count{margin:0 auto 0 0;font-size:15px;font-weight:600}
.form-answers-views{display:flex;gap:8px}.form-answers-head .btn{min-height:44px;padding:10px 16px;font-size:14px;gap:10px}.form-answers-head .icon{width:18px;height:18px}
.form-answers-views .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.form-answers-missing{margin:0;font-size:13px;color:var(--muted)}.form-answers-missing strong{color:var(--paper);font-weight:600}
.form-answer-group{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px;min-width:0}.form-answer-group h3{font-size:15px;margin:0;overflow-wrap:anywhere}
.form-answer-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.form-answer-list li{display:grid;gap:4px}.form-answer-list strong{font-size:12px;font-weight:600;color:var(--muted)}
.form-answer-text{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.form-answer-person{display:grid;gap:6px;margin:0}.form-answer-person dt{font-size:13px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.form-answer-person dd{margin:0}
.form-choices{display:grid;gap:4px}
.portal .form-question .form-choices label.form-choice{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--paper);cursor:pointer}
.portal .form-question .form-choices label.form-choice input:is([type=radio],[type=checkbox]){width:18px;height:18px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--accent)}
.form-choice input:disabled+span{opacity:.75}
.form-option-list{display:grid;gap:8px}.form-option-heading{font-size:12px;color:var(--muted)}
.form-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.portal .form-option-row input{margin-top:0}
.form-option-row .icon-button{width:44px;height:44px;border-color:var(--border);color:var(--paper)}.form-option-row .icon-button:disabled{opacity:.4}.form-option-row .icon{width:16px;height:16px}
.form-add-option{justify-self:start;min-height:44px}
.form-option-tallies{list-style:none;padding:0;margin:0;display:grid;gap:12px}.form-option-tally{display:grid;gap:5px}
.form-option-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}.form-option-line strong{font-weight:600;white-space:nowrap}
.form-option-bar{display:block;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.form-option-bar::before{content:"";display:block;height:100%;width:var(--share,0%);background:var(--accent)}
.form-option-tally small{font-size:12px;color:var(--muted)}
.form-files{display:grid;gap:10px}.form-file-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.form-file-pick .btn{min-height:44px;padding:10px 16px;font-size:14px;gap:10px}.form-file-pick .icon{width:18px;height:18px}
.form-answer-files{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.form-answer-files li{display:grid;gap:6px;max-width:220px;font-size:13px;min-width:0}.form-answer-files a{display:inline-flex;align-items:center;gap:6px;color:var(--accent-soft);overflow-wrap:anywhere}
.form-answer-files .icon{width:15px;height:15px;flex:none}.form-answer-files small{font-size:12px;color:var(--muted)}
.form-answer-picture{display:block;width:100%;max-width:220px;max-height:160px;object-fit:cover;border:1px solid var(--border);border-radius:6px}
.form-audience legend{font-size:13px;color:#c9d3d6;padding:0;margin-bottom:4px}
.portal .post-editor .form-audience label.form-audience-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--paper);cursor:pointer}
.form-audience-check input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--accent)}
.form-audience-matches,.form-audience-chosen{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 12px}
.form-audience-matches:empty,.form-audience-chosen:empty{display:none}
.form-audience-matches .text-link{min-height:44px;gap:6px}.form-audience-matches .icon{width:16px;height:16px}
.form-audience-chosen .chip{font-size:13px;font-weight:500;color:var(--paper);padding:2px 2px 2px 10px;gap:4px}
.form-audience-chosen .chip button{display:grid;place-items:center;width:32px;height:32px;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}
.form-audience-chosen .chip button:hover{color:var(--paper)}.form-audience-chosen .icon{width:14px;height:14px}
@media(max-width:680px){.form-notice-footer .pill-button{width:100%}.form-settings{grid-template-columns:minmax(0,1fr)}.form-question-tools{margin-left:0}.form-delete{margin-left:0}}

.role-preview-active{padding-top:42px}
.role-preview-bar{position:fixed;inset:0 0 auto;height:42px;z-index:150;display:flex;align-items:center;gap:12px;padding:0 24px;background:#17392e;border-bottom:1px solid #427b64;color:#e2f8ee;font-size:12px}
.role-preview-bar small{color:#acd7c5;font-size:11px}
.role-preview-select{width:auto;max-width:190px;min-height:30px;height:30px;margin:0;padding:3px 27px 3px 9px;border:1px solid var(--border,#427b64);border-radius:5px;background:#172521;color:#e2f8ee;font:inherit;font-size:12px}
.role-preview-entry label{display:grid;gap:8px;margin-top:16px;font-size:12px}
.role-preview-entry .role-preview-select{width:100%;max-width:none;height:42px}
.role-preview-exit{margin-left:auto;min-height:30px;padding:3px 12px;border:1px solid #588c75;border-radius:5px;color:#e2f8ee;background:transparent;font:inherit;font-weight:600;cursor:pointer}
.role-preview-exit:hover{background:#285442}
.role-preview-bar :focus-visible{outline:2px solid #9be8cb;outline-offset:2px}
.role-preview-active .portal-sidebar{top:42px;height:calc(100dvh - 42px)}
@media(max-width:650px){.role-preview-bar{padding:0 10px;gap:7px;font-size:11px}.role-preview-bar small{display:none}.role-preview-select{max-width:158px;font-size:11px}.role-preview-exit{padding:3px 8px}.role-preview-active .portal-sidebar{top:auto;height:auto}}

.cohort-calendar{min-width:0}
.calendar-title,.calendar-toolbar,.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cohort-calendar .calendar-title h2{margin:8px 0 0}.calendar-title .text-link{font-size:12px;white-space:nowrap}
.cohort-calendar .calendar-timezone{margin:10px 0 0;font-size:12px;color:#a9b6bc}
.cohort-calendar .calendar-export-help{font-size:12px;max-width:720px;margin:12px 0;color:#a9b6bc;line-height:1.7}
.calendar-toolbar{margin:25px 0 12px;flex-wrap:wrap}.calendar-toolbar h3{font-size:20px;margin:0}.calendar-toolbar>div{display:flex;gap:4px;align-items:center}
.calendar-nav{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border:1px solid var(--border,#354047);background:#151a1d;color:#edf3f3;border-radius:3px;padding:5px 8px;cursor:pointer;font:inherit;font-size:13px}
.calendar-nav:hover{border-color:var(--accent)}
.calendar-legend{display:flex;gap:18px;font-size:11px;color:#a9b6bc;margin:0 0 14px}.calendar-legend>span{display:flex;gap:6px;align-items:center}
.calendar-dot{display:inline-block;width:5px;height:5px;border-radius:50%;flex:none}.class-dot{background:var(--accent,#34d7a1)}.deadline-dot{background:#ffbb55}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0}
.calendar-weekday{text-align:center;font-size:11px;color:#a9b6bc;padding:5px 0 8px}
.calendar-day{min-width:0;min-height:115px;display:flex;align-items:flex-start;flex-direction:column;gap:7px;text-align:left;border:1px solid var(--border,#354047);border-radius:3px;padding:10px;background:#13191c;color:#edf3f3;cursor:pointer;font:inherit}
.calendar-day:hover,.calendar-day.selected{border-color:var(--accent,#34d7a1);background:rgba(var(--accent-rgb,52,215,161),.08)}
.calendar-day:focus-visible,.calendar-nav:focus-visible{outline:2px solid var(--accent,#34d7a1);outline-offset:2px}
.calendar-date{font-size:13px;line-height:22px;min-width:22px;text-align:center}.calendar-current-day .calendar-date{border-radius:50%;background:var(--accent);color:var(--accent-ink,#101b17)}
.outside-month{opacity:.4}.outside-month.selected{opacity:1}
.calendar-markers{display:none;justify-content:center;gap:3px;min-height:5px}
.calendar-day-events{display:flex;flex-direction:column;gap:5px;width:100%;min-width:0}.calendar-day-events>span{font-size:11px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-left:2px solid var(--accent);padding-left:5px;color:var(--accent-soft,#9be8cb)}
.calendar-day-events>:is([data-kind="Deadline"],[data-kind="Form"]){border-color:#ffbb55;color:#ffcd80}.calendar-day-events small{font-size:11px;color:#a9b6bc}
.calendar-agenda{margin-top:24px}.calendar-agenda-heading h3{font-size:15px;margin:0}.calendar-agenda-heading{margin-bottom:12px}.calendar-agenda-heading .text-link{font-size:11px}
.calendar-event{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid var(--border,#354047);text-decoration:none;color:#edf3f3;min-width:0}.calendar-event:hover strong{color:var(--accent-soft)}
.calendar-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:38px;font-size:22px;color:#edf3f3;line-height:1.2}.calendar-event-date small{font-size:11px;text-transform:uppercase;color:#a9b6bc}
.calendar-event-content{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}.calendar-event-content small{color:var(--accent-soft);font-size:11px}.calendar-event:is([data-kind="Deadline"],[data-kind="Form"]) .calendar-event-content small{color:#ffcd80}.calendar-event-content strong{font-size:13px;line-height:1.5;font-weight:550}.calendar-event-content>span{font-size:11px;color:#a9b6bc}
.cohort-calendar .calendar-empty,.cohort-calendar .calendar-unscheduled{font-size:12px;line-height:1.7;color:#a9b6bc;margin:12px 0 0}.calendar-unscheduled{border-top:1px solid var(--border,#354047);padding-top:14px}
.calendar-compact{padding:22px}.calendar-compact .calendar-title{flex-wrap:wrap;gap:8px}.calendar-compact .calendar-title h2{font-size:20px}.calendar-compact .calendar-toolbar{margin-top:20px}.calendar-compact .calendar-toolbar h3{font-size:15px}.calendar-compact .calendar-nav{min-width:28px;min-height:28px;font-size:11px;padding:3px 6px}
.calendar-compact .calendar-grid{gap:3px}.calendar-compact .calendar-day{min-height:43px;padding:4px 0;align-items:center;justify-content:center;gap:2px;border-color:transparent;background:transparent}.calendar-compact .calendar-day:hover,.calendar-compact .calendar-day.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.calendar-compact .calendar-day-events{display:none}.calendar-compact .calendar-markers{display:flex}.calendar-compact .calendar-date{font-size:12px}.calendar-compact .calendar-weekday{font-size:11px}.calendar-compact .calendar-legend{margin-bottom:8px}
@media(max-width:700px){.calendar-title{align-items:flex-start;flex-direction:column}.calendar-toolbar h3{font-size:17px}.calendar-grid{gap:3px}.calendar-day{min-height:50px;padding:6px 0;align-items:center;gap:4px}.calendar-day-events{display:none}.calendar-markers{display:flex}.calendar-weekday{font-size:11px}.calendar-compact .calendar-title{flex-direction:row;align-items:center}.cohort-calendar .calendar-title h2{font-size:23px}.calendar-title>.btn{font-size:12px;padding:10px 12px}}

.site-settings{max-width:1000px}
.section-switcher{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto}
.section-switcher button{background:transparent;color:var(--muted,#a9b6bc);border:0;border-bottom:2px solid transparent;padding:13px 17px;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.section-switcher button:hover{color:var(--paper,#edf3f3)}
.section-switcher button.active{color:var(--accent-soft);border-bottom-color:var(--accent)}
.section-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.site-settings [hidden]{display:none!important}
.settings-section h2{margin:0;font:600 23px var(--heading)}
.settings-section .section-description{font-size:13px;line-height:1.7;color:var(--muted,#a9b6bc);margin:12px 0 26px;max-width:620px}
.portal .settings-section label.setting-field{display:grid;gap:10px;max-width:760px}
.portal .settings-section select{max-width:360px;margin:0}
.portal .settings-section textarea{margin:0;line-height:1.7;resize:vertical;min-height:220px}
.settings-save-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--border);margin-top:28px;padding-top:20px}
.settings-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.settings-actions .btn{min-height:42px;font-size:12px;padding:10px 16px}
.portal .settings-actions .btn:disabled{opacity:.45;cursor:default}
.site-settings>.small-muted,.site-settings>div>.small-muted{margin:12px 0 20px;line-height:1.7}
.classroom-identities{margin-top:24px}
.classroom-identities>summary,.moderation-log>summary{font-weight:600;cursor:pointer;padding:6px 0}
.classroom-identities>p{margin-top:14px}
.portal .form-action-row{gap:12px;flex-wrap:wrap}
.portal .field-grid{align-items:start;row-gap:22px}
.portal .moderation-panel .field-grid{margin-top:22px}
.portal .moderation-panel fieldset{min-width:0}
.moderation-log{padding:18px 0;border-top:1px solid var(--border);margin-top:12px}
.moderation-log>p{margin-top:12px;line-height:1.7}
.moderation-panel .form-error:empty,.moderation-panel .auth-message:empty{display:none}
@media(max-width:650px){.section-switcher button{font-size:12px;padding:12px 10px}.settings-save-row{align-items:flex-start}.settings-actions{margin-left:0}.settings-section .section-description{margin-bottom:20px}}

.agent-management { margin:0 0 28px; }
.agent-management [hidden] { display:none!important; }
.agent-management .connection-heading { align-items:flex-start; gap:24px; margin-bottom:8px; }
.agent-management .connection-heading h2 { margin:0 0 8px; }
.agent-management .connection-heading p { margin:0; }
.connection-heading-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.agent-section-tabs { display:flex; gap:26px; border-bottom:1px solid var(--border); margin:22px 0; }
.agent-section-tabs button { padding:12px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font:inherit; font-size:13px; }
.agent-section-tabs button[aria-pressed="true"] { border-bottom-color:var(--accent); color:var(--accent-soft); }
.agent-section-tabs button:hover { color:var(--paper); }
.agent-section-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.agent-management .connection-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.connection-list-head,.agent-management .connection-row>summary { display:grid; grid-template-columns:minmax(160px,1.3fr) minmax(140px,1.2fr) minmax(120px,1fr) 130px 100px; align-items:center; gap:18px; padding:15px 36px 15px 12px; }
.connection-list-head { font-size:11px; letter-spacing:.1em; color:var(--muted); background:var(--field); border-top:1px solid var(--border); }
.agent-management .connection-row { display:block; padding:0; margin:0; border:0; border-top:1px solid var(--border); border-radius:0; background:transparent; }
.agent-management .connection-row:last-of-type { border-bottom:1px solid var(--border); }
.agent-management .connection-row>summary { position:relative; list-style:none; min-height:78px; cursor:pointer; font-weight:400; }
.agent-management .connection-row>summary::-webkit-details-marker { display:none; }
.agent-management .connection-row>summary::after { content:"+"; position:absolute; right:10px; top:50%; transform:translateY(-50%); font-size:18px; color:var(--muted); }
.agent-management .connection-row[open]>summary::after { content:"−"; }
.agent-management .connection-row>summary:hover,.agent-management .connection-row[open]>summary { background:rgba(var(--accent-rgb),.035); }
.connection-person,.connection-person strong,.connection-person small { display:block; min-width:0; overflow-wrap:anywhere; }
.connection-person strong { color:var(--paper); font-size:14px; font-weight:600; }
.connection-person small { font-size:11px; color:var(--muted); margin-top:5px; }
.connection-work,.connection-cohorts,.connection-row>summary time { color:var(--muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.connection-details { padding:22px 18px; border-top:1px solid var(--border); background:var(--field); }
.connection-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.connection-detail-heading h3 { margin:0; font-size:15px; }
.connection-permission-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; gap:12px 24px; padding:0; margin:0 0 22px; }
.connection-permission-list li { display:flex; flex-direction:column; gap:4px; font-size:12px; overflow-wrap:anywhere; }
.connection-permission-list code,.connection-activity code { font-size:11px; color:var(--muted); }
.connection-details .form-action-row { flex-wrap:wrap; gap:12px; margin:18px 0; }
.agent-management .connection-create { padding:22px; border:1px solid var(--border); background:var(--field); margin-bottom:24px; border-radius:3px; }
.agent-management .connection-create h3 { margin:0; font-size:17px; }
.agent-management .connection-create form { padding-bottom:0; }
.portal .agent-management .connection-create form>label,.portal .agent-management .connection-create-footer>label { display:grid; gap:8px; font-size:12px; }
.agent-management .connection-create input:not([type="checkbox"]),.agent-management .connection-endpoints input,.agent-management textarea { display:block; width:100%; padding:12px; border:1px solid var(--field-border); background:var(--panel); color:var(--paper); border-radius:3px; font:inherit; font-size:13px; box-sizing:border-box; }
.agent-management .connection-create input[type="checkbox"] { accent-color:var(--accent); width:16px; height:16px; margin:2px 0 0; flex:0 0 auto; }
.agent-management fieldset { border:1px solid var(--border); border-radius:3px; padding:18px; }
.agent-management legend { font-size:12px; }
.agent-management .connection-scopes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 22px; }
.agent-management .connection-scopes .visibility-check { display:flex; align-items:flex-start; gap:9px; font-size:12px; line-height:1.6; margin:0; }
.agent-management .connection-presets { gap:20px; }
.agent-management .connection-scopes.is-hidden { display:none; }
.agent-management fieldset>.visibility-check { display:flex; align-items:flex-start; gap:9px; font-size:12px; line-height:1.6; margin:0 0 4px; }
.agent-management .connection-reach-note { display:flex; align-items:flex-start; gap:12px; margin:0; padding:14px 16px; border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:3px; background:var(--panel); color:var(--paper); font-size:13px; line-height:1.6; }
.agent-management .connection-reach-note .icon { width:18px; height:18px; flex:0 0 auto; margin-top:2px; color:var(--accent); }
.connection-create-footer { display:grid; grid-template-columns:minmax(180px,360px) max-content; align-items:end; gap:18px; }
.connection-create-footer .btn { min-height:44px; }
.agent-management .connection-secret { padding:20px; border:1px solid var(--accent); border-radius:3px; background:var(--field); }
.agent-management .connection-secret .form-action-row { gap:18px; flex-wrap:wrap; }
.agent-management .connection-endpoints { max-width:800px; padding:0 0 8px; gap:16px; }
.agent-management .connection-endpoints details { border-top:1px solid var(--border); }
.agent-management .connection-endpoints summary { font-size:13px; }
.agent-management .setup-guide { margin-bottom:6px; }
.agent-management .setup-app-pick { display:grid; gap:8px; max-width:360px; font-size:12px; }
.agent-management .setup-app-pick select { display:block; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--field-border); border-radius:10px; background:var(--panel); color:var(--paper); font:inherit; font-size:14px; }
.agent-management .setup-steps { list-style:none; counter-reset:setup-step; display:grid; gap:22px; margin:0; padding:0; }
.agent-management .setup-steps>li { counter-increment:setup-step; display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:12px; row-gap:6px; align-items:start; }
.agent-management .setup-steps>li::before { content:counter(setup-step); grid-row:1 / span 3; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1px solid rgba(var(--accent-rgb),.45); background:rgba(var(--accent-rgb),.08); color:var(--accent); font-size:12px; font-weight:600; }
.agent-management .setup-steps>li>* { grid-column:2; margin:0; }
.agent-management .setup-steps strong { font-size:14px; line-height:28px; }
.agent-management .setup-steps .part-hint { font-size:12px; color:var(--muted); }
.agent-management .copy-box { display:flex; align-items:flex-start; gap:12px; margin-top:4px; padding:8px 8px 8px 14px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.agent-management .copy-box pre { flex:1; min-width:0; margin:0; padding:8px 0; white-space:pre-wrap; overflow-x:auto; font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--paper); }
.agent-management .copy-box .btn { flex:0 0 auto; min-height:36px; padding:6px 14px; font-size:12px; }
.agent-management .copy-box .copy-word { white-space:nowrap; }
@media(max-width:600px) {
    .agent-management .copy-box { flex-direction:column; align-items:stretch; gap:2px; padding:8px 12px 10px; }
    .agent-management .copy-box .btn { order:-1; align-self:flex-end; }
}
.agent-management .connection-activity>h3 { margin:0; font-size:17px; }
.agent-management .connection-activity .activity-row { border-color:var(--border); }
.classroom-identities>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; }
.classroom-identities>summary::-webkit-details-marker { display:none; }
.classroom-identities>summary>span:first-child::before { content:"+"; float:left; padding:0 14px 12px 0; color:var(--accent-soft); font-size:20px; }
.classroom-identities[open]>summary>span:first-child::before { content:"−"; }
.classroom-identities>summary strong { display:block; font-size:16px; }
.classroom-identities>summary small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.classroom-identities>p { margin:22px 0; }
.classroom-identities .directory-toolbar { padding-inline:0; }
.classroom-identities .directory-note { padding-bottom:0; }
@media(max-width:1200px) {
    .connection-list-head { display:none; }
    .agent-management .connection-row>summary { grid-template-columns:minmax(0,1fr) 110px; gap:8px 20px; padding:18px 36px 18px 12px; }
    .connection-person { grid-column:1; }
    .connection-row>summary .status-chip { grid-column:2; grid-row:1; justify-self:end; }
    .connection-work { grid-column:1/-1; grid-row:2; }
    .connection-cohorts { grid-column:1; grid-row:3; }
    .connection-row>summary time { grid-column:2; grid-row:3; text-align:right; }
    .connection-permission-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
    .agent-management .connection-heading { flex-direction:column; }
    .connection-heading-actions { width:100%; justify-content:space-between; }
    .connection-heading-actions .btn { padding-inline:14px; }
    .agent-management .connection-list-toolbar { align-items:stretch; flex-direction:column; }
    .agent-management .connection-create { padding:16px; }
    .agent-management .connection-scopes { grid-template-columns:minmax(0,1fr); }
    .connection-create-footer { grid-template-columns:minmax(0,1fr); }
    .connection-create-footer .btn { justify-self:start; }
    .connection-detail-heading { align-items:flex-start; flex-direction:column; gap:8px; }
    .agent-management .activity-row { flex-direction:column; }
    .agent-management .activity-row time { margin-left:0; }
}

.profile-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.profile-portfolio {
  margin-bottom: 36px;
}
.portfolio-workspace {
  min-width: 0;
}
.portfolio-workspace .portfolio-heading {
  align-items: flex-start;
}
.portfolio-workspace .portfolio-overview {
  padding: 0 0 22px;
  gap: 28px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 22px;
}
.portfolio-workspace .portfolio-overview > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.portfolio-workspace .portfolio-overview strong {
  font-size: 20px;
}
.portfolio-workspace .portfolio-filter {
  margin-bottom: 24px;
}
.portfolio-workspace .portfolio-cohort-section {
  padding-top: 20px;
  margin-bottom: 32px;
}
.portfolio-workspace .portfolio-cohort-section .section-title-row {
  margin-bottom: 16px;
}
.portfolio-workspace .portfolio-actions {
  margin-bottom: 20px;
}
.portfolio-workspace .portfolio-editor form {
  gap: 18px;
}
.portal .portfolio-workspace :is(.portfolio-editor, .portfolio-reflection) label {
  display: grid;
  gap: 8px;
  align-content: start;
  font-size: 13px;
}
.portfolio-workspace .portfolio-editor .field-grid {
  align-items: start;
  gap: 18px;
}
.portfolio-workspace .portfolio-format-help {
  margin-top: -10px;
}
.portfolio-workspace .portfolio-entry + .portfolio-entry {
  margin-top: 16px;
}
.portfolio-workspace .entry-heading {
  padding-bottom: 14px;
  margin-bottom: 16px;
}
.portfolio-workspace :is(.portfolio-entry, .portfolio-editor, .portfolio-reflection) .form-action-row {
  align-items: center;
  gap: 12px;
}
@media (max-width: 700px) {
  .profile-heading {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .profile-heading-actions {
    justify-content: flex-start;
  }
  .profile-heading-actions .btn {
    font-size: 12px;
    padding: 10px 14px;
  }
  .portfolio-workspace .portfolio-editor .field-grid {
    grid-template-columns: 1fr;
  }
}


small{font-size:max(11px,.8333em)}

.portal{grid-template-columns:248px minmax(0,1fr)}
.portal-body{min-height:100dvh}
.portal-content{padding:28px 36px 40px;max-width:1320px}
.portal-sidebar{padding:20px 14px 14px;gap:0}
.sidebar-heading{padding:0 6px}
.sidebar-close,.mobile-bar{display:none}

.portal-nav{margin-top:22px;gap:1px;align-content:start}
.portal-nav .nav-item{position:relative;min-height:36px;padding:7px 10px 7px 12px;gap:11px;font-size:13.5px;color:var(--muted);border-radius:6px;font-weight:500}
.portal-nav .nav-item .icon{width:17px;height:17px;flex-shrink:0;opacity:.85}
.portal-nav .nav-item:hover{background:var(--panel-raised);color:var(--paper)}
.portal-nav .nav-item[aria-current="page"]{background:transparent;color:var(--paper)}
.portal-nav .nav-item[aria-current="page"]::before{content:"";position:absolute;left:7.5px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:6px;background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft);pointer-events:none}
.portal-nav .nav-item[aria-current="page"] :is(.icon,.chain-dot){position:relative}
.portal-nav .nav-item[aria-current="page"] .icon{color:var(--accent-ink);opacity:1}
.portal-nav .nav-item[aria-current="page"]:hover{background:var(--panel-raised);color:var(--paper)}
.portal-nav .nav-section-label{margin:18px 10px 5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7f8b91}
.nav-cohort{min-width:0}
.nav-cohort .chain-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin:0 4px 0 5px}
.portal-nav .nav-cohort .chain-dot{background:var(--accent)}
.portal-nav .nav-cohort[aria-current="page"] .chain-dot{background:var(--accent-ink)}
.nav-cohort-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-part{font-size:11px;letter-spacing:.04em;color:#8d999f;border:1px solid var(--border);border-radius:3px;padding:1px 5px;flex-shrink:0}
.nav-cohort[aria-current="page"] .nav-part{color:var(--accent-soft);border-color:rgba(var(--accent-rgb),.35)}
@media(forced-colors:active){
.portal-nav .nav-item[aria-current="page"]::before{forced-color-adjust:none;background:Highlight;box-shadow:none}
.portal-nav .nav-item[aria-current="page"] .icon{forced-color-adjust:none;color:HighlightText}
.portal-nav .nav-cohort[aria-current="page"] .chain-dot{forced-color-adjust:none;background:HighlightText}
}

.account-menu{position:relative;margin-top:auto;padding-top:16px}
.account-button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--paper);text-align:left;cursor:pointer;font:inherit}
.account-button:hover,.account-button[aria-expanded="true"]{background:var(--panel-raised);border-color:var(--border)}
.account-button .profile-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;object-fit:cover}
.account-name{flex:1;min-width:0;display:grid;gap:1px}
.account-name strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-name small{font-size:11px;color:var(--muted)}
.account-button>.icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}
.account-popover{position:absolute;left:0;right:0;bottom:calc(100% - 8px);z-index:61;display:grid;gap:2px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 40px #00000059}
.account-popover[hidden],.menu-backdrop[hidden],.nav-scrim[hidden],.sync-notice[hidden]{display:none}
.menu-backdrop{position:fixed;inset:0;z-index:60}
.menu-item{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--paper);font:inherit;font-size:13px;text-align:left;cursor:pointer;width:100%}
.menu-item .icon{width:16px;height:16px;color:var(--muted)}
a.menu-item:hover,button.menu-item:hover{background:var(--panel-raised)}
.menu-appearance{justify-content:space-between;cursor:default;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;margin:4px 0;padding:10px}
.menu-appearance span{color:var(--muted)}

.sync-notice{position:fixed;right:20px;bottom:18px;z-index:70;display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--border);border-radius:20px;background:var(--panel);color:var(--muted);font-size:12px;box-shadow:0 8px 24px #0000004d}
.sync-notice i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.sync-notice.offline i{background:#e0a64c}

.portal :is(input:not([type="checkbox"]):not([type="file"]), select),.portal .input-prefix,.portal :is(.studio-session-row,.studio-control-row,.place-add)>.btn{min-height:44px}
.post-link-row>.text-link{min-height:44px}
@media(min-width:651px){.portal .field-grid>.field-hint{align-self:end;min-height:44px;padding-top:0}}

.time-zone-field{display:grid;gap:9px;min-width:0;align-content:start}
.time-zone-box{position:relative}
.portal .time-zone-field .time-zone-box>input{margin:0;padding-right:92px}
.time-zone-offset{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums}
.time-zone-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:288px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:4px;list-style:none;background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 34px #0000005c}
.time-zone-list[hidden]{display:none}
.time-zone-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--paper);cursor:pointer}
.time-zone-list li[aria-selected="true"]{background:rgba(var(--accent-rgb),.14)}
.time-zone-list li.is-chosen>span{color:var(--accent-soft);font-weight:600}
.time-zone-list small{color:var(--muted);font-size:12px;text-align:right;overflow-wrap:anywhere}
.time-zone-list .time-zone-empty{cursor:default;color:var(--muted)}
.time-zone-field>small{color:var(--muted);font-size:12px;line-height:1.6}
.time-zone-field>.time-zone-suggestion{justify-self:start;padding:0;border:0;background:none;font-size:12px;text-align:left;cursor:pointer}

.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 24px;flex-wrap:wrap;margin-bottom:24px}
.page-header-text{min-width:0;max-width:760px}
.page-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-header h1{font-family:var(--heading);font-size:28px;font-weight:550;letter-spacing:-.6px;line-height:1.2;color:var(--paper)}
.page-header p{margin-top:6px;color:var(--muted);font-size:14px;line-height:1.6}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-actions .btn{min-height:38px;padding:9px 15px;font-size:13px}

.tab-bar{display:flex;gap:4px;margin:-6px 0 24px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.tab-bar::-webkit-scrollbar{display:none}
.tab-bar .tab{position:relative;padding:11px 12px 12px;color:var(--muted);font-size:13.5px;font-weight:500;white-space:nowrap;border-radius:6px 6px 0 0}
.tab-bar .tab:hover{color:var(--paper);background:var(--panel-raised)}
.tab-bar .tab[aria-current="page"]{color:var(--paper)}
.tab-bar .tab[aria-current="page"]::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}

.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius,6px);padding:20px 22px;min-width:0}
.panel+.panel{margin-top:18px}
.panel-header{margin-bottom:14px}
.panel-header h2{font-family:var(--heading);font-size:17px;font-weight:600;color:var(--paper);letter-spacing:-.2px}
.panel-header p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.55}
.link-row{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:0 -12px;border-radius:6px;color:var(--paper)}
.link-row:hover{background:var(--panel-raised)}
.link-row+.link-row{border-top:1px solid var(--border);border-radius:0}
.link-row:hover+.link-row{border-top-color:transparent}
.link-row-text{flex:1;min-width:0;display:grid;gap:2px}
.link-row-text strong{font-size:14px;font-weight:550}
.link-row-text small{font-size:12px;color:var(--muted)}
.link-row>.icon{width:15px;height:15px;color:var(--muted);flex-shrink:0}
.figure{display:grid;gap:3px}
.figure strong{font-family:var(--heading);font-size:26px;font-weight:550;color:var(--paper);line-height:1.1}
.figure span{font-size:12px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);white-space:nowrap}
.chip-good{color:var(--accent-soft);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.07)}
.chip-attention{color:#e8bd78;border-color:#e8bd7859;background:#e8bd780f}
.chip-danger{color:#f2988a;border-color:#f2988a59;background:#f2988a0f}
.empty{display:grid;justify-items:center;gap:8px;padding:30px 16px;text-align:center;color:var(--muted)}
.empty>.icon{width:26px;height:26px;color:var(--accent-soft);opacity:.8}
.empty strong{color:var(--paper);font-size:15px;font-weight:600}
.empty p{font-size:13px;max-width:420px;line-height:1.6}
.empty .btn{margin-top:6px}

@media(max-width:1150px){
 .portal{grid-template-columns:224px minmax(0,1fr)}
 .portal-content{padding:26px 26px 36px}
 .portal-sidebar .brand small{letter-spacing:.04em}
}

@media(max-width:900px){
 .portal{display:block}
 .mobile-bar{display:flex;position:sticky;top:0;z-index:40;align-items:center;justify-content:space-between;gap:10px;height:58px;padding:0 12px;background:#101416;border-bottom:1px solid var(--border)}
 .mobile-bar .brand{font-size:19px;gap:7px}
 .mobile-bar .brand small{display:none}
 .mobile-bar .brand-static{width:28px;height:28px}
 .mobile-avatar .profile-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}
 .icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--paper);cursor:pointer}
 .icon-button .icon{width:19px;height:19px}
 .portal-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(300px,86vw);height:100dvh;z-index:55;transform:translateX(-102%);transition:transform .22s ease;border-right:1px solid var(--border);box-shadow:none;padding:16px 12px 12px;overflow-y:auto}
 .portal-sidebar.is-open{transform:none;box-shadow:24px 0 48px #00000066}
 .portal-sidebar .nav-section-label,.portal-sidebar .account-menu{display:block}
 .portal-nav{display:grid;margin-top:16px}
 .sidebar-heading{display:flex;align-items:center;justify-content:space-between}
 .portal-sidebar .brand small{letter-spacing:.12em}
 .sidebar-close{display:grid}
 .nav-scrim{position:fixed;inset:0;z-index:50;background:#0a0d0e99}
 .portal-content{padding:20px 16px 32px}
 .page-header{margin-bottom:18px}
 .page-header h1{font-size:24px}
 .sync-notice{left:16px;right:16px;bottom:14px;justify-content:center}
}
@media(max-width:650px){.page-header{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.portal-sidebar{transition:none}}

@media(max-width:700px){
 .public-header{height:auto;padding:16px 20px;row-gap:12px}
 .public-header .brand{font-size:19px}
 .public-header .header-actions{gap:12px;flex-wrap:wrap}
 .public-header .header-actions>a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
 .public-header .header-actions .btn{min-height:44px;padding:10px 12px;gap:6px;font-size:11px}
 .public-header .theme-switch{height:44px;padding:0 12px}
 .public-header .theme-switch-thumb{width:34px;height:34px;transform:translateX(32px)}
}

@media(min-width:701px){
 .public-header .header-actions>a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
 .public-header .header-actions .btn{min-height:44px}
 .public-header .theme-switch{height:44px;padding:0 12px}
 .public-header .theme-switch-thumb{width:34px;height:34px;transform:translateX(32px)}
}

@media(max-width:900px){.public-header .public-links{display:none}}

.public-footer,.portal-footer{--rule:var(--border,var(--line));background-image:linear-gradient(var(--rule),var(--rule)),repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 64px),repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 8px);background-size:100% 1px,100% 7px,100% 4px;background-repeat:no-repeat;background-origin:content-box;background-clip:padding-box}
.icon-solid{fill:currentColor;stroke:none}
.public-footer{display:grid;grid-template-columns:minmax(0,1fr);justify-content:normal;gap:32px;margin-top:64px;padding:44px 0 0;background-position:0 -44px;font-size:13px;color:var(--muted)}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px}
.footer-about{display:grid;gap:16px;align-content:start;max-width:360px}
.footer-about p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));justify-content:end;gap:24px 56px}
.footer-column{display:grid;gap:10px;align-content:start;justify-items:start;min-width:0}
.footer-column h2{margin:0 0 4px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--paper)}
.footer-column a{display:inline-flex;align-items:center;gap:10px;max-width:100%;font-size:14px;color:var(--muted)}
.footer-column a span{min-width:0;overflow-wrap:anywhere}
.footer-column a:hover{color:var(--paper)}
.footer-column .school-link .icon{width:15px;height:15px}
.footer-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:18px;border-top:1px solid var(--rule);font-size:12px}
.landing{padding-bottom:36px}
.portal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;width:100%;max-width:1320px;margin:auto auto 0;padding:24px 36px 20px;border-top:0;background-position:0 -24px;font-size:12px;color:var(--muted)}
.public-portal .portal-footer{max-width:1260px;margin:auto auto 0;padding-left:4%;padding-right:4%}
.portal-footer p{margin:0}
.footer-end{display:flex;align-items:center;gap:16px}
.footer-icons{display:flex;gap:8px}
.icon-link{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--rule,var(--line));border-radius:50%;color:var(--muted)}
.icon-link:hover{border-color:var(--muted);color:var(--paper)}
.icon-link .icon{width:15px;height:15px}
.icon-link .icon-solid{width:13px;height:13px}
.school-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:1150px){.portal-footer{padding-left:26px;padding-right:26px}}
@media(max-width:700px){.footer-main{grid-template-columns:minmax(0,1fr)}.footer-nav{justify-content:start;column-gap:40px}.footer-base{flex-direction:column}}
@media(max-width:420px){.footer-nav{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.portal-footer{padding:22px 16px 18px;background-position:0 -22px}}

.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--field)}
.segmented button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 11px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.segmented button:hover{color:var(--paper)}
.segmented button[aria-pressed="true"],.segmented button[aria-checked="true"]{background:var(--panel-raised);color:var(--paper);box-shadow:inset 0 0 0 1px var(--border)}
.segmented .count{min-width:18px;padding:0 5px;border-radius:9px;background:rgba(var(--accent-rgb),.12);color:var(--accent-soft);font-size:11px;line-height:18px;text-align:center}

.queue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.queue-cohort{max-width:260px}
.queue-list{display:grid;border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--panel);overflow:hidden}
.queue-list:empty{display:none}
.queue-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.6fr) 150px 170px;align-items:center;gap:16px;width:100%;padding:13px 16px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--paper);font:inherit;text-align:left;cursor:pointer}
.queue-row:last-child{border-bottom:0}
.queue-row:hover,.queue-row[aria-current="true"]{background:var(--panel-raised)}
.queue-who{display:grid;gap:2px;min-width:0}
.queue-who strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-who small,.queue-when{font-size:12px;color:var(--muted)}
.queue-what{font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue-status{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.queue-status small{font-size:12px;color:var(--muted)}
.queue-more{margin-top:14px}
.form-error{color:#f2988a;font-size:13px;margin-bottom:10px}
.form-error[hidden],.form-saved[hidden]{display:none}
.form-saved{color:var(--accent-soft);font-size:13px;margin-right:auto}
.small-note{color:var(--muted);font-size:13px}

.drawer-scrim{position:fixed;inset:0;z-index:80;background:#0a0d0e8c}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(640px,100vw);display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border);box-shadow:-24px 0 60px #00000059}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--border)}
.drawer-header h2{font-family:var(--heading);font-size:20px;font-weight:600;color:var(--paper);line-height:1.3}
.drawer-header p{margin-top:4px;font-size:13px;color:var(--muted)}
.drawer-header .icon-button{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--paper);cursor:pointer}
.drawer-header .icon-button .icon{width:18px;height:18px}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px 28px;display:grid;gap:14px;align-content:start}
.drawer-body h3{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.review-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.review-requirements summary{cursor:pointer;color:var(--muted);font-size:13px}
.review-requirements pre{margin-top:10px}
.review-requirements small{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.review-form{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--panel-raised)}
.review-form h3{margin-top:0}
.review-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.review-form .form-action-row{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.review-entry{padding:12px 0;border-top:1px solid var(--border)}
.review-entry header{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.review-entry time{color:var(--muted);font-size:12px}
.review-entry-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--muted)}
.review-entry p{margin-top:8px;font-size:14px;line-height:1.6;white-space:pre-wrap}
@media(max-width:900px){
 .queue-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
 .queue-what{grid-column:1/-1;white-space:normal}
 .queue-when{grid-column:1}
 .queue-status{grid-column:2;grid-row:1}
 .drawer-header,.drawer-body{padding-left:16px;padding-right:16px}
}

.needs-you{margin-bottom:18px}
.needs-list{list-style:none;margin:0;padding:0}
.need-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.need-row:first-child{border-top:0;padding-top:4px}
.need-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--muted)}
.need-icon .icon{width:18px;height:18px}
.need-icon.need-attention{color:#e8bd78}
.need-icon.need-live{color:var(--teal)}
.need-text{display:grid;gap:3px;min-width:0}
.need-text strong{font-size:15px;font-weight:650;color:var(--paper);overflow-wrap:anywhere}
.need-text small{font-size:13px;color:var(--muted)}
.need-row .btn{white-space:nowrap}
.needs-you-none{margin:0 0 18px;font-size:13px;color:var(--muted)}
.today-list{list-style:none;margin:0;padding:0}
.today-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:14px}
.today-list li:first-child{border-top:0}
.today-list small{display:block;color:var(--muted);font-size:12px}
.today-progress{margin:0 0 6px;font-size:14px;font-weight:650}
.today-quiet{margin:0;font-size:13px;color:var(--muted)}
.hand-in-scroll{overflow-x:auto}
.hand-in-table{width:100%;border-collapse:collapse;font-size:13px}
.hand-in-table th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;padding:0 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:bottom}
.hand-in-table tbody th,.hand-in-table td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.activity-line{font-size:12px;color:var(--paper);overflow-wrap:anywhere}
@media(max-width:650px){.need-row{grid-template-columns:36px minmax(0,1fr)}.need-row .btn{grid-column:2;justify-self:start}}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2);animation:live-pulse 2s ease-in-out infinite}
@keyframes live-pulse{50%{box-shadow:0 0 0 7px rgba(var(--accent-rgb),.05)}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}
.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.today-main,.today-side{display:grid;gap:18px;min-width:0}
.today-main>.panel+.panel,.today-side>.panel+.panel{margin-top:0}
.agenda{display:grid}
.figures{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.panel-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px}
.panel-link .icon{width:14px;height:14px}
.nudge .btn{margin-top:12px}
.today-news{margin-top:24px}
@media(max-width:1100px){.today-grid{grid-template-columns:minmax(0,1fr)}}

.cohort-overview{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.cohort-main,.cohort-side{display:grid;gap:18px;min-width:0}
.cohort-side>.panel+.panel,.cohort-main>.panel+.panel{margin-top:0}
.cohort-side>section,.cohort-main>section{margin:0}
.cohort-progress{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:-8px 0 16px;font-size:13px;color:var(--muted)}
.cohort-progress strong{color:var(--paper)}
.progress-segments{display:flex;gap:3px;flex:0 1 220px;min-width:120px;height:8px}
.progress-segments>span{flex:1;border-radius:2px;background:var(--border)}
.progress-segments>.accepted{background:var(--accent)}
.progress-segments>.review{background:hsl(205 80% 64%)}
.progress-segments>.changes{background:#e8bd78}
.progress-segments>.missed{background:#f2988a}
.progress-segments>.is-next{outline:2px solid var(--paper);outline-offset:1px}
.progress-next-short{display:none}
@media(max-width:650px){.progress-next-long{display:none}.progress-next-short{display:inline}}
.feed-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.feed-header .panel-header{margin-bottom:0}
.feed-header .btn{min-height:36px;padding:8px 14px;font-size:13px}
.post-feed{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius,6px);padding:20px 22px}
.team-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.team-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}
.team-list small{color:var(--muted);font-size:12px}
.recording-panel .panel-header p{max-width:80ch}
.recording-panel .class-recording{padding:0;border:0;border-top:1px solid var(--border)}
.recording-group>.class-recording:first-of-type{border-top:0}
.recording-panel:not(.recording-months) .recording-group+.recording-group>.class-recording:first-of-type{border-top:1px solid var(--border)}
.recording-panel .class-recording>h3{margin:0;font:inherit}
.recording-month{margin:18px 0 2px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.recording-toggle{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:2px 14px;width:100%;min-height:60px;margin:0;padding:10px 8px;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.recording-toggle:hover{background:color-mix(in srgb,var(--field) 70%,transparent)}
.recording-toggle:hover .recording-when{color:var(--accent-soft)}
.recording-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.recording-toggle>.icon{width:18px;height:18px;color:var(--muted);transition:transform .16s cubic-bezier(.2,.7,.2,1)}
.recording-toggle[aria-expanded="true"]>.icon{transform:rotate(90deg);color:var(--paper)}
.recording-name{display:grid;gap:2px;min-width:0}
.recording-when{font-size:14px;font-weight:600;color:var(--paper)}
.recording-name>.recording-title{display:block;overflow:hidden;font-size:12px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}
.recording-length{min-width:5em;font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.recording-toggle>.recording-state{min-width:7.5em;justify-content:flex-end}
.recording-body{padding:2px 8px 22px 42px}.recording-body[hidden]{display:none!important}
.recording-body>.recording-detail{margin:0 0 10px;font-size:12px;color:var(--muted)}
.recording-panel .recording-body>video{width:100%;max-height:62vh;aspect-ratio:16/9;object-fit:contain}
.recording-wait{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border:1px dashed var(--border);border-radius:3px;font-size:13px;color:var(--muted)}
.recording-wait>.icon{flex:0 0 auto;width:18px;height:18px}
@media(max-width:760px){.recording-toggle{grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"icon name state" "icon name length";gap:2px 10px}.recording-toggle>.icon{grid-area:icon}.recording-name{grid-area:name}.recording-toggle>.recording-state{grid-area:state;min-width:0}.recording-length{grid-area:length;min-width:0}.recording-body{padding:2px 4px 20px}}
@media(prefers-reduced-motion:reduce){.recording-toggle>.icon{transition:none}}
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.person-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius,6px);color:var(--paper)}
.person-card:hover{background:var(--panel-raised)}
.person-card span{display:grid;gap:1px;min-width:0}
.person-card strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-card small{font-size:12px;color:var(--muted)}
.person-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--panel-raised)}
.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.manage-grid>.panel+.panel{margin-top:0}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.setting-row .btn{min-height:36px;padding:8px 14px;font-size:13px}
.setting-row .chip{font-size:12px}
.run-settings-panel .curriculum-fields{border:0;padding:0;margin:0;min-width:0}
.run-settings-panel .run-settings h3{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.run-settings-panel .run-settings h3:first-child{margin-top:0}
.manage-note{margin-top:16px}
.manage-note a{color:var(--accent-soft)}
.run-link{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.run-link strong{font-size:14px}
@media(max-width:1100px){.cohort-overview{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.manage-grid{grid-template-columns:minmax(0,1fr)}}

.profile-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.week-library{display:grid;gap:10px;max-width:640px}
.week-library h2{font-family:var(--heading);font-size:17px;font-weight:600}
.run-versions summary{cursor:pointer;font-weight:600;padding:4px 0}
.run-versions details+details{margin-top:12px}
.curriculum-toolbar .curriculum-actions .text-link{font-size:13px}
.queue-toolbar .queue-cohort{width:auto;min-width:200px;max-width:280px;flex:0 1 auto}
.portal .queue-toolbar select.queue-cohort{height:40px;min-height:40px;margin:0}
.drawer-body{overflow-x:hidden}
.drawer .submitted-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--field);font-size:13px;line-height:1.6}
.review-form input,.review-form textarea{width:100%;box-sizing:border-box}
.review-form .segmented{justify-self:start}
.directory-status{display:flex;gap:6px;flex-wrap:wrap}

.wallets-panel{margin-top:18px}
.portal .wallets-panel label.wallet-same{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--panel-raised);cursor:pointer}
.wallet-same input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.wallet-same span{display:grid;gap:3px}
.wallet-same strong{font-size:14px;font-weight:600;color:var(--paper)}
.wallet-same small{font-size:12.5px;line-height:1.5;color:var(--muted)}
.wallets-panel .wallet-row{align-items:flex-start}
.wallets-panel .provider-mark .icon{width:18px;height:18px;color:var(--accent-soft)}
.wallets-panel .connection-identity h3{flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600}
.wallets-panel .connection-identity .wallet-about{max-width:62ch;margin:0 0 8px;font-size:13px;line-height:1.55;color:var(--muted)}
.wallets-panel .connection-identity .wallet-status{font-size:12px;color:var(--muted)}
.wallets-panel .connection-identity .wallet-address{color:var(--paper)}
.wallet-explorer{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--accent-soft)}
.wallet-explorer:hover{text-decoration:underline}
.wallet-explorer .icon{width:12px;height:12px}
.wallet-guide{margin-top:16px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius,6px)}
.wallet-guide summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--paper)}
.wallet-guide p{max-width:72ch;margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}
.wallet-guide code{padding:1px 5px;border-radius:4px;background:var(--panel-raised);color:var(--paper);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}
.wallets-panel .connection-actions{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.wallet-address{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.wallets-panel .connection-row:has(+.wallet-choice){border-bottom-color:transparent;padding-bottom:12px}
.wallet-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;padding:0 0 22px 50px;border-bottom:1px solid #343e43}
.wallet-choice .wallet-option{gap:8px}
.wallet-choice .wallet-option img{width:20px;height:20px;border-radius:4px;flex-shrink:0}
.wallet-choice>p{flex-basis:100%;margin:0;line-height:1.6}
@media(max-width:650px){.wallet-choice{padding-left:0}}

.devnet-toolbar{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:14px}
.devnet-source{flex:1 1 260px;margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.devnet-source a{color:var(--accent-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
.devnet-toolbar>.btn{min-height:36px;padding:8px 14px;font-size:13px}
.devnet-list{display:grid;margin:0;padding:0;list-style:none}
.devnet-row{display:grid;grid-template-columns:minmax(0,1fr) auto 96px auto;align-items:center;gap:6px 16px;padding:10px 0;border-top:1px solid var(--border)}
.devnet-row:first-child{border-top:0}
.devnet-who{display:grid;gap:1px;min-width:0}
.devnet-who strong{overflow:hidden;font-size:14px;font-weight:600;color:var(--paper);text-overflow:ellipsis;white-space:nowrap}
.devnet-who small{font-size:12px;color:var(--muted)}
.devnet-wallet{color:var(--accent-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
a.devnet-wallet:hover{text-decoration:underline}
.devnet-wallet.devnet-missing{color:var(--muted);font-family:inherit;font-size:12.5px}
.devnet-balance{font-size:13px;color:var(--paper);text-align:right;font-variant-numeric:tabular-nums}
.devnet-row .btn{min-height:36px;padding:8px 14px;font-size:13px;white-space:nowrap}
.devnet-result{grid-column:1/-1;font-size:12.5px;line-height:1.5;color:var(--muted)}
.devnet-result a{color:var(--accent-soft)}
.devnet-failed{color:#f2988a}
@media(max-width:650px){.devnet-row{grid-template-columns:minmax(0,1fr) auto}.devnet-balance{grid-column:2}.devnet-balance:empty{display:none}.devnet-row .btn{grid-column:1/-1;justify-self:start}}

.profile-metadata>.profile-links{gap:2px}
.profile-link{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.profile-link:hover,.profile-link:focus-visible{color:var(--accent-soft);background:rgba(var(--accent-rgb),.08)}
.profile-metadata .profile-link .icon{width:17px;height:17px}
.profile-link-copied{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:11px;color:var(--accent-soft);white-space:nowrap}

.connector-list{display:grid;gap:0;margin-top:16px}
.connector-row{display:grid;gap:6px;padding:14px 0;border-top:1px solid var(--border)}
.connector-row:first-child{border-top:0;padding-top:4px}
.connector-name{display:flex;align-items:center;gap:10px}
.connector-row>p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.connector-row dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:2px 0 0;font-size:12px}
.connector-row dt{color:var(--muted)}
.connector-row dd{margin:0;min-width:0}
.connector-row code{font-size:12px;overflow-wrap:anywhere;color:var(--paper)}
.connection-verify-note{margin:14px 0 0;padding:10px 12px;border:1px solid #e8bd7859;border-radius:6px;background:#e8bd780f;color:#e8bd78;font-size:13px;line-height:1.5}
.auth-links{position:relative}
.hover-note>[role=tooltip]{display:none;position:absolute;right:0;bottom:calc(100% + 8px);z-index:25;width:min(320px,100%);box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--paper);box-shadow:0 8px 24px #0000004d;font-size:12px;line-height:1.5;text-align:left}
@media(hover:hover){.hover-note:hover>[role=tooltip]{display:block}}
.hover-note>:focus-visible+[role=tooltip]{display:block}

.portal-nav .nav-item .nav-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:10px;background:rgba(var(--accent-rgb),.16);color:var(--accent-soft);font-size:11px;font-weight:600;line-height:20px;text-align:center}
.admission-question textarea{display:block;width:100%;min-height:132px;margin-top:12px;resize:vertical}
.admission-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.approval-list{display:grid;gap:14px}
.approval-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}
.approval-head h2{margin:0}
.approval-head p{margin:4px 0 0}
.approval-chips{display:flex;flex-wrap:wrap;gap:6px}
.admission-answer{margin:12px 0;padding:10px 14px;border-left:3px solid rgba(var(--accent-rgb),.45);border-radius:0 6px 6px 0;background:var(--panel-raised);color:var(--paper);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.approval-reason{display:grid;gap:6px;margin-top:12px;font-size:13px;color:var(--muted)}
.admission-note{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.join-cohort{display:contents}
.join-request{flex-basis:100%;display:grid;gap:10px;max-width:640px}
.join-request label{display:grid;gap:8px}
.join-request textarea{display:block;width:100%;min-height:104px;resize:vertical}
.join-status{flex-basis:100%;margin:0}
.evidence-picker{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.evidence-picker legend{margin-bottom:8px;padding:0;font-size:13px;color:var(--muted)}
.evidence-picker>small,.evidence-picker>p{margin:0;font-size:12px;color:var(--muted)}
.portal .evidence-picker label.evidence-choice{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:3px;font-size:13px;color:var(--paper);cursor:pointer}
.evidence-choice:has(input:checked){border-color:var(--accent-soft);background:rgba(var(--accent-rgb),.06)}
.evidence-choice:has(input:disabled){opacity:.55;cursor:default}
.evidence-choice input{flex-shrink:0;width:18px;height:18px;margin:0}
.evidence-choice span{display:grid;gap:2px;min-width:0}
.evidence-choice strong{font-weight:600;overflow-wrap:anywhere}
.evidence-choice small{font-size:12px;color:var(--muted)}
.portfolio-work{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.portfolio-work li{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:3px}
.portfolio-work li>.icon{flex-shrink:0;width:16px;height:16px;color:var(--muted)}
.portfolio-work li>span{display:grid;flex:1;gap:2px;min-width:0}
.portfolio-work strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.portfolio-work small{font-size:12px;color:var(--muted)}
.portfolio-work a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-soft)}
.portfolio-work a .icon{width:14px;height:14px}
.portal .demo-submit label.submission-upload{display:grid;gap:8px;justify-items:start}
.submission-upload input{padding:8px 0;border:0;background:transparent}
.submission-upload small{font-size:12px;color:var(--muted)}
.submission-files{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.submission-files li{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:3px;font-size:13px}
.submission-files li>.icon{flex-shrink:0;width:16px;height:16px;color:var(--muted)}
.submission-files li>span{display:flex;flex:1;align-items:baseline;gap:10px;min-width:0;overflow-wrap:anywhere}
.submission-files small{font-size:12px;color:var(--muted)}
.submission-files a{color:var(--accent-soft)}
.two-step-form,.two-step-panel form{display:grid;gap:18px}
.two-step-setup{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px}
.two-step-qr{flex:none;width:176px;height:176px;border-radius:6px;background:#fff}
.two-step-setup>div{flex:1 1 200px;min-width:0}
.two-step-setup p{margin:0 0 10px;font-size:13px}
.two-step-key{display:block;margin:0 0 10px;font-size:13px;letter-spacing:.06em;overflow-wrap:anywhere}
.two-step-setup .text-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-soft)}
.two-step-setup .text-link .icon{width:14px;height:14px}
.two-step-codes small,.two-step-codes .small-muted{font-size:12px;color:var(--muted)}
.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px;padding:0;list-style:none}
.recovery-codes code{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:3px;font-size:13px;letter-spacing:.04em}
.two-step-codes .form-actions,.two-step-panel .form-actions{display:flex;flex-wrap:wrap;gap:10px}
.two-step-codes .form-actions .btn{flex:1 1 180px;justify-content:center}
.two-step-panel .form-actions .btn,.two-step-codes .btn{min-height:44px}
.two-step-panel .two-step-codes,.two-step-panel form{margin:18px 0}
.text-link:disabled,.text-link:disabled:hover{opacity:.5;cursor:default;text-decoration:none}
.privacy-statement{max-width:32em;margin:0 auto;padding:56px 0 24px;font-size:16px;line-height:1.7;color:var(--paper);overflow-wrap:anywhere}
.privacy-statement:focus{outline:none}
.privacy-statement h1{margin:0 0 16px;font-size:34px;line-height:1.15;letter-spacing:-.03em}
.privacy-statement h2{margin:44px 0 12px;font-size:22px;line-height:1.3}
.privacy-statement h3{margin:28px 0 8px;font-size:16px;line-height:1.4}
.privacy-statement :is(p,ul){margin:0 0 14px}
.privacy-statement ul{padding-left:22px}
.privacy-statement li{margin:6px 0}
.privacy-statement a{color:var(--accent,#34d7a1);text-decoration:underline}
.privacy-statement code{font-size:13px}
.privacy-statement h1+p{color:var(--muted)}
.privacy-contents ol{list-style:none;margin:0;padding:0}
.privacy-contents li{margin:0}
.privacy-statement .privacy-contents a{display:block;padding:6px 0 6px 12px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--muted);text-decoration:none}
.privacy-statement .privacy-contents a:hover{color:var(--paper)}
.privacy-statement .privacy-contents a[aria-current="true"]{color:var(--paper);border-left-color:var(--teal)}
.privacy-toc-narrow{margin:8px 0 0;border:1px solid var(--line);border-radius:8px;padding:0 14px}
.privacy-toc-narrow summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:14px}
.privacy-toc-narrow ol{padding-bottom:10px}
@media(min-width:1001px){
  .privacy-statement{max-width:calc(230px + 56px + 32em);display:grid;grid-template-columns:230px minmax(0,32em);column-gap:56px;align-items:start}
  .privacy-contents{grid-column:1;grid-row:1/span 2;position:sticky;top:24px}
  .privacy-intro,.privacy-sections{grid-column:2}
  .privacy-toc-narrow{display:none}
}
@media(max-width:1000px){.privacy-toc-wide{display:none}}
@media(max-width:640px){.privacy-statement{padding-top:36px}.privacy-statement h1{font-size:30px}}
.auth-card .auth-privacy{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.auth-card label.auth-check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.auth-card .auth-check input{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0;accent-color:var(--accent,#34d7a1)}
.auth-card .auth-privacy a{color:var(--accent,#34d7a1)}
.portal-footer .footer-privacy{color:inherit}
.portal-footer .footer-privacy:hover{color:var(--paper)}
.today-latest{margin:0 0 18px}
.today-latest-meta{margin:4px 0 0;color:var(--muted);font-size:13px}
.today-latest h2{margin:6px 0;font-family:var(--heading);font-size:17px;font-weight:600;color:var(--paper);letter-spacing:-.2px}
.today-latest-text{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--muted)}
.today-news.today-news-first{margin:0 0 18px}
.start-here-grid{margin-top:14px}
.room-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.room-switch-state{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.room-switch-dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}
.room-switch-state.is-live{color:var(--accent-soft)}
.room-switch-state.is-live .room-switch-dot{opacity:1;background:var(--accent);animation:room-live 2s ease-out infinite}
@keyframes room-live{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.55)}70%{box-shadow:0 0 0 9px rgba(var(--accent-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0)}}
.room-switch{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 22px 0 16px;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-soft));color:#0c1411;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 22px -12px rgba(var(--accent-rgb),.9);transition:transform .15s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.room-switch .icon{flex:0 0 auto;width:15px;height:15px}
.room-switch:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 28px -12px rgba(var(--accent-rgb),1)}
.room-switch:active:not(:disabled){transform:none}
.room-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.room-switch.is-open{background:transparent;color:var(--paper);border-color:var(--border);box-shadow:none}
.room-switch.is-open:hover:not(:disabled){border-color:#e5484d;color:#ff9a9a;background:rgba(229,72,77,.08);box-shadow:none}
.room-switch:disabled{opacity:.55;cursor:default;transform:none}
@media(prefers-reduced-motion:reduce){.room-switch-state.is-live .room-switch-dot{animation:none}.room-switch{transition:none}}
.room-event-log{display:grid;align-content:start;gap:6px;max-height:220px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:10px;scrollbar-width:thin}
.room-event-log:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-soft));color:#0c1411;font-size:14px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 22px -12px rgba(var(--accent-rgb),.9);transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.pill-button .icon{flex:0 0 auto;width:15px;height:15px}
.pill-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 28px -12px rgba(var(--accent-rgb),1)}
.pill-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pill-button.is-quiet{background:transparent;color:var(--paper);border-color:var(--border);box-shadow:none}
.pill-button.is-quiet .icon{color:var(--muted);transition:color .15s ease}
.pill-button.is-quiet:hover:not(:disabled){transform:none;border-color:var(--accent);background:rgba(var(--accent-rgb),.08);box-shadow:none}
.pill-button.is-quiet:hover:not(:disabled) .icon{color:var(--accent-soft)}
.pill-button:disabled{opacity:.55;cursor:default;transform:none}
@media(prefers-reduced-motion:reduce){.pill-button{transition:none}}
.feed-header-quiet{align-items:center;margin-bottom:16px}
.feed-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0;min-width:0;flex:1 1 280px}
.feed-name{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.feed-hint{font-size:12px;color:var(--muted);opacity:.8}

.unread-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 2px var(--surface,#191e21)}
.unread-dot[hidden]{display:none}
.nav-cohort .nav-cohort-title{flex:0 1 auto}
.nav-cohort .unread-dot{align-self:flex-start;margin:3px 0 0 1px}
.nav-cohort .nav-part{margin-left:auto}
.tab-bar .tab .unread-dot{position:absolute;top:8px;right:2px}

.room-controls { gap: 12px; }
.teach-group { display: grid; gap: 10px; min-width: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-raised); }
.room-controls h3.teach-group-head { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 650; color: var(--paper); }
.teach-group-head .icon { width: 16px; height: 16px; flex-shrink: 0; color: var(--accent); }
.teach-group .learning-note { margin: 0; padding: 0; border: 0; font-size: 12px; line-height: 1.55; color: var(--muted); }
.teach-group .room-event-log { max-height: 200px; }

.room-lesson-editor .studio-part { gap: 12px; }
.room-lesson-editor fieldset { gap: 12px; padding: 12px 16px 16px; border-color: var(--line); border-radius: 12px; background: var(--panel); }
.room-lesson-editor legend { padding: 0 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.room-lesson-editor fieldset > .btn { align-self: flex-end; }
.room-lesson-actions { justify-content: flex-end; }

.run-settings-panel .run-settings .studio-part-head h3 { margin: 0; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--paper); }
.run-settings .studio-part .studio-session-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; margin: 0; }
.run-settings .studio-part .studio-session-row .icon-button { width: 44px; height: 44px; }
.run-settings .studio-part.studio-team { margin-top: 0; padding-top: 18px; }
.run-settings-actions { justify-content: flex-end; margin-top: 0; }
.schedule-preview > summary { cursor: pointer; font-weight: 600; }
.teach-group { padding-inline: 12px; }
.teach-group .surface-switch button { gap: 4px; padding: 0 4px; }

.confirm-email-active { padding-top: 42px; }
.confirm-email-bar { position: fixed; inset: 0 0 auto; height: 42px; z-index: 150; display: flex; align-items: center; gap: 10px; padding: 0 24px; background: #3a2c10; border-bottom: 1px solid #8a6420; color: #ffe3a6; font-size: 12px; }
.confirm-email-bar .icon { width: 16px; height: 16px; color: #ffbd45; }
.confirm-email-text { flex: 1; min-width: 0; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.confirm-email-text strong { font-weight: 650; }
.confirm-email-where { color: #e8c98a; }
.confirm-email-send { flex-shrink: 0; min-height: 30px; padding: 3px 14px; border: 1px solid #b08030; border-radius: 999px; color: #ffe3a6; background: transparent; font: inherit; font-weight: 600; cursor: pointer; }
.confirm-email-send:hover { background: #4d3a14; }
.confirm-email-send:disabled { opacity: .6; cursor: default; }
.confirm-email-bar :focus-visible { outline: 2px solid #ffbd45; outline-offset: 2px; }
.confirm-email-said { position: absolute; top: 48px; right: 24px; max-width: min(420px, calc(100vw - 24px)); }
.confirm-email-said p { margin: 0; padding: 10px 14px; border: 1px solid #8a6420; border-radius: 12px; background: #3a2c10; color: #ffe3a6; font-size: 12px; line-height: 1.45; box-shadow: 0 8px 24px #00000059; }
.confirm-email-active .portal { min-height: calc(100vh - 42px); }
.confirm-email-active .portal-body { min-height: calc(100dvh - 42px); }
.confirm-email-active .portal-sidebar { top: 42px; height: calc(100dvh - 42px); }
.confirm-email-active .shared-classroom { height: calc(100dvh - 42px); }
.confirm-email-active :is(.mobile-bar, .drawer) { top: 42px; }
.confirm-email-active:has(.shared-classroom) .confirm-email-where { display: none; }
@media (max-width: 760px) {
  .confirm-email-bar { padding: 0 12px; gap: 8px; font-size: 11px; }
  .confirm-email-where { display: none; }
  .confirm-email-send { padding: 3px 10px; }
  .confirm-email-said { left: 12px; right: 12px; max-width: none; }
}
