:root{--bg:#f8f9f5;--paper:#fff;--ink:#33443b;--muted:#899187;--green:#55795c;--green-dark:#3f6249;--line:#e8ece4;--serif:"Gowun Dodum","Malgun Gothic",sans-serif;--font:"Noto Sans KR","Malgun Gothic",sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);letter-spacing:-.35px;margin:0;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button,input,textarea,select,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #a2bd91}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #99b489}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button{transition:background .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fffefa;flex-direction:column;width:232px;padding:37px 22px 23px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{font-family:var(--serif);letter-spacing:-1.3px;align-items:center;gap:10px;margin:0 7px 34px;font-size:24px;font-weight:700;display:flex}.brand-mark{width:40px;height:44px;color:var(--green);background:#edf2e5;border-radius:14px 14px 17px 17px;place-items:center;display:grid}.brand small{font:8px var(--font);letter-spacing:1.4px;color:#7d8b73;margin-top:2px;display:block}.profile-card{background:#f8f9f0;border:1px solid #e9edde;border-radius:14px;align-items:center;gap:11px;margin-bottom:33px;padding:15px 12px;display:flex}.avatar,.header-avatar{color:#71845c;width:39px;height:39px;font-family:var(--serif);background:#e6eddb;border-radius:50%;place-items:center;font-size:20px;display:grid}.profile-card strong{margin-bottom:6px;font-size:12px;font-weight:600;display:block}.profile-card span{color:#8a927f;font-size:10px}.profile-card i{margin-left:5px;font-style:normal}.nav-caption{color:#a2a99b;letter-spacing:1.7px;margin:0 13px 13px;font-size:9px}.nav-item{color:#81897e;text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;margin:4px 0;padding:14px 13px;font-size:12px;display:flex}.nav-item.active{color:var(--green-dark);background:#eaf0e2;font-weight:700}.nav-item:hover{background:#f2f4ed}.nav-dot{background:#779569;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:44px}.little-note{background:#f7f5eb;border:1px solid #eeeadd;border-radius:13px;padding:18px 15px;position:relative}.little-note>span{color:#c4aa6e;font-size:19px}.little-note p{font-family:var(--serif);color:#8d907c;margin-top:3px;font-size:12px;line-height:1.9}.little-note strong{color:#707d61;font-weight:400}.little-note svg{color:#bfccad;position:absolute;bottom:16px;right:12px;transform:rotate(-20deg)}.private-label{color:#96a18f;justify-content:center;align-items:center;gap:5px;margin-top:23px;font-size:9px;display:flex}.copyright{text-align:center;color:#b0b6a7;letter-spacing:.4px;margin-top:8px;font-size:8px;display:block}.workspace{margin-left:232px}.topbar{border-bottom:1px solid var(--line);background:#ffffffa6;justify-content:space-between;align-items:center;height:73px;padding:0 40px;display:flex}.breadcrumb{color:#9da595;align-items:center;gap:12px;font-size:10px;display:flex}.breadcrumb>svg:first-of-type{color:#93a785}.breadcrumb strong{color:#66745e;font-size:11px;font-weight:500}.top-right{align-items:center;gap:21px;display:flex}.today{color:#919988;letter-spacing:.4px;align-items:center;gap:7px;font-size:10px;display:flex}.header-avatar{border:3px solid #fff;width:31px;height:31px;font-size:15px;box-shadow:0 0 0 1px #e8eadf}main{max-width:1340px;margin:auto;padding:33px 40px 18px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:#9ba58d;letter-spacing:2px;font-size:8px;font-weight:600}.page-heading h1{letter-spacing:-1.4px;align-items:center;gap:10px;margin:8px 0 9px;font-size:27px;font-weight:700;display:flex}.heading-spark{color:#97ab7b;font-size:24px;font-weight:400}.page-heading p{color:#8c9486;font-size:11px;line-height:1.8}.button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:12px 18px;font-size:11px;font-weight:600;display:inline-flex}.button.primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #4268490b}.button.primary:hover{background:var(--green-dark)}.button.secondary{color:#6a7863;background:#fff;border:1px solid #e0e5db}.button.secondary:hover{background:#f3f5ef}.button.warm{color:#566b49;background:#fffef7;margin-top:19px;padding:11px 16px;font-size:10px;box-shadow:0 3px 10px #60823808}.button.danger{color:#fff;background:#b96358}.small-button{padding:8px 12px;font-size:10px}.text-button{color:var(--green);align-items:center;gap:6px;padding:4px 0;font-size:11px;display:inline-flex}.text-button.muted{color:#939e88;font-size:10px}.mode-bar{color:#919b87;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;font-size:10px;display:flex}.mode-bar>span,.mode-bar button{align-items:center;gap:6px;display:flex}.mode-bar button{color:#778d62;white-space:nowrap;padding:4px 0;font-size:10px}.demo-mode{color:#9a7b39;background:#fff4d7;border-radius:10px;padding:12px 15px}.notice,.error-banner{background:#f1f4eb;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 20px;padding:16px;font-size:12px;display:flex}.error-banner{color:#a35549;background:#fff0eb}.welcome-banner{background:#edf1df radial-gradient(#c5d4ad55 .7px,#0000 .7px) 0 0/14px 14px;border:1px solid #e1e7d2;border-radius:18px;justify-content:space-between;align-items:center;min-height:260px;padding:29px 38px 26px;display:flex;position:relative;overflow:hidden}.welcome-copy{z-index:1}.welcome-tag{color:#7e9467;align-items:center;gap:6px;margin-bottom:12px;font-size:9px;display:flex}.welcome-tag>span{background:#93ac79;border-radius:50%;width:5px;height:5px}.welcome-copy h2{font:29px/1.45 var(--serif);color:#526849;letter-spacing:-1px}.welcome-copy h2 em{color:#507443;font-style:normal}.welcome-copy p{color:#899777;margin-top:10px;font-size:10px;line-height:1.9}.welcome-art{justify-content:center;align-self:stretch;align-items:flex-end;width:330px;margin-right:10px;display:flex;position:relative}.frog{filter:drop-shadow(0 6px #72875106);width:300px;max-width:100%}.art-bubble{font-family:var(--serif);color:#8b9977;background:#fbfcf2;border:1px solid #e0e5d1;border-radius:12px 12px 12px 1px;padding:8px 13px;font-size:11px;position:absolute;top:2px;right:50px;transform:rotate(4deg)}.art-flower{color:#d8ba76;font-size:33px;position:absolute;bottom:12px;left:-22px;transform:rotate(20deg)}.section-label{justify-content:space-between;align-items:center;margin:27px 1px 13px;display:flex}.section-label h2{font-size:13px;font-weight:600}.section-label>span{color:#9aa28f;font-size:9px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:14px;min-height:103px;padding:23px 20px;display:flex;position:relative;overflow:hidden}.stat-icon{border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.green{color:#82a172;background:#edf3e9}.peach{color:#c6996a;background:#fcf0e5}.lavender{color:#a192c5;background:#f0ecf8}.summary-card>div>span{color:#899380;font-size:10px}.summary-card strong{letter-spacing:-.5px;margin-top:5px;font-size:26px;font-weight:600;line-height:1.3;display:block}.summary-card strong small{color:#9ca592;margin-left:8px;font-size:10px;font-weight:400}.stat-decoration{color:#b5c49b;font-size:20px;position:absolute;top:40px;right:21px}.tiny-badge{color:#a5a991;background:#fafbf5;border-radius:5px;padding:4px 5px;font-size:7px;position:absolute;top:10px;right:10px}.dashboard-columns{grid-template-columns:minmax(0,1.7fr) minmax(265px,1fr);gap:20px;margin-bottom:23px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:15px;padding:23px 23px 11px;display:flex}.panel-heading h2{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.panel-heading h2 svg{color:#8ba079}.panel-heading p{color:#9da592;margin:7px 0 0 27px;font-size:9px}.chart-wrap{padding:7px 17px 19px}.chart-wrap>svg{width:100%;height:auto;display:block}.chart-label{font:11px var(--font);fill:#9da593}.legend{justify-content:center;align-items:center;gap:23px;margin-top:1px;display:flex}.legend>span{color:#919b86;align-items:center;gap:5px;font-size:9px;display:flex}.legend i{border-radius:50%;width:6px;height:6px}.chart-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:243px;padding:18px;display:flex}.empty-sprout{color:#9caf83;background:#f4f7ed;border-radius:50%;place-items:center;width:66px;height:66px;margin-bottom:13px;display:grid}.chart-empty h3{font:15px var(--serif);color:#778b65}.chart-empty p{color:#a0aa94;margin-top:8px;font-size:10px;line-height:1.7}.subject-list{padding:9px 22px 7px}.subject-row{align-items:center;gap:11px;margin-bottom:20px;display:flex}.subject-icon{width:35px;height:35px;font-size:19px;font-family:var(--serif);border-radius:10px;flex-shrink:0;place-items:center;font-weight:700;display:grid}.subject-progress{flex:1;min-width:0}.subject-progress>div:first-child{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.subject-progress strong{font-size:10px;font-weight:500}.subject-progress>div>span{font-size:12px;font-weight:500}.subject-progress small{color:#a4ac9c;font-size:8px;font-weight:400}.track{background:#f0f2ed;border-radius:8px;height:5px;overflow:hidden}.track>span{border-radius:8px;height:100%;transition:width .5s;display:block}.goal-check{color:#a2b48c}.progress-dot{width:16px}.goal-link{border-top:1px dashed var(--line);color:#859879;justify-content:center;align-items:center;gap:6px;width:calc(100% - 44px);margin:0 22px;padding:12px;font-size:9px;display:flex}.recent-panel .panel-heading{padding-bottom:21px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:11px}th{color:#a0a892;background:#f9faf6;padding:13px 14px;font-size:9px;font-weight:500}th:first-child,td:first-child{padding-left:25px}td{border-top:1px solid #f1f3ed;padding:16px 14px}td>strong{font-size:11px;font-weight:500;display:block}td>small{color:#a3ab98;margin-top:5px;font-size:8px;display:block}.score-pill{text-align:center;border-radius:6px;min-width:34px;padding:5px 6px;font-size:10px;font-weight:500;display:inline-block}.average-cell{font-size:12px;font-weight:600}.average-cell>small{margin-left:3px;font-size:8px;font-weight:400;display:inline}.row-actions{gap:3px;display:flex}.icon-button{color:#99a18f;border-radius:7px;place-items:center;width:30px;height:30px;display:inline-grid}.icon-button:hover{color:#668058;background:#f0f3e9}.icon-button.delete:hover{color:#ba6e5e;background:#fcefe9}.records-empty{text-align:center;color:#a5b196;flex-direction:column;align-items:center;padding:39px 20px;display:flex}.records-empty h3{font:16px var(--serif);color:#7b8b6d;margin:13px 0 8px}.records-empty p{color:#9ca690;font-size:10px;line-height:1.8}.records-empty .text-button{margin-top:15px}.bottom-quote{color:#a3ac94;font-family:var(--serif);justify-content:center;align-items:center;gap:7px;padding:23px 0 3px;font-size:11px;display:flex}.bottom-quote svg{color:#b5bea0}.footer{color:#b1b9a6;border-top:1px solid #e9ece2;justify-content:space-between;margin-top:27px;padding:19px 0 0;font-size:8px;display:flex}.footer>span:first-child{letter-spacing:1px;align-items:center;gap:6px;display:flex}.mobile-toggle,.mobile-overlay{display:none}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 18px;display:flex}.search-box,.month-filter{border:1px solid var(--line);color:#96a28b;background:#fff;border-radius:9px;align-items:center;gap:9px;padding:10px 13px;display:flex}.search-box{width:290px}.search-box input,.month-filter input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;min-width:0;padding:0;font-size:11px}.month-filter{width:180px}.filter-count{color:#929e87;margin-left:auto;font-size:10px}.backup-panel{border:1px dashed #dbe2d1;border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:23px;display:flex}.backup-panel h3{align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.backup-panel p{color:#95a08b;margin-top:8px;font-size:10px;line-height:1.8}.backup-buttons{gap:8px;display:flex}.backup-buttons .button{padding:9px 12px;font-size:10px}.growth-cards{grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px;display:grid}.growth-card{padding:23px;position:relative}.growth-card h2{margin:14px 0 8px;font-size:14px}.muted-label{color:#9ca58f;font-size:10px}.growth-card>strong{margin:8px 0 17px;font-size:33px;font-weight:500;display:block}.growth-card strong small{color:#98a48c;margin-left:5px;font-size:12px;font-weight:400}.change{color:#af9c83;font-size:9px;line-height:1.7;display:block}.change.positive{color:#7e9e6d}select{color:#7c8d6e;background:#f8faf4;border:1px solid #e2e7da;border-radius:8px;padding:8px 12px;font-size:11px}.explanation{color:#99a28e;align-items:flex-start;gap:10px;padding:22px;font-size:10px;line-height:1.9;display:flex}.explanation svg{margin-top:1px}.goals-banner,.parent-banner{color:#a9935e;background:#f1efdf;border:1px solid #eae6d2;border-radius:14px;align-items:center;gap:20px;margin:25px 0;padding:26px 28px;display:flex}.goals-banner h2,.parent-banner h2{font:19px var(--serif);color:#7a7956}.goals-banner p,.parent-banner p{color:#9a9679;margin-top:10px;font-size:11px;line-height:1.8}.goal-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.goal-card{padding:25px}.goal-card-head{align-items:center;gap:11px;margin-bottom:24px;display:flex}.goal-card-head h2{font-size:16px}.achieved-badge{color:#749961;background:#eef5e8;border-radius:7px;align-items:center;gap:3px;margin-left:auto;padding:5px 8px;font-size:10px;display:flex}.goal-card label{color:#98a18e;font-size:10px}.goal-input{align-items:center;gap:8px;margin:8px 0 20px;display:flex}.goal-input input{color:#586a4c;background:#fcfdf9;border:1px solid #e4e9dc;border-radius:8px;width:110px;padding:8px 10px;font-size:30px}.goal-input>span{font-size:13px}.goal-card p{color:#96a28a;flex-wrap:wrap;gap:6px;margin-top:12px;font-size:10px;display:flex}.goal-card p>strong{color:#7b8c6e;font-weight:500}.goal-card p>span{margin-left:auto}.form-footer{color:#98a28d;justify-content:space-between;align-items:center;gap:20px;margin:23px 0;font-size:11px;display:flex}.parent-banner{color:#c1a093;background:#f6ede7;border-color:#efdfd6}.parent-banner h2{color:#957c6b}.parent-banner p{color:#ac988a}.parent-summary{color:#9ca48f;gap:30px;padding:8px 3px 22px;font-size:11px;display:flex}.parent-summary strong{color:#6d7d5e;margin-left:8px;font-weight:600}.parent-list{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.parent-card{padding:25px}.parent-card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.parent-card-title small{color:#99a68b;font-size:10px}.parent-card h2{margin-top:8px;font-size:14px}.mood-chip{color:#939e88;white-space:nowrap;background:#f5f7f0;border-radius:7px;padding:7px;font-size:9px}.parent-scores{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.parent-scores>span{border-radius:7px;padding:7px 9px;font-size:10px}.parent-scores strong{margin-left:8px}.child-note>span{color:#9da78f;font-size:10px}.child-note p{color:#718262;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:12px;line-height:1.9}.parent-note{background:#f9f8f1;border-radius:10px;margin-top:22px;padding:16px}.parent-note>div{color:#a6a184;align-items:center;gap:7px;display:flex}.parent-note strong{font-size:10px;font-weight:500}.parent-note button{margin-left:auto;font-size:9px}.parent-note p{color:#999b82;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:11px;line-height:1.9}.privacy-footnote{color:#a5af97;align-items:center;gap:7px;margin-top:22px;font-size:10px;display:flex}.dialog{width:570px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);color:var(--ink);background:#fffefa;border:1px solid #e7eadf;border-radius:20px;padding:28px;box-shadow:0 20px 100px #34463330}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#34443563}.dialog-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.dialog-head h2{margin-top:8px;font-size:21px}.dialog-description{color:#96a08b;overflow-wrap:anywhere;margin-bottom:22px;font-size:12px;line-height:1.9}.dialog label{color:#7c8b6d;font-size:11px;display:block}.dialog input:not([type=radio]),.dialog textarea{color:#46573d;background:#fff;border:1px solid #e2e8d8;border-radius:8px;width:100%;margin-top:8px;padding:11px 12px;font-size:12px;display:block}.dialog input::placeholder,.dialog textarea::placeholder{color:#b1b9a7}.dialog textarea{resize:vertical;line-height:1.8}.form-row{grid-template-columns:1fr 1.5fr;gap:15px;margin-bottom:23px;display:grid}.dialog fieldset{border:0;margin:0 0 22px;padding:0}.dialog legend{color:#7c8b6d;margin-bottom:12px;font-size:11px}.dialog legend>span{color:#a7af99;margin-left:7px;font-size:9px}.score-inputs{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.score-inputs label{border-radius:10px;padding:12px 10px}.score-inputs label>span{font-size:12px}.score-inputs label>div{align-items:center;gap:4px;display:flex}.dialog .score-inputs input{background:#ffffff9e;border:0;min-width:0;padding:7px;font-size:21px}.score-inputs label>div>span{color:#9eaa92;margin-top:8px;font-size:10px}.mood-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mood-options input{opacity:0;position:absolute}.mood-options label>span{text-align:center;cursor:pointer;border:1px solid #e6eadf;border-radius:8px;padding:11px 3px;font-size:10px;display:block}.mood-options input:checked+span{color:#6c885a;background:#f0f5e8;border-color:#94b080}.mood-options input:focus-visible+span{outline-offset:2px;outline:2px solid #88a778}.optional{color:#a3ad95;margin-left:5px;font-size:9px}.dialog-actions{border-top:1px solid #edf0e5;justify-content:flex-end;gap:9px;margin-top:25px;padding-top:20px;display:flex}.form-error{color:#b3705d;background:#fff1eb;border-radius:7px;margin-top:14px;padding:10px;font-size:11px;line-height:1.7}.toast{z-index:100;color:#f6f8f1;background:#435f43;border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 35px);padding:15px 23px;font-size:12px;line-height:1.6;display:flex;position:fixed;bottom:28px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 6px 24px #31432e26}.loading-state{color:#8fa77a;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:330px;font-size:12px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){main{padding-top:40px}.welcome-banner{min-height:285px}.welcome-art{width:380px}.frog{width:320px}.dashboard-columns{grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}}@media (width<=1150px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.workspace{margin-left:210px}main{padding:28px}.topbar{padding:0 28px}.welcome-banner{padding:26px}.welcome-art{width:255px;margin-right:0}.frog{width:260px}.art-bubble{right:15px}.summary-card{gap:10px;padding:20px 14px}.summary-card strong{font-size:24px}.summary-card strong small{margin-left:6px;font-size:8px}.summary-card>div>span{font-size:9px}.stat-icon{width:37px;height:37px}.stat-decoration{display:none}.dashboard-columns{grid-template-columns:minmax(0,1.45fr) minmax(245px,1fr);gap:16px}.panel-heading{padding:20px 18px 10px}.subject-list{padding-left:17px;padding-right:17px}.growth-cards{gap:12px}.growth-card{padding:18px}.backup-panel{flex-direction:column;align-items:flex-start}.parent-list{grid-template-columns:1fr}.parent-card-title{align-items:flex-start}}@media (width<=900px){.sidebar{width:190px}.workspace{margin-left:190px}.brand{gap:7px;margin-left:2px;font-size:21px}.brand small{font-size:7px}.brand-mark{width:35px}.profile-card{gap:8px;padding:13px 9px}.profile-card strong{font-size:10px}.profile-card span{font-size:9px}.avatar{width:33px;height:33px}.nav-item{gap:8px;font-size:11px}.topbar{padding:0 22px}.breadcrumb>span{display:none}main{padding:25px 22px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px}.page-heading>.button{padding:10px 12px;font-size:10px}.welcome-banner{padding:25px 23px}.welcome-copy h2{font-size:25px}.welcome-art{width:210px}.art-bubble{font-size:9px;top:17px;right:2px}.art-flower{font-size:25px;left:-5px}.welcome-copy p{font-size:9px}.summary-grid{gap:10px}.summary-card{align-items:flex-start;gap:8px;min-height:103px;padding:17px 12px}.stat-icon{border-radius:8px;width:30px;height:30px}.stat-icon svg{width:17px}.summary-card strong{font-size:23px}.summary-card strong small{margin:2px 0 0;display:block}.tiny-badge{display:none}.dashboard-columns{grid-template-columns:1fr}.chart-empty{height:260px}.subject-list{grid-template-columns:1fr 1fr;column-gap:26px;padding-top:17px;display:grid}.growth-cards{grid-template-columns:repeat(2,1fr)}.goal-grid{gap:15px}.goal-card{padding:20px}.goal-card-head{gap:8px}.achieved-badge{padding:4px;font-size:8px}.goal-card-head h2{font-size:13px}.goal-card p>span{width:100%;margin:3px 0 0}.goal-card label{font-size:10px}.parent-summary{gap:15px;font-size:10px}}@media (width<=650px){.sidebar{z-index:60;width:235px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.mobile-overlay{z-index:55;background:#34443555;display:block;position:fixed;inset:0}.workspace{margin-left:0}.topbar{height:61px;padding:0 17px}.mobile-toggle{display:inline-grid}.breadcrumb{gap:8px}.breadcrumb>svg:first-of-type,.breadcrumb>svg:nth-of-type(2){display:none}.top-right{gap:12px}.today{font-size:9px}.header-avatar{width:28px;height:28px;font-size:13px}main{padding:26px 18px 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:17px}.eyebrow{letter-spacing:1.4px;font-size:7px}.page-heading h1{margin-top:7px;font-size:23px}.page-heading p{max-width:220px;font-size:10px;line-height:1.8}.heading-spark{font-size:20px}.page-heading>.button{gap:4px;min-height:37px;margin-top:16px;padding:9px 10px;font-size:9px}.page-heading>.button svg{width:14px}.mode-bar{align-items:flex-start;gap:8px;font-size:9px}.mode-bar>span{align-items:flex-start;line-height:1.8}.mode-bar>span svg{width:13px;margin-top:2px}.mode-bar button{font-size:8px}.demo-mode{padding:10px}.welcome-banner{border-radius:15px;align-items:flex-start;min-height:269px;padding:24px 21px}.welcome-copy h2{font-size:25px;line-height:1.5}.welcome-tag{font-size:8px}.welcome-copy p{font-size:9px}.welcome-copy{max-width:75%}.welcome-art{opacity:.95;width:177px;height:147px;position:absolute;bottom:9px;right:-10px}.art-bubble{padding:6px 9px;font-size:8px;top:-12px;right:24px;transform:rotate(8deg)}.art-flower{display:none}.frog{width:184px}.welcome-copy .button{z-index:2;margin-top:17px;padding:9px 12px;font-size:9px;position:relative}.summary-grid{gap:8px}.summary-card{min-height:135px;padding:14px 10px;display:block}.stat-icon{width:31px;height:31px;margin-bottom:10px}.summary-card>div>span{font-size:8px}.summary-card strong{font-size:23px}.summary-card strong small{font-size:8px}.section-label{margin-top:22px}.section-label h2{font-size:12px}.section-label>span{font-size:8px}.dashboard-columns{gap:18px;margin-bottom:18px}.panel-heading{padding:20px 17px 12px}.panel-heading h2{font-size:12px}.panel-heading p{margin-left:26px;font-size:8px}.subject-list{column-gap:17px;padding:9px 17px 3px}.subject-row{gap:7px}.subject-progress small{font-size:7px}.subject-icon{width:30px;height:32px;font-size:17px}.subject-progress strong{font-size:9px}.subject-progress>div>span{font-size:10px}.subject-progress>div:first-child{margin-bottom:7px}.progress-dot,.goal-check{display:none}.subject-row{margin-bottom:19px}.goal-link{font-size:9px}.chart-wrap{padding:5px 8px 18px}.chart-empty{height:235px}.chart-empty h3{font-size:14px}.chart-empty p{font-size:9px}.legend{gap:17px}.legend>span{font-size:8px}.recent-panel th:first-child,.recent-panel td:first-child{padding-left:17px}th,td{padding-left:10px;padding-right:10px}table{min-width:515px}.bottom-quote{gap:5px;padding-top:20px;font-size:9px}.bottom-quote svg{width:12px}.footer{margin-top:22px;font-size:7px}.footer>span:first-child{letter-spacing:.6px}.toast{padding:13px 17px;font-size:11px;bottom:20px;left:50%}.notice{flex-direction:column;align-items:flex-start;gap:12px;font-size:11px}.error-banner{flex-direction:column;align-items:flex-start;gap:10px;font-size:11px}.filters{gap:8px}.search-box{width:100%}.month-filter{width:170px}.filter-count{font-size:9px}.backup-panel{padding:20px}.backup-panel p{font-size:9px}.backup-buttons{gap:7px;width:100%}.backup-buttons>.button{flex:1;padding:9px;font-size:9px}.growth-card{padding:18px}.growth-card .subject-icon{position:absolute;top:16px;right:15px}.growth-card h2{margin-top:0}.growth-card>strong{margin-bottom:10px;font-size:29px}.change{font-size:8px}.panel-heading select{padding:7px;font-size:10px}.explanation{padding:19px 5px;font-size:9px}.goals-banner,.parent-banner{gap:13px;padding:21px 19px}.goals-banner>svg,.parent-banner>svg{width:28px}.goals-banner h2,.parent-banner h2{font-size:16px;line-height:1.6}.goals-banner p,.parent-banner p{margin-top:5px;font-size:10px}.goal-grid{grid-template-columns:1fr}.goal-card-head{margin-bottom:17px}.goal-card-head h2{font-size:15px}.goal-input input{font-size:27px}.goal-card p>span{width:auto;margin-top:0;margin-left:auto}.form-footer{gap:13px;font-size:9px}.parent-summary{justify-content:space-between;gap:4px;font-size:9px;display:flex}.parent-summary strong{margin-left:4px}.parent-card{padding:20px}.parent-card h2{font-size:13px}.parent-card-title{gap:10px}.mood-chip{font-size:8px}.privacy-footnote{align-items:flex-start;font-size:8px;line-height:1.8}.dialog{padding:23px 18px}.dialog-head h2{font-size:20px}.dialog-description{font-size:11px}.form-row{grid-template-columns:1fr}.score-inputs{gap:7px}.score-inputs label{padding:10px 7px}.score-inputs label>span{font-size:10px}.dialog .score-inputs input{padding:7px 4px;font-size:18px}.mood-options{gap:5px}.mood-options label>span{padding:12px 3px;font-size:9px}.dialog legend>span{font-size:8px}.dialog-actions .button,.goal-card p{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.nav-item{font-size:13px}.profile-card strong,.page-heading p,.welcome-copy p{font-size:12px}.mode-bar,.mode-bar button,.summary-card>div>span,.summary-card strong small{font-size:11px}.panel-heading h2,.section-label h2{font-size:14px}.panel-heading p{font-size:11px}.subject-progress strong,.text-button,.goal-link{font-size:12px}.subject-progress small{font-size:10px}.legend>span{font-size:11px}.chart-empty p,.records-empty p{font-size:12px}.chart-empty h3,.records-empty h3{font-size:17px}table{font-size:12px}th{font-size:11px}td>strong{font-size:12px}td>small{font-size:10px}.score-pill{font-size:12px}.table-scroll{position:relative}.dialog label,.dialog legend{font-size:13px}.dialog input:not([type=radio]),.dialog textarea{font-size:14px}.dialog .score-inputs input{font-size:22px}.dialog-description,.dialog legend>span,.mood-options label>span,.goal-card label,.goal-card p,.parent-summary,.backup-panel p,.child-note>span,.parent-note p{font-size:12px}.growth-card .muted-label,.change{font-size:11px}.parent-note strong,.parent-scores>span,.explanation,.button,.bottom-quote{font-size:12px}.topbar,.sidebar{isolation:isolate}@media (width<=1150px){.summary-card strong small,.subject-progress small{font-size:9px}.summary-card>div>span{font-size:10px}}@media (width<=650px){.page-heading p{font-size:11px}.mode-bar,.mode-bar button{font-size:10px}.welcome-copy p{max-width:195px;font-size:11px}.welcome-copy h2{font-size:24px}.welcome-art{width:155px;bottom:8px;right:-15px}.welcome-copy .button{font-size:10px}.welcome-banner{min-height:280px;padding:23px 18px}.art-bubble{font-size:8px;top:0;right:18px}.summary-card>div>span{min-height:30px;font-size:9px;line-height:1.7;display:block}.summary-card strong small{font-size:9px}.subject-list{padding:12px 20px;display:block}.subject-progress strong{font-size:12px}.subject-progress small{font-size:10px}.subject-progress>div>span{font-size:13px}.subject-row{gap:12px;margin-bottom:20px}.subject-icon{width:35px;height:35px}.goal-check{display:block}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px}.text-button.muted{font-size:11px}.bottom-quote{font-size:10px;line-height:1.8}.parent-summary{font-size:10px}.dialog label,.dialog legend{font-size:12px}.dialog legend>span,.mood-options label>span{font-size:10px}.dialog-description{font-size:12px}.goal-card p,.explanation{font-size:11px}.growth-card .change{font-size:10px}}.family-page{background:#f4f6ed radial-gradient(#d7e0cb 1px,#0000 1px) 0 0/22px 22px;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:35px 20px;display:flex}.family-card{text-align:center;background:#fffefa;border:1px solid #e2e9d7;border-radius:26px;width:min(470px,100%);padding:40px;box-shadow:0 15px 60px #5264430b}.family-logo{color:#678653;background:#edf2e3;border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 17px;display:grid}.family-card h1{font-family:var(--serif);color:#516d44;margin:14px 0 9px;font-size:24px;line-height:1.6}.family-card>p{color:#91a180;font-size:13px;line-height:1.9}.family-card form{text-align:left;margin-top:26px}.family-card label,.family-password label{color:#768b67;margin-top:16px;font-size:13px;display:block}.family-card input:not([type=hidden]),.family-password input{color:#44593c;background:#fff;border:1px solid #dce5d1;border-radius:10px;width:100%;margin-top:9px;padding:13px;font-size:15px}.family-account-picker{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:23px;display:grid}.family-account-picker button{color:#9aaa8c;background:#fbfcf7;border:1px solid #e4e9db;border-radius:13px;flex-direction:column;align-items:center;gap:8px;padding:19px 9px;display:flex}.family-account-picker button[aria-pressed=true]{color:#64804e;background:#edf3e4;border:2px solid #8daa76;padding:18px 8px}.family-account-picker b{font-size:16px}.family-account-picker span{font-size:11px}.family-submit{width:100%;margin-top:23px;padding:14px;font-size:14px}.family-foot{color:#a0ae92;justify-content:center;align-items:center;gap:5px;margin-top:23px;font-size:11px;line-height:1.8;display:flex}.family-love{font-family:var(--serif);color:#95a584;text-align:center;margin-top:22px;font-size:12px}.family-notice,.family-hint{color:#899a78;margin-top:14px;font-size:12px;line-height:1.8}.setup-card{width:min(620px,100%)}.setup-help{color:#7b8f68;background:#f0f3e7;border-radius:10px;align-items:flex-start;gap:8px;padding:15px;font-size:12px;line-height:1.9;display:flex}.setup-help svg{margin-top:3px}.family-form-columns{grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;display:grid}.family-form-columns fieldset{border:1px solid #e4e9d9;border-radius:12px;padding:15px}.family-form-columns legend{color:#7a8f68;padding:0 5px;font-size:12px}.family-form-columns label:first-of-type{margin-top:0}.family-tools{align-items:center;gap:10px;display:flex}.family-role{color:#70865f;background:#edf2e4;border-radius:7px;padding:6px 9px;font-size:11px}.family-tools button{color:#819471;align-items:center;gap:5px;min-height:30px;font-size:11px;display:flex}.family-tools button:hover{color:#42623b}.family-flash{z-index:100;color:#fff;background:#46603f;border-radius:12px;align-items:center;gap:15px;max-width:90vw;padding:15px 20px;font-size:12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.family-flash button{color:#fff;padding:3px;display:flex}.family-password h2{align-items:center;gap:10px;font-size:21px;display:flex}.family-password form>p{color:#95a384;margin:12px 0;font-size:12px;line-height:1.8}.family-password{background:#fffefa}.family-password input{font-size:14px}.family-shell .today{display:none}@media (width<=650px){.family-card{padding:28px 22px}.family-card h1{font-size:22px}.family-form-columns{grid-template-columns:1fr;gap:15px}.family-tools{gap:7px}.family-tools button{font-size:10px}.family-role{padding:5px;font-size:10px}.family-shell .breadcrumb strong{white-space:nowrap;text-overflow:ellipsis;max-width:70px;overflow:hidden}.family-tools svg{width:13px}.family-shell .top-right{gap:0}.family-shell .header-avatar{display:none}.family-love{font-size:11px}}
