:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#202432;background:#f7f8fc;font-synthesis:none;font-size:16px;--primary: #6955e8;--purple-light: #efecff;--line: #e3e6ef;--muted: #737b90;--paper: #fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#33415c;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;line-height:1.35}button:hover,.button:hover{background:#f5f4ff}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b6aafa;outline-offset:2px}button svg,.button svg{width:20px;height:20px;flex-shrink:0}input,select,textarea{width:100%;min-height:48px;border:1px solid #dce0ed;background:#fff;border-radius:9px;padding:11px 13px;color:#202432}textarea{resize:vertical;line-height:1.65}input[type=checkbox]{width:21px;height:21px;min-height:21px;flex-shrink:0;accent-color:var(--primary)}input[type=color]{width:44px;padding:4px;min-height:44px}label{display:flex;flex-direction:column;gap:8px;font-weight:550;margin:0 0 18px;font-size:15px}form label:last-of-type{margin-bottom:20px}a{color:var(--primary);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.35;letter-spacing:-.03em}h2{font-size:22px;line-height:1.4}h3{font-size:18px;line-height:1.5;margin:0 0 12px}p{line-height:1.7}small{display:block;font-size:13px;line-height:1.5}.small{font-size:13px}.muted{color:var(--muted)}.error{color:#b74352;font-size:14px;line-height:1.65}.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:650}.primary:hover{background:#5b45d5;color:#fff}.full{width:100%}.icon-button{width:48px;padding:10px;flex-shrink:0}.text-button,.back-link,.danger-text{border-color:transparent;background:transparent;padding:8px 0;color:var(--primary)}.danger-text{color:#b54f59}.danger-outline{color:#b54f59;border-color:#edccd2}.subtle{background:#f6f7fc;color:#5d647b}.selected{background:var(--purple-light)!important;color:var(--primary)!important;border-color:#b7aaf9!important}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px}.empty-state{text-align:center;padding:50px 22px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:18px}.empty-state>svg{width:40px;height:40px;color:#b7a9ea}.empty-state h2,.empty-state h3{color:#33415c}.page-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 24px}.page-title p{margin-top:7px;font-size:14px}.section-title{font-size:21px;margin:28px 0 14px}.dot{margin:0 9px}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:750;color:#202432;text-decoration:none;white-space:nowrap}.brand-mark{display:flex;width:38px;height:38px;align-items:center;justify-content:center;background:var(--primary);border-radius:10px;color:#fff}.brand-mark svg{width:22px;height:22px}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%);z-index:1000;background:#28243e;color:#fff;padding:14px 22px;border-radius:10px;box-shadow:0 8px 30px #1d163a22;font-size:15px;max-width:calc(100% - 32px);width:max-content;line-height:1.5}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.app-layout{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column}.sidebar .brand{font-size:17px;gap:8px}.sidebar .brand-mark{width:32px;height:32px}.sidebar-nav{display:flex;flex-direction:column;gap:9px;margin-top:42px}.sidebar-nav button{justify-content:flex-start;border:0;background:transparent;color:#7c8396;padding:14px}.sidebar-nav button.active{background:var(--purple-light);color:var(--primary);font-weight:650}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:18px}.sidebar-bottom button{justify-content:flex-start;border:0}.sidebar-bottom>span{padding:0 10px}.app-main{margin-left:224px;flex:1;min-width:0}.app-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 36px;background:#fff}.desktop-heading{color:var(--muted);font-size:14px}.mobile-brand{display:none}.avatar-button{border:0;width:42px;height:42px;min-height:42px;border-radius:50%;padding:0;background:#e8e0fd;color:var(--primary);font-weight:700}.content{max-width:1460px;padding:28px 36px 70px;margin:auto}.context-row{display:flex;align-items:center;gap:18px;margin-bottom:25px}.context-row select{width:240px;font-weight:650;background:#fff}.bottom-nav{display:none}.topic-select{width:auto;max-width:100%;margin-bottom:20px}.quick-actions{display:flex;gap:12px;margin-bottom:24px}.quick-actions>.primary{min-width:240px}.quick-actions>.two-columns{flex:1;max-width:380px}.capture-action{font-size:17px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 20px}.segments{display:flex;padding:4px;background:#f0f2f8;border-radius:10px;gap:3px}.segments button{border-color:transparent;background:transparent;min-height:42px;padding:9px 14px;white-space:nowrap}.segments button.selected{background:#fff!important;border-color:transparent!important;box-shadow:0 1px 5px #1c15500a}.search{position:relative;margin:0;font-size:15px}.search svg{position:absolute;left:12px;top:15px;width:18px;height:18px;color:#9ba1b4}.search input{padding-left:38px;max-width:240px;background:#fff}.selection-bar{position:sticky;top:12px;z-index:2;background:#f0ecff;border:1px solid #c8bdfb;border-radius:10px;display:flex;gap:12px;align-items:center;padding:12px 16px;margin:0 0 20px}.selection-bar>span{margin-right:auto}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.work-card.chosen{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.work-photo{position:relative}.photo-button{display:block;padding:0;width:100%;aspect-ratio:4/3;border:0;border-radius:0;background:#f1f1f1;overflow:hidden}.photo-button img{width:100%;height:100%;display:block;object-fit:contain}.select-work{position:absolute;left:12px;top:12px;width:30px;height:30px;min-height:30px;padding:5px;background:#ffffffeb;border-radius:8px;border:1px solid #cdd1dc;color:var(--primary)}.chosen .select-work{background:var(--primary);color:#fff;border-color:var(--primary)}.photo-count{position:absolute;right:10px;bottom:10px;background:#ffffffdf;padding:2px 8px;border-radius:5px;font-size:12px}.work-caption{padding:16px}.work-caption>.row:first-child{margin-bottom:9px}.grade-badge{display:inline-flex;min-width:34px;min-height:29px;padding:3px 10px;align-items:center;justify-content:center;background:#f0ecff;color:var(--primary);border-radius:7px;font-size:15px;font-weight:700;white-space:nowrap}.grade-badge.pending{background:#f3f4f8;color:#8790a6;font-size:12px;font-weight:500}.work-comment{color:var(--muted);font-size:13px;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-caption>.button,.work-caption>button{margin-top:14px;font-size:14px}.load-more{display:flex;margin:28px auto}.toolbar{display:flex;align-items:center;gap:12px;margin:20px 0;flex-wrap:wrap}.toolbar>input{flex:1;min-width:150px}.toolbar button{white-space:nowrap}.tabs{display:flex;border-bottom:1px solid var(--line);gap:20px;margin:24px 0}.tabs button{background:none;border:0;border-radius:0;padding:12px 6px;color:#8b92a5;min-width:64px}.tabs button.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:650}.class-meta{margin-bottom:8px}.roster-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.student-row{display:flex;align-items:center;padding:7px 14px;border-bottom:1px solid var(--line)}.student-row:last-child{border-bottom:0}.student-main{border:0;background:transparent;flex:1;justify-content:flex-start;text-align:left;gap:14px;padding:10px 0}.student-avatar{width:42px;height:42px;background:#efecff;color:#8b79c7;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}.student-main strong{display:block}.student-main small{color:var(--muted);margin-top:5px}.student-counts{margin-left:auto;text-align:right;font-size:14px;color:#5b637a}.student-counts small{font-size:12px}.new-topic{margin:0 0 22px}.lesson-card{display:flex;align-items:center;gap:20px}.lesson-card>div:nth-child(2){flex:1}.lesson-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:12px;background:#f0ecff;color:#9882d7}.lesson-icon svg{width:30px;height:30px}.lesson-actions{display:flex;flex-direction:column;gap:8px}.lesson-card h3{margin:0 0 5px}.lesson-card p{margin-bottom:6px}.archived-classes{margin-top:24px}.archived-classes>button{margin:10px 10px 0 0}.summary-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px 22px;margin:22px 0;color:#687188;font-size:14px}.summary-strip strong{font-size:21px;color:#202432;margin-left:5px}.summary-strip small{font-size:11px}.materials-line{background:#eeebfb;color:#6c5a9e;border-radius:9px;padding:14px 18px;margin:18px 0}.tools-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line)}.tool-row:last-child{border:0}.tool-row small{margin-top:5px}.tool-controls{max-width:330px;flex:1}.tool-controls>.segments{justify-content:stretch}.tool-controls button{flex:1;min-height:48px}.tool-controls input{margin-top:8px}.tool-controls .ready{background:#e7f1df;color:#497142}.tool-controls .missing{background:#fce8e4;color:#ac4a3a}.scheme-page{max-width:850px}.scheme-editor>h3{margin:28px 0 14px}.level-editor{display:flex;align-items:center;gap:10px;margin:9px 0}.level-editor>input:nth-child(2){width:72px;font-weight:700}.level-editor>input:nth-child(3){flex:1;min-width:0}.criterion-editor{padding:14px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.criterion-editor textarea{margin-top:10px}.check-row{flex-direction:row;align-items:center;font-weight:450;gap:11px;min-height:42px;margin-bottom:12px}.check-grid{display:grid;grid-template-columns:1fr 1fr}.definition-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #f0f1f5;padding:15px 0;font-size:14px}.definition-row:last-child{border-bottom:0}.progress-track,.bar-track{height:10px;background:#efedf8;border-radius:6px;overflow:hidden;margin:12px 0}.progress-track>span,.bar-track>span{display:block;height:100%;background:#8f7ce8;border-radius:6px}.distribution-row{display:grid;grid-template-columns:50px 38px 1fr;gap:15px;align-items:center;margin:12px 0}.distribution-row .bar-track{margin:0;height:13px}.distribution-row>strong{font-size:15px}.numeric-summary{display:flex;align-items:center;gap:25px}.numeric-summary strong{font-size:32px;color:var(--primary)}.list-panel{padding:5px 20px}.follow-row{display:flex;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;justify-content:flex-start;gap:16px;padding:16px 0;background:transparent;border-radius:0}.follow-row:last-child{border:0}.follow-row>span:nth-child(2){margin-left:auto}.follow-row small{color:var(--muted);margin-top:4px}.status-chip{display:inline-flex;background:#eeebfc;color:#8170b8;border-radius:6px;padding:5px 9px;font-size:12px;white-space:nowrap}.status-chip.warning{background:#fff0dd;color:#a87c32}.settings-page{max-width:760px}.settings-links{padding:0 22px}.settings-links>button{display:flex;justify-content:flex-start;gap:16px;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.settings-links>button>span:first-of-type{flex:1;text-align:left}.settings-links>button:last-child{border:0}.settings-links svg{color:#9c8ac9}.student-profile-heading{display:flex;align-items:center;gap:18px;margin:12px 0 24px}.student-profile-heading p{margin-top:8px}.student-avatar.large{width:64px;height:64px;font-size:20px}.back-link{font-size:14px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portfolio-card{padding:20px;margin:0}.portfolio-card header{margin-bottom:16px}.portfolio-card h3{font-size:16px;margin:0}.portfolio-photo{display:block;width:100%;padding:0;border:0;border-radius:7px;background:#f4f4f4;overflow:hidden}.portfolio-photo img{display:block;width:100%;max-height:450px;object-fit:contain}.teacher-comment{font-size:14px;color:#626a80;margin:16px 0}.timeline-row{display:grid;grid-template-columns:100px 1fr auto;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.share-result{text-align:center;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:flex;flex-direction:column;gap:14px}.share-result>img{width:185px;margin:auto}.share-result input{font-size:13px}.share-work-list{max-height:240px;overflow:auto;background:#f7f8fc;padding:14px;border-radius:8px}.export-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1fr);gap:26px}.export-form{height:max-content}.paper-preview{background:#fff;aspect-ratio:1/1.414;max-width:330px;margin:auto;border:1px solid #e3e4e9;box-shadow:0 3px 16px #3031530a;padding:24px 20px;display:flex;flex-direction:column;text-align:center;gap:20px}.paper-preview>span{font-size:17px;font-weight:700}.paper-preview small{margin-top:auto;color:var(--muted)}.print-preview{background:#f0f1f6;padding:28px}.paper-images{display:grid;gap:12px}.paper-images.layout-4{grid-template-columns:1fr 1fr}.paper-images img{width:100%;max-height:190px;object-fit:contain}.paper-images.layout-1 img{max-height:290px}.export-jobs h2{margin:0 0 18px}.export-job{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px}.export-job small{margin-top:6px}.export-order img{width:40px;height:40px;object-fit:contain}.export-order{max-height:400px;overflow:auto}.export-order .row{margin:10px 0}.export-order .row button{font-size:12px;min-height:38px;padding:7px 10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#20203e66;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:520px;max-width:100%;max-height:calc(100dvh - 48px);background:#fff;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 24px 100px #20203e22}.modal.wide{width:840px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:21px}.modal-head>.icon-button{border:0}.modal-body{overflow:auto;padding:24px;overscroll-behavior:contain}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.modal-footer>button{min-width:100px}.capture-page{min-height:100vh;background:#fbfbfe}.capture-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:3}.capture-header>button{border:0;color:var(--primary)}.capture-content{max-width:1150px;padding:24px 30px 150px;margin:auto}.capture-context{text-align:center;font-size:14px;color:var(--muted);margin-bottom:18px}.student-switch{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:28px}.student-switch>div{text-align:center;min-width:220px}.student-switch select{font-size:21px;font-weight:650;background:transparent;border:0;text-align:center}.student-switch span{margin-top:5px;display:block}.capture-fields{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;border:0;padding:0;margin:0;min-width:0}.capture-photo-area{min-width:0}.capture-photo{width:100%;display:block;position:relative;padding:0;border:1px solid var(--line);background:#eeeef1;overflow:hidden;border-radius:12px}.capture-photo img{width:100%;max-height:600px;object-fit:contain;display:block}.capture-empty{width:100%;min-height:340px;border:2px dashed #d3ccec;background:#f7f5ff;display:flex;flex-direction:column;gap:18px;color:#9682cb}.capture-empty svg{width:44px;height:44px}.photo-actions{margin-top:16px}.photo-caption{position:absolute;bottom:12px;right:12px;background:#ffffffdc;padding:6px 10px;border-radius:7px;font-size:12px;color:#6955e8}.saved-label{color:#5f8663;font-size:13px;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:12px}.draft-photos{display:flex;gap:12px;margin:16px 0}.draft-photos>div{position:relative}.draft-photos img{width:76px;height:66px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.draft-photos .icon-button{position:absolute;top:-7px;right:-7px;min-height:24px;width:24px;padding:4px;border-radius:50%;background:#fff}.review-form h3{font-size:17px}.grade-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:9px;margin-bottom:24px}.grade-options>button{font-size:23px;font-weight:700;min-height:58px;padding:9px}.criteria-details{margin-bottom:23px;border-bottom:1px solid var(--line);padding-bottom:16px}.criteria-details>summary{cursor:pointer;min-height:38px;font-size:15px;font-weight:550}.criteria-details summary .muted{font-size:12px;margin-left:12px}.criterion{margin-top:16px}.field-label{font-size:13px;color:var(--muted);display:block;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips>button,.chips>span{min-height:38px;font-size:13px;padding:8px 10px;background:#f7f8fc;border-radius:7px;border:1px solid var(--line)}.phrases{margin-bottom:26px}.phrases button{text-align:left;justify-content:flex-start;font-size:12px}.tool-inline{padding-top:12px}.tool-inline input{margin-top:12px}.tool-inline .missing{background:#fce8e4;color:#ac4a3a;border-color:#e8b5ac}.capture-footer{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:16px 24px max(16px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:12px;z-index:4}.capture-footer .primary{min-width:320px}.score-input{flex-direction:row;align-items:center}.score-input>input{width:160px}.art-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#f7f8fc;display:flex;flex-direction:column}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;min-height:68px;gap:20px}.viewer-header>div:first-child{display:flex;gap:16px;align-items:center}.viewer-header .muted{font-size:14px}.viewer-header .icon-button{background:transparent;border-color:transparent}.art-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.art-image-wrap{position:relative;flex-shrink:0;transform-origin:center}.art-image-wrap>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.art-image-wrap>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);overflow-x:auto;flex-shrink:0;background:#fff}.viewer-toolbar>button{min-height:44px;font-size:13px;white-space:nowrap}.viewer-toolbar .icon-button{width:44px}.viewer-toolbar>input{width:40px;flex-shrink:0}.photo-strip,.compare-strip{display:flex;justify-content:center;gap:10px;padding:10px;overflow-x:auto;flex-shrink:0}.photo-strip button{padding:3px;min-height:40px}.photo-strip img{height:45px;width:60px;object-fit:contain}.compare-strip button{padding:6px 10px;font-size:13px}.compare-strip img{width:38px;height:30px;object-fit:contain}.login-page{max-width:1300px;margin:auto;padding:30px 40px;min-height:100vh;background:#fbfbfe}.login-layout{min-height:calc(100vh - 150px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:90px}.login-intro{text-align:center}.login-intro h1{font-size:35px;margin-top:45px}.login-intro p{color:#9091a6;font-size:15px;margin-top:16px}.art-collage{height:280px;position:relative;margin:0 15px}.art-collage img{position:absolute;width:58%;height:210px;object-fit:cover;border:8px solid #fff;border-radius:8px;box-shadow:0 8px 26px #443b7520}.art-collage img:nth-child(1){left:0;top:22px;transform:rotate(-12deg)}.art-collage img:nth-child(2){left:21%;top:0;z-index:1;transform:rotate(3deg)}.art-collage img:nth-child(3){right:-5%;top:57px;transform:rotate(11deg)}.login-form{padding:36px}.login-form h2{margin-bottom:28px;font-size:23px}.login-form-icon{color:#9d8bda;display:flex;width:44px;height:44px;background:#f2edff;border-radius:12px;align-items:center;justify-content:center;margin-bottom:22px}.login-form button{margin-top:10px}.login-form>p{margin-top:18px}.login-layout.admin-login{display:flex;justify-content:center}.login-layout.admin-login .login-form{width:450px}.parent-page{max-width:780px;margin:auto;padding:28px 30px 60px}.parent-page>.brand{font-size:18px}.parent-intro{margin:44px 0 38px}.eyebrow{font-size:13px;color:#9a89cc;margin-bottom:12px}.parent-intro h1{font-size:35px;line-height:1.45;letter-spacing:-.035em}.parent-intro>p:last-child{margin-top:16px}.parent-work{margin-bottom:42px}.parent-work h2{font-size:22px;margin-top:5px}.parent-photo{display:block;width:100%;padding:0;border:0;border-radius:9px;overflow:hidden;margin-top:18px;background:#f4f4f4}.parent-photo img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain}.parent-extra-images{display:flex;gap:10px;margin-top:12px}.parent-extra-images button{width:90px;height:75px;padding:3px}.parent-extra-images img{width:100%;height:100%;object-fit:contain}.parent-comment{font-size:16px;color:#65677c;line-height:1.9;margin-top:18px}.parent-work>.chips{margin-top:14px}.parent-album{margin:34px 0}.parent-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:#a2a4b4;font-size:13px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 32px;background:#fff;border-bottom:1px solid var(--line)}.admin-body{display:flex;max-width:1600px;margin:auto}.admin-nav{width:210px;flex-shrink:0;padding:28px 18px;display:flex;flex-direction:column;gap:10px}.admin-nav button{justify-content:flex-start;background:transparent;border:0;color:#7d8196}.admin-nav button.active{background:#eae5fd;color:var(--primary);font-weight:650}.admin-content{padding:30px 32px 80px;min-width:0;flex:1}.admin-search{max-width:400px;margin-bottom:24px}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.admin-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.admin-table th{font-size:12px;background:#f2f0fb;color:#77748a;font-weight:550;padding:15px 20px}.admin-table td{padding:20px;border-bottom:1px solid var(--line);font-size:14px}.admin-table td small{color:var(--muted);margin-top:7px}.admin-table tr:last-child td{border:0}.admin-table td button,.admin-table td a{font-size:12px;min-height:38px;padding:8px 10px}.storage-row{padding:18px 0;border-bottom:1px solid var(--line)}.storage-row:last-child{border:0}.issued-code{font-size:24px;font-weight:700;text-align:center;letter-spacing:.08em;padding:30px 0;word-break:break-all}.admin-summary{margin-top:0}@media(min-width:1500px){.works-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:195px;padding-left:12px;padding-right:12px}.sidebar .brand{font-size:15px}.app-main{margin-left:195px}.content{padding:25px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-layout{grid-template-columns:1fr 1fr}.admin-nav{width:175px}.admin-content{padding:26px 20px}.login-layout{gap:35px}.capture-fields{gap:24px}}@media(max-width:760px){.sidebar{display:none}.app-main{margin-left:0}.app-header{min-height:72px;padding:14px 20px}.desktop-heading{display:none}.mobile-brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:750}.mobile-brand>svg{width:27px;height:27px;color:#7963df}.avatar-button{width:38px;height:38px;min-height:38px}.content{padding:22px 18px 112px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:10;background:#ffffffed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:8px 12px max(8px,env(safe-area-inset-bottom))}.bottom-nav>button{border:0;background:transparent;border-radius:11px;display:flex;flex-direction:column;gap:5px;min-height:54px;padding:5px 8px;font-size:12px;color:#8b8a9e}.bottom-nav>button svg{width:22px;height:22px}.bottom-nav>button.active{background:#f0ebff;color:var(--primary);font-weight:650}h1{font-size:27px}h2{font-size:21px}.page-title{margin-bottom:22px}.page-title>button{padding:10px 12px;font-size:13px;gap:5px}.page-title>button svg{width:17px}.page-title p{font-size:13px;line-height:1.75}.context-row{gap:12px;margin-bottom:25px}.context-row select{width:100%;max-width:240px;font-size:17px}.context-row .muted{font-size:13px;white-space:nowrap}.topic-select{width:100%;font-size:14px;margin-bottom:18px}.quick-actions{display:block;margin-bottom:24px}.quick-actions>.primary{width:100%;font-size:18px;min-height:58px}.quick-actions>.two-columns{margin-top:12px;max-width:none}.quick-actions .two-columns button{font-size:15px;min-height:48px}.gallery-toolbar{flex-wrap:wrap;margin-top:22px;gap:12px}.gallery-toolbar>.segments{flex:1}.segments{padding:3px}.segments button{padding:9px 11px;font-size:14px;flex:1}.gallery-toolbar .search{width:100%}.gallery-toolbar .search input{max-width:none}.works-grid{gap:14px}.work-caption{padding:12px}.work-caption strong{font-size:15px}.work-caption>.row:first-child{gap:6px;margin-bottom:7px}.work-caption .small{font-size:11px}.work-caption>.subtle{font-size:13px;min-height:42px;padding:8px 6px}.work-comment{font-size:12px}.grade-badge{font-size:14px;min-width:29px;padding:3px 7px}.select-work{left:8px;top:8px;min-height:32px;width:32px}.panel{padding:20px;border-radius:11px}.toolbar{gap:9px}.toolbar button{font-size:14px;padding:10px 13px}.toolbar input{flex-basis:100%;order:3}.student-row{padding:7px 10px}.student-row>.icon-button{width:40px;padding:8px}.student-main{gap:10px}.student-avatar{width:36px;height:36px;font-size:12px;border-radius:10px}.student-main>svg{display:none}.student-counts,.student-main small{font-size:12px}.tabs{gap:16px}.tabs button{font-size:15px;flex:1}.lesson-card{padding:17px;gap:12px}.lesson-icon{display:none}.lesson-card h3{font-size:17px}.lesson-actions button{font-size:13px;padding:10px}.lesson-card .small{font-size:12px}.summary-strip{padding:16px 12px;gap:10px;font-size:12px}.summary-strip strong{font-size:18px;margin-left:4px}.tool-row{padding:18px 14px;gap:12px}.tool-controls{max-width:195px}.tool-controls button{font-size:15px;min-height:48px}.tool-controls input{font-size:14px}.level-editor{gap:6px}.level-editor>input:nth-child(2){width:58px}.level-editor>input[type=color]{width:34px;min-height:40px}.level-editor .icon-button{width:32px;padding:6px}.scheme-editor{padding:17px}.criterion-editor{padding:10px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card{padding:18px}.student-profile-heading h1{font-size:30px}.student-profile-heading p{font-size:14px}.timeline-row{grid-template-columns:80px 1fr auto;gap:10px;font-size:13px}.share-result .two-columns{gap:8px}.share-result button,.share-result a.button{font-size:13px;padding:10px 8px}.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-height:92vh;max-height:92dvh;border-radius:18px 18px 0 0}.modal-head{padding:14px 20px}.modal-body{padding:20px}.modal-footer{padding:14px 20px max(14px,env(safe-area-inset-bottom))}.modal-footer>button{flex:1}.capture-header{padding:10px 14px;min-height:68px}.capture-content{padding:18px 18px 155px;max-width:600px}.capture-fields{display:block}.capture-photo img{max-height:390px}.capture-empty{min-height:235px}.capture-photo-area{margin-bottom:28px}.student-switch{gap:8px;margin-bottom:20px}.student-switch>div{flex:1;min-width:0}.student-switch select{font-size:19px;padding-left:0;padding-right:0}.student-switch>.icon-button{width:42px;min-height:44px}.capture-context{font-size:13px}.photo-actions>button{font-size:14px;padding:11px 8px}.capture-footer{padding:14px 18px max(14px,env(safe-area-inset-bottom))}.capture-footer .primary{min-width:0;flex:1;min-height:54px;font-size:17px}.capture-footer>button:not(.primary){font-size:13px;max-width:105px;padding:10px}.grade-options>button{min-height:56px;font-size:23px}.capture-assessment .phrases>button{min-height:44px}.capture-assessment label{font-size:16px}.viewer-header{padding:8px 12px;min-height:60px}.viewer-header>div:first-child{display:block}.viewer-header strong{font-size:15px}.viewer-header .muted{display:block;font-size:12px;margin-top:3px}.viewer-toolbar{justify-content:flex-start;gap:5px;padding-left:10px;padding-right:10px}.viewer-toolbar>button{min-height:46px}.photo-strip,.compare-strip{justify-content:flex-start}.export-layout{grid-template-columns:1fr;gap:0}.print-preview{display:none}.export-order .row>span{max-width:45%}.login-page{padding:22px 20px}.login-layout{display:block;min-height:0;max-width:460px;margin:45px auto}.login-intro h1{font-size:29px;margin-top:24px}.login-intro p{font-size:13px;margin-top:12px}.art-collage{height:170px;margin:15px 20px}.art-collage img{height:135px;width:58%;border-width:5px}.art-collage img:nth-child(1){top:12px}.art-collage img:nth-child(2){top:0}.art-collage img:nth-child(3){top:35px}.login-form{margin-top:30px;padding:25px}.login-form h2{font-size:21px;margin-bottom:24px}.login-form-icon{display:none}.parent-page{padding:22px 20px 50px}.parent-intro{margin:35px 0}.parent-intro h1{font-size:31px}.parent-work h2{font-size:20px}.parent-comment{font-size:15px}.parent-work{margin-bottom:35px}.parent-footer{gap:14px;font-size:12px}.admin-header{padding:14px 18px}.admin-header .brand{font-size:16px;gap:8px}.admin-header .brand-mark{width:30px;height:30px}.admin-header button{font-size:13px;min-height:40px;padding:8px}.admin-body{display:block}.admin-nav{width:100%;display:flex;flex-direction:row;gap:0;padding:12px;overflow-x:auto;border-bottom:1px solid var(--line)}.admin-nav button{white-space:nowrap;flex-shrink:0;font-size:14px;padding:10px 12px}.admin-content{padding:24px 18px 70px}.admin-summary{flex-wrap:wrap;gap:18px}.admin-summary>span{width:calc(50% - 12px)}.admin-table{white-space:normal;min-width:780px}.admin-table th,.admin-table td{padding:15px}.admin-content .page-title h1{font-size:25px}.check-grid{gap:8px}.check-grid>.check-row{font-size:14px}}.topic-title{font-size:27px;line-height:1.35;font-weight:750;background:transparent;border:0;padding:0 30px 0 0;min-height:40px;max-width:100%;letter-spacing:-.025em}.page-title>div{min-width:0}.viewer-workspace{flex:1;min-height:0;display:flex}.viewer-workspace .art-stage{min-width:0}.viewer-workspace.comparing{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 20px}.viewer-workspace.compare-four{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}.compare-other{position:relative;min-height:0;min-width:0;border:0;background:transparent;display:flex;flex-direction:column;border-radius:0;padding:0 0 32px;overflow:hidden}.compare-other img{width:100%;height:100%;min-height:0;object-fit:contain}.compare-other>span,.compare-caption{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:14px;color:#70758a}.select-work{min-height:48px;width:48px;height:48px;padding:14px;border:0;background:transparent!important;display:flex;align-items:center;justify-content:center}.select-work:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;background:#fff;border:1px solid #cdd1dc;border-radius:7px}.select-work svg{position:relative;z-index:1;width:17px;height:17px}.chosen .select-work:before{background:var(--primary);border-color:var(--primary)}@media(max-width:760px){.gallery-toolbar .segments button{min-height:48px}.work-caption>.subtle{min-height:48px}.viewer-workspace.comparing{gap:8px;padding:5px 10px}.viewer-workspace.comparing:not(.compare-four){grid-template-columns:1fr;grid-template-rows:1fr 1fr}.compare-strip{display:none}.compare-other>span,.compare-caption{font-size:12px}.topic-title{font-size:26px}.select-work{min-height:48px;width:48px}}@media print{.sidebar,.bottom-nav,.app-header,.toolbar,.page-title button{display:none}.app-main{margin:0}.content{padding:0}.panel{break-inside:avoid}body{background:#fff}}.bulk-trigger{font-size:14px}.bulk-items{margin:18px 0}.bulk-item{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.bulk-item>img{width:88px;height:72px;object-fit:contain;border-radius:6px;background:#f4f4f4}.bulk-item>div{flex:1;min-width:0}.bulk-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px}.bulk-item select{font-size:14px}.existing-photos{display:flex;gap:10px;overflow:auto;margin-top:18px}.existing-photos>div{flex:0 0 100px;display:flex;flex-direction:column;gap:6px}.existing-photos img{width:100%;height:76px;object-fit:contain;border:1px solid var(--line);border-radius:7px}.existing-photos button{font-size:12px;padding:7px;min-height:38px}.history-entry{padding:16px 0;border-bottom:1px solid var(--line)}.history-entry:last-child{border:0}.history-entry p{font-size:14px;margin:9px 0}.history-entry+div{margin-top:12px}@media(max-width:760px){.viewer-toolbar{flex-wrap:wrap;overflow:visible;justify-content:center}.viewer-toolbar .primary{min-width:110px}.viewer-toolbar>button{min-height:44px}.bulk-trigger{min-height:40px;padding:3px 0}.student-main .student-avatar{margin-right:2px}}.mobile-search-toggle{display:none}.gallery-toolbar{margin-top:18px;gap:12px}.gallery-toolbar>.segments{margin-right:auto}.gallery-toolbar .bulk-trigger{font-size:14px;min-height:48px;color:var(--muted)}.quick-actions{margin-bottom:18px}.page-title{margin-bottom:20px}@media(max-width:760px){.gallery-toolbar{gap:8px;margin-top:18px}.gallery-toolbar>.segments{min-width:0}.gallery-toolbar .segments button{padding-left:7px;padding-right:7px}.gallery-toolbar .bulk-trigger{width:48px;padding:10px;flex-shrink:0}.gallery-toolbar .bulk-trigger span{display:none}.mobile-search-toggle{display:inline-flex}.gallery-toolbar .search{display:none}.gallery-toolbar .search.open{display:flex;flex-basis:100%;order:4}.page-title{margin-bottom:18px}.context-row{margin-bottom:20px}}
