.stu-avatar{display:inline-flex;width:100%;height:100%;min-width:0;border-radius:50%;overflow:hidden;vertical-align:middle}.stu-avatar .profile-portrait{width:100%;height:100%;margin:0;padding:0}.stu-avatar .portrait-inner{width:100%;height:100%;min-height:0}.stu-avatar img{width:100%;height:100%;object-fit:cover}.stu-avatar .portrait-initials{font-size:inherit}.stu-avatar svg{width:100%;height:100%}
.chat-environment .topbar{display:none}.chat-environment .messenger{height:var(--chat-available-height,calc(100dvh - 80px))}.message-group{margin-block:8px 0}.message-group.message-clustered{margin-top:3px}.message-clustered .message-avatar{visibility:hidden}.message-bubble{padding:8px 12px!important;max-width:min(80%,520px);border-radius:17px!important;min-height:0;position:relative;touch-action:pan-y}.message-bubble p{margin:0;font-size:14px;line-height:1.45}.message-bubble.mine{background:var(--bubble-colour,var(--stu-lilac,#e7ddff));color:#292338}.message-meta{gap:5px;font-size:9px;margin-top:3px;justify-content:flex-end}.message-author{font-size:11px;margin-bottom:4px}.message-bubble.bubble-rounded{border-radius:25px!important}.message-bubble.bubble-square{border-radius:7px!important}.message-bubble.detail-outline{outline:1px solid #84729666;outline-offset:2px}.message-bubble.detail-spark::after{content:'✦';position:absolute;right:-5px;top:-8px;color:#81719c;font-size:15px;pointer-events:none}.message-bubble.detail-doodle{border:1px dashed #927da0!important}.message-clustered .message-bubble{border-top-left-radius:9px!important}.message-clustered .mine{border-top-right-radius:9px!important}.message-options{opacity:0}.message-bubble:hover .message-options,.message-bubble:focus-within .message-options{opacity:1}.conversation-thread{background-repeat:repeat}.message-scroll,.messages-scroll,.thread-messages{background:transparent!important}
.chat-history{position:sticky;top:0;z-index:2;margin-bottom:12px}.chat-history-toggle{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:20px;background:var(--mode-surface,#fffefa);font-size:11px;margin:auto}.chat-history-browser{padding:14px;background:var(--mode-surface,#fffefa);border:1px solid var(--mode-line,#e8e2ed);border-radius:16px;max-height:50dvh;overflow:auto}.chat-history-browser form{display:flex;gap:6px}.chat-history-browser input{flex:1;min-width:0}.chat-history-browser article{padding:10px 0;border-bottom:1px solid var(--mode-line,#e8e2ed)}.history-message{width:100%;text-align:left;font-size:13px}.history-message time{display:block;font-size:10px;opacity:.6;margin-top:4px}.chat-history-browser img{max-width:160px;max-height:100px;border-radius:9px}.chat-history-browser a{display:block;font-size:12px;overflow-wrap:anywhere}.chat-personalisation{padding-bottom:18px;border-bottom:1px solid var(--mode-line,#e8e2ed);margin-bottom:18px}.chat-personalisation h3{font-size:19px}.chat-personalisation p{font-size:12px;opacity:.7}
.primary>section,.society-page{animation:stu-page-enter .18s ease-out}@keyframes stu-page-enter{from{opacity:.75;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.primary>section,.society-page{animation:none}}
.home-events{gap:16px}.feed-heading{margin-top:32px}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 30px}.home-shortcuts button{display:flex;gap:12px;align-items:center;text-align:left;padding:18px;background:var(--mode-surface,#fffefa);border:1px solid var(--mode-line,#e8e2ed);border-radius:20px}.home-shortcuts strong{display:block;font-size:14px}.home-shortcuts small{display:block;font-size:11px;margin-top:4px;opacity:.7}.home-shortcuts svg{background:#e7ddff;color:#352847;padding:8px;box-sizing:content-box;border-radius:13px}
@media(max-width:760px){:root[data-chat-keyboard="open"] .chat-environment .mobile-nav{display:none!important}:root[data-chat-keyboard="open"] .chat-environment{padding-bottom:0!important}.chat-environment .topbar,.chat-environment .account-strip{display:none!important}.message-options{display:none!important}.message-bubble{max-width:86%;padding:7px 11px!important}.message-group{margin-top:6px}.message-line{gap:7px!important}.message-avatar{width:25px!important;height:25px!important;flex:0 0 25px!important}.thread-header .chat-avatar{display:flex!important;width:36px;height:36px;flex:0 0 36px}.home-shortcuts{gap:8px}.home-shortcuts button{padding:13px 10px;flex-direction:column;align-items:flex-start;gap:8px}.home-shortcuts small{font-size:10px}}
.call-room{color:#2c2238;background:#eee7fb;overflow:hidden}.call-room::before{content:'';position:absolute;inset:0;background:#fff5;pointer-events:none}.call-room>*{position:relative}.call-room header h2{font-size:24px;letter-spacing:-.6px}.call-room header p{font-size:12px;opacity:.65}.call-grid{gap:14px}.call-person{box-shadow:0 4px 30px #35214310;border:1px solid #ffffff60}.call-person video{visibility:hidden}.call-person.has-camera video{visibility:visible}.call-portrait{position:absolute;inset:0;display:grid;place-items:center}.call-portrait .stu-avatar{width:clamp(90px,20vw,180px);height:clamp(90px,20vw,180px);border:5px solid #ffffff70;box-shadow:0 15px 55px #51366920}.has-camera .call-portrait{display:none}.call-person figcaption{background:#fff9;color:#302438;font-size:13px}.direct-call .call-grid{display:block;position:relative}.direct-call .call-person:not(:first-child){height:100%;width:100%;min-height:0}.direct-call .call-person:first-child{position:absolute;right:14px;top:14px;width:125px;height:150px;min-height:0;z-index:2}.direct-call .call-person:first-child .stu-avatar{width:65px;height:65px;border-width:3px}.direct-call .call-person:only-child{position:relative;width:100%;height:100%;right:auto;top:auto}.call-room .call-controls button{background:#fff9;color:#34283e;min-width:92px}.call-room .call-controls .call-reject{background:#e85469;color:white}.call-privacy,.call-report{color:#493e57}.call-room .call-report .text-link{color:#493e57}.call-video-prompt{margin:auto;max-width:480px;padding:14px;background:#fff;border-radius:18px;text-align:center}.call-video-prompt button{margin:5px}.incoming-personal{padding:30px 26px;color:#302438;border:1px solid #fff8;box-shadow:0 14px 80px #39274d35}.incoming-personal::before{content:'';position:absolute;inset:0;background:#fff5;border-radius:inherit;pointer-events:none}.incoming-personal>*{position:relative}.incoming-portrait{width:104px;height:104px;margin:20px auto;border:4px solid #ffffff80;border-radius:50%;box-shadow:0 8px 30px #51366920}.incoming-personal h2{font-size:30px;letter-spacing:-.8px;margin:12px 0}.incoming-personal p{font-size:13px;line-height:1.5}.call-kicker{font-size:10px!important;font-weight:700;letter-spacing:1.5px}.incoming-controls{margin-top:24px;gap:12px}.incoming-controls button{flex:1;flex-direction:column;background:#fff8!important}.incoming-controls .call-reject{background:#e85469!important;color:#fff!important}.incoming-controls .call-answer{background:#ddf5a7!important;color:#302438}.incoming-controls .call-video-answer{background:#e8dfff!important}
@media(max-width:760px){.incoming-personal{top:auto;bottom:max(12px,var(--native-inset-bottom,env(safe-area-inset-bottom)));padding:24px 20px;border-radius:32px;width:calc(100vw - 24px)}.incoming-portrait{width:92px;height:92px;margin:12px auto}.incoming-personal h2{font-size:27px}.call-room{gap:12px;padding-left:14px;padding-right:14px}.call-room header h2{font-size:20px}.direct-call .call-person:first-child{width:94px;height:120px;right:10px;top:10px}.direct-call .call-person:first-child .stu-avatar{width:54px;height:54px}.call-room .call-controls button{min-width:80px;padding:12px 10px}.call-room .call-report{font-size:10px}.call-privacy{font-size:10px}}
.deals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.deal-new{padding:0!important;overflow:hidden;background:var(--mode-surface,#fffefa)!important;border:1px solid var(--mode-line,#e8e2ed);color:var(--mode-text,#2c2238)!important}.deal-new.deal-large{grid-column:1/-1}.deal-banner-button{position:relative;display:flex;flex-direction:column;width:100%;padding:22px;text-align:left;gap:12px;color:inherit;overflow:hidden;min-height:240px}.deal-banner{width:calc(100% + 44px);max-width:none;margin:-22px -22px 0;aspect-ratio:2/1;object-fit:cover}.deal-banner-button:has(.deal-banner){padding-top:22px}.deal-label{position:absolute;right:16px;top:16px;padding:5px 9px;border-radius:99px;background:#fffdf6e8;font-size:9px;font-weight:800;letter-spacing:.5px;color:#352847}.deal-merchant{display:flex;align-items:center;gap:10px;font-size:12px}.deal-logo{width:32px;height:32px;object-fit:contain;background:#fff;padding:4px;border-radius:8px}.deal-description{display:flex;flex-direction:column;gap:7px}.deal-new .deal-offer{font-size:25px;color:inherit;line-height:1.15}.deal-title{font-size:13px}.deal-area{font-size:11px;opacity:.65}.deal-redemption{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;margin-top:8px}.deal-large .deal-offer{font-size:34px}.deal-free .deal-redemption{color:#397044}.deal-banner-button:focus-visible{outline:3px solid #81719c;outline-offset:-5px}@media(max-width:760px){.deals-grid{gap:12px;grid-template-columns:1fr}.deal-banner-button{padding:18px;min-height:0}.deal-banner{width:calc(100% + 36px);margin:-18px -18px 0}.deal-new .deal-offer{font-size:25px}.deal-large .deal-offer{font-size:30px}}
.society-tabs{overflow-x:auto;flex-wrap:nowrap}.society-tabs button{flex-shrink:0}.benefits-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.benefits-heading h2,.benefit-check h3{display:flex;align-items:center;gap:8px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.society-benefit{padding:20px;background:var(--surface,#fff);border:1px solid var(--border,#e8e3f0);border-radius:22px;display:flex;align-items:flex-start;flex-direction:column;gap:12px;min-width:0}.society-benefit h3,.society-benefit p{margin:0}.benefit-redemption{width:100%;display:grid;gap:12px}.benefit-qr{width:min(100%,260px);height:auto;display:block;border-radius:16px}.benefit-pass-code,.benefit-redemption code{display:block;overflow-wrap:anywhere;user-select:all;margin:10px 0}.benefit-editor,.benefit-check{display:grid;gap:14px;margin:20px 0;padding:20px;border:1px solid var(--border,#e8e3f0);border-radius:22px}.benefit-terms{white-space:pre-wrap;overflow-wrap:anywhere}.benefit-check input{font-family:monospace}@media(max-width:640px){.benefits-heading{align-items:flex-start;flex-direction:column}.society-benefit{padding:16px}.benefit-check,.benefit-editor{padding:16px}.benefit-redemption .button{width:100%;text-decoration:none}}
.society-benefit,.benefit-editor,.benefit-check{background:var(--mode-surface,#fffdf8);border-color:var(--mode-line,#ddd7e6);color:var(--mode-text,#241b36)}

.stu-avatar{display:inline-flex;flex:0 0 auto;width:42px;height:42px;border-radius:50%;vertical-align:middle}.stu-avatar.small{width:34px;height:34px}.stu-avatar>.profile-portrait,.stu-avatar .portrait-inner{width:100%;height:100%;margin:0}.stu-avatar .profile-portrait{border-width:2px}.stu-avatar .portrait-inner img{width:100%;height:100%;object-fit:cover}.stu-avatar .portrait-initials{font-size:14px}.person-cover>.stu-avatar{width:76px;height:76px}.person-cover>.stu-avatar .portrait-initials{font-size:26px}

.message-bubble[style*="--bubble-colour"]{background:var(--bubble-colour)!important;color:#292338!important}.chat-history{flex:0 0 auto;padding:7px 10px;margin:0;position:relative}.conversation-thread .chat-history-browser{position:absolute;inset-inline:8px;top:100%;max-height:55dvh;box-shadow:0 12px 30px #24143f20}.message-bubble .stu-avatar{max-width:100%}

/* Compact text bubbles: timestamps share the last row where space permits. */
.message-bubble{width:fit-content;min-width:0;padding:6px 10px!important;border-radius:12px!important;box-shadow:none}
.message-bubble.message-text{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px 10px}
.message-text>.chat-markdown{flex:0 1 auto;min-width:0;max-width:100%;line-height:1.4}
.message-text>.message-meta{flex:0 0 auto;margin:0 0 0 auto;line-height:1.3;padding-bottom:1px;white-space:nowrap}
.message-bubble>.message-author{flex-basis:100%;margin-bottom:1px}
.message-meta{font-size:10px;line-height:1.3}.message-meta time{font-variant-numeric:tabular-nums}
.message-bubble.bubble-rounded{border-radius:17px!important}
.message-line .message-avatar{width:26px!important;height:26px!important;flex:0 0 26px!important;margin-bottom:0;background:transparent}
.message-avatar>.stu-avatar{width:100%;height:100%;flex:0 0 auto}.message-avatar .profile-portrait{box-sizing:border-box;border-width:1px}
.message-avatar .portrait-initials{font-size:9px}.message-avatar .persona-art{max-width:100%;max-height:100%}
.message-options{right:-28px;top:0}.incoming .message-bubble{margin-right:24px}.outgoing .message-bubble{margin-right:28px}
.decision-source{display:inline-flex;align-items:center;justify-self:start;max-width:100%;border:1px solid var(--mode-line,#ded5e8);border-radius:999px;padding:5px 10px;background:var(--mode-soft,#eee5fb);color:var(--mode-text,#352847);font-size:12px;font-weight:700;line-height:1.3}
.decision-review{font-size:13px;color:var(--mode-muted,#756780);margin:0;line-height:1.45}
.restriction-detail{border:1px solid var(--mode-line,#ded5e8);border-radius:14px;background:var(--mode-surface,#fffdf8);overflow:hidden}
.restriction-detail summary{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;min-height:44px;font-size:13px;font-weight:650}
.restriction-detail summary::-webkit-details-marker{display:none}.restriction-detail summary svg{flex:none;transition:transform .18s}.restriction-detail[open] summary svg{transform:rotate(180deg)}
.restriction-detail[open] summary{border-bottom:1px solid var(--mode-line,#ded5e8)}.restriction-detail p{padding:10px 14px!important;font-size:13px;overflow-wrap:anywhere}.restriction-detail summary:focus-visible{outline:2px solid #81719c;outline-offset:-3px}
.warning-decision{display:grid;gap:8px}.warning-decision blockquote{margin:0}.warning-screen .warning-decision p{margin:0}
@media(max-width:760px){.message-bubble{padding:6px 9px!important;max-width:86%}.incoming .message-bubble,.outgoing .message-bubble{margin-right:0}.message-meta{font-size:9px}.message-line .message-avatar{width:24px!important;height:24px!important;flex-basis:24px!important}}

/* Page rhythm: reserve room below the app header, except the full-height chat. */
.workspace:not(.messages-workspace)>.topbar+main .content-layout{padding-top:32px}
.home-dashboard{display:grid;gap:28px;min-width:0}.home-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px}.home-welcome h1{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-1.3px;margin:7px 0 9px}.home-intro{font-size:14px;color:var(--mode-muted,#786c82);margin:0}.home-campus{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--mode-line,#e4dce9);border-radius:14px;text-align:left;max-width:45%;background:var(--mode-surface,#fffdfa)}.home-campus span{min-width:0}.home-campus strong{display:block;font-size:12px}.home-campus small{display:block;font-size:11px;color:var(--mode-muted,#786c82);margin-top:4px}.home-campus svg{flex:none}
.home-dashboard>.hero{margin:0}.home-launchpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-launchpad button{display:flex;gap:12px;align-items:center;padding:16px 12px;background:var(--mode-surface,#fffdfa);border:1px solid var(--mode-line,#e4dce9);border-radius:17px;text-align:left;min-width:0}.home-launchpad button>svg{margin-left:auto;flex:none;opacity:.55}.launchpad-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;background:var(--mode-soft,#eee5fb);border-radius:12px;color:var(--mode-text,#352847)}.home-launchpad strong{display:block;font-size:13px}.home-launchpad small{display:block;font-size:11px;margin-top:4px;color:var(--mode-muted,#786c82)}
.home-discovery{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;align-items:start}.home-section-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.home-section-title h2{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:6px 0 0}.home-section-title .eyebrow{margin:0}.home-more{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;color:var(--mode-text,#352847)}.home-event-list{display:grid;gap:16px}.home-event-list .event-card{min-width:0}.home-event-list .event-photo{height:160px}.home-event-empty{padding:22px;border:1px dashed var(--mode-line,#ded5e8);border-radius:18px;display:grid;justify-items:start;gap:10px}.home-event-empty h3,.home-event-empty p{margin:0}.home-event-empty h3{font-size:16px}.home-event-empty p,.home-small-plan>p:not(.eyebrow){font-size:13px;line-height:1.55;color:var(--mode-muted,#786c82)}.home-small-plan{padding:24px;background:var(--mode-soft,#eee5fb);border-radius:22px;display:grid;gap:13px}.home-small-plan h2{font-size:24px;line-height:1.18;letter-spacing:-.7px;margin:0}.home-small-plan p{margin:0}.home-small-plan .button{justify-self:start}.home-conversation{padding-top:8px}.home-feed-tabs{margin-bottom:18px;overflow-x:auto}.home-feed{display:grid;gap:16px}.home-feed .post-card{margin:0}.home-feed-empty{padding:24px;display:grid;justify-items:center;gap:12px;background:var(--mode-surface,#fffdfa);border-radius:18px;text-align:center}.home-feed-empty p{margin:0}
@media(max-width:760px){.workspace:not(.messages-workspace)>.topbar+main .content-layout{padding-top:24px}.home-dashboard{gap:24px}.home-welcome{align-items:start;flex-direction:column;gap:14px}.home-campus{max-width:100%;width:100%;padding:10px 12px}.home-campus>svg:last-child{margin-left:auto}.home-welcome h1{font-size:32px}.home-launchpad{grid-template-columns:1fr;gap:0;border:1px solid var(--mode-line,#e4dce9);border-radius:18px;overflow:hidden}.home-launchpad button{border:0;border-radius:0;border-bottom:1px solid var(--mode-line,#e4dce9);padding:13px 15px}.home-launchpad button:last-child{border-bottom:0}.home-discovery{grid-template-columns:1fr;gap:22px}.home-small-plan{padding:21px}.home-small-plan h2{font-size:23px}.home-section-title h2{font-size:21px}.home-event-list{grid-template-columns:1fr}.home-event-list .event-photo{height:180px}.home-conversation .home-section-title{gap:10px}.home-conversation .button{flex:none}.home-feed-tabs{gap:0}.home-feed-tabs button{white-space:nowrap}}

/* Calls share Stu's paper surfaces; profiles provide the colour accent. */
.call-room,.incoming-personal{background:var(--mode-surface,#fffdf8)!important;color:var(--mode-text,#302438);box-shadow:none;border:0}
.call-room::before,.incoming-personal::before{background:var(--call-gradient);opacity:.24;border-radius:0;inset:0 0 30%;mask-image:linear-gradient(#000,transparent)}
.call-room{gap:16px;padding:28px clamp(18px,5vw,64px) max(28px,env(safe-area-inset-bottom));overflow:auto}.call-room header{width:100%;max-width:1100px;align-self:center}.call-room header h2{font-size:24px}.call-room header p{margin:7px 0 0;color:var(--mode-muted,#756780)}
.call-grid{width:100%;max-width:1100px;align-self:center}.call-person{box-shadow:none;border:0;background:var(--mode-soft,#f1ebf8);border-radius:18px;min-height:180px}.call-person.video-person{background:#171124}.call-person video{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none}.call-person.voice-person video{visibility:hidden}.call-person.has-camera video{visibility:visible}.call-portrait{inset:0;display:grid;place-items:center;padding:35px 12px}.call-portrait>.stu-avatar,.incoming-portrait>.stu-avatar{width:100%;height:100%;box-sizing:border-box;border:0;box-shadow:none;flex:none;display:block}
.call-portrait>.stu-avatar{width:clamp(100px,17vw,170px);height:clamp(100px,17vw,170px)}.call-portrait .profile-portrait,.incoming-portrait .profile-portrait{box-sizing:border-box;border-width:2px;width:100%;height:100%;margin:0}.call-portrait .portrait-inner,.incoming-portrait .portrait-inner{width:100%;height:100%;min-height:0}.call-portrait .portrait-initials,.incoming-portrait .portrait-initials{font-size:36px}.call-person figcaption{background:transparent;color:var(--mode-text,#302438);left:0;right:0;bottom:18px;text-align:center;font-size:14px}.has-camera figcaption{left:12px;right:auto;bottom:12px;background:#171124b0;color:white}
.direct-call .call-grid{display:block;position:relative;min-height:250px}.direct-call .call-person.remote-person,.direct-call .call-person.remote-person:first-child,.direct-call .call-person.remote-person:only-child{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:transparent;border-radius:0;z-index:0}.direct-call .remote-person .call-portrait>.stu-avatar{width:clamp(130px,24vw,210px);height:clamp(130px,24vw,210px)}.direct-call .remote-person figcaption{display:none}.direct-call .call-person.local-person{position:absolute;inset:auto 0 14px auto;width:110px;height:145px;min-height:0;border-radius:14px;z-index:2;box-shadow:none}.direct-call .local-person .stu-avatar{width:64px;height:64px}
.call-room .call-controls,.incoming-controls{flex-wrap:nowrap;gap:18px}.call-room .call-controls button,.incoming-controls button{position:relative;flex:0 0 54px;min-width:54px;width:54px;height:54px;min-height:54px;padding:0;display:grid;place-items:center;border:1px solid var(--mode-line,#ded5e8);border-radius:50%;background:var(--mode-surface,#fffdf8)!important;color:var(--mode-text,#302438)!important;box-shadow:none}.call-room .call-controls .call-reject,.incoming-controls .call-reject{background:#d84357!important;border:0;color:white!important}.call-reject>svg{transform:rotate(135deg)}.incoming-controls .call-answer{background:#cffa67!important;color:#263320!important;border:0}.incoming-controls .call-video-answer{background:#e3d6ff!important;color:#302438!important;border:0}.call-state-slash{position:absolute;width:24px;height:2px;background:currentColor;transform:rotate(-45deg);pointer-events:none}.call-room .call-controls .camera-active{background:var(--mode-soft,#eee5fb)!important}.call-privacy{color:var(--mode-muted,#756780);font-size:11px}
.incoming-personal{inset:0;transform:none;width:100%;max-width:none;border-radius:0;padding:max(48px,env(safe-area-inset-top)) 24px max(40px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:auto}.incoming-personal>*{flex-shrink:0}.incoming-personal .incoming-portrait{width:160px;height:160px;margin:18px 0;border:0;box-shadow:none}.incoming-personal h2{margin:0;font-size:32px}.incoming-personal .call-kicker{margin:0;text-transform:none;letter-spacing:.5px;font-size:12px!important;color:var(--mode-muted,#756780)}.incoming-personal .incoming-caption{margin:0;color:var(--mode-muted,#756780);font-size:13px}.incoming-controls{margin-top:40px}.call-enable-ring{padding:10px;border-radius:50%;width:44px;height:44px;background:var(--mode-soft)}.call-video-prompt{background:var(--mode-surface,#fffdf8);color:var(--mode-text,#302438);border:1px solid var(--mode-line,#ded5e8);border-radius:14px;max-width:420px;margin:0 auto;padding:14px}.call-video-prompt .call-controls{margin-top:12px}.call-report-form{max-width:500px;margin:auto;display:flex;flex-wrap:wrap;align-items:end;gap:12px}.call-report-form label{flex:1 1 100%;font-size:13px}.call-report-form textarea{display:block;width:100%;margin-top:6px}.call-report-form button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--mode-line)}
.call-minimised{inset:auto 16px calc(86px + env(safe-area-inset-bottom)) auto;padding:16px;width:min(420px,calc(100vw - 32px));border-radius:18px;border:1px solid var(--mode-line,#ded5e8)}.call-minimised header h2{font-size:16px}.call-minimised .call-controls button{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}.call-minimised::before{display:none}
@media(max-width:760px){.call-room:not(.call-minimised){height:100dvh;padding:22px 20px max(28px,env(safe-area-inset-bottom))}.call-room header h2{font-size:22px}.direct-call .call-grid{min-height:180px}.direct-call .remote-person .call-portrait>.stu-avatar{width:150px;height:150px}.direct-call .call-person.local-person{width:88px;height:118px;right:0;top:auto;bottom:8px}.group-call .call-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;grid-auto-rows:minmax(160px,1fr)}.group-call .call-portrait>.stu-avatar{width:86px;height:86px}.incoming-personal{bottom:0;top:0;width:100%;border-radius:0;padding:32px 20px max(40px,env(safe-area-inset-bottom))}.call-room .call-controls{gap:16px}.call-room .call-controls button{min-width:50px;width:50px;height:50px;min-height:50px;flex-basis:50px}}

.direct-call:not(.call-minimised),.incoming-personal{background:var(--call-gradient)!important;color:var(--call-ink,#302438)}
.direct-call::before,.incoming-personal::before,.group-call::before{display:none}
.direct-call header p,.direct-call .call-privacy,.incoming-personal .call-kicker,.incoming-personal .incoming-caption{color:var(--call-ink,#302438);opacity:.75}.direct-call header>.icon-button{color:var(--call-ink,#302438)}
.group-call .call-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(190px,1fr);align-content:stretch;overflow:auto}.group-call .call-person{background:var(--person-gradient);color:var(--person-ink,#302438);border:0;border-radius:18px}.group-call .voice-person figcaption{color:var(--person-ink,#302438);bottom:14px}.group-call .call-portrait{padding-bottom:56px}.group-call .call-portrait>.stu-avatar{width:clamp(90px,12vw,150px);height:clamp(90px,12vw,150px)}
@media(min-width:1000px){.group-call .call-grid:has(.call-person:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.group-call .call-grid{grid-auto-rows:minmax(180px,1fr);gap:10px}.group-call .call-portrait>.stu-avatar{width:90px;height:90px}.group-call .call-person figcaption{font-size:13px}}

.home-workspace .content-layout{grid-template-columns:minmax(0,1fr);gap:0}.home-workspace .right-rail{display:none}.home-workspace .primary{width:100%;max-width:1120px;margin-inline:auto}

@media(max-width:760px){.app-shell .mobile-nav,.app-shell:has(.messages-workspace) .mobile-nav{position:fixed;top:auto!important;bottom:0!important;height:calc(64px + max(env(safe-area-inset-bottom,0px),var(--native-inset-bottom,0px)));padding-bottom:max(env(safe-area-inset-bottom,0px),var(--native-inset-bottom,0px));box-sizing:border-box;grid-template-columns:repeat(5,1fr)}.app-shell.keyboard-open .mobile-nav{display:none!important}}
.thread-header{overflow:visible;z-index:5}.thread-action-menu{z-index:20}.chat-history{position:relative;z-index:1}

@media(max-width:760px){.call-room:not(.call-minimised){inset:0;max-width:none;width:100%;height:100dvh;box-sizing:border-box;padding-top:calc(22px + max(env(safe-area-inset-top,0px),var(--native-inset-top,0px)));padding-bottom:calc(24px + max(env(safe-area-inset-bottom,0px),var(--native-inset-bottom,0px)))}.incoming-personal{box-sizing:border-box;inset:0;padding-top:calc(32px + max(env(safe-area-inset-top,0px),var(--native-inset-top,0px)));padding-bottom:calc(32px + max(env(safe-area-inset-bottom,0px),var(--native-inset-bottom,0px)))}.direct-call .call-grid{flex:1;min-height:180px}.call-room .call-controls{margin-top:auto}.call-room .call-controls button{min-width:54px;height:54px;width:54px;flex-basis:54px}.direct-call .call-person.remote-person:first-child .stu-avatar{width:150px;height:150px}.incoming-personal .incoming-portrait{aspect-ratio:1;flex:0 0 160px}.incoming-portrait .stu-avatar{aspect-ratio:1}}
