:root{--green:#326c59;--green2:#edf4ed;--bg:#f5f3ec;--ink:#24392f;--line:#dce0d5;--muted:#707d71}body{background:var(--bg);font-family:"Microsoft YaHei",system-ui,sans-serif}header{height:72px;position:relative;background:#fbfaf5}h1,h2,.btitle{font-family:"Noto Serif SC","Microsoft YaHei",serif}h1{font-size:24px}.edition{background:#edf2e9;color:var(--green);font-size:12px}.primary{background:var(--green);border-color:var(--green)}main{max-width:1800px;grid-template-columns:255px minmax(500px,1fr) minmax(300px,390px)}.panel{border-radius:15px;box-shadow:0 3px 14px #31472c05}.toolbar{background:#fbfaf7}.toolbar button{font-size:12px}button{font-weight:600}input,select,textarea{background:#fffefa}.manager td select{font-size:11px;padding:3px;max-width:190px}.manager table{min-width:790px}.thumb{background:white}.cell img{min-height:0}.cell b{overflow-wrap:anywhere}.bgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.bcard{color:#17243b}#helperStatus{font-size:12px}#accountBar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 20px;background:#e9eee3;border-bottom:1px solid var(--line)}#accountBar[hidden]{display:none}.usage-pills,.account-actions{display:flex;gap:7px;flex-wrap:wrap}.usage-pills span,.member-badge{font-size:12px;background:#f9fbf5;padding:4px 9px;border-radius:20px}.member-badge{margin-left:10px}.mock-badge{color:#a7642c;font-size:12px}.account-actions button{padding:5px 9px;font-size:12px}.signed-out>header,.signed-out>main,.signed-out>footer{display:none}.signed-out #accountBar{display:none}#authScreen:empty{display:none}#authScreen{max-width:1150px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;padding:60px 35px}.auth-brand h1{font-size:52px;line-height:1.4;margin:22px 0}.auth-brand p{font-size:16px;color:var(--muted);line-height:2}.eyebrow{font-size:12px;letter-spacing:2px;color:#567362}.auth-features{display:flex;gap:15px;flex-wrap:wrap;margin:38px 0;color:var(--green);font-size:13px}.auth-brand small{color:var(--muted)}.auth-card{padding:40px;background:#fffefa;border:1px solid var(--line);border-radius:22px;display:grid;gap:16px;box-shadow:0 16px 60px #34452b0b}.auth-card h2{font-size:27px;margin:0}.auth-card p{margin:0;color:var(--muted)}.auth-card label{font-size:13px}.auth-card .hint{font-size:12px;line-height:1.9}.auth-card #authError{color:#b44930;font-size:13px;min-height:20px}footer{text-align:center;color:var(--muted);font-size:12px;padding:30px}.cloud-item{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.cloud-item small{width:100%;overflow-wrap:anywhere}.cloud-item span{color:var(--muted);font-size:12px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-card{border:1px solid var(--line);padding:12px;border-radius:12px;display:grid;gap:7px;text-align:center}.library-card img{height:130px;width:100%;object-fit:contain;background:white}.library-card a{color:var(--green)}.member-edit{padding:16px;border:1px solid var(--line);margin:14px 0;border-radius:12px}.member-edit h3{margin:0 0 12px}.member-edit p{font-size:12px;color:var(--muted)}.member-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-fields label{font-size:12px}.member-edit .buttons{flex-wrap:wrap}.member-edit button{font-size:12px}.save-state{color:var(--green)!important}.ai-dialog table input{max-width:100%}#printPreview{max-height:80vh}.sheet{box-shadow:0 2px 10px #23312a15}.printgrid .btitle,.sheetgrid .btitle{line-height:1.3}
@media(max-width:1400px){main{grid-template-columns:255px minmax(0,1fr)}.preview{grid-column:1/-1}.preview-body{min-height:440px}.manager table{min-width:750px}}@media(max-width:760px){#authScreen{grid-template-columns:1fr;gap:30px;padding:35px 20px}.auth-brand h1{font-size:34px}.auth-brand p{font-size:14px}.auth-features{margin:20px 0}.auth-card{padding:25px}main{grid-template-columns:1fr}.manager,.preview,.queue{grid-column:1}header{padding:12px;height:auto;gap:10px;flex-wrap:wrap}header h1{font-size:20px}#helperStatus{margin-left:0}#accountBar{padding:12px}.usage-pills{gap:5px}.usage-pills span{font-size:11px}.member-fields{grid-template-columns:1fr 1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-dialog{max-width:96vw}.dialog-head h2{font-size:18px}.cloud-item button{font-size:12px}.manager .table-wrap{max-height:480px}}@media print{#accountBar,footer,#authScreen{display:none!important}}

/* Shared preview / physical print layout. */
.cell{position:relative;isolation:isolate}.cell-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden;gap:2px}.cell-content img{flex:1;min-height:0;width:85%;max-height:78%;object-fit:contain}.cell-content b{max-width:100%;overflow-wrap:anywhere;line-height:1.2}.outline{position:absolute;inset:2%;width:96%;height:96%;pointer-events:none;z-index:0}.cell.shaped .cell-content{padding:26% 15% 14%}.cell.shaped{border-color:#ddd}.bcard:has(.shaped) .bgrid{border-color:#ddd}
.cell.free,.sheetgrid.four .cell.free,.printgrid.four .cell.free{background:#fff!important;color:#bcc3c5;font-size:9px;font-weight:400;justify-content:flex-start;padding-top:8%;gap:0}.cell.free .free-label{position:relative;z-index:1;font:400 8px/1.1 Arial,sans-serif;color:#bcc3c5;letter-spacing:1px}.cell.free.shaped{padding-top:28%}.writing-space{display:block;flex:1;width:90%;min-height:0}.free-caption{font-size:8px;color:#858585;line-height:1.25;text-align:center;padding-top:4px}.btitle{display:flex;align-items:center;justify-content:center;gap:6px;min-height:20px;position:relative}.btitle .title-animal{position:relative;inset:auto;width:25px;height:25px;flex-shrink:0}.card-frame-cat,.card-frame-bear,.card-frame-rabbit{border-radius:16px 16px 6px 6px;border-color:#707070}.sheetgrid.four .btitle .title-animal,.printgrid.four .btitle .title-animal{width:18px;height:18px}
.assistant-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.chat-history{max-height:220px;overflow:auto;display:grid;gap:8px}.chat-message{white-space:pre-wrap;padding:10px;background:#f0f5f0;border-radius:9px;overflow-wrap:anywhere}.chat-message.user{background:#f7f0e4}.plan-terms{overflow:auto;max-height:290px}.plan-terms table{min-width:570px}.plan-terms input{min-width:80px}.plan-crop{border:1px solid #ddd;padding:8px;margin:10px 0;border-radius:8px}.plan-crop img{max-width:160px;max-height:130px;object-fit:contain;background:#eee}.plan-crop .crop-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.plan-crop .crop-boxes input{min-width:0}.attach-card{display:inline-flex;gap:8px;align-items:center;margin:6px;padding:6px;border:1px solid #ddd;border-radius:8px}.attach-card img{width:64px;height:64px;object-fit:contain}.teacher-stage{min-height:220px;text-align:center;display:grid;place-items:center;background:#faf8f1;border-radius:12px;padding:20px}.teacher-stage .cue{font-size:38px;line-height:1.3;overflow-wrap:anywhere}.teacher-stage img{max-height:210px;max-width:250px}.teacher-stage .answer{font-size:20px;color:#517460;margin-top:18px}.called-list{display:flex;gap:7px;flex-wrap:wrap}.called-list span{background:#edf2ed;border-radius:15px;padding:5px 10px}.free-help{font-size:12px;color:#697586;font-weight:400;margin:0}.check-list li{margin:8px 0}.teacher-print-list{font:12pt/1.5 'Microsoft YaHei',sans-serif}.teacher-print-list table{min-width:0;width:100%;table-layout:fixed}.teacher-print-list tr{break-inside:avoid}.teacher-print-list th{position:static}.teacher-print-list td{overflow-wrap:anywhere}.teacher-print-list img{width:20mm;height:20mm;object-fit:contain}
@media(max-width:760px){.assistant-layout{grid-template-columns:1fr}.teacher-stage .cue{font-size:28px}#assistantDialog{width:96vw}.plan-terms{max-width:100%}}
@media print{.free-caption{font-size:6.5px}.cell.free .free-label{font-size:7px!important;color:#bcc3c5!important}.teacher-print-list{display:block!important}.teacher-print-list th{background:white}.btitle .title-animal{print-color-adjust:exact}.cell-content b{overflow-wrap:anywhere}}

.print-measure{position:fixed;left:-100000px;top:0;visibility:hidden;display:block;width:max-content}.print-measure .sheet{zoom:1!important}.cell-content b{flex:0 0 auto}.cell-content img{flex:0 0 auto;height:70%;max-height:70%}
.sheet.portrait .sheetgrid{height:280.5mm}.sheet:not(.portrait) .sheetgrid{height:193.5mm}.sheet .free-caption,.printgrid .free-caption{font-size:6.5px}.sheet .free-label,.printgrid .free-label{font-size:7px!important}
