:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#262236;background:#fafafd;font-synthesis:none;--ink:#262236;--muted:#686578;--purple:#5536f3;--mint:#b7f0db;--line:#e6e4ed;--paper:#fff;line-height:1.55}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.045em}h2{font-size:1.45rem;font-weight:750;letter-spacing:-.025em}p,small,strong,a,button{overflow-wrap:anywhere}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:8px;transform:translateY(-150%);background:white;border:2px solid var(--purple);border-radius:10px;padding:12px 20px;z-index:100}.skip-link:focus{transform:none}
.app-header{max-width:1230px;min-height:90px;margin:auto;padding:18px 35px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.school-link{font-size:.875rem;font-weight:650;justify-self:start}.school-link span{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.brand{font-size:1.85rem;font-weight:850;letter-spacing:-.055em;line-height:1.2;color:var(--purple);white-space:nowrap}.brand>span{display:inline-block;background:#fff078;color:var(--ink);padding:0 5px;border-radius:4px;margin-left:3px;transform:rotate(-6deg)}.carnet-menu{position:relative;z-index:20}.carnet-menu summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;cursor:pointer;list-style:none}.carnet-menu summary::-webkit-details-marker{display:none}.chevron{font-size:1.25rem;color:var(--purple)}.menu-sheet{position:absolute;top:calc(100% + 15px);left:50%;transform:translateX(-50%);width:340px;max-width:calc(100vw - 24px);padding:14px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 12px 55px #2622361c}.menu-sheet .eyebrow{padding:7px 12px 10px}.menu-sheet a{display:block;padding:9px 12px;font-size:.95rem;font-weight:700;border-radius:10px}.menu-sheet a span{display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:2px}.menu-sheet a:hover{background:#f4f1ff}.profile-link{display:flex;align-items:center;gap:10px;justify-self:end;min-height:48px}.profile-name{font-size:.8rem;font-weight:650;max-width:135px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:.8rem;font-weight:750;background:#fff078;color:#443a15;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-profile{width:44px;height:44px}.avatar-soft{background:#ded6ff;color:#49378a}.avatar-large{width:96px;height:96px;font-size:2rem;background:#ff757d;color:#252131}.main-nav{display:flex;justify-content:center;gap:30px;min-height:47px;margin:0 auto 18px;padding:0 16px;flex-wrap:wrap}.main-nav a{display:flex;align-items:center;min-height:46px;border-bottom:2px solid transparent;font-size:.9375rem;color:var(--muted)}.main-nav a[aria-current=page]{border-bottom-color:var(--purple);color:var(--purple);font-weight:700}.main-nav a:hover{color:var(--purple)}
.paper{max-width:1050px;margin:0 auto 20px;padding:34px 46px 42px;border-radius:27px;background:white;box-shadow:0 1px 3px #21205009,0 10px 40px #312d6505;min-height:520px;outline:none}.page-heading{position:relative;text-align:center;padding:8px 110px 34px}.page-heading h1{margin:8px 0 11px}.page-heading>p{font-size:.875rem;color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.045em;color:var(--muted);line-height:1.6}.heading-action{margin:20px 0 0}.compact-heading{padding:10px 0 28px}.compact-heading h1{font-size:1.9rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--purple);border-radius:28px;background:white;color:var(--purple);font-size:.875rem;font-weight:650;text-align:center;line-height:1.35}.button:hover{background:#f2efff}.button.primary{background:var(--purple);color:white;border-color:var(--purple)}.button.primary:hover{background:#4525df}.button.secondary{border-color:#c7c3d1;color:var(--muted)}.button.secondary:hover{background:#f7f6fa}.full-width{width:100%}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button-row form{display:inline-flex}.quiet-link,.quiet-button{font-size:.875rem;font-weight:600;color:var(--purple);min-height:44px;display:inline-flex;align-items:center;border:0;background:none;padding:8px 0;text-align:left;line-height:1.4}.quiet-link:hover,.quiet-button:hover{text-decoration:underline;text-underline-offset:3px}.danger{color:#a12c39}.back-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.pill,.category-pill,.count{display:inline-flex;align-items:center;font-size:.75rem;font-weight:650;line-height:1.4;border-radius:7px;padding:5px 9px;background:#f2efff;color:#543b96;white-space:normal}.pill.mint{background:#e3f8ef;color:#25583e}.category-pill{margin-left:auto}.count{vertical-align:middle}.notice{padding:16px 20px;background:#e5f7ef;color:#25583e;border:1px solid #acd9c4;border-radius:12px;margin-bottom:20px;font-size:.9rem}.notice-error,.notice-danger{background:#fff3f4;color:#a12c39;border-color:#e8bcc2}.notice ul{margin:8px 0 0;padding-left:22px}.app-footer{max-width:1050px;margin:18px auto 32px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--muted)}.app-footer .quiet-button{font-size:.75rem;color:var(--muted)}
.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:.875rem}.filter-bar label{font-weight:600}.filter-bar select{width:auto;min-width:160px}.filter-bar .button:last-child{margin-left:auto}.feed{max-width:820px;margin:auto}.post{border-bottom:1px solid var(--line);padding:25px 0 28px}.post:first-child{padding-top:10px}.post-meta{display:flex;align-items:center;gap:11px;font-size:.8rem;margin-bottom:18px}.post-meta strong{display:block;font-weight:650}.post-meta small{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}.post h2{font-size:1.5rem;margin-bottom:14px}.post h2 a:hover{color:var(--purple)}.prose{font-size:.975rem;line-height:1.85;overflow-wrap:anywhere}.prose>*+*{margin-top:14px}.prose a{text-decoration:underline;color:var(--purple);text-underline-offset:3px}.prose ul,.prose ol{padding-left:24px}.prose blockquote{border-left:3px solid var(--mint);padding-left:16px;margin:16px 0}.post-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px}.post-actions .quiet-link{font-weight:500}.feed-end{font-size:.8rem;text-align:center;color:var(--muted);margin-top:28px}.request-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f3efff;color:#543b96;padding:16px 20px;border-radius:12px;margin-top:22px;font-size:.875rem}.request-callout small{display:block;font-size:.75rem;font-weight:400;margin-top:3px}.request-callout:hover{background:#eae3ff}.response-card{background:#f9f7ff;border:1px solid #e5dcff;padding:24px;border-radius:18px;margin-top:24px}.response-card h2{margin-bottom:18px}.response-results{margin:18px 0}.comments{margin-top:30px}.comments h2{margin-bottom:20px}.comment{padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}.comment-meta{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;font-size:.75rem;flex-wrap:wrap}.comment-meta span{color:var(--muted)}.comments form{margin-top:20px}
.form-stack{display:grid;gap:20px}.form-stack label{display:grid;gap:7px;font-size:.875rem;font-weight:600}.form-stack .button{justify-self:start}.form-stack .full-width{justify-self:stretch}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}input,textarea,select{width:100%;min-height:46px;border:1px solid #c7c3d1;border-radius:9px;background:white;padding:11px 13px;color:var(--ink);font-size:.95rem}textarea{resize:vertical;line-height:1.7}input[type=file]{font-size:.8rem;padding:10px;line-height:1.5}input[type=file]::file-selector-button{font:inherit;background:#f2efff;border:0;border-radius:7px;color:var(--purple);padding:8px 12px;margin-right:12px;cursor:pointer}input[type=datetime-local],input[type=date]{min-width:0}input::placeholder,textarea::placeholder{color:#777382;opacity:1}.form-note{font-size:.8rem;line-height:1.7;color:var(--muted);font-weight:400}.autosave-status{font-size:.75rem;line-height:1.65;color:var(--muted);font-weight:400;min-height:20px}.autosave-status[data-state=error],.autosave-status[data-state=conflict]{color:#a12c39}.draft-retry{font-size:.75rem;min-height:44px;padding:5px 10px;border:1px solid #c7c3d1;border-radius:15px;background:white;color:var(--ink);margin-top:6px}.title-input{font-size:1.4rem;font-weight:700;border-color:var(--line)}.publication-body{font-size:1rem}.editor-options{border-top:1px solid var(--line);padding:16px 0 0;margin-top:8px}.editor-options summary{list-style:none;cursor:pointer;font-size:.9rem;font-weight:650;min-height:44px;display:flex;align-items:center;gap:10px}.editor-options summary:before{content:'+';font-size:1.4rem;color:var(--purple)}.editor-options[open] summary:before{content:'−'}.editor-options summary::-webkit-details-marker{display:none}.editor-options>.form-stack{margin:16px 0 8px}.composer-footer{padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.composer-footer .quiet-button{font-size:.8rem}.file-field{background:#faf9fd;border:1px dashed #c7c3d1;border-radius:12px;padding:15px}.section-block{padding-top:30px;margin-top:24px;border-top:1px solid var(--line)}.section-block h2{margin-bottom:16px}.section-block>.form-note{margin-bottom:12px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:.875rem}.list-row strong{display:block}.list-row small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.list-link:hover strong{color:var(--purple)}
.document-row{display:flex;align-items:center;gap:18px;margin-top:15px;padding:16px 18px;border-radius:11px;background:#f8f8fa;font-size:.875rem}.document-row>span:nth-child(2){flex:1;min-width:0}.document-row strong{display:block;font-weight:650}.document-row small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.document-row:hover{background:#efedf8}.document-icon{display:flex;align-items:center;justify-content:center;width:38px;height:45px;background:#e4e6e8;color:#535a63;border-radius:4px;font-size:1.5rem;flex-shrink:0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.photo-grid.single-photo{grid-template-columns:1fr;max-width:620px;margin:22px auto 0}.photo-card{margin:0;min-width:0}.photo-card>a{display:block;overflow:hidden;background:#f5f3fa;border-radius:13px}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.single-photo .photo-card img{aspect-ratio:auto;max-height:520px;object-fit:contain}.photo-card figcaption{display:flex;align-items:center;gap:10px;padding:8px 1px;flex-wrap:wrap;font-size:.75rem}.photo-card figcaption>strong{flex-basis:100%;font-size:.85rem;font-weight:650;margin:2px 0}.child-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.child-tags form{margin:0}.child-tag{min-height:44px;display:inline-flex;align-items:center;gap:6px;border:1px solid #d5cbf7;border-radius:23px;background:white;color:#543b96;font-size:.8rem;font-weight:600;padding:7px 12px;line-height:1.35}.child-tag[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:white}.child-tag:hover{box-shadow:0 0 0 2px #b7aaff55}.tag-check{display:none}.child-tag[aria-pressed=true] .tag-check{display:inline}.photo-download{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;color:var(--muted);margin-left:auto}.photo-download:hover{text-decoration:underline}.personal-photos{gap:26px}.photo-viewer{width:min(1180px,calc(100vw - 24px));max-height:calc(100dvh - 28px);border:0;border-radius:16px;padding:16px 20px;background:white;box-shadow:0 20px 100px #0004}.photo-viewer::backdrop{background:#262236c9;backdrop-filter:blur(4px)}.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px}.photo-viewer h2{font-size:.9rem;color:var(--muted);font-weight:500;letter-spacing:0}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:#f4f1ff;border:0;border-radius:50%;font-size:1.65rem;color:var(--ink)}.photo-viewer .photo-card>a{pointer-events:none}.photo-viewer .photo-card img{max-height:calc(100dvh - 220px);min-height:150px;width:100%;object-fit:contain;aspect-ratio:auto}.photo-viewer .photo-card>a{background:#f9f9fc}.photo-viewer .photo-card figcaption{justify-content:center}.photo-viewer .photo-download{margin-left:8px}.photo-viewer .photo-card figcaption>strong{display:none}
.conversation-list{margin-top:5px}.conversation-row{display:flex;align-items:center;gap:15px;padding:23px 0;border-bottom:1px solid var(--line);font-size:.85rem}.conversation-copy{display:grid;gap:3px;flex:1;min-width:0}.conversation-copy>strong{font-size:.975rem}.conversation-copy>span{font-size:.8rem;color:var(--muted)}.conversation-copy>small{font-size:.8rem;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.conversation-copy>small.draft-preview{color:#735016;font-weight:650}.conversation-date{font-size:.75rem;color:var(--muted);flex-shrink:0}.conversation-row:hover .conversation-copy>strong{color:var(--purple)}.new-conversation{margin-top:30px}.conversation-paper{max-width:850px}.message-thread{display:grid;gap:18px;padding:12px 0 25px;border-bottom:1px solid var(--line);margin-bottom:24px}.message-bubble{width:85%;padding:16px 20px;background:#f5f4f9;border-radius:16px 16px 16px 3px;font-size:.9rem;line-height:1.75}.message-bubble.mine{margin-left:auto;background:#efeaff;border-radius:16px 16px 3px 16px}.message-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.message-compose-footer .button{flex-shrink:0}.message-compose-footer .autosave-status{max-width:75%}.event-card{display:flex;align-items:flex-start;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.event-date{background:#ede7ff;border-radius:13px;width:78px;min-height:78px;flex-shrink:0;text-align:center;color:#553b94;padding:10px}.event-date span{font-size:.65rem;font-weight:700;text-transform:uppercase;display:block}.event-date strong{font-size:1.9rem;line-height:1.2}.event-copy{flex:1}.event-copy h2{margin:6px 0 12px}.event-copy>.button-row{margin-top:15px}.event-copy>p:not(.eyebrow){font-size:.875rem}.class-card{border:1px solid var(--line);border-radius:18px;padding:23px;margin-top:20px}.class-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.class-children{margin:10px 0}.class-children .list-row{padding:12px 0}.archive-form{margin-top:8px}.archive-form .quiet-button{color:var(--muted);font-size:.75rem}
.welcome-card{text-align:center;padding:40px 40px 32px;max-width:650px;margin:10px auto}.welcome-card h2{font-size:1.6rem;margin:12px 0 16px}.welcome-card p{font-size:.925rem;line-height:1.85;color:var(--muted);margin:0 auto 22px}.welcome-card form{display:flex;justify-content:center}.welcome-mark{display:inline-block;color:var(--purple);font-size:2.7rem;line-height:1.2;font-weight:400}.photo-welcome{position:relative;max-width:650px;margin:35px auto 35px;padding:38px}.photo-welcome:before{content:'';position:absolute;inset:10px 0;background:linear-gradient(140deg,#468add,#6642e6 65%,#8b32bb);border-radius:48% 52% 65% 35%/35% 60% 40% 65%;transform:rotate(-7deg)}.photo-welcome:after{content:'';position:absolute;inset:100px 40px 0 -8px;background:#b3eed8;border-radius:40% 60% 35% 65%;z-index:0;transform:rotate(10deg)}.photo-welcome-card{position:relative;z-index:1;background:white;border-radius:33px;box-shadow:0 8px 40px #302c5910;padding:40px}.photo-welcome-card h2{font-size:1.9rem;margin:13px 0 18px}.photo-welcome-card p{font-size:1rem;line-height:1.8;margin-bottom:20px}.photo-welcome-card p strong{font-weight:700}.profile-paper{max-width:760px}.profile-paper .page-heading{padding-left:0;padding-right:0}.profile-paper .page-heading h1{font-size:2rem}.profile-paper .form-stack{max-width:540px;margin:auto}.profile-photo-preview img{width:96px;height:96px;object-fit:cover;border-radius:50%}.auth-header{text-align:center;padding:45px 20px 30px}.auth-header p{font-size:.85rem;color:var(--muted);margin-top:12px}.auth-paper{max-width:540px;min-height:0;padding:30px 42px 36px}.auth-paper .page-heading{padding:0 0 25px}.auth-paper .page-heading h1{font-size:2rem}.auth-note{margin-top:24px;text-align:center}.invitation-address{font-size:.875rem;line-height:1.75}.page-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1000;overflow:hidden;background:#cfc5fa}.page-progress:after{content:'';position:absolute;top:0;bottom:0;width:30%;background:var(--purple);animation:progress 1s ease-in-out infinite}@keyframes progress{from{left:-30%}to{left:100%}}.form-stack[aria-busy=true] button[type=submit]{opacity:.7}
@media(max-width:900px){.paper{margin-left:18px;margin-right:18px;padding:30px}.app-header{padding:14px 24px}.profile-name{display:none}.page-heading{padding-left:55px;padding-right:55px}.main-nav{gap:26px}.photo-welcome{max-width:620px}.auth-paper{margin-left:auto;margin-right:auto}}
@media(max-width:640px){.app-header{grid-template-columns:1fr auto;padding:15px 18px;gap:12px;min-height:80px}.school-link{display:none}.carnet-menu{justify-self:start}.brand{font-size:1.55rem}.carnet-menu .menu-sheet{left:0;transform:none;width:min(340px,calc(100vw - 36px))}.profile-link{grid-column:2}.main-nav{gap:18px;margin-bottom:13px;padding:0 10px;row-gap:0}.main-nav a{font-size:.8rem;min-height:44px}.paper{margin:0 10px 16px;padding:23px 20px 28px;border-radius:20px;min-height:420px}.page-heading{padding:5px 0 24px}.page-heading>p{font-size:.8rem}.heading-action{margin-top:18px}.app-footer{flex-direction:column;gap:0;margin:10px auto 24px;text-align:center}.post{padding:23px 0}.post-meta{flex-wrap:wrap}.post-meta>div{flex:1}.category-pill{font-size:.65rem;max-width:115px}.post h2{font-size:1.35rem}.prose{font-size:.925rem;line-height:1.8}.post-actions{gap:5px}.post-actions .quiet-link{font-size:.8rem}.filter-bar{gap:10px}.filter-bar select{flex:1;min-width:0}.filter-bar .button:last-child{margin-left:0}.filter-bar .button{font-size:.8rem;padding:9px 13px}.filter-bar>a{width:100%}.form-columns{grid-template-columns:1fr;gap:18px}.form-stack{gap:18px}.title-input{font-size:1.2rem}.composer-footer{align-items:flex-start}.composer-footer .button-row{width:100%}.composer-footer .button-row .button{flex:1;font-size:.8rem;padding:10px}.list-row{gap:12px;flex-wrap:wrap}.list-row .button{font-size:.75rem;padding:9px 13px}.photo-grid{gap:12px}.photo-grid .child-tags{gap:4px}.photo-grid .child-tag{font-size:.75rem;padding:7px 10px}.photo-grid .photo-download{margin-left:0}.personal-photos{grid-template-columns:1fr;gap:24px}.document-row{gap:11px;padding:14px 12px}.document-row .quiet-link{display:none}.document-row strong{font-size:.85rem}.conversation-row{gap:10px;position:relative;padding:18px 0}.conversation-row .avatar{width:34px;height:34px}.conversation-date{position:absolute;right:0;top:22px;font-size:.65rem}.conversation-copy>strong{padding-right:80px;font-size:.9rem}.conversation-copy>span,.conversation-copy>small{font-size:.75rem}.message-bubble{width:93%;padding:14px 16px}.compact-heading h1{font-size:1.6rem}.message-compose-footer{align-items:flex-start}.message-compose-footer .autosave-status{max-width:none;flex:1;font-size:.7rem}.event-card{gap:14px}.event-date{width:62px;min-height:68px;padding:9px 5px}.event-date strong{font-size:1.65rem}.event-copy h2{font-size:1.25rem}.event-copy .button-row{gap:4px}.event-copy .button{font-size:.75rem;padding:10px 12px}.response-card{padding:19px 16px}.class-card{padding:20px 16px}.welcome-card{padding:28px 8px}.photo-welcome{padding:25px 12px;margin:20px auto 35px}.photo-welcome-card{border-radius:25px;padding:30px 25px}.photo-welcome-card h2{font-size:1.6rem}.photo-welcome-card p{font-size:.925rem}.photo-welcome-card .button{font-size:.8rem}.auth-header{padding:32px 20px 24px}.auth-paper{max-width:calc(100vw - 20px);min-height:0;padding:28px 24px}.photo-viewer{padding:10px 12px;border-radius:13px}.photo-viewer .photo-card img{max-height:calc(100dvh - 230px)}.photo-viewer .child-tags{justify-content:center}.photo-viewer .photo-card figcaption{gap:5px}.photo-viewer h2{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.page-progress:after{left:35%;width:30%}}
@media(forced-colors:active){.button,.child-tag,.pill,.avatar,.paper,.menu-sheet{border:1px solid CanvasText}.child-tag[aria-pressed=true],.main-nav a[aria-current=page]{outline:2px solid Highlight}.photo-welcome:before,.photo-welcome:after{display:none}}
.post-title{font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 18px;letter-spacing:-.035em}
.button{max-width:100%}.pagination{justify-content:center;margin-top:28px}
@media(max-width:640px){.app-header.app-header{grid-template-columns:minmax(0,1fr) auto}.carnet-menu .brand{white-space:normal}.carnet-menu{min-width:0}.carnet-menu summary{min-width:0}.category-pill{overflow-wrap:anywhere}}
.rich-field>label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}.editor-toolbar{display:flex;gap:3px;padding:7px 8px;border:1px solid #c7c3d1;border-bottom:0;border-radius:10px 10px 0 0;flex-wrap:wrap;background:#faf9fd}.editor-toolbar button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:0;border-radius:7px;font-size:1rem;font-weight:650}.editor-toolbar button[data-editor-command=italic]{font-style:italic}.editor-toolbar button[data-editor-command=strikeThrough]{text-decoration:line-through}.editor-toolbar button:hover,.editor-toolbar button[aria-pressed=true]{background:#ede7ff;color:var(--purple)}.rich-editor{min-height:280px;border:1px solid #c7c3d1;border-radius:0 0 10px 10px;padding:20px;outline:none;font-size:1rem;line-height:1.85}.rich-editor:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor p,.rich-editor div{margin-bottom:10px}.rich-editor h2{font-size:1.4rem;margin:14px 0 10px}.link-dialog{width:min(480px,calc(100vw - 24px));border:1px solid var(--line);border-radius:20px;padding:28px;background:white;box-shadow:0 15px 70px #26223630}.link-dialog::backdrop{background:#26223699;backdrop-filter:blur(3px)}.link-dialog .form-stack .button-row .button{justify-self:auto}
.button[data-response-choice][aria-pressed=true]{background:var(--purple);color:white}.button[data-response-choice][aria-pressed=true]:before{content:'✓';font-weight:700}
.upload-dots{display:inline-flex;align-items:center;gap:6px;min-height:18px}.upload-dots span{width:6px;height:6px;border-radius:50%;background:currentColor;animation:upload-dot .9s ease-in-out infinite}.upload-dots span:nth-child(2){animation-delay:.15s}.upload-dots span:nth-child(3){animation-delay:.3s}@keyframes upload-dot{0%,80%,100%{transform:translateY(0);opacity:.55}40%{transform:translateY(-5px);opacity:1}}
@media(max-width:640px){.auth-header .brand{white-space:normal;font-size:1.55rem}}
.photo-welcome{overflow:clip}.message-field>label{margin-bottom:7px}.class-person{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.class-child{padding:12px 0;border-bottom:1px solid var(--line)}.class-child>.editor-options{border:0;margin-top:0;padding-top:0}.class-child .form-stack{margin-bottom:8px}.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.photo-tag-status{flex-basis:100%;font-size:.75rem;color:var(--muted);text-align:center}
