:root{--navy:#26305d;--ink:#25305b;--muted:#778099;--cream:#fff9ee;--paper:#fff;--red:#ff5b5f;--yellow:#ffd13d;--blue:#448aff;--green:#43c991;--purple:#a47af7;--border:#e9e7e7;--shadow:0 12px 34px rgba(42,50,101,.10);--round:24px;--heavy:0 5px 0 rgba(28,48,90,.12);font-family:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 2% 9%,#fff0b4 0 5%,transparent 22%),radial-gradient(circle at 96% 27%,#e0efff 0 5%,transparent 20%),#fff9ee;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid rgba(68,138,255,.42);outline-offset:2px}a{color:inherit}#app{min-height:100vh}.shell{max-width:1270px;margin:0 auto;padding:0 24px 32px}.sr-only{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.muted{color:var(--muted)}.tiny{font-size:12px}.small{font-size:14px}.bold{font-weight:900}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-icon{width:52px;height:52px;flex:none;filter:drop-shadow(0 4px 0 rgba(51,55,92,.13))}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-title{font-weight:1000;font-size:24px;letter-spacing:-1.1px;line-height:1.25}.brand-sub{font-size:10px;letter-spacing:.05em;color:#8990a5;font-weight:800}.demo-flag{padding:5px 9px;color:#704d13;background:#ffefbb;border:1px solid #f7db88;border-radius:20px;font-weight:900;font-size:11px}.top-actions{display:flex;align-items:center;gap:10px}.device-pill{display:flex;align-items:center;gap:5px;color:#64718b;background:white;border:1px solid #e7e5ed;border-radius:999px;padding:10px 14px;font-weight:800;font-size:12px}.top-btn{height:44px;min-width:44px;border:1px solid #e8e4e2;border-radius:15px;background:white;color:var(--ink);font-size:17px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 3px 0 rgba(36,52,89,.06)}.top-btn:hover{transform:translateY(-1px)}.top-btn.role{background:var(--yellow);border-color:#eab529}.top-btn span.label{font-size:13px}.layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:22px;align-items:start}.sidebar{background:#fff;border:1px solid #efebeb;border-radius:25px;padding:18px 13px;box-shadow:var(--shadow);position:sticky;top:18px;min-height:425px}.sidebar-title{font-size:12px;letter-spacing:.06em;font-weight:1000;margin:10px 13px 17px;color:#a3a6b5}.side-nav{display:grid;gap:7px}.side-nav button{display:flex;gap:12px;align-items:center;text-align:left;border:0;border-radius:16px;background:none;padding:13px 14px;font-weight:900;font-size:14px;color:#676e83;min-height:47px}.side-nav button.active{background:#fff0c7;color:var(--navy)}.side-nav button:hover{background:#fff4d9}.side-nav .ico{font-size:20px}.side-bottom{border-top:1px dashed #e5e3e7;margin:25px 8px 3px;padding-top:15px;color:#7f8496;font-size:12px;line-height:1.75}.workspace{min-width:0}.hero{border-radius:31px;padding:30px 34px;min-height:220px;position:relative;overflow:hidden;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.parent-hero{background:linear-gradient(116deg,#3c89ff,#597afa 50%,#8876f5);color:white;box-shadow:0 12px 25px rgba(55,110,220,.18)}.hero::before{content:"";position:absolute;right:-54px;top:-96px;width:330px;height:330px;border:40px solid rgba(255,255,255,.08);border-radius:50%}.hero::after{content:"";position:absolute;right:160px;bottom:-110px;width:200px;height:200px;border:3px dashed rgba(255,255,255,.22);border-radius:50%}.hero-content{z-index:1;max-width:670px}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:1000;letter-spacing:.065em;background:rgba(255,255,255,.19);border-radius:30px;padding:7px 12px;margin-bottom:13px}.hero h1{font-size:clamp(25px,3.1vw,39px);line-height:1.37;letter-spacing:-1.3px;margin:0 0 10px;font-weight:1000}.hero p{font-size:14px;line-height:1.8;margin:0;opacity:.94;font-weight:700}.hero-art{z-index:1;flex:none;display:flex;align-items:center;justify-content:center;position:relative;width:225px;height:160px}.hero-star{font-size:98px;display:block;filter:drop-shadow(0 8px 0 rgba(36,43,114,.2));transform:rotate(-10deg);animation:floaty 3s ease-in-out infinite}.little-orbit{position:absolute;font-size:34px;top:8px;right:9px;transform:rotate(17deg)}.little-orbit.two{top:auto;right:auto;left:8px;bottom:7px;font-size:28px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:13px;background:#fff;border:1px solid #eee9ed;box-shadow:0 5px 17px rgba(33,43,80,.04);padding:14px 16px;border-radius:23px;margin-bottom:20px}.day-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.circle-btn{height:38px;width:38px;background:#f3f6fb;border:0;border-radius:13px;font-size:20px;color:#52678d;font-weight:900}.circle-btn:hover{background:#e8efff}.date-main{font-weight:1000;min-width:132px;text-align:center;font-size:16px}.date-mini{font-size:11px;color:#8490a9;font-weight:700}.quick-date{display:flex;gap:7px;flex-wrap:wrap}.seg-chip{border:1px solid #e3e6ed;background:#fff;padding:9px 13px;border-radius:12px;font-size:12px;font-weight:900;color:#6f7b92;min-height:39px}.seg-chip.active{background:var(--yellow);border-color:#f4c732;color:#4a401e}.seg-chip:hover{background:#fff3d1}.panel{border:1px solid #eee8e3;background:#fff;border-radius:27px;padding:22px;box-shadow:var(--shadow);min-width:0}.section-h{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:16px}.section-h h2{font-size:20px;letter-spacing:-.6px;font-weight:1000;margin:0;display:flex;align-items:center;gap:9px}.section-h p{font-size:12px;color:#858b9d;margin:4px 0 0;font-weight:700}.btn{border:0;border-radius:16px;min-height:45px;padding:11px 18px;background:#f5f6fc;color:#34416c;font-size:14px;font-weight:1000;display:inline-flex;align-items:center;gap:7px;justify-content:center;white-space:nowrap;box-shadow:0 4px 0 rgba(35,45,87,.07);transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 rgba(35,45,87,.08)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 rgba(35,45,87,.06)}.btn.primary{background:var(--red);color:#fff}.btn.secondary{background:var(--blue);color:#fff}.btn.sun{background:var(--yellow);color:#3f3d42}.btn.green{background:var(--green);color:#133d31}.btn.line{border:1px solid #e1e4ee;background:white}.btn.small{min-height:36px;border-radius:12px;padding:8px 12px;font-size:12px}.btn.block{width:100%}.btn.ghost{background:none;box-shadow:none}.btn.danger{color:#cf4050;background:#fff0f1}.btn .icon{font-size:17px}.parent-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(295px,.9fr);gap:20px}.stack{display:grid;gap:20px}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}.stat{border-radius:20px;padding:14px;position:relative;overflow:hidden;min-height:101px}.stat.a{background:#ffebe3}.stat.b{background:#eafbf0}.stat.c{background:#fff2c8}.stat .number{display:block;font-size:29px;line-height:1.2;font-weight:1000;margin-top:9px}.stat-label{font-size:11px;color:#677082;font-weight:900}.stat .decor{position:absolute;right:11px;bottom:6px;font-size:32px;opacity:.75}.kid-switch{display:flex;gap:10px;flex-wrap:wrap}.kid-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 9px;border:2px solid #e8eaf0;border-radius:999px;background:#fff;font-size:13px;font-weight:1000;color:var(--ink);min-height:48px;box-shadow:0 3px 0 rgba(36,49,82,.04)}.kid-chip.active{border-color:var(--blue);background:#eaf3ff}.kid-chip .avatar{font-size:23px}.hint-box{background:#f4f8ff;border:1px dashed #b8cff7;border-radius:16px;padding:12px 14px;color:#64738e;font-size:12px;line-height:1.75;font-weight:700}.hint-box.warn{background:#fff6e6;border-color:#efcb72;color:#736249}.task-list{display:grid;gap:10px}.task-row{display:flex;gap:11px;align-items:center;padding:12px 13px;border-radius:16px;border:1px solid #edf0f2;background:#fdfefe;min-width:0}.task-row.done{background:#f2fbf6;border-color:#d3efe0}.task-icon{height:45px;width:45px;border-radius:13px;background:#fff2ce;display:grid;place-items:center;font-size:24px;flex:none}.task-row.done .task-icon{background:#d9f4e4}.task-name{font-size:14px;font-weight:1000;line-height:1.5;word-break:break-word}.task-sub{font-size:11px;color:#8790a4;font-weight:700;margin-top:3px}.task-state{font-size:12px;color:#6b7a94;font-weight:1000;white-space:nowrap}.task-state.done{color:#249a67}.mini-x{border:0;background:#fff0f1;border-radius:10px;color:#b24b65;width:31px;height:31px;font-size:18px;font-weight:900;flex:none}.progress-track{height:10px;border-radius:999px;background:#e9ecf1;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4ccd99,#a4db44);border-radius:999px;transition:width .3s}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;margin:12px 0 7px}.kpi-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:#f7f1ff;font-size:11px;font-weight:900;color:#7750b5}.week-preview{display:flex;gap:7px;flex-wrap:wrap}.subject-pill{background:#f1f6ff;border:1px solid #e6ecff;border-radius:13px;padding:10px 11px;display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:900;min-height:39px}.subject-pill:nth-child(4n+2){background:#fff4d3;border-color:#ffe6aa}.subject-pill:nth-child(4n+3){background:#f2eeff;border-color:#e8ddff}.subject-pill:nth-child(4n+4){background:#e8f9ee;border-color:#cfefd9}.message-chip{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:13px;border-radius:15px;background:#faf8ff;font-size:12px;font-weight:800;line-height:1.8}.stamp-grid{display:flex;flex-wrap:wrap;gap:9px}.stamp-choice{background:#fff7e8;border:1px solid #ffe6a8;border-radius:17px;padding:11px 13px;font-size:13px;font-weight:900;white-space:nowrap}.stamp-choice:hover{background:#ffeaaa}.stamp-choice span{font-size:22px;display:block;margin-bottom:4px}.inline-switch{display:flex;gap:10px;align-items:center}.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:1000;padding:5px 9px;border-radius:8px;background:#fff0db;color:#9c691d}.tag.ok{color:#16824f;background:#e6f9ed}.tag.info{color:#4776b6;background:#e7f2ff}.empty{text-align:center;border:2px dashed #e9e8f0;background:#fcfcff;border-radius:20px;padding:25px;color:#788296;font-size:13px;font-weight:800;line-height:1.8}.empty .big{display:block;font-size:40px;margin-bottom:8px}.page-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:9px 0 19px}.page-title h1{margin:0;font-size:clamp(23px,2.8vw,30px);font-weight:1000;letter-spacing:-.6px}.page-title p{margin:6px 0 0;color:#828da3;font-size:13px;font-weight:700;line-height:1.7}.calendar-board{display:grid;gap:10px}.week-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:20px}.week-btn{background:#f7f7fc;border:2px solid #e9e9f0;border-radius:15px;padding:13px 4px;min-height:52px;font-weight:1000;font-size:14px}.week-btn.active{background:#ffe5ba;border-color:#ffce47;box-shadow:var(--heavy)}.period-row{display:grid;grid-template-columns:55px 1fr;gap:10px;align-items:center}.period-label{font-size:14px;text-align:center;font-weight:1000;color:#969caf}.subject-cell{border:2px solid #edf0f6;background:#fff;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:13px 16px;min-height:66px;text-align:left;font-weight:1000}.subject-cell:hover{border-color:#8baeff;background:#f3f8ff}.subject-emoji{font-size:28px;margin-right:7px}.subject-edit{color:#92a1b9;font-size:12px;font-weight:900}.field-label{font-size:13px;font-weight:1000;display:block;margin:0 0 8px}.field,.field-select{width:100%;border:2px solid #e7eaf0;background:#fff;border-radius:14px;padding:12px 13px;min-height:46px;color:var(--ink);font-size:15px}.field::placeholder{color:#abb2c1}.fieldarea{resize:vertical;min-height:95px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.select-group{display:flex;gap:8px;flex-wrap:wrap}.toggle-choice{border:2px solid #e8eaf2;background:white;border-radius:15px;padding:10px 14px;min-height:44px;font-size:13px;font-weight:900}.toggle-choice.active{background:#e8f3ff;border-color:#448aff}.presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preset{border:2px solid #ecebf0;background:#fff;border-radius:18px;padding:13px;min-height:78px;text-align:left;display:flex;gap:10px;align-items:center;font-weight:1000;color:var(--ink)}.preset:hover{border-color:#74a7ff;background:#f1f7ff}.preset.added{background:#f0fbf4;border-color:#98ddb8}.preset-icon{font-size:28px}.preset .title{display:block;font-size:13px;line-height:1.6}.preset small{display:block;font-size:10px;color:#91a0b1;margin-top:5px}.pill-tag{display:inline-block;background:#e5f4ff;color:#3a78b3;font-size:11px;padding:5px 9px;border-radius:8px;font-weight:900}.note-row{border-bottom:1px dashed #e4e6ed;padding:13px 0;display:flex;gap:10px;align-items:flex-start}.note-row:last-child{border-bottom:0}.note-main{flex:1;min-width:0;font-size:13px;font-weight:800;line-height:1.75}.note-main.done{text-decoration:line-through;color:#9b9fb1}.mini-check{height:29px;width:29px;border:2px solid #cbd6e8;border-radius:9px;background:white;color:#269565;font-weight:1000;flex:none}.mini-check.checked{border-color:#40c695;background:#d8f6e8}.message-stream{display:grid;gap:11px}.message{display:flex;gap:10px;align-items:flex-end;max-width:90%}.message.self{margin-left:auto;flex-direction:row-reverse}.msg-avatar{font-size:22px;background:#fff4d6;height:37px;width:37px;display:grid;place-items:center;border-radius:13px;flex:none}.msg-bubble{padding:12px 14px;background:#f2f6ff;border-radius:16px 16px 16px 4px;font-size:13px;line-height:1.7;font-weight:800;word-break:break-word}.message.self .msg-bubble{background:#ecfbf3;border-radius:16px 16px 4px 16px}.msg-meta{font-size:10px;color:#a0a6b4;display:block;margin-top:5px}.message-compose{border-top:1px solid #eee;margin-top:18px;padding-top:15px}.privacy-line{font-size:11px;color:#8e97a7;line-height:1.8;font-weight:700}.bottom-nav{display:none}
/* Child's bright play world */
.child-shell{max-width:990px;margin:auto}.child-bg{position:relative}.child-hero{background:linear-gradient(135deg,#fff4b5 5%,#ffe377 57%,#ffc651);border:3px solid #f5ce43;color:#273057;padding:24px 28px 22px;box-shadow:0 8px 0 #f6dc92;align-items:stretch;min-height:230px}.child-hero::before{border-color:rgba(255,255,255,.24)}.child-hero::after{border-color:rgba(255,255,255,.4)}.child-hint{font-size:13px;font-weight:1000;color:#ab6b18;letter-spacing:.06em;margin:0 0 8px}.child-hero h1{font-size:clamp(26px,4.5vw,41px);margin-bottom:7px}.child-hero p{color:#7b5b34;opacity:1;font-size:13px}.kid-mascot{font-size:94px;filter:drop-shadow(0 8px 0 #dbac5d);transform:rotate(-11deg);animation:floaty 2.8s ease-in-out infinite}.child-hero .hero-art{width:180px}.bubble-star{position:absolute;font-size:27px;right:1%;top:12%}.bubble-star.alt{top:auto;bottom:0;left:0;right:auto;font-size:24px}.child-profile-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:20px}.child-profile-bar .who{font-size:12px;font-weight:1000;color:#8b93a6;margin-right:4px}.profile-select{display:flex;align-items:center;gap:7px;background:white;border:2px solid #edeaf0;border-radius:15px;padding:8px 13px;font-weight:1000;box-shadow:0 3px 0 #e3e3ed;min-height:47px}.profile-select.active{background:#e7f5ff;border-color:#78b8fa}.profile-select .face{font-size:25px}.child-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}.child-tabs button{display:inline-flex;align-items:center;gap:6px;justify-content:center;border:2px solid #e7e8f3;min-height:47px;border-radius:16px;background:white;padding:10px 15px;font-weight:1000;box-shadow:0 3px 0 #e4e6ec;color:#73809b}.child-tabs button.active{border-color:#467ff0;background:#e8f1ff;color:#2d549e}.child-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.72fr);gap:19px}.quest-panel{background:white;border:2px solid #eaeaf2;border-radius:27px;padding:21px;box-shadow:var(--shadow)}.quest-title{font-size:24px;font-weight:1000;letter-spacing:-.5px;margin:0 0 5px}.quest-item{display:flex;align-items:center;gap:12px;background:#fff;border:3px solid #e8edf3;border-radius:21px;min-height:83px;padding:12px 12px;margin-top:11px;position:relative;overflow:hidden}.quest-item.complete{background:#edfcf3;border-color:#bcead1}.quest-item .q-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#ffedc2;font-size:31px;flex:none}.quest-item .q-main{flex:1;min-width:0}.quest-item .q-name{font-size:15px;font-weight:1000;line-height:1.45}.quest-item .q-reward{font-size:11px;color:#8290a8;font-weight:900;margin-top:5px}.quest-item .q-done{background:#36ca88;color:#fff;border:0;border-bottom:4px solid #1b9465;border-radius:14px;font-size:13px;font-weight:1000;padding:12px 12px;min-height:46px;min-width:76px;white-space:nowrap}.quest-item .q-done:hover:not(:disabled){background:#1eb579}.quest-item .q-done.done{background:#b8e9cc;border-color:#a2d7b6;color:#2d8c5f;min-width:72px}.coin-panel{background:#f5efff;border:2px solid #e8daff;border-radius:25px;text-align:center;padding:21px 17px}.coin-number{font-size:38px;font-weight:1000;display:block;letter-spacing:-1px;margin:2px}.coin-icon{font-size:39px}.levels{display:grid;gap:10px}.level-row{display:flex;align-items:center;justify-content:space-between;gap:9px;border-radius:14px;background:white;border:1px solid #ece5ff;padding:11px 13px;text-align:left;font-size:12px;font-weight:900;color:#697795}.level-row.unlocked{background:#fff6ce;border-color:#ffdc72;color:#68491f}.level-row .l-emoji{font-size:22px}.reward-card{margin-top:15px;padding:17px;border-radius:20px;background:#eff9ff;border:2px solid #d6ecff}.reward-card h3{margin:0 0 8px;font-size:15px;font-weight:1000}.reward-card p{margin:0;font-size:12px;color:#6d7a95;font-weight:700;line-height:1.7}.rainbow-note{background:linear-gradient(100deg,#ffeff0,#fff9de 35%,#e8f8f3 75%,#eef2ff);padding:16px;border-radius:18px;font-size:13px;font-weight:900}.child-reply-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reply-choice{background:white;border:2px solid #e8e9ef;border-bottom-width:5px;border-radius:17px;padding:12px 9px;min-height:110px;display:grid;place-items:center;font-weight:1000;font-size:12px;color:#39466f}.reply-choice span{display:block;font-size:29px;margin-bottom:7px}.child-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.child-subject{padding:17px 10px;text-align:center;border:2px solid #e3e9fb;border-radius:19px;background:#f2f7ff;min-height:104px}.child-subject:nth-child(3n+2){background:#fff5db;border-color:#f9dfaa}.child-subject:nth-child(3n){background:#f3efff;border-color:#e6dcff}.child-subject .em{display:block;font-size:32px;margin-bottom:7px}.child-subject span{font-weight:1000;font-size:14px}.child-subject small{display:block;color:#8591a6;font-size:11px;margin-top:4px}.no-school{padding:18px;text-align:center;font-weight:900;line-height:1.8}.top-wave{position:fixed;pointer-events:none;z-index:-1;inset:0;background-image:radial-gradient(#fad76b 2px,transparent 2px),radial-gradient(#a6ccfb 2px,transparent 2px);background-size:100px 100px,148px 148px;background-position:18px 40px,60px 70px;opacity:.4}.footer{margin:24px auto 0;text-align:center;font-size:11px;color:#abb0bc;font-weight:800;line-height:1.7}.footer a{text-decoration:underline}.demo-strip{margin:0 auto 15px;max-width:1270px;display:flex;align-items:center;justify-content:center;gap:7px;background:#fff4ce;border:1px solid #ffe7a1;border-radius:12px;padding:10px 14px;color:#8c6b31;font-weight:900;font-size:11px;line-height:1.6;text-align:center}.modal-mask{position:fixed;inset:0;background:rgba(29,39,77,.53);display:flex;align-items:center;justify-content:center;z-index:60;padding:18px;backdrop-filter:blur(3px)}.modal{position:relative;background:white;border-radius:28px;box-shadow:0 25px 80px rgba(24,35,67,.25);width:min(680px,100%);max-height:min(88vh,940px);overflow:auto;padding:26px;scrollbar-width:thin}.modal.narrow{width:min(480px,100%)}.modal h2{font-size:25px;font-weight:1000;margin:0 0 8px;letter-spacing:-.5px}.modal-intro{font-size:13px;color:#7c879b;line-height:1.8;margin:0 0 18px;font-weight:700}.modal-x{position:absolute;right:16px;top:15px;border:0;border-radius:13px;background:#f5f5f8;width:39px;height:39px;font-size:23px;color:#6d7790;font-weight:800}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.modal .section-divider{border:0;border-top:1px dashed #e6e9ef;margin:18px 0}.helper{font-size:12px;line-height:1.7;color:#818da1;margin:7px 0 0}.error-msg{font-size:12px;color:#c94052;font-weight:1000;margin-top:8px}.permission-box{background:#fff7df;padding:12px 15px;border-radius:14px;font-size:13px;line-height:1.9;font-weight:700}.parent-gate{background:#f6f8ff;border-radius:19px;padding:17px;margin-top:12px}.parent-gate input{font-size:26px;letter-spacing:7px;text-align:center;font-weight:1000}.dialog-title-icon{font-size:33px;margin-bottom:8px;display:block}.filter-tabs{display:flex;gap:7px;overflow:auto;scrollbar-width:thin;padding-bottom:4px;margin:15px 0}.filter-tabs button{white-space:nowrap;border:1px solid #e8eaf0;background:#fff;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:1000;min-height:39px}.filter-tabs button.active{background:#ffebbe;border-color:#ffcd5a;color:#665220}.subject-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subject-option{min-height:81px;border:2px solid #e8e9ef;background:#fff;border-radius:17px;font-weight:1000;color:#3d456b}.subject-option:hover{background:#f1f7ff;border-color:#a2c7fd}.subject-option span{display:block;font-size:29px;margin-bottom:4px}.install-note{border:1px dashed #cbd9ee;border-radius:15px;background:#f6f9ff;padding:15px;line-height:2;font-size:12px;font-weight:700}.settings-list{display:grid;gap:12px}.settings-row{background:#f8f9ff;border-radius:15px;padding:15px}.settings-row h3{margin:0 0 7px;font-size:14px;font-weight:1000}.settings-row p{margin:0 0 10px;color:#79849b;font-size:12px;line-height:1.8}.settings-bottom{border-top:1px solid #e6e9ef;margin-top:20px;padding-top:15px}.checkmark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#a7eace;color:#147d4d;font-weight:1000}.countdown{font-weight:1000;font-size:12px}.complete-cover{position:absolute;inset:0;pointer-events:none;background:rgba(224,255,232,.15)}#toast{position:fixed;bottom:29px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:100;background:#29365f;color:#fff;padding:14px 22px;border-radius:16px;box-shadow:0 10px 35px rgba(39,47,79,.22);font-weight:900;font-size:14px;max-width:90vw;text-align:center;transition:opacity .2s,transform .2s}#toast.visible{transform:translate(-50%,0);opacity:1}#celebration{pointer-events:none;position:fixed;inset:0;z-index:90;overflow:hidden}.confetti{position:absolute;top:-30px;width:12px;height:24px;border-radius:3px;animation:confettiFall 1.4s ease-out forwards}.celebrate-banner{position:fixed;top:34%;left:50%;transform:translateX(-50%) scale(.7);opacity:0;animation:bannerBoom 1.35s ease-out forwards;padding:17px 31px;border-radius:25px;background:#ffcf35;border:4px solid #fff;box-shadow:0 12px 0 rgba(30,46,79,.12);color:#34416b;font-size:clamp(25px,8vw,48px);font-weight:1000;white-space:nowrap}
@keyframes confettiFall{0%{opacity:0;transform:translateY(-20px) rotate(0deg)}12%{opacity:1}100%{opacity:0;transform:translateY(110vh) rotate(700deg)}}@keyframes bannerBoom{0%{opacity:0;transform:translateX(-50%) scale(.7)}22%{opacity:1;transform:translateX(-50%) scale(1.08)}34%{transform:translateX(-50%) scale(1)}78%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(.9)}}@keyframes floaty{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(5deg)}}
@media(max-width:1010px){.shell{padding:0 17px 26px}.layout{grid-template-columns:176px minmax(0,1fr);gap:16px}.sidebar{padding:15px 9px}.parent-overview{grid-template-columns:1fr}.hero-art{width:140px}.hero-star{font-size:74px}.hero{min-height:192px;padding:24px}.child-grid{grid-template-columns:1fr 270px}}
@media(max-width:760px){body{background:var(--cream)}.shell{padding:0 13px 92px}.topbar{height:74px}.brand-icon{height:45px;width:45px}.brand-title{font-size:20px}.brand-sub{font-size:9px}.demo-flag{display:none}.device-pill{display:none}.top-actions{gap:6px}.top-btn{height:42px;min-width:42px}.top-btn span.label{display:none}.layout{display:block}.sidebar{display:none}.workspace{width:100%}.hero{padding:23px;min-height:170px;border-radius:25px;gap:3px}.hero h1{font-size:clamp(23px,6vw,32px)}.hero p{font-size:11.5px}.hero-art{width:95px;height:110px}.hero-star{font-size:70px}.little-orbit{font-size:19px}.little-orbit.two{font-size:15px}.eyebrow{font-size:10px;margin-bottom:10px}.panel{padding:17px;border-radius:22px}.section-h h2{font-size:17px}.section-h{flex-wrap:wrap}.toolbar{padding:11px;border-radius:18px}.date-main{min-width:106px;font-size:14px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;gap:3px;background:#fff;border-top:1px solid #e7e8f2;box-shadow:0 -7px 25px rgba(37,44,77,.07);padding:8px 9px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;min-width:66px;min-height:48px;border-radius:13px;display:grid;place-items:center;align-content:center;gap:2px;color:#8e95a5;font-weight:900;font-size:10px}.bottom-nav button.active{background:#fff1cb;color:#283762}.bottom-nav .ico{font-size:22px}.footer{font-size:10px;margin-top:18px}.child-shell .hero-art{width:95px}.kid-mascot{font-size:76px}.child-hero{padding:22px 18px;min-height:170px}.child-grid{grid-template-columns:1fr}.child-hero h1{font-size:26px}.child-hint{font-size:11px}.quest-panel{padding:16px}.quest-title{font-size:21px}.child-profile-bar{margin-bottom:13px}.child-subject{min-height:91px;padding:12px 5px}.child-subject .em{font-size:26px}.modal{padding:22px 17px;max-height:91dvh;border-radius:22px}.modal h2{font-size:22px}#toast{bottom:93px}.stat-row{gap:7px}.stat{padding:12px 10px;min-height:93px}.stat .number{font-size:25px}.stat .decor{font-size:25px}.stat-label{font-size:10px}}
@media(max-width:410px){.hero-art{display:none}.hero-content{max-width:100%}.hero{min-height:auto}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}.stat .number{font-size:22px}.stat-label{font-size:9px}.stat .decor{display:none}.form-row{grid-template-columns:1fr}.presets{grid-template-columns:1fr}.child-reply-options{grid-template-columns:repeat(3,minmax(0,1fr))}.reply-choice{min-height:100px;padding:9px 3px}.top-btn.role{padding:0 10px}}
@media(max-width:410px){.child-hero .hero-art{display:flex;position:absolute;right:3px;top:37px;opacity:.35;width:82px;height:95px}.child-hero .kid-mascot{font-size:73px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
