@charset "UTF-8";
:root{--ink:#172d3c;--muted:#66736f;--paper:#f7f6ef;--line:#e4e6dc;--yellow:#f8d857;--coral:#f4a18d;--mint:#dceae0;--white:#fff;--shadow:0 8px 28px #1d33290a;--radius:22px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #187268;outline-offset:4px}button{border:0}svg{display:block}h1,h2,h3,p{margin:0}p{line-height:1.55}h1{font-size:clamp(28px,3.1vw,43px);line-height:1.13;letter-spacing:-1.7px}h2{font-size:20px;letter-spacing:-.55px}h3{font-size:19px;line-height:1.3;letter-spacing:-.35px}small{font-size:12px}.skip{position:fixed;left:16px;top:-70px;z-index:20;padding:12px;background:white}.skip:focus{top:12px}.demo-ribbon{height:29px;background:#e6eadf;color:#344943;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:.25px}.demo-ribbon strong{font-size:10px;letter-spacing:1px}.demo-dot{width:5px;height:5px;border-radius:50%;background:#687c64}.topbar{display:flex;align-items:center;justify-content:space-between;padding:25px 38px 24px;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:216px;font-weight:750;font-size:21px;letter-spacing:-.75px}.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:1px;margin-top:4px}.brand-mark{position:relative;width:47px;height:47px;border-radius:15px;background:var(--yellow);font-size:44px;font-weight:750;line-height:.94;text-align:center;transform:rotate(-5deg)}.brand-mark span{position:absolute;font-size:26px;right:4px;top:6px;color:#cd6c49}.school-switch{display:flex;background:#eaece3;border:1px solid #e3e6dc;border-radius:12px;padding:4px;gap:3px}.school-switch button{background:none;padding:10px 22px;font-size:12px;font-weight:650;border-radius:9px}.school-switch button[aria-pressed=true]{background:white;box-shadow:0 2px 4px #203a2b0d}.login-link{font-size:11px;display:flex;align-items:center;gap:9px;font-weight:650}.avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#ebe8d7;color:#584f31;font-weight:750;flex-shrink:0}.avatar.mini{width:29px;height:29px;font-size:12px;background:#dce7dd}.app-layout{display:grid;grid-template-columns:229px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{padding:35px 23px 24px 29px;display:flex;flex-direction:column;min-height:calc(100vh - 127px);border-right:1px solid var(--line)}.sidebar-label{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#7b8679;margin:0 12px 16px}.main-nav{display:grid;gap:7px}.main-nav button{display:flex;align-items:center;gap:13px;background:transparent;padding:13px 14px;text-align:left;border-radius:12px;color:#68736c;font-size:13px;font-weight:600}.main-nav button>span:first-child{width:18px;font-size:20px;line-height:1}.main-nav button[aria-current]{background:var(--ink);color:white}.main-nav button:hover:not([aria-current]){background:#e9eddf}.sidebar-note{margin:49px 5px 29px;padding:21px 14px 20px;border-radius:18px;background:#efeee3;position:relative}.tiny-sun{color:#c39d2d;font-size:38px;display:block;line-height:1;margin-bottom:12px}.sidebar-note strong{font-size:15px;line-height:1.4}.sidebar-note p{font-size:11px;color:var(--muted);margin-top:9px}.text-button{background:none;font-weight:700;padding:0;font-size:12px;text-align:left}.sidebar-note .text-button{margin-top:19px}.admin-link{margin-top:auto;display:flex;align-items:center;gap:10px;background:none;text-align:left;padding:13px;font-size:11px;color:#647263}.sidebar-foot{font-size:9px;color:#7f8a7e;line-height:1.6;padding:13px}main{min-width:0;padding:34px 36px 45px}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px;gap:16px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;margin-bottom:10px;color:#75836f}.page-heading p{color:var(--muted);font-size:12px;margin-top:10px}.today-pill{font-size:10px;border:1px solid #dce0d4;padding:9px 12px;border-radius:20px;white-space:nowrap;color:#657360}.board-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px}.board-main,.board-side{min-width:0}.meeting-hero{background:var(--ink);color:white;border-radius:var(--radius);padding:27px 29px;display:grid;grid-template-columns:1fr 110px;gap:20px;min-height:209px;position:relative;overflow:hidden}.meeting-hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff12;border-radius:50%;right:-70px;top:-55px;pointer-events:none}.hero-tag{font-size:9px;color:#e4e8dc;letter-spacing:1.5px;font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:15px}.hero-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--yellow)}.meeting-hero h2{font-size:28px;max-width:330px;letter-spacing:-1px;line-height:1.18}.meeting-meta{font-size:11px;color:#c2ccc5;margin-top:12px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:11px 16px;background:var(--ink);color:white;border-radius:10px;font-size:12px;font-weight:700;line-height:1.3}.button.yellow{background:var(--yellow);color:var(--ink)}.button.light{background:white;color:var(--ink);border:1px solid var(--line)}.button.small{font-size:11px;min-height:36px;padding:8px 12px}.hero-actions small{font-size:9px;color:#b6c4ba}.date-tile{position:relative;z-index:1;align-self:center;justify-self:end;background:#f9f4dd;color:var(--ink);border-radius:15px;transform:rotate(5deg);width:88px;height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:8px 8px 0 #ffffff0c}.date-tile:before,.date-tile:after{content:"";position:absolute;top:-6px;width:6px;height:17px;background:#9baa99;border-radius:3px}.date-tile:before{left:21px}.date-tile:after{right:21px}.date-tile strong{font-size:44px;letter-spacing:-2px;line-height:1.05}.date-tile span{font-size:10px;font-weight:750;letter-spacing:2px}.date-tile small{font-size:8px;margin-top:5px;color:#7e8772}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:29px 0 17px}.section-heading h2{font-size:18px}.section-heading .text-button{color:#677967;font-size:10px}.pin-note{font-size:10px;color:var(--muted)}.notices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.notice{position:relative;padding:23px 18px 18px;border-radius:14px;min-height:180px;display:flex;flex-direction:column;text-align:left;transition:transform .18s,box-shadow .18s;background:var(--mint);box-shadow:0 4px 0 #24322705}.notice:hover{transform:translateY(-4px);box-shadow:0 9px 14px #2237280d}.notice.yellow{background:#f4df80;transform:rotate(-1deg)}.notice.coral{background:#f2b4a2;transform:rotate(1deg)}.notice.yellow:hover,.notice.coral:hover{transform:rotate(0) translateY(-4px)}.notice:before{content:"";position:absolute;height:16px;width:48px;top:-7px;left:calc(50% - 24px);background:#ffffff73;transform:rotate(-5deg)}.notice-symbol{font-size:24px;line-height:1;margin-bottom:16px}.notice .category{font-size:8px;font-weight:750;letter-spacing:1.1px;margin-bottom:7px;text-transform:uppercase}.notice h3{font-size:15px;line-height:1.4}.notice-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:20px;font-size:9px;color:#51614c}.notice-bottom span:last-child{font-size:17px}.activity-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.activity-card{background:white;border:1px solid #e5e7dc;border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;text-align:left}.activity-card .activity-art{width:58px;height:66px;border-radius:13px;display:grid;place-items:center;background:#e4ebf2;font-size:30px;flex-shrink:0}.activity-card:nth-child(2) .activity-art{background:#fae5cf}.activity-card small{display:block;font-size:9px;color:#7c8773;margin-bottom:6px}.activity-card h3{font-size:13px}.activity-card p{font-size:10px;margin-top:7px;color:#66785e}.side-card{border:1px solid var(--line);border-radius:19px;background:#fff;padding:21px;margin-bottom:17px}.side-card.tint{background:#eaf0e4}.side-card h3{font-size:16px}.side-card p{font-size:11px;color:var(--muted);margin:10px 0 17px}.side-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.side-title span{font-size:24px}.event-mini{display:flex;gap:11px;align-items:center;padding:16px 0;border-bottom:1px solid #e9ebe2}.event-mini:last-child{border:0;padding-bottom:0}.event-date{background:#f2f2e8;border-radius:10px;width:38px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.event-date strong{font-size:17px;line-height:1}.event-date small{font-size:7px;font-weight:700;margin-top:4px}.event-mini h4{margin:0;font-size:11px;line-height:1.5}.event-mini p{margin:3px 0 0;font-size:9px}.avatar-stack{display:flex;padding-left:5px;margin:18px 0 13px}.avatar-stack .avatar{width:31px;height:31px;border:3px solid white;margin-left:-5px;font-size:10px}.avatar-stack .avatar:nth-child(2){background:#e7c9b2}.avatar-stack .avatar:nth-child(3){background:#d3dbef}.avatar-stack .avatar:nth-child(4){background:#e3ebd7}.photo-strip{display:flex;gap:7px;margin:15px 0}.photo-tile{background:#e9e3cb;border-radius:9px;width:100%;height:61px;display:grid;place-items:center;font-size:27px}.photo-tile:nth-child(2){background:#d8e4d6;transform:rotate(3deg)}.photo-tile:nth-child(3){background:#ebd5c4;transform:rotate(-3deg)}.micro{font-size:9px!important;color:#7e8979!important;line-height:1.5}.board-footer{display:flex;justify-content:space-between;font-size:9px;color:#84907c;margin-top:24px;gap:10px}.surface{background:white;border:1px solid var(--line);border-radius:20px;padding:24px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:23px;flex-wrap:wrap}.segmented{display:flex;gap:4px;padding:4px;background:#e8ecdf;border-radius:11px}.segmented button{padding:9px 14px;background:none;border-radius:8px;font-size:12px}.segmented button[aria-pressed=true]{background:white;font-weight:700}.filter{display:flex;align-items:center;gap:9px;font-size:12px}.filter select,select{max-width:100%;border:1px solid #d7ddcf;border-radius:10px;padding:11px 13px;background:white;color:var(--ink);font-size:13px}.calendar-title{font-size:18px;margin-bottom:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{font-size:9px;color:var(--muted);text-align:center;padding:5px}.calendar-day{min-height:82px;border:1px solid #e9ecdf;border-radius:10px;padding:9px;background:#fff;min-width:0;font-size:11px}.calendar-day.blank{border:0;background:transparent}.calendar-day.has-event{background:#f8efd0;border-color:#e8d985}.calendar-day strong{display:block;font-size:12px;margin-bottom:6px}.calendar-event{display:block;text-align:left;background:none;font-size:9px;line-height:1.4;padding:0;color:#655323;text-decoration:underline;text-underline-offset:3px}.event-list{display:grid;gap:12px}.event-item{display:flex;gap:18px;align-items:center;border:1px solid var(--line);padding:18px;border-radius:14px}.event-item .event-date{width:53px;height:58px;background:#f6e8b5}.event-item h3{font-size:15px}.event-item p{font-size:11px;color:var(--muted);margin-top:6px}.event-item .button{margin-left:auto}.empty{padding:30px;border:1px dashed #b9c8b1;border-radius:18px;line-height:1.6}.empty p{font-size:13px;color:var(--muted);margin-top:12px}.ideas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.idea-card{background:white;border:1px solid var(--line);padding:24px;border-radius:18px;display:flex;gap:18px;align-items:start}.idea-symbol{font-size:34px}.idea-card h3{font-size:17px}.idea-card p{font-size:12px;color:var(--muted);margin:10px 0 18px}.vote-button{padding:9px 15px;border:1px solid #d6ddcd;border-radius:18px;background:#f5f7ee;font-size:12px}.vote-button[aria-pressed=true]{background:#f9df79;border-color:#c7a333}.split{display:grid;grid-template-columns:250px 1fr;gap:20px}.chat-list{display:grid;align-content:start;gap:8px}.chat-list button{background:white;border:1px solid var(--line);padding:17px;border-radius:13px;text-align:left;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:650}.chat-list button[aria-pressed=true]{background:#e5ecdf;border-color:#b9c8ac}.chat-room{min-height:405px;display:flex;flex-direction:column}.chat-header{border-bottom:1px solid var(--line);padding-bottom:17px}.chat-header h2{font-size:18px}.chat-header p{font-size:10px;color:var(--muted);margin-top:5px}.messages{display:flex;flex-direction:column;gap:14px;padding:25px 0;min-height:205px}.bubble{max-width:87%;border-radius:0 15px 15px 15px;background:#eff2e8;padding:13px 16px;font-size:12px;line-height:1.65;align-self:start}.bubble.mine{align-self:end;border-radius:15px 0 15px 15px;background:#f8e5a0}.bubble small{display:block;font-size:9px;margin-top:8px;color:#718066}.chat-compose{display:flex;gap:10px;margin-top:auto}.chat-compose select{flex:1;min-width:0}.field{display:grid;gap:8px;font-size:12px;font-weight:650;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.fieldset{border:0;padding:0;margin:0}.section-label{font-size:15px;font-weight:700;margin-bottom:19px}.check-row{display:flex;gap:12px;align-items:start;border-top:1px solid var(--line);padding:17px 0}.check-row input{width:18px;height:18px;margin-top:1px;accent-color:#405f48;flex-shrink:0}.check-row label{font-size:12px;font-weight:650;line-height:1.5}.check-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:400}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.form-message{font-size:11px;line-height:1.6;color:#526d4b;min-height:18px;margin-top:14px}.form-message.error{color:#aa382f}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.profile-avatar{display:flex;align-items:center;gap:13px;margin-bottom:25px}.profile-avatar .avatar{width:52px;height:52px;background:#f7df88}.profile-avatar strong{font-size:16px}.profile-avatar p{font-size:10px;color:var(--muted);margin-top:4px}.demo-tag{display:inline-flex;padding:4px 7px;border-radius:5px;font-size:8px;letter-spacing:.5px;font-weight:700;background:#eaf0e3;color:#657653}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.person-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:17px}.person-card h3{margin-top:15px;font-size:16px}.person-card p{font-size:11px;color:var(--muted);margin:7px 0 13px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.archive-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.archive-art{height:140px;background:#e7e2ce;display:grid;place-items:center;font-size:57px}.archive-card:nth-child(2) .archive-art{background:#dfe9e2}.archive-card:nth-child(3) .archive-art{background:#f1ddcf}.archive-card .archive-copy{padding:20px}.archive-card h3{font-size:15px}.archive-card p{font-size:11px;color:var(--muted);margin:9px 0}.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-preview{background:#f8e6a0;padding:24px;border-radius:18px;margin-bottom:18px}.admin-preview .category{font-size:9px;letter-spacing:1px;margin-bottom:12px}.admin-preview h3{font-size:22px}.admin-preview p{font-size:12px;margin-top:12px}.moderation-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;border-top:1px solid var(--line);font-size:12px}.moderation-actions{display:flex;gap:7px}.moderation-actions button{background:#e7ecdf;border-radius:8px;font-size:10px;padding:8px}.moderation-actions button:last-child{background:#f6e4de}.toast{position:fixed;right:28px;bottom:25px;max-width:min(450px,calc(100vw - 40px));padding:14px 20px;border-radius:12px;background:var(--ink);color:white;font-size:12px;box-shadow:0 8px 30px #182f2b22;z-index:30;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}dialog{padding:33px;border:0;border-radius:23px;width:min(560px,calc(100% - 32px));max-height:85vh;color:var(--ink);box-shadow:0 30px 90px #0f292640}dialog::backdrop{background:#102b35aa;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:15px;top:12px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#eff1e7;font-size:25px}.dialog-kicker{font-size:10px;letter-spacing:1px;margin-bottom:15px;color:var(--muted)}dialog h2{font-size:27px;line-height:1.25;max-width:440px;padding-right:16px}dialog p{font-size:14px;color:#61705f;margin:17px 0}dialog .button{margin-top:7px}.detail-meta{padding:15px;border-radius:12px;background:#f3f2e5;font-size:12px;line-height:1.8}.mobile-note{display:none}.login-shell{max-width:1070px;margin:55px auto 40px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.login-story h1{font-size:clamp(38px,4.7vw,58px);line-height:1.05;letter-spacing:-2px;max-width:420px}.login-story h1 em{font-style:normal;background:var(--yellow);box-shadow:8px 0 var(--yellow),-5px 0 var(--yellow);border-radius:4px}.login-story p{color:var(--muted);font-size:14px;max-width:350px;margin-top:22px}.login-art{display:flex;gap:15px;margin-top:37px}.login-sticky{padding:21px 17px;background:#f5df83;border-radius:10px;width:125px;min-height:120px;transform:rotate(-6deg);font-size:27px;box-shadow:5px 8px 0 #23342a07}.login-sticky:nth-child(2){background:#e0e9db;transform:rotate(5deg);margin-top:20px}.login-sticky:nth-child(3){background:#f3b7a3;transform:rotate(-2deg)}.login-sticky strong{display:block;font-size:12px;margin-top:15px;line-height:1.5}.login-panel{background:white;padding:32px;border-radius:25px;border:1px solid var(--line);box-shadow:var(--shadow)}.login-panel h2{font-size:23px}.login-panel>p{font-size:12px;color:var(--muted);margin:12px 0 24px}.login-stages{display:grid;gap:10px;margin:24px 0}.login-stages a{border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13px;display:flex;justify-content:space-between}.login-stages a[aria-current]{border-color:#a6b598;background:#f0f4e8;font-weight:700}.login-panel .button{width:100%}.signup-disabled{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.signup-disabled h3{font-size:14px}.signup-disabled p{font-size:11px;color:var(--muted);margin:9px 0 15px}.signup-disabled .button{background:#edece4;color:#788271}.login-bottom{text-align:center;font-size:10px;color:var(--muted);margin:35px 20px}.login-bottom a{text-decoration:underline}.global-subtle{font-size:10px;color:var(--muted);margin-top:20px}.view-subtitle{font-size:12px;color:var(--muted);margin:9px 0 22px}
@media(min-width:1550px){main{padding:43px 47px}.board-grid{grid-template-columns:minmax(0,1fr) 310px;gap:32px}.meeting-hero{padding:32px;min-height:227px}.notice{min-height:195px}}
@media(max-width:1180px){.topbar{padding:20px 25px;gap:17px}.brand{min-width:185px;font-size:19px}.school-switch button{padding:9px 14px}.login-link>span:nth-child(2){display:none}.app-layout{grid-template-columns:195px 1fr}.sidebar{padding:29px 16px}.main-nav button{padding:12px 10px;gap:10px;font-size:12px}main{padding:30px 25px}.board-grid{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.meeting-hero{padding:25px;grid-template-columns:1fr 77px;gap:10px}.meeting-hero h2{font-size:24px}.date-tile{width:71px;height:96px}.date-tile strong{font-size:36px}.notice{padding:22px 13px 16px}.notice h3{font-size:13px}.side-card{padding:17px}.activity-card{padding:14px;gap:10px}.activity-card .activity-art{width:44px;height:56px;font-size:26px}.activity-card h3{font-size:12px}.profile-layout{grid-template-columns:1fr 230px}.split{grid-template-columns:205px 1fr}}
@media(max-width:980px){.board-grid{grid-template-columns:1fr}.board-side{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.side-card{margin:0}.side-card:first-child{grid-row:span 2}.board-side .side-card:last-child{grid-column:1 / -1}.photo-strip .photo-tile{max-width:100px}.profile-layout{grid-template-columns:1fr}.profile-layout>.side-card{display:none}.notices{gap:16px}.notice h3{font-size:15px}.notice{padding:24px 18px 18px;min-height:180px}.split{grid-template-columns:1fr}.chat-list{grid-template-columns:1fr 1fr}.chat-list button{padding:12px}.admin-layout{grid-template-columns:1fr}.directory-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.ideas-grid{grid-template-columns:1fr}.login-shell{gap:30px}.login-panel{padding:25px}}
@media(max-width:720px){.demo-ribbon{font-size:8px;height:25px;gap:6px}.demo-ribbon strong{font-size:8px}.topbar{padding:17px 18px 14px;flex-wrap:wrap;gap:17px 10px}.brand{font-size:20px;min-width:0;gap:10px}.brand-mark{width:39px;height:39px;font-size:37px;border-radius:12px}.brand small{font-size:10px;margin-top:3px}.brand-mark span{font-size:22px}.school-switch{order:3;flex-basis:100%;justify-content:center;border-radius:12px;padding:4px}.school-switch button{flex:1;padding:10px 5px;font-size:12px}.login-link{margin-left:auto}.login-link>span:nth-child(2){display:none}.app-layout{display:block}.sidebar{min-height:0;padding:0;border:0}.sidebar-label,.sidebar-note,.sidebar-foot,.admin-link{display:none}.main-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:9px 7px calc(9px + env(safe-area-inset-bottom));gap:3px;background:#fbfcf7f5;border-top:1px solid #d9dfd2;z-index:10;backdrop-filter:blur(15px)}.main-nav button{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 0 7px;font-size:9px;border-radius:11px;min-height:51px;white-space:nowrap}.main-nav button>span:first-child{font-size:20px;width:auto}.main-nav button[aria-current]{background:#e9eedf;color:var(--ink)}main{padding:27px 18px 114px}.page-heading{align-items:start;margin-bottom:22px}.page-heading h1{font-size:31px;letter-spacing:-1.25px}.page-heading p{font-size:11px;max-width:250px}.today-pill{display:none}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:8px}.meeting-hero{padding:23px 21px;min-height:215px;border-radius:19px;grid-template-columns:1fr 66px;gap:10px}.meeting-hero h2{font-size:24px;max-width:250px}.hero-tag{font-size:8px;margin-bottom:13px}.meeting-meta{font-size:10px;line-height:1.6;max-width:230px}.date-tile{width:64px;height:89px}.date-tile strong{font-size:34px}.date-tile span{font-size:8px}.date-tile small{font-size:7px}.hero-actions{gap:11px;margin-top:18px}.hero-actions small{font-size:8px}.button{font-size:11px;padding:10px 13px;min-height:41px}.section-heading{margin:25px 0 19px}.section-heading h2{font-size:18px}.notices{grid-template-columns:1fr 1fr;gap:15px 12px}.notice{min-height:181px;padding:24px 16px 17px}.notice:last-child{grid-column:1 / -1;min-height:138px;padding:20px;display:grid;grid-template-columns:37px 1fr;gap:3px 10px;align-items:center}.notice:last-child .notice-symbol{grid-row:span 3;margin:0;font-size:28px}.notice:last-child .category{margin:0}.notice:last-child .notice-bottom{padding-top:7px;grid-column:2}.notice h3{font-size:14px}.notice-symbol{font-size:24px;margin-bottom:13px}.activity-row{gap:11px}.activity-card{padding:15px 13px;display:block}.activity-card .activity-art{height:47px;width:47px;margin-bottom:13px}.activity-card small{font-size:8px}.activity-card h3{font-size:13px}.activity-card p{font-size:9px;line-height:1.6}.board-side{gap:12px}.side-card{padding:18px}.side-card h3{font-size:15px}.side-card p{font-size:10px}.side-card:first-child{grid-column:1 / -1;grid-row:auto}.event-mini{padding:12px 0}.event-mini h4{font-size:12px}.side-card.tint{grid-column:1 / -1}.board-side .side-card:last-child{grid-column:1 / -1}.avatar-stack{margin:15px 0 10px}.board-footer{font-size:8px}.mobile-note{display:block;position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));right:10px;font-size:7px;color:#667a5b;z-index:9;padding:3px 7px;background:#f4f7ed;border-radius:9px;pointer-events:none}.surface{padding:19px;border-radius:17px}.toolbar{gap:13px}.filter{width:100%;justify-content:space-between}.filter select{max-width:66%;font-size:11px}.calendar-grid{gap:4px}.calendar-day{padding:6px;min-height:68px;border-radius:7px}.calendar-day strong{font-size:10px}.calendar-event{font-size:7px;overflow-wrap:anywhere}.weekday{font-size:8px}.event-item{gap:12px;padding:15px;flex-wrap:wrap}.event-item .event-date{width:42px;height:51px}.event-item h3{font-size:13px}.event-item p{font-size:10px}.event-item .button{margin-left:54px}.idea-card{padding:20px;gap:14px}.idea-card h3{font-size:16px}.idea-symbol{font-size:29px}.chat-list{gap:8px}.chat-list button{padding:11px;font-size:10px;gap:8px}.chat-list .avatar{width:31px;height:31px;font-size:12px}.chat-compose{flex-wrap:wrap}.chat-compose select{width:100%;flex-basis:100%;font-size:12px}.chat-compose .button{width:100%}.form-grid{grid-template-columns:1fr}.directory-grid,.gallery-grid{grid-template-columns:1fr 1fr;gap:11px}.person-card{padding:18px 14px}.person-card h3{font-size:14px}.archive-art{height:110px;font-size:40px}.archive-card .archive-copy{padding:16px}.archive-card h3{font-size:13px}.gallery-grid .archive-card:last-child{grid-column:1 / -1}.toast{right:18px;bottom:105px;font-size:11px;padding:12px 15px;max-width:calc(100vw - 36px)}dialog{padding:27px 23px}dialog h2{font-size:23px}dialog p{font-size:13px}.login-shell{grid-template-columns:1fr;margin:34px auto;padding:0 22px;gap:30px}.login-story h1{font-size:40px;max-width:320px}.login-story p{font-size:12px;margin-top:17px}.login-art{display:none}.login-panel{padding:25px}.login-bottom{font-size:9px}.moderation-item{flex-wrap:wrap;gap:12px}.profile-layout{gap:0}}
.demo-ribbon{position:sticky;top:0;z-index:20}.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}.future-tag{font-size:8px;color:#687765;font-weight:400;margin-left:3px}.event-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.event-tags span{font-size:10px;background:#e9eee0;border-radius:7px;padding:5px 8px}.map-preview{width:100%;display:block;text-align:left;padding:0;border-radius:12px;overflow:hidden;background:#e8eddd;margin-top:15px}.map-preview svg{width:100%;height:95px}.map-preview>span{display:block;padding:9px 12px;font-size:10px;color:#60715d}.idea-pipeline{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:13px 16px;background:#ecefe3;border-radius:11px;font-size:10px;margin-bottom:21px}.idea-pipeline strong{color:#526e43}.elections-banner{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px;background:#f0e7cf;border:1px solid #e4d8b7;border-radius:16px;margin-top:22px}.elections-banner h3{font-size:15px}.elections-banner p{font-size:11px;color:#6f725f;margin-top:6px}.google-disabled{margin-top:12px}.login-panel h2{margin-top:14px}.school-scope{font-size:10px;padding:10px 13px;background:#f3ecd3;border-radius:9px;margin-bottom:18px;line-height:1.5}
@media(max-width:720px){.board-side .side-card{grid-column:1 / -1}.elections-banner{align-items:start;flex-direction:column}.school-switch button{font-size:11px}.future-tag{font-size:7px}.event-tags{gap:5px}.event-tags span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.composer-warning{padding:14px 17px;border:1px solid #e8d998;background:#fff2c7;border-radius:12px;color:#6b5830;font-size:11px;line-height:1.6;margin-bottom:22px}.composer-steps{display:flex;gap:21px;flex-wrap:wrap;font-size:11px;color:#74816a;margin-bottom:16px}.composer-steps strong{color:var(--ink)}.compose-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:23px}.compose-types button{min-height:86px;padding:15px 10px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;font-size:12px;font-weight:650}.compose-types button>span{font-size:23px;line-height:1}.compose-types button[aria-pressed=true]{background:var(--yellow);border-color:#b79c3a;box-shadow:0 3px 0 #c2a44325}.composer-fields{margin-top:25px}.field input,.field textarea{width:100%;max-width:100%;min-width:0;border:1px solid #d7ddcf;border-radius:10px;background:white;color:var(--ink);padding:11px 13px;font:inherit;font-weight:400;line-height:1.5}.field textarea{resize:vertical;min-height:100px}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:#b94435;box-shadow:0 0 0 1px #b94435}.field input:focus-visible,.field textarea:focus-visible{outline:3px solid #187268;outline-offset:3px}.composer-review{align-self:start}.add-demo{width:100%;margin:18px 0 11px}.preview-meta{font-size:12px;line-height:1.8;padding-left:18px;margin:15px 0;overflow-wrap:anywhere}.poll-options{font-size:13px;line-height:1.7;padding-left:23px;overflow-wrap:anywhere}.preline{white-space:pre-line;overflow-wrap:anywhere}.admin-preview h3,.notice h3,.event-item h3,.event-mini h4,dialog h2{overflow-wrap:anywhere}.admin-preview .category{font-size:10px;margin-top:0}.composer-review .empty{padding:25px 19px}.page-heading>.button{flex-shrink:0}.event-item>div{min-width:0}.side-title .text-button{font-size:10px}.composer-review+.surface{margin-top:20px}
@media(max-width:980px){.compose-types{gap:7px}.compose-types button{font-size:11px;padding:12px 7px}.admin-layout .surface{min-width:0}}
@media(max-width:720px){.page-heading{flex-wrap:wrap}.page-heading>.button{margin-top:3px}.compose-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compose-types button{min-height:77px;font-size:10px;gap:9px}.compose-types button:nth-child(4),.compose-types button:nth-child(5){grid-column:auto}.composer-steps{gap:8px;font-size:9px}.composer-warning{font-size:10px;padding:12px 14px}.composer-fields{margin-top:22px}.field input,.field textarea{font-size:16px}.admin-layout .side-title{align-items:start;gap:12px}.admin-layout .side-title h2{font-size:17px}.admin-layout .side-title .text-button{max-width:90px;line-height:1.5}.calendar-day .calendar-event{word-break:break-word}}
[hidden]{display:none!important}.demo-roles{display:flex;gap:4px;align-items:center;background:#e9ecdf;border:1px solid #dce2d3;border-radius:10px;padding:4px}.demo-roles button{background:none;border-radius:7px;padding:8px 9px;font-size:9px;font-weight:650;white-space:nowrap}.demo-roles button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #192d2510}.demo-role-label{font-size:7px;letter-spacing:.6px;max-width:38px;line-height:1.5;padding-left:3px;color:#75836a}.topbar:has(.demo-roles){gap:14px}.topbar:has(.demo-roles) .school-switch button{padding-left:13px;padding-right:13px}.topbar:has(.demo-roles) .login-link>span:nth-child(2){display:none}
@media(max-width:720px){.demo-roles{order:4;flex-basis:100%;justify-content:center;margin-top:-5px}.demo-roles button{font-size:10px;padding:9px 12px}.demo-role-label{font-size:8px;max-width:none;margin-right:5px}.topbar:has(.demo-roles){gap:15px 10px}}
/* Event detail refresh: deliberately scoped to this modal, never other dialogs. */
#detail-dialog:has(.event-detail){width:min(680px,calc(100% - 32px));max-height:min(88vh,900px);max-height:min(88dvh,900px);padding:0;border:1px solid #cbd9e1;border-radius:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:0 28px 100px #0c213954}
#detail-dialog:has(.event-detail)::backdrop{background:#0a1c33b8;backdrop-filter:blur(6px)}
#detail-dialog:has(.event-detail)>.dialog-close{right:15px;top:15px;width:38px;height:38px;z-index:2;color:#fff;background:#ffffff1f;border:1px solid #ffffff5c;font-size:25px;line-height:1}
#detail-dialog:has(.event-detail)>.dialog-close:hover{background:#ffffff38}
#detail-dialog:has(.event-detail) #dialog-status:empty{display:none}
#detail-dialog:has(.event-detail) #dialog-status:not(:empty){margin:0;padding:0 26px 22px;color:#295f69;font-size:13px}
.event-detail{padding:26px;overflow-wrap:anywhere}
.event-detail .event-detail-header{display:flex;align-items:flex-start;gap:20px;margin:-26px -26px 22px;padding:32px 67px 29px 26px;background:radial-gradient(ellipse at top left,#2d586a 0,transparent 65%),linear-gradient(130deg,#18354e,#102237);color:#fff}
.event-detail .event-date-badge{flex:0 0 70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:83px;padding:11px 7px;border:1px solid #f4e8bf;border-radius:15px;background:#fff1bb;color:#172c41;box-shadow:0 5px 15px #071a2520}
.event-detail .event-date-badge strong{font-size:31px;line-height:1;font-weight:800;letter-spacing:-1px}
.event-detail .event-date-badge span{font-size:10px;font-weight:750;letter-spacing:1px;text-transform:uppercase}
.event-detail .event-heading{min-width:0;flex:1}
.event-detail .event-kicker{margin:0 0 9px;color:#d1e3ec;font-size:10px;font-weight:650;letter-spacing:1px;line-height:1.6}
.event-detail h2.event-title{max-width:none;margin:0;padding:0;color:#fff;font-size:clamp(24px,4vw,31px);line-height:1.2;letter-spacing:-.7px}
.event-detail .event-tags{gap:7px;margin:0 0 18px}
.event-detail .event-tags span{padding:6px 10px;border:1px solid #d5e9e2;border-radius:30px;background:#e7f4ed;color:#245648;font-size:10px;font-weight:650;line-height:1.35}
.event-detail p.event-description{margin:0 0 22px;color:#415769;font-size:14px;line-height:1.75;white-space:pre-line}
.event-detail .event-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 20px}
.event-detail .event-info-cell{min-width:0;padding:15px 16px;border:1px solid #dde6eb;border-radius:13px;background:#f4f7f9}
.event-detail .info-label{display:block;margin-bottom:7px;color:#617484;font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.35px}
.event-detail .info-value{display:block;color:#1b3548;font-size:13px;font-weight:650;line-height:1.55;overflow-wrap:anywhere}
.event-detail .map-preview{margin:0 0 20px;border:1px solid #cfdde3;border-radius:15px;background:#f0f5f7;box-shadow:none}
.event-detail .map-preview svg{display:block;width:100%;height:116px}
.event-detail .map-preview>span{padding:12px 15px;color:#3e5b6c;font-size:11px;font-weight:600;line-height:1.55}
.event-detail .event-primary-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 24px}
.event-detail .event-primary-actions .button{flex:1 1 190px;min-height:46px;margin:0;border:1px solid #cbdbe2;border-radius:11px;padding:12px 16px;white-space:normal;text-align:center;line-height:1.45;font-size:12px}
.event-detail .event-primary-actions .button:first-child{background:#183a53;border-color:#183a53;color:#fff}
.event-detail .event-primary-actions .button.light{background:#fff;color:#28495b}
.event-detail .event-share-panel{padding:18px;border:1px solid #dce6ea;border-radius:15px;background:#f6f9fa}
.event-detail .event-share-panel h3{margin:0 0 12px;color:#294454;font-size:13px;line-height:1.5}
.event-detail .event-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.event-detail .event-share-actions .button{width:100%;min-height:44px;margin:0;padding:10px 11px;gap:8px;border:1px solid #d3e0e6;border-radius:10px;background:#fff;color:#29495b;white-space:normal;text-align:center;font-size:11px;line-height:1.4}
.event-detail .event-share-actions .button:hover{border-color:#789baa;background:#edf4f6}
.event-detail .event-share-actions [aria-hidden=true]{flex:0 0 auto;display:inline-grid;place-items:center;font-size:16px;line-height:1}
.event-detail p.event-demo-note{margin:17px 0 0;padding:11px 13px;border-left:3px solid #c5a958;border-radius:0 8px 8px 0;background:#fcf8ea;color:#705e2e;font-size:11px;line-height:1.7}
.event-detail :is(a,button):focus-visible,#detail-dialog:has(.event-detail)>.dialog-close:focus-visible{outline:3px solid #128276;outline-offset:4px;box-shadow:0 0 0 6px #fff}
@media(max-width:600px){#detail-dialog:has(.event-detail){width:calc(100% - 20px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);border-radius:19px}.event-detail{padding:20px}.event-detail .event-detail-header{gap:13px;margin:-20px -20px 20px;padding:26px 48px 24px 20px}.event-detail .event-date-badge{flex-basis:55px;min-height:70px;padding:9px 5px;border-radius:12px}.event-detail .event-date-badge strong{font-size:26px}.event-detail .event-date-badge span{font-size:9px}.event-detail h2.event-title{font-size:23px;letter-spacing:-.45px}.event-detail .event-kicker{font-size:8px;letter-spacing:.7px}.event-detail .event-info-grid{gap:9px}.event-detail .event-info-cell{padding:12px}.event-detail .info-value{font-size:12px}.event-detail .event-description{font-size:13px}.event-detail .event-share-panel{padding:14px}.event-detail .event-primary-actions{gap:9px;margin-bottom:20px}.event-detail .event-primary-actions .button{flex-basis:100%}.event-detail .event-share-actions{gap:8px}.event-detail .event-share-actions .button{padding:10px 7px;font-size:10px}.event-detail .map-preview svg{height:100px}#detail-dialog:has(.event-detail)>.dialog-close{width:33px;height:33px;top:11px;right:10px}#detail-dialog:has(.event-detail) #dialog-status:not(:empty){padding:0 20px 18px}}
@media(max-width:380px){.event-detail .event-info-grid{grid-template-columns:1fr}.event-detail .event-detail-header{flex-wrap:wrap}.event-detail .event-heading{flex-basis:100%}.event-detail .event-share-actions{grid-template-columns:1fr}}
/* Profile chooser refresh: only the dedicated login page. These are demo personas. */
.login-v4{min-height:100vh;background:radial-gradient(ellipse at 10% 25%,#e7f1ed 0,transparent 45%),#f3f6f8;color:#173147}
.login-v4 .topbar{background:#ffffffa8;border-bottom:1px solid #dae4e9}
.login-v4 .login-profile-shell{max-width:940px;margin:55px auto 35px;padding:0 26px}
.login-v4 .login-profile-intro{max-width:660px;margin:0 auto 31px;text-align:center}
.login-v4 .login-profile-intro h1{margin:12px 0 16px;color:#173147;font-size:clamp(32px,4.8vw,49px);line-height:1.14;letter-spacing:-1.5px}
.login-v4 .login-profile-intro p{max-width:580px;margin:0 auto;color:#5a7181;font-size:14px;line-height:1.75}
.login-v4 .login-profile-intro .eyebrow{color:#356a68;font-size:10px;letter-spacing:1.8px}
.login-v4 .login-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.login-v4 .login-profile-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #d4e1e5;border-radius:23px;background:#fff;color:#183a4b;text-decoration:none;box-shadow:0 10px 30px #193b4810;transition:border-color .15s,box-shadow .15s}
.login-v4 .login-profile-card:hover{border-color:#6e9f9c;box-shadow:0 14px 34px #193b4821}
.login-v4 .login-profile-card.is-admin{border-color:#24475e;background:linear-gradient(145deg,#25475b,#142d42);color:#f5f9fb}
.login-v4 .login-profile-card.is-admin:hover{border-color:#6a9eae;box-shadow:0 14px 34px #102b4233}
.login-v4 .login-profile-icon{display:inline-grid;place-items:center;align-self:flex-start;width:52px;height:52px;margin-bottom:19px;border-radius:15px;background:#e3f2ec;color:#276a5a;font-size:27px;line-height:1}
.login-v4 .is-admin .login-profile-icon{background:#ffffff17;color:#fbe6a0;border:1px solid #ffffff26}
.login-v4 .login-profile-card h2{margin:0 0 10px;font-size:27px;line-height:1.2;letter-spacing:-.6px;color:inherit}
.login-v4 .login-profile-card p,.login-v4 .login-profile-meta{margin:0 0 17px;color:#55707e;font-size:12px;line-height:1.75}
.login-v4 .is-admin p,.login-v4 .is-admin .login-profile-meta{color:#cbdde5}
.login-v4 .login-profile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-weight:600}
.login-v4 .login-profile-meta .demo-tag,.login-v4 .login-profile-card>.demo-tag{padding:4px 8px;border:1px solid #d3e3da;border-radius:20px;background:#f0f7f2;color:#3c6659;font-size:9px;letter-spacing:.4px}
.login-v4 .is-admin .demo-tag{border-color:#6b7d7e;background:#354e58;color:#ffecb0}
.login-v4 .login-profile-permissions{margin:2px 0 24px;padding-left:18px;color:#456777;font-size:12px;line-height:1.7}
.login-v4 .login-profile-permissions li{margin:0 0 7px;padding-left:3px}
.login-v4 .login-profile-permissions li::marker{color:#32816d}
.login-v4 .is-admin .login-profile-permissions{color:#d6e5eb}
.login-v4 .is-admin .login-profile-permissions li::marker{color:#e7ce7f}
.login-v4 .login-profile-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:14px 16px;border:1px solid #1f615f;border-radius:11px;background:#215f5e;color:#fff;font-size:12px;font-weight:700;line-height:1.45}
.login-v4 .is-admin .login-profile-action{border-color:#f6e3a4;background:#fbe9b1;color:#21394b}
.login-v4 .login-real-access{margin-top:23px;padding:17px 20px;border:1px solid #d4e0e6;border-radius:14px;background:#ffffff9e;color:#345469}
.login-v4 .login-real-access summary{cursor:pointer;font-size:12px;font-weight:650;line-height:1.65}
.login-v4 .login-real-access p{margin:14px 0;color:#5c7180;font-size:12px;line-height:1.7}
.login-v4 .login-closed-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.login-v4 .login-closed-options button{min-height:44px;margin:0;padding:11px 14px;border:1px solid #d5dee3;border-radius:10px;background:#eaf0f3;color:#657b89;font-size:11px;line-height:1.45;opacity:1;cursor:not-allowed}
.login-v4 .login-privacy-note{max-width:670px;margin:21px auto 0;color:#59717d;font-size:11px;text-align:center;line-height:1.75}
.login-v4 .login-profile-card:focus-visible,.login-v4 .login-real-access summary:focus-visible{outline:3px solid #147d73;outline-offset:5px;box-shadow:0 0 0 8px #fff}
@media(max-width:600px){.login-v4 .login-profile-shell{margin:32px auto 24px;padding:0 20px}.login-v4 .login-profile-intro{margin-bottom:24px}.login-v4 .login-profile-intro h1{font-size:33px;letter-spacing:-1px}.login-v4 .login-profile-intro p{font-size:12px}.login-v4 .login-profile-grid{grid-template-columns:1fr;gap:15px}.login-v4 .login-profile-card{padding:23px;border-radius:19px}.login-v4 .login-profile-icon{width:46px;height:46px;margin-bottom:15px;font-size:24px}.login-v4 .login-profile-card h2{font-size:25px}.login-v4 .login-profile-permissions{margin-bottom:18px}.login-v4 .login-profile-action{min-height:46px}.login-v4 .login-real-access{padding:15px 17px}.login-v4 .login-closed-options{grid-template-columns:1fr}.login-v4 .login-privacy-note{font-size:10px;text-align:left}}
