.file-transfer-progress{border:1px solid var(--border);background:var(--surface-subtle);color:var(--ink);border-radius:12px;margin:12px 0;padding:14px;font-size:13px}.file-transfer-progress>div{justify-content:space-between;gap:12px;display:flex}.file-transfer-progress progress{width:100%;height:8px;accent-color:var(--focus);margin:10px 0;display:block}.file-transfer-progress small{color:var(--ink);display:block}.file-transfer-progress .btn{margin-top:10px}.attachment-link{text-align:left;width:100%;font:inherit;cursor:pointer}.attachment-dialog{border:1px solid var(--border);background:var(--paper);width:min(720px,100vw - 24px);max-height:90vh;color:var(--ink);border-radius:18px;margin:auto;padding:0}.attachment-dialog::backdrop{background:#16291f80}.attachment-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.attachment-dialog header strong{overflow-wrap:anywhere;display:block}.attachment-dialog header small{color:var(--muted);margin-top:6px;display:block}.attachment-dialog header>div{min-width:0}.attachment-dialog header .btn{flex-shrink:0}.attachment-body{padding:20px}.attachment-media video,.attachment-media img{max-width:100%;max-height:60vh;margin:auto;display:block}.attachment-media audio{width:100%}.attachment-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.attachment-status{color:var(--ink);line-height:1.8}.attachment-permission{color:var(--muted);margin-top:14px;font-size:12px}.hub-preview-status{color:var(--ink);margin:12px 0;line-height:1.8}.hub-upload-progress{color:var(--ink);margin:10px 0;font-size:13px}.hub-upload-progress progress{width:100%;accent-color:var(--focus);margin:8px 0;display:block}.hub-preview-content video{width:100%}@media (max-width:650px){.attachment-dialog>header,.attachment-body{padding:16px}.attachment-actions .btn{width:100%}}.upload-form-fields,.hub .hub-form-fields{border:0;min-width:0;margin:0;padding:0}.pending-uploads{border:1px solid var(--border);background:var(--warning-pale);border-radius:12px;margin:14px 0;padding:14px;font-size:13px;line-height:1.6}.pending-uploads>p{color:var(--warning-ink);margin:6px 0}.pending-upload-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.pending-upload-row>span{min-width:0}.pending-upload-row b,.pending-upload-row small{overflow-wrap:anywhere;display:block}.pending-upload-row small{color:var(--warning-ink)}.pending-upload-row button{color:var(--warning-ink);flex-shrink:0}.hub-upload-progress .hub-btn{margin-top:8px;display:block}@media (max-width:650px){.pending-upload-row{flex-wrap:wrap;align-items:flex-start}.pending-upload-row>span{flex-basis:100%}}.hub{--hub-green:#195e4b;--hub-ink:#17372e;--hub-paper:#f4f6f1;color:var(--hub-ink);text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;line-height:1.6}.hub *{box-sizing:border-box}.hub h2,.hub h3,.hub h4,.hub p{margin:0}.hub h2{letter-spacing:-.6px;font-size:27px}.hub h3{font-size:17px}.hub h4{margin-top:14px;font-size:13px}.hub .hub-nav{white-space:nowrap;scrollbar-width:thin;flex-flow:row;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:6px 0 18px;display:flex;position:static;overflow-x:auto}.hub .hub-btn{color:#265746;cursor:pointer;font:inherit;white-space:normal;overflow-wrap:anywhere;background:#fff;border:1px solid #d7e3d9;border-radius:12px;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:10px 15px;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.hub .hub-btn:hover{background:#ecf2e9}.hub .hub-btn:disabled{opacity:.5}.hub .hub-nav .hub-btn{white-space:nowrap;flex-shrink:0}.hub .hub-active,.hub .hub-primary{background:var(--hub-green);color:#fff;border-color:var(--hub-green)}.hub .hub-primary:hover{background:#124a3b}.hub .hub-heading{justify-content:space-between;align-items:center;gap:18px;margin:10px 0 24px;display:flex}.hub .hub-heading small{letter-spacing:2px;color:#6e8876;font-size:10px}.hub .hub-heading p{color:#748079;margin-top:5px;font-size:13px}.hub .hub-hero{color:#fff;background:linear-gradient(120deg,#174b3e,#297153);border-radius:24px;justify-content:space-between;gap:20px;margin-bottom:28px;padding:28px;display:flex}.hub .hub-hero span,.hub .hub-hero p{color:#c9decb;font-size:12px}.hub .hub-hero h3{font-size:64px;font-weight:500;line-height:1.3}.hub .hub-hero h3 small{font-size:24px}.hub .hub-hero-aside{border-left:1px solid #ffffff28;align-content:center;padding-left:24px;display:grid}.hub .hub-hero-aside strong{margin-top:8px;font-size:24px;line-height:1.2}.hub .hub-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:14px 0;display:grid}.hub .hub-stats>div{background:#f2f5ef;border-radius:14px;min-width:0;padding:13px}.hub .hub-stats strong{overflow-wrap:anywhere;font-size:24px;font-weight:600;display:block}.hub .hub-stats span{color:#738078;font-size:11px}.hub .hub-muted{color:#7b827b;margin:12px 0;font-size:12px}.hub .hub-row{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.hub .hub-launchers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.hub .hub-launchers .hub-btn{background:#fff;flex-direction:column;align-items:flex-start;min-width:0;padding:20px;display:flex;position:relative}.hub .hub-launchers strong{font-size:16px}.hub .hub-launchers span{color:#839082;font-size:11px}.hub .hub-launchers i{color:#a8b9a7;position:absolute;top:17px;right:16px}.hub .hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.hub .hub-card{overflow-wrap:anywhere;background:#fff;border:1px solid #e0e7dc;border-radius:19px;min-width:0;margin-bottom:12px;padding:22px}.hub .hub-card>.hub-btn{margin-top:12px}.hub .hub-tag{color:#567947;background:#f0f4e8;border-radius:6px;margin:10px 0;padding:4px 9px;font-size:10px;display:inline-block}.hub .hub-prose{white-space:pre-wrap;overflow-wrap:anywhere;color:#53635a;margin:12px 0;font-size:13px;line-height:1.85}.hub .hub-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.hub .hub-comment{background:#f6f8f3;border-radius:12px;margin-top:12px;padding:14px;font-size:12px}.hub .hub-comment small{color:#81907f;display:block}.hub .hub-watermarked{position:relative;overflow:hidden}.hub .hub-watermark{pointer-events:none;color:#30493f44;text-shadow:0 1px #fff6;z-index:2;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-18deg)}.hub .hub-empty{text-align:center;color:#7a887b;border:1px dashed #cddbc9;border-radius:18px;padding:42px 20px;font-size:13px}.hub .hub-file{width:100%}.hub details{color:#6c806a;margin:12px 0;font-size:12px}.hub summary{cursor:pointer}.hub .hub-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hub .hub-toolbar .hub-field{flex:1;min-width:160px}.hub .hub-field{color:#53674e;margin:0 0 16px;font-size:13px;display:block}.hub .hub-field span{margin-bottom:6px;font-weight:600;display:block}.hub input,.hub select,.hub textarea{color:#284632;width:100%;font:inherit;background:#fff;border:1px solid #d4dfcd;border-radius:9px;min-width:0;padding:10px 12px;font-size:14px;display:block}.hub input:focus,.hub select:focus,.hub textarea:focus{outline-offset:1px;outline:2px solid #a4c49b}.hub input[type=checkbox]{width:auto;margin:0 6px 0 0;display:inline-block}.hub fieldset{border:1px solid #d4dfcd;border-radius:10px;margin-bottom:16px;padding:12px;font-size:13px}.hub fieldset label{margin:5px 12px 5px 0;display:inline-block}.hub .hub-check{margin:10px 0 18px;font-size:13px;display:block}.hub .hub-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hub dialog{color:#17372e;background:#fbfcf9;border:1px solid #d5e0cf;border-radius:22px;width:min(640px,100vw - 24px);max-height:90dvh;margin:auto;padding:0}.hub dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16291f80}.hub dialog>header{z-index:3;background:#fbfcf9;border-bottom:1px solid #e5eadd;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;display:flex;position:sticky;top:0}.hub .hub-sheet-body{padding:24px}.hub .hub-error{color:#a33c38;margin:10px 0;font-size:13px}.hub .hub-toast{background:#e7efde;border-radius:12px;margin:12px 0;padding:12px 16px;font-size:13px}.hub .hub-preview img,.hub .hub-preview video{max-width:100%;max-height:65vh;margin:auto;display:block}.hub .hub-preview audio{width:100%}.hub a{color:#216c55}.hub .hub-page{padding-bottom:20px}@media (max-width:650px){.hub h2{font-size:25px}.hub .hub-heading{align-items:flex-start}.hub .hub-heading>.hub-btn{flex-shrink:0;max-width:110px;font-size:12px}.hub .hub-hero{padding:22px}.hub .hub-launchers{grid-template-columns:repeat(2,minmax(0,1fr))}.hub .hub-launchers .hub-btn{padding:16px}.hub .hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hub .hub-stats strong{font-size:25px}.hub .hub-card{padding:18px}.hub .hub-sheet-body{padding:20px}.hub dialog{max-height:88dvh}.hub .hub-nav{margin-left:-4px;margin-right:-4px}.hub .hub-nav .hub-btn{padding:8px 12px;font-size:12px}.hub .hub-heading small{letter-spacing:1.2px;font-size:9px}}.hub .hub-form-fields{border:0;min-width:0;margin:0;padding:0}.submission-attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.submission-attachment-tile{border:1px solid var(--border,#dfe5e2);background:var(--paper,#fff);min-width:0;color:var(--ink,#263238);text-align:left;cursor:pointer;font:inherit;border-radius:10px;flex-direction:column;padding:0;display:flex;overflow:hidden}.submission-attachment-tile:focus-visible{outline:3px solid var(--green,#276250);outline-offset:2px}.submission-attachment-visual{background:var(--surface-subtle,#f0f4f2);height:120px;color:var(--green,#276250);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.submission-attachment-visual img{object-fit:cover;background:var(--surface-subtle,#f0f4f2);width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.submission-video-label{font-size:12px}.submission-attachment-caption{box-sizing:border-box;width:100%;min-width:0;padding:12px}.submission-attachment-caption strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.submission-attachment-caption small{color:var(--muted,#687770);margin-top:6px;font-size:12px;display:block}.submission-file-picker{margin:16px 0}.submission-file-picker-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.submission-file-picker-heading span,.submission-file-help{color:var(--muted,#687770);font-size:12px;line-height:1.7}.submission-add-files{border:1px solid var(--border,#dfe5e2);color:var(--green,#276250);background:var(--paper,#fff);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:inline-flex;position:relative;overflow:hidden}.submission-add-files input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.submission-add-files:focus-within{outline:3px solid var(--green,#276250);outline-offset:2px}.submission-file-queue{border:1px solid var(--border,#dfe5e2);border-radius:8px;max-height:320px;margin:12px 0;padding:0;list-style:none;overflow-x:hidden;overflow-y:auto}.submission-file-queue li{border-top:1px solid var(--border,#dfe5e2);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.submission-file-queue li:first-child{border-top:0}.submission-queue-file{flex:1;min-width:0}.submission-queue-file strong{overflow-wrap:anywhere;font-size:13px;display:block}.submission-queue-file small{color:var(--muted,#687770);margin-top:5px;font-size:12px;display:block}.submission-queue-file progress{width:100%;height:8px;accent-color:var(--green,#276250);margin-top:8px;display:block}.submission-file-queue .btn{flex-shrink:0;min-height:36px;padding:7px 10px;font-size:12px}.submission-retained-list{gap:8px;margin:12px 0;display:grid}.submission-retained-list label{overflow-wrap:anywhere;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;display:flex}.submission-retained-list input{accent-color:var(--green,#276250);margin-top:4px}.submission-batch-status{color:var(--muted,#687770);margin:10px 0;font-size:13px;line-height:1.6}.submission-batch-status .btn{margin-top:8px}.submission-pending-details{color:var(--muted,#687770);margin:12px 0;font-size:13px}.submission-pending-details summary{cursor:pointer}@media (max-width:650px){.submission-attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.submission-attachment-visual{height:86px}.submission-attachment-caption{padding:6px}.submission-attachment-caption strong{-webkit-line-clamp:1;font-size:11px}.submission-attachment-caption small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.submission-video-label{font-size:10px}.submission-file-picker-heading{flex-direction:column;align-items:flex-start}.submission-file-queue li{gap:8px}.submission-queue-file strong{font-size:12px}}.kind-video .submission-attachment-kind-icon,.kind-video .submission-video-label{z-index:1;color:#fff;box-sizing:content-box;background:#1d252bcf;border-radius:30px;padding:6px;position:relative}.kind-video .submission-video-label{border-radius:5px;padding:3px 6px}.kind-video .submission-attachment-visual{background:#303d43}.submission-attachment-count{color:var(--muted,#687770);margin:12px 0 8px;font-size:12px;line-height:1.5}.submission-document-section{margin-top:14px}.submission-document-list{border:1px solid var(--border,#dfe5e2);background:var(--paper,#fff);border-radius:8px;overflow:hidden}.submission-document-row{border:0;border-top:1px solid var(--border,#dfe5e2);width:100%;min-width:0;color:var(--ink,#263238);text-align:left;font:inherit;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:12px;display:flex}.submission-document-row:first-child{border-top:0}.submission-document-row>svg{color:var(--muted,#687770);flex-shrink:0}.submission-document-row>span:first-of-type{flex:1;min-width:0}.submission-document-row strong{overflow-wrap:anywhere;font-size:13px;font-weight:550;line-height:1.5;display:block}.submission-document-row small{color:var(--muted,#687770);margin-top:3px;font-size:11px;display:block}.submission-document-open{color:var(--green,#276250);flex-shrink:0;font-size:12px}.submission-document-row:focus-visible{outline:2px solid var(--green,#276250);outline-offset:-2px}.submission-expand{margin-top:8px;font-size:12px}.submission-document-row:hover{background:var(--surface-subtle,#f0f4f2)}@media (max-width:450px){.submission-document-row{gap:8px;padding:10px}.submission-document-open{font-size:11px}}@media (max-width:400px){.submission-attachment-visual{height:74px}.submission-attachment-kind-icon{width:20px;height:20px}}.submission-attachments.is-compact .submission-attachment-grid{gap:6px}.submission-attachments.is-compact .submission-attachment-tile{border:0;border-radius:6px}.submission-attachments.is-compact .submission-attachment-visual{aspect-ratio:1;width:100%;height:auto}.submission-attachments.is-compact.submission-single .submission-attachment-grid{grid-template-columns:1fr;max-width:340px}.submission-attachments.is-compact.submission-single .kind-video .submission-attachment-visual{aspect-ratio:16/9}.submission-media-pending{color:var(--muted);text-align:center;padding:12px;font-size:12px}.app-shell .hub .hub-gallery-feed{border:1px solid var(--border);background:var(--paper);border-radius:8px;max-width:900px;overflow:hidden}.app-shell .hub .hub-gallery-post{border-bottom:1px solid var(--border);gap:14px;min-width:0;padding:24px;display:flex}.app-shell .hub .hub-gallery-post:last-child{border-bottom:0}.app-shell .hub .hub-gallery-avatar{background:var(--green-pale);width:42px;height:42px;color:var(--green);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:650;display:flex}.app-shell .hub .hub-gallery-content{flex:1;min-width:0}.app-shell .hub .hub-gallery-content>header{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.app-shell .hub .hub-gallery-content>header strong{color:var(--green);font-size:15px}.app-shell .hub .hub-gallery-content>header span,.app-shell .hub .hub-gallery-content time{color:var(--muted);font-size:12px}.app-shell .hub .hub-gallery-content time{margin-left:auto}.app-shell .hub .hub-gallery-task{flex-wrap:wrap;align-items:baseline;gap:8px;margin:8px 0;display:flex}.app-shell .hub .hub-gallery-task a,.app-shell .hub .hub-gallery-task>strong{color:var(--ink);font-size:14px;font-weight:600}.app-shell .hub .hub-gallery-task>span{color:var(--muted);font-size:11px}.app-shell .hub .hub-gallery-note .hub-prose{color:var(--ink);margin:10px 0 14px;font-size:14px;line-height:1.8}.app-shell .hub .hub-gallery-content .submission-attachments{max-width:620px}.app-shell .hub .hub-gallery-content .submission-attachment-tile,.app-shell .hub .hub-gallery-content .submission-document-row{font:inherit;color:var(--ink);text-align:left}.app-shell .hub .hub-gallery-preview-pending{color:var(--muted);text-align:center;padding:0 8px;font-size:11px;line-height:1.5}.app-shell .hub .kind-video .hub-gallery-preview-pending{color:#d8e0e5}.app-shell .hub .hub-gallery-actions{gap:8px;margin:16px 0 12px}.app-shell .hub .hub-gallery-actions .hub-btn{min-height:34px;padding:7px 10px;font-size:12px}.app-shell .hub .hub-gallery-actions .hub-gallery-liked{background:var(--green-pale);color:var(--green);border-color:var(--green)}.app-shell .hub .hub-gallery-more,.app-shell .hub .hub-gallery-criteria{color:var(--muted);margin:12px 0;font-size:12px}.app-shell .hub .hub-gallery-more summary,.app-shell .hub .hub-gallery-criteria summary{padding:4px 0}.app-shell .hub .hub-gallery-comments{background:var(--surface-subtle);border-radius:7px;margin:12px 0;padding:4px 12px}.app-shell .hub .hub-gallery-comments .hub-comment{border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin:0;padding:10px 0}.app-shell .hub .hub-gallery-comments .hub-comment:last-child{border-bottom:0}.app-shell .hub .hub-gallery-comments .hub-comment .hub-prose{margin:4px 0;font-size:13px}.app-shell .hub .hub-gallery-comments .hub-comment small{font-size:11px}.app-shell .hub .hub-gallery-feed>.hub-empty{border:0;border-radius:0}@media (max-width:650px){.app-shell .hub .hub-gallery-post{gap:10px;padding:18px 14px}.app-shell .hub .hub-gallery-avatar{border-radius:7px;width:32px;height:32px;font-size:15px}.app-shell .hub .hub-gallery-content>header{gap:4px 8px}.app-shell .hub .hub-gallery-content time{width:100%;margin-left:0}.app-shell .hub .hub-gallery-note .hub-prose{font-size:13px}.app-shell .hub .hub-gallery-actions .hub-btn{padding:7px 8px;font-size:11px}}.app-shell .hub .hub-gallery-social{max-width:620px}.app-shell .hub .hub-gallery-likes{background:var(--surface-subtle);color:var(--green);overflow-wrap:anywhere;border-radius:7px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.8;display:flex}.app-shell .hub .hub-gallery-likes>svg{flex-shrink:0;margin-top:3px}.app-shell .hub .hub-gallery-likes>div{min-width:0}.app-shell .hub .hub-gallery-likes details{color:var(--green);margin:4px 0 0}.app-shell .hub .hub-gallery-likes+.hub-gallery-comments{border-top:1px solid var(--border);border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.app-shell .hub .hub-gallery-invite{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.7}.app-shell .hub .hub-gallery-comments>.hub-gallery-more{margin:6px 0}.attendance-panel{color:var(--ink);max-width:1440px;margin:auto}.attendance-panel h1{margin:0;font-size:28px}.attendance-panel h2{margin:0;font-size:20px}.attendance-panel h3{margin:0;font-size:16px}.attendance-panel p{line-height:1.65}.attendance-panel .btn{white-space:normal;font-size:13px}.attendance-heading,.attendance-call-heading,.attendance-dialog>header,.attendance-projector>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.attendance-heading{margin-bottom:24px}.attendance-heading p,.attendance-call-heading p{color:var(--muted);margin:6px 0 0;font-size:13px}.attendance-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:18px;display:flex}.attendance-panel label{color:var(--muted);gap:7px;font-size:13px;display:grid}.attendance-panel input:not([type=checkbox]),.attendance-panel select,.attendance-panel textarea{border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:6px;padding:10px 12px}.attendance-panel textarea{resize:vertical;min-height:100px}.attendance-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.attendance-call-list{gap:8px;max-height:680px;display:grid;overflow:auto}.attendance-call-list>button{text-align:left;border:1px solid var(--border);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;gap:8px;padding:16px;display:grid}.attendance-call-list>button.selected{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.attendance-call-list span{color:var(--green);font-size:12px}.attendance-call-list strong{overflow-wrap:anywhere;font-size:14px}.attendance-call-list small{color:var(--muted);font-size:12px}.attendance-call{border:1px solid var(--border);background:var(--paper);border-radius:9px;min-width:0;overflow:hidden}.attendance-call-heading{padding:22px}.attendance-call-heading h2{overflow-wrap:anywhere}.attendance-timer{color:var(--green);white-space:nowrap;font-size:15px}.attendance-ended{color:var(--muted);white-space:nowrap;font-size:13px}.attendance-totals{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex}.attendance-totals>div{text-align:center;flex:1;gap:5px;padding:17px 8px;display:grid}.attendance-totals>div+div{border-left:1px solid var(--border)}.attendance-totals b{font-variant-numeric:tabular-nums;font-size:28px}.attendance-totals span{color:var(--muted);font-size:12px}.attendance-teacher-code{padding:24px}.attendance-code-display{text-align:center;justify-items:center;gap:12px;display:grid}.attendance-qr{aspect-ratio:1;background:#fff;border-radius:3px;width:min(100%,260px);height:auto;display:block}.attendance-digits{letter-spacing:.2em;color:var(--ink);font-variant-numeric:tabular-nums;padding-left:.2em;font-size:38px;font-weight:750;line-height:1.2}.attendance-code-display small{color:var(--muted);font-size:12px}.attendance-qr-wait{min-height:260px;color:var(--muted);place-items:center;display:grid}.attendance-actions{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 20px 24px;display:flex}.attendance-own{border-top:1px solid var(--border);padding:22px}.attendance-own form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px;display:flex}.attendance-own form>label{max-width:260px}.attendance-code-input{font-variant-numeric:tabular-nums;letter-spacing:.12em}.attendance-success{color:var(--green);font-weight:650}.attendance-roster{border-top:1px solid var(--border)}.attendance-roster-tools{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.attendance-roster-tools label{white-space:nowrap;align-items:center;gap:8px;display:flex}.attendance-roster-tools select{width:auto}.attendance-person{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.attendance-person>div{min-width:0}.attendance-person strong{font-size:14px}.attendance-person small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.attendance-person details{color:var(--muted);margin-top:8px;font-size:12px}.attendance-person details p{margin:7px 0}.attendance-status{background:var(--surface-subtle);color:var(--muted);border-radius:5px;margin-left:9px;padding:3px 7px;font-size:12px;display:inline-block}.attendance-status.is-signed,.attendance-status.is-present{color:var(--green)}.attendance-status.is-absent{color:var(--danger,#b75050)}.attendance-summary{background:var(--paper);border:1px solid var(--border);border-radius:8px;margin-top:20px;padding:18px 22px;font-size:14px}.attendance-summary>summary{cursor:pointer;font-weight:650}.attendance-table-scroll{margin-top:16px;overflow-x:auto}.attendance-panel table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.attendance-panel th,.attendance-panel td{text-align:left;border-top:1px solid var(--border);padding:12px}.attendance-panel th{font-weight:600}.attendance-legacy{border-top:1px solid var(--border);margin-top:18px;padding:16px 0}.attendance-legacy p{color:var(--muted);font-size:13px}.attendance-empty{color:var(--muted);padding:22px;font-size:14px}.attendance-error,.attendance-notice{overflow-wrap:anywhere;border-radius:6px;padding:12px 14px;font-size:13px}.attendance-error{background:var(--surface-subtle);border:1px solid var(--danger,#b75050);color:var(--danger,#b75050)}.attendance-notice{background:var(--surface-subtle);border:1px solid var(--border);color:var(--green)}.attendance-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.attendance-dialog{background:var(--paper);border:1px solid var(--border);border-radius:10px;width:min(100%,560px);max-height:90dvh;padding:24px;overflow:auto}.attendance-dialog form{gap:20px;margin-top:24px;display:grid}.attendance-dialog form>p{color:var(--muted);margin:0;font-size:13px}.attendance-dialog fieldset{border:1px solid var(--border);border-radius:6px;max-height:280px;padding:12px 14px;overflow:auto}.attendance-dialog legend{color:var(--muted);padding:0 5px;font-size:13px}.attendance-group-tools{gap:8px;margin-bottom:10px;display:flex}.attendance-dialog .attendance-group{color:var(--ink);align-items:center;gap:10px;padding:8px 0;display:flex}.attendance-group input{width:17px;height:17px;accent-color:var(--green);flex:none}.attendance-projector{background:var(--paper);z-index:1200;flex-direction:column;justify-content:space-between;align-items:center;padding:28px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.attendance-projector>header{width:100%;max-width:1200px}.attendance-projector h2{font-size:26px}.attendance-projector header p{color:var(--muted)}.attendance-projector .attendance-qr{width:min(52vh,60vw,540px)}.attendance-projector .attendance-digits{font-size:max(40px,min(6vw,68px))}.attendance-projector .attendance-code-display small{font-size:16px}.attendance-projector-count{color:var(--muted);font-size:20px}.attendance-projector-count b{color:var(--ink);font-size:30px}@media (max-width:720px){.attendance-layout{grid-template-columns:minmax(0,1fr)}.attendance-call-list{max-height:none;padding-bottom:4px;display:flex;overflow-x:auto}.attendance-call-list>button{flex:0 0 220px}.attendance-heading h1{font-size:24px}.attendance-call-heading{flex-wrap:wrap;padding:18px}.attendance-roster-tools,.attendance-person,.attendance-own{padding:16px}.attendance-person{align-items:flex-start}.attendance-person>.btn{flex-shrink:0;max-width:110px}.attendance-overlay{padding:12px}.attendance-dialog{max-height:94dvh;padding:18px}.attendance-dialog h2{font-size:18px}.attendance-projector{padding:18px}.attendance-projector h2{font-size:20px}.attendance-projector .attendance-qr{width:min(70vw,45vh)}.attendance-projector .attendance-code-display small{font-size:12px}.attendance-status{margin-left:6px}.attendance-summary{padding:16px}.attendance-roster-tools select{max-width:150px}}.attendance-module-nav{border-bottom:1px solid var(--border);flex-flow:wrap;gap:6px;margin-bottom:26px;padding:0 0 16px;display:flex}.attendance-module-nav a{color:var(--muted);border-radius:6px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none}.attendance-module-nav a:hover{background:var(--surface-subtle)}.attendance-module-nav a[aria-current=page]{background:var(--green-pale);color:var(--green)}@media (max-width:720px){.attendance-module-nav{white-space:nowrap;flex-wrap:nowrap;margin-bottom:20px;overflow-x:auto}.attendance-module-nav a{flex-shrink:0}}.attendance-history-note{color:var(--muted);margin:16px 0;font-size:13px}.attendance-history-tools{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.attendance-original-history{border:1px solid var(--border);color:var(--muted);border-radius:6px;margin-top:14px;padding:12px 14px;font-size:12px}.attendance-original-history>summary{cursor:pointer}.attendance-original-history p{font-size:12px}.attendance-day-banner{border:1px solid var(--border);background:var(--green-pale);color:var(--green);border-radius:8px;padding:14px 18px;font-size:14px}.attendance-day-summary{border-top:1px solid var(--border)}.attendance-day-summary h3{padding:16px 22px}.attendance-day-summary h3 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.attendance-day-summary>p{color:var(--muted);padding:0 22px;font-size:12px}.attendance-success small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:400;display:block}.attendance-projector-count small{text-align:center;margin-top:8px;font-size:14px;display:block}.management-dialog{border:1px solid var(--border);background:var(--paper);width:min(650px,100vw - 28px);max-height:90vh;color:var(--ink);border-radius:12px;margin:auto;padding:0;box-shadow:0 20px 70px #172b3433}.management-dialog::backdrop{background:#17302588}.management-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.management-dialog h2{overflow-wrap:anywhere;font-size:19px}.management-dialog-body{padding:22px 24px}.management-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.management-dialog .field{margin-bottom:16px}.management-dialog .field input,.management-dialog .field select,.management-dialog .field textarea{width:100%}.management-dialog .field input[type=file]{white-space:normal;max-width:100%;padding:10px}.management-dialog .field small{margin-top:5px;line-height:1.7;display:block}.management-note{color:var(--ink);margin:8px 0 18px;font-size:13px;line-height:1.8}.management-note.inset{padding:0 22px}.management-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.management-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.management-tabs{flex-wrap:wrap;gap:8px;display:flex}.management-tabs .active{background:var(--green-pale);border-color:var(--focus);color:var(--ink)}.management-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.managed-resource .management-row-actions{justify-content:flex-end;max-width:45%}.danger-text{color:var(--danger-ink)!important}.management-notice{background:var(--success-pale);border:1px solid var(--border);border-radius:8px;margin-bottom:15px;padding:12px 16px;font-size:13px;line-height:1.7}.management-empty{text-align:center;color:var(--muted);padding:26px;font-size:14px}.current-attachment{border:1px solid var(--border);background:var(--surface-subtle);overflow-wrap:anywhere;border-radius:8px;margin:12px 0 16px;padding:12px 14px}.current-attachment p{margin-top:6px;font-size:13px}.management-history{border-bottom:1px solid var(--border);padding:14px 0}.management-history p{color:var(--muted);margin:6px 0 12px;font-size:13px}.group-management{margin-bottom:24px}.group-management-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.group-management-card{border:1px solid var(--border);border-radius:8px;min-width:0;padding:16px}.group-management-card h3{overflow-wrap:anywhere;margin-bottom:6px;font-size:15px}.group-management-card p{color:var(--ink);margin:7px 0;font-size:13px;line-height:1.7}.group-management-card .management-row-actions{margin-top:12px}.student-assignment{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.student-assignment small{color:var(--muted);margin-top:4px;display:block}.group-filter{width:100%;margin:12px 0}.submission-management{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.withdrawn-notice{background:var(--warning-pale);color:var(--warning-ink);border-radius:8px;margin:10px 0;padding:10px 13px;font-size:13px;line-height:1.7}@media (max-width:650px){.management-dialog>header,.management-dialog-body{padding:17px}.managed-resource{flex-wrap:wrap;align-items:flex-start}.managed-resource .management-row-actions{justify-content:flex-start;width:100%;max-width:none}.group-management-list{grid-template-columns:1fr;padding:14px}.management-toolbar{flex-wrap:wrap;align-items:flex-start}.management-dialog .management-actions .btn{min-height:42px}.student-assignment{align-items:flex-start}}.inset-tabs{padding:0 18px 12px}.inset-message{margin:12px 18px}.student-assignment-list{padding:18px}.student-assignment-list>label{margin-bottom:15px}.feedback-panel{max-width:1240px;color:var(--ink);margin:auto}.feedback-heading,.feedback-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.feedback-heading{margin-bottom:14px}.feedback-heading h1{margin:0;font-size:28px}.feedback-heading p{color:var(--muted);margin:6px 0 0}.feedback-privacy{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.7}.feedback-toolbar,.feedback-scopes,.feedback-editor-actions,.feedback-pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-toolbar{justify-content:space-between;margin-bottom:16px}.feedback-scopes .btn[aria-pressed=true]{background:var(--green-pale);color:var(--green);border-color:var(--green)}.feedback-filters{background:var(--paper);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:22px;padding:18px;display:flex}.feedback-filters label,.feedback-editor fieldset>label,.feedback-editor-top label{color:var(--muted);gap:7px;font-size:13px;display:grid}.feedback-search{flex:1;min-width:200px}.feedback-panel input,.feedback-editor input:not([type=checkbox]):not([type=file]),.feedback-editor textarea{border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:6px;padding:10px 12px}.feedback-list{gap:20px;display:grid}.feedback-card{background:var(--paper);border:1px solid var(--border);border-radius:8px;min-width:0;padding:24px}.feedback-card-heading>div{min-width:0}.feedback-card h2{overflow-wrap:anywhere;margin:8px 0 4px;font-size:20px}.feedback-card time{color:var(--muted);font-size:12px}.feedback-byline{flex-wrap:wrap;gap:8px 12px;margin:0;font-size:13px;display:flex}.feedback-byline strong{color:var(--ink)}.feedback-byline span{color:var(--muted)}.feedback-copy{margin:20px 0}.feedback-copy h3{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:500}.feedback-copy p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.8}.feedback-plan{border-left:3px solid var(--green);background:var(--surface-subtle,var(--green-pale));border-radius:0 6px 6px 0;padding:16px 18px}.feedback-card .submission-attachments{margin-top:20px}.feedback-result-count{color:var(--muted);margin:0 0 12px;font-size:13px}.feedback-empty{text-align:center;background:var(--paper);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:45px 20px}.feedback-empty strong{color:var(--ink);font-size:17px}.feedback-empty p{margin:8px 0 0}.feedback-error,.feedback-notice,.feedback-retry{overflow-wrap:anywhere;border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.7}.feedback-error{color:var(--danger,#b75050);border:1px solid var(--danger,#b75050);background:var(--paper)}.feedback-error .btn{margin-left:14px}.feedback-notice{background:var(--green-pale);color:var(--green)}.feedback-retry{background:var(--surface-subtle);color:var(--ink);border:1px solid var(--border)}.feedback-pagination{justify-content:center;margin-top:24px}.feedback-pagination span{color:var(--muted);font-size:13px}.feedback-editor fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.feedback-editor-top{grid-template-columns:170px minmax(0,1fr);gap:16px;display:grid}.feedback-editor textarea{resize:vertical;min-height:90px}.feedback-editor-actions{margin-top:22px}.feedback-editor .current-attachment{min-width:0}.feedback-editor .submission-file-picker{margin:0}@media (max-width:700px){.feedback-heading h1{font-size:24px}.feedback-heading{gap:12px}.feedback-heading>.btn{flex-shrink:0}.feedback-heading p{font-size:13px}.feedback-card{padding:18px 15px}.feedback-card h2{font-size:18px}.feedback-filters{gap:12px;padding:14px}.feedback-filters>label{flex:1;min-width:130px}.feedback-filters .feedback-search{flex-basis:100%}.feedback-filters>.btn{width:100%}.feedback-editor-top{grid-template-columns:1fr}.feedback-plan{padding:12px 14px}.feedback-byline{gap:5px 9px}.feedback-privacy{font-size:12px}.feedback-error .btn{margin:8px 0 0;display:block}.feedback-card .submission-attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.media-feed .work-section-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.media-feed-item{border-bottom:1px solid var(--border,#e1e5e8);gap:14px;padding:24px;display:flex}.media-feed-item:last-child{border-bottom:0}.media-feed-avatar{background:var(--accent-bg,#eaf3ee);width:42px;height:42px;color:var(--green,#255e50);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:650;display:flex}.media-feed-content{flex:1;min-width:0}.media-feed-content>header{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.media-feed-content>header strong{color:var(--green,#255e50);font-size:15px}.media-feed-content>header span,.media-feed-content time{color:var(--muted);font-size:12px}.media-feed-content time{margin-left:auto}.media-feed-task{color:var(--ink,#273036);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:8px 0 0;padding:0;font-size:14px;font-weight:600;display:inline-flex}.media-feed-note{margin:10px 0 14px;font-size:14px;line-height:1.8}.media-feed-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.media-feed-details{margin-top:14px;font-size:12px}.media-feed-content .submission-attachments{max-width:620px}@media (max-width:600px){.media-feed-item{gap:10px;padding:18px 14px}.media-feed-avatar{border-radius:8px;width:32px;height:32px;font-size:15px}.media-feed-content>header{gap:4px 8px}.media-feed-content time{width:100%;margin-left:0}.media-feed-content .attachment-collection{margin-left:-42px}}.homepage-gallery .media-feed-all{white-space:nowrap;flex-shrink:0;font-size:12px}@media (max-width:450px){.homepage-gallery .work-section-heading{align-items:flex-start;gap:10px}.homepage-gallery .work-section-heading p{max-width:210px;font-size:11px}.homepage-gallery .media-feed-all{padding-top:3px}}.feed-social{margin-top:14px;font-size:13px}.feed-social-actions{align-items:center;gap:20px;display:flex}.feed-social-actions .text-btn{min-height:36px;font-size:13px}.feed-social-actions .is-liked{color:var(--green)}.feed-social-records{background:var(--surface-subtle);overflow-wrap:anywhere;border-radius:7px;margin-top:8px;padding:10px 12px;line-height:1.8}.feed-likers{color:var(--green);align-items:baseline;gap:7px;margin:0;display:flex}.feed-likers>svg{flex-shrink:0}.feed-likers .text-btn{font-size:inherit;margin-left:5px;display:inline}.feed-comment{white-space:pre-wrap;padding-top:5px}.feed-comment strong{color:var(--green);font-weight:600}.feed-comments-more{margin-top:6px;font-size:12px}.feed-comment-form{background:var(--surface-subtle);border-radius:8px;gap:12px;margin-top:14px;padding:14px;display:grid}.feed-comment-form label{color:var(--muted);gap:6px;font-size:12px;display:grid}.feed-comment-form select,.feed-comment-form textarea{box-sizing:border-box;background:var(--paper);border:1px solid var(--border);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:6px;padding:9px;font-size:14px}.feed-comment-form-actions{align-items:center;gap:15px;display:flex}.feed-comment-form-actions .btn{min-height:36px;padding:8px 12px;font-size:13px}.feed-social-message{color:var(--muted);margin:8px 0;font-size:12px}.resource-with-preview{align-items:flex-start}.resource-main{flex:1;min-width:0}.resource-with-preview .management-row-actions{flex-shrink:0}.resource-media-preview{width:min(100%,340px);margin-top:16px}.resource-media-preview .submission-attachment-grid{grid-template-columns:minmax(0,1fr);margin:8px 0 0}.resource-media-preview .submission-attachment-count{margin:0 0 8px}.resource-media-preview .submission-attachment-visual{aspect-ratio:4/3;height:auto;min-height:150px}.resource-media-preview .kind-video .submission-attachment-visual{aspect-ratio:16/9}.resource-media-preview .submission-attachment-caption{padding:10px 12px}.resource-media-preview .submission-attachment-caption strong{font-size:13px}.resource-media-preview .submission-attachment-caption small{font-size:11px}@media (max-width:650px){.resource-main{flex-basis:100%}.resource-media-preview{width:min(100%,320px)}.resource-with-preview .management-row-actions{flex-shrink:1}}.resource-media-preview.is-collection{width:min(100%,560px)}.resource-media-preview.is-collection .submission-attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.resource-media-preview.is-collection .submission-attachment-visual{aspect-ratio:1;min-height:0}.work-resource-item+.work-resource-item{border-top:1px solid var(--border)}.work-resource-media{max-width:calc(100% - 40px);margin:0 20px 18px}@media (max-width:650px){.resource-media-preview.is-collection{width:100%}.work-resource-media{max-width:calc(100% - 32px);margin-left:16px;margin-right:16px}}.class-progress-list{gap:20px;display:grid}.class-progress-task .panel-heading h2{font-size:18px}.class-progress-task .panel-heading p{margin:7px 0 0}.class-progress-row{border-top:1px solid var(--border);grid-template-columns:minmax(160px,1.5fr) minmax(140px,1fr) minmax(130px,1fr);align-items:center;gap:18px;padding:16px 24px;font-size:14px;display:grid}.class-progress-row time{color:var(--muted)}.class-progress-row.table-head{font-size:12px}.class-progress-table{overflow-x:auto}@media (max-width:640px){.class-progress-row{grid-template-columns:minmax(120px,1.2fr) minmax(110px,1fr) minmax(112px,1fr);gap:12px;min-width:390px;padding:14px 18px;font-size:13px}}:root[data-workbench-palette]{--bg:#f4f6f5;--paper:#fff;--surface-subtle:#f0f4f1;--ink:#24312c;--muted:#5f7067;--border:#dce4df;--green:#24624f;--green-deep:#184c3c;--green-pale:#e8f2ec;--primary:#24624f;--primary-hover:#184c3c;--on-primary:#fff;--accent-bg:var(--green-pale);--surface:var(--paper);--focus:#5a9c80;--success-ink:#36694b;--success-pale:#eaf4ed;--warning-ink:#825d1f;--warning-pale:#faf2e1;--danger-ink:#a24939;--danger-pale:#fbedeb;--info-ink:#3b628c;--info-pale:#edf2fa;--amber:#9b7025;accent-color:var(--primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-workbench-palette=ocean]{--bg:#f2f5fa;--surface-subtle:#edf2f8;--ink:#253346;--muted:#5c6c84;--border:#dbe3ed;--green:#245d99;--green-deep:#194879;--green-pale:#e7effa;--primary:#245d99;--primary-hover:#194879;--focus:#6f9ac8}:root[data-workbench-palette=iris]{--bg:#f6f3f9;--surface-subtle:#f1edf6;--ink:#342c42;--muted:#70647d;--border:#e3ddeb;--green:#69539c;--green-deep:#504078;--green-pale:#eee7f7;--primary:#69539c;--primary-hover:#504078;--focus:#9e86bf}:root[data-workbench-palette=clay]{--bg:#faf5ef;--paper:#fffdfa;--surface-subtle:#f5eee5;--ink:#3c3128;--muted:#756758;--border:#e8dfd2;--green:#9a5526;--green-deep:#78401b;--green-pale:#f8e9d9;--primary:#9a5526;--primary-hover:#78401b;--focus:#bb875d}:root[data-workbench-palette=graphite]{--bg:#f3f4f6;--surface-subtle:#edeff2;--ink:#282e36;--muted:#626b76;--border:#dce0e5;--green:#4d5866;--green-deep:#313b47;--green-pale:#e7ebef;--primary:#4d5866;--primary-hover:#313b47;--focus:#8694a5}:root[data-workbench-palette=rose]{--bg:#fcf4f7;--paper:#fffdfd;--surface-subtle:#faedf3;--ink:#402c36;--muted:#7d6070;--border:#eddbe3;--green:#9d426a;--green-deep:#7e3153;--green-pale:#f8e3ed;--primary:#9d426a;--primary-hover:#7e3153;--focus:#bb6a8e}:root[data-workbench-mode=dark]{--bg:#111a17;--paper:#1a2520;--surface-subtle:#202e27;--ink:#e4ede7;--muted:#a5b9ac;--border:#35463d;--green:#90d0b1;--green-deep:#b2e8cc;--green-pale:#244336;--primary:#397b60;--primary-hover:#3d8064;--focus:#8bc9aa;--success-ink:#a1d1ad;--success-pale:#253d2e;--warning-ink:#e0c18b;--warning-pale:#3c3323;--danger-ink:#edb2a5;--danger-pale:#422c2a;--info-ink:#b0c8ec;--info-pale:#29374b;--amber:#d7b875;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-workbench-palette=ocean][data-workbench-mode=dark]{--bg:#111923;--paper:#1a2533;--surface-subtle:#202e3e;--ink:#e3ebf5;--muted:#a6b6cb;--border:#35465b;--green:#9ec9f4;--green-deep:#c0dfff;--green-pale:#263f5c;--primary:#356fa9;--primary-hover:#3975ae;--focus:#94bfe9}:root[data-workbench-palette=iris][data-workbench-mode=dark]{--bg:#1a1621;--paper:#26202f;--surface-subtle:#302839;--ink:#eee7f4;--muted:#beb0cc;--border:#4b3f59;--green:#cbb0ed;--green-deep:#e3ccff;--green-pale:#413153;--primary:#7a5b9e;--primary-hover:#8868ac;--focus:#c3a5e8}:root[data-workbench-palette=clay][data-workbench-mode=dark]{--bg:#201911;--paper:#2c231b;--surface-subtle:#372c22;--ink:#f0e8df;--muted:#c6b4a1;--border:#504233;--green:#eac095;--green-deep:#ffdbb3;--green-pale:#4c3523;--primary:#a46534;--primary-hover:#a66836;--focus:#d9ae7b}:root[data-workbench-palette=graphite][data-workbench-mode=dark]{--bg:#17191d;--paper:#23262c;--surface-subtle:#2c3037;--ink:#e8ebf0;--muted:#b4bcc8;--border:#424954;--green:#c0cbdc;--green-deep:#e0e7f2;--green-pale:#384250;--primary:#5d6b80;--primary-hover:#64728a;--focus:#aebdd1}:root[data-workbench-palette=rose][data-workbench-mode=dark]{--bg:#21161c;--paper:#2d2027;--surface-subtle:#382831;--ink:#f5e8ee;--muted:#cdb0bc;--border:#57404b;--green:#f2b7cf;--green-deep:#ffd4e6;--green-pale:#513242;--primary:#9d426a;--primary-hover:#aa4973;--focus:#df9ab8}:root[data-workbench-palette] .btn.primary,:root[data-workbench-palette] .brand-mark{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}:root[data-workbench-palette] .btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}:root[data-workbench-palette] .login-page .login-story{background:var(--surface-subtle);color:var(--ink)}:root[data-workbench-palette] .login-page .brand-light b{color:var(--ink)}:root[data-workbench-palette] .login-page .login-flow>span{background:var(--paper);border-color:var(--border);color:var(--muted)}:root[data-workbench-palette] .login-page .login-flow>span svg{color:var(--green)}:root[data-workbench-palette] .login-page .brand-light .brand-mark{background:var(--primary);color:var(--on-primary)}:root[data-workbench-palette] .file-transfer-progress{background:var(--surface-subtle);color:var(--ink)}:root[data-workbench-palette] .file-transfer-progress progress,:root[data-workbench-palette] .hub-upload-progress progress{accent-color:var(--primary)}:root[data-workbench-palette] .modal-overlay,:root[data-workbench-palette] .sidebar-scrim{background:#10151d88}:root[data-workbench-palette] .management-dialog::backdrop{background:#10151d88}:root[data-workbench-palette] .attachment-dialog::backdrop{background:#10151d88}:root[data-workbench-palette] input::placeholder,:root[data-workbench-palette] textarea::placeholder{color:var(--muted);opacity:.8}:root[data-workbench-palette] .account-link-receipt textarea{background:var(--paper);color:var(--ink)}:root[data-workbench-palette] .task-progress b{background:var(--primary)}:root[data-workbench-palette] .avatar.mentor{color:var(--warning-ink)}:root[data-workbench-palette] .toast{background:var(--primary);color:var(--on-primary)}:root[data-workbench-palette] .toast button{color:var(--on-primary)}:root[data-workbench-palette] .app-shell .hub{--hub-ink:var(--ink);--hub-green:var(--primary);color:var(--ink)}:root[data-workbench-palette] .app-shell .hub .hub-btn{background:var(--paper);color:var(--green);border-color:var(--border)}:root[data-workbench-palette] .app-shell .hub .hub-btn:hover{background:var(--surface-subtle)}:root[data-workbench-palette] .app-shell .hub .hub-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}:root[data-workbench-palette] .app-shell .hub .hub-primary:hover{background:var(--primary-hover)}:root[data-workbench-palette] .app-shell .hub .hub-active{background:var(--green-pale);color:var(--green-deep)}:root[data-workbench-palette] .app-shell .hub .hub-nav .hub-btn{color:var(--muted);background:0 0}:root[data-workbench-palette] .app-shell .hub .hub-nav .hub-active{background:var(--green-pale);color:var(--green-deep)}:root[data-workbench-palette] .app-shell .hub .hub-card,:root[data-workbench-palette] .app-shell .hub .hub-hero,:root[data-workbench-palette] .app-shell .hub dialog,:root[data-workbench-palette] .app-shell .hub dialog>header{background:var(--paper);color:var(--ink);border-color:var(--border)}:root[data-workbench-palette] .app-shell .hub .hub-comment,:root[data-workbench-palette] .app-shell .hub .hub-stats>div{background:var(--surface-subtle)}:root[data-workbench-palette] .app-shell .hub .hub-tag{color:var(--green);background:var(--green-pale)}:root[data-workbench-palette] .app-shell .hub .hub-toast{color:var(--success-ink);background:var(--success-pale)}:root[data-workbench-palette] .app-shell .hub .hub-heading small,:root[data-workbench-palette] .app-shell .hub .hub-heading p,:root[data-workbench-palette] .app-shell .hub .hub-hero span,:root[data-workbench-palette] .app-shell .hub .hub-hero p,:root[data-workbench-palette] .app-shell .hub .hub-stats span,:root[data-workbench-palette] .app-shell .hub .hub-muted,:root[data-workbench-palette] .app-shell .hub .hub-launchers span,:root[data-workbench-palette] .app-shell .hub .hub-launchers i,:root[data-workbench-palette] .app-shell .hub .hub-comment small,:root[data-workbench-palette] .app-shell .hub .hub-prose,:root[data-workbench-palette] .app-shell .hub .hub-field,:root[data-workbench-palette] .app-shell .hub details,:root[data-workbench-palette] .app-shell .hub .hub-empty{color:var(--muted)}:root[data-workbench-palette] .app-shell .hub .hub-hero-aside,:root[data-workbench-palette] .app-shell .hub .hub-empty,:root[data-workbench-palette] .app-shell .hub fieldset{border-color:var(--border)}:root[data-workbench-palette] .app-shell .hub .hub-error{color:var(--danger-ink)}:root[data-workbench-palette] .app-shell .hub a{color:var(--green)}:root[data-workbench-palette] .app-shell .hub input,:root[data-workbench-palette] .app-shell .hub select,:root[data-workbench-palette] .app-shell .hub textarea{background:var(--paper);color:var(--ink);border-color:var(--border)}:root[data-workbench-palette] .app-shell .hub input:focus,:root[data-workbench-palette] .app-shell .hub select:focus,:root[data-workbench-palette] .app-shell .hub textarea:focus{outline-color:var(--focus)}:root[data-workbench-palette] .app-shell .hub .hub-watermark{color:var(--muted);opacity:.22}:root[data-workbench-palette] .app-shell .hub dialog::backdrop{background:#10151d88}.appearance-settings{grid-column:1/-1;min-width:0}.appearance-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.appearance-heading h2{color:var(--ink)}.appearance-heading p{color:var(--muted);margin-top:5px;font-size:13px}.appearance-save-note{color:var(--muted);white-space:nowrap;padding-top:3px;font-size:11px}.appearance-fieldset{border:0;min-width:0;margin:0;padding:0}.appearance-fieldset legend{margin-bottom:10px;padding:0;font-size:13px;font-weight:600}.appearance-palettes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.appearance-palette{cursor:pointer;border:1px solid var(--border);border-radius:7px;min-width:0;padding:9px;display:block;position:relative}.appearance-palette:hover{background:var(--surface-subtle)}.appearance-palette.is-selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.appearance-palette input{opacity:0;width:1px;height:1px;position:absolute}.appearance-palette:focus-within{outline:3px solid var(--focus);outline-offset:3px}.appearance-sample{background:var(--swatch-paper);border:1px solid #00000010;border-radius:4px;height:74px;display:flex;overflow:hidden}.appearance-sample-sidebar{background:#ffffffc9;border-right:1px solid #00000010;flex-direction:column;gap:7px;width:25%;padding:10px 5px;display:flex}.appearance-sample-sidebar i{background:var(--swatch-accent);opacity:.28;border-radius:2px;height:4px}.appearance-sample-sidebar i:first-child{opacity:1;height:7px}.appearance-sample-main{flex-direction:column;flex:1;gap:7px;min-width:0;padding:11px 8px;display:flex}.appearance-sample-main>i{background:var(--swatch-accent);opacity:.6;border-radius:2px;width:60%;height:4px}.appearance-sample-main>b{background:var(--swatch-accent);border-radius:2px;width:48%;height:13px;display:block}.appearance-sample-main>span{gap:5px;display:flex}.appearance-sample-main>span>i{background:#ffffffde;border-radius:2px;flex:1;height:18px;display:block}.appearance-palette-name{justify-content:space-between;align-items:center;margin-top:9px;font-size:13px;font-weight:600;display:flex}.appearance-check{min-width:16px;color:var(--green);font-size:14px}.appearance-description{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.6;display:block}.appearance-mode-fieldset{margin-top:23px}.appearance-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:660px;display:grid}.appearance-mode{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:11px;min-width:0;padding:12px 14px;display:flex}.appearance-mode:hover{background:var(--surface-subtle)}.appearance-mode.is-selected{border-color:var(--green);background:var(--green-pale)}.appearance-mode input{width:14px;height:14px;accent-color:var(--primary);flex-shrink:0;margin:0}.appearance-mode-symbol{color:var(--green);font-size:22px;line-height:1}.appearance-mode strong,.appearance-mode small{display:block}.appearance-mode strong{font-size:13px;font-weight:550}.appearance-mode small{color:var(--muted);margin-top:2px;font-size:11px}.appearance-footnote{color:var(--muted);margin-top:17px;font-size:12px}@media (max-width:1020px){.appearance-palettes{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.appearance-heading{flex-direction:column;gap:5px;margin-bottom:18px}.appearance-palettes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appearance-modes{grid-template-columns:1fr;gap:8px}.appearance-mode{min-height:58px}.appearance-mode strong,.appearance-mode small{display:inline}.appearance-mode small{margin-left:10px}}.appearance-settings .appearance-heading h2{color:var(--ink);margin-bottom:0}:root[data-workbench-palette] .work-count.pending i{background:var(--warning-ink)}:root[data-workbench-palette] .work-count.revision i{background:var(--danger-ink)}:root[data-workbench-palette] .work-count.accepted i{background:var(--success-ink)}.directory-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.directory-toolbar p{color:var(--muted,var(--muted));margin:0}.directory-toolbar button{flex:none}.group-summary.directory-own{border-color:var(--focus)}.group-summary h3 .you{margin-left:8px;font-size:12px;font-weight:500}.directory-group-names{overflow-wrap:anywhere;margin-top:10px;line-height:1.8}.members-row.directory-own-row{background:var(--green-pale)}@media (max-width:600px){.directory-toolbar{align-items:flex-start}}.password-field{width:100%;position:relative}.password-field .password-field-input{width:100%;padding-right:4.6rem}.password-field .password-visibility{min-width:44px;min-height:40px;color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:4px 8px;font-size:14px;line-height:1.3;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-field .password-visibility:hover{background:var(--surface-subtle)}.password-field .password-visibility:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.password-field .password-visibility:disabled{opacity:.5;cursor:default}.filing-footer{width:100%;color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:3px;padding:16px 12px 20px;font-size:12px;line-height:1.7;display:flex}.filing-footer a:hover{color:var(--ink);text-decoration:underline}.login-page-with-filing{grid-template-rows:1fr auto}.login-page-with-filing>.login-story,.login-page-with-filing>.login-main{min-height:0}.login-page-with-filing>.filing-footer{border-top:1px solid var(--border);grid-column:1/-1}.scanner-overlay{z-index:3000;background:#000000a8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.scanner-dialog{border:1px solid var(--border);background:var(--paper);width:min(100%,460px);max-height:calc(100dvh - 36px);color:var(--ink);border-radius:12px;outline:none;padding:20px;overflow:auto;box-shadow:0 18px 60px #00000040}.scanner-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.scanner-dialog h2{align-items:center;gap:9px;margin:0;font-size:20px;display:flex}.scanner-dialog h2 svg{width:23px;height:23px;color:var(--green)}.scanner-dialog header p{color:var(--muted);margin:6px 0 0;font-size:13px}.scanner-close{border:1px solid var(--border);background:var(--paper);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:7px;flex:none;place-items:center;display:grid}.scanner-close svg{width:20px;height:20px}.scanner-viewfinder{aspect-ratio:1;background:#111b18;border-radius:9px;position:relative;overflow:hidden}.scanner-viewfinder video{object-fit:contain;opacity:0;width:100%;height:100%;display:block}.scanner-viewfinder.is-scanning video{opacity:1}.scanner-viewfinder video.is-front-camera{transform:scaleX(-1)}.scanner-frame{pointer-events:none;position:absolute;top:13%;bottom:13%;left:13%;right:13%}.scanner-frame span{opacity:.8;border:3px solid #fff;width:28px;height:28px;position:absolute}.scanner-frame span:first-child{border-bottom:0;border-right:0;border-radius:8px 0 0;top:0;left:0}.scanner-frame span:nth-child(2){border-bottom:0;border-left:0;border-radius:0 8px 0 0;top:0;right:0}.scanner-frame span:nth-child(3){border-top:0;border-right:0;border-radius:0 0 0 8px;bottom:0;left:0}.scanner-frame span:nth-child(4){border-top:0;border-left:0;border-radius:0 0 8px;bottom:0;right:0}.scanner-camera-status{color:#dbe8e2;background:#111b18;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.scanner-camera-status svg{opacity:.75;width:42px;height:42px}.scanner-message{overflow-wrap:anywhere;min-height:23px;margin:14px 0;font-size:14px;line-height:1.6}.scanner-message.is-error{color:var(--danger,#b75050)}.scanner-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.scanner-controls .btn{white-space:normal;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:13px;display:inline-flex}.scanner-file{display:none!important}.scanner-privacy{color:var(--muted);text-align:center;margin:16px 0 0;font-size:12px;line-height:1.6}.scanner-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}.scanner-controls .btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}.scanner-viewfinder[hidden]{display:none}.scanner-result-focus{outline:none}.scanner-result{padding:8px 0 22px}.scanner-result h3{margin:0 0 12px;font-size:17px}.scanner-result-origin{color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px;font-size:13px}.scanner-result-origin bdi{color:var(--ink);font-weight:600}.scanner-result-text{border:1px solid var(--border);background:var(--surface-subtle);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:7px;max-height:40dvh;margin:0 0 16px;padding:16px;font-size:14px;line-height:1.7;overflow:auto}.scanner-result-actions{flex-wrap:wrap;gap:10px;display:flex}.scanner-result-actions .btn{min-height:44px}.scanner-copy-message{color:var(--green);margin:12px 0 0;font-size:13px}.scanner-result-actions .btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (max-width:520px){.scanner-overlay{padding:12px}.scanner-dialog{max-height:calc(100dvh - 24px);padding:16px}.scanner-controls .btn{flex:1}.scanner-viewfinder{aspect-ratio:1;max-height:48dvh}.scanner-dialog h2{font-size:19px}}.login-methods{border-bottom:1px solid var(--border,#dde4e1);gap:8px;margin:20px 0 24px;display:flex}.login-methods button{color:var(--muted,#66776d);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:12px;font-weight:600}.login-methods button[aria-pressed=true]{color:var(--green,#235f50);border-bottom-color:currentColor}.qr-login-panel{text-align:center;min-height:320px;padding:4px 0 0}.login-qr-image{border:8px solid #fff;border-radius:6px;width:236px;max-width:100%;height:auto;margin:0 auto;display:block}.qr-login-match{color:var(--ink,#25342e);justify-content:center;align-items:center;gap:12px;margin:18px 0;display:flex}.qr-login-match span{color:var(--muted,#66776d);font-size:14px}.qr-login-match strong{font-variant-numeric:tabular-nums;letter-spacing:.16em;font-size:26px}.qr-login-panel p{justify-content:center;align-items:center;gap:8px;margin:10px 0;display:flex}.qr-login-session-note{color:var(--muted,#66776d);margin:22px 0 0;font-size:12px;line-height:1.6;display:block}.qr-login-confirmation{background:var(--bg,#f4f6f5);place-items:center;min-height:100dvh;padding:24px;display:grid}.qr-login-confirmation>section{background:var(--paper,#fff);border:1px solid var(--border,#dde4e1);text-align:center;width:min(100%,440px);color:var(--ink,#25342e);border-radius:14px;padding:32px 24px}.qr-login-confirmation h1{margin:18px 0;font-size:25px}.qr-login-confirm-actions{gap:12px;margin-top:28px;display:grid}.qr-login-confirm-actions .btn{justify-content:center;width:100%;min-height:48px}@media (max-width:420px){.qr-login-confirmation{padding:16px}.qr-login-confirmation>section{padding:28px 18px}.login-qr-image{width:220px}}.workbench-scan-entry{border:1px solid var(--border);background:var(--paper);min-height:40px;color:var(--green);font:inherit;white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.workbench-scan-entry:hover{background:var(--surface-subtle)}.workbench-scan-entry:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (max-width:760px){.app-shell .topbar,.app-shell .topbar-right{gap:8px}.app-shell .topbar-right .local-chip{display:none}.workbench-scan-entry{gap:5px;min-height:40px;padding:7px 9px}.app-shell .breadcrumb{gap:7px;min-width:0}.app-shell .breadcrumb strong{text-overflow:ellipsis;max-width:105px;overflow:hidden}}@media (max-width:360px){.app-shell .topbar{padding-left:10px;padding-right:10px}.app-shell .breadcrumb>span,.app-shell .breadcrumb>svg{display:none}}:root{--bg:#f7f8fa;--paper:#fff;--ink:#202b2c;--muted:#83908e;--green:#245f51;--green-deep:#174c40;--green-pale:#edf4ef;--border:#e8edeb;--amber:#b88430;--sidebar:230px;--font:Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}body{color:var(--ink);font-family:var(--font);background:var(--bg);margin:0;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{transition:background .18s,color .18s,box-shadow .18s,transform .18s}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}h1,h2,h3,p{margin:0}h1{letter-spacing:-.7px;font-size:28px;font-weight:650;line-height:1.4}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{letter-spacing:2px;color:var(--muted);margin-bottom:10px;font-size:10px;font-weight:650}.btn{border:1px solid var(--border);background:var(--paper);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:10px 17px;font-size:13px;font-weight:550;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--focus)}.btn.primary{background:var(--primary);border-color:var(--green);color:var(--on-primary);box-shadow:0 3px 7px #21513e12}.btn.primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.text-btn{color:var(--green);background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:550;display:inline-flex}.text-btn:hover{color:var(--green)}.icon-btn{color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-btn:hover{background:var(--surface-subtle);color:var(--green)}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);background:var(--paper);border-right:1px solid var(--border);z-index:30;flex-direction:column;padding:31px 18px 0;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0 10px;display:flex}.brand-mark{background:var(--primary);color:var(--on-primary);border-radius:12px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.brand b{letter-spacing:3px;font-size:23px;line-height:1.2;display:block}.brand small{letter-spacing:1px;color:var(--muted);margin-top:5px;font-size:10px;display:block}.class-selector{border:1px solid var(--border);background:var(--paper);border-radius:9px;align-items:center;gap:9px;margin-top:34px;padding:12px 10px;display:flex}.class-selector strong{font-size:12px;font-weight:600;display:block}.class-selector small{color:var(--muted);font-size:10px;display:block}.class-selector>svg{color:var(--muted);margin-left:auto}.class-avatar{color:var(--muted);display:flex}.nav-caption{color:var(--muted);letter-spacing:1px;margin:29px 13px 11px;font-size:10px}nav{flex-direction:column;gap:5px;display:flex}nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;padding:13px 15px;font-size:13px;display:flex}nav button:hover{background:var(--surface-subtle)}nav button.active{color:var(--ink);background:var(--green-pale);font-weight:600}nav button.active svg{stroke-width:2.2px}.nav-count{background:var(--green-pale);border-radius:5px;margin-left:auto;padding:0 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-tip{background:var(--surface-subtle);border:1px solid var(--border);border-radius:9px;padding:16px 13px}.sidebar-tip>span{color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.sidebar-tip p{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.9}.user-card{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:24px;padding:20px 0;display:flex}.avatar{background:var(--green-pale);width:34px;height:34px;color:var(--ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar.mentor{background:var(--warning-pale);color:var(--ink)}.avatar.student{background:var(--info-pale);color:var(--info-ink)}.user-card strong{white-space:nowrap;text-overflow:ellipsis;max-width:105px;font-size:11px;display:block;overflow:hidden}.user-card small{color:var(--muted);font-size:10px;display:block}.user-card button{margin-left:auto}.main-shell{margin-left:var(--sidebar)}.topbar{border-bottom:1px solid var(--border);background:#ffffffc9;justify-content:space-between;align-items:center;gap:15px;height:76px;padding:0 38px;display:flex}.breadcrumb{color:var(--muted);white-space:nowrap;align-items:center;gap:12px;font-size:11px;display:flex}.topbar-right{align-items:center;gap:22px;display:flex}.global-search{color:var(--muted);align-items:center;gap:8px;display:flex}.global-search input{width:130px;color:var(--ink);background:0 0;border:0;outline:none;font-size:11px}.global-search input::placeholder{color:var(--muted)}.global-search kbd{border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:0 5px;font-family:inherit;font-size:9px}.local-chip{background:var(--surface-subtle);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:20px;align-items:center;gap:7px;padding:4px 10px;font-size:10px;display:inline-flex}.local-chip i,.tiny-dot{background:#75a582;border-radius:50%;width:5px;height:5px;display:inline-block}.main-content{max-width:1550px;margin:auto;padding:36px 38px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--border);border-radius:11px;padding:18px 20px 16px;box-shadow:0 2px 2px #20382b02}.stat-card>div{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.green{background:var(--green-pale);color:var(--green)}.amber{background:var(--warning-pale);color:var(--warning-ink)}.rose{background:var(--danger-pale);color:var(--danger-ink)}.blue{background:var(--info-pale);color:var(--info-ink)}.stat-card>strong{letter-spacing:-1px;margin:8px 0;font-size:31px;font-weight:600;line-height:1.4;display:block}.stat-card>strong small{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:10px;font-weight:400}.stat-card>p{color:var(--muted);white-space:nowrap;font-size:10px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 276px;align-items:start;gap:23px;display:grid}.dashboard-columns>div,.right-column{min-width:0}.right-column{flex-direction:column;gap:20px;display:flex}.panel{background:var(--paper);border:1px solid var(--border);border-radius:11px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:15px;padding:22px 22px 18px;display:flex}.panel-heading h2{font-size:15px}.panel-heading h2>span{background:var(--surface-subtle);color:var(--muted);border-radius:5px;margin-left:7px;padding:2px 6px;font-size:10px}.focus-card{background:var(--green-pale);border:1px solid var(--border);border-radius:11px;justify-content:space-between;min-height:222px;margin-bottom:24px;padding:26px 28px 24px;display:flex;position:relative;overflow:hidden}.focus-label{color:var(--muted);background:#dfe9dbb3;border-radius:5px;align-items:center;gap:7px;margin-bottom:13px;padding:3px 8px;font-size:10px;display:inline-flex}.focus-card h2{color:var(--ink);letter-spacing:-.5px;font-size:23px;line-height:1.5}.focus-card p{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.9}.focus-card button{color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;margin-top:19px;padding:0;font-size:11px;font-weight:600;display:flex}.focus-art{flex-shrink:0;width:195px;margin-left:15px;position:relative}.art-orbit{border:1px solid var(--border);border-radius:50%;width:245px;height:245px;position:absolute;top:-37px;left:-10px;box-shadow:0 0 0 26px #dfe9dc59,0 0 0 53px #dfe9dc30}.art-sheet{border:1px solid var(--border);background:#ffffffea;border-radius:10px;width:132px;height:160px;padding:16px;position:absolute;top:-2px;left:26px;transform:rotate(8deg);box-shadow:6px 12px 18px #758b6612}.art-logo{background:var(--surface-subtle);width:35px;height:35px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;margin-bottom:13px;display:flex}.art-sheet b{color:var(--muted);margin-bottom:9px;font-size:9px;display:block}.art-sheet>i{background:var(--surface-subtle);border-radius:3px;height:4px;margin:6px 0;display:block}.art-sheet>i:last-of-type{width:65%}.art-sheet>div{gap:4px;margin-top:12px;display:flex}.art-sheet>div>span{background:var(--surface-subtle);border-radius:3px;width:20px;height:12px}.art-check{border:4px solid var(--border);width:37px;height:37px;color:var(--on-primary);background:#779567;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1px;right:15px}.art-note{background:var(--paper);border:1px solid var(--border);color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:8px;display:flex;position:absolute;bottom:2px;left:1px;transform:rotate(-5deg);box-shadow:0 5px 9px #58744508}.task-row{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:15px;width:100%;padding:21px 24px;display:flex}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--paper)}.task-symbol{background:var(--green-pale);color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:46px;display:flex}.task-symbol.purple{color:var(--muted);background:var(--green-pale)}.task-row-main{flex:1;min-width:0}.task-title{overflow-wrap:anywhere;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.priority-dot{background:#d4b26b;border-radius:50%;flex-shrink:0;width:5px;height:5px}.task-meta{color:var(--muted);align-items:center;gap:7px;margin-top:5px;font-size:10px;display:flex}.task-meta i{background:var(--surface-subtle);border-radius:50%;width:3px;height:3px}.task-date{text-align:center;flex-shrink:0;min-width:50px}.task-date>span{color:var(--muted);font-size:11px;display:block}.task-date small{color:var(--muted);font-size:9px}.task-progress{min-width:74px;color:var(--muted);text-align:right;font-size:10px}.task-progress>i{background:var(--surface-subtle);border-radius:4px;height:3px;margin-top:6px;display:block}.task-progress b{background:var(--primary);border-radius:4px;height:3px;display:block}.badge{color:var(--muted);background:var(--surface-subtle);white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:4px;height:4px}.badge.pending{color:var(--warning-ink);background:var(--warning-pale)}.badge.revision{color:var(--danger-ink);background:var(--danger-pale)}.badge.accepted{color:var(--success-ink);background:var(--success-pale)}.badge.unsubmitted{color:var(--info-ink);background:var(--info-pale)}.compact{gap:12px;padding:18px 21px}.compact .task-progress{display:none}.compact .task-date{margin-right:5px}.compact .task-symbol{width:36px;height:40px}.compact .task-title{font-size:12px}.panel-foot{color:var(--muted);background:var(--paper);border-top:1px solid var(--border);align-items:center;gap:7px;padding:12px 22px;font-size:9px;display:flex}.timeline{padding:5px 23px 20px}.timeline-item{border-left:1px solid var(--border);margin-left:4px;padding:0 0 23px 19px;position:relative}.timeline-item:last-child{border:0;padding-bottom:0}.timeline-dot{background:var(--surface-subtle);border:1px solid var(--border);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:-3px}.timeline-dot.first{background:var(--primary);box-shadow:0 0 0 3px #f1f6ec}.timeline-item>strong{color:var(--muted);font-size:11px;font-weight:550}.timeline-item>p{color:var(--muted);overflow-wrap:anywhere;margin:3px 0 4px;font-size:10px;line-height:1.7}.timeline-item>small{color:var(--muted);font-size:9px}.ai-card{border:1px dashed var(--border);background:linear-gradient(125deg, var(--surface-subtle), var(--surface-subtle));border-radius:11px;padding:20px;position:relative}.ai-card>.ai-icon{float:right;background:var(--surface-subtle);width:33px;height:33px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:flex}.ai-card>div{color:var(--muted);align-items:center;gap:8px;display:flex}.ai-card h3{color:var(--muted);font-size:12px}.ai-card p{color:var(--muted);margin-top:13px;font-size:10px;line-height:1.9}.subtle-badge{background:var(--surface-subtle);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:400;display:inline-block}.ai-note{color:var(--muted);border-top:1px solid var(--border);margin-top:15px;padding-top:13px;font-size:9px;display:block}.workspace-footer{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:15px;margin:33px 0 0;padding:18px 0;font-size:9px;display:flex}.workspace-footer>span:first-child{align-items:center;gap:7px;display:flex}.filter-bar{justify-content:space-between;align-items:center;gap:15px;margin:24px 0 18px;display:flex}.tabs{flex-wrap:wrap;gap:7px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:11px}.tabs button.active{background:var(--green-pale);color:var(--ink);font-weight:550}.tabs button:hover{background:var(--surface-subtle)}.back{margin-bottom:24px}.detail-heading h1{margin-top:12px;font-size:27px}.detail-heading p{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-heading-labels{gap:10px;display:flex}.platform-badge{background:var(--green-pale);color:var(--green);border-radius:4px;padding:3px 8px;font-size:10px}.heading-actions{gap:10px;display:flex}.detail-grid{grid-template-columns:minmax(0,1fr) 270px;gap:22px;display:grid}.detail-grid>div{min-width:0}.instructions{padding:26px}.instructions h2{color:var(--ink);align-items:center;gap:9px;margin-bottom:17px;font-size:15px;display:flex}.instructions>p{color:var(--muted);font-size:12px;line-height:2}.deliverable{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;margin:22px 0 26px;padding:16px 18px}.deliverable>span{color:var(--muted);font-size:10px}.deliverable p{color:var(--muted);margin-top:7px;font-size:12px}.criteria{margin:0;padding:0;list-style:none}.criteria li{color:var(--muted);align-items:flex-start;gap:11px;margin:12px 0;font-size:12px;display:flex}.criteria li>span{background:var(--surface-subtle);width:20px;height:20px;color:var(--muted);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.learning-goal{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:10px;margin-top:24px;padding-top:18px;display:flex}.learning-goal>svg{flex-shrink:0;margin-top:3px}.learning-goal strong{font-size:10px;font-weight:500}.learning-goal p{color:var(--muted);margin-top:4px;font-size:12px}.review-rule{color:var(--muted);align-items:center;gap:6px;margin-top:18px;font-size:10px;display:flex}.review-rule svg{flex-shrink:0}.submissions-panel{margin-top:23px}.submission-group{border-top:1px solid var(--border);padding:23px 25px}.submission-group-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.submission-group-heading>div{align-items:center;gap:10px;font-size:13px;display:flex}.small-group-avatar{background:var(--green-pale);width:28px;height:28px;color:var(--green);border-radius:7px;justify-content:center;align-items:center;display:flex}.version-header{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:19px 0 10px;font-size:11px;display:flex}.version-header small{color:var(--muted);font-size:10px}.file-link{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.file-link:hover{border-color:var(--focus);background:var(--surface-subtle)}.file-icon{color:var(--green);flex-shrink:0;display:flex}.file-link>span:nth-child(2){flex:1;min-width:0}.file-link strong{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:500;display:block}.file-link small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.file-link>svg{color:var(--muted);flex-shrink:0}.submission-copy{margin:20px 0}.submission-copy>strong{color:var(--muted);font-size:10px;font-weight:500}.submission-copy>p{color:var(--muted);margin:5px 0 14px;font-size:12px}.business-passed{background:var(--success-pale);color:var(--success-ink);border-radius:6px;align-items:center;gap:7px;margin-bottom:18px;padding:10px 12px;font-size:11px;display:flex}.reviews{flex-direction:column;gap:10px;display:flex}.review{border-left:2px solid var(--border);background:var(--surface-subtle);border-radius:0 8px 8px 0;padding:13px 15px}.review.revise{border-left-color:var(--border);background:var(--paper)}.review.business_pass,.review.accept{border-left-color:var(--border)}.review>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.review>div>strong{color:var(--muted);font-size:10px;font-weight:550}.small-avatar{border-radius:6px;width:22px;height:22px;font-size:9px}.review-kind{color:var(--muted);margin-left:auto;font-size:9px}.review>p{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.9}.review>small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.review-form{border-top:1px dashed var(--border);margin-top:18px;padding-top:22px}.review-form>label{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:11px;display:flex}.review-form textarea{border:1px solid var(--border);resize:vertical;width:100%;color:var(--ink);background:var(--paper);border-radius:8px;padding:12px;font-size:12px}.review-form>div{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.review-form select{border:1px solid var(--border);background:var(--paper);color:var(--muted);border-radius:6px;max-width:65%;padding:8px;font-size:11px}.history{border-top:1px solid var(--border);color:var(--muted);margin-top:23px;font-size:11px}.history summary{cursor:pointer;padding:15px 0 0}.history-version{border-bottom:1px solid var(--border);padding:15px 0}.history-version>p{color:var(--muted);margin:12px 0;font-size:11px}.history-review{background:var(--surface-subtle);border-radius:6px;margin:10px 0;padding:12px}.history-review strong{font-size:10px;font-weight:500}.history-review p{margin-top:6px;font-size:11px}.no-submission{text-align:center;color:var(--muted);padding:25px 0}.no-submission p{margin:8px 0 15px;font-size:11px}.group-panel{padding:22px}.group-panel h2{font-size:14px}.completion{align-items:center;gap:15px;margin:18px 0;display:flex}.completion strong{color:var(--ink);font-size:32px;font-weight:550}.completion strong small{color:var(--muted);font-size:16px;font-weight:400}.completion>span{color:var(--muted);font-size:10px}.group-status{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:13px 0;font-size:11px;display:flex}.help-panel{padding:22px}.help-panel h3{color:var(--muted);margin-top:13px;font-size:13px}.help-panel p{color:var(--muted);margin:9px 0 17px;font-size:11px;line-height:1.9}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.portfolio-card{border:1px solid var(--border);background:var(--paper);text-align:left;border-radius:11px;padding:0;overflow:hidden}.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #21452f0b}.portfolio-cover{height:155px;color:var(--muted);background:linear-gradient(145deg, var(--surface-subtle), var(--surface-subtle));justify-content:center;align-items:center;display:flex;position:relative}.portfolio-cover>span{letter-spacing:1.5px;color:var(--muted);font-size:9px;position:absolute;bottom:13px;left:20px}.portfolio-body{padding:21px}.portfolio-body>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.portfolio-body h3{margin-top:17px;font-size:14px}.portfolio-body>p{color:var(--muted);margin-top:7px;font-size:11px}.portfolio-body footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin-top:21px;padding-top:13px;font-size:9px;display:flex}.resource-banner{background:var(--green-pale);border:1px solid var(--border);color:var(--muted);border-radius:10px;align-items:center;gap:17px;margin-bottom:24px;padding:21px 24px;display:flex}.resource-banner strong{color:var(--green);font-size:13px}.resource-banner p{color:var(--muted);margin-top:4px;font-size:11px}.resource-row{border-top:1px solid var(--border);align-items:center;gap:18px;padding:23px;display:flex}.resource-icon{background:var(--green-pale);width:45px;height:50px;color:var(--muted);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resource-info{flex:1;min-width:0}.resource-info>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.resource-info strong{font-size:13px}.resource-info p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0;font-size:11px}.resource-info small{color:var(--muted);font-size:10px}.group-cards{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px;display:grid}.group-summary{padding:23px}.group-summary h3{margin-top:13px;font-size:14px}.group-summary p{color:var(--muted);margin-top:7px;font-size:11px}.group-summary small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.members-table{overflow-x:auto}.members-row{border-top:1px solid var(--border);min-width:420px;color:var(--muted);grid-template-columns:2fr 1fr 1.2fr;align-items:center;gap:16px;padding:18px 25px;font-size:12px;display:grid}.table-head{background:var(--surface-subtle);color:var(--muted);padding-top:11px;padding-bottom:11px;font-size:10px}.person-cell{align-items:center;gap:10px;display:flex}.person-cell strong{color:var(--ink);font-size:12px;font-weight:500}.you{color:var(--green);background:var(--green-pale);border-radius:4px;padding:0 4px;font-size:9px}.settings-grid{grid-template-columns:1.1fr 1fr;gap:22px;display:grid}.settings-card{padding:26px}.settings-card h2{color:var(--green);align-items:center;gap:10px;margin-bottom:23px;font-size:15px;display:flex}.setting-row{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:12px 0;font-size:11px;display:flex}.setting-row strong{color:var(--muted);font-weight:500}.setting-hint{color:var(--muted);margin:17px 0;font-size:11px;line-height:1.9}.settings-actions{flex-wrap:wrap;gap:10px;margin:22px 0 12px;display:flex}.settings-card>small{font-size:9px;display:block}.backup-receipt{color:var(--success-ink);overflow-wrap:anywhere;align-items:center;gap:6px;margin-top:16px;font-size:10px;display:flex}.full-width{grid-column:1/-1}.howto-grid{grid-template-columns:repeat(4,1fr);gap:27px;display:grid}.howto-grid>div>span{color:var(--muted);font-size:26px;font-weight:600}.howto-grid h3{color:var(--muted);margin:9px 0;font-size:12px}.howto-grid p{color:var(--muted);font-size:11px;line-height:1.9}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field>span{color:var(--ink);font-size:12px;font-weight:550}.field input,.field textarea,.field select{border:1px solid var(--border);background:var(--paper);width:100%;color:var(--ink);border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{resize:vertical}.field small{color:var(--muted);font-size:10px;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.checkbox-group{flex-wrap:wrap;gap:12px;display:flex}.checkbox-group label{border:1px solid var(--border);color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;display:flex}.checkbox-group input,.checkbox-label input{accent-color:var(--green)}.checkbox-label{color:var(--muted);align-items:center;gap:8px;margin-bottom:18px;font-size:11px;display:flex}.file-drop{background:var(--green-pale);border:1px dashed var(--border);color:var(--muted);cursor:pointer;border-radius:9px;flex-direction:column;align-items:center;gap:7px;margin-bottom:20px;padding:24px 20px;display:flex;position:relative;overflow:hidden}.file-drop:hover{background:var(--green-pale);border-color:var(--focus)}.file-drop strong{color:var(--green);overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:12px}.file-drop span{color:var(--muted);font-size:10px}.file-drop input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.form-error{background:var(--danger-pale);border:1px solid var(--border);color:var(--danger-ink);border-radius:7px;align-items:center;gap:8px;margin:12px 0;padding:11px 13px;font-size:12px;display:flex}.form-error button{color:inherit;background:0 0;border:0;margin-left:auto;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#162d2261;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--paper);border-radius:15px;width:600px;max-width:100%;max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 20px 80px #152c3040}.modal-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:26px 28px 20px;display:flex}.modal-heading .eyebrow{margin-bottom:5px;font-size:8px}.modal-heading h2{font-size:20px}.modal form{padding:23px 28px 0}.modal-actions{border-top:1px solid var(--border);background:var(--paper);z-index:1;justify-content:flex-end;gap:10px;margin-top:24px;padding:20px 0 23px;display:flex;position:sticky;bottom:0}.modal-intro{color:var(--muted);margin-bottom:20px;font-size:12px;line-height:1.9}.toast{background:var(--primary);color:var(--on-primary);z-index:100;border-radius:10px;align-items:center;gap:9px;max-width:90vw;padding:13px 18px;font-size:12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #163e2630}.toast button{color:var(--muted);background:0 0;border:0;margin-left:10px;display:flex}.empty{text-align:center;color:var(--muted);padding:50px 24px}.empty svg{margin:auto}.empty h3{color:var(--muted);margin:13px 0 8px;font-size:14px}.empty p{color:var(--muted);font-size:12px}.loading-screen{min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:13px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-toggle,.sidebar-scrim{display:none}.login-page{background:var(--paper);grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.login-story{background:var(--primary);color:var(--on-primary);flex-direction:column;min-height:100dvh;padding:45px 55px;display:flex;position:relative;overflow:hidden}.brand-light .brand-mark{background:#ffffff18}.brand-light b{color:var(--on-primary)}.brand-light small{color:var(--muted)}.login-copy{z-index:1;margin:auto 0;position:relative}.login-copy>.eyebrow{color:var(--muted);font-size:10px}.login-copy h1{letter-spacing:0;margin:20px 0;font-size:45px;font-weight:500;line-height:1.6}.login-copy>p{color:var(--muted);font-size:14px;line-height:2}.login-flow{color:var(--muted);align-items:center;gap:13px;margin-top:50px;display:flex}.login-flow>span{white-space:nowrap;background:#ffffff07;border:1px solid #ffffff12;border-radius:9px;flex-direction:column;align-items:center;gap:10px;padding:15px 20px;font-size:10px;display:flex}.login-flow>span svg{width:23px;height:23px;color:var(--muted)}.login-flow>svg{width:15px}.login-foot{color:var(--muted);z-index:1;margin-top:35px;font-size:10px;position:relative}.story-orbit{pointer-events:none;border:1px solid #ffffff06;border-radius:50%;width:550px;height:550px;position:absolute;bottom:-200px;right:-100px}.orbit-two{width:700px;height:700px;bottom:-270px;right:-160px}.login-main{flex-direction:column;justify-content:space-between;align-items:center;gap:30px;min-width:0;padding:35px 45px 23px;display:flex}.login-main>.local-chip{align-self:flex-end}.login-form{width:100%;max-width:355px;padding:20px 0}.login-form h2{margin-bottom:10px;font-size:27px}.login-form>p{margin-bottom:31px;font-size:12px}.login-form form .field{margin-bottom:21px}.login-button{justify-content:space-between;width:100%;margin-top:5px;padding:12px 17px}.demo-box{border:1px solid var(--border);background:var(--paper);border-radius:9px;margin-top:30px;padding:18px}.demo-box>strong{color:var(--muted);font-size:11px}.demo-box>p{color:var(--muted);margin:6px 0 12px;font-size:10px}.demo-roles{gap:8px;display:flex}.demo-roles button{border:1px solid var(--border);background:var(--paper);color:var(--muted);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:11px;display:flex}.demo-roles button.selected{border-color:var(--focus);background:var(--green-pale);color:var(--muted)}.demo-box>small{color:var(--muted);margin-top:13px;font-size:9px;display:block}.login-bottom{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.task-meta,.task-date small,.stat-card>p,.page-heading p,.timeline-item>p,.timeline-item>small,.ai-card p,.ai-note,.workspace-footer,.resource-info p,.resource-info small,.panel-foot,.group-summary small,.group-summary p,.help-panel p,.setting-hint,.setting-row,.howto-grid p,.field small,.form-grid small,.demo-box>small,.login-bottom,.submission-copy>p,.review>p,.review>small,.history-version>p,.learning-goal p,.instructions>p,.criteria li,.version-header small,.muted,.task-progress,.timeline-item>strong,.group-status,.no-submission p{color:var(--muted)}.stat-card>div,.field>span,.setting-row strong,.howto-grid h3{color:var(--ink)}.sidebar-tip p,.class-selector small,.user-card small,.login-copy>p,.login-flow>span,.login-foot,.login-form .eyebrow,.demo-box>p{color:var(--muted)}.task-date>span,.task-title,.portfolio-body h3,.resource-info strong,.person-cell strong,.review-form textarea,.field input,.field textarea,.field select{color:var(--ink)}.file-drop span,.file-drop strong{color:var(--green)}.file-link strong,.submission-copy>strong,.review>div>strong,.review-kind{color:var(--muted)}.task-row-main,.resource-info,.file-link>span{overflow-wrap:anywhere}@media (min-width:1500px){.main-content{padding-top:42px}.focus-card{min-height:245px}.focus-art{margin-right:25px}.art-sheet{top:13px}.art-note{bottom:10px}.compact{padding-top:22px;padding-bottom:22px}}@media (max-width:1200px){:root{--sidebar:205px}.sidebar{padding:27px 13px 0}.topbar{padding:0 25px}.main-content{padding:28px 25px 0}.dashboard-columns{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.focus-card{padding:23px}.focus-card h2{font-size:20px}.focus-art{transform-origin:100%;width:145px;margin-left:0;transform:scale(.9)}.art-sheet{left:10px}.art-check{right:-15px}.art-note{font-size:7px;left:-15px}.compact{gap:10px;padding:17px}.compact .task-date{display:none}.stat-card{padding:16px}.stat-card>p{font-size:9px}.task-row:not(.compact) .task-progress{display:none}.detail-grid{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.login-story{padding:35px}.login-flow{gap:7px}.login-flow>span{padding:13px}.login-copy h1{font-size:38px}}@media (max-width:1020px){:root{--sidebar:190px}.brand{padding-left:5px}.brand b{font-size:20px}.brand small{font-size:9px}.class-selector{gap:6px;padding:11px 7px}.class-selector strong{font-size:11px}.nav-caption{margin-left:9px}nav button{gap:10px;padding:12px}.dashboard-columns{grid-template-columns:1fr}.dashboard-columns>.right-column{grid-template-columns:1.3fr 1fr;gap:17px;display:grid}.dashboard-columns>.right-column .timeline{gap:14px;display:flex}.dashboard-columns>.right-column .timeline-item{flex:1;min-width:0;padding-bottom:0}.dashboard-columns>.right-column .timeline-item:nth-child(n+3){display:none}.focus-art{width:220px;transform:scale(1)}.art-sheet{left:50px}.art-check{right:15px}.art-note{left:20px}.compact .task-date{display:block}.detail-grid{grid-template-columns:1fr}.detail-grid>.right-column{grid-template-columns:1fr 1fr;display:grid}.detail-grid>.right-column>.ai-card{grid-column:1/-1}.group-cards{grid-template-columns:repeat(2,1fr)}.topbar-right{gap:12px}.global-search{display:none}.settings-grid{grid-template-columns:1fr}.howto-grid{grid-template-columns:1fr 1fr}.page-heading h1{font-size:24px}.stats-grid{gap:10px}.stat-card{padding:14px 13px}.stat-card>div{font-size:11px}.stat-icon{width:28px;height:28px}.stat-card>p{white-space:normal;min-height:29px}}@media (max-width:760px){.sidebar{visibility:hidden;width:230px;transition:transform .2s,visibility .2s;transform:translate(-100%)}.sidebar.mobile-open{visibility:visible;transform:translate(0)}.sidebar-scrim{z-index:29;background:#142b2455;border:0;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex}.topbar{height:61px;padding:0 16px}.breadcrumb{gap:7px}.breadcrumb>span,.breadcrumb>svg,.help-button{display:none}.main-content{padding:25px 18px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px}.page-heading h1{font-size:23px}.page-heading .eyebrow{letter-spacing:1.5px;font-size:8px}.page-heading p{max-width:290px;font-size:11px;line-height:1.9}.page-heading>.btn{padding:9px 12px;font-size:11px}.page-heading>.btn svg{width:15px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:17px 18px}.stat-card>p{min-height:auto;font-size:10px}.stat-card>strong{margin:8px 0;font-size:30px}.stat-icon{width:31px;height:31px}.focus-card{min-height:205px;padding:23px}.focus-card h2{font-size:19px}.focus-card p{font-size:10px}.focus-art{width:140px;margin-right:4px;transform:scale(.87)}.art-sheet{left:5px}.art-check{right:-10px}.art-note{bottom:0;left:-15px}.dashboard-columns>.right-column{grid-template-columns:1fr 1fr}.dashboard-columns>.right-column .timeline{display:block}.dashboard-columns>.right-column .timeline-item{padding-bottom:16px}.dashboard-columns>.right-column .timeline-item:nth-child(n+3){display:block}.dashboard-columns>.right-column .timeline-item:last-child{padding-bottom:0}.timeline{padding:0 18px 19px}.panel-heading{padding:19px 18px}.compact{gap:11px;padding:17px 15px}.compact .task-symbol{width:33px;height:37px}.compact .task-title{font-size:12px}.compact .task-date{display:none}.compact .task-meta{font-size:9px}.task-row>svg{display:none}.task-row{padding:17px 16px}.task-row .task-date{display:none}.task-row .task-title{font-size:12px}.task-row .task-meta{font-size:9px}.task-symbol{width:34px;height:39px}.badge{padding:3px 6px;font-size:9px}.task-panel .panel-foot{padding:12px 16px;font-size:8px}.workspace-footer>span:last-child{display:none}.filter-bar{align-items:flex-end}.filter-bar>.small{display:none}.tabs{gap:4px}.tabs button{padding:6px 9px;font-size:10px}.detail-heading{flex-direction:column}.detail-heading h1{font-size:25px}.heading-actions{gap:7px}.heading-actions .btn{padding:9px 12px;font-size:11px}.instructions,.submission-group{padding:21px}.detail-grid>.right-column{grid-template-columns:1fr 1fr}.detail-grid>.right-column .help-panel,.group-panel{padding:19px}.group-status{font-size:10px}.portfolio-grid{gap:14px}.portfolio-body{padding:15px}.portfolio-body>div{align-items:flex-start}.portfolio-body .platform-badge{padding:2px 6px;font-size:9px}.portfolio-body h3{font-size:12px}.portfolio-cover{height:130px}.resource-banner{gap:12px;padding:17px}.resource-banner>svg{flex-shrink:0}.resource-banner p{font-size:10px}.resource-row{gap:11px;padding:18px}.resource-row>.btn{padding:8px 10px;font-size:11px}.resource-row>.btn svg{width:14px}.resource-icon{width:35px;height:42px}.resource-info strong{font-size:12px}.group-cards{gap:12px}.group-summary{padding:19px}.settings-card{padding:21px}.howto-grid{gap:20px}.modal-overlay{padding:15px}.modal{border-radius:12px;max-height:calc(100dvh - 30px)}.modal-heading{padding:22px}.modal form{padding:20px 22px 0}.form-grid{gap:12px}.modal-heading h2{font-size:19px}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-main{min-height:100dvh;padding:25px}.login-form{padding:25px 0}.login-form h2{font-size:28px}.toast{width:max-content;max-width:calc(100vw - 35px);font-size:11px;bottom:18px}}@media (max-width:420px){.focus-art{display:none}.focus-card{min-height:205px}.focus-card h2{font-size:22px}.dashboard-columns>.right-column{grid-template-columns:1fr}.dashboard-columns>.right-column .timeline{display:flex}.dashboard-columns>.right-column .timeline-item{padding-bottom:0}.dashboard-columns>.right-column .timeline-item:nth-child(n+3){display:none}.portfolio-grid,.detail-grid>.right-column,.group-cards{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.settings-actions .btn{font-size:11px}.form-grid{grid-template-columns:1fr;gap:0}.task-row .task-meta{display:block}.task-meta i{display:none}.howto-grid{grid-template-columns:1fr 1fr}.resource-info .subtle-badge{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.account-entry-page{background:var(--surface-subtle);place-items:center;min-height:100vh;padding:24px;display:grid}.account-entry-card{width:min(100%,520px);padding:32px}.account-entry-card h1{margin:14px 0;font-size:28px}.account-entry-card p,.account-entry p{line-height:1.7}.account-entry-card form{margin:24px 0}.account-management .panel-heading{flex-wrap:wrap;gap:16px}.account-member{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.account-actions{flex-wrap:wrap;gap:8px;display:flex}.account-actions .btn{padding:8px 12px;font-size:13px}.account-notice,.account-link-receipt{background:var(--green-pale);border-radius:12px;margin:16px 0;padding:16px;line-height:1.65}.account-link-receipt h3{margin:0}.account-link-receipt textarea{border:1px solid var(--border);overflow-wrap:anywhere;resize:vertical;border-radius:8px;width:100%;margin:12px 0;padding:12px;display:block}.account-pending{color:var(--warning-ink);font-weight:600}.account-confirm{align-items:flex-start;gap:10px;margin:18px 0;line-height:1.6;display:flex}.account-confirm input{width:18px;height:18px;margin-top:4px}.account-management .modal{max-height:90vh;overflow:auto}.account-management .modal form>p{line-height:1.75}@media (max-width:700px){.account-member{flex-direction:column;align-items:flex-start;gap:8px}.account-management{padding:16px}.account-entry-card{padding:24px}.account-management .panel-heading{align-items:flex-start}}:root{--bg:#f5f6f7;--ink:#252a30;--muted:#727981;--border:#e2e5e8;--green:#24624f;--green-deep:#184c3c;--green-pale:#eaf2ee;--sidebar:214px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}h1{letter-spacing:0;font-size:23px;font-weight:650}h2{font-size:16px}.app-shell .sidebar{padding:23px 14px 0;overflow-y:auto}.brand{gap:10px;padding:0 9px}.brand-mark{border-radius:7px;width:34px;height:34px}.brand-mark svg{width:21px}.brand b{letter-spacing:2px;font-size:20px}.brand small{letter-spacing:0;color:var(--muted);margin-top:4px;font-size:11px}.app-shell .class-selector{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin-top:25px;padding:13px 8px}.class-selector strong{color:var(--ink);font-size:12px}.class-selector small{color:var(--muted);font-size:11px}.class-avatar{color:var(--muted)}.nav-caption{color:var(--muted);margin:23px 11px 10px;font-size:11px}.sidebar nav{gap:4px}.sidebar nav button{color:var(--ink);border-radius:5px;gap:12px;padding:11px 12px;font-size:14px}.sidebar nav button.active{color:var(--green-deep);background:var(--green-pale);font-weight:600}.sidebar nav button svg{width:18px;height:18px}.nav-count{color:var(--ink);border-radius:4px;font-size:11px}.sidebar-bottom{padding-top:20px}.user-card{margin-top:20px;padding:17px 6px}.user-card strong{font-size:13px}.user-card small{color:var(--muted);font-size:11px}.avatar{border-radius:6px}.app-shell .topbar{border-bottom:1px solid var(--border);background:var(--paper);height:58px;padding:0 28px}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:500}.global-search input{width:155px;font-size:12px}.local-chip{color:var(--ink);background:0 0;border:0;padding:0;font-size:11px}.app-shell .main-content{max-width:1500px;padding:28px 28px 0}.app-shell .eyebrow,.login-page .eyebrow{display:none}.app-shell .page-heading{margin-bottom:21px}.page-heading p{color:var(--muted);margin-top:5px;font-size:13px}.btn{min-height:36px;box-shadow:none;border-radius:5px;padding:8px 13px;font-size:13px}.btn.primary{box-shadow:none}.btn.primary:hover:not(:disabled){transform:none}.text-btn{min-height:30px;font-size:12px}.panel,.portfolio-card{box-shadow:none;border-color:var(--border);border-radius:6px}.panel-heading{padding:18px 20px}.badge{border-radius:4px;font-size:11px}.task-row{padding:19px 20px}.task-row .task-title{font-size:14px}.task-row .task-meta{color:var(--muted);font-size:12px}.task-symbol,.resource-icon{background:var(--green-pale);color:var(--ink);border-radius:5px}.task-date,.resource-info p{color:var(--ink)}.resource-info small{color:var(--muted)}.empty{padding:44px 20px}.empty h3{font-size:15px}.empty p{font-size:13px}.workspace-footer{color:var(--muted);margin-top:5px;padding:22px 0;font-size:11px}.modal{border-radius:9px}.field input,.field textarea,.field select{border-radius:5px}.group-summary{padding:17px 18px 17px 58px;position:relative}.group-summary .stat-icon{border-radius:5px;width:28px;height:28px;position:absolute;top:19px;left:17px}.group-summary h3{margin-top:0}.group-summary small{color:var(--muted)}.account-management{margin-top:20px;padding:0 20px 16px}.account-management .panel-heading{padding:18px 0}.account-member{padding:12px 0}.account-member .small{margin-top:4px}.design-preview-note{background:var(--warning-pale);color:var(--warning-ink);border:1px solid var(--border);border-radius:4px;margin:-8px 0 20px;padding:8px 12px;font-size:12px}.workspace-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.workspace-heading p{color:var(--muted);margin-top:6px;font-size:12px}.workspace-heading p>span{color:var(--muted);padding:0 7px}.work-summary{border:1px solid var(--border);background:var(--paper);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.work-count{text-align:left;background:0 0;border:0;min-width:0;padding:17px 22px 14px;position:relative}.work-count+.work-count{border-left:1px solid var(--border)}.work-count:hover{background:var(--surface-subtle)}.work-count-label{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.work-count-label i{background:#9ca5ac;border-radius:50%;width:6px;height:6px}.work-count.pending i{background:var(--warning-pale)}.work-count.revision i{background:var(--danger-pale)}.work-count.accepted i{background:var(--success-pale)}.work-count-value{font-variant-numeric:tabular-nums;color:var(--ink);margin-top:7px;font-size:30px;font-weight:600;line-height:1.3;display:block}.work-count-value small{color:var(--muted);margin-left:9px;font-size:12px;font-weight:400}.work-count>svg{color:var(--muted);position:absolute;bottom:23px;right:18px}.work-summary-note{color:var(--muted);margin:8px 0 22px;font-size:11px}.work-columns{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:20px;display:grid}.work-main-column,.work-side-column{gap:20px;min-width:0;display:grid}.work-section{background:var(--paper);border:1px solid var(--border);border-radius:6px;min-width:0;overflow:hidden}.work-section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:16px 19px;display:flex}.work-section-heading h2{align-items:center;gap:9px;font-size:15px;display:flex}.work-section-heading h2>span{color:var(--muted);background:var(--surface-subtle);border-radius:4px;padding:0 6px;font-size:11px;font-weight:500}.work-section-heading .text-btn{white-space:nowrap}.work-task-head,.work-task-row{grid-template-columns:minmax(130px,1fr) 75px 105px 94px;align-items:center;gap:16px;padding:11px 20px;display:grid}.work-task-head{color:var(--muted);background:var(--paper);border-bottom:1px solid var(--border);font-size:11px}.work-task-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;width:100%;min-height:88px}.work-task-row:hover{background:var(--surface-subtle)}.work-task-row:last-child{border-bottom:0}.work-task-name{min-width:0}.work-task-name strong{font-size:14px;font-weight:550;line-height:1.6;display:block}.work-task-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;display:block;overflow:hidden}.work-task-submitted{color:var(--muted);font-size:12px}.work-task-submitted b{color:var(--ink);font-weight:500}.work-task-submitted small{margin-top:3px;font-size:10px;display:block}.work-task-deadline{color:var(--muted);font-size:12px}.work-task-deadline small{margin-top:2px;font-size:10px;display:block}.work-task-deadline.is-overdue{color:var(--danger-ink)}.work-status{white-space:nowrap;background:var(--surface-subtle);color:var(--muted);border-radius:4px;justify-self:start;padding:3px 7px;font-size:11px}.work-status.pending{background:var(--warning-pale);color:var(--warning-ink)}.work-status.revision{background:var(--danger-pale);color:var(--danger-ink)}.work-status.accepted{background:var(--success-pale);color:var(--success-ink)}.work-section-foot{border-top:1px solid var(--border);background:var(--paper);color:var(--muted);padding:11px 20px;font-size:11px}.work-resource-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:16px 20px;display:flex}.work-resource-row+.work-resource-row{border-top:1px solid var(--border)}.work-resource-row:hover{background:var(--surface-subtle)}.work-resource-row>svg{color:var(--muted);flex-shrink:0}.work-resource-row>span{flex:1;min-width:0}.work-resource-row strong{font-size:13px;font-weight:500;display:block}.work-resource-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.work-resource-row time{color:var(--muted);font-size:11px}.work-shortcuts{padding:7px 19px}.work-shortcuts button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;padding:11px 1px;font-size:13px;display:flex}.work-shortcuts button+button{border-top:1px solid var(--border)}.work-shortcuts button>span{flex:1}.work-shortcuts button>svg,.work-shortcuts button>svg:last-child{color:var(--muted)}.work-shortcuts button:hover{color:var(--green);background:var(--surface-subtle)}.work-activity{margin:0;padding:2px 19px 8px;list-style:none}.work-activity li{padding:13px 0}.work-activity li+li{border-top:1px solid var(--border)}.work-activity-line{flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.work-activity-line strong{font-weight:550}.work-activity-line>span{color:var(--muted)}.work-activity p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 3px;font-size:12px;line-height:1.7}.work-activity time{color:var(--muted);font-size:11px}.work-empty{text-align:center;padding:38px 20px}.work-empty>svg{color:var(--muted)}.work-empty h3{margin:10px 0 5px;font-size:14px}.work-empty p,.work-quiet-empty{color:var(--muted);font-size:12px}.work-empty .text-btn{margin-top:12px}.work-quiet-empty{padding:25px 20px}.app-shell .hub{--hub-ink:#293332;--hub-green:var(--green)}.app-shell .hub .hub-nav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:21px;padding:0 0 13px}.app-shell .hub .hub-nav .hub-btn{color:var(--ink);background:0 0;border:0;border-radius:4px;padding:8px 12px;font-size:13px}.app-shell .hub .hub-nav .hub-active{background:var(--surface-subtle);color:var(--green-deep)}.app-shell .hub .hub-heading{margin:0 0 22px}.app-shell .hub .hub-heading small{display:none}.app-shell .hub h2{letter-spacing:0;font-size:23px}.app-shell .hub .hub-heading p{color:var(--muted)}.app-shell .hub .hub-card,.app-shell .hub .hub-empty{border-color:var(--border);border-radius:6px;padding:19px}.app-shell .hub .hub-btn{border-radius:5px;padding:8px 12px;font-weight:500}.app-shell .hub .hub-stats>div{background:var(--surface-subtle);border-radius:4px;padding:11px}.app-shell .hub .hub-hero{background:var(--paper);border:1px solid var(--border);color:var(--ink);border-radius:6px;margin-bottom:20px;padding:20px 24px}.app-shell .hub .hub-hero span,.app-shell .hub .hub-hero p{color:var(--ink)}.app-shell .hub .hub-hero h3{color:var(--green);font-size:37px}.app-shell .hub .hub-hero-aside{border-color:var(--border)}.app-shell .hub .hub-launchers{gap:10px}.app-shell .hub .hub-launchers .hub-btn{padding:15px}.app-shell .hub .hub-launchers strong{font-size:14px}.app-shell .hub .hub-comment,.app-shell .hub dialog,.app-shell .hub input,.app-shell .hub select,.app-shell .hub textarea{border-radius:6px}.app-shell .hub .hub-muted{color:var(--muted)}.login-page .login-story{background:var(--primary);color:var(--ink)}.login-page .brand-light .brand-mark{background:var(--primary)}.login-page .brand-light b{color:var(--ink)}.login-page .brand-light small{color:var(--muted)}.login-page .login-foot{color:var(--muted);font-size:12px}.login-page .login-copy h1{letter-spacing:0;font-size:34px;line-height:1.5}.login-page .login-copy p,.login-page .login-note{color:var(--muted)}.login-page .login-card{box-shadow:none;border-radius:8px}@media (max-width:1200px){.work-columns{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.work-task-head,.work-task-row{grid-template-columns:minmax(100px,1fr) 90px 83px;gap:12px;padding-left:16px;padding-right:16px}.work-task-submitted,.work-task-head>span:nth-child(2){display:none}}@media (max-width:1020px){:root{--sidebar:190px}.app-shell .main-content{padding:24px 22px 0}.work-columns{grid-template-columns:minmax(0,1fr)}.work-side-column{grid-template-columns:1fr 1fr;align-items:start;gap:16px}.work-task-head,.work-task-row{grid-template-columns:minmax(130px,1fr) 70px 100px 94px}.work-task-submitted,.work-task-head>span:nth-child(2){display:block}}@media (max-width:760px){.app-shell .sidebar{width:230px}.app-shell .topbar{height:54px;padding:0 14px}.app-shell .main-content{padding:22px 16px 0}.workspace-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:18px}.workspace-heading h1,.page-heading h1,.app-shell .hub h2{font-size:22px}.workspace-heading p{font-size:11px}.workspace-heading p>span{padding:0 3px}.heading-actions{flex-wrap:wrap;gap:8px}.btn{min-height:40px;padding:8px 13px;font-size:13px}.design-preview-note{margin-top:-4px;margin-bottom:17px}.work-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.work-count{padding:13px 16px}.work-count:nth-child(3){border-left:0}.work-count:nth-child(n+3){border-top:1px solid var(--border)}.work-count-value{margin-top:3px;font-size:27px}.work-count>svg{bottom:20px}.work-summary-note{margin-bottom:17px;font-size:11px}.work-main-column,.work-side-column,.work-columns{gap:16px}.work-side-column{grid-template-columns:1fr}.work-section-heading{min-height:54px;padding:12px 16px}.work-task-head{display:none}.work-task-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:16px}.work-task-name{grid-column:1/-1}.work-task-name strong{font-size:14px}.work-task-name small{font-size:11px}.work-task-submitted{display:none}.work-task-deadline{font-size:11px}.work-task-deadline:before{content:"截止 "}.work-task-deadline small{margin-left:6px;display:inline}.work-status{justify-self:end}.work-section-foot{padding:10px 16px}.work-resource-row{padding:14px 16px}.work-resource-row time{display:none}.work-shortcuts{padding:4px 16px}.work-shortcuts button{min-height:46px}.work-activity{padding:0 16px 5px}.app-shell .page-heading p{font-size:12px}.app-shell .page-heading>.btn{min-height:40px;font-size:12px}.app-shell .filter-bar{display:block}.app-shell .tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;display:grid}.app-shell .tabs button{min-height:40px;padding:8px;font-size:12px}.app-shell .task-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:16px;display:grid}.app-shell .task-row-main{grid-column:1/-1}.app-shell .task-row .task-symbol,.app-shell .task-row .task-progress{display:none}.app-shell .task-row .task-date{text-align:left;align-items:center;gap:5px;width:auto;display:flex}.app-shell .task-row .task-date>span,.app-shell .task-row .task-date small,.app-shell .task-row .task-meta{font-size:11px}.app-shell .badge{font-size:10px}.app-shell .hub .hub-nav{margin-left:0;margin-right:0}.app-shell .hub .hub-nav .hub-btn,.app-shell .hub .hub-heading>.hub-btn{min-height:40px}.app-shell .hub .hub-card{padding:16px}.workspace-footer{font-size:10px}}
