/* Generated by scripts/build-demo.cjs. Edit src/demo source files. */

/* Source: styles.css */
@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{font-family:Inter,Arial,sans-serif;color:#262236;--page-background:#fafafd;background:var(--page-background);font-synthesis:none;--ink:#262236;--muted:#686578;--purple:#5536f3;--green:#5536f3;--line:#e6e4ed;--radius:16px}
.publication-menu{position:relative;flex-shrink:0;z-index:2}.publication-menu[open]{z-index:10}.publication-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1rem;letter-spacing:2px;color:var(--muted)}.publication-menu summary::-webkit-details-marker{display:none}.publication-menu summary:hover,.publication-menu[open] summary{background:#f2efff;color:var(--purple)}.publication-menu-items{position:absolute;right:0;top:46px;min-width:190px;background:white;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 8px 30px #26223618}.publication-menu-items button{display:block;text-align:left;width:100%;min-height:44px;padding:10px 13px;font-size:.875rem;border-radius:7px}.publication-menu-items button:hover{background:#f5f3fc}.delete-action{color:#a33042}.button.danger{color:#a33042;border-color:#c47c86;background:white}.button.danger:hover{background:#fff2f4}.post-edited{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:12px}.publication-confirm-title{font-size:1.2rem;font-weight:700;line-height:1.5;margin-bottom:14px;overflow-wrap:anywhere}.trash-row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.trash-row>div{flex:1;min-width:0}.trash-row strong{display:block;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.trash-row small{display:block;font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:4px}.trash-empty{text-align:center;padding:18px 0 30px}.trash-empty>span{font-size:2.5rem;color:var(--purple);display:block;margin-bottom:16px}.trash-empty p{line-height:1.7}.trash-empty .form-note{margin-top:8px}#edit-publication-form .field{margin-top:20px}#posts .post-inner>p{white-space:pre-wrap}#trash-button span{font-size:.75rem;background:#f2efff;padding:2px 6px;border-radius:5px}
@media(max-width:640px){.post-meta:has(.publication-menu)>div{flex:1;min-width:0}.post-meta:has(.publication-menu) .tag{order:1;margin-left:40px}.post-meta:has(.publication-menu) .publication-menu{margin-left:auto}.trash-row{flex-wrap:wrap;gap:12px}.trash-row>div{flex-basis:100%}.trash-row .button{min-height:44px}}
*{box-sizing:border-box}body{margin:0;background:var(--page-background)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,p{margin:0}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9c8aff;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #967eff;outline-offset:2px}.skip{position:fixed;top:-60px;left:12px;background:white;padding:12px;z-index:100}.skip:focus{top:8px}
.app-header{max-width:1230px;margin:auto;padding:0 35px;height:var(--header-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.school-link{font-size:.875rem;font-weight:650;line-height:1.55;justify-self:start}.school-link span{display:block;color:var(--muted);font-size:.75rem;font-weight:400}.brand{font-size:1.85rem;font-weight:900;letter-spacing:-1.4px;color:var(--purple);white-space:nowrap;line-height:1.2}.brand>span{display:inline-block;color:var(--ink);background:#ffff70;padding:0 5px;margin-left:3px;border-radius:4px;transform:rotate(-7deg)}.profile-menu{position:relative;justify-self:end;z-index:40}.profile-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:600}.profile-menu summary::-webkit-details-marker{display:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:36px;height:36px;flex-shrink:0;font-size:.75rem;font-weight:700;background:#fff078;color:#443a15}.profile-avatar{width:40px;height:40px;border:2px solid #fff}.peach{background:#ffd8c1;color:#683c27}.lavender{background:#ded6ff;color:#49378a}.yellow-avatar{background:#fff078;color:#514119}.green-avatar{background:#bef5da;color:#1e5f46}.outline-avatar{background:white;border:1px solid var(--line);color:var(--muted)}.profile-sheet{position:absolute;right:0;top:55px;width:295px;border:1px solid var(--line);background:white;padding:22px;border-radius:18px;box-shadow:0 12px 50px #27224d20}.identity{display:flex;align-items:center;gap:11px}.identity strong{font-size:.875rem;display:block}.identity small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.profile-sheet>p{font-size:.875rem;line-height:1.5;margin:22px 0 12px}.role-switch{display:flex;gap:6px;padding:4px;background:#f2efff;border-radius:9px}.role-switch button{font-size:.875rem;padding:10px 12px;flex:1;min-height:44px;border-radius:7px}.role-switch button[aria-pressed=true]{background:white;color:var(--purple);font-weight:700;box-shadow:0 1px 4px #30265f12}.demo-badge{display:block;font-size:.75rem;color:var(--muted);margin-top:16px}
.main-nav{display:flex;align-items:center;justify-content:center;gap:36px;max-width:1050px;margin:0 auto 18px;height:46px}.nav-link{display:flex;align-items:center;gap:6px;font-size:.9375rem;font-weight:500;height:46px;border-bottom:2px solid transparent}.nav-link.active{color:var(--purple);border-bottom-color:var(--purple);font-weight:700}.count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:6px;color:var(--purple);background:#eae5ff;font-size:.75rem;font-weight:650}main{max-width:1050px;margin:0 auto;padding:0 0 20px;outline:none}.view{background:white;border-radius:27px;padding:31px 46px 38px;box-shadow:0 1px 3px #21205009,0 10px 40px #312d6505;min-height:530px}.page-heading{position:relative;text-align:center;padding:8px 100px 27px;min-height:136px}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.055em;line-height:1.6;color:var(--muted)}.date-line{display:flex;align-items:center;justify-content:center;gap:8px}.little-line{display:inline-block;width:16px;border-top:1px solid #aaa5bb}h1{font-size:2.8rem;letter-spacing:-1.4px;line-height:1.15;font-weight:800;margin:8px 0 11px}.page-heading p{font-size:.875rem;color:var(--muted);line-height:1.6}.page-heading>.button{position:absolute;right:0;top:41px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 17px;border:1px solid var(--purple);border-radius:30px;font-size:.875rem;font-weight:650;white-space:nowrap;line-height:1.35;transition:background .15s}.button:hover{background:#eeebff}.button.primary{background:white;color:var(--purple)}.button.secondary{background:white;color:var(--muted);border-color:#c7c3d1}.button.ink{background:white;color:#245c46;border-color:#9bceb8}.button.ink:hover{background:#e8faf0}.inline-count{font-size:.75rem;font-weight:700;background:#d8f4e5;padding:3px 6px;border-radius:5px;margin-left:3px}.journal-layout{display:block}.action-card{background:#e7faef;display:flex;align-items:center;gap:15px;padding:18px 20px;border-radius:11px;margin:0 0 31px;color:#194d36}.action-icon{display:flex;align-items:center;justify-content:center;width:34px;flex-shrink:0}.action-icon .icon{width:26px;height:26px}.action-copy{flex:1}.action-copy .eyebrow{color:#416f59;font-size:.75rem;letter-spacing:.02em}.action-copy h2{font-size:1rem;font-weight:700;line-height:1.5;margin:3px 0}.action-copy p{font-size:.875rem;line-height:1.5;color:#446650}.feed-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:3px}.feed-header h2{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.feed-header:after{content:'';height:2px;flex:1;background:linear-gradient(90deg,#0d85ff,#8a37fd);order:1;min-width:30px}.filters{display:flex;align-items:center;gap:2px;order:2}.filters button{font-size:.875rem;padding:9px 10px;color:var(--muted);border-radius:7px;min-height:40px}.filters button[aria-pressed=true]{color:var(--purple);font-weight:650;background:#f2efff}.filters button:hover{background:#f5f3fc}.post{padding:29px 0 26px;border-bottom:1px solid var(--line);margin:0}.post-inner{display:flex;flex-direction:column;align-items:stretch}.post h2{order:-1;font-size:1.65rem;font-weight:750;letter-spacing:-.65px;line-height:1.35;margin:0 0 16px}.post-meta{display:flex;align-items:center;gap:10px;margin-bottom:17px}.post-meta>div{flex:1}.post-meta strong{font-size:.875rem;font-weight:600;display:block}.post-meta small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.post-meta .avatar{width:34px;height:34px}.tag{font-size:.75rem;font-weight:600;line-height:1.35;padding:5px 7px;border-radius:4px;white-space:nowrap;letter-spacing:.01em;color:#555065;background:#f0edf5}.tag.green{color:#216248;background:#dff8eb}.tag.blue{color:#265abb;background:#e1edff}.tag.lilac{color:#6333ba;background:#efe3ff}.post p{font-size:1rem;line-height:1.75;max-width:780px;overflow-wrap:anywhere}.post-image{display:block;max-width:650px;width:100%;height:285px;object-fit:cover;margin:22px auto 0;border-radius:4px}.post-footer{display:flex;align-items:center;gap:22px;margin-top:15px;flex-wrap:wrap}.text-button{display:inline-flex;gap:6px;align-items:center;min-height:40px;padding:3px 0;font-size:.875rem;color:var(--muted)}.text-button:hover{color:var(--purple)}.text-button .icon{width:17px;height:17px}.thanks[aria-pressed=true]{color:var(--purple)}.seen{margin-left:auto;font-size:.75rem;display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.seen .icon{width:15px;height:15px}.attachment{display:flex;align-items:center;gap:12px;text-align:left;align-self:stretch;padding:14px 16px;margin-top:22px;border:1px solid var(--line);border-radius:9px;background:#fbfaff;max-width:500px}.attachment>span:nth-child(2){flex:1}.attachment strong{font-size:.875rem;display:block}.attachment small{display:block;font-size:.75rem;color:var(--muted);margin-top:6px;line-height:1.5}.file-symbol{width:36px;height:42px;display:flex;align-items:center;justify-content:center;background:#e7e3ff;color:var(--purple);border-radius:6px;flex-shrink:0}.poll{display:grid;gap:8px;max-width:640px;margin:20px 0 12px}.poll button{position:relative;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;background:#f6f4ff;border:1px solid #e2dcfa;border-radius:7px;padding:13px 15px;font-size:.875rem;overflow:hidden;isolation:isolate;min-height:45px}.poll button:before{content:'';position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--vote-percent,0%);background:#e5defe}.poll button[aria-pressed=true]{border-color:var(--purple);color:var(--purple)}.poll-meta{font-size:.75rem;color:var(--muted);line-height:1.6}.feed-end{color:var(--muted);font-size:.875rem;line-height:1.6;text-align:center;padding:29px 0}
.journal-aside{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:29px}.side-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.side-card h2,.calm-card h3{font-size:1rem;line-height:1.4;letter-spacing:-.2px;font-weight:700}.side-card-title .icon{color:#ab7200;width:19px;height:19px}.event-mini{display:flex;align-items:center;gap:12px;margin:20px 0}.date-square{display:flex;flex-direction:column;text-align:center;background:#ece8ff;color:var(--purple);border-radius:5px;width:45px;padding:5px 0;flex-shrink:0}.date-square span{font-size:.75rem;font-weight:650}.date-square strong{font-size:1.4rem;line-height:1.2;font-weight:750}.date-square.yellow{background:#fffbc6;color:#71622e}.event-mini>div:last-child strong{font-size:.875rem;display:block;line-height:1.5}.event-mini>div:last-child span{display:block;font-size:.875rem;color:var(--muted);margin-top:3px}.event-mini small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.plain-link,.calm-card a{color:var(--purple);font-size:.875rem;display:inline-flex;align-items:center;min-height:35px;text-decoration:underline;text-underline-offset:3px;padding:0}.family-card p{font-size:.875rem;line-height:1.6;margin:12px 0;color:var(--muted)}.avatar-stack{display:flex;margin:23px 0 14px;padding-left:0}.avatar-stack .avatar{width:32px;height:32px;border:2px solid white;margin-left:-5px;font-size:.75rem}.avatar-stack .avatar:first-child{margin-left:0}.progress{height:5px;background:#efedf5;border-radius:10px;margin:13px 0}.progress span{height:100%;display:block;background:#8b73ff;border-radius:10px}.calm-card>.icon{color:var(--purple);margin-bottom:14px;width:23px;height:23px}.calm-card p{font-size:.875rem;line-height:1.75;color:var(--muted);margin:12px 0 9px}.family-child{color:var(--ink)!important}.app-footer{padding:25px 10px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.75rem;line-height:1.7}.app-footer b{font-weight:400;margin:0 6px}.app-footer button{font-size:.75rem;text-decoration:underline;color:var(--muted)}.mobile-nav{display:none}
.message-workspace{display:block}.conversation-list h2{font-size:.8125rem;text-transform:uppercase;letter-spacing:.035em;display:flex;align-items:center;gap:8px;padding:10px 0 13px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#008aff,#8f3dff) 1}.conversation-row{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:22px 0;border-bottom:1px solid var(--line);position:relative;border-radius:0;min-height:92px}.conversation-row:hover{background:#f8f6ff}.conversation-row .avatar{width:42px;height:42px}.conversation-row>span:nth-child(2){flex:1;min-width:0}.conversation-row strong{display:block;font-size:1rem;line-height:1.5;font-weight:650}.conversation-row small{display:block;font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:4px}.conversation-row .topic{font-size:.75rem;margin-top:2px}.conversation-row.unread:before{content:'';position:absolute;left:-18px;top:38px;width:7px;height:7px;border-radius:50%;background:#f07b3f}.conversation-row .row-date{font-size:.75rem;color:var(--muted);align-self:flex-start;padding-top:4px;white-space:nowrap}.list-note{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.75rem;margin:22px 0 0}.list-note .icon{width:15px;height:15px}.conversation-heading{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.conversation-heading>div{flex:1}.conversation-heading h2{font-size:1rem;font-weight:650}.conversation-heading p{font-size:.875rem;color:var(--muted);margin-top:5px}.back-to-inbox{display:inline-flex;align-items:center;color:var(--purple);text-decoration:underline;text-underline-offset:3px;font-size:.875rem;min-height:44px;padding:0}.chat-body{display:flex;flex-direction:column;padding:15px 0}.chat-day{font-size:.75rem;color:var(--muted);text-align:center;margin:8px 0 13px}.bubble{border-bottom:1px solid var(--line);padding:23px 0;max-width:none;align-self:stretch}.bubble p{font-size:1rem;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.bubble small{display:block;font-size:.75rem;color:var(--muted);margin-top:12px}.message-form{background:#f8f6ff;border:1px solid #e4defc;padding:22px;border-radius:10px;margin-top:18px}.message-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:10px}.message-form textarea{min-height:105px;background:white}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px}.message-form .form-actions{justify-content:space-between}.form-note{font-size:.8125rem;line-height:1.65;color:var(--muted)}.message-form .form-note{max-width:360px;font-size:.75rem}.agenda-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:40px}.calendar-card{padding:18px 0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.calendar-heading h2{font-size:1.2rem;font-weight:700}.icon-button{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1}.icon-button:hover{background:#f4f0ff}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{font-size:.75rem;color:var(--muted);text-align:center;margin-bottom:12px}.calendar-grid button,.calendar-grid .empty-day{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:8px;font-size:.875rem}.calendar-grid button:hover{background:#f1edff}.calendar-grid .today{background:var(--purple);color:white;font-weight:650}.calendar-grid .event-day{background:#ffe3ef;color:#9b2856}.calendar-grid .selected-day{outline:2px solid var(--purple);outline-offset:-2px}.event-mark{width:4px;height:4px;background:#c04475;border-radius:50%}.calendar-key{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.calendar-key>span{width:10px;height:10px;background:#ffe3ef;border-radius:3px}.agenda-events{display:grid;align-content:start;gap:0}.event-card{padding:22px 0;border-bottom:1px solid var(--line)}.event-card .event-mini{margin:0 0 14px}.event-card p{font-size:.875rem;line-height:1.75;color:var(--muted)}.event-card .button{margin-top:16px;font-size:.875rem}.agenda-empty{padding:35px 22px;background:#f6f3ff;border-radius:10px;text-align:center}.agenda-empty h2{font-size:1.2rem;margin-bottom:12px}.agenda-empty p{font-size:.875rem;line-height:1.7;color:var(--muted)}.agenda-empty .button{margin-top:20px}.documents-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 18px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#008aff,#8f3dff) 1}.documents-heading h2{font-size:.875rem;font-weight:650}.document-row{display:flex;align-items:center;gap:15px;padding:26px 0;border-bottom:1px solid var(--line)}.document-row>div{flex:1;min-width:0}.document-row h3{font-size:1rem;font-weight:650;line-height:1.5}.document-row p{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:5px}.document-row:nth-child(2) .file-symbol{background:#ddebff;color:#286cd2}.document-row:nth-child(3) .file-symbol{background:#ffead7;color:#a56928}.document-row:nth-child(4) .file-symbol{background:#dff8e8;color:#377756}.document-row .file-symbol{width:40px;height:48px}.document-row .button{padding:8px 15px;min-height:40px}
dialog{border:0;border-radius:23px;padding:28px;max-width:580px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);box-shadow:0 20px 90px #27213c40;color:var(--ink)}dialog::backdrop{background:#231b4166;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:22px}.modal-heading h2{font-size:1.5rem;font-weight:750;letter-spacing:-.5px;line-height:1.3}.modal-copy{font-size:1rem;line-height:1.75}.form-fields{display:grid;gap:20px}.field label{font-size:.875rem;font-weight:600;display:block;margin-bottom:8px}input:not([type=radio]),textarea,select{width:100%;background:white;border:1px solid #cdc7dd;border-radius:7px;padding:11px 12px;color:var(--ink);font-size:1rem;line-height:1.6}textarea{resize:vertical;min-height:130px}.notice{background:#fffcc9;padding:14px 17px;border-radius:8px;font-size:.875rem;line-height:1.65;margin:18px 0}.consent-choice{display:flex;gap:12px;align-items:flex-start;padding:16px 0;font-size:1rem;line-height:1.65}.consent-choice input{width:20px;height:20px;flex-shrink:0;accent-color:var(--purple);margin-top:4px}.response-summary{display:flex;gap:18px;align-items:center;background:#e8faf0;border-radius:9px;padding:18px;margin-bottom:20px}.response-summary>strong{font-size:2.3rem;font-weight:800;color:#236549;white-space:nowrap}.response-summary p{font-size:.875rem;line-height:1.6}.response-list{max-height:350px;overflow:auto}.response-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem}.response-status{font-size:.75rem;color:#2f7754;white-space:nowrap}.response-status.pending{color:#856620}.family-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;font-size:.875rem}.family-row small{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.family-row .response-status{margin-left:auto}.comments{background:#faf9ff;padding:20px;border-radius:8px;margin-top:15px}.comment{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.comment strong{font-size:.875rem;font-weight:600}.comment p{font-size:.875rem;line-height:1.65;margin-top:7px;overflow-wrap:anywhere}.comment-form{display:flex;gap:12px;align-items:flex-end;margin-top:18px}.comment-form>div{flex:1;min-width:0}.comment-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}.comment-note{margin-top:13px}.new-post .post-inner p{white-space:pre-wrap;overflow-wrap:anywhere}.intro-modal p{font-size:1rem;line-height:1.75;margin:12px 0}.intro-modal ul{padding-left:20px;font-size:.875rem;line-height:1.9;color:var(--muted)}.document-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.9375rem;color:var(--ink);background:#f8f6ff;border:1px solid var(--line);padding:20px;border-radius:9px;max-height:430px;overflow:auto}.modal-footnote{margin-top:18px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);padding:14px 20px;background:#2c2350;color:white;border-radius:11px;box-shadow:0 6px 24px #29204430;font-size:.875rem;line-height:1.5;z-index:80;max-width:calc(100% - 32px);width:max-content}
@media(max-width:1100px){main{margin:0 24px}.app-header{padding:0 28px}.view{padding:30px 35px}.main-nav{margin-left:24px;margin-right:24px}.journal-aside{gap:22px}.agenda-layout{gap:28px}}
@media(max-width:800px){.school-link{font-size:.75rem}.app-header{padding:0 24px;gap:12px}.brand{font-size:1.6rem}.profile-menu summary>span:first-child{display:none}.view{padding:28px}.page-heading{padding-left:85px;padding-right:85px}h1{font-size:2.45rem}.page-heading p{font-size:.8125rem}.action-card{flex-wrap:wrap}.action-copy{min-width:260px}.action-card .button{margin-left:49px}.journal-aside{grid-template-columns:1fr 1fr}.calm-card{grid-column:1/-1;padding-top:12px}.calm-card>.icon{float:left;margin-right:12px;margin-bottom:0}.calm-card p{margin:10px 0 5px}.agenda-layout{grid-template-columns:1fr}.calendar-card{max-width:500px;width:100%;margin:auto}.post-image{height:270px}.feed-header{row-gap:8px}.feed-header:after{min-width:100px}.filters{flex-basis:100%;order:3}.filters button{padding-left:0;padding-right:14px;background:white!important}.filters button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}}
@media(max-width:640px){:root{--page-background:#f7f8fb;background:var(--page-background)}.app-header{height:var(--header-height);padding:0 20px;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #f0edf6}.school-link,.main-nav{display:none}.brand{justify-self:start;font-size:1.55rem;letter-spacing:-1.2px}.profile-avatar{width:37px;height:37px}.profile-sheet{top:49px;width:280px}.profile-sheet .identity .avatar{width:36px;height:36px}main{margin:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.view{border-radius:0;padding:24px 20px 28px;box-shadow:none;min-height:530px}.page-heading{text-align:left;padding:0 0 25px;min-height:116px}.page-heading>.button{top:27px;right:0;padding:8px 13px;font-size:.875rem;min-height:40px}.page-heading .eyebrow{font-size:.75rem;letter-spacing:.025em;line-height:1.7}.date-line{justify-content:flex-start;flex-wrap:wrap;gap:5px}.date-line .little-line{width:7px}h1{font-size:2rem;font-weight:800;letter-spacing:-.8px;margin:8px 0 11px;line-height:1.2}.page-heading p{font-size:.875rem;line-height:1.6;max-width:300px}.page-heading:has(.button) h1{padding-right:107px}.page-heading:has(.button) p{max-width:100%;padding-right:0}.action-card{display:grid;grid-template-columns:27px 1fr;gap:10px 12px;padding:16px;margin-bottom:25px;border-radius:9px}.action-icon{width:27px;align-self:start;margin-top:15px}.action-icon .icon{width:23px;height:23px}.action-copy{min-width:0}.action-copy h2{font-size:1rem;line-height:1.5}.action-copy p{font-size:.875rem;line-height:1.6}.action-copy .eyebrow{font-size:.75rem}.action-card .button{grid-column:2;justify-self:start;margin:2px 0 0;min-height:44px;font-size:.875rem}.feed-header h2{font-size:.75rem}.feed-header:after{min-width:30px}.filters button{min-height:44px;font-size:.875rem}.post{padding:23px 0 24px}.post h2{font-size:1.4rem;letter-spacing:-.45px;line-height:1.4;margin-bottom:14px}.post-meta{gap:8px;flex-wrap:wrap;margin-bottom:15px}.post-meta .tag{font-size:.75rem;max-width:155px;white-space:normal}.post-meta strong{font-size:.875rem}.post-meta small{font-size:.75rem;line-height:1.5}.post-meta .avatar{width:32px;height:32px}.post p{font-size:1rem;line-height:1.75}.post-image{height:auto;aspect-ratio:1.55;object-fit:cover;max-height:285px;margin-top:19px}.post-footer{gap:17px;margin-top:10px}.text-button{min-height:44px;font-size:.875rem}.seen{width:100%;margin:0;font-size:.75rem}.attachment{padding:12px;gap:9px}.attachment strong{line-height:1.5}.attachment small{font-size:.75rem}.attachment>.icon{width:17px;height:17px}.poll button{font-size:.875rem;line-height:1.6;padding:11px 13px}.feed-end{font-size:.875rem;padding:25px 0}.journal-aside{grid-template-columns:1fr;gap:30px;padding-top:26px}.side-card h2,.calm-card h3{font-size:1.1rem}.calm-card{grid-column:auto;padding:0}.calm-card>.icon{float:none;margin:0 0 12px}.event-mini{margin:18px 0}.plain-link,.calm-card a{min-height:44px}.avatar-stack{margin-top:18px}.app-footer{flex-direction:column;align-items:flex-start;padding:10px 20px 25px;gap:6px;font-size:.75rem}.app-footer button{min-height:44px;padding:0}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;padding:7px 6px max(7px,env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:25}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:52px;font-size:.75rem;color:var(--muted);border-radius:8px}.mobile-nav .icon{width:21px;height:21px}.mobile-nav a.active{color:var(--purple);font-weight:700}.toast{bottom:max(20px,env(safe-area-inset-bottom));font-size:.875rem}.conversation-row{padding:18px 0;gap:10px;align-items:flex-start}.conversation-row .avatar{width:36px;height:36px;margin-top:3px}.conversation-row strong{font-size:.9375rem;line-height:1.5}.conversation-row small{font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conversation-row .topic{font-size:.75rem}.conversation-row .row-date{font-size:.75rem;position:absolute;right:0;bottom:17px;background:white;padding-left:8px}.conversation-row>span:nth-child(2){padding-bottom:17px}.conversation-row.unread:before{left:-12px;top:31px;width:6px;height:6px}.conversation-heading .tag{display:none}.conversation-heading p{line-height:1.6}.message-form{padding:17px}.message-form .form-actions{flex-direction:column;align-items:flex-start}.message-form .form-note{font-size:.75rem}.bubble{padding:21px 0}.agenda-layout{gap:20px}.calendar-card{padding:7px 0 17px}.calendar-grid{gap:4px}.calendar-grid button,.calendar-grid .empty-day{height:44px}.calendar-weekdays{font-size:.75rem}.calendar-heading h2{font-size:1.125rem}.calendar-heading{margin-bottom:19px}.documents-heading{flex-wrap:wrap;align-items:flex-start;gap:9px}.documents-heading .tag{font-size:.75rem}.document-row{flex-wrap:wrap;gap:12px;padding:22px 0}.document-row>.button{margin-left:52px;min-height:44px}.document-row h3{font-size:.9375rem}.document-row p{font-size:.875rem;line-height:1.7}.document-row .file-symbol{width:40px;height:46px}.comment-form{flex-wrap:wrap}.comment-form>div{flex-basis:100%}.comment-form .button{min-height:44px}.comments{padding:16px}.comment .avatar{width:30px;height:30px}.comment p{font-size:.875rem}dialog{padding:22px;max-height:calc(100dvh - 30px)}.modal-heading h2{font-size:1.4rem}.modal-heading{gap:12px}.form-actions{flex-wrap:wrap}.button{min-height:44px}.response-row{align-items:flex-start}.response-status{white-space:normal;text-align:right}.response-summary>strong{font-size:1.9rem}.family-row .avatar{width:30px;height:30px}.document-content{padding:16px;font-size:.875rem}}
@media(max-width:360px){.app-header{padding:0 16px}.view{padding:23px 16px}.brand{font-size:1.4rem}.page-heading>.button{padding:8px 10px;font-size:.8125rem}.page-heading:has(.button) h1{font-size:1.85rem;padding-right:100px}.profile-sheet{width:270px}.post-meta .tag{margin-left:40px}.post-meta>div{flex-basis:calc(100% - 45px)}.filters button{font-size:.8125rem;padding-right:12px}.action-card{padding:14px 12px;gap:8px}.action-copy h2{font-size:.9375rem}.date-line{letter-spacing:0}.calendar-grid{gap:2px}.document-row>.button{margin-left:52px}.app-footer{padding-left:16px}.form-actions .button{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.row-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.conversation-open .page-heading{padding-left:0;padding-right:0}.conversation-open .page-heading h1{padding-right:0}.conversation-open .page-heading p{max-width:none}.conversation-open .page-heading:has(.button) h1{padding-right:0}
@media(max-width:640px){.row-preview{white-space:normal}.conversation-open .page-heading h1{font-size:1.85rem}.conversation-open .page-heading{min-height:0}.conversation-row .row-date{position:static;max-width:65px;white-space:normal;text-align:right;align-self:flex-start;line-height:1.5;padding-top:3px}.conversation-row>span:nth-child(2){padding-bottom:0}.conversation-row .row-preview{-webkit-line-clamp:2}}

.child-prompt{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;margin:0 0 24px;border:1px solid #ded6ff;border-radius:16px;background:#f2efff}.child-prompt[hidden]{display:none}.child-prompt-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#e4dcff;color:var(--purple)}.child-prompt-copy h2{font-size:1.0625rem;line-height:1.4;margin:0 0 4px}.child-prompt-copy p{font-size:.875rem;line-height:1.5;color:#625778;margin:0}.child-prompt .button{background:var(--purple);color:white}.child-prompt .button:hover{background:#4323d9}
@media(max-width:640px){.child-prompt{grid-template-columns:36px minmax(0,1fr);gap:10px 12px;padding:16px}.child-prompt-icon{width:36px;height:36px;align-self:start}.child-prompt .button{grid-column:2;justify-self:start;max-width:100%;white-space:normal}}
.staff-tools{justify-content:flex-start}.staff-tools>span{margin-left:auto}
@media(max-width:640px){.staff-tools{flex-wrap:wrap;gap:6px 20px}.staff-tools>span{flex-basis:100%;max-width:none;margin-left:0}.post-meta:has(.publication-menu){display:grid;grid-template-columns:32px minmax(0,1fr) 44px;column-gap:8px;row-gap:9px}.post-meta:has(.publication-menu)>div{grid-column:2;grid-row:1}.post-meta:has(.publication-menu) .tag{grid-column:2 / -1;justify-self:start;margin-left:0;max-width:none}.post-meta:has(.publication-menu) .publication-menu{grid-column:3;grid-row:1;margin-left:0}}


/* Source: family.css */
.context-bar{max-width:1050px;margin:0 auto 17px;display:flex;justify-content:space-between;align-items:center;gap:15px;position:relative;z-index:30}.children-switch{position:relative;min-width:330px}.children-switch summary{list-style:none;display:flex;align-items:center;gap:11px;cursor:pointer;padding:10px 13px;border:1px solid #ddd7f0;border-radius:11px;background:white;min-height:61px}.children-switch summary::-webkit-details-marker{display:none}.children-switch summary>span:nth-child(2){flex:1;min-width:0}.children-switch strong,.teacher-context strong{font-size:.9375rem;font-weight:650;display:block;line-height:1.4}.children-switch small,.teacher-context small{font-size:.75rem;color:var(--muted);display:block;line-height:1.6;margin-top:3px}.select-caret{width:8px;height:8px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:rotate(45deg);margin:0 4px 5px 8px}.context-options{position:absolute;left:0;right:0;top:70px;background:white;padding:8px;border-radius:15px;box-shadow:0 10px 40px #32215a26;border:1px solid var(--line);z-index:45}.context-options button{display:flex;width:100%;align-items:center;gap:11px;text-align:left;padding:13px 10px;border-radius:8px;min-height:67px}.context-options button>span:nth-child(2){flex:1;min-width:0}.context-options button:hover,.context-options button[aria-pressed=true]{background:#f3efff}.context-options button>.icon{color:var(--purple);width:17px;height:17px}.context-hint{color:var(--muted);font-size:.875rem;margin-right:5px}.teacher-context{display:flex;align-items:center;gap:10px;padding:8px 3px;width:100%;min-height:60px}.teacher-context>span:nth-child(2){flex:1}.teacher-context .plain-link{padding-left:12px}.post-meta small{line-height:1.5}.context-options .avatar{width:33px;height:33px}.context-bar .avatar{border:2px solid white}
@media(max-width:1100px){.context-bar{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.context-bar{margin:16px 20px 0;display:block;z-index:30}.children-switch{min-width:0;width:100%}.children-switch summary{padding:11px 12px;min-height:67px}.children-switch small{font-size:.75rem}.context-options{top:76px}.context-hint{display:none}.teacher-context{flex-wrap:wrap;padding:0}.teacher-context small{max-width:220px}.teacher-context .plain-link{width:100%;padding-left:45px;font-size:.875rem}.context-bar:has(.teacher-context:not([hidden])){margin-bottom:0}.view{padding-top:24px}.post-meta small{font-size:.75rem}.post-meta .tag{max-width:135px}}
@media(max-width:360px){.context-bar{margin:14px 16px 0}.children-switch small{max-width:210px}.context-options button{padding-left:7px;padding-right:7px}.context-options small{font-size:.75rem}.context-hint{display:none}}
.photo-tag{background:#fff1d8;color:#875017}.photo-album{margin-top:22px}.photo-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:5px;aspect-ratio:1.9;border-radius:10px;overflow:hidden;background:#eeeaf5}.photo-tile{position:relative;min-width:0;min-height:0;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center;background:#eeebf5}.photo-tile:first-child{grid-row:span 2}.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .15s}.photo-tile:hover img{filter:brightness(.92)}.photo-grid.count-1{display:block;aspect-ratio:1.8;max-width:850px}.photo-grid.count-1 .photo-tile{width:100%;height:100%}.photo-grid.count-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr;aspect-ratio:1.8}.photo-grid.count-2 .photo-tile:first-child{grid-row:auto}.photo-tile:focus-visible{outline:3px solid var(--purple);outline-offset:-4px;z-index:2}.more-photos{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#22133075;color:white;font-weight:700;font-size:1.125rem}.photo-loading{padding:15px;font-size:.875rem;color:var(--muted);line-height:1.6}.album-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}.album-caption small{font-size:.75rem;color:var(--muted);line-height:1.6}.album-caption .plain-link{font-size:.875rem;text-decoration:none;font-weight:600;min-height:44px}.post-inner p:empty{display:none}.feed-empty{padding:40px 20px;text-align:center;background:#f6f3ff;border-radius:9px;color:var(--muted);font-size:1rem;line-height:1.7;margin:25px 0}.photo-viewer{width:calc(100% - 40px);max-width:1100px;padding:23px 27px;background:#211933;color:white;border-radius:18px;max-height:calc(100dvh - 28px)}.photo-viewer::backdrop{background:#100c20cf;backdrop-filter:blur(8px)}.photo-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.photo-viewer-heading h2{font-size:1.25rem;line-height:1.4;font-weight:700;letter-spacing:-.3px}.photo-viewer-heading p{font-size:.8125rem;color:#cec6df;line-height:1.6;margin-top:5px}.photo-close{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #726580;flex-shrink:0;color:white}.photo-close:hover{background:#ffffff18}.photo-viewer figure{margin:0}.photo-stage{min-height:190px;height:min(62vh,590px);display:flex;align-items:center;justify-content:center;background:#110d1c;border-radius:5px;overflow:hidden;touch-action:pan-y}.photo-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.photo-stage p{font-size:1rem;line-height:1.6;padding:20px;text-align:center;color:#ded6e9}.photo-viewer figcaption{font-size:.875rem;line-height:1.6;text-align:center;color:#e7deef;padding:15px 0 5px;min-height:43px}.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.photo-viewer-controls button{color:white;border:1px solid #7a6a8d;border-radius:25px;padding:9px 18px;font-size:.875rem;min-height:44px}.photo-viewer-controls button:disabled{opacity:.35}.photo-viewer-controls span{font-size:.875rem;font-weight:600}.photo-thumbnails{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding-top:14px}.photo-thumbnails button{width:32px;height:32px;border:1px solid #645776;border-radius:7px;font-size:.75rem;color:#e6dced}.photo-thumbnails button[aria-pressed=true]{color:#2c1b41;background:#fff078;border-color:#fff078;font-weight:700}.composer-audience{padding:14px 16px;background:#effaed;border-radius:8px;line-height:1.6}.composer-audience strong{display:block;font-size:.875rem;color:#335d35}.composer-audience span{display:block;color:#577559;font-size:.8125rem;margin-top:3px}.optional-label{font-size:.75rem;font-weight:400;color:var(--muted);margin-left:5px}.photo-upload{position:relative;display:grid;gap:10px}.photo-upload label{justify-self:start;cursor:pointer}.photo-upload input{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0;top:15px;left:15px}.photo-upload:has(input:focus-visible) label{outline:3px solid #9c8aff;outline-offset:4px}.photo-upload #composer-photo-count{font-size:.8125rem;color:var(--muted);line-height:1.5}.composer-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.photo-preview{position:relative;aspect-ratio:1.15;border-radius:7px;overflow:hidden;background:#efecf5}.photo-preview img{width:100%;height:100%;display:block;object-fit:cover}.photo-preview button{position:absolute;right:5px;top:5px;background:white;color:#422c64;border-radius:50%;display:flex;align-items:center;justify-content:center;width:28px;height:28px;box-shadow:0 1px 5px #170b3430}.photo-preview button .icon{width:16px;height:16px}.photo-preview>span{position:absolute;left:5px;bottom:5px;border-radius:4px;background:#24123999;color:white;padding:3px 6px;font-size:.75rem}.form-error{padding:13px 16px;background:#ffe8e5;color:#a52f28;font-size:.875rem;line-height:1.6;border-radius:8px}
@media(max-width:800px){.filters{flex-basis:100%;order:3}.feed-header:after{order:1}.filters button{padding-right:15px}}
@media(max-width:640px){.photo-album{margin-top:18px}.photo-grid{aspect-ratio:1.35;grid-template-columns:1.5fr 1fr;gap:3px;border-radius:7px}.photo-grid.count-1,.photo-grid.count-2{aspect-ratio:1.45}.album-caption{align-items:flex-start;flex-direction:column;gap:0}.album-caption .plain-link{min-height:44px}.album-caption small{font-size:.75rem}.filters{gap:0;flex-wrap:wrap}.filters button{font-size:.875rem;padding-right:14px}.photo-viewer{width:calc(100% - 18px);padding:17px 14px;border-radius:13px;max-height:calc(100dvh - 18px)}.photo-viewer-heading h2{font-size:1.125rem}.photo-viewer-heading{gap:12px;margin-bottom:16px}.photo-viewer-heading p{font-size:.75rem}.photo-stage{height:48dvh;min-height:180px}.photo-viewer figcaption{font-size:.875rem;padding-top:12px}.photo-viewer-controls button{padding:9px 12px}.photo-thumbnails{padding-top:13px}.photo-thumbnails button{width:36px;height:36px}.composer-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-preview button{width:32px;height:32px}.optional-label{display:block;margin:4px 0 0}.composer-audience{padding:13px}.photo-grid.count-2 .photo-tile:first-child{grid-row:auto}}
@media(max-width:360px){.filters button{font-size:.8125rem;padding-right:11px}.photo-viewer-controls button{font-size:.8125rem;padding:9px 10px}.photo-viewer-heading h2{font-size:1rem}.photo-stage{height:43dvh}.photo-grid{aspect-ratio:1.15}}


/* Source: communications.css */
.role-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.role-switch button{padding:9px 7px;font-size:.875rem}.director-context{display:flex;gap:12px;align-items:center;width:100%}.director-context>div{flex:1}.director-context strong{display:block;font-size:.9375rem;line-height:1.5}.director-context label{display:block;font-size:.875rem;color:var(--muted);line-height:1.6}.director-context select{max-width:310px;background:white;font-size:.9375rem;border-color:var(--line)}.staff-tools{display:flex;align-items:center;gap:18px;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 16px;margin:0 0 22px}.staff-tools>span{font-size:.875rem;color:var(--muted);line-height:1.6}.staff-tools .plain-link{font-size:.9375rem;min-height:44px;text-decoration:none}.staff-tools #draft-count{background:#efeaff;padding:3px 8px;border-radius:6px;margin-left:5px;font-size:.875rem}.request-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:18px}.request-footer p{font-size:.9375rem;color:var(--muted);line-height:1.6;margin:0}.request-footer .button{flex-shrink:0}.request-audience{font-size:.875rem;line-height:1.6;color:var(--muted);margin-bottom:14px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.child-answer,.audience-picker{border:1px solid var(--line);padding:15px 18px 9px;border-radius:9px;min-width:0;margin:15px 0}.child-answer legend,.audience-picker legend{font-size:1rem;font-weight:650;padding:0 5px}.child-answer legend small{font-size:.875rem;font-weight:400;color:var(--muted);margin-left:5px}.child-answer .consent-choice{padding:10px 0}.check-label{display:flex;align-items:center;gap:10px;line-height:1.6;font-size:1rem;padding:9px 0;cursor:pointer}.check-label input[type=checkbox],.check-label input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--purple);padding:0}.class-choices{display:flex;flex-wrap:wrap;gap:0 22px;padding:6px 14px;border:1px solid var(--line);border-radius:7px;margin:8px 0}.audience-summary{font-size:.875rem;line-height:1.6;color:var(--purple);padding:12px 0 7px;overflow-wrap:anywhere}.audience-picker{margin:0;background:white}.request-fields{display:grid;gap:20px;padding:19px;border:1px solid var(--line);border-radius:9px;background:#fcfbff}.request-fields textarea{min-height:110px}.follow-filters{display:grid;gap:9px;margin-bottom:12px}.follow-filters>label:not(.check-label){display:grid;gap:7px;font-size:.875rem;font-weight:600}.response-row>span:first-child{min-width:0}.response-row small{display:block;color:var(--muted);font-size:.875rem;line-height:1.6;margin-top:3px}.response-status{font-size:.875rem;white-space:normal;max-width:48%;text-align:right;line-height:1.6;overflow-wrap:anywhere}.follow-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.follow-actions .button{font-size:.875rem;min-height:44px}.deadline-edit{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.deadline-edit label{font-size:.875rem;font-weight:600}.deadline-edit input{width:180px;max-width:100%;font-size:.9375rem}.deadline-edit .plain-link{font-size:.875rem;min-height:44px}.draft-list{display:grid}.draft-row{display:block;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:20px 0;line-height:1.6}.draft-row strong{display:block;font-size:1rem;font-weight:650}.draft-row small{display:block;font-size:.875rem;color:var(--muted);margin:5px 0}.draft-row>span{font-size:.875rem;color:var(--purple)}.draft-row:hover strong{color:var(--purple)}.composer-preview{line-height:1.7}.composer-preview h3{font-size:1.65rem;font-weight:750;letter-spacing:-.4px;line-height:1.4;margin:14px 0}.composer-preview>p:not(.preview-label):not(.request-audience){font-size:1rem;margin-bottom:18px}.preview-label{font-size:.875rem;font-weight:650;letter-spacing:.03em;color:var(--purple);border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.preview-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.preview-photos img{width:100%;height:160px;object-fit:cover;border-radius:6px}.preview-question{border:1px solid var(--line);border-radius:9px;padding:17px;margin-top:18px;line-height:1.7}.preview-question p{margin-top:10px}.empty-follow{padding:30px 10px;font-size:1rem;color:var(--muted)}.action-copy small{display:block;font-size:.875rem;line-height:1.6;margin-top:6px}#compose-form>.form-actions{margin-top:25px;gap:10px;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--line)}#compose-form>.form-actions .button{font-size:.875rem;min-height:44px}body[data-view-role=director] .mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.director-context{flex-wrap:wrap;gap:10px}.director-context select{max-width:none;width:100%;margin-left:0}.staff-tools{align-items:flex-start;gap:12px;padding-bottom:10px}.staff-tools>span{max-width:145px;font-size:.875rem}.request-footer{flex-direction:column;align-items:flex-start;gap:12px}.request-footer p{font-size:.9375rem}.child-answer,.audience-picker{padding:13px 13px 8px}.request-fields{padding:15px}.class-choices{padding:5px 10px;gap:0 14px}.follow-actions{display:grid;grid-template-columns:1fr;width:100%}.follow-actions .button{width:100%;justify-content:center}.response-summary{align-items:flex-start;gap:13px;padding:15px}.response-summary p{font-size:.875rem;overflow-wrap:anywhere}.deadline-edit{gap:8px}.deadline-edit label{flex-basis:100%}.preview-photos img{height:120px}.composer-preview h3{font-size:1.4rem}.role-switch button{font-size:.875rem;padding:10px 6px}.response-row{gap:10px}.response-status{max-width:45%}.check-label{font-size:.9375rem}#compose-form>.form-actions{display:grid;grid-template-columns:1fr}#compose-form>.form-actions .button{width:100%;justify-content:center}}


/* Source: compose.css */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.compose-back{display:none}
body[data-composing=true]{background:var(--page-background)}
body[data-composing=true] .main-nav,body[data-composing=true] .context-bar,body[data-composing=true] .mobile-nav,body[data-composing=true] .app-footer,body[data-composing=true] .school-link{display:none}
body[data-composing=true] .app-header{max-width:1250px;height:var(--header-height);padding:0 32px}
body[data-composing=true] .compose-back{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:5px;padding:8px 16px;min-height:44px;border-radius:30px;background:#adfae5;font-size:1rem;color:#262236}
.compose-back .icon{width:19px;height:19px;stroke-width:2.4}
.compose-back>span{white-space:nowrap}
body[data-composing=true] #main{max-width:1120px;padding:0 24px 32px;margin:0 auto}
.compose-page{padding:48px 54px 30px;min-height:calc(100dvh - 112px);border-radius:30px;background:white;box-shadow:0 6px 40px #27233e08}
#compose-form{display:flex;flex-direction:column;min-height:calc(100dvh - 190px)}
.compose-heading{position:relative;display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:28px}
.compose-heading h1{margin:0;padding:0;font-size:1.35rem;font-weight:750;letter-spacing:-.35px;line-height:1.5;outline:none}
.compose-heading select{width:auto;max-width:100%;border:0;background:white;color:var(--muted);font-size:.875rem;font-weight:500;padding:7px 26px 7px 9px;min-height:38px;border-radius:7px}
.compose-heading select:hover{background:#f5f3fc}
.compose-fields{display:flex;flex-direction:column;flex:1}
.compose-line{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid #dddce5;min-height:56px;padding:15px 0}
.compose-line .line-label{font-size:1rem;font-weight:400;min-width:48px;flex-shrink:0;line-height:1.7}
.compose-line #post-title{border:0;border-radius:0;background:white;padding:0;min-height:26px;line-height:1.7;font-size:1rem;width:100%;color:var(--ink);min-width:0}
.compose-line #post-title::placeholder{color:#92909f}
.compose-recipients{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 20px;flex:1;min-width:0}
#audience-summary{font-size:1rem;line-height:1.7;color:var(--ink);overflow-wrap:anywhere;flex:1}
.recipient-settings{flex:0 1 auto;font-size:.875rem}
.recipient-settings summary{cursor:pointer;min-height:34px;color:var(--purple);display:flex;align-items:center;line-height:1.6;text-decoration:underline;text-underline-offset:4px;list-style:none}
.recipient-settings summary::-webkit-details-marker{display:none}
.recipient-settings[open]{flex-basis:100%}
.recipient-settings .audience-picker{margin:12px 0 4px;background:#fff;border:1px solid var(--line);padding:13px 17px}
.recipient-settings .class-choices{margin-bottom:4px;gap:0 22px;background:#fcfbff}
.compose-fields #post-body{border:0;background:white;border-radius:0;padding:25px 0 15px;min-height:260px;flex:1;resize:vertical;font-size:1.05rem;line-height:1.8;color:var(--ink);width:100%;outline-offset:6px}
.compose-fields #post-body::placeholder{color:#858192}
.compose-page .request-fields{margin:5px 0 22px;background:white;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:18px 25px;padding:22px;border-color:#e7e4ef}
.compose-page .request-fields .form-note{grid-column:1 / -1;margin:0}
.compose-page .request-fields #options-field{grid-column:1 / -1;grid-row:2}
.compose-page .field label{font-size:.9375rem}
.compose-page .field input,.compose-page .field textarea,.compose-page .field select{font-size:1rem}
.compose-photo-area{margin:0 0 18px}
.compose-photo-area #composer-photo-count{font-size:.875rem;color:var(--muted);line-height:1.7;margin-bottom:10px}
.compose-page .composer-previews{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.compose-page .photo-preview button{width:36px;height:36px}
.compose-page #compose-form>.compose-actions{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;border:0;margin:12px 0 0;padding:0}
.compose-page .compose-actions .button{font-size:.9375rem;min-height:44px;padding:10px 20px;font-weight:500}
.compose-page #compose-form>.compose-actions .button{width:auto}
.compose-page .compose-actions .button.primary{background:#0877ee;border-color:#0877ee;color:white}
.compose-page .compose-actions .button.primary:hover{background:#0068d9;border-color:#0068d9}
.compose-page .compose-actions .button.secondary{border-color:#dcdae4;color:var(--muted);background:white}
.compose-page .compose-actions .plain-link{font-size:.9375rem;font-weight:500;min-height:44px;text-decoration:none;margin-left:auto}
.compose-photo-control{position:relative}
.compose-photo-control #post-photos{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;padding:0;border:0;left:15px;top:20px}
.compose-photo-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;color:var(--muted);font-size:.9375rem}
.compose-photo-button:hover{color:var(--purple)}
.compose-photo-control:has(input:focus-visible) .compose-photo-button{outline:3px solid #9c8aff;outline-offset:3px}
.compose-footnote{font-size:.75rem;color:#8b8799;line-height:1.8;margin-top:24px}
.compose-footnote span{padding:0 5px}
.compose-page .composer-preview{flex:1;padding-bottom:30px;min-height:350px;outline:none}
.compose-page .composer-preview .preview-label{font-size:.875rem;line-height:1.7}
.compose-page .composer-preview .preview-photos{max-width:650px}
.compose-page .form-error{margin:8px 0 15px}
@media(max-width:800px){.compose-page{padding:35px 32px 28px}.compose-page .composer-previews{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){body[data-composing=true]{background:var(--page-background)}body[data-composing=true] .app-header{height:var(--header-height);padding:0 16px;grid-template-columns:auto 1fr auto;gap:8px;border:0}body[data-composing=true] .brand{font-size:1.1rem;letter-spacing:-.7px;justify-self:center}body[data-composing=true] #profile-role-label{display:none}body[data-composing=true] .compose-back{font-size:.875rem;padding:8px 12px}body[data-composing=true] #main{padding:0;margin:0}.compose-page{padding:25px 20px 25px;border-radius:0;box-shadow:none;min-height:calc(100dvh - var(--header-height))}#compose-form{min-height:calc(100dvh - var(--header-height) - 50px)}.compose-heading{gap:8px;margin-bottom:20px}.compose-heading h1{font-size:1.2rem}.compose-heading select{font-size:.875rem;min-height:44px}.compose-line{gap:12px;padding:13px 0;min-height:56px}.compose-line .line-label{min-width:40px;font-size:1rem}.compose-line #post-title,#audience-summary{font-size:1rem}.compose-recipients{gap:5px 12px}#audience-summary{flex-basis:100%}.recipient-settings{flex-basis:100%}.recipient-settings summary{min-height:44px}.compose-fields #post-body{min-height:230px;font-size:1rem;padding-top:22px}.compose-page .request-fields{grid-template-columns:1fr;padding:17px;gap:18px}.compose-page .request-fields #options-field{grid-row:auto}.compose-page .request-fields .field{grid-column:1 / -1}.compose-page #compose-form>.compose-actions{display:flex;gap:8px 10px;margin-top:12px}.compose-page .compose-actions .button{font-size:.875rem;padding:10px 15px;width:auto}.compose-page .compose-actions .plain-link{margin-left:auto;font-size:.875rem}.compose-photo-button{font-size:.875rem;padding-left:0}.compose-page .composer-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compose-page .composer-preview{min-height:300px}.compose-footnote{font-size:.75rem;margin-top:20px}.compose-footnote span{padding:0 2px}body[data-composing=true] .toast{bottom:18px}}
@media(max-width:360px){.compose-page{padding-left:16px;padding-right:16px}.compose-page .compose-actions .button{padding-left:13px;padding-right:13px}.compose-page .compose-actions .plain-link{font-size:.875rem}}
@media(max-width:360px){body[data-composing=true] .brand{font-size:1rem}body[data-composing=true] .compose-back{padding-left:8px;padding-right:10px;gap:4px}.compose-back .icon{width:18px;height:18px}}


/* Source: journal.css */
body[data-page=journal]{background:var(--page-background)}
body[data-page=journal] #main{max-width:1120px;width:calc(100% - 64px);padding:0 12px 28px}
#view-journal{background:transparent;box-shadow:none;border-radius:0;padding:15px 0 0}
#view-journal .page-heading{padding-top:5px;padding-bottom:25px}
#view-journal .staff-tools{justify-content:flex-start;gap:22px;border-bottom:0;margin:0 0 18px;padding-bottom:0}
#view-journal .staff-tools>span{margin-left:auto}
#view-journal #requests-needed{margin-bottom:24px}
#view-journal .action-card{background:#ecfaf3;border:1px solid #dcefe4;border-radius:18px;margin-bottom:12px}
.request-post-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.request-post-link:hover{color:var(--purple);text-decoration-color:currentColor}
#view-journal .bubble-up{padding:0 8px 8px}
.bubble-heading{display:flex;align-items:center;gap:12px}
.bubble-heading h2{display:flex;align-items:center;gap:8px;font-size:.8125rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.bubble-heading h2 .icon{width:20px;height:20px;color:#5336f3}
.bubble-heading:after{content:none}
.bubble-count{order:1;flex-shrink:0;border:1px solid #ddd5ff;border-radius:30px;padding:5px 11px;font-size:.75rem;color:#5435d6;background:#faf8ff}
.bubble-intro{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:8px 0 9px}
.bubble-list{background:white;border-radius:17px;overflow:hidden;border:1px solid #eeedf5}
.bubble-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:14px;padding:20px 22px}
.bubble-row+.bubble-row{border-top:1px solid #efedf5}
.bubble-row>.avatar{width:36px;height:36px;margin-top:20px;font-size:.75rem}
.bubble-copy{min-width:0}
.bubble-label{display:block;font-size:.625rem;font-weight:700;letter-spacing:.065em;color:#6644bf;line-height:1.5}
.bubble-copy h3{font-size:1.0625rem;line-height:1.45;letter-spacing:-.12px;font-weight:650;margin:2px 0 3px;overflow-wrap:anywhere}
.bubble-author{font-size:.75rem;line-height:1.6;color:var(--muted)}
.bubble-children{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px}
.bubble-child{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;line-height:1.6}
.bubble-child.waiting{color:#5631b1;font-weight:600}
.bubble-child.waiting:before{content:'';width:6px;height:6px;border-radius:100%;background:#7950e8;flex-shrink:0}
.bubble-child.answered{color:#547362}
.bubble-child.answered .icon{width:13px;height:13px}
.bubble-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;align-self:center;gap:10px;min-width:135px}
.bubble-date{font-size:.75rem;color:var(--muted);line-height:1.5;white-space:nowrap}
.button.bubble-reply{border:1px solid #e0d8ff;background:#f4f0ff;color:#5335c0;font-size:.8125rem;min-height:40px;padding:8px 13px}
.button.bubble-reply:hover{background:#eae2ff;border-color:#c9b9ff}
.bubble-reply .icon{transform:rotate(180deg);width:15px;height:15px}
@media(max-width:640px){#view-journal .bubble-up{padding:0 4px 6px}.bubble-heading{gap:7px}.bubble-heading h2{font-size:.75rem;gap:5px}.bubble-heading h2 .icon{width:17px;height:17px}.bubble-count{font-size:.6875rem;padding:4px 8px}.bubble-intro{font-size:.75rem;margin:8px 0 12px}.bubble-row{grid-template-columns:29px minmax(0,1fr);gap:9px 11px;padding:17px 14px}.bubble-row>.avatar{width:29px;height:29px;margin-top:19px;font-size:.625rem}.bubble-copy h3{font-size:1rem}.bubble-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;min-width:0;width:100%;margin-top:2px}.bubble-date{font-size:.6875rem;white-space:normal}.button.bubble-reply{margin-left:auto;min-height:42px}.bubble-children{gap:4px 10px;margin-top:6px}}
#view-journal .feed-header{margin:0 0 22px}
#view-journal .feed-header:after{background:#e8e5f1;height:1px}
#posts{display:grid;gap:32px}
#posts .post{position:relative;padding:0;margin:0;border:0;min-width:0;scroll-margin-top:25px}
#posts .post-body{position:relative;min-width:0}
#posts .post-card{background:white;border:1px solid #efedf4;border-radius:26px;padding:37px 96px 35px 42px;min-height:280px;box-shadow:0 6px 35px #29244206}
#posts .post:not(.has-actions) .post-card{padding-right:42px;min-height:0}
#posts .post h2{font-size:1.65rem;font-weight:750;line-height:1.4;letter-spacing:-.45px;margin-bottom:15px}
#posts .post-meta{margin-bottom:23px;gap:10px}
#posts .post-meta>div{min-width:0}
#posts .post-meta .tag{margin-left:8px;align-self:flex-start}
#posts .post p{max-width:none;font-size:1rem;line-height:1.8}
#posts .post-card .post-image{max-width:100%;height:auto;max-height:370px;object-fit:cover;border-radius:10px}
#posts .post-footer{margin-top:20px;gap:0}
#posts .post-footer:empty,#posts .album-caption:empty{display:none}
#posts .seen{margin-left:0;line-height:1.6;color:#868092}
#posts .request-footer{padding-top:22px}
#posts .request-footer p{font-size:.9375rem;color:var(--muted)}
#posts .album-caption{margin-top:9px}
#posts .comments{margin-top:25px;background:#fbfaff;border:1px solid #ede8fb;border-radius:14px;padding:20px}
#posts .post-actions{position:absolute;right:-27px;bottom:27px;width:88px;display:flex;flex-direction:column;gap:8px;align-items:stretch;z-index:5}
#posts .post:has(.publication-menu[open]){z-index:12}
#posts .rail-action,#posts .publication-menu summary{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-height:67px;padding:10px 6px;border-radius:13px;border:1px solid transparent;background:#f0f7fd;color:#24383b;font-size:.75rem;font-weight:500;line-height:1.45;text-align:center;text-decoration:none;white-space:normal;margin:0;letter-spacing:0;cursor:pointer}
#posts .rail-action:hover,#posts .publication-menu summary:hover{background:#e7f0fb;color:#2b25a5}
#posts .rail-action[aria-pressed=true]{background:#e7ddff;color:var(--purple);border-color:#d4c5ff}
#posts .rail-action .icon{width:21px;height:21px;stroke-width:1.7}
#posts .rail-action>span{max-width:100%;overflow-wrap:anywhere}
#posts .rail-action.primary{background:#e8f5ef;border-color:#d5ebdf;color:#216248}
#posts .publication-menu{position:relative;width:100%;margin:0;z-index:6}
#posts .publication-menu[open] summary{background:#e7e7ff;color:#3b32d2}
#posts .more-dots{font-size:1.05rem;line-height:21px;letter-spacing:2px;margin-left:2px}
#posts .publication-menu-items{position:absolute;right:0;top:auto;bottom:calc(100% + 10px);min-width:0;width:284px;max-width:calc(100vw - 30px);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:linear-gradient(135deg,#0877e8,#5035ed);color:white;border:0;border-radius:18px;box-shadow:0 12px 35px #35279933}
#posts .publication-menu-items button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:95px;padding:13px 8px;background:#ffffff12;color:white;border-radius:11px;font-size:.875rem;line-height:1.45}
#posts .publication-menu-items button:hover{background:#ffffff28}
#posts .publication-menu-items button .icon{width:24px;height:24px}
#posts .publication-menu-items button:focus-visible{outline-color:#fff078;outline-offset:-3px}
#view-journal .journal-aside{margin-top:5px;padding:29px 10px 0}
@media(max-width:800px){#posts .post-card{padding:30px 79px 30px 30px}#posts .post-actions{width:76px;right:-22px}#posts .post-meta{flex-wrap:wrap}#posts .post-meta .tag{margin-left:44px}#posts .post-meta>div{flex-basis:calc(100% - 46px)}}
@media(max-width:640px){body[data-page=journal]{background:var(--page-background)}body[data-page=journal] #main{width:100%;padding:0 12px 78px}#view-journal{padding:25px 0 0}#view-journal .page-heading{padding-left:6px;padding-right:6px;padding-bottom:24px}#view-journal .page-heading>.button{right:6px}#view-journal .staff-tools{padding:0 6px;gap:6px 22px;margin-bottom:18px;flex-wrap:wrap}#view-journal .staff-tools>span{flex-basis:100%;max-width:none;margin-left:0}#view-journal #requests-needed{margin-bottom:23px}#view-journal .action-card{padding:16px 14px;border-radius:16px}#view-journal .feed-header{padding:0 6px;margin-bottom:17px}#posts{gap:24px}#posts .post{background:white;border:1px solid #ecebf2;border-radius:19px;box-shadow:0 5px 22px #29244204}#posts .post-card{border:0;box-shadow:none;border-radius:19px;padding:24px 18px 13px;min-height:0}#posts .post:not(.has-actions) .post-card{padding:24px 18px}#posts .post h2{font-size:1.35rem;line-height:1.4;letter-spacing:-.35px;margin-bottom:15px}#posts .post-meta{gap:8px;flex-wrap:wrap;margin-bottom:20px}#posts .post-meta>div{flex-basis:calc(100% - 42px)}#posts .post-meta .tag{margin-left:40px;max-width:none}#posts .post p{line-height:1.8;font-size:1rem}#posts .post-card .post-image{margin-top:20px;max-height:280px}#posts .post-actions{position:relative;inset:auto;width:auto;display:flex;flex-direction:row;gap:7px;align-items:stretch;padding:10px 18px 20px}#posts .rail-action,#posts .publication-menu{flex:1;min-width:0;width:auto}#posts .rail-action,#posts .publication-menu summary{min-height:67px;padding:9px 4px;font-size:.75rem;border-radius:11px;white-space:normal}#posts .publication-menu summary{width:100%;height:100%}#posts .publication-menu-items{right:0;width:276px;max-width:calc(100vw - 46px)}#posts .publication-menu-items button{font-size:.875rem;padding:13px 9px;min-height:98px}#posts .request-footer{padding-top:18px}#posts .post-footer{margin-top:16px}#posts .comments{padding:16px;margin-top:20px}#view-journal .journal-aside{padding:26px 6px 0;margin-top:0}.context-bar{margin-bottom:0}}
@media(max-width:360px){body[data-page=journal] #main{padding-left:8px;padding-right:8px}#posts .post-card{padding-left:16px;padding-right:16px}#posts .post-actions{padding-left:12px;padding-right:12px;gap:5px}#posts .rail-action,#posts .publication-menu summary{min-height:69px;padding-left:3px;padding-right:3px;font-size:.75rem}#posts .publication-menu-items{max-width:calc(100vw - 36px)}#posts .post h2{font-size:1.3rem}}


/* Source: scheduling.css */
.send-split{position:relative;display:inline-flex;align-items:stretch;flex-shrink:0}
.compose-page #compose-form>.compose-actions{justify-content:flex-start}
.compose-page .send-split .send-main{border-radius:28px 0 0 28px;padding-right:9px}
.compose-page .send-split .send-toggle{border-radius:0 28px 28px 0;width:40px;padding:9px 12px 9px 4px}
.send-toggle .icon{width:20px;height:20px}
.send-menu{position:absolute;left:0;bottom:calc(100% + 12px);z-index:20;width:330px;max-width:calc(100vw - 40px);padding:19px;border-radius:25px;background:linear-gradient(130deg,#0877ee,#5130f5);color:white;box-shadow:0 10px 30px #29339b26}
.send-menu p{font-size:.75rem;font-weight:650;line-height:1.7;padding:2px 8px 8px;color:#d6ecff}
.send-menu button{display:flex;gap:10px;align-items:center;width:100%;min-height:48px;text-align:left;padding:10px 13px;border-radius:10px;background:#ffffff10;color:white;font-size:.9375rem;line-height:1.6}
.send-menu button:hover{background:#ffffff26}
.send-menu button:focus-visible{outline-color:#fff078;outline-offset:2px}
.schedule-fields{margin:5px 0 17px;padding:19px 22px 20px;border:1px solid #dbe5f3;border-radius:17px;background:#f9fcff;min-width:0}
.schedule-fields legend{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:650;padding:0 8px;color:#29374e}
.schedule-inputs{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;max-width:480px}
.schedule-inputs label{display:grid;gap:8px;font-size:.9375rem;line-height:1.6}
.schedule-inputs input{width:100%;min-width:0;font-size:1rem;background:white;min-height:48px}
.schedule-details{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 18px;margin-top:9px}
.schedule-details p{font-size:.875rem;color:#656e82;line-height:1.7}
.schedule-details .plain-link{min-height:44px;font-size:.875rem}
.schedule-fields>.form-note{font-size:.875rem;line-height:1.7;margin:8px 0 0;color:#656e82}
#scheduled-count{background:#efeaff;padding:3px 8px;border-radius:6px;margin-left:5px;font-size:.875rem}
.scheduled-page .page-heading{padding-bottom:18px}
.scheduled-back{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;margin-bottom:15px}
.schedule-note{font-size:.9375rem;color:var(--muted);line-height:1.8;max-width:760px;margin-bottom:27px}
#scheduled-list{display:grid;gap:22px}
.scheduled-card{padding:25px 28px;border:1px solid #e6e5ed;border-radius:19px;background:white}
.scheduled-date{display:flex;align-items:center;gap:9px;color:#306784;font-size:.9375rem;line-height:1.7;margin-bottom:14px}
.scheduled-date strong{font-weight:600}
.scheduled-card h2{font-size:1.4rem;line-height:1.5;letter-spacing:-.35px;margin-bottom:10px;overflow-wrap:anywhere}
.scheduled-card>.pre-wrap{font-size:1rem;line-height:1.8}
.scheduled-card>.form-note{margin-top:15px}
.scheduled-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.scheduled-card-actions .button,.scheduled-card-actions .plain-link{min-height:44px;font-size:.9375rem}
.schedule-warning{padding:13px 15px;border-radius:10px;background:#fff4c1;font-size:.9375rem;line-height:1.7;margin-top:16px}
.scheduled-empty{text-align:center;padding:45px 20px 55px;border:1px solid #ecebf3;border-radius:19px}
.scheduled-empty>.icon{width:32px;height:32px;color:#4b58c4;margin-bottom:14px}
.scheduled-empty h2{font-size:1.35rem;line-height:1.5;margin-bottom:12px}
.scheduled-empty p{font-size:1rem;line-height:1.8;max-width:420px;margin:0 auto 23px;color:var(--muted)}
@media(max-width:640px){.compose-page .send-split .send-main{padding-left:16px;padding-right:6px}.compose-page .send-split .send-toggle{padding-left:3px;padding-right:10px;width:36px}.send-menu{width:290px;max-width:calc(100vw - 40px);border-radius:21px;padding:16px}.schedule-fields{padding:16px 14px;margin-bottom:16px}.schedule-inputs{gap:12px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.schedule-details{align-items:flex-start;gap:0}.schedule-details p{flex-basis:100%}.schedule-fields>.form-note{margin-top:5px}.scheduled-page .page-heading h1{font-size:1.8rem}.scheduled-card{padding:21px 18px}.scheduled-date{align-items:flex-start}.scheduled-card-actions{gap:8px 16px}.scheduled-card-actions .plain-link{padding:5px 0;text-align:left}.scheduled-empty{padding:32px 16px}.scheduled-page .page-heading{padding-bottom:12px}}
@media(max-width:420px){.schedule-inputs{grid-template-columns:minmax(0,1fr);gap:15px}}


/* Source: messages.css */
body[data-page=messages]{background:var(--page-background)}
body[data-page=messages] #main{max-width:1120px;width:calc(100% - 64px)}
#view-messages{box-shadow:0 4px 30px #24412d05;border:1px solid #e9eeea;border-radius:20px;padding:26px 36px 34px}
#view-messages .page-heading{min-height:0;padding-top:4px;padding-bottom:28px}
#view-messages .conversation-list{padding:0 8px}
#view-messages .conversation-row{padding:20px 10px;border-color:#eeece8;border-radius:6px;gap:13px}
#view-messages .conversation-row.unread:before{left:-6px;background:#8e6be6}
#view-messages .conversation-row:hover{background:#faf8f4}
#view-messages .conversation-row .avatar{border:3px solid white;width:43px;height:43px}
#view-messages .conversation-row .row-preview{max-width:780px}
#view-messages.conversation-open{padding:0;overflow:hidden}
#view-messages.conversation-open .page-heading{display:none}
#conversation-panel{display:flex;flex-direction:column;height:clamp(480px,calc(100dvh - 180px),900px)}
.conversation-toolbar{display:flex;align-items:center;gap:16px;padding:12px 22px;border-bottom:1px solid #eeede9;flex-shrink:0}
#view-messages .back-to-inbox{display:inline-flex;align-items:center;gap:5px;background:#dff9ef;color:#214c3c;border-radius:30px;text-decoration:none;min-height:36px;padding:7px 12px;font-size:.8125rem;white-space:nowrap}
.back-to-inbox .icon{width:16px;height:16px;stroke-width:2.2}
#view-messages .back-to-inbox:hover{background:#cef4e4}
.chat-class{font-size:.75rem;color:#787b78;line-height:1.5}
.chat-private{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:.75rem;color:#647467;white-space:nowrap}
.chat-private .icon{width:14px;height:14px}
#view-messages .conversation-heading{border:0;padding:22px 38px 12px;flex-shrink:0}
#view-messages .conversation-heading h2{font-size:1.35rem;font-weight:700;letter-spacing:-.35px;line-height:1.45;overflow-wrap:anywhere}
#view-messages .conversation-heading p{font-size:.8125rem;line-height:1.6;color:#787878;margin-top:5px}
.conversation-heading p strong{font-weight:500;color:#56575a}
#view-messages .chat-body{padding:0 38px 24px;gap:14px;overflow-y:auto;overscroll-behavior:contain;min-height:130px;flex:1;scroll-padding:20px;scrollbar-width:thin;scrollbar-color:#ddd9d3 transparent}
#view-messages .chat-day{display:flex;align-items:center;justify-content:center;gap:12px;color:#94908b;font-size:.6875rem;margin:12px 0 3px;line-height:1.5}
.chat-day:before,.chat-day:after{content:'';width:35px;height:1px;background:#eeebe6}
.chat-message{display:flex;align-items:flex-start;gap:11px;max-width:90%;flex-shrink:0}
.chat-message>.avatar{width:34px;height:34px;flex-shrink:0;border:3px solid white;box-shadow:0 0 0 1px #eeece8;margin-top:3px;font-size:.6875rem}
#view-messages .bubble{border:0;border-radius:4px 12px 12px;background:#faf7f2;padding:10px 15px 12px;max-width:100%;min-width:0;align-self:flex-start}
.chat-message-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-bottom:3px;line-height:1.5}
.chat-message-meta strong{font-size:.75rem;font-weight:700;color:#343e40}
.chat-message-meta time{font-size:.6875rem;color:#82807b}
.chat-you{font-size:.625rem;color:#8a867f;padding:0 4px;border:1px solid #e7e2d9;border-radius:4px;line-height:1.5}
#view-messages .bubble p{font-size:.9375rem;line-height:1.65;color:#344045;white-space:pre-wrap;overflow-wrap:anywhere}
#view-messages .message-form{border:0;border-radius:0;background:white;padding:15px 38px 18px;margin:0;flex-shrink:0}
.chat-compose-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.chat-compose-box{border:1px solid #dadeda;border-radius:9px;padding:12px 14px 9px;background:white}
.chat-compose-box:focus-within{border-color:#a3bcad;box-shadow:0 0 0 2px #edf5f0}
#view-messages .message-form textarea{display:block;border:0;outline:none;background:white;min-height:48px;max-height:145px;resize:vertical;padding:0;width:100%;font-size:.9375rem;line-height:1.6;color:#344045}
#view-messages .message-form textarea::placeholder{color:#949690}
.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.chat-recipient{display:flex;align-items:center;gap:5px;font-size:.6875rem;color:#93938c;min-width:0;overflow-wrap:anywhere}
.chat-recipient .icon{width:12px;height:12px}
.chat-compose-actions .button.primary{min-height:36px;padding:7px 13px;border-radius:7px;background:#eaf5ee;border-color:#d5e7dc;color:#305f43;font-size:.75rem}
.chat-compose-actions .button.primary:hover{background:#dceddf}
.chat-compose-actions .icon{width:15px;height:15px}
.message-draft-preview{font-weight:650;color:#735016}
#view-messages .message-draft-status{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:8px}
#view-messages .message-draft-status[data-failed=true]{color:#a12c39}
#view-messages .message-form .form-note{font-size:.625rem;line-height:1.5;max-width:none;margin-top:8px;color:#98988f}
#view-messages .message-form .form-error{margin-top:10px;font-size:.8125rem;padding:10px 12px}
@media(max-width:800px){.chat-class{max-width:260px}.chat-message{max-width:100%}#view-messages .conversation-heading{padding-left:25px;padding-right:25px}#view-messages .chat-body{padding-left:25px;padding-right:25px}#view-messages .message-form{padding-left:25px;padding-right:25px}}
@media(max-width:640px){body[data-page=messages] #main{width:100%;padding:18px 12px 24px}#view-messages{padding:18px 16px 26px;border-radius:16px}#view-messages .page-heading{padding-bottom:23px}#view-messages .conversation-list{padding:0 2px}#view-messages .conversation-row{padding:17px 4px;gap:10px}#view-messages .conversation-row strong{font-size:.9375rem}#view-messages .conversation-row .avatar{width:37px;height:37px}#view-messages .conversation-row .row-preview{font-size:.8125rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#view-messages .conversation-row.unread:before{left:-8px;top:36px}#conversation-panel{height:auto;min-height:calc(100dvh - 116px);max-height:none}.conversation-toolbar{padding:10px 13px;gap:8px;flex-wrap:wrap}.chat-class{order:2;width:100%;max-width:none;font-size:.6875rem;padding:0 3px}.chat-private{font-size:.625rem}#view-messages .back-to-inbox{min-height:40px;padding:7px 11px;font-size:.75rem}#view-messages .conversation-heading{padding:18px 17px 9px}#view-messages .conversation-heading h2{font-size:1.1875rem;line-height:1.4}#view-messages .conversation-heading p{font-size:.75rem}#view-messages .chat-body{overflow:visible;min-height:100px;padding:0 14px 22px;gap:14px}#view-messages .chat-day{margin:12px 0 3px}.chat-message{gap:8px}.chat-message>.avatar{width:29px;height:29px;border-width:2px;font-size:.625rem}#view-messages .bubble{padding:9px 11px 11px;border-radius:4px 10px 10px}#view-messages .bubble p{font-size:.875rem;line-height:1.7}.chat-message-meta strong{font-size:.6875rem}.chat-message-meta time{font-size:.625rem}#view-messages .message-form{padding:11px 14px 15px}.chat-compose-box{padding:11px 12px 8px}#view-messages .message-form textarea{font-size:1rem;min-height:56px}.chat-compose-actions .button.primary{min-height:42px;padding:8px 13px;font-size:.8125rem}#view-messages .message-form .form-note{font-size:.625rem;max-width:280px}.chat-recipient{font-size:.6875rem}}
@media(max-width:640px){body[data-page=messages]:has(.conversation-open) .app-footer{display:none}#view-messages.conversation-open #conversation-panel{height:calc(100dvh - 116px);min-height:0}#view-messages.conversation-open .chat-body{overflow-y:auto;min-height:95px}}
@media(max-width:640px) and (max-height:700px){body[data-page=messages] #main{padding-top:6px}#view-messages.conversation-open #conversation-panel{height:calc(100dvh - 104px);min-height:0}#view-messages .conversation-heading{padding:10px 14px 5px}#view-messages .conversation-heading h2{font-size:1rem}#view-messages .conversation-heading p{font-size:.6875rem;margin-top:2px}#view-messages .chat-body{min-height:40px}#view-messages .message-form{padding:8px 12px 10px}#view-messages .message-form textarea{height:38px;min-height:38px;max-height:85px}.chat-compose-box{padding:8px 10px}.conversation-toolbar{padding:7px 12px}}
@media(max-width:640px) and (max-height:520px){#view-messages .conversation-heading{display:none}#view-messages .chat-body{min-height:25px}.chat-compose-actions .button.primary{min-height:38px}.chat-private{font-size:.625rem}}
@media(max-width:640px) and (max-height:700px){#view-messages.conversation-open .chat-body{min-height:40px}}
@media(max-width:640px) and (max-height:520px){#view-messages.conversation-open .chat-body{min-height:25px}}
@media(max-width:360px){body[data-page=messages] #main{padding-left:8px;padding-right:8px}#view-messages .conversation-heading{padding-left:14px;padding-right:14px}#view-messages .chat-body{padding-left:11px;padding-right:11px}.chat-message{gap:7px}.chat-message>.avatar{width:26px;height:26px}#view-messages .bubble{padding-left:10px;padding-right:10px}}


/* Source: navigation.css */
:root{--header-height:60px}
html{scroll-padding-top:calc(var(--header-height) + 8px)}
.app-header{position:sticky;top:0;z-index:70;background:var(--page-background);border-bottom:0}
@media(max-width:640px){:root{--header-height:56px}}
.brand-navigation{position:relative;justify-self:center;z-index:70;min-width:0}
.profile-display{display:flex;align-items:center;gap:10px;justify-self:end;font-size:.875rem;font-weight:600}
.site-menu-account{padding:17px 20px;border-top:1px solid #edeaf1}.site-menu-account>strong{font-size:.875rem;line-height:1.5}.site-menu-account>p{font-size:.75rem;line-height:1.6;color:var(--muted);margin-top:3px}.site-menu-account .site-menu-role-label{font-size:.8125rem;margin:14px 0 7px}.site-menu-account .role-switch button{border:1px solid #e5e1ea;border-radius:8px;min-height:44px;font-size:.8125rem}.site-menu-account .role-switch button[aria-pressed=true]{background:#f0ecff;border-color:#d2c7ff;color:var(--purple);font-weight:650}.site-menu-account .role-switch button:hover{background:#f7f4ff}
.brand-navigation .brand{display:flex;align-items:center;justify-content:center;padding:4px 0;min-height:44px}
.brand .brand-caret{width:15px;height:15px;stroke-width:2;margin-left:10px;color:#786b9a;transition:transform .15s}
.brand[aria-expanded=true] .brand-caret{transform:rotate(180deg)}
.site-menu{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);width:480px;max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto;overscroll-behavior:contain;background:white;color:var(--ink);border:1px solid #e8e5ec;border-radius:19px;box-shadow:0 3px 8px #29203810,0 20px 60px #29203820;text-align:left;scrollbar-width:thin}
.site-menu-top{position:sticky;top:0;display:flex;align-items:center;gap:11px;padding:17px 20px;background:white;border-bottom:1px solid #edeaf1;z-index:1;border-radius:19px 19px 0 0}
.site-menu-emblem{display:flex;align-items:center;justify-content:center;width:35px;height:35px;flex-shrink:0;background:#eee9ff;border-radius:10px;color:#5536f3;font-size:1.6rem;font-weight:900;letter-spacing:-2px}
.site-menu-emblem>span{font-size:1.1rem;color:#4a4160;background:#fff078;border-radius:3px;line-height:1.1;margin:7px 0 0 2px;padding:0 2px;transform:rotate(-8deg);letter-spacing:0}
.site-menu-top>div{flex:1;min-width:0}.site-menu-top h2{font-size:.9375rem;line-height:1.5;font-weight:700}.site-menu-top p{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:2px}
#site-menu-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#8b8596;flex-shrink:0}#site-menu-close:hover{background:#f5f3fa;color:var(--ink)}#site-menu-close .icon{width:17px;height:17px}
.site-menu-section{padding:7px 14px 12px}.site-menu-section+.site-menu-section{border-top:1px solid #f0edf4}.site-menu-section h3{font-size:.75rem;color:#706577;font-weight:600;line-height:1.5;margin:4px 6px 7px}
.site-menu-entry{display:flex;align-items:center;gap:11px;width:100%;text-align:left;min-height:51px;padding:9px 10px;border-radius:9px;margin:2px 0}
.site-menu-entry:hover{background:#f7f5fb}.site-menu-entry.current{background:#eef5fd}.site-menu-entry .avatar{width:30px;height:30px;font-size:.6875rem}.site-menu-symbol{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:#87769f;background:#f3eff8;border-radius:9px}.site-menu-symbol .icon{width:17px;height:17px}
.site-menu-entry-copy{min-width:0;flex:1}.site-menu-entry strong{display:block;font-size:.875rem;font-weight:550;line-height:1.4}.site-menu-entry small{display:block;color:#706577;font-size:.75rem;line-height:1.5;margin-top:2px}.site-menu-entry>.icon{width:15px;height:15px;color:#5973b1}.site-menu-count{font-size:.75rem;color:#706577;background:#f2eff5;border-radius:5px;padding:3px 6px;min-width:20px;text-align:center}
.site-menu-shortcuts{padding-top:16px}.site-menu-shortcuts h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-menu-shortcuts .site-menu-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px}.site-menu-shortcuts .site-menu-entry{display:flex;flex-direction:column;gap:7px;min-height:77px;padding:12px 5px;background:#f7f7f9;text-align:center}.site-menu-shortcuts .site-menu-entry:hover{background:#efebfb}.site-menu-shortcuts .site-menu-entry.current{background:#eaf2ff;color:#476aaf}.site-menu-shortcuts .site-menu-symbol{background:transparent;color:inherit;height:24px;width:24px}.site-menu-shortcuts .site-menu-symbol .icon{width:23px;height:23px}.site-menu-shortcuts .site-menu-entry-copy{flex:0}.site-menu-shortcuts .site-menu-entry strong{font-size:.8125rem;font-weight:500}.site-menu-shortcuts .site-menu-entry small{display:none}
.site-menu-shortcuts .site-menu-icon-row{display:flex;align-items:center;justify-content:center;gap:5px;min-height:24px}.site-menu-shortcuts .site-menu-count{flex-shrink:0;white-space:nowrap}
.site-menu-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edeaf1;padding:13px 20px;color:#706577;font-size:.625rem;line-height:1.6}
@media(max-width:640px){.profile-display>#profile-role-label{display:none}.site-menu-account{padding:16px}.brand-navigation{justify-self:start}.brand-navigation .brand{justify-content:flex-start}.brand .brand-caret{margin-left:7px;width:13px;height:13px}.site-menu{position:fixed;top:calc(var(--header-height) + 5px);left:12px;right:12px;width:auto;transform:none;max-height:calc(100dvh - var(--header-height) - 19px);border-radius:16px;box-shadow:0 5px 15px #29203814,0 20px 60px #29203830}.site-menu-top{padding:14px 16px;border-radius:16px 16px 0 0}.site-menu-top h2{font-size:.875rem}.site-menu-top p{font-size:.6875rem}.site-menu-section{padding:8px 10px 10px}.site-menu-shortcuts{padding-top:12px}.site-menu-shortcuts .site-menu-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.site-menu-shortcuts .site-menu-entry{min-height:66px;gap:5px;padding:9px 5px}.site-menu-entry{min-height:52px}.site-menu-entry strong{font-size:.8125rem}.site-menu-entry small{font-size:.75rem}.site-menu-foot{padding:12px 16px}.site-menu-foot>span{display:none}body[data-composing=true] .brand-navigation{justify-self:center}body[data-composing=true] .brand .brand-caret{width:11px;height:11px;margin-left:4px}}
@media(max-width:360px){.site-menu{left:8px;right:8px}.site-menu-top{padding-left:14px;padding-right:12px}.site-menu-entry{gap:9px}}
.app-header>.compose-back{grid-column:1;display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:5px;padding:8px 16px;min-height:44px;border-radius:30px;background:#adfae5;font-size:1rem;color:#262236}
.app-header>.compose-back:hover{background:#8ff5dc}
.app-header>.brand-navigation{grid-column:2}
.app-header>.profile-display{grid-column:3}
@media(max-width:640px){
  body:not([data-page=journal]) .app-header{height:var(--header-height);padding:0 16px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
  body:not([data-page=journal]) .brand-navigation{justify-self:center}
  body:not([data-page=journal]) .brand-navigation .brand{justify-content:center;font-size:1.1rem;letter-spacing:-.7px}
  body:not([data-page=journal]) .brand .brand-caret{width:11px;height:11px;margin-left:4px}
  body:not([data-page=journal]) .app-header>.compose-back{font-size:.875rem;padding:8px 12px}
  body[data-page=journal] .app-header>.brand-navigation{grid-column:1}
  body[data-page=journal] .app-header>.profile-display{grid-column:2}
}
@media(max-width:360px){
  body:not([data-page=journal]) .app-header{padding:0 12px;gap:6px}
  body:not([data-page=journal]) .brand-navigation .brand{font-size:1rem}
  body:not([data-page=journal]) .app-header>.compose-back{font-size:.8125rem;padding:8px 8px;gap:4px}
  body:not([data-page=journal]) .compose-back .icon{width:16px;height:16px}
}


/* Source: read-more.css */
.read-more-body{--preview-lines:8;white-space:pre-wrap;overflow-wrap:anywhere}
.read-more-body.is-folded .read-more-preview:after{content:'…'}
.read-more-toggle{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:34px;width:max-content;max-width:100%;padding:5px 12px;margin:12px 0 0;border:1px solid #ded9e7;border-radius:30px;background:white;color:#686578;font-size:.875rem;line-height:1.5}
.read-more-toggle:hover{background:#f8f6fc;border-color:#c4b9e2;color:#5536f3}
#view-messages .read-more-body{--preview-lines:6}
#view-messages .read-more-toggle{margin-top:9px;background:#fffdfa;border-color:#e3ddd3;color:#636360}
@media(max-width:640px){#posts .read-more-body{--preview-lines:14}.read-more-toggle{min-height:44px;margin-top:10px;padding:7px 13px}}


/* Source: school-admin.css */
.school-tabs { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 24px; }
.school-tabs button { min-height:44px; padding:8px 15px; border:1px solid #e5e0ee; border-radius:25px; font-size:.875rem; background:white; }
.school-tabs button[aria-pressed=true] { background:var(--ink); color:white; border-color:var(--ink); }
.school-tabs span { margin-left:8px; opacity:.65; font-size:.75rem; }
.school-panel { background:white; border:1px solid #ece8f2; border-radius:20px; padding:26px 30px; }
.school-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.school-section-heading h2 { margin:0; font-size:1.35rem; letter-spacing:-.4px; }
.school-section-heading p { margin:5px 0 0; color:var(--muted); font-size:.875rem; }
.school-row { display:flex; align-items:center; gap:14px; padding:20px 0; border-top:1px solid #eeeaf3; }
.school-row > .avatar { flex-shrink:0; }
.school-row-copy { flex:1; min-width:0; }
.school-row h3 { margin:0; font-size:1rem; }
.school-row p { margin:4px 0; font-size:.875rem; color:var(--muted); overflow-wrap:anywhere; }
.school-row small { color:var(--muted); font-size:.8125rem; }
.school-row-actions { display:flex; gap:5px 12px; flex-wrap:wrap; justify-content:flex-end; max-width:45%; }
.school-row-actions .plain-link { min-height:36px; font-size:.8125rem; padding:3px 0; }
.school-empty { color:var(--muted); padding:25px 0; margin:0; }
.school-secondary-heading { font-size:1.15rem; margin:30px 0 10px; }
.school-filters { display:flex; gap:16px; flex-wrap:wrap; margin:22px 0 18px; }
.school-filters label { display:flex; flex-direction:column; gap:7px; font-size:.875rem; flex:1; min-width:180px; }
.school-field { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; font-size:.9375rem; font-weight:600; }
.school-field input,.school-field select,.school-filters input,.school-filters select { min-height:46px; width:100%; padding:10px 12px; border:1px solid #ded8e9; border-radius:10px; font:inherit; font-weight:400; background:white; color:var(--ink); }
.school-checkboxes { border:0; padding:0; margin:20px 0; }
.school-checkboxes legend { font-size:.9375rem; font-weight:600; margin-bottom:10px; }
.school-checkboxes label,.school-homonym { display:flex; align-items:center; gap:9px; min-height:44px; font-size:.875rem; }
.school-checkboxes input,.school-homonym input { width:18px; height:18px; accent-color:var(--purple); }
.school-note,.school-demo-note { font-size:.8125rem; color:var(--muted); line-height:1.6; margin:22px 0 0; }
.school-form .form-actions { flex-wrap:wrap; }
.school-form .button:disabled { opacity:.6; cursor:progress; }
.school-account { display:flex; align-items:center; gap:15px; margin-bottom:30px; }
.school-account p { color:var(--muted); margin:4px 0 0; font-size:.875rem; overflow-wrap:anywhere; }
.school-family-class { padding:22px 25px; border:1px solid #e7e1ef; background:white; border-radius:18px; margin-bottom:18px; }
.school-family-class h3 { margin:0; font-size:1.1rem; }
.school-family-class header p { color:var(--muted); font-size:.875rem; margin:5px 0 15px; }
.school-family-children > div { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #eeeaf3; padding:7px 0; font-size:.9375rem; }
.school-family-children > p { color:var(--muted); font-size:.875rem; }
.school-family-children button { min-height:44px; font-size:.8125rem; }
.school-family-actions,.school-invite-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:16px; }
.school-family-actions button { min-height:44px; }
.school-status { font-size:.8125rem; color:var(--muted); }
.school-join-paper { max-width:620px; margin:auto; border:1px solid #e7e1ef; background:white; border-radius:22px; padding:30px; }
.school-join-class { display:flex; align-items:center; gap:15px; margin-bottom:30px; }
.school-join-class h2 { margin:0; font-size:1.3rem; }
.school-join-class p { font-size:.875rem; color:var(--muted); margin:5px 0 0; }
.school-current-parent { font-size:.9375rem; overflow-wrap:anywhere; }
.school-join-note { color:var(--muted); font-size:.875rem; line-height:1.6; }
.school-qr { width:210px; max-width:100%; margin:0 auto 20px; }
.school-qr svg { display:block; width:100%; height:auto; }
.school-invitation > p { line-height:1.6; }
.school-rotate { margin-top:25px; border-top:1px solid #e8e2f0; padding-top:18px; font-size:.875rem; }
.school-rotate summary { min-height:38px; cursor:pointer; }
.school-rotate p { color:var(--muted); line-height:1.6; }
.school-profile-picker { display:flex; flex-direction:column; gap:7px; margin-top:15px; font-size:.8125rem; }
.school-profile-picker select { width:100%; min-height:44px; border:1px solid #e2dbea; border-radius:8px; padding:7px; background:white; color:var(--ink); }
.archived-context-note { margin:0 0 20px; padding:14px 18px; background:#f2edf8; border-radius:12px; color:#6d5e80; font-size:.875rem; }
.school-access-empty { padding:30px 18px; text-align:center; color:var(--muted); }
@media(max-width:640px){
  .school-tabs { gap:5px; margin-bottom:20px; }
  .school-tabs button { padding:7px 11px; }
  .school-panel { padding:20px 17px; border-radius:16px; }
  .school-section-heading { align-items:flex-start; flex-direction:column; margin-bottom:20px; }
  .school-section-heading > .button { min-height:44px; }
  .school-row { align-items:flex-start; gap:11px; flex-wrap:wrap; padding:17px 0; }
  .school-row > .avatar { width:34px; height:34px; font-size:.75rem; }
  .school-row-copy { width:calc(100% - 46px); flex:auto; }
  .school-row-actions { max-width:100%; width:100%; justify-content:flex-start; gap:5px 15px; padding-left:45px; }
  .school-row-actions .plain-link { min-height:44px; font-size:.875rem; }
  .school-filters label { min-width:100%; }
  .school-family-class,.school-join-paper { padding:20px 17px; }
  .school-family-children > div { align-items:flex-start; flex-direction:column; gap:0; }
}


/* Source: parent-onboarding.css */
body[data-page=rejoindre] {  background:var(--page-background); min-height:100dvh; }
body[data-page=rejoindre] .app-header { grid-template-columns:1fr; background:var(--page-background); }
body[data-page=rejoindre] .app-header>.brand-navigation { grid-column:1; justify-self:center; }
body[data-page=rejoindre] .app-header .brand { justify-content:center; }
body[data-page=rejoindre] .compose-back,
body[data-page=rejoindre] .profile-display,
body[data-page=rejoindre] .context-bar,
body[data-page=rejoindre] .main-nav,
body[data-page=rejoindre] .mobile-nav,
body[data-page=rejoindre] .app-footer { display:none; }
body[data-page=rejoindre] #main { max-width:880px; padding:28px 24px 35px; }
#view-rejoindre { padding:0; min-height:0; box-shadow:none; background:transparent; }
.join-card { padding:44px 58px 36px; min-height:420px; border-radius:30px; background:white; box-shadow:0 8px 50px #28213e08; text-align:center; }
.join-card h1 { font-size:2.35rem; line-height:1.25; letter-spacing:-1px; margin:28px 0 23px; outline:none; overflow-wrap:anywhere; }
.join-welcome h1 { font-size:2.8rem; margin-top:30px; }
.join-context { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px 12px; margin:0; font-size:.875rem; line-height:1.5; color:var(--muted); }
.join-context strong { color:#255d4c; font-weight:650; background:#e5faf1; border-radius:7px; padding:5px 10px; }
.join-copy { max-width:550px; margin:0 auto 28px; font-size:1.2rem; line-height:1.7; }
.join-welcome-note { font-size:1rem; line-height:1.7; color:var(--muted); margin:0 0 30px; }
.join-progress { display:flex; justify-content:center; gap:34px; list-style:none; padding:0; margin:0 0 28px; }
.join-progress li { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:60px; color:var(--muted); }
.join-progress li>span { display:flex; align-items:center; justify-content:center; width:44px; height:44px; font-size:1.1rem; font-weight:650; border-radius:50%; background:#f1eef8; }
.join-progress small { font-size:.8125rem; }
.join-progress li[aria-current=step] { color:var(--purple); font-weight:650; }
.join-progress li[aria-current=step]>span { background:#adfae5; color:#40328b; }
.join-progress li.complete>span { background:#f0ecff; color:var(--purple); }
.join-field { display:flex; flex-direction:column; gap:12px; max-width:480px; margin:27px auto; font-size:1rem; line-height:1.5; text-align:center; }
.join-field input { width:100%; min-height:57px; padding:9px 10px; border:0; border-bottom:1px dashed #777082; border-radius:0; color:var(--ink); background:white; text-align:center; font:inherit; font-size:1.55rem; font-weight:600; outline-offset:5px; }
.join-field select { width:100%; min-height:50px; padding:10px; border:1px solid #d8d2e4; border-radius:10px; background:white; color:var(--ink); font:inherit; font-size:1rem; }
.join-field input[aria-invalid=true] { border-color:#aa2841; }
.join-actions { display:flex; flex-direction:column; align-items:center; gap:9px; margin:30px 0 0; }
.join-primary { min-height:52px; padding:12px 27px; background:var(--purple); color:white; border-color:var(--purple); font-size:1.05rem; font-weight:600; white-space:normal; }
.join-primary:hover { background:#4225d4; }
.join-primary:disabled { opacity:.6; cursor:progress; }
.join-text-button { min-height:44px; padding:9px 8px; font-size:.9375rem; line-height:1.5; color:var(--muted); text-decoration:underline; text-decoration-color:#b4a7d0; text-underline-offset:4px; }
.join-text-button:hover { color:var(--purple); }
.join-hint { min-height:22px; margin:18px auto 0; max-width:490px; font-size:.875rem; color:var(--muted); line-height:1.65; }
.join-hint:empty { display:none; }
.join-demo-note { margin:24px auto 0; max-width:560px; text-align:center; color:var(--muted); font-size:.8125rem; line-height:1.65; }
.join-card .form-error { max-width:480px; margin:18px auto 0; font-size:.9375rem; line-height:1.6; }
.join-summary { max-width:500px; margin:24px auto 0; text-align:left; }
.join-summary>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 16px; padding:15px 0; border-bottom:1px solid #ece8f3; }
.join-summary dt { grid-column:1; font-size:.8125rem; color:var(--muted); }
.join-summary dd { margin:0; grid-column:1; font-size:1.05rem; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.join-summary dd:last-child { grid-column:2; grid-row:1/span 2; align-self:center; }
.join-summary .join-text-button { font-size:.8125rem; font-weight:400; }
.join-success-mark { display:flex; align-items:center; justify-content:center; width:68px; height:68px; background:#adfae5; color:#255d4c; font-size:2.2rem; border-radius:50%; margin:20px auto; }
.join-children { list-style:none; padding:0; margin:18px 0; font-size:1rem; line-height:1.8; }
.join-child .join-field { margin:20px auto; }
@media(max-width:640px) {
  body[data-page=rejoindre] {  background:var(--page-background); }
  body[data-page=rejoindre] .app-header { background:var(--page-background); }
  body[data-page=rejoindre] .app-header .brand { font-size:1.55rem; }
  body[data-page=rejoindre] #main { padding:24px 20px 28px; }
  .join-card { padding:28px 0 20px; border-radius:0; min-height:400px; box-shadow:none; }
  .join-card h1 { font-size:1.85rem; letter-spacing:-.6px; margin:25px 0 22px; }
  .join-welcome h1 { font-size:2.05rem; }
  .join-copy { font-size:1.1rem; line-height:1.7; }
  .join-context { flex-direction:column; gap:7px; }
  .join-progress { gap:22px; margin-bottom:27px; }
  .join-field input { font-size:1.3rem; }
  .join-primary { max-width:100%; }
  .join-demo-note { margin-top:16px; }
  .join-summary>div { gap:3px 8px; }
}
@media(max-width:360px) {
  body[data-page=rejoindre] #main { padding-left:16px; padding-right:16px; }
  .join-card h1 { font-size:1.65rem; }
  .join-copy { font-size:1rem; }
  .join-field input { font-size:1.15rem; }
  .join-summary>div { display:block; }
  .join-summary .join-text-button { padding-left:0; min-height:38px; }
}


/* Source: agenda.css */
#view-agenda{background:transparent;box-shadow:none;padding:30px 0}
#view-agenda .page-heading{padding:0 0 30px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:0}
#view-agenda .page-heading>.button{position:static;flex-shrink:0}
#view-agenda .page-heading h1{padding:0;margin:8px 0;font-size:2.8rem}
#view-agenda .page-heading p{font-size:1rem;max-width:none}
.agenda-toolbar{display:flex;align-items:center;gap:20px;margin:0 0 20px;flex-wrap:wrap}
.agenda-toolbar .calendar-heading{display:flex;align-items:center;gap:15px;margin:0}
.agenda-toolbar h2{font-size:1.35rem;text-transform:capitalize;min-width:150px;text-align:center}
.agenda-toolbar .button{min-height:40px;padding:6px 15px;font-size:.875rem}
.agenda-view-toggle{display:flex;border:1px solid #dcd9e5;border-radius:24px;padding:3px;background:white;margin-left:auto}
.agenda-view-toggle button{padding:7px 18px;border-radius:20px;font-size:.875rem;min-height:36px}
.agenda-view-toggle [aria-pressed=true]{background:#5536f3;color:white}
#view-agenda .calendar-card{padding:0;background:white;border:1px solid #e5e2ed;border-radius:20px;overflow:hidden;max-width:none;box-shadow:0 4px 20px #29203904}
#view-agenda .calendar-weekdays,#view-agenda .calendar-grid{gap:0}
#view-agenda .calendar-weekdays{padding:13px 0;margin:0;background:#f2f7fe;font-size:.875rem;color:#59596c}
#view-agenda .calendar-grid button,#view-agenda .calendar-grid .empty-day{border-radius:0;min-height:100px;height:auto;justify-content:flex-start;align-items:stretch;padding:8px 5px;border-top:1px solid #ebe8f0;border-right:1px solid #ebe8f0;gap:6px;font-size:.875rem;min-width:0;background:white;color:#292239}
#view-agenda .calendar-grid>:nth-child(7n){border-right:0}
#view-agenda .calendar-grid .empty-day{background:#faf9fc}
#view-agenda .calendar-grid button:hover{background:#f7faff}
#view-agenda .calendar-grid .selected-day{background:#f1f6ff;outline:2px solid #3377ef;outline-offset:-2px}
.day-number{display:flex;width:28px;height:28px;align-items:center;justify-content:center;align-self:flex-start;font-weight:600;border-radius:50%}
#view-agenda .today .day-number{background:#ffdc6c;color:#3c320b}
.day-events{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left}
.day-events>span{display:block;font-size:.8125rem;padding:3px 5px;background:#e7efff;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#315085;max-width:100%}
.day-events>small{padding:0 5px;font-size:.75rem}
#view-agenda .event-mark{display:none}
.agenda-list-heading{display:flex;align-items:center;gap:20px;margin:32px 0 18px;scroll-margin-top:18px;flex-wrap:wrap}
.agenda-list-heading h2{font-size:1.1rem;margin-right:auto;text-transform:capitalize}
.agenda-list-heading .plain-link{font-size:.875rem}
#agenda-cancelled[aria-pressed=true]{color:#5536f3;font-weight:700}
#view-agenda .agenda-events{display:grid;gap:24px}
.agenda-event{background:white;border-radius:24px;box-shadow:0 5px 28px #29203905;display:grid;grid-template-columns:minmax(0,1fr) 285px;border:1px solid #efedf4;overflow:hidden}
.agenda-event:not(:has(.event-invitation)){grid-template-columns:minmax(0,1fr)}
.event-reading{padding:30px 35px;min-width:0}
.event-reading header{display:flex;gap:22px;align-items:flex-start;margin-bottom:24px}
.agenda-date{width:66px;flex-shrink:0;border:2px solid #3377ef;border-radius:8px;text-align:center;overflow:hidden;color:#292239;background:white;line-height:1.3}
.agenda-date>span{display:block;background:#3377ef;color:white;font-size:.8125rem;font-weight:750;padding:5px}
.agenda-date>strong{display:block;font-size:1.9rem;padding:3px 0 0}
.agenda-date>small{display:block;font-size:.75rem;padding:0 0 5px;text-transform:uppercase;color:#6b6477}
.event-kind{font-size:.75rem;font-weight:750;letter-spacing:.04em;color:#635870}
.agenda-event h2{font-size:1.55rem;letter-spacing:-.4px;line-height:1.3;margin:5px 0 8px}
.event-when{font-size:1rem;line-height:1.65}
.event-when:first-letter{text-transform:uppercase}
.event-location{display:flex;align-items:flex-start;gap:8px;font-size:1rem;color:#514b60}
.event-location .icon{width:19px;height:19px;flex-shrink:0;margin-top:3px}
.event-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.75;margin:14px 0 20px}
.event-audience{font-size:.875rem;line-height:1.65;color:#777082}
.event-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 35px;border-top:1px solid #eeebf3}
.event-actions .button{min-height:44px;max-width:100%;font-size:.875rem;text-decoration:none;white-space:normal;text-align:center}
.event-actions .icon{width:18px;height:18px;flex-shrink:0}
.event-actions .button.primary{background:#f0ebff;border-color:#e3daff}
.event-actions .button.primary:hover{background:#e6dcff}
.event-actions .button.secondary{border-color:#e2dfea;color:#514b60}
.event-actions .button.secondary:hover{background:#f5f3fa}
.event-actions .event-journal-link{margin-left:auto}
.event-invitation{background:#eef4ff;border-left:1px solid #e1e9f9;padding:28px 24px;display:flex;align-items:stretch;justify-content:center;flex-direction:column;text-align:center}
.event-invitation>strong{font-size:1.2rem}
.event-invitation>p{font-size:.875rem;line-height:1.6;margin:8px 0 16px}
.event-rsvp{display:grid;gap:9px}
.event-rsvp button{background:white;border:1px solid transparent;border-radius:25px;min-height:44px;font-weight:650;font-size:1rem;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px}
.event-rsvp button:hover{border-color:#7397ef}
.event-rsvp button[aria-pressed=true]{background:#2970ed;color:white}
.event-rsvp button:disabled{opacity:.6;cursor:default}
.event-invitation small{display:block;color:#68758d;font-size:.8125rem;line-height:1.6;margin-top:17px}
.event-personal-calendar{margin-top:18px;padding-top:18px;border-top:1px solid #dbe5f6}
.event-personal-calendar .button{width:100%;white-space:normal;font-size:.875rem;padding:9px 12px}
.event-personal-calendar small{margin-top:9px}
.event-management{display:flex;align-items:flex-start;gap:25px;margin-top:16px;flex-wrap:wrap}
.event-management .plain-link,.event-cancel summary{font-size:.875rem;min-height:36px;display:flex;align-items:center;gap:6px;cursor:pointer;color:#6d6677}
.event-cancel summary{text-decoration:underline;text-underline-offset:3px}
.event-cancel p{font-size:.875rem;line-height:1.6;max-width:240px;margin:8px 0}
.event-cancel button{font-size:.875rem}
.event-follow{grid-column:1/-1;border-top:1px solid #eeebf3;padding:17px 35px;background:#fff}
.event-follow summary{cursor:pointer;font-weight:650;font-size:.9375rem}
.event-follow summary>span{margin-left:10px;font-size:.875rem;font-weight:400;color:#6d6677}
.event-follow-content>p{font-size:.875rem;color:#6d6677;margin:14px 0}
.event-follow ul{list-style:none;padding:0;max-height:300px;overflow:auto}
.event-follow li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #f0edf5;font-size:.875rem}
.event-follow li small{display:block;color:#6d6677;font-size:.8125rem;margin-top:4px}
.is-cancelled{background:#faf9fc;opacity:.8}
.event-cancel-notice{font-size:.9375rem;line-height:1.65;padding:12px 15px;background:#fff3dc;color:#765220;border-radius:9px;margin-top:18px}
#view-agenda .agenda-empty{background:white;border:1px dashed #d8d3e2;border-radius:24px;padding:38px 20px}
#view-agenda .agenda-empty>.icon{width:28px;height:28px;color:#635870;margin-bottom:12px}
#view-agenda .agenda-empty p{font-size:1rem}
#view-evenement{background:transparent;box-shadow:none;padding:10px 0 30px}
.event-back{display:inline-flex;align-items:center;gap:3px;background:#9ff8e7;border-radius:25px;min-height:40px;padding:5px 15px 5px 8px;margin:0 0 25px;font-size:1rem}
.event-back .icon{width:24px;height:24px}
.event-editor-paper{background:white;border-radius:28px;box-shadow:0 5px 35px #29203905;padding:40px 55px;max-width:850px;margin:auto}
.event-editor-paper h1{text-align:center;font-size:1.8rem;margin:0 0 35px}
.event-editor-paper form{display:grid;gap:22px}
.event-editor-paper label{display:block;font-size:.9375rem;font-weight:550;line-height:1.5}
.event-editor-paper input:not([type=radio]):not([type=checkbox]),.event-editor-paper textarea{display:block;width:100%;border:1px solid #dad6e2;background:white;border-radius:8px;padding:11px 12px;margin-top:7px;font-size:1rem;color:#292239;min-width:0}
.event-editor-paper input[type=checkbox],.event-editor-paper input[type=radio]{accent-color:#3377ef;min-width:18px;min-height:18px;margin:0 8px 0 0;vertical-align:middle}
.event-editor-paper input[type=checkbox],.event-editor-paper input[type=radio]{width:18px!important;height:18px;flex:0 0 18px;display:inline-block;padding:0}
.event-editor-paper .event-title-label input{font-size:1.3rem;border:0;border-bottom:1px solid #dad6e2;border-radius:0;padding:8px 0 14px}
.event-editor-paper .optional{font-weight:400;font-size:.8125rem;color:#8b8396;margin-left:5px}
.event-editor-paper fieldset{border:0;padding:0;margin:0;min-width:0}
.event-editor-paper legend{font-size:.9375rem;font-weight:650;margin-bottom:8px}
.event-recipients>label{display:inline-flex;align-items:center;margin-right:22px;min-height:40px}
.event-recipients p{font-size:1rem}
#event-classes{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
#event-classes label{padding:8px 12px;border:1px solid #e2dfeb;border-radius:20px}
.event-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#f7f9ff;border:1px solid #e5eafa;border-radius:16px;padding:18px}
.event-date-fields fieldset{display:grid;grid-template-columns:1fr 110px;gap:12px}
.event-date-fields fieldset legend{grid-column:1/-1}
.event-timezone{font-size:.8125rem;color:#6d6677;margin-top:-14px}
.event-check{min-height:40px;display:flex!important;align-items:center;font-size:1rem!important}
.event-invite-option{padding:16px 20px;background:#eef4ff;border-radius:14px}
.event-invite-option p{font-size:.875rem;line-height:1.6;color:#61708c;margin:4px 0 0 26px}
.event-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.event-publish-note,.event-edit-note{font-size:.875rem;color:#777082;line-height:1.6}
.event-error{font-size:1rem;color:#a32639;padding:12px 15px;background:#fff1f1;border-radius:8px}
@media(max-width:1000px){.event-date-fields fieldset{grid-template-columns:1fr}.agenda-event{grid-template-columns:minmax(0,1fr) 250px}.event-reading{padding:25px}.event-invitation{padding:24px 18px}.event-actions{padding:18px 25px}}
@media(max-width:640px){#view-agenda{padding:25px 16px}#view-agenda .page-heading{display:block;padding-bottom:24px}#view-agenda .page-heading h1{font-size:2rem;padding:0}#view-agenda .page-heading p{font-size:1rem}#view-agenda .page-heading>.button{margin-top:16px;width:100%;min-height:44px;font-size:1rem}.agenda-toolbar{gap:12px}.agenda-toolbar .calendar-heading{width:100%;justify-content:space-between}.agenda-toolbar h2{font-size:1.3rem}.agenda-toolbar .icon-button{width:44px;height:44px}.agenda-view-toggle{margin-left:auto}.agenda-view-toggle button{min-height:38px;padding:6px 15px}#view-agenda .calendar-card{border-radius:14px}#view-agenda .calendar-weekdays{font-size:.8125rem}#view-agenda .calendar-grid button,#view-agenda .calendar-grid .empty-day{min-height:53px;padding:5px 0;gap:4px;align-items:center}.day-number{align-self:center;font-size:.9375rem;width:29px;height:29px}.day-events{display:none}#view-agenda .event-mark{display:block;width:5px;height:5px;background:#3377ef}.agenda-list-heading{margin-top:25px;gap:10px}.agenda-list-heading h2{font-size:1rem;flex-basis:100%}.agenda-list-heading .plain-link{min-height:36px}.agenda-event{display:block;border-radius:20px}.event-reading{padding:22px 18px}.event-reading header{gap:13px;margin-bottom:20px}.agenda-date{width:54px}.agenda-date>strong{font-size:1.65rem}.agenda-date>span{font-size:.75rem}.agenda-event h2{font-size:1.3rem;line-height:1.4}.event-when{font-size:.9375rem;line-height:1.65}.event-note{font-size:1rem}.event-invitation{border:0;border-top:1px solid #e1e9f9;padding:22px 18px}.event-rsvp{grid-template-columns:1fr;gap:8px}.event-rsvp button{min-height:44px}.event-personal-calendar .button{width:auto;font-size:.9375rem}.event-invitation>small{margin:14px auto 0;max-width:260px}.event-follow{padding:18px}.event-follow summary>span{display:block;margin:7px 0 0;font-size:.8125rem;line-height:1.6}.event-follow li{gap:12px}.event-management{gap:14px}.event-management .plain-link,.event-cancel summary{min-height:44px}.event-location{font-size:.9375rem}.event-audience{font-size:.8125rem}#view-evenement{padding:16px 12px 30px}.event-back{margin:0 0 18px}.event-editor-paper{padding:25px 18px;border-radius:20px}.event-editor-paper h1{font-size:1.4rem;line-height:1.5;margin-bottom:25px}.event-editor-paper .event-title-label input{font-size:1.15rem}.event-editor-paper form{gap:22px}.event-date-fields{gap:16px;padding:14px 12px}.event-date-fields fieldset{grid-template-columns:minmax(0,1fr);gap:12px}.event-editor-paper input[type=date],.event-editor-paper input[type=time]{padding:9px 6px;font-size:.9375rem;min-height:44px}.event-invite-option{padding:14px}.event-invite-option p{margin-left:0}.event-form-actions{align-items:stretch;flex-direction:column}.event-form-actions .button{width:100%;font-size:.9375rem}.event-editor-paper .event-check{font-size:.9375rem!important}#event-classes{gap:8px}}
@media(max-width:640px){.event-actions{padding:16px 18px;gap:9px}.event-actions .button{flex:1 1 100%}.event-actions .event-journal-link{margin-left:0}}
@media(prefers-reduced-motion:reduce){#view-agenda *{scroll-behavior:auto}}
.agenda-list-heading h2{text-transform:none}
@media(max-width:640px){.event-date-fields{grid-template-columns:1fr}.event-date-fields fieldset{grid-template-columns:minmax(0,1fr) 100px}.event-date-fields fieldset:has(.event-time-field[hidden]){grid-template-columns:1fr}}
@media(max-width:360px){.event-date-fields fieldset{grid-template-columns:1fr}}


/* Source: albums.css */
.photo-album{margin-top:24px;border:1px solid #eeeaf2;border-radius:15px;padding:16px;background:white;width:100%;max-width:510px}
.photo-album .photo-grid{border-radius:0;overflow:visible;gap:10px;background:transparent;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;aspect-ratio:auto}
.photo-album .photo-grid .photo-tile,.photo-album .photo-grid .photo-tile:first-child{background:#f0eef4;aspect-ratio:1.25;border-radius:7px;grid-row:auto;grid-column:auto;min-height:44px}
.photo-album .photo-grid.count-1{display:grid;grid-template-columns:minmax(0,1fr);max-width:320px}
.photo-album .photo-grid.count-1 .photo-tile{height:auto;aspect-ratio:1.5}
.photo-album .photo-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-album .photo-grid.is-compact .photo-tile:nth-child(n+10){display:none}
.album-overflow{position:absolute;inset:0;background:#231b38a8;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:750;font-size:1.65rem;line-height:1.15;text-align:center;padding:7px}
.album-overflow small{font-size:.75rem;font-weight:550;line-height:1.4}
.album-overflow-mobile,.is-expanded .album-overflow{display:none}
.photo-album .album-caption,#posts .photo-album .album-caption{margin:12px 0 0;padding:0;display:flex;flex-direction:row;gap:6px 8px;flex-wrap:wrap;align-items:center;justify-content:flex-start;background:transparent}
.album-count{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:#6f657c;white-space:nowrap;min-height:36px;margin-right:auto}
.album-count .icon{width:17px;height:17px}
.album-expand,.album-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dcd6e5;border-radius:25px;padding:7px 11px;min-height:36px;font-size:.8125rem;font-weight:550;color:#5b466f;background:white;line-height:1.3}
.album-download .icon{width:16px;height:16px}
.album-expand:hover,.album-download:hover{background:#f5f0fc;border-color:#bba7d4}
.album-download:disabled{opacity:.55;cursor:wait}
.album-mobile-more{display:none}
.photo-album .album-demo-note{flex-basis:100%;font-size:.75rem;color:#8a8095;line-height:1.6}
.photo-album .photo-loading{font-size:.8125rem;padding:8px}
.preview-album .photo-tile{cursor:default}
.preview-album .photo-tile:hover img{filter:none}
.compose-page .composer-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:510px}
.compose-page .photo-preview{border-radius:7px;aspect-ratio:1.25}
.compose-page .photo-preview button{width:36px;height:36px}
.compose-page .photo-preview>span{font-size:.75rem}
.photo-download-actions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.photo-download-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;border:1px solid #847392;border-radius:25px;min-height:44px;padding:9px 14px;font-size:.875rem;line-height:1.4}
.photo-download-actions button:hover{background:#ffffff15}
.photo-download-actions button:disabled{opacity:.45;cursor:wait}
.photo-download-actions .icon{width:17px;height:17px}
.photo-thumbnails{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.photo-thumbnails button{position:relative;width:60px;height:48px;border:2px solid transparent;padding:0;border-radius:6px;overflow:hidden;background:#393045;color:#e6dced}
.photo-thumbnails button img{display:block;width:100%;height:100%;object-fit:cover}
.photo-thumbnails button span{position:absolute;bottom:0;right:0;min-width:17px;background:#211933b5;padding:1px 4px;font-size:.625rem;line-height:1.4;color:white}
.photo-thumbnails button[aria-pressed=true]{border-color:#a991ff;background:#3b3150;box-shadow:0 0 0 1px #fff;color:white}
.photo-thumbnails button:focus-visible{outline:3px solid #fff078;outline-offset:3px}
.photo-download-status{margin:9px 0 0;color:#e7deef;font-size:.8125rem;line-height:1.5;text-align:center}
.album-download-ready{flex-basis:100%;font-size:.8125rem;line-height:1.7;color:#6f657c}
.album-download-ready a{color:#5b36c4;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:5px 0}
.photo-download-status .album-download-ready{color:#e7deef}.photo-download-status .album-download-ready a{color:#d7c5ff}
.photo-viewer .photo-stage{height:min(50dvh,490px)}
@media(max-width:640px){
 .photo-album{border-radius:12px;margin-top:20px;padding:10px;max-width:none}
 .photo-album .photo-grid{gap:7px}
 .photo-album .photo-grid.is-compact .photo-tile:nth-child(n+7){display:none}
 .photo-album .photo-grid.is-expanded .photo-tile:nth-child(n+7){display:flex}
 .album-overflow-desktop{display:none}.album-overflow-mobile{display:flex}.is-expanded .album-overflow{display:none}
 .album-overflow{font-size:1.25rem;gap:3px}.album-overflow small{font-size:.625rem}
 .album-count{font-size:.75rem;min-height:24px;flex-basis:100%}
 .album-expand,.album-download{min-height:44px;font-size:.75rem;padding:8px 10px}
 .album-mobile-more{display:inline-flex}
 .photo-album .album-demo-note{padding-top:3px}.photo-album .photo-loading{font-size:.625rem;padding:5px}
 .compose-page .composer-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.compose-page .photo-preview button{width:36px;height:36px}
 .photo-thumbnails{gap:6px}.photo-thumbnails button{width:48px;height:42px}
 .photo-viewer .photo-stage{height:40dvh;min-height:150px}
 .photo-download-actions button{font-size:.8125rem;padding:8px 11px}
}


/* Source: headings.css */
/* One quiet title per section; context stays with the content. */
#main .simple-heading {
  display: block;
  min-height: 0;
  padding: 4px 0 26px;
  text-align: center;
}
#main .simple-heading > div { width: 100%; }
#main .simple-heading h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 0;
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.2;
  letter-spacing: -1.2px;
}
#main .simple-heading h1::before,
#main .simple-heading h1::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, #1785ff, #7754ff);
}
#main .simple-heading > .button {
  position: static;
  display: flex;
  width: fit-content;
  margin: 16px 0 0 auto;
}
#view-messages.conversation-open .simple-heading { display: none; }
#view-journal .feed-header { justify-content: flex-start; }
#view-journal .feed-header::after { content: none; }
#view-documents .documents-heading {
  justify-content: flex-end;
  padding: 0 0 8px;
  border: 0;
  border-image: none;
}
#view-documents .documents-heading .tag {
  padding: 0;
  background: none;
  color: var(--muted);
  font-size: .8125rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 640px) {
  #main .simple-heading { padding: 0 0 22px; }
  #main .simple-heading h1 {
    display: block;
    font-size: 2rem;
    letter-spacing: -.8px;
  }
  #main .simple-heading h1::before,
  #main .simple-heading h1::after { content: none; }
  #main .simple-heading > .button {
    min-height: 44px;
    margin-top: 14px;
    font-size: .875rem;
  }
  #view-programmes .simple-heading h1 { font-size: 1.8rem; }
}


/* Source: comments.css */
#posts .comments-button { position: relative; }
#posts .comment-count {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 20px;
  background: #2978d9;
  color: white;
  font-size: .6875rem;
  font-weight: 650;
}
#posts .comments-button[aria-expanded=true] { background: #e9e4fc; color: #4c32ba; }
#posts .post.comments-open { background: white; border: 0; border-radius: 26px; box-shadow: 0 6px 35px #29244206; }
#posts .comments-open .post-card { box-shadow: none; border-radius: 26px 26px 0 0; }
#posts .comments {
  margin: 0;
  padding: 0 42px 30px;
  border: 1px solid #efedf4;
  border-top: 0;
  border-radius: 0 0 26px 26px;
  background: white;
}
.comments-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 0 8px; }
.comments-heading h3 { font-size: 1rem; font-weight: 650; }
.comments-heading h3 span { margin-left: 5px; color: #7c7488; font-weight: 400; }
.comments-close { padding: 8px 0 8px 10px; min-height: 44px; font-size: .8125rem; color: #786c8b; }
#posts .comment { display: flex; gap: 13px; padding: 22px 0; border-bottom: 1px solid #eeedf1; }
#posts .comment > .avatar { width: 38px; height: 38px; margin-top: 1px; }
.comment-copy { min-width: 0; flex: 1; }
.comment-copy header { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
#posts .comment strong { font-size: .9375rem; font-weight: 650; }
.comment time, .comment-earlier { font-size: .8125rem; color: #7c7488; }
#posts .comment p { margin: 6px 0 0; font-size: 1rem; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
#posts .comment-empty { padding: 17px 0 20px; color: #7c7488; font-size: .9375rem; }
#posts .comment-form { display: flex; align-items: flex-start; gap: 13px; flex-wrap: nowrap; margin: 25px 0 0; }
#posts .comment-form > .avatar { flex: 0 0 38px; height: 38px; margin-top: 4px; }
#posts .comment-form > .comment-editor { flex: 1; min-width: 0; }
#posts .comment-form label { font-weight: 600; font-size: .875rem; margin: 0 0 8px; }
#posts .comment-form textarea { display: block; width: 100%; min-height: 104px; padding: 13px 15px; border: 1px solid #ddd9e5; border-radius: 12px; background: white; color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.6; resize: vertical; }
#posts .comment-form textarea::placeholder { color: #928b9b; }
.comment-compose-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.comment-compose-actions > span { color: #7c7488; font-size: .75rem; line-height: 1.5; max-width: 280px; }
.comment-compose-actions .button { min-height: 44px; flex-shrink: 0; font-size: .875rem; }
#posts .comment-note { font-size: .75rem; color: #8b8396; margin: 20px 0 0 51px; }
#posts .comment-error { font-size: .875rem; line-height: 1.6; margin-top: 12px; }
@media(max-width:800px) { #posts .comments { padding-left: 30px; padding-right: 30px; } }
@media(max-width:640px) {
  #posts .post.comments-open { border: 1px solid #ecebf2; border-radius: 19px; }
  #posts .comments-open .post-card { border-radius: 19px 19px 0 0; }
  #posts .comments { padding: 0 18px 24px; border: 0; border-top: 1px solid #eceaf0; border-radius: 0 0 19px 19px; }
  .comments-heading { padding-top: 14px; }
  #posts .comment { padding: 19px 0; gap: 10px; }
  #posts .comment > .avatar { width: 32px; height: 32px; font-size: .6875rem; }
  .comment-copy header { display: block; }
  .comment time, .comment-earlier { display: block; margin-top: 2px; font-size: .75rem; }
  #posts .comment p { font-size: .9375rem; }
  #posts .comment-form { gap: 10px; }
  #posts .comment-form > .avatar { flex-basis: 32px; height: 32px; font-size: .6875rem; }
  #posts .comment-form textarea { padding: 12px; min-height: 120px; }
  .comment-compose-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .comment-compose-actions .button { align-self: flex-end; font-size: .8125rem; padding: 10px 12px; }
  #posts .comment-note { margin-left: 42px; line-height: 1.6; }
}
@media(max-width:360px) { #posts .comments { padding-left: 16px; padding-right: 16px; } }


/* Source: reactions.css */
#posts .post-reactions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:24px; }
#posts .reaction-chip, #posts .reaction-add, #posts .reaction-legacy { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:5px 9px; border:1px solid transparent; border-radius:30px; background:#f7f6f9; color:var(--ink); font-size:.875rem; line-height:1.4; }
#posts .reaction-chip { padding-left:5px; }
#posts .reaction-chip .avatar { width:28px; height:28px; font-size:.625rem; }
#posts .reaction-emoji { font-size:1.3rem; line-height:1.4; }
#posts button.reaction-chip { border-color:#ded4fb; background:#f4efff; cursor:pointer; }
#posts button.reaction-chip:hover { background:#e9dffd; }
#posts .reaction-add { min-width:44px; border-color:#e5e1eb; background:white; color:#6b607e; cursor:pointer; }
#posts .reaction-add:hover, #posts .reaction-add[aria-expanded=true] { background:#f0ebfc; border-color:#d8ccf5; color:#5435c6; }
#posts .reaction-legacy { color:#776b87; }
#posts .reaction-picker { position:fixed; z-index:40; width:296px; height:44px; margin:0; padding:3px; border:1px solid #e8e3eb; border-radius:25px; background:#f7f6f9; box-shadow:0 3px 12px #3527470c; }
.reaction-quick { display:flex; align-items:center; flex-wrap:nowrap; width:100%; height:100%; gap:0; }
.reaction-favorites { display:flex; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; }
.reaction-favorites::-webkit-scrollbar { display:none; }
#posts .reaction-choice, #posts .reaction-more { display:flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; min-width:0; height:36px; min-height:36px; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; font-size:1.4rem; cursor:pointer; }
#posts .reaction-choice:hover, #posts .reaction-choice[aria-pressed=true], #posts .reaction-more:hover { background:#eee6ff; border-color:#ddcffb; }
#posts .reaction-more { color:#716381; font-size:1.3rem; letter-spacing:1px; }
.reaction-more-grid { display:grid; position:fixed; z-index:41; grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; width:360px; padding:9px; border:1px solid #ece8f1; border-radius:12px; background:white; box-shadow:0 5px 18px #35274724; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
#posts .reaction-more-grid .reaction-choice { width:100%; border-radius:8px; }
#posts .reaction-choice:disabled, #posts .reaction-chip:disabled { opacity:.55; cursor:progress; }
@media(max-width:640px) { #posts .post-reactions { margin-top:20px; gap:6px; } .reaction-more-grid { grid-template-columns:repeat(7,minmax(0,1fr)); } }


/* Source: vendor/trix.css */
trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}

trix-toolbar * {
  box-sizing: border-box;
}
trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}
trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}
trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: rgb(0, 0, 0);
}
trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}
@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}
trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}
trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}
trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-dialogs {
  position: relative;
}
trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}
trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}
trix-toolbar .trix-dialog--link {
  max-width: 600px;
}
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}
trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}
trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

trix-editor [data-trix-mutable] ::-moz-selection, trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection {
  background: none;
}
trix-editor [data-trix-mutable] ::selection, trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection {
  background: none;
}

trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection {
  background: highlight;
}
trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}
trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}
trix-editor .attachment {
  position: relative;
}
trix-editor .attachment:hover {
  cursor: default;
}
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}
trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}
trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}
trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}
trix-editor .trix-button-group {
  display: inline-flex;
}
trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}
trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-editor .trix-button.trix-active {
  background: #cbeefa;
}
trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}
trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}
trix-editor .trix-button--remove:hover {
  border-color: #333;
}
trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}
trix-editor .attachment__metadata-container {
  position: relative;
}
trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}
trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}
.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}
.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}
.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}
.trix-content li {
  margin-left: 1em;
}
.trix-content [dir=rtl] li {
  margin-right: 1em;
}
.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}
.trix-content img {
  max-width: 100%;
  height: auto;
}
.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}
.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}
.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}
.trix-content .attachment__caption {
  text-align: center;
}
.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}
.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}
.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}
.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}
.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}
.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/* Source: rich-text.css */
.rich-editor{border:0;border-radius:0;background:white;min-height:260px;padding:22px 0;outline-offset:4px;font:inherit;font-size:1.05rem;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}
.rich-editor:empty:not(:focus):before{color:#858192}
trix-toolbar{display:block;position:relative;margin:14px 0 0;padding:10px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
trix-toolbar .trix-button-row{flex-wrap:wrap;justify-content:flex-start;gap:6px}
trix-toolbar .trix-button-group{margin:0;border:0;gap:2px}
trix-toolbar .trix-button-group-spacer{flex-grow:1}
trix-toolbar .trix-button{border:0!important;border-radius:6px;min-width:40px;height:40px;background:transparent;color:var(--ink);opacity:1}
trix-toolbar .trix-button:not(:first-child){border:0}
trix-toolbar .trix-button:hover{background:#f4f1ff}
trix-toolbar .trix-button.trix-active{background:#ede7ff;color:var(--purple)}
trix-toolbar .trix-button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
trix-toolbar .trix-button:disabled{opacity:.35}
trix-toolbar .trix-button--icon:before{opacity:.8;background-size:20px 20px}
trix-toolbar .trix-button--icon[disabled]:before{opacity:.8}
trix-toolbar .trix-dialog{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #211a3920;padding:16px;max-width:100%;z-index:4}
trix-toolbar .trix-input--dialog{min-width:0;font:inherit!important;font-size:1rem!important}
trix-toolbar .trix-dialog .trix-button{font:inherit;font-size:.875rem;white-space:normal;height:auto;padding:8px 10px}
trix-toolbar .trix-dialog__link-fields{flex-wrap:wrap;gap:10px}
trix-toolbar .trix-dialog__link-fields .trix-input{flex-basis:100%}
.publication-content,.rich-editor{white-space:normal!important;overflow-wrap:anywhere}
.publication-content{font-size:1rem;line-height:1.8}
.publication-content div,.publication-content p,.rich-editor div{margin:0 0 .75em}
.publication-content>:last-child,.rich-editor>:last-child{margin-bottom:0}
.publication-content h3,.rich-editor h3{font-size:1.25rem;line-height:1.4;margin:1.2em 0 .5em}
.publication-content h3:first-child,.rich-editor h3:first-child{margin-top:0}
.publication-content ul,.publication-content ol,.rich-editor ul,.rich-editor ol{margin:.6em 0;padding-left:1.5em}
.publication-content li,.rich-editor li{margin:.25em 0}
.publication-content blockquote,.rich-editor blockquote{border-left:3px solid #c9bcfb;margin:1em 0;padding:.25em 0 .25em 1em;color:#605774}
.publication-content a,.rich-editor a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.publication-content.is-folded .rich-excerpt-full{max-height:var(--excerpt-height);overflow:hidden;mask-image:linear-gradient(#000 0%,#000 calc(100% - 12px),transparent 100%)}
.publication-content .rich-excerpt-preview[hidden],.publication-content .rich-excerpt-full[hidden]{display:none}
#edit-publication-form .rich-editor{min-height:210px;font-size:1rem}
#edit-publication-form trix-toolbar{margin-top:4px}
@media(max-width:640px){.rich-editor{min-height:230px;font-size:1rem}trix-toolbar .trix-button{height:44px;min-width:42px}trix-toolbar .trix-button-row{gap:4px}trix-toolbar .trix-button-group{display:contents}trix-toolbar .trix-button-group-spacer{display:none}trix-toolbar .trix-dialog{left:0;right:0}#edit-publication-form .rich-editor{min-height:180px}}


/* Source: event-journal.css */
.journal-agenda-alert{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 20px;margin:0 0 24px;border:1px solid #c7ddfa;border-radius:16px;background:#edf6ff}.journal-agenda-alert[hidden]{display:none}.journal-agenda-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#235db4;border-radius:50%;background:#dcecff}.journal-agenda-alert h2{font-size:1rem;line-height:1.4;margin:0 0 4px}.journal-agenda-alert p{font-size:.875rem;line-height:1.5;color:#486280;margin:0}.journal-agenda-alert .button{background:white;color:#235db4;border-color:#a9c8f0}.journal-agenda-alert .button:hover{background:#e1efff}
.journal-event{border:1px solid #ded8f3;border-radius:14px;padding:17px 19px;margin:22px 0 4px;background:#faf8ff;overflow-wrap:anywhere}.journal-event-meta{display:flex;align-items:flex-start;gap:12px}.journal-event-meta>.icon{color:var(--purple);flex-shrink:0;margin-top:2px}.journal-event-meta>div{flex:1;min-width:0}.journal-event-meta strong{display:block;font-size:1rem;line-height:1.5;font-weight:650}.journal-event-meta span:not(.event-state){display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:3px}.journal-event>.plain-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--purple);margin-top:4px}.event-state{display:inline-flex;padding:4px 8px;border-radius:7px;background:#e8e0ff;color:#5734be;font-size:.75rem;font-weight:700;flex-shrink:0}.event-state.cancelled{background:#f8e5e5;color:#963a3a}.journal-event.is-cancelled{background:#fcf5f5;border-color:#edd6d6}.journal-event.is-cancelled .journal-event-meta strong{text-decoration:line-through}.journal-event-reply{margin-top:6px;padding-top:14px;border-top:1px solid #e5def4}.journal-event-reply>p{font-size:.9375rem;line-height:1.5;color:#52456d;margin:0 0 12px}.journal-event .event-rsvp{display:flex;flex-wrap:wrap;gap:8px}.journal-event .event-rsvp button{min-height:44px;padding:10px 14px;line-height:1.4;border:1px solid #cfc4ed;background:white;border-radius:24px;color:#50368c;font-size:.875rem}.journal-event .event-rsvp button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:white}.journal-event .event-rsvp button:disabled{opacity:.65;cursor:default}.agenda-event h2:focus{outline:2px solid var(--purple);outline-offset:5px;border-radius:3px}

@media(max-width:640px){.journal-agenda-alert{grid-template-columns:36px minmax(0,1fr);gap:10px 12px;padding:15px}.journal-agenda-icon{width:36px;height:36px;align-self:start}.journal-agenda-alert .button{grid-column:2;justify-self:start}.journal-event{padding:15px;margin-top:18px}.journal-event-meta{flex-wrap:wrap;gap:8px 10px}.journal-event-meta .event-state{margin-left:34px}.journal-event .event-rsvp{display:grid;grid-template-columns:1fr;gap:8px}}


/* Source: v02.css */
.school-start{background:#fff;border:1px solid #e4e0ee;border-radius:22px;padding:26px;margin-bottom:24px}.school-start h2{font-size:25px;margin:8px 0 20px}.school-start ol{list-style:none;padding:0;display:flex;gap:24px;flex-wrap:wrap}.school-start li{display:flex;align-items:center;gap:9px;color:#827994}.school-start li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f4f2f8}.school-start .current{color:#5536f3;font-weight:700}.school-start .current span{background:#ece7ff}.school-start .done{color:#3c7760}.school-start p{line-height:1.6}.school-family-children>div{flex-wrap:wrap;gap:10px}.child-prompt-compact{padding:12px 18px;background:transparent;border:1px dashed #dad4e8;gap:14px}.child-prompt-compact .child-prompt-icon{display:none}.child-prompt-compact h2{font-size:15px}.child-prompt-compact p{display:none}.child-prompt-compact .button{font-size:13px;padding:7px 12px}.child-prompt-dismiss{border:0;background:transparent;color:#837792;padding:8px;cursor:pointer}.publication-tabs{display:flex;gap:8px;margin:24px 0;align-items:center;flex-wrap:wrap}.publication-tabs button[aria-pressed=true]{background:#ece7ff;color:#5536f3}.publication-tabs .publications-trash{margin-left:auto}.draft-save-status{color:#827994;font-size:13px;margin:0 0 16px}.draft-save-status[data-failed=true]{color:#a23f4d}.compose-event-toggle{display:flex;align-items:center;gap:8px;padding:16px 0}.compose-event-fields{padding:20px;border-radius:15px;background:#f7f5fb;margin-bottom:20px}.compose-event-fields .event-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compose-event-fields label{display:flex;flex-direction:column;gap:7px}.compose-event-fields input:not([type=checkbox]){padding:10px;border:1px solid #dcd5e9;border-radius:8px;width:100%;background:#fff}.compose-event-fields .event-check{flex-direction:row;align-items:center;margin:15px 0}.compose-event-fields fieldset{border:0;padding:0;display:grid;gap:10px}.compose-event-fields legend{font-weight:700;margin-bottom:10px}.compose-event-fields>label{margin-top:14px}@media(max-width:640px){.school-start{padding:20px}.school-start ol{display:grid;gap:12px}.child-prompt-compact{flex-wrap:wrap}.compose-event-fields{padding:14px}.compose-event-fields .event-date-fields{gap:12px}.publication-tabs .publications-trash{margin-left:0}.bubble-reply{white-space:normal;text-align:center}}

.compose-event-fields[hidden],.compose-event-fields [hidden]{display:none!important}
trix-toolbar .rich-toolbar-more{display:none}trix-toolbar .rich-toolbar-extra{display:contents}@media(max-width:640px){trix-toolbar .rich-toolbar-more{display:block;font-size:24px;font-weight:bold}trix-toolbar .rich-toolbar-extra{display:none;position:absolute;right:0;top:calc(100% + 5px);z-index:7;grid-template-columns:repeat(4,42px);gap:4px;background:#fff;padding:10px;border:1px solid #ded7ee;border-radius:12px;box-shadow:0 8px 22px #241e3720}trix-toolbar .rich-toolbar-extra.is-open{display:grid}}


/* Source: accessibility.css */
/* WCAG 2.2 AA: shared readable metadata, focus and responsive form controls. */
:root{--muted:#686578}
.dialog-notice{margin:0;scroll-margin-block:28px;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.dialog-notice:not(:empty){margin-top:16px;padding:14px 16px;background:#2c2350;color:white;border-radius:11px;box-shadow:0 6px 24px #29204430}
:is(a,button,summary,input,select,textarea,[tabindex],[contenteditable]):focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.rich-editor:focus-visible,#view-messages .message-form textarea:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.photo-upload:focus-within,.compose-photo-control:focus-within{outline:3px solid var(--purple);outline-offset:3px}
.photo-viewer :is(a,button,input):focus-visible,.send-menu :focus-visible,#posts .publication-menu-items :focus-visible{outline-color:#fff078}
html{scroll-padding-top:calc(var(--sticky-header-height,64px) + 16px)}
:is(h1,h2,h3,input,select,textarea,button,summary,[tabindex]){scroll-margin-top:calc(var(--sticky-header-height,64px) + 16px)}
.button,button,summary{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-width:0}
#main :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select),#modal :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select),#posts .comment-form textarea,.event-editor-paper .event-title-label input,.chat-compose-box{border-color:#776789}
input[type=checkbox],input[type=radio]{width:1.25rem!important;height:1.25rem;flex:0 0 1.25rem;padding:0!important;accent-color:var(--purple)}
.chat-class,#view-messages .conversation-heading p,#view-messages .chat-day,.chat-message-meta time,.chat-you,.chat-recipient,#view-messages .message-form .form-note,#view-messages .message-form textarea::placeholder,.comments-heading h3 span,.comment time,.comment-earlier,#posts .comment-empty,.comment-compose-actions>span,#posts .comment-note,#posts .comment-form textarea::placeholder,.compose-line #post-title::placeholder,.compose-fields #post-body::placeholder,.rich-editor:empty:not(:focus)::before,.compose-footnote,#posts .seen,.photo-album .album-demo-note,.event-editor-paper .optional,.school-start li,.draft-save-status{color:var(--muted);opacity:1}
.compose-page .compose-actions .button.primary,.agenda-date>span,#posts .comment-count{background:#155fc5;border-color:#155fc5;color:white}
.agenda-date{border-color:#155fc5}
.send-menu,#posts .publication-menu-items{background:linear-gradient(120deg,#064fa8,#4326c0)}
.is-cancelled{opacity:1}
.event-invitation>small,.event-personal-calendar>small{color:var(--muted)}
#view-agenda .calendar-grid button:focus-visible{outline:3px solid var(--purple);outline-offset:-3px}
.photo-preview{height:auto;min-width:0;width:220px;max-width:100%;padding-bottom:0;overflow:visible;align-self:start}
.photo-preview>img{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px}
.photo-preview .photo-preview-number{top:8px;bottom:auto}
.photo-description{display:block;font-size:.875rem;font-weight:650;line-height:1.5;margin-top:9px}
.photo-description input{display:block;width:100%;min-width:0;margin-top:5px;font-size:.9375rem}
#composer-previews{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start}
#composer-previews .photo-preview{aspect-ratio:auto;width:100%}
.app-footer{flex-wrap:wrap;gap:12px}
.app-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.school-family-class h2{font-size:1.25rem;margin:0 0 6px}.document-row h2{font-size:1.0625rem;margin:0 0 7px}
.conversation-heading h1{font-size:1rem;font-weight:650;letter-spacing:normal;margin:0;line-height:1.5}
@media(max-width:640px){
 .compose-event-fields .event-date-fields{grid-template-columns:minmax(0,1fr)}
 .compose-event-fields fieldset,.compose-event-fields input{min-width:0}
 .app-header,body[data-composing=true] .app-header,body:not([data-page=journal]) .app-header,body[data-page=rejoindre] .app-header{height:auto;min-height:60px;padding-top:8px;padding-bottom:8px;gap:8px;grid-template-columns:auto minmax(0,1fr) auto}
 .brand-navigation{min-width:0;max-width:100%}
 .brand{white-space:normal}
 .app-header[data-expanded-header=true]{grid-template-columns:minmax(0,1fr) auto}
 .app-header[data-expanded-header=true]>.brand-navigation{grid-column:1/-1;grid-row:1;justify-self:center}
 .app-header[data-expanded-header=true]>.compose-back{grid-column:1;grid-row:2}
 .app-header[data-expanded-header=true]>.profile-display{grid-column:2;grid-row:2}
 .site-menu{top:calc(var(--sticky-header-height,64px) + 5px);max-height:calc(100dvh - var(--sticky-header-height,64px) - 19px)}
 .photo-preview{width:100%}
}
@media(max-height:520px){
 #view-messages.conversation-open{overflow:visible}
 #view-messages.conversation-open #conversation-panel{height:auto;min-height:0;overflow:visible}
 #view-messages .chat-body,#view-messages.conversation-open .chat-body{overflow:visible;max-height:none;flex:none}
 #view-messages .conversation-heading{display:flex}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(forced-colors:active){:focus-visible{outline-color:CanvasText}.photo-viewer :focus-visible,.send-menu :focus-visible,#posts .publication-menu-items :focus-visible{outline-color:CanvasText}}


/* Source: profile.css */
.profile-display{color:var(--ink);text-decoration:none;min-height:44px;border-radius:100px;padding:2px 4px 2px 10px}
.profile-display:hover{background:#eee9ff}
.profile-display:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.profile-avatar{width:38px;height:38px;overflow:hidden}
.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-tone-purple{background:#5536f3!important;color:#fff!important}
.profile-tone-coral{background:#ce3f48!important;color:#fff!important}
.profile-tone-mint{background:#b2f1df!important;color:#233e35!important}
.profile-tone-yellow{background:#fff35b!important;color:#38310e!important}
.profile-tone-blue{background:#2863c6!important;color:#fff!important}
.profile-tone-lavender{background:#e8dfff!important;color:#4f2a90!important}
#view-profil{width:min(680px,100%);margin-inline:auto;padding:0;background:transparent;box-shadow:none}
.profile-page-toolbar{display:flex;justify-content:center;margin:8px 0 25px}
.profile-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid #b8a7f1;border-radius:100px;color:#4f28bb;text-decoration:none;font-size:.875rem;font-weight:600}
.profile-back:hover{background:#eee9ff}
.profile-card{background:#fff;border:1px solid #eeebf4;border-radius:28px;padding:34px 38px;box-shadow:0 12px 40px #30204906}
.profile-summary{text-align:center;margin-bottom:30px}
.profile-large-avatar{width:86px;height:86px;font-size:1.75rem;font-weight:750;margin:0 auto 15px;overflow:hidden}
.profile-kicker{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-bottom:6px}
.profile-summary h1{font-size:2rem;line-height:1.2;letter-spacing:-.045em;font-weight:800}
.profile-name{font-size:1rem;line-height:1.6;margin-top:8px;overflow-wrap:anywhere}
#profile-fields{border:0;padding:0;margin:0;min-width:0}
.profile-section{background:#f7f6fa;border-radius:15px;padding:23px;margin-top:18px}
.profile-section h2{font-size:1.0625rem;line-height:1.5;font-weight:750;margin-bottom:7px}
.profile-section>p{font-size:.875rem;line-height:1.6;color:var(--muted)}
.profile-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:16px}
.profile-upload{min-width:172px;min-height:44px;border-color:#797087!important;color:#4f28bb!important}
.profile-upload.is-loading{background:#eeeaf4!important;opacity:1!important;cursor:wait}
.profile-upload-dots{display:flex;align-items:center;justify-content:center;gap:7px;height:20px}
.profile-upload-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#5536f3;animation:profile-upload-dot 1.05s ease-in-out infinite}
.profile-upload-dots i:nth-child(2){animation-delay:.15s}
.profile-upload-dots i:nth-child(3){animation-delay:.3s}
.profile-upload-progress{position:fixed;inset:0 0 auto;height:2px;z-index:99999;overflow:hidden;background:#e8e1ff;pointer-events:none}
.profile-upload-progress>span{display:block;width:32%;height:100%;background:#5536f3;transform:translateX(-100%);animation:profile-upload-progress 1.2s ease-in-out infinite}
.profile-upload-progress.is-complete{opacity:0;transition:opacity .22s ease}
.profile-upload-progress.is-complete>span{width:100%;transform:none;animation:none}
@keyframes profile-upload-dot{0%,75%,100%{transform:scale(.65);opacity:.45}35%{transform:scale(1.35);opacity:1}}
@keyframes profile-upload-progress{to{transform:translateX(415%)}}
@media(prefers-reduced-motion:reduce){.profile-upload-dots i{animation:none;transform:none;opacity:1}.profile-upload-progress>span{width:100%;animation:none;transform:none}.profile-upload-progress.is-complete{transition:none}}
.profile-note,.profile-section>.profile-note{font-size:.75rem;line-height:1.65;color:var(--muted);margin-top:9px}
.profile-colors{border:0;padding:0;min-width:0;margin:20px 0 0}
.profile-colors legend{font-size:.8125rem;font-weight:650;margin-bottom:10px}
.profile-colors>div{display:flex;flex-wrap:wrap;gap:10px}
.profile-color{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:2px solid #797087;font-size:1.125rem;font-weight:800}
.profile-color span{opacity:0}
.profile-color[aria-pressed=true]{outline:2px solid #262236;outline-offset:2px}
.profile-color[aria-pressed=true] span{opacity:1}
.profile-color:focus-visible{outline:3px solid #5536f3;outline-offset:5px;box-shadow:0 0 0 3px #fff}
.profile-field{display:block;font-size:.875rem;font-weight:650;margin-top:17px}
.profile-field input{display:block;width:100%;margin-top:8px;border:1px solid #797087;border-radius:8px;padding:11px 13px;min-height:46px;background:white;font-size:1rem;font-weight:400}
.profile-field input[readonly]{background:#eeecf3;color:#545064}
.profile-field input:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.profile-status{font-size:.875rem;font-weight:650;line-height:1.6;color:#276147;margin-top:18px;min-height:1.6em}
.profile-form-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.profile-local-note{margin-top:22px;text-align:center}
#profile-error{margin-top:18px}
@media(max-width:640px){.profile-card{padding:26px 18px;border-radius:22px}.profile-section{padding:20px 16px}.profile-page-toolbar{margin-bottom:20px}.profile-large-avatar{width:76px;height:76px}.profile-form-actions{flex-wrap:wrap}.profile-colors>div{gap:10px}.profile-summary h1{font-size:1.75rem}}


/* Source: child-photos.css */
#view-photos{max-width:980px;margin-inline:auto}
.child-photo-heading p{margin-top:12px;font-size:1rem;line-height:1.6;color:#665b75}
.child-photo-discovery{position:relative;isolation:isolate;max-width:760px;margin:4px auto 14px;padding:64px 60px 70px}
.child-photo-colors{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.child-photo-colors span{position:absolute;display:block}
.child-photo-colors span:nth-child(1){width:80%;height:76%;left:3%;top:1%;background:#3374d8;border-radius:54% 46% 58% 42% / 50% 42% 58% 50%;transform:rotate(-9deg)}
.child-photo-colors span:nth-child(2){width:63%;height:82%;right:3%;top:8%;background:#7534bb;border-radius:47% 53% 42% 58% / 43% 59% 41% 57%;transform:rotate(-12deg)}
.child-photo-colors span:nth-child(3){width:72%;height:73%;left:3%;bottom:0;background:#60d4b3;border-radius:49% 51% 55% 45% / 52% 41% 59% 48%;transform:rotate(11deg)}
.child-photo-discovery-card{position:relative;max-width:560px;margin:auto;background:#fff;border-radius:34px;padding:40px 46px;box-shadow:0 12px 40px #2917420d}
.child-photo-discovery-card h2{font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.25;letter-spacing:-.04em;font-weight:800;margin-bottom:22px;color:#292034}
.child-photo-discovery-card p{font-size:1.125rem;line-height:1.65;color:#392d45}
.child-photo-discovery-card p+p{margin-top:18px}
.child-photo-discovery-card strong{font-weight:750}
.child-photo-discovery-card .button{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;min-height:48px;margin-top:26px;font-size:.875rem;text-align:center}
.child-photo-discovery-card .button .icon{flex-shrink:0}
.child-photo-collection{background:#fff;border:1px solid #ece8f1;border-radius:22px;padding:26px}
.child-photo-filterbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid #ebe6f1;margin-bottom:25px;flex-wrap:wrap}
.child-photo-filters{display:flex;gap:6px;flex-wrap:wrap}
.child-photo-filters button{border-radius:100px;border:1px solid #c8bfd8;color:#56398c;min-height:44px;padding:9px 15px;font-weight:650;font-size:.875rem}
.child-photo-filters button[aria-pressed=true]{background:#5536f3;border-color:#5536f3;color:white}
.child-photo-filters button:hover{background:#eee9ff}.child-photo-filters button[aria-pressed=true]:hover{background:#4523cf}
.child-photo-year{font-size:.75rem;color:#665b75;display:flex;flex-direction:column;gap:5px}
.child-photo-year select{background:#faf8fd;border:1px solid #9d90b0;border-radius:10px;padding:9px 12px;min-height:44px;font-size:.875rem;color:#332540}
.child-photo-collection-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.child-photo-collection-heading h2{font-size:1.25rem;line-height:1.4;font-weight:750;letter-spacing:-.025em}
.child-photo-collection-heading p{font-size:.8125rem;color:#72667f;margin-top:5px}
.child-photo-collection-heading .button{display:flex;gap:8px;align-items:center;min-height:44px;font-size:.875rem}
.child-photo-collection-heading .button:disabled{opacity:.55;cursor:default}
.child-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px}
.child-photo-card{min-width:0;background:#faf8fc;border:1px solid #ebe6f2;border-radius:15px;overflow:hidden}
.child-photo-open{display:block;position:relative;width:100%;aspect-ratio:1.35;background:#eae5f0;overflow:hidden}
.child-photo-open img{width:100%;height:100%;object-fit:cover;display:block}
.child-photo-open:hover img{filter:brightness(.95)}
.child-photo-card-copy{padding:14px 15px 17px}
.child-photo-card-copy>p{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.child-photo-card-copy>p span{font-size:.6875rem;line-height:1.5;font-weight:700;background:#d7f5e9;color:#235340;border-radius:100px;padding:3px 9px}
.child-photo-card-copy h3{font-size:.875rem;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.child-photo-card-copy time{display:block;font-size:.75rem;color:#72667f;margin-top:5px}
.child-photo-placeholder{display:block;padding:24px;font-size:.8125rem;color:#65596f}
.child-photo-empty{text-align:center;padding:30px 10px 24px}
.child-photo-empty>span{display:grid;place-items:center;background:#e5f8ef;color:#3f6d5b;border-radius:18px;width:68px;height:68px;margin:0 auto 20px}
.child-photo-empty>span .icon{width:30px;height:30px}.child-photo-empty h3{font-size:1.125rem;font-weight:700;margin-bottom:12px}
.child-photo-empty p{font-size:.875rem;line-height:1.7;color:#6d6178;margin-bottom:22px}
.child-photo-print{margin-top:22px;border:1px solid #d7cfea;border-radius:16px;background:#f5f0ff;color:#4a326e}
.child-photo-print summary{display:flex;align-items:center;gap:10px;padding:18px 20px;cursor:pointer;font-size:.9375rem;font-weight:650;min-height:54px;list-style:none}
.child-photo-print summary::-webkit-details-marker{display:none}.child-photo-print summary>span{margin-left:auto;font-size:1.5rem;font-weight:400}.child-photo-print[open] summary>span{transform:rotate(45deg)}
.child-photo-print>div{padding:0 20px 20px;font-size:.875rem;line-height:1.7}.child-photo-print>div>p+p{margin-top:8px;font-size:.75rem;color:#6d6178}
.child-photo-local-note{font-size:.75rem;text-align:center;color:#72667f;line-height:1.6;margin:22px 0}
.child-photo-download-status{font-size:.875rem;line-height:1.6;color:#37604e;margin-bottom:10px}
.child-photo-download-status:empty{display:none}.child-photo-ready:not(:empty){margin-bottom:18px}
.photo-child-identification{max-width:800px;margin:10px auto 4px;padding:0}
.photo-viewer:has(.photo-child-identification:not([hidden])) .photo-stage{height:min(36dvh,350px)}
.photo-child-row{display:flex;align-items:center;justify-content:center;gap:10px 12px;flex-wrap:wrap}
.photo-child-label{font-size:.8125rem;line-height:1.5;color:#d1c3de}
.photo-child-options{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-width:0;max-width:100%}
.photo-child-chip{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ad9cbc;border-radius:100px;min-height:44px;max-width:100%;padding:8px 13px;font-size:.875rem;background:#fff;color:#482583;font-weight:650;overflow-wrap:anywhere}
.photo-child-chip[aria-pressed=true]{background:#b8f0d9;color:#193e2c;border-color:#b8f0d9}.photo-child-chip:hover{background:#eee7ff}.photo-child-chip[aria-pressed=true]:hover{background:#a2e5cb}
.photo-child-chip:disabled{opacity:.6;cursor:wait}.photo-child-check{font-size:1.0625rem;width:16px;text-align:center}
.photo-child-note{font-size:.75rem;line-height:1.6;color:#d1c3de;text-align:center}.photo-child-status{font-size:.8125rem;color:#c5efd8;text-align:center;line-height:1.6}.photo-child-status:not(.visually-hidden):not(:empty){margin-top:8px}
.photo-child-identification button:focus-visible{outline:3px solid #fff078;outline-offset:3px}
.child-photo-open:focus-visible{outline:3px solid #5536f3;outline-offset:-4px}
.child-photo-print summary:focus-visible,.child-photo-filters button:focus-visible,.child-photo-year select:focus-visible{outline:3px solid #5536f3;outline-offset:3px}
@media(max-width:640px){.child-photo-heading p{font-size:.9375rem;margin-top:10px}.child-photo-discovery{padding:32px 18px 42px;margin-top:0}.child-photo-discovery-card{padding:28px 24px;border-radius:26px}.child-photo-discovery-card h2{margin-bottom:18px}.child-photo-discovery-card p{font-size:1rem;line-height:1.6}.child-photo-discovery-card .button{width:100%;font-size:.8125rem;padding-inline:12px;margin-top:22px}.child-photo-collection{padding:20px 16px;border-radius:18px}.child-photo-filterbar{gap:16px}.child-photo-filters{gap:6px}.child-photo-filters button{font-size:.8125rem;padding:8px 12px}.child-photo-year{flex-direction:row;align-items:center;gap:12px}.child-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}.child-photo-card-copy{padding:11px 10px 14px}.child-photo-card-copy h3{font-size:.8125rem}.child-photo-collection-heading .button{width:100%;justify-content:center}.photo-child-row{gap:8px 10px}.photo-child-label{font-size:.75rem}.photo-child-chip{font-size:.8125rem;padding:8px 11px}.child-photo-print summary{font-size:.875rem}}
@media(max-width:360px){.child-photo-grid{grid-template-columns:minmax(0,1fr)}}


/* Source: demo-environment.css */
.site-menu-foot.demo-controls{align-items:center;gap:10px;flex-wrap:wrap;font-size:.75rem}
.demo-controls a,.demo-controls button{min-height:44px;display:inline-flex;align-items:center;border:0;border-radius:8px;background:transparent;color:#4e3eaa;font:inherit;font-weight:650;text-decoration:none;padding:6px 8px}
.demo-controls a:hover,.demo-controls button:hover{background:#f0ecff}
.demo-controls a:focus-visible,.demo-controls button:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.demo-reset-dialog{max-width:480px}
.demo-reset-dialog>p{line-height:1.65;margin:16px 0}
.demo-reset-dialog .form-actions{justify-content:flex-end;gap:10px}
#demo-reset-error{color:#a5223d}
@media(max-width:400px){.demo-reset-dialog .form-actions{flex-direction:column}.demo-reset-dialog .form-actions .button{width:100%;white-space:normal}}

