@charset "UTF-8";
.sync-conflict-photo{display:block;max-width:100%;height:auto}.sync-conflict p{white-space:pre-wrap;overflow-wrap:anywhere}
.parent-shell{max-width:1000px;margin:0 auto;padding:28px 24px 72px}.parent-shell .card{margin:20px 0}.parent-header,.parent-account,.parent-toolbar,.parent-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.parent-header h1{margin-top:8px}.parent-header a{font-size:13px}.parent-account,.parent-toolbar{margin:22px 0}.parent-toolbar select{padding:10px;border:1px solid var(--line);border-radius:10px;max-width:100%}.parent-actions{justify-content:flex-start;margin-top:18px}.parent-login{max-width:540px}.parent-shell h2,.parent-shell h3{margin-bottom:14px}.parent-shell p{line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.parent-field{display:block;margin:18px 0}.parent-field>span{display:block;font-weight:600;margin-bottom:8px}.parent-field>textarea,.parent-field>input:not([type=checkbox]),.parent-field>select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.parent-field textarea{min-height:105px;resize:vertical;line-height:1.7}.parent-field input[type=checkbox]{width:24px;height:24px}.parent-step{padding:18px;border:1px solid var(--line);border-radius:16px;margin:18px 0}.parent-list{display:grid;gap:12px;margin-top:18px}.parent-draft{text-align:left;background:var(--light);border-radius:14px;padding:18px;color:var(--ink);display:grid;gap:9px}.parent-source img{max-width:100%;height:auto;display:block;margin-top:12px}.parent-text{white-space:pre-wrap}.parent-evidence{margin:18px 0}.parent-evidence p{white-space:pre-wrap;padding:12px;background:var(--light);border-radius:10px}.parent-job{padding:14px 0;border-bottom:1px solid var(--line)}.parent-page #toast{bottom:25px}.parent-candidate .notice{white-space:normal}.parent-candidate>h3{margin-top:24px}
@media(max-width:600px){.parent-shell{padding:20px 16px 50px}.parent-header h1{font-size:26px}.parent-header a{font-size:12px}.parent-step{padding:13px}.parent-account span{overflow-wrap:anywhere;max-width:100%}.parent-shell .card{padding:18px}.parent-actions button{flex:1 1 auto}.parent-toolbar>label{max-width:100%}.parent-field input,.parent-field textarea,.parent-field select{font-size:16px}}
.m1-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}.m1-entry h2{font-size:19px}.m1-entry p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:8px}.m1-card,.m1-history{font-family:inherit;line-height:1.9;overflow-wrap:anywhere}.m1-card h1{font-size:24px;margin:14px 0}.m1-card>p,.m1-history>p{margin:14px 0}.m1-card .m1-message{font-size:19px}.m1-card .actions,.m1-history .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.m1-card .sub-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.m1-card .badge{white-space:normal}.m1-solution{padding:14px 18px;background:var(--light);border-radius:14px;margin:18px 0}.m1-solution p+p{margin-top:12px}.m1-history>p{font-size:14px}.m1-history>.problem-text{font-size:19px}.m1-history>.tiny{font-size:12px;color:var(--muted)}
:root{--paper:#f7f7f2;--surface:#fff;--ink:#223a34;--muted:#7c8980;--green:#294f45;--light:#eaf0e5;--line:#e4e9e0;--peach:#edba9e;--cream:#f3ead8;--shadow:0 10px 35px #213a3405;--radius:24px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit}input,textarea,select{color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #82a99a;outline-offset:2px}button:focus-visible,a:focus-visible{outline:3px solid #b87a52;outline-offset:4px}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}button.primary,button.secondary,button.quiet,button.danger{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:13px;padding:12px 21px;font-weight:600}button.primary{background:var(--green);color:#fff}button.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}button.quiet{background:transparent;color:var(--green)}button.danger{background:#fff0e9;color:#a54526}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;background:transparent;border-radius:12px;color:var(--muted)}.icon-button:hover{background:var(--light)}.tiny{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted);text-transform:uppercase}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:5px 9px;border-radius:7px;background:var(--light);color:var(--green);white-space:nowrap}.badge.demo{background:#f5e9da;color:#8b603f}.badge.peach{background:#f9ece5;color:#9b674b}.boot{padding:80px;font-size:32px}.boot span{display:block;font-size:16px;margin-top:20px}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:#f0f3ea;border-right:1px solid #e3e9df;padding:32px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 36px}.brand-mark{height:42px;width:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--green);transform:rotate(-5deg)}.brand-mark svg{width:27px;height:27px;transform:rotate(5deg)}.brand-name{font-size:24px;font-weight:750;letter-spacing:3px}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:3px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:12px;background:transparent;color:#6e7f73;padding:15px 17px;text-align:left;border-radius:12px;font-size:14px}.nav button.active{background:var(--green);color:#fff;box-shadow:0 6px 12px #294f4510}.nav .count{margin-left:auto;font-size:11px;background:#ffffff24;padding:2px 7px;border-radius:7px}.sidebar-label{font-size:11px;color:#96a18f;margin:32px 16px 12px;letter-spacing:1px}.child-switch{display:flex;flex-direction:column;gap:7px}.child-button{display:flex;align-items:center;gap:10px;background:transparent;padding:11px 12px;border-radius:14px;text-align:left;color:var(--ink);border:1px solid transparent}.child-button.active{background:#ffffffb5;border-color:#dae3d3}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:#dce8ce;color:#536c39;flex-shrink:0}.avatar.tongtong{background:#f2dbd5;color:#a06b5e}.child-button strong{font-size:13px}.child-button small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.child-button .check{margin-left:auto;width:16px;color:var(--green)}.side-bottom{margin-top:auto;padding:24px 10px 0}.side-note{border-top:1px solid #dce4d6;padding-top:20px;color:#87927e;font-size:11px;line-height:1.9}.side-note strong{display:block;color:#556e57;font-size:12px;margin-bottom:5px}.main{padding:0 44px 48px;max-width:1500px;width:100%;margin:auto;align-self:start}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);margin-bottom:34px}.breadcrumb{font-size:12px;display:flex;gap:12px;align-items:center;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--ink)}.top-right{display:flex;align-items:center;gap:13px;font-size:12px}.top-right .avatar{width:32px;height:32px}.header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.header h1{font-size:28px;font-weight:650;letter-spacing:1px;line-height:1.5}.header p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.9}.hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;overflow:hidden;background:#e9efdf;border:1px solid #e0e7d6;border-radius:var(--radius);padding:36px 38px;position:relative;min-height:280px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{color:#7a8c66;letter-spacing:3px}.hero h2{font-size:31px;line-height:1.6;font-weight:650;letter-spacing:1px;margin:13px 0 10px}.hero p{font-size:13px;color:#7a866e;line-height:1.9}.hero-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.hero .secondary{background:#ffffff80;border-color:#cedac2}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.art-orbit{position:absolute;border:1px dashed #bdcbac;border-radius:50%;width:250px;height:250px;transform:rotate(-20deg)}.art-orbit:after{content:"";position:absolute;left:12px;top:48px;width:11px;height:11px;border-radius:50%;background:#8fa879}.art-book{position:relative;width:162px;height:205px;border-radius:10px 20px 20px 10px;transform:rotate(9deg);background:#fffdf4;box-shadow:7px 10px 0 #bec9af,11px 16px 0 #d3ddc5;display:flex;flex-direction:column;padding:30px 20px 20px;border-left:9px solid #729375}.art-book small{font-size:9px;color:#a2ad95;letter-spacing:2px}.art-book .math{font:24px Georgia,serif;color:#476548;margin-top:24px;white-space:nowrap}.art-line{height:1px;background:#e2e8d9;margin-top:15px}.art-sticker{position:absolute;background:var(--peach);color:#745c46;bottom:6px;left:10px;padding:12px 16px;border-radius:9px;font-size:12px;transform:rotate(-10deg);box-shadow:0 5px 13px #42603812}.art-star{position:absolute;top:28px;right:8px;font-size:30px;color:#dda373}.section-title{display:flex;justify-content:space-between;align-items:center;margin:31px 0 16px;gap:12px}.section-title h2{font-size:16px;font-weight:650}.section-title span{font-size:11px;color:var(--muted)}.subject-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.subject-pill{background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px 17px;font-size:12px;color:var(--muted)}.subject-pill.active{background:var(--green);color:#fff;border-color:var(--green)}.home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.course{display:flex;align-items:center;gap:17px}.course-icon{width:58px;height:64px;border-radius:10px;background:#f1e5d1;display:grid;place-items:center;color:#8d7959;flex-shrink:0}.course-icon svg{width:30px;height:30px}.course h3{font-size:15px;margin:9px 0 6px}.course p{font-size:11px;color:var(--muted);line-height:1.8}.course-footer{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.method{display:flex;gap:13px;align-items:flex-start}.method .circle{width:31px;height:31px;background:#edf3e7;color:#71815c;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.method h3{font-size:13px;margin:2px 0 7px}.method p{font-size:11px;line-height:1.9;color:var(--muted)}.method+.method{margin-top:19px}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.journey-item{padding:18px 15px;border:1px solid var(--line);border-radius:16px;background:#fff}.journey-number{font:20px Georgia,serif;color:#a7b79b;margin-bottom:9px}.journey-item strong{display:block;font-size:12px;margin-bottom:6px}.journey-item p{font-size:10px;color:var(--muted);line-height:1.7}.resume-card{display:flex;align-items:center;gap:16px;margin-top:20px;background:#fbf0e2;border:1px solid #ebdcc6;padding:16px 20px;border-radius:15px}.resume-card p{font-size:12px;line-height:1.8}.resume-card .actions{margin-left:auto;display:flex;gap:3px;flex-shrink:0}.resume-card button{font-size:12px}.footer-note{text-align:center;color:#a0aa99;font-size:10px;margin-top:28px;line-height:1.8}.stepper{display:flex;gap:8px;margin:0 0 24px;align-items:center}.stepper .step{display:flex;align-items:center;gap:7px;font-size:11px;color:#a2aa9c;white-space:nowrap}.stepper .step b{font-weight:500;width:22px;height:22px;background:#e9ece4;border-radius:50%;display:grid;place-items:center;font-size:10px}.stepper .step.active{color:var(--green)}.stepper .step.active b{background:var(--green);color:#fff}.stepper .step.done b{background:#d9e8cd;color:#42623c}.stepper .connector{height:1px;background:#dce4d5;flex:1;min-width:8px}.workspace{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:20px;align-items:start}.workspace>section{min-width:0}.problem-card{padding:26px;background:#fffefa}.card-label{font-size:10px;color:#a4ad98;letter-spacing:1.5px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.problem-text{font-size:19px;line-height:1.9;white-space:pre-wrap;word-break:break-word;font-family:inherit}.original{margin-top:25px;padding:16px 17px;background:#f6f4ed;border-radius:13px;border:1px dashed #e0dece}.original small{display:block;color:#a4937f;font-size:10px;margin-bottom:9px}.original p{font-size:16px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.photo-preview{position:relative;background:#f0f2eb;border-radius:14px;overflow:hidden;margin-bottom:16px}.photo-preview img{display:block;width:100%;max-height:340px;object-fit:contain}.photo-caption{font-size:11px;color:var(--muted);padding-top:8px}.upload-zone{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #bac9ad;background:#f5f8f0;border-radius:15px;width:100%;color:var(--green);gap:12px;padding:25px;text-align:center}.upload-zone svg{width:34px;height:34px}.upload-zone strong{font-size:14px}.upload-zone span{font-size:11px;color:var(--muted);line-height:1.8}.field{margin-top:18px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field textarea,.field input,.field select,.search-box input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.8;background:#fff;resize:vertical}.field textarea{min-height:90px}.field small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:6px}.notice{background:#f4f1e7;color:#8a7d62;font-size:11px;line-height:1.9;padding:12px 15px;border-radius:11px;margin-top:15px}.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.8;margin:18px 0;color:#6d7b68}.checkbox input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.full{width:100%}.tutor-title{display:flex;gap:11px;align-items:center;margin-bottom:24px}.tutor-avatar{height:36px;width:36px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center}.tutor-title h2{font-size:14px;font-weight:600}.tutor-title p{font-size:10px;color:var(--muted);margin-top:4px}.tutor-title .icon-button{margin-left:auto}.question-bubble{font-size:17px;line-height:1.9;padding:24px 21px;background:#eef3e8;border:1px solid #e1e9d8;border-radius:4px 18px 18px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback{font-size:12px;color:#76836e;line-height:1.8;margin:0 0 13px}.reply-tools{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}.reply-tools .primary{font-size:12px;min-height:42px;padding:10px 16px}.reply-tools .quiet{font-size:12px;padding:10px 6px}.sub-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.sub-actions button{font-size:11px;padding:9px 12px;min-height:36px}.confirmed{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.confirmed h3{font-size:11px;color:#839178;margin-bottom:11px}.confirmed-row{display:flex;gap:8px;font-size:11px;color:#718269;line-height:1.8;margin:8px 0}.confirmed-row svg{width:15px;height:15px;margin-top:2px}.solution{white-space:pre-wrap;font-size:13px;line-height:2;background:#fcf1e6;border-radius:13px;padding:19px;margin-top:16px;color:#846647}.practice-block{margin:18px 0;background:#fdf7ee;border-left:3px solid #d9ba8e;border-radius:5px 14px 14px 5px;padding:16px}.practice-block small{font-size:10px;color:#9b8060}.practice-block p{font-size:18px;line-height:1.8;margin-top:8px}.completion{text-align:center;padding:20px 10px}.completion .complete-icon{height:67px;width:67px;margin:0 auto 17px;display:grid;place-items:center;color:var(--green);background:#e9f1e1;border-radius:50%}.completion .complete-icon svg{width:33px;height:33px}.completion h2{font-size:23px}.completion p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:12px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:180px}.search-box svg{position:absolute;left:14px;top:14px;width:18px;height:18px;color:var(--muted)}.search-box input{padding-left:42px;background:white}.toolbar select{border:1px solid var(--line);padding:13px 14px;border-radius:11px;background:#fff;font-size:12px}.toolbar .secondary{font-size:12px}.records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.record-card{padding:24px;text-align:left;background:white;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;min-width:0;color:var(--ink)}.record-card:hover{border-color:#a7bc96;box-shadow:var(--shadow)}.record-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.record-card h3{font-size:17px;font-weight:500;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;min-height:58px}.record-card>p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-bottom{display:flex;justify-content:space-between;font-size:10px;color:#99a18f;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);gap:7px}.empty{padding:65px 25px;text-align:center;background:#fff;border:1px dashed #d8e1cf;border-radius:22px}.empty>svg{width:47px;height:47px;color:#b1c0a1;margin-bottom:18px}.empty h2{font-size:20px;font-weight:600}.empty p{font-size:12px;line-height:1.9;color:var(--muted);margin:12px 0 22px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .card h2{font-size:16px;margin-bottom:18px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:12px;font-weight:600}.setting-row p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.switch{appearance:none;position:relative;background:#d6dece;width:40px;height:24px;border-radius:20px;flex-shrink:0;margin:0;cursor:pointer}.switch:checked{background:var(--green)}.switch:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.switch:checked:before{transform:translateX(16px)}.device-card{background:#f6f5ef;border-radius:13px;padding:16px;margin-top:13px;font-size:11px;line-height:2;color:#7d8972}.device-card strong{color:var(--ink);display:block}.prototype-note{font-size:11px;line-height:2;color:#8a7d62;background:#faf2e6;border:1px solid #eee2cc;border-radius:15px;padding:18px 20px;margin-top:22px}.modal-overlay{position:fixed;inset:0;background:#19342b55;backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.modal{background:var(--paper);border:1px solid #fff;border-radius:24px;width:540px;max-width:100%;padding:28px;max-height:90vh;overflow:auto;box-shadow:0 24px 80px #19342b30}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.modal h2{font-size:20px}.modal>p{font-size:12px;line-height:1.9;color:var(--muted);margin:12px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.modal-photo{max-width:95vw;width:auto}.modal-photo img{max-height:75vh;max-width:100%;object-fit:contain}.detail-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.detail-section h3{font-size:11px;color:#94a087;margin-bottom:10px}.detail-section p{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.detail-actions button{font-size:12px}.error-banner{color:#994f36;background:#fae8dc;border:1px solid #edcdbd;padding:14px 18px;border-radius:12px;font-size:12px;line-height:1.8;margin-bottom:20px}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(100px);background:#243b33;color:#fff;border-radius:12px;padding:13px 22px;font-size:13px;z-index:100;max-width:85vw;text-align:center;line-height:1.7;opacity:0;transition:.2s;pointer-events:none;box-shadow:0 6px 20px #19342b25}#toast.visible{transform:translateX(-50%) translateY(0);opacity:1}.mobile-brand{display:none}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:transparent;color:var(--muted);padding:0 0 16px}.back-link svg{width:17px}.busy{pointer-events:none;opacity:.6}.search-summary{font-size:11px;color:var(--muted);margin:0 0 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.main{padding:0 60px 60px}.hero{min-height:320px}.hero h2{font-size:36px}.topbar{height:105px}}
@media(max-width:1100px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:28px 14px}.main{padding:0 27px 35px}.hero{grid-template-columns:1fr 185px;padding:28px}.hero h2{font-size:28px}.art-orbit{width:210px;height:210px}.art-book{width:137px;height:184px;padding:25px 13px}.art-book .math{font-size:20px}.art-sticker{left:0;bottom:0;font-size:10px}.home-grid{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:15px}.card{padding:20px}.question-bubble{font-size:16px;padding:19px}.stepper .step{font-size:10px}.stepper{gap:5px}}
@media(max-width:850px){.shell{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding:25px 12px;align-items:center}.brand{padding:0 0 30px}.brand>div:last-child,.nav button span,.sidebar-label,.child-button>div:not(.avatar),.child-button .check,.side-bottom{display:none}.nav{width:100%;gap:12px}.nav button{padding:15px;justify-content:center}.child-switch{margin-top:35px}.child-button{padding:8px}.main{padding:0 24px 35px}.topbar{height:80px;margin-bottom:26px}.hero{grid-template-columns:1fr 160px;padding:25px}.hero h2{font-size:26px}.hero p{font-size:12px}.hero-actions button{font-size:12px;padding:11px 14px}.art-orbit{width:180px;height:180px}.art-book{width:120px;height:168px}.art-book .math{font-size:18px}.home-grid{gap:13px}.course{gap:12px}.course-icon{width:44px;height:56px}.course h3{font-size:13px}.journey{gap:9px}.journey-item{padding:16px 11px}.workspace{grid-template-columns:1fr}.problem-card{position:static}.settings-grid{grid-template-columns:1fr}.question-bubble{font-size:18px}.problem-text{font-size:18px}.photo-preview img{max-height:300px}.records{gap:12px}.header h1{font-size:25px}}
@media(max-width:580px){.shell{display:block;padding-bottom:76px}.sidebar{position:fixed;z-index:20;bottom:0;top:auto;height:70px;height:calc(70px + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom));width:100%;border-right:0;border-top:1px solid var(--line);background:#f8faf4f5;backdrop-filter:blur(10px);display:block}.sidebar .brand,.sidebar .child-switch{display:none}.nav{display:flex;flex-direction:row;justify-content:space-around;gap:6px}.nav button{padding:7px 18px;flex-direction:column;gap:4px;border-radius:10px;flex:1;min-height:52px}.nav button span{display:block;font-size:10px}.nav .count{display:none}.nav button.active{box-shadow:none}.nav button svg{width:21px;height:21px}.main{padding:0 18px 25px}.topbar{height:73px;margin-bottom:23px}.breadcrumb{font-size:11px;gap:8px}.top-right .badge{font-size:9px}.header{margin-bottom:20px}.header h1{font-size:23px}.header p{font-size:12px}.hero{display:block;padding:25px;min-height:290px}.hero h2{font-size:29px;line-height:1.55;max-width:260px}.hero p{max-width:220px;font-size:12px}.hero-art{display:none}.hero-actions{gap:8px}.hero-actions .secondary{padding:10px 13px}.hero .eyebrow{font-size:9px}.home-grid{grid-template-columns:1fr}.home-grid .card:last-child{display:flex;gap:16px}.method{flex:1;display:block}.method+.method{margin-top:0}.method .circle{margin-bottom:10px}.method p{font-size:10px}.journey{grid-template-columns:repeat(2,1fr);gap:11px}.journey-item{padding:17px}.journey-number{font-size:22px}.section-title{margin-top:25px}.section-title h2{font-size:15px}.subject-pill{padding:8px 14px}.footer-note{font-size:9px}.stepper{gap:3px;flex-wrap:nowrap}.stepper .step{font-size:9px;gap:4px}.stepper .step b{width:18px;height:18px;font-size:9px}.stepper .connector{min-width:4px}.stepper .step span{max-width:34px;white-space:normal;line-height:1.3}.card{padding:20px}.question-bubble{font-size:17px}.records{grid-template-columns:1fr}.toolbar{gap:9px}.toolbar .search-box{flex-basis:100%}.toolbar .secondary{padding:10px 15px}.resume-card{flex-wrap:wrap;padding:15px}.resume-card .actions{margin-left:0}.modal-overlay{padding:15px}.modal{padding:22px}.modal-actions button{font-size:12px}.header>.secondary{padding:10px 13px;font-size:11px}.top-child{cursor:pointer}#toast{bottom:90px}}
.main{margin:0 auto}.child-button>div:not(.avatar){min-width:0}.child-button small{font-size:10px;white-space:nowrap}.child-button .check{flex-shrink:0}.child-button .check svg{width:16px;height:16px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Image selection and teacher evidence; photo always keeps the complete source image. */
.photo-frame{position:relative;display:inline-block;max-width:100%;line-height:0}
.photo-preview .photo-frame img{display:block;max-width:100%;height:auto;max-height:none}
.photo-selection-box{position:absolute;border:3px solid #237a69;box-shadow:0 0 0 1px #fff8;pointer-events:none}
.capture-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.capture-actions button{font-size:12px}
.crop-stage{position:relative;touch-action:none;user-select:none;margin:0;flex:1;min-height:110px;background:#e7ecdf;line-height:0;overflow:hidden}
.crop-stage img{position:absolute;display:block;pointer-events:none}
/* Keep crop confirmation outside the scrollable photo, including short landscape viewports. */
.crop-modal{display:flex;flex-direction:column;height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.crop-modal .modal-head{flex:none}
.crop-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:auto;overscroll-behavior:contain}
.crop-content>p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0}
.crop-modal .modal-actions{flex:none;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);flex-wrap:nowrap;background:var(--paper)}
.crop-modal .modal-actions button{min-height:44px}
.photo-view-modal{display:flex;flex-direction:column;width:960px;height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.photo-view-modal .modal-head{flex:none}.photo-view-stage{flex:1;min-height:0;overflow:hidden;touch-action:none;position:relative;background:#e7ecdf}
.photo-view-stage img{width:100%;height:100%;display:block;object-fit:contain;user-select:none;pointer-events:none;transform-origin:center}
.photo-view-tools{display:flex;align-items:center;gap:8px;flex:none;padding-top:12px;flex-wrap:wrap}.photo-view-tools button.secondary{min-height:44px;padding:8px 12px}
#crop-box{position:absolute;border:2px solid #237a69;background:#237a691c;cursor:move;min-width:0;min-height:0}
.crop-handle{position:absolute;width:40px;height:40px;min-width:0;padding:0;background:transparent;display:grid;place-items:center;touch-action:none;border-radius:8px;color:#fff;z-index:2}
.crop-handle span{display:block;width:28px;height:7px;border:1px solid white;border-radius:5px;background:#237a69;box-shadow:0 1px 3px #19342b80}
.crop-handle-e span,.crop-handle-w span{width:7px;height:28px}.crop-handle-n,.crop-handle-s{cursor:ns-resize}.crop-handle-e,.crop-handle-w{cursor:ew-resize}
.crop-handle:focus-visible,#crop-box:focus-visible{outline:3px solid #b87a52;outline-offset:1px}
.knowledge-point{padding:18px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.85;overflow-wrap:anywhere}
.knowledge-point h3{margin-bottom:8px}.knowledge-point p{white-space:pre-wrap}.knowledge-point blockquote{margin:12px 0;padding:10px 14px;border-left:3px solid #b2c5a6;background:#f4f6ee;white-space:pre-wrap}
.knowledge-history{margin-top:18px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.knowledge-history summary{cursor:pointer;font-weight:600}
.work-notes-text,.work-notes-history p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto}
.work-notes-summary{margin:16px 0;padding:14px 0;border-bottom:1px solid var(--line)}
.work-notes-summary h3{font-size:15px;margin-bottom:10px}.work-notes-summary .tiny{line-height:1.7;margin-top:10px}
.work-notes-history{margin:16px 0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.work-notes-history summary{cursor:pointer;font-weight:600}.work-notes-history h4{margin-top:12px}
.work-notes-editor textarea{min-height:180px;max-height:440px}.work-notes-editor small{display:block;margin-top:6px}
.work-notes-editor textarea:invalid{border-color:#a43e31}#work-notes-state{line-height:1.7}
#work-notes-state:empty{display:none}
.capture-editor{align-items:start}.capture-editor .problem-card{position:static}.capture-editor .photo-preview .photo-frame img{max-height:190px;width:auto}
.capture-editor .upload-zone{min-height:60px;padding:12px;margin-top:10px;flex-direction:row}.capture-editor .card{padding:20px}.capture-editor .notice{margin:10px 0;padding:10px}.capture-range-state{margin-top:10px;color:var(--muted)}
.capture-editor .work-notes-editor textarea{min-height:125px}.capture-editor .work-notes-editor{margin-bottom:10px}.capture-editor .checkbox{margin:12px 0}
.capture-editor .work-notes-editor textarea{font-size:15px}.capture-editor .photo-preview{display:flex;justify-content:center}
.capture-editor .capture-actions{gap:6px;margin-top:10px}.capture-editor .capture-actions button{padding:10px;min-height:44px}.capture-editor .ocr-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.prompt-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.prompt-preview-head h2{font-size:17px}
.prompt-preview{display:block;width:100%;text-align:left;background:#f4f6ee;border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0 18px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
#prompt-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.prompt-edit-link{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;color:var(--green);margin-top:9px}
.capture-save-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.prompt-modal{width:min(1060px,96vw);max-width:1060px}.prompt-review-layout{display:flex;gap:20px;align-items:start}.prompt-review-layout>.field{flex:1;min-width:0;margin:0}
.prompt-review-photo{width:38%;max-height:52vh;overflow:auto}.prompt-review-photo img{display:block;width:100%;height:auto}.prompt-modal textarea{height:48vh;min-height:240px;max-height:60vh;font-size:17px;line-height:1.7;white-space:pre-wrap}.prompt-modal .modal-actions{margin-top:16px}
@media(max-width:850px){.capture-editor{gap:14px}.capture-editor .photo-preview .photo-frame img{max-height:140px}.capture-editor .capture-actions{flex-direction:row}.prompt-review-layout{display:block}.prompt-review-photo{width:100%;max-height:150px;margin-bottom:14px}.prompt-review-photo img{max-height:150px;width:100%;object-fit:contain}.prompt-modal textarea{height:40vh;min-height:200px}}
.capture-status{margin-bottom:16px;line-height:1.8}.record-state-filter{max-width:100%}.knowledge-panel{margin-top:20px}.knowledge-panel h2{font-size:17px;margin-bottom:12px}
@media(max-width:600px){.capture-actions{flex-direction:column}.knowledge-point{font-size:12px}}
.cloud-settings { margin-top: 24px; }
.cloud-settings details { margin-top: 16px; }
.cloud-settings summary { cursor: pointer; margin-bottom: 16px; }
/* Each OCR target has its own compact review surface. */
.photo-part { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line, #e5e5df); }
.photo-part h3 { margin: 0; }
.part-source-label { display: block; font-size: 13px; margin: 10px 0 5px; }
.photo-part select { width: 100%; max-width: 100%; }
.part-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.part-actions button { min-height: 40px; padding: 9px 12px; font-size: 13px; }
.part-history { margin-top: 12px; font-size: 13px; overflow-wrap: anywhere; }
.part-history p { white-space: pre-wrap; }
.part-history > div { padding: 10px 0; border-bottom: 1px solid #e5e5df; }
.part-old-photo { width: 100%; max-height: 320px; object-fit: contain; }
.part-review-photo { position: relative; }
.part-review-photo img { width: 100%; display: block; }
/* Keep the two material regions readable on narrow screens. */
.photo-parts-summary,.photo-part,.part-candidate{min-width:0;overflow-wrap:anywhere}
.capture-editor .photo-part{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}
.photo-part h3,.photo-parts-summary h3{font-size:15px}.part-text{margin:10px 0;font-size:14px;max-height:9rem}
.part-history{line-height:1.65}.part-history>div>p{max-height:16rem;overflow:auto}
.part-candidate{background:#f5f3e9;border-radius:12px;padding:12px;margin-top:12px;font-size:13px}
.part-candidate p{white-space:pre-wrap;max-height:11rem;overflow:auto;margin:10px 0}
.part-candidate button{min-height:44px}.part-box-answer{border-color:#b76a27;background:#b76a2712}
.photo-selection-box>span{position:absolute;left:0;top:0;background:#237a69;color:#fff;font-size:10px;line-height:1.5;padding:0 4px;white-space:nowrap}
.part-box-answer>span{background:#9a541d}.photo-frame{max-width:100%}
.prompt-review-photo .photo-frame{display:block}.prompt-review-photo .tiny{line-height:1.6;margin-top:8px}
.photo-recognition{margin:0 0 12px;padding:10px 12px;background:#eef4ef;border:1px solid #d7e4db;border-radius:10px;overflow-wrap:anywhere}.photo-recognition-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.photo-recognition-head strong{font-size:13px}.photo-recognition-head button{min-height:44px;font-size:12px;padding:8px 12px}.photo-recognition p{font-size:12px;line-height:1.6;margin:6px 0}.photo-recognition small{display:block;font-size:11px;line-height:1.6;color:var(--muted)}.recognition-return{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:12px;background:#eef4ef;border:1px solid #d7e4db;border-radius:12px}.recognition-return p{font-size:13px;line-height:1.7}
.prompt-modal .modal-actions{padding-top:10px;flex-wrap:wrap}
.question-math-preview{padding:14px;margin:8px 0 12px;border:1px solid #dce3d7;border-radius:12px;background:#fff;min-width:0;overflow-wrap:anywhere}.question-math-preview h3{font-size:14px;margin:0 0 12px}.formatted-question{font-size:16px;line-height:2.1;white-space:normal;overflow-wrap:anywhere}.math-expression{font-family:Georgia,'Times New Roman',serif;font-size:1.08em}.math-fraction{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;text-align:center;line-height:1.4;margin:0 .15em;max-width:100%;white-space:nowrap}.math-numerator{display:block;border-bottom:1px solid currentColor;border-bottom:max(1px,.055em) solid currentColor;padding:.04em .2em .2em}.math-denominator{display:block;padding:.26em .2em .04em}.math-script{display:inline-block;vertical-align:baseline;white-space:nowrap}.math-script sup,.math-script sub{font-size:.7em;line-height:1;display:inline-block}.math-script sup{vertical-align:super}.math-script sub{vertical-align:sub}.math-script sup .math-fraction{font-size:1em;margin:0}.math-root{--math-rule:1px;display:inline-flex;align-items:stretch;vertical-align:middle;position:relative;white-space:nowrap;line-height:1.25;margin:.04em .03em}.math-radical{position:relative;flex:0 0 .65em;width:.65em}.math-radical svg{position:absolute;left:0;top:calc(var(--math-rule)/2);width:100%;height:calc(100% - var(--math-rule)/2);overflow:visible;stroke-width:var(--math-rule);stroke-linecap:butt;stroke-linejoin:miter}.math-radical path{vector-effect:non-scaling-stroke}.math-radicand{display:inline-block;border-top:var(--math-rule) solid currentColor;padding:.14em .12em .1em;min-width:0}.math-root>.math-root-index{align-self:flex-start;font-size:.6em;line-height:1;margin-right:-.18em;position:relative;top:.2em;z-index:1}.math-group{white-space:nowrap}.question-math-preview .tiny{margin-top:8px}
@supports (border-top-width:max(1px,.055em)){.math-root{--math-rule:max(1px,.055em)}}
@media(max-width:600px){.capture-editor>*{min-width:0}.photo-part select{font-size:14px}.part-actions{gap:6px}.part-actions button{padding:8px;font-size:12px}.prompt-modal{padding:18px}.prompt-modal textarea{min-height:140px;height:24vh}.prompt-modal .modal-head h2{font-size:19px}.prompt-modal .modal-actions button{padding:10px 12px}.prompt-review-photo img{object-fit:fill;max-height:none}.prompt-review-photo{max-height:160px}.part-candidate p{max-height:7rem}}
.learning-head,.learning-actions,.learning-question-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.learning-head{justify-content:space-between;margin-bottom:12px}.learning-actions{margin:16px 0}.learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.learning-grid .card,.learning-section{min-width:0;overflow-wrap:anywhere}.learning-grid h2,.learning-section h2{font-size:18px;margin-bottom:14px}.learning-section{margin-top:18px}.learning-question-row{justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.learning-question-row>span{min-width:0;overflow-wrap:anywhere;flex:1}.learning-text,.clean-question{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.clean-question{padding:20px;background:#f1f5eb;border-radius:14px;font-size:19px;margin:18px 0}.learning-attempt{max-width:900px;margin:auto}.learning-attempt h1{font-size:24px}.learning-attempt label{display:block;font-size:14px;margin:14px 0 8px}.learning-attempt textarea{display:block;width:100%;height:36vh;min-height:180px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:17px;line-height:1.8}.learning-attempt select{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}.learning-attempt [role=status]{font-size:12px;line-height:1.8;margin-top:10px}.learning-modal{width:900px}.learning-modal .learning-text{margin:14px 0}.learning-solution{padding-left:25px;line-height:1.8}.learning-solution li{margin-bottom:18px}.learning-final{padding:14px;background:var(--light);white-space:pre-wrap}.learning-grade,.learning-assessment,.learning-attribution{margin:18px 0;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.learning-evidence{font-size:13px;margin-top:12px}.learning-evidence p{white-space:pre-wrap;overflow-wrap:anywhere}.learning-grid>.card>p{line-height:1.8}.learning-attempt small{line-height:1.8}
@media(max-width:750px){.learning-grid{grid-template-columns:minmax(0,1fr);gap:14px}.learning-attempt{padding:18px}.learning-attempt textarea{min-height:170px;font-size:16px}.learning-head h1{font-size:24px}.learning-actions{gap:8px}.learning-actions button{padding:10px 13px;font-size:13px}.learning-modal{padding:18px}.clean-question{font-size:17px;padding:14px}.learning-question-row{align-items:flex-start}}

.symbol-tools { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.symbol-tools small { flex-basis:100%; }
.symbol-tools button { min-width:44px; min-height:44px; padding:6px 10px; font-size:20px; }
/* OCR hints live only inside the full-text review dialog. */
.ocr-proofread { margin: 12px 0; padding: 10px; border: 1px solid #dce5e2; border-radius: 12px; }
.ocr-proofread summary { cursor: pointer; }
.ocr-suggestion { padding: 8px 0; border-bottom: 1px solid #e9eeec; overflow-wrap: anywhere; }
.ocr-suggestion:last-child { border-bottom: 0; }
.ocr-suggestion p { margin: 5px 0; }
/* The start page keeps only the welcome, start actions and an optional saved draft. */
.home-shell{min-height:100vh;min-height:100dvh}
.home-shell .main{max-width:1000px;padding-bottom:24px}
.home-shell .topbar{height:70px;margin-bottom:24px}
.home-content{display:grid;gap:20px;min-width:0}
.home-content .header{margin:0}
.home-content .header h1{font-size:26px;line-height:1.4}
.home-content .header p{font-size:13px;line-height:1.65}
.home-content .hero{display:block;min-height:0;padding:26px;overflow:visible}
.home-content .hero h2{font-size:30px;line-height:1.45;max-width:none;margin:12px 0 10px}
.home-content .hero p{max-width:none;font-size:13px;line-height:1.75}
.home-content .hero-actions{margin-top:20px;display:flex;gap:10px}
.home-content .hero-actions button{min-height:46px;white-space:nowrap}
.home-content .resume-card{margin:0;padding:14px 18px;gap:12px;min-width:0}
.home-content .resume-copy{min-width:0;flex:1}
.home-content .resume-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.home-content .resume-card .actions button{min-height:44px;padding:10px 12px}
@media(max-width:900px){
  .home-shell{display:block;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .home-shell .main{padding:0 18px 18px}
  .home-shell .sidebar{position:fixed;z-index:20;bottom:0;top:auto;height:calc(70px + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom));width:100%;border-right:0;border-top:1px solid var(--line);background:#f8faf4f5;backdrop-filter:blur(10px);display:block}
  .home-shell .sidebar .brand,.home-shell .sidebar .child-switch,.home-shell .sidebar-label,.home-shell .side-bottom{display:none}
  .home-shell .nav{display:flex;flex-direction:row;justify-content:space-around;gap:6px}
  .home-shell .nav button{padding:7px 8px;flex-direction:column;gap:4px;border-radius:10px;flex:1;min-height:52px}
  .home-shell .nav button span{display:block;font-size:10px}
  .home-shell .nav .count{display:none}
  .home-shell .nav button svg{width:21px;height:21px}
  .home-shell .topbar{height:64px;margin-bottom:20px}
  .home-shell .breadcrumb{font-size:11px;gap:8px}
  .home-shell .top-right{gap:8px}
  .home-shell .top-right .badge{font-size:9px}
}
@media(max-width:580px){
  .home-content .header h1{font-size:22px}
  .home-content .header p{font-size:12px}
  .home-content .hero{padding:24px}
  .home-content .hero h2{font-size:28px}
  .home-content .hero .eyebrow{font-size:9px;letter-spacing:2.5px}
  .home-content .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-content .hero-actions button{font-size:12px;padding:10px 8px;gap:7px}
  .home-content .hero-actions svg{width:20px;height:20px}
  .home-content .resume-card{display:grid;grid-template-columns:22px minmax(0,1fr);padding:14px;gap:8px 12px}
  .home-content .resume-card .actions{grid-column:2;margin-left:0}
}
@media(max-width:900px) and (max-height:700px){
  .home-shell .main{padding:0 16px 12px}
  .home-shell .topbar{height:54px;margin-bottom:12px}
  .home-content{gap:12px}
  .home-content .header h1{font-size:22px;line-height:1.35}
  .home-content .header p{font-size:12px;line-height:1.5;margin-top:4px}
  .home-content .hero{padding:16px}
  .home-content .hero h2{font-size:24px;line-height:1.35;margin:8px 0 6px}
  .home-content .hero p{font-size:12px;line-height:1.6}
  .home-content .hero-actions{margin-top:12px}
  .home-content .resume-card{padding:10px 12px;gap:6px 10px}
  .home-content .resume-card p{line-height:1.5}
}
/* AI output remains plain escaped text and separate from teacher-reviewed learning. */
.ai-panel{margin-top:18px;min-width:0}.ai-panel .prompt-preview-head{flex-wrap:wrap;gap:8px}.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.ai-panel .field{margin-top:16px}.ai-panel textarea{min-height:100px}.ai-text{white-space:pre-wrap;overflow-wrap:anywhere}.ai-result{border-top:1px solid #dce4df;margin-top:22px;padding-top:16px}.ai-history{margin-top:18px}.ai-history details{padding:10px 0}.ai-history summary{cursor:pointer;overflow-wrap:anywhere}
.web-app-guide{background:#eef4ef;color:#294f45;padding:10px max(18px,env(safe-area-inset-left));font-size:13px;line-height:1.6}.web-app-guide[hidden]{display:none}.web-app-guide details{max-width:1000px;margin:auto}.web-app-guide summary{cursor:pointer}.web-app-guide p{margin:8px 0}.web-app-guide button{margin:4px 0}
.record-sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:12px 16px;border:1px solid #d7e4db;border-radius:12px;background:#f0f6f1;font-size:13px;overflow-wrap:anywhere}.record-sync-banner>div{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.record-sync-banner button{min-height:40px}.sync-badge{white-space:normal}.sync-conflict{padding:14px 0;border-top:1px solid var(--line)}.sync-conflict p{white-space:pre-wrap;overflow-wrap:anywhere}.record-safety{margin-top:20px}.record-safety .sub-actions{display:flex;flex-wrap:wrap;gap:8px}.update-notice,.backup-reminder{margin:0 0 16px;padding:14px 16px;background:#fff8e8;border:1px solid #ead6a7;border-radius:12px}.update-notice p,.backup-reminder p{margin:6px 0;line-height:1.6}.update-notice .sub-actions,.backup-reminder .sub-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:580px){.record-sync-banner{align-items:flex-start;flex-direction:column;padding:12px}.record-sync-banner>div{flex-shrink:1}.record-sync-banner button{padding:8px 10px}.sync-conflict .sub-actions{display:flex;flex-wrap:wrap;gap:8px}}

.compact-status{padding:6px 10px;gap:6px;margin-bottom:16px;font-size:12px;flex-direction:row;align-items:center;flex-wrap:wrap}.compact-status>span{flex:1;min-width:130px}.compact-status>div{gap:0}.compact-status button{min-height:36px;padding:6px 8px;font-size:12px}.home-shell .error-banner{margin-bottom:12px;padding:9px 12px}
@media(max-width:900px){.home-shell{min-height:0}}

.parent-update{max-width:952px;margin:16px auto 0;padding:10px 14px;background:#fff8e8;border:1px solid #ead6a7;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.parent-update[hidden]{display:none}.parent-update button{min-height:36px;padding:8px 10px;font-size:12px}@media(max-width:600px){.parent-update{margin:12px 16px 0}}
.account-dialog .account-field input { width: 100%; min-width: 0; box-sizing: border-box; }
.account-dialog form { display: grid; gap: 14px; }
.account-actions, .account-children { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.account-actions button, .account-children button { max-width: 100%; overflow-wrap: anywhere; }
.account-device { padding: 14px 0; border-bottom: 1px solid var(--line, #dae1d7); }
.account-dialog [hidden] { display: none !important; }
.account-modal { max-height: calc(100dvh - 32px); overflow-y: auto; }
.account-dialog strong { overflow-wrap: anywhere; }

.candidate-adopt{display:grid;gap:6px;margin:10px 0}.candidate-adopt button{width:100%;min-height:44px}.candidate-preview>summary{cursor:pointer;font-weight:600}.candidate-math-preview{max-height:8rem;overflow:auto;padding:8px 0;margin-top:6px}.ai-candidate{margin:0 0 12px}.symbol-disclosure>summary{min-height:24px;line-height:24px}
