/* Reading surfaces use the Android-derived tokens; legal text remains API-owned. */

.dialog:has(.privacy-document){width:min(1000px,calc(100vw - 32px))}.privacy-document .privacy-contents{position:sticky;top:0;max-height:65dvh;overflow:auto}
@media(max-width:700px){.settings-sidebar>.settings-nav,.settings-sidebar>input{display:none}.settings-sidebar>.settings-identity{padding-bottom:10px}.settings-sidebar{padding:14px;border-radius:16px}.settings-layout{gap:18px}.privacy-document .privacy-contents{position:static;flex-wrap:nowrap;overflow-x:auto;max-height:none;align-items:center}.privacy-contents>.btn{white-space:nowrap;flex:none}}
.cms-showcase-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin-block:20px;background:var(--sc-low);border:1px solid var(--outline-var);border-radius:18px}.cms-showcase-intro h2{margin:0 0 12px;font-size:20px}.cms-showcase-intro p{max-width:62ch;line-height:1.85}.cms-showcase-intro>.btn{flex-shrink:0}@media(max-width:700px){.cms-showcase-intro{align-items:start;flex-direction:column;gap:16px}}
.today-introduction{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px}.today-introduction .native-mascot-banner{height:100%;min-height:144px;margin:0;border-radius:24px;box-shadow:0 10px 36px color-mix(in srgb,var(--on) 5%,transparent)}.today-assistant-entry{padding:20px;background:var(--surface);border:1px solid var(--outline-var);border-radius:24px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:14px}.today-assistant-entry h2{font-size:18px;line-height:1.5;margin:0}.today-assistant-entry p:not(.today-eyebrow){font-size:13px;line-height:1.9;color:var(--on-var);margin:0}.today-assistant-entry .today-eyebrow{margin:0}.today-assistant-entry .btn{margin-top:4px}.today-next-step{display:flex;align-items:center;gap:20px;padding:20px 24px;margin-bottom:28px;background:var(--sc-low);border:1px solid var(--outline-var);border-radius:16px;color:var(--on);text-decoration:none;transition:background .18s,box-shadow .18s}.today-next-step:hover{background:var(--sc);box-shadow:0 6px 20px color-mix(in srgb,var(--on) 4%,transparent)}.today-next-step strong{flex:1;font-size:15px;overflow-wrap:anywhere}.today-next-label{font-size:12px;color:var(--on-ter);white-space:nowrap}.today-next-context{font-size:12px;color:var(--on-var)}.today-next-action{font-size:12px;background:var(--surface);border:1px solid var(--outline-var);border-radius:9px;padding:8px 12px;white-space:nowrap}
@media(max-width:850px){.today-introduction{grid-template-columns:1fr}.today-assistant-entry{padding:24px}.today-introduction .native-mascot-banner{min-height:140px}.today-next-step{flex-wrap:wrap;gap:10px;padding:16px}.today-next-context{display:none}.today-next-label{width:100%}.today-next-step strong{font-size:14px}}
.agent-context-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:24px 0;border-block:1px solid var(--outline-var)}.agent-context-map>div{padding:20px;border-inline-start:1px solid var(--outline-var)}.agent-context-map>div:first-child{border-inline-start:0}.agent-context-map p{font-size:13px;line-height:1.85;color:var(--on-var);margin-top:10px}.agent-document{padding:24px;border:1px solid var(--outline-var);border-radius:18px;background:var(--surface)}.agent-document>header,.agent-memory-head{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:16px}.agent-document h2,.agent-memory-head h2{font-family:ui-monospace,monospace;font-size:18px;margin:0}.agent-document-input{width:100%;font:14px/1.9 ui-monospace,'Microsoft YaHei',monospace;tab-size:2;resize:vertical;min-height:320px;background:var(--sc-low);padding:18px;border-radius:12px}.agent-document .page-actions{justify-content:space-between}
@media(max-width:700px){.agent-context-map{grid-template-columns:1fr}.agent-context-map>div{border-inline-start:0;border-top:1px solid var(--outline-var);padding:16px}.agent-context-map>div:first-child{border-top:0}.agent-document{padding:16px}.agent-document-input{font-size:16px;padding:12px}.agent-memory-head{align-items:start;flex-wrap:wrap}}
.auth-wrap{position:relative;isolation:isolate}.auth-wrap>.login-ocean{position:fixed;inset:0;z-index:0;opacity:.8;mask-image:none;pointer-events:none;background:none}.login-ocean>canvas{display:block;width:100%;height:100%;pointer-events:none}.auth-wrap>.login-ocean::before{display:none}.auth-wrap>.auth-side,.auth-wrap>.auth-main{position:relative;z-index:1}.auth-side{isolation:isolate;overflow:hidden}.auth-side .auth-arc,.auth-side .auth-mascot{animation:none}.auth-main .auth-card{background:color-mix(in srgb,var(--surface) 96%,transparent)}
.directory-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.directory-group{padding:20px;border:1px solid var(--outline-var);border-radius:16px;background:var(--sc-low)}.directory-group-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.directory-group-head h4{font-size:15px;margin:0}.directory-number{font-size:12px;color:var(--on-ter);font-variant-numeric:tabular-nums}.directory-group-links{display:grid;gap:4px}.directory-group-links .directory-entry{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;color:var(--on);text-decoration:none}.directory-group-links .directory-entry:hover,.directory-group-links .directory-entry:focus-visible{background:var(--sc-high)}
/* Native disclosure remains for editable filters and technical records. Remove browser triangles throughout. */
@media(max-width:700px){.directory-groups{grid-template-columns:1fr}.directory-group{padding:16px}}
.campus-carousel{border:1px solid var(--outline-var);border-radius:24px;background:var(--surface);overflow:hidden;box-shadow:0 16px 44px color-mix(in srgb,var(--on) 5%,transparent)}
.campus-carousel-viewport{overflow-x:auto;overscroll-behavior-x:contain;touch-action:auto;scroll-snap-type:x mandatory}.campus-carousel[data-enhanced=true] .campus-carousel-viewport{overflow:hidden;touch-action:pan-y pinch-zoom;scroll-snap-type:none}
.campus-carousel-track{display:flex}.campus-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);scroll-snap-align:start;gap:0}.campus-poster{min-width:0;min-height:360px;height:clamp(360px,38vw,520px);background:var(--sc-low);display:flex;align-items:center;justify-content:center;padding:20px}.campus-poster-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 30px color-mix(in srgb,var(--on) 12%,transparent)}
.campus-slide-copy{padding:clamp(24px,5vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:start;gap:16px}.campus-slide-copy h3{font-size:clamp(24px,3vw,36px);line-height:1.4;margin:0;overflow-wrap:anywhere}.campus-slide-copy p{color:var(--on-var);line-height:1.9;max-width:36ch;margin:0}.campus-slide-copy .pub-title-link{color:var(--on)}
.campus-carousel-controls{padding:14px 24px;display:flex;align-items:center;gap:16px;border-top:1px solid var(--outline-var)}.campus-carousel-controls nav{display:flex;flex-wrap:wrap;gap:4px;flex:1}.campus-carousel-controls nav .btn{border-radius:50%;min-width:40px;min-height:40px;padding:8px;font-size:12px;font-variant-numeric:tabular-nums}.campus-carousel-controls nav [aria-current=true]{background:var(--accent-container);color:var(--on-accent-container)}.campus-carousel-counter{font-size:12px;color:var(--on-var);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){.campus-slide{grid-template-columns:1fr}.campus-poster{height:350px;min-height:0;padding:16px}.campus-slide-copy{padding:24px;gap:12px}.campus-slide-copy h3{font-size:24px}.campus-carousel-controls{padding:12px;gap:6px;flex-wrap:wrap}.campus-carousel-counter{display:none}.campus-carousel-controls nav .btn{min-width:36px;min-height:36px}}
.privacy-overview{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(24px,4vw,44px);border:1px solid var(--outline-var);border-radius:24px;background:var(--surface);box-shadow:0 14px 42px color-mix(in srgb,var(--on) 4%,transparent);margin-block:24px}
.privacy-overview>div{max-width:62ch}.privacy-overview h2{font-size:clamp(22px,3vw,30px);line-height:1.45;margin:8px 0 14px}.privacy-overview p{line-height:1.85}.privacy-overview>.btn{flex-shrink:0}
.privacy-eyebrow{font-size:12px;letter-spacing:.1em;color:var(--on-var);font-weight:600}.privacy-document{max-width:1040px;margin:auto}.privacy-document-head{padding:16px 0 28px;border-bottom:1px solid var(--outline-var)}
.privacy-lead{font-size:17px;line-height:1.95;max-width:64ch}.privacy-status{border-inline-start:3px solid var(--accent);padding:12px 16px;background:var(--sc);font-size:13px;line-height:1.8}
.privacy-reading-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding-block:28px}.privacy-contents{align-self:start;display:grid;gap:6px}.privacy-contents .btn{text-align:start;justify-content:flex-start;font-size:13px;min-height:40px;border-radius:10px}.privacy-chapter{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:22px 0;border-bottom:1px solid var(--outline-var);scroll-margin-top:24px;outline-offset:4px}.privacy-chapter:first-child{padding-top:0}.privacy-number{font-size:11px;font-variant-numeric:tabular-nums;color:var(--on-var);padding-top:6px}.privacy-chapter h3{margin:0 0 16px;font-size:18px;line-height:1.6}.privacy-chapter p{line-height:1.95;overflow-wrap:anywhere}.privacy-recipient+.privacy-recipient{margin-top:24px}.privacy-chapter .facts{margin:0}.privacy-chapter h4{font-size:15px}
@media(max-width:700px){.privacy-overview{align-items:start;flex-direction:column;gap:16px;border-radius:18px}.privacy-reading-layout{grid-template-columns:1fr;gap:12px}.privacy-contents{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--outline-var)}.privacy-contents .btn{font-size:12px;min-height:36px;padding:6px 10px}.privacy-lead{font-size:15px}.privacy-chapter{gap:6px;grid-template-columns:22px minmax(0,1fr)}}

/* Inline mobile settings: vertical categories, horizontal wrapping choices. */
.settings-category-items{display:grid;gap:4px}
.settings-category-toggle{display:none}
.settings-content{scroll-margin-top:calc(var(--bar-h) + env(safe-area-inset-top) + 16px)}
.settings-sidebar{scroll-margin-top:calc(var(--bar-h) + env(safe-area-inset-top) + 16px)}
.agent-document h2,.agent-memory-head h2{font-family:inherit}.agent-document-input{font-family:inherit}
@media(max-width:700px){
 .settings-category-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:14px;color:var(--on-var)}
 .settings-category-toggle .btn{flex:none}
 .settings-sidebar[data-categories-open="false"]>input,.settings-sidebar[data-categories-open="false"]>.settings-nav,.settings-sidebar[data-categories-open="false"]>.hint{display:none}
 
 .settings-sidebar>input{display:block;width:100%;margin:12px 0}
 .settings-sidebar>.settings-nav{display:grid;gap:14px;overflow:visible;padding:0}
 .settings-nav section{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px;padding:0;min-width:0}
 .settings-nav section h2{font-size:11px;line-height:1.8;margin:8px 0;color:var(--on-var)}
 .settings-category-items{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
 .settings-category-items a{min-height:38px;padding:8px 10px;border:1px solid var(--outline-var);border-radius:12px;white-space:normal;font-size:12px;line-height:1.6}
 .settings-sidebar{padding:16px;border-radius:18px}
}
/* Native customizable selects preserve browser keyboard/form behavior. */
@supports (appearance:base-select){
 select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select){appearance:base-select}
 select:not([multiple]):not([size]){display:flex;align-items:center;gap:12px;min-height:44px;border-radius:12px}
 select:not([multiple]):not([size])::picker(select){background:var(--surface);color:var(--on);border:1px solid var(--outline-var);border-radius:16px;padding:8px;box-shadow:0 14px 46px color-mix(in srgb,var(--on) 12%,transparent);max-height:min(420px,65dvh);overscroll-behavior:contain}
 select:not([multiple]):not([size])::picker-icon{content:'';width:7px;height:7px;flex:none;border:solid currentColor;border-width:0 1.5px 1.5px 0;color:var(--on-var);margin-inline-start:auto;margin-inline-end:4px;rotate:45deg;translate:0 -2px;transition:rotate .16s}
 select:not([multiple]):not([size]):open::picker-icon{rotate:225deg;translate:0 2px}
 select:not([multiple]):not([size]) option{padding:12px;border-radius:10px;min-height:44px;white-space:normal;line-height:1.65;gap:12px}
 select:not([multiple]):not([size]) option:checked{background:var(--sc-high);font-weight:600}
 select:not([multiple]):not([size]) option:hover,select:not([multiple]):not([size]) option:focus{background:var(--sc)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .pub-feature,.pub-wayfinding>a,.stu-event{transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s,border-color .24s}
 :root:not([data-motion=off]):not([data-motion=gentle]):not([data-simple=true]) :is(.pub-feature,.pub-wayfinding>a:not(.glare-surface),.stu-event):hover{transform:translateY(-4px);box-shadow:0 18px 36px color-mix(in srgb,var(--on) 7%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--outline-var))}
}

.pub-discover[data-showcase=true]>.pub-masthead{min-height:240px;padding-block:32px;grid-template-columns:minmax(0,1fr) 170px}
.pub-discover[data-showcase=true]>.pub-masthead h1{font-size:clamp(32px,4vw,52px)}
.pub-discover[data-showcase=true]>.pub-masthead .pub-masthead-art{min-height:140px}
.pub-discover[data-showcase=true]>.pub-masthead .pub-masthead-art img{height:140px}
.pub-discover[data-showcase=true]>.pub-section:first-of-type{padding-top:12px}
.stu-discover[data-showcase=true]>.stu-hero{min-height:0;padding-block:20px;margin-bottom:8px}.stu-discover[data-showcase=true]>.stu-hero img{height:94px;width:94px}

/* Pinned GlareHover paints only a decorative surface. Original links, poster fit and focus rings remain native. */
.public-card-stage[hidden]{display:none!important}.glare-surface{position:relative;isolation:isolate}
.public-card-glare{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:2}
.public-card-glare>.public-card-glare-renderer{position:absolute;inset:0;display:block;border:0;pointer-events:none}
.pub-card-ways{gap:14px;border-bottom:0}
.pub-card-ways>a,.pub-card-ways>a:first-child{border:1px solid var(--pub-line);border-radius:18px;padding:22px;background:linear-gradient(145deg,var(--surface),var(--sc-low));box-shadow:inset 0 1px color-mix(in srgb,white 80%,transparent)}
.pub-card-ways>a.glare-surface:hover{transform:none;box-shadow:inset 0 1px color-mix(in srgb,white 80%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,var(--outline-var))}
@media(max-width:700px){.pub-discover[data-showcase=true]>.pub-masthead{grid-template-columns:1fr;min-height:0;padding-block:28px}.pub-discover[data-showcase=true]>.pub-masthead .pub-masthead-art{display:none}.pub-discover[data-showcase=true]>.pub-masthead .pub-deck{margin-top:10px!important}.pub-discover[data-showcase=true]>.pub-masthead .pub-actions{margin-top:14px}}

.organization-instructions-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;padding:18px 20px;border-inline-start:3px solid var(--wing-1);background:var(--sc-low);border-radius:0 12px 12px 0}

/* Move keyboard focus to the settings heading rather than framing a long reading panel. */
.settings-content:focus-visible{outline:none}
.settings-content:focus-visible>.page-head .page-title{width:fit-content;outline:2px solid var(--brand-text);outline-offset:6px;border-radius:8px}
