:root{--pink:var(--txbc-98777a,#98777a);--pink-dark:var(--txbc-76585b,#76585b);--pink-soft:var(--txbc-f0e8e5,#f0e8e5);--pink-card:var(--txbc-faf8f2,#faf8f2);--lavender:var(--txbc-e8e9e3,#e8e9e3);--parent-primary:var(--txbc-536f66,#536f66);--text-muted:var(--txbc-65736d,#65736d);--border-soft:rgba(62,82,74,0.13);--shadow:0 1px 2px rgba(43,60,53,0.025),0 10px 30px rgba(49,68,61,0.055),0 30px 70px rgba(49,68,61,0.03);--shadow-raised:0 3px 10px rgba(39,57,50,0.07),0 28px 76px rgba(45,64,57,0.115);--radius:19px;--family-ink:var(--txbc-2e3b36,#2e3b36);--family-muted:var(--txbc-65736d,#65736d);--family-berry:var(--txbc-9d777b,#9d777b);--family-berry-deep:var(--txbc-78575b,#78575b);--family-violet:var(--txbc-7c8580,#7c8580);--family-apricot:var(--txbc-bda078,#bda078);--family-mint:var(--txbc-78978a,#78978a);--family-surface:rgba(251,250,246,0.88);--family-line:rgba(56,78,69,0.12);--family-shadow:0 2px 8px rgba(40,58,51,0.055),0 24px 68px rgba(44,64,56,0.095);--family-shadow-soft:inset 0 1px 0 rgba(255,255,255,0.88),0 1px 2px rgba(40,58,51,0.024),0 10px 32px rgba(44,64,56,0.052),0 30px 72px rgba(44,64,56,0.025);--family-ease-out:cubic-bezier(0.22,1,0.36,1);--poem-serif:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC",serif}html{background:var(--txbc-dce2de,#dce2de)}body{color-scheme:light;color:var(--family-ink);background:radial-gradient(circle at 13% 8%,rgba(237,222,207,.72),transparent 29rem),radial-gradient(circle at 90% 68%,rgba(161,184,174,.48),transparent 31rem),linear-gradient(148deg,var(--txbc-e7e8e2,#e7e8e2),var(--txbc-d8e0dc,#d8e0dc));background-attachment:fixed;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;font-feature-settings:"kern";font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body ::selection{background:rgba(126,151,140,.24);color:var(--txbc-283d35,#283d35)}body :where(h1,h2,h3,.section-title,.page-title){text-wrap:balance}body :where(p,small,.helper,.hint){text-wrap:pretty}body :where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}body svg{shape-rendering:geometricPrecision}main{isolation:isolate;max-width:540px;border-inline:1px solid rgba(255,255,255,.6);background:linear-gradient(116deg,transparent 0 48%,rgba(65,87,78,.024) 49% 50%,transparent 51%),radial-gradient(circle at 87% 4%,rgba(195,169,141,.18),transparent 17rem),radial-gradient(circle at 4% 45%,rgba(157,180,169,.17),transparent 18rem),linear-gradient(180deg,rgba(249,247,240,.97),rgba(243,244,238,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 0 34px rgba(44,65,57,.045),0 0 110px rgba(44,65,57,.1)}main:before{top:-88px;left:-72px;width:168px;height:168px;border:1px solid rgba(69,94,84,.08);border-radius:53% 47% 59% 41%;background:rgba(255,255,255,.18);transform:rotate(17deg)}.dashboard-hero h1,.habit-hero h1,.login-hero h1,.section-title,h1,h2{font-family:var(--poem-serif);font-weight:700;letter-spacing:.012em}body b,body strong{font-weight:700}.app-header h2,main>header h2{color:var(--txbc-30423b,#30423b);font-family:var(--poem-serif);font-size:21px;font-weight:700;letter-spacing:.02em}.app-header small,.eyebrow,.login-kicker,main>header small{color:var(--txbc-78867f,#78867f);letter-spacing:.1em}.portrait{border:1px solid rgba(255,255,255,.72);border-radius:15px 15px 15px 6px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.25),transparent 45%),linear-gradient(145deg,var(--txbc-6f8d82,#6f8d82),var(--txbc-536f66,#536f66));box-shadow:0 12px 28px rgba(55,83,72,.19);color:var(--txbc-fffdf8,#fffdf8);font-family:var(--poem-serif)}.child-switch{border-color:rgba(60,83,74,.13);background:rgba(250,249,244,.73);box-shadow:0 8px 22px rgba(46,66,58,.055);color:var(--txbc-52655e,#52655e);-webkit-backdrop-filter:blur(18px) saturate(.8);backdrop-filter:blur(18px) saturate(.8)}.dashboard-hero,.habit-hero,.login-hero{border:1px solid rgba(255,255,255,.38);background:radial-gradient(circle at 86% 16%,rgba(221,201,172,.3),transparent 13rem),radial-gradient(circle at 8% 96%,rgba(180,145,147,.16),transparent 15rem),linear-gradient(138deg,var(--txbc-4c685f,#4c685f) 0,var(--txbc-6e887f,#6e887f) 58%,var(--txbc-8aa097,#8aa097) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.29),0 3px 10px rgba(38,61,52,.08),0 29px 76px rgba(47,74,64,.165);color:var(--txbc-fffdf7,#fffdf7)}.login-hero{position:relative;overflow:hidden;padding:32px 24px 29px;border-radius:30px 30px 30px 12px;background:radial-gradient(circle at 78% 10%,rgba(224,199,173,.34),transparent 12rem),radial-gradient(circle at 10% 100%,rgba(178,141,145,.17),transparent 14rem),linear-gradient(142deg,var(--txbc-405d54,#405d54) 0,var(--txbc-5f786f,#5f786f) 62%,var(--txbc-788b83,#788b83) 100%)}.login-hero:after{content:"";position:absolute;width:148px;height:148px;right:-72px;bottom:-92px;border:1px solid rgba(255,255,255,.13);border-radius:47% 53% 42% 58%;transform:rotate(-18deg);pointer-events:none}.login-hero>*{position:relative;z-index:1}.habit-hero{position:relative;overflow:hidden;padding:24px 18px 18px;border-color:rgba(66,91,81,.12);border-radius:24px 24px 24px 9px;background:radial-gradient(circle at 82% 5%,rgba(194,164,132,.18),transparent 10rem),linear-gradient(145deg,rgba(232,239,234,.96),rgba(246,239,231,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 16px 42px rgba(47,69,60,.085);color:var(--family-ink)}.habit-hero .sun{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 5px;border:1px solid rgba(86,115,103,.12);border-radius:18px 18px 18px 7px;background:rgba(255,254,249,.58);color:var(--txbc-6c867b,#6c867b);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}.habit-hero input,.habit-hero input:focus{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--txbc-33473f,#33473f)}.points-big{display:block;margin:8px 0;color:var(--txbc-58776b,#58776b);font-family:inherit;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;text-shadow:0 1px 0 rgba(255,255,255,.84)}.dashboard-hero:before,.login-hero:before{border-color:rgba(255,255,255,.13);border-radius:52% 48% 57% 43%;transform:rotate(18deg)}.dashboard-hero .eyebrow,.dashboard-hero h1,.dashboard-hero p,.login-hero .login-kicker,.login-hero h1,.login-hero p{color:var(--txbc-fffdf8,#fffdf8)}.dashboard-hero .eyebrow{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09)}.progress-ring{border-color:rgba(255,255,255,.24);background:conic-gradient(var(--txbc-ddc49b,#ddc49b) var(--progress),rgba(255,255,255,.13) 0);box-shadow:inset 0 0 0 7px rgba(255,255,255,.075),0 14px 32px rgba(35,53,46,.16)}.progress-ring:before{background:rgba(63,91,81,.85)}.dashboard-next-action{width:min(410px,100%);min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;grid-gap:11px;gap:11px;margin-top:18px;padding:10px 12px;border:1px solid rgba(255,255,255,.34);border-radius:19px;background:rgba(255,253,247,.12);color:var(--txbc-fffdf8,#fffdf8);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s ease,background .18s ease,border-color .18s ease}.dashboard-next-action>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,253,247,.14);color:var(--txbc-f4dfb9,#f4dfb9)}.dashboard-next-action>span{min-width:0;display:grid;grid-gap:1px;gap:1px}.dashboard-next-action em,.dashboard-next-action small{color:rgba(255,253,248,.72)!important;font-size:10px!important;font-style:normal;line-height:1.35}.dashboard-next-action strong{overflow:hidden;color:var(--txbc-fffdf8,#fffdf8);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.dashboard-next-action>svg{transition:transform .18s ease}@media (hover:hover) and (pointer:fine){.dashboard-next-action:hover{border-color:rgba(255,255,255,.5);background:rgba(255,253,247,.18);transform:translateY(-1px)}.dashboard-next-action:hover>svg{transform:translateX(3px)}}.section-title{color:var(--txbc-34463f,#34463f);font-size:16px}.section-title:before{width:18px;height:1px;border-radius:99px;background:var(--txbc-8da299,#8da299);box-shadow:0 4px 0 rgba(181,151,119,.36)}.card,.care,.login-form,.quick,.review,.stat-card,.state,.todo,form{border:1px solid var(--family-line);background:linear-gradient(152deg,rgba(255,255,255,.62),transparent 42%),rgba(251,250,246,.96)!important;box-shadow:var(--family-shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.card,.care,.review,.stat-card,.state{border-radius:18px}.resource-list{padding:4px 16px;border:1px solid rgba(56,78,69,.1);border-radius:18px;background:rgba(251,250,246,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.76)}.donut-wrap{border:0;background:transparent;box-shadow:none}.line-chart-wrap{padding:10px 12px;border:1px solid rgba(56,78,69,.085);background:rgba(235,240,235,.48);box-shadow:inset 0 1px 5px rgba(45,63,56,.025)}.bar-chart{border:0;background:rgba(91,120,108,.11);box-shadow:inset 0 1px 2px rgba(45,63,56,.05)}.notice{border:1px solid rgba(151,119,84,.16);background:rgba(246,239,226,.76)!important;box-shadow:none}.confirm-bar{padding:0;border:0;background:transparent!important;box-shadow:none}.stat-card:first-child{--accent:var(--txbc-8b7a72,#8b7a72)!important}.stat-card:nth-child(2){--accent:var(--txbc-788c86,#788c86)!important}.stat-card:nth-child(3){--accent:var(--txbc-9a8770,#9a8770)!important}.stat-card:after{height:2px;background:var(--accent,var(--txbc-7f958c,#7f958c));opacity:.65}.stat-card strong{color:var(--txbc-314139,#314139)!important;font-family:var(--poem-serif)}.menu a,.quick-action,.task-create-action,.todo-item{border-color:rgba(59,82,73,.1);transition:transform .22s cubic-bezier(.2,.74,.28,1),border-color .22s ease,background .22s ease,box-shadow .22s ease}.attach-btn,.quick-action i,.state-orb,.todo-icon{border:1px solid rgba(67,93,83,.1);border-radius:13px;background:linear-gradient(145deg,var(--txbc-e8efea,#e8efea),var(--txbc-f3ebe4,#f3ebe4))!important;color:var(--txbc-58776b,#58776b)!important}.state-orb{display:grid;place-items:center}.state-orb:after{display:none!important;content:none!important}.state-orb>svg{flex:0 0 auto}.state.loading .state-orb>svg{animation:family-state-breathe 1.45s ease-in-out infinite}.state.error .state-orb{border-color:rgba(139,91,91,.15);background:linear-gradient(145deg,var(--txbc-f1e5e1,#f1e5e1),var(--txbc-f4eee7,#f4eee7))!important;color:var(--txbc-8b6563,#8b6563)!important}@keyframes family-state-breathe{0%,to{opacity:.62;transform:scale(.9) rotate(-4deg)}50%{opacity:1;transform:scale(1.04) rotate(4deg)}}.minus,.plus{border:0;background:transparent!important;box-shadow:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quick-action.rose i,.todo-icon.pink{background:linear-gradient(145deg,var(--txbc-f0e7e4,#f0e7e4),var(--txbc-e6eeea,#e6eeea))!important;color:var(--txbc-8b676b,#8b676b)!important}.quick-action.amber i,.todo-icon.orange{background:linear-gradient(145deg,var(--txbc-f1eadc,#f1eadc),var(--txbc-e9eee8,#e9eee8))!important;color:var(--txbc-8f7653,#8f7653)!important}.quick-action.violet i,.todo-icon.purple{background:linear-gradient(145deg,var(--txbc-e8ebe7,#e8ebe7),var(--txbc-ede8e4,#ede8e4))!important;color:var(--txbc-687b74,#687b74)!important}.quick-action.green i,.todo-icon.green{background:linear-gradient(145deg,var(--txbc-e4ede8,#e4ede8),var(--txbc-f0eee6,#f0eee6))!important;color:var(--txbc-56766a,#56766a)!important}.polish{border:1px solid rgba(72,104,91,.18);border-radius:12px;background:rgba(249,248,243,.82);color:var(--txbc-536f65,#536f65);box-shadow:none}.care aside{border:1px solid rgba(62,86,76,.1);border-radius:14px;background:var(--txbc-f0eee6,#f0eee6);color:var(--txbc-465a52,#465a52)}.polish-option{border:1px solid rgba(62,86,76,.12);border-radius:13px;background:rgba(251,250,246,.88);color:var(--txbc-6e7b75,#6e7b75)}.polish-option small{color:var(--txbc-897173,#897173)}.polish-option.selected{border-color:rgba(73,106,93,.28);background:var(--txbc-e7eee9,#e7eee9);color:var(--txbc-49665c,#49665c);box-shadow:inset 0 0 0 1px rgba(73,106,93,.05)}.reject-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;padding:14px;border-radius:15px;box-shadow:none}.reject-form :where(label,textarea){min-width:0;margin:0}.reject-form .row-actions{min-width:0}.confirm-bar .primary,.link-btn,.primary{border:1px solid rgba(255,255,255,.18);border-radius:12px;background:linear-gradient(135deg,var(--txbc-49675d,#49675d),var(--txbc-5b786d,#5b786d))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 8px rgba(44,70,61,.08),0 14px 34px rgba(52,82,71,.16);color:var(--txbc-fffdf8,#fffdf8)!important}.link-btn:hover:not(:disabled),.primary:hover:not(:disabled){box-shadow:0 17px 38px rgba(52,82,71,.25);filter:brightness(1.04);transform:translateY(-1px)}.link-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 12px;text-decoration:none}.back-button,.danger-btn,.ghost,.secondary{border-color:rgba(61,84,75,.14);background:rgba(249,248,243,.76);color:var(--txbc-546a62,#546a62);box-shadow:none}.danger,.danger-btn,.reject-form{border-color:rgba(145,91,91,.18);background:var(--txbc-f4e9e6,#f4e9e6);color:var(--txbc-8a5d5e,#8a5d5e)}input,select,textarea{border-color:rgba(62,84,76,.14)!important;border-radius:13px!important;background:rgba(255,254,250,.7)!important;color:var(--family-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 0 2px 4px rgba(45,63,56,.022)!important}input:focus,select:focus,textarea:focus{border-color:rgba(73,107,94,.48)!important;box-shadow:0 0 0 4px rgba(94,128,114,.1)!important}.search-bar{border:0;background:transparent;box-shadow:none}.search-bar .primary{min-height:45px;margin-top:0}main>form:not(.login-form):not(.card){padding:20px;border-radius:20px}.attachment-field{margin:0}.attachment-field legend{color:var(--family-ink);font-weight:700}.attach-type-input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0!important;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.attach-btn:focus-within{border-color:rgba(73,107,94,.48);outline:2px solid rgba(72,109,95,.58);outline-offset:3px;box-shadow:0 0 0 4px rgba(94,128,114,.1)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(72,109,95,.58);outline-offset:3px}.badge,.chip,.reward-status,.streak-chip,.tag,.todo-badge{border-color:rgba(65,91,81,.12)}.bottom-nav{width:min(512px,calc(100% - 28px));right:auto;bottom:calc(11px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:8px;border:1px solid rgba(255,255,255,.68);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.56),transparent 46%),rgba(247,247,241,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 4px 12px rgba(39,57,50,.052),0 22px 60px rgba(45,66,58,.13);-webkit-backdrop-filter:blur(27px) saturate(.77);backdrop-filter:blur(27px) saturate(.77)}.bottom-nav a{color:var(--txbc-63736c,#63736c)}.bottom-nav a.active{background:linear-gradient(145deg,var(--txbc-e2ebe5,#e2ebe5),var(--txbc-f1e9e2,#f1e9e2));color:var(--txbc-47685d,#47685d);box-shadow:inset 0 0 0 1px rgba(72,105,93,.08)}.login-page{display:flex;flex-direction:column;justify-content:center;padding-top:max(30px,env(safe-area-inset-top))}.login-page:after{content:"童学伴 · 共见成长";display:block;margin:24px auto 0;color:var(--txbc-8a958f,#8a958f);font-family:var(--poem-serif);font-size:11px;letter-spacing:.18em}.login-form{border-radius:20px;background:rgba(251,250,246,.9)!important;box-shadow:0 26px 64px rgba(45,67,58,.12)}.login-assurance{border-radius:14px;background:rgba(232,238,233,.58)!important;box-shadow:none;color:var(--txbc-6d8178,#6d8178)}.product-dialog-backdrop{background:rgba(36,53,47,.43);-webkit-backdrop-filter:blur(14px) saturate(.74);backdrop-filter:blur(14px) saturate(.74)}.product-dialog{border:1px solid rgba(255,255,255,.7);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(194,169,142,.18),transparent 15rem),rgba(250,249,244,.97);box-shadow:0 38px 110px rgba(34,52,45,.26)}.product-dialog-symbol{border-radius:17px 17px 17px 7px;background:linear-gradient(145deg,var(--txbc-e3ece6,#e3ece6),var(--txbc-efe5dc,#efe5dc));color:var(--txbc-58766b,#58766b)}.product-dialog-actions .product-dialog-confirm{background:linear-gradient(135deg,var(--txbc-49675d,#49675d),var(--txbc-5b786d,#5b786d));box-shadow:0 12px 28px rgba(51,79,69,.2)}main>:not(.bottom-nav):not(.product-dialog-backdrop){animation:none}main>.dashboard-hero,main>.habit-hero,main>.login-hero,main>.state,main>header{animation:family-poetry-reveal .46s cubic-bezier(.22,1,.36,1) both}a:active,button:active:not(:disabled){transform:scale(.99)}.route-state-page{min-height:100dvh;display:grid;align-content:center;grid-gap:14px;gap:14px}.route-state-page>a{width:-moz-fit-content;width:fit-content;min-width:150px;margin:0 auto;padding:11px 16px;text-align:center;text-decoration:none}.offline-banner{position:fixed;z-index:240;top:max(12px,env(safe-area-inset-top));left:50%;width:min(480px,calc(100% - 28px));display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(255,255,255,.68);border-radius:14px;background:rgba(245,239,225,.95);box-shadow:0 18px 46px rgba(49,65,57,.17);color:var(--txbc-6a5b45,#6a5b45);transform:translateX(-50%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.offline-banner small,.offline-banner span{display:block}.offline-banner strong{font-size:12px}.offline-banner small{margin-top:1px;color:var(--txbc-887b67,#887b67);font-size:10px}.bottom-nav,.child-switch,.product-dialog-backdrop{-webkit-backdrop-filter:blur(18px) saturate(.8)}.bottom-nav span,.eyebrow,.login-kicker,.quick-action small,.stat-card small,.todo-item small{font-size:max(11px,.7rem)}body :where(small,.helper,.hint,.badge,.tag,.chip,.todo-badge){font-size:max(12px,.75rem)!important;line-height:1.48}.analytics-filters{display:flex;min-width:0;align-items:center;gap:8px}.analytics-filters .child-switch{margin-left:0}.analytics-filters select{width:auto;min-width:82px;margin-top:0}.line-chart-wrap{overflow:hidden;border-radius:14px}.line-labels{min-height:18px;align-items:center;color:var(--family-muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-create-panel{padding:12px}.task-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.task-create-action{min-width:0;min-height:76px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:12px;border:1px solid rgba(62,86,76,.1);border-radius:16px 16px 16px 7px;background:linear-gradient(148deg,rgba(255,255,255,.58),transparent 48%),rgba(237,242,237,.76);color:var(--txbc-3e554c,#3e554c);text-decoration:none}.task-create-action:nth-child(2){background:linear-gradient(148deg,rgba(255,255,255,.58),transparent 48%),rgba(244,237,228,.72);color:var(--txbc-665a48,#665a48)}.task-create-action i{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(67,93,83,.1);border-radius:13px 13px 13px 5px;background:rgba(255,254,249,.65);font-style:normal}.task-create-action :where(span,b,small){min-width:0;display:block}.task-create-action b{color:inherit;font-size:13px}.task-create-action small{margin-top:4px;color:var(--family-muted)}.task-cards{display:grid;grid-gap:12px;gap:12px}.task-cards>.list-row{margin:0;padding:16px;border:1px solid rgba(56,78,69,.1);border-radius:18px 18px 18px 8px;background:linear-gradient(150deg,rgba(255,255,255,.56),transparent 45%),rgba(251,250,246,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 28px rgba(44,64,56,.045)}.task-cards .text-link{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:3px;margin-top:2px;color:var(--txbc-496a5f,#496a5f);text-underline-offset:3px}.card>:is(.list-row,.history-item,.state),.resource-list>.list-row{border:0;border-radius:0;background:transparent!important;box-shadow:none}.card>:is(.list-row,.history-item,.state)+:is(.list-row,.history-item),.resource-list>.list-row+.list-row{border-top:1px solid var(--family-line)}.card>.state,.care>.state,.resource-list>.state,.review>.state{min-height:88px;margin:0;padding:18px 8px;border:0;border-radius:0;background:transparent!important;box-shadow:none}.card>.state .state-orb,.care>.state .state-orb,.resource-list>.state .state-orb,.review>.state .state-orb{width:40px;height:40px;margin-bottom:8px}.card:hover,.stat-card:hover{border-color:var(--family-line);box-shadow:var(--family-shadow-soft);transform:none}.todo-item:not(a):hover{background:transparent;box-shadow:none;transform:none}@media (hover:hover) and (pointer:fine){.menu a:hover,.task-create-action:hover,a.quick-action:hover,a.todo-item:hover{border-color:rgba(75,105,94,.2);background-color:rgba(255,254,250,.8);box-shadow:0 15px 34px rgba(48,69,61,.075);transform:translateY(-1px)}}body :where(p,li){line-height:1.64}body :where(h1,h2,h3){line-height:1.25}:where(.stat-card strong,.progress-ring,.points-big strong,.history-item strong,.reward-row strong,.chart-value){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}body :where(button,a){touch-action:manipulation;transition-duration:.19s;transition-timing-function:var(--family-ease-out)}body :where(input,select,textarea){caret-color:var(--parent-primary);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}body :where(input,textarea)::placeholder{color:var(--txbc-929b96,#929b96);opacity:.82}body *{scrollbar-color:rgba(90,116,105,.34) transparent;scrollbar-width:thin}body ::-webkit-scrollbar{width:8px;height:8px}body ::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:rgba(90,116,105,.31);background-clip:padding-box}@media (hover:none){.menu a:hover,.task-create-action:hover,a.quick-action:hover,a.todo-item:hover{border-color:rgba(59,82,73,.1);background:transparent;box-shadow:none;transform:none}}@media (pointer:coarse){body :where(button,.back-button,.ghost,.secondary){min-height:42px}}@media (prefers-reduced-transparency:reduce){.bottom-nav,.child-switch,.offline-banner,.product-dialog{background:var(--txbc-f8f7f1,#f8f7f1);backdrop-filter:none;-webkit-backdrop-filter:none}}@media (prefers-contrast:more){:root{--family-line:rgba(45,67,58,0.27);--family-muted:var(--txbc-596861,#596861)}body :where(input,select,textarea,button,a):focus-visible{outline-color:var(--txbc-365b4f,#365b4f)}}@keyframes family-poetry-reveal{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (max-width:370px){main{padding-inline:17px}.dashboard-hero{padding-inline:19px}}@media (max-width:520px){.analytics-header{flex-wrap:wrap}.analytics-header h2{min-width:0}.analytics-filters{width:100%;flex:1 0 100%;padding-left:48px}.analytics-filters .child-switch{max-width:none;flex:1 1 auto}.reject-form .row-actions,.review article>div:not(.reject-form){flex-direction:column}.review article button{width:100%}}@media (min-width:800px){main{max-width:680px;padding-inline:34px}.bottom-nav{width:min(652px,calc(100% - 28px))}.dashboard-hero h1{max-width:360px}main:has(>.dashboard-hero){max-width:960px;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(310px,.86fr);grid-column-gap:24px;column-gap:24px;padding-inline:40px}main:has(>.dashboard-hero)>.app-header,main:has(>.dashboard-hero)>.dashboard-hero,main:has(>.dashboard-hero)>.stats{grid-column:1/-1}main:has(>.dashboard-hero)>.section-title:first-of-type{grid-column:1;grid-row:4}main:has(>.dashboard-hero)>.section-title:nth-of-type(2){grid-column:2;grid-row:4}main:has(>.dashboard-hero)>.todo{grid-column:1;grid-row:5;height:100%}main:has(>.dashboard-hero)>.quick{grid-column:2;grid-row:5;height:100%}.analytics-page{max-width:960px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;grid-gap:16px;gap:16px;padding-inline:40px}.analytics-page>.analytics-header,.analytics-page>.card:nth-of-type(3),.analytics-page>.state{grid-column:1/-1}.analytics-page>.analytics-header{margin-bottom:2px}.analytics-page>.card{min-width:0;margin:0}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-nav,.child-switch,.offline-banner,.product-dialog{background:var(--txbc-f8f7f1,#f8f7f1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html[data-app-role]{--pink:var(--txb-accent);--pink-dark:var(--txb-deep);--pink-soft:var(--txb-soft);--pink-card:var(--txb-paper);--text-muted:var(--txb-muted);--border-soft:var(--txb-line);--family-ink:var(--txb-ink);--family-muted:var(--txb-muted);--family-berry:var(--txb-accent);--family-berry-deep:var(--txb-deep);--family-surface:var(--txb-paper);--family-line:var(--txb-line);--parent-primary:var(--txb-accent);--kid-primary:var(--txb-accent);--kid-primary-deep:var(--txb-deep);--kid-primary-soft:var(--txb-soft);--kid-accent:var(--txb-accent);--kid-pink-soft:var(--txb-soft);--kid-cream:var(--txb-canvas);--kid-paper:var(--txb-paper);--kid-card:var(--txb-paper);--kid-text:var(--txb-ink);--kid-text-secondary:var(--txb-muted);--kid-line:var(--txb-line);--accent:var(--txb-accent);--accent-soft:var(--txb-soft);--accent-faint:var(--txb-soft);--admin-brand:var(--txb-accent);--admin-brand-deep:var(--txb-deep);--admin-ink:var(--txb-ink);--admin-muted:var(--txb-muted);--admin-line:var(--txb-line);--admin-surface:var(--txb-paper);--surface:var(--txb-paper);--surface-soft:var(--txb-canvas);--muted:var(--txb-muted);--border:var(--txb-line);--poem-serif:"PingFang SC","Microsoft YaHei",sans-serif}html[data-app-role],html[data-app-role] body{background:var(--txb-canvas);color:var(--txb-ink)}html[data-app-role] body{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}html[data-app-role] body :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.025em}html[data-app-role] :is(main,.kid-shell){background:linear-gradient(var(--txb-canvas),var(--txb-paper) 45%);box-shadow:none}html[data-app-role] .sky,html[data-app-role] :is(.kid-shell,main):after,html[data-app-role] :is(.kid-shell,main):before{display:none}html[data-app-role] :is(.card,.cat-card,.task-card,.habit-card,.radio-item,.radio-row,.panel,.stat-card,.me-profile-card,.me-menu a,.me-points-card){border:1px solid var(--txb-line);border-radius:18px;background:var(--txb-paper);box-shadow:0 4px 14px #40313b04}html[data-app-role] :is(.primary,.btn-primary,.submit-btn,.login-submit,.kid-button-primary){background:var(--txb-accent);border-color:var(--txb-accent);color:white;box-shadow:0 4px 12px #40313b0a}html[data-app-role] :is(input,select,textarea){border-color:var(--txb-line);accent-color:var(--txb-accent)}html[data-app-role] :is(input,select,textarea):focus{outline-color:var(--txb-accent);border-color:var(--txb-accent)}html[data-app-role] :is(.hero,.tasks-hero,.dashboard-hero,.habit-hero){background:var(--txb-soft);border:1px solid var(--txb-line);box-shadow:none;color:var(--txb-deep);border-radius:24px}html[data-app-role] :is(.hero,.tasks-hero,.dashboard-hero) :is(h1,p,.eyebrow,small,strong){color:var(--txb-deep)}html[data-app-role] .hero-next-task{background:var(--txb-accent);border-color:transparent;color:white;border-radius:12px}html[data-app-role] .hero-next-task :is(small,strong){color:white}html[data-app-role] .mascot :is(.star,.mascot-spark){display:none}html[data-app-role] .tasks-hero h1{font-size:27px;line-height:1.45;max-width:220px}html[data-app-role] .tasks-kid-header .greeting small{font-size:11px;color:var(--txb-muted)}html[data-app-role] .header-round-btn{color:var(--txb-ink);background:transparent;border:0;box-shadow:none}html[data-app-role] .header-round-btn svg{fill:none}html[data-app-role] .header-badge{background:var(--txb-accent)}html[data-app-role=child] .tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--txb-paper);border-color:var(--txb-line);box-shadow:none}html[data-app-role=child] .tabs a{min-width:0;color:var(--txb-muted)}html[data-app-role=child] .tabs a.active{background:transparent;color:var(--txb-accent)}html[data-app-role=child] .tabs a.active i{background:var(--txb-soft);box-shadow:none;color:var(--txb-accent)}html[data-app-role=child] .tabs .tab-label{font-size:11px;white-space:nowrap}html[data-app-role=parent] .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));background:var(--txb-paper);border-color:var(--txb-line);box-shadow:none}html[data-app-role=parent] .bottom-nav>a{color:var(--txb-muted)}html[data-app-role=parent] .bottom-nav>a.active{color:var(--txb-accent);background:transparent}html[data-app-role=parent] .bottom-nav>a.active i{background:var(--txb-soft);color:var(--txb-accent)}html[data-app-role=parent] .portrait{background:var(--txb-soft);color:var(--txb-deep);box-shadow:none;border-color:var(--txb-line)}.latest-radio-home{display:block;padding:18px;border-radius:20px;background:var(--txb-soft);border:1px solid var(--txb-line);margin:16px 0;color:var(--txb-deep)}.latest-radio-home>span{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700}.latest-radio-home>small{display:block;margin-top:8px;line-height:1.8;font-size:12px}html[data-app-role=admin] .admin>aside{background:var(--txb-soft);border-color:var(--txb-line);box-shadow:none;color:var(--txb-ink)}html[data-app-role=admin] .admin>aside:before,html[data-app-role=admin] .sidebar-mascot{display:none}html[data-app-role=admin] :is(.logo-text,.logo-text strong,.logo-text small,.nav-group-label,.nav-search,.sidebar-nav a){color:var(--txb-ink)}html[data-app-role=admin] :is(.logo-mark,.logo-mark-lg){background:var(--txb-accent);color:white;border:0;box-shadow:none}html[data-app-role=admin] .sidebar-nav a.active{background:var(--txb-paper);color:var(--txb-deep);box-shadow:none}html[data-app-role=admin] .nav-search{background:var(--txb-paper);border-color:var(--txb-line)}html[data-app-role=admin] .nav-search input{color:var(--txb-ink)}html[data-app-role=admin] .admin>main>header{background:var(--txb-canvas);border-color:var(--txb-line)}.txb-theme-entry{display:flex;align-items:center;gap:12px;border:1px solid var(--txb-line);background:var(--txb-paper);color:var(--txb-deep);border-radius:14px;padding:17px 14px;width:100%;font-size:14px;text-align:left;cursor:pointer}.txb-theme-entry small{margin-left:auto;color:var(--txb-muted);font-size:12px}.txb-theme-entry.compact{width:auto;white-space:nowrap;padding:9px 12px;font-size:12px;gap:7px}.txb-theme-dialog{width:min(460px,calc(100vw - 28px));max-height:90dvh;padding:27px 22px;border:1px solid var(--txb-line);border-radius:24px;background:var(--txb-paper);color:var(--txb-ink);overflow:auto;box-sizing:border-box;box-shadow:0 24px 90px #40313b2b}.txb-theme-dialog::-webkit-backdrop{background:#40313b44;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.txb-theme-dialog::backdrop{background:#40313b44;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.txb-theme-dialog h2{font-size:21px;margin:0 26px 10px 0}.txb-theme-dialog>p{font-size:12px;color:var(--txb-muted);line-height:1.8}.txb-theme-close{position:absolute;right:14px;top:10px;width:36px;height:36px;background:transparent;border:0;color:var(--txb-muted);font-size:24px}.txb-theme-current{display:flex;justify-content:space-between;padding:14px;border-radius:12px;margin:18px 0;background:var(--txb-soft);font-size:12px;color:var(--txb-deep)}.txb-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:13px;gap:13px}.txb-theme-card{border:2px solid var(--txb-line);padding:9px;border-radius:16px;min-width:0;background:var(--txb-paper);color:var(--txb-ink);text-align:left;cursor:pointer}.txb-theme-card[aria-pressed=true]{border-color:var(--txb-accent)}.txb-theme-sample{display:flex;flex-direction:column;gap:8px;padding:11px;border-radius:9px;background:var(--preview-soft);color:var(--preview-accent)}.txb-theme-card>span:last-of-type{display:flex;justify-content:space-between;align-items:center;margin:10px 0 5px;gap:5px;font-size:13px}.txb-theme-card em{font-style:normal;color:var(--txb-accent)}.txb-theme-card>small{font-size:10px;line-height:1.7;color:var(--txb-muted);display:block;min-height:32px}.txb-theme-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;color:var(--txb-muted);font-size:11px}.txb-theme-footer>button{color:var(--txb-deep);border:0;background:transparent;font-size:11px;padding:8px 0}.txb-theme-feedback{margin-bottom:0}.txb-program-list{display:grid;grid-gap:13px;gap:13px;margin:18px 0}.txb-program-card{width:100%;display:flex;align-items:center;gap:13px;text-align:left;background:var(--txb-paper);border:1px solid var(--txb-line);border-radius:18px;padding:16px 13px;color:var(--txb-ink);cursor:pointer}.txb-program-cover{width:65px;min-height:83px;display:grid;place-items:center;background:var(--txb-soft);color:var(--txb-deep);border-radius:12px;flex-shrink:0}.txb-program-card>span:nth-child(2){flex:1 1;min-width:0}.txb-program-card strong{font-size:17px;display:block}.txb-program-card small{display:block;font-size:11px;color:var(--txb-muted);line-height:1.8;margin-top:6px}.txb-program-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 15px}.txb-program-heading h3{font-size:18px;margin:0}.txb-program-heading button{font-size:12px;padding:9px 11px;border-radius:9px;background:var(--txb-soft);color:var(--txb-deep)}.txb-program-breadcrumb{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--txb-muted);margin:18px 0}.txb-program-breadcrumb button{border:0;background:none;color:var(--txb-deep);font-size:12px;padding:6px 0}.txb-program-intro{font-size:12px;color:var(--txb-muted);line-height:1.8;margin:14px 0}.txb-program-form{background:var(--txb-paper);border:1px solid var(--txb-line);border-radius:16px;padding:16px;margin:15px 0}.txb-program-form input,.txb-program-form select{width:100%;margin:7px 0 12px;padding:11px;border:1px solid var(--txb-line);border-radius:9px}.txb-program-form .primary{padding:10px 14px;font-size:13px}@media(max-width:540px){html[data-app-role] :is(main,.kid-shell){border:0}html[data-app-role=admin] .header-actions{gap:7px}.txb-theme-entry.compact{padding:8px;font-size:11px}.txb-theme-entry.compact svg{width:16px}.txb-theme-dialog{padding:25px 17px}.txb-program-cover{width:60px;min-height:76px}}html[data-app-role] :is(.primary,.btn-primary,.auth-submit,.kid-button-primary,.kid-button.primary,.diary-save-button,.task-primary-action,.habit-checkin-action,.subject-action,.state button,.empty-state-link,.benefit-ticket-body button,.reply-card-footer button):not(:disabled){background:var(--txb-accent)!important;color:#fff!important;box-shadow:0 4px 12px #40313b0a!important}html[data-app-role] :is(.hero,.auth-hero,.task-detail-hero,.subject-hero,.habit-hero-card,.points-hero,.me-hero,.rewards-points-card,.ai-welcome-card,.diary-notebook-hero,.checkin-hero,.refined-checkin-hero){background:var(--txb-soft)!important;border:1px solid var(--txb-line);box-shadow:none;color:var(--txb-deep);border-radius:24px}html[data-app-role] :is(.hero,.auth-hero,.task-detail-hero,.subject-hero,.habit-hero-card,.points-hero,.me-hero,.rewards-points-card,.ai-welcome-card,.diary-notebook-hero,.checkin-hero,.refined-checkin-hero) :is(h1,h2,h3,p,span,small,strong){color:var(--txb-deep)!important}html[data-app-role] :is(.auth-form-panel,.register-form,.profile-form,.submit-form-card,.checkin-action-card){background:var(--txb-paper);box-shadow:none;border-color:var(--txb-line)}html[data-app-role] .auth-form label.remember-row{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:12px}html[data-app-role] .remember-row input[type=checkbox]{flex:0 0 18px;width:18px;min-height:18px;height:18px;padding:0}html[data-app-role] :is(input,select,textarea):not([type=checkbox]):not([type=radio]){background:var(--txb-paper)!important;border-color:var(--txb-line)!important;box-shadow:none!important}html[data-app-role] .auth-form .field-action,html[data-app-role] .auth-form .field-prefix{background:var(--txb-soft);color:var(--txb-deep)}html[data-app-role] .hero-next-task,html[data-app-role] .hero-next-task :is(small,strong,span){color:#fff!important}html[data-app-role=admin] .sidebar-nav .nav-group>p{color:var(--txb-muted);letter-spacing:.05em}html[data-app-role=admin] .sidebar-nav .nav-group a.active,html[data-app-role=admin] .sidebar-nav .nav-group a.active :is(span,i,svg){color:var(--txb-deep)!important}html[data-app-role=admin] .sidebar-nav .nav-group a:hover,html[data-app-role=admin] .sidebar-nav .nav-group a:hover :is(span,i){color:var(--txb-deep)!important;background:var(--txb-paper)}html[data-app-role=admin] .nav-search input::placeholder{color:var(--txb-muted)}html[data-app-role=admin] .executive-strip{background:var(--txb-soft);color:var(--txb-deep);box-shadow:none;border-color:var(--txb-line)}html[data-app-role=admin] .executive-strip :is(h2,p,span,small,strong){color:var(--txb-deep)!important}html[data-app-role=admin] .executive-action{background:var(--txb-paper);color:var(--txb-deep);border-color:var(--txb-line)}html[data-app-role=child] .auth-form .auth-submit{display:flex;align-items:center;justify-content:center;gap:8px}@media(max-width:440px){html[data-app-role=child] .auth-hero{grid-template-columns:minmax(0,1fr) 122px;gap:10px;padding:20px}html[data-app-role=child] .auth-hero h1{font-size:22px;line-height:1.45}html[data-app-role=child] .auth-hero .mascot{width:122px;height:150px}}html[data-app-role=parent] :is(.login-hero,.dashboard-hero,.habit-hero){background:var(--txb-soft)!important;color:var(--txb-deep);box-shadow:none;border-color:var(--txb-line);border-radius:24px}html[data-app-role=parent] :is(.login-hero,.dashboard-hero,.habit-hero) :is(h1,h2,p,span,small,strong){color:var(--txb-deep)!important}html[data-app-role=parent] .login-hero .portrait{background:var(--txb-artwork) center/cover;width:96px;height:96px;font-size:0;border:0;mix-blend-mode:multiply;box-shadow:none;border-radius:24px}html[data-app-role=parent] .login-form{background:var(--txb-paper);border-color:var(--txb-line);box-shadow:none;border-radius:20px}[data-theme-copy]{display:none!important}html[data-txb-theme=kitty] [data-theme-copy=kitty],html[data-txb-theme=monster] [data-theme-copy=monster],html[data-txb-theme=starlight] [data-theme-copy=starlight]{display:inline!important}html[data-app-role] .mascot-picture{border-radius:22%;mix-blend-mode:multiply;-webkit-user-select:none;-moz-user-select:none;user-select:none}html[data-app-role=child] .state-orb{background-image:var(--txb-artwork);background-size:cover;background-position:var(--txb-art-position);border-radius:24%;filter:none}.txb-theme-sample{height:132px;background:var(--preview-soft) var(--preview-artwork) var(--preview-position,center)/cover no-repeat}.txb-theme-card>small{font-size:12px;min-height:40px}.txb-theme-current strong{text-align:right}html[data-app-role=child] .tasks-hero h1{font-size:clamp(19px,5.3vw,24px);line-height:1.6;max-width:250px;overflow-wrap:anywhere}html[data-app-role=child] .hero-mascot .mascot-picture{border-radius:28%}html[data-app-role=child] .hero-mascot:after,html[data-app-role=child] .hero-mascot:before{display:none}html[data-txb-theme=starlight][data-app-role=child] .tasks-hero{background:linear-gradient(125deg,var(--txb-soft),#fff8ed)!important}html[data-txb-theme=starlight][data-app-role=admin] .admin>aside{background:var(--txb-sidebar);color:#e5deef}html[data-txb-theme=starlight][data-app-role=admin] :is(.logo-text,.logo-text strong,.logo-text small,.sidebar-nav a){color:#e5deef}html[data-txb-theme=starlight][data-app-role=admin] .sidebar-nav .nav-group>p{color:#c3b6d7}html[data-txb-theme=starlight][data-app-role=admin] .sidebar-nav .nav-group a.active,html[data-txb-theme=starlight][data-app-role=admin] .sidebar-nav .nav-group a.active :is(span,i,svg){color:var(--txb-deep)!important}html[data-txb-theme=starlight][data-app-role=parent] .login-hero .portrait{background-position:var(--txb-art-position)}@media(max-width:390px){.txb-theme-current{gap:10px;font-size:11px}.txb-theme-grid{gap:10px}.txb-theme-card{padding:7px}.txb-theme-sample{height:112px}}@media(prefers-reduced-motion:reduce){html[data-app-role] *,html[data-app-role] :after,html[data-app-role] :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html[data-app-role] .mascot[data-mascot-scene=ai],html[data-app-role] .mascot[data-mascot-scene=reading]{--txb-mascot-artwork:var(--txb-artwork-reading)}html[data-app-role] .mascot[data-mascot-scene=celebrate],html[data-app-role] .mascot[data-mascot-scene=reward]{--txb-mascot-artwork:var(--txb-artwork-celebrate)}html[data-txb-theme=monster] .mascot-picture{background-size:contain!important;border-radius:0!important;mix-blend-mode:normal}html[data-txb-theme=monster][data-app-role=child] .state-orb{background-size:contain;background-repeat:no-repeat}.txb-theme-card .txb-theme-sample[aria-label="小怪兽"]{background-size:contain}html[data-txb-theme=monster][data-app-role=parent] .login-hero .portrait{background-size:contain;background-repeat:no-repeat;mix-blend-mode:normal}html[data-txb-theme=monster][data-app-role=admin] .admin>aside{background:var(--txb-sidebar);color:#e7eeea}html[data-txb-theme=monster][data-app-role=admin] :is(.logo-text,.logo-text strong,.logo-text small,.sidebar-nav a){color:#e7eeea}html[data-txb-theme=monster][data-app-role=admin] .sidebar-nav .nav-group>p{color:#bdcec5}.homework-reader{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:#fff!important;color:#272727!important;max-width:680px;width:100%;margin:0 auto;line-height:1.7;text-align:left;border:1px solid #eaeaea;border-radius:12px;overflow:hidden}.homework-reader *{box-sizing:border-box}.homework-reader :is(h1,h2,p){color:inherit;background:none;letter-spacing:normal}.homework-reader button{font:inherit;cursor:pointer;min-height:44px;box-shadow:none}.hw-reader-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #eee;font-size:17px}.hw-reader-heading small{color:#888;font-size:12px}.hw-subject-tabs{display:flex;border-bottom:1px solid #eee;padding:0 15px;gap:12px}.homework-reader .hw-subject-tabs button{position:relative;flex:1 1;border:0;border-radius:0;background:white!important;color:#666!important;padding:13px 4px;font-size:18px}.homework-reader .hw-subject-tabs button[aria-selected=true]{color:#287ff3!important;font-weight:600}.hw-subject-tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:0;left:calc(50% - 15px);width:30px;height:3px;background:#287ff3;border-radius:2px}.hw-reader-body{padding:24px 22px 12px!important;background:#fff!important;border:0!important;box-shadow:none!important;margin:0!important;border-radius:0!important}.homework-reader .hw-reader-body h1{font-size:26px;font-weight:500;margin:0 0 4px;line-height:1.4}.homework-reader .hw-byline{font-size:14px;color:#888;margin:0 0 16px}.homework-reader .hw-original{font-size:19px;line-height:1.85;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.hw-picture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin:22px 0 14px}.homework-reader .hw-picture-grid button{display:block;width:100%;aspect-ratio:1;background:#f3f3f3!important;padding:0!important;border:0!important;border-radius:2px!important;overflow:hidden}.hw-picture-grid img{display:block;width:100%;height:100%;object-fit:cover}.hw-media-failed{color:#777;font-size:12px}.hw-video{margin:22px 0}.hw-video video{display:block;background:#111;max-height:70vh;width:100%;border-radius:4px}.hw-video>span{display:block;color:#888;font-size:12px;overflow-wrap:anywhere;margin-top:4px}.hw-video button{border:1px solid #dedede;background:#fff;color:#333;border-radius:4px}.hw-audio audio{width:100%}.hw-file{display:block;color:#287ff3!important;padding:10px 0;overflow-wrap:anywhere}.hw-source-list{font-size:14px;color:#777;margin:20px 0}.hw-source-list summary{cursor:pointer;min-height:44px;padding:8px 0}.hw-child-action{padding:20px 0}.hw-primary-action{display:block;background:#287ff3!important;color:white!important;border:0;border-radius:6px;text-align:center;padding:10px 15px;font-size:19px;text-decoration:none!important}.hw-child-action small{display:block;color:#888;font-size:12px;margin-top:10px}.hw-no-assignment{padding:10px 0 35px}.hw-no-assignment p{color:#888;margin-top:30px}.hw-reader-footer{font-size:12px;color:#999;padding:18px 22px}.hw-offline{padding:10px 20px;background:#fff4d9!important;font-size:14px;color:#765015!important;margin:0}.hw-cache-controls{padding:10px 22px}.homework-reader .hw-cache-controls button{font-size:13px;border:1px solid #ddd;border-radius:5px;padding:7px 12px;background:#fff!important;color:#666!important;margin-right:6px}.hw-cache-controls p{font-size:12px;color:#888;min-height:18px;margin:6px 0 0}.homework-reader .hw-gallery-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#111;color:white;z-index:10000}.hw-gallery-dialog[open]{display:flex;flex-direction:column}.hw-gallery-dialog::-webkit-backdrop{background:#111}.hw-gallery-dialog::backdrop{background:#111}.hw-gallery-back{display:flex;padding:max(8px,env(safe-area-inset-top)) 12px 8px;flex:none;background:#111;z-index:1}.homework-reader .hw-gallery-back button{border:0;background:transparent!important;color:#fff!important;padding:8px 12px;font-size:17px;min-height:44px}.hw-gesture-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;-moz-user-select:none;user-select:none;-webkit-user-select:none;padding-bottom:env(safe-area-inset-bottom)}.hw-gesture-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none;-webkit-user-drag:none;flex:none}.hw-gallery-load-error{position:absolute;inset:45% 15px auto;text-align:center;font-size:14px;color:#fff!important}.hw-gesture-gallery{overscroll-behavior:contain}.hw-gallery-back button:focus-visible{outline:2px solid #fff;outline-offset:-2px}.homework-public{padding:0 0 20px!important;background:#fff;min-height:100dvh}.homework-public .homework-reader{border:0;border-radius:0}.homework-page{max-width:780px!important;padding:18px 14px 90px!important;margin:0 auto!important}.hw-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px}.hw-page-toolbar h1{font-size:23px;margin:8px 0}.hw-page-toolbar input{max-width:180px;min-height:42px;font:inherit}.hw-page-message{padding:14px;color:#5b5142;background:#fff7e5;border-radius:8px;font-size:14px}.hw-import-link{display:block;padding:12px 15px;border-radius:10px;background:#eef5ff;color:#226cd2;text-decoration:none;margin:12px 0}.hw-import-page{max-width:760px!important;padding:18px 16px 90px!important;margin:0 auto!important}.hw-import-page .hw-editor{padding:18px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;margin-top:16px}.hw-editor-tabs{display:flex;gap:8px;margin:12px 0}.hw-editor-tabs button{flex:1 1;min-height:44px;border:1px solid #ddd;background:white;color:#555;border-radius:7px}.hw-editor-tabs button[aria-pressed=true]{background:#eaf3ff;color:#216bc8;border-color:#b6d5ff}.hw-form-label{display:block;margin:13px 0;font-size:14px}.hw-form-label input,.hw-form-label select,.hw-form-label textarea{display:block;width:100%;margin-top:5px;font:inherit;font-size:16px;padding:10px;border:1px solid #ddd;background:#fff;color:#252525;border-radius:6px;min-height:44px}.hw-form-label textarea{min-height:180px;resize:vertical;line-height:1.8}.hw-form-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.hw-editor-note{font-size:13px;color:#777;line-height:1.7}.hw-editor-files{list-style:none;padding:0}.hw-editor-files li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee}.hw-editor-files li>span{flex:1 1;overflow-wrap:anywhere;font-size:14px}.hw-editor-files button{min-width:40px;min-height:40px;background:#fff;border:1px solid #ddd;border-radius:5px;color:#555;font-size:13px}.hw-editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hw-editor-actions button{flex:1 1;min-height:46px;background:#fff;color:#444;border:1px solid #ddd;border-radius:6px;font:inherit}.hw-editor-actions button.hw-publish{background:#287ff3;color:#fff;border-color:#287ff3}.hw-editor-actions button:disabled{opacity:.55}.hw-status-text{font-size:14px;color:#23654a;margin:10px 0}.hw-error-text{font-size:14px;color:#b13535;margin:10px 0;white-space:pre-wrap}.hw-ocr-result{border:1px solid #eadfc7;background:#fffcf4;padding:14px;border-radius:8px;margin:12px 0}.hw-ocr-result textarea{width:100%;min-height:140px;font-size:16px;line-height:1.7}.hw-share-panel{margin-top:18px;padding:18px;border:1px solid #ddd;border-radius:10px;background:#fff}.hw-share-panel input{width:100%;padding:10px;font-size:14px;margin:8px 0}.hw-share-panel p{font-size:13px;color:#666}.hw-share-panel button,.hw-share-panel select{padding:9px 12px;margin:4px 5px 4px 0;border:1px solid #ddd;border-radius:5px;background:#fff;color:#444;min-height:42px}.hw-share-panel a{display:inline-block;margin:8px;color:#287ff3}.hw-upload-label{display:block;padding:10px 14px;background:#eef5ff;border:1px solid #c9dfff;border-radius:7px;margin:10px 0;color:#256dc9;font-size:14px;cursor:pointer}.hw-upload-label input{display:block;width:100%;margin-top:8px;font-size:14px}.hw-draft-warning{padding:12px;background:#fff3d7;color:#6b552b;font-size:14px;border-radius:6px;margin:12px 0}.hw-draft-warning button{padding:7px 10px;margin:5px;border:1px solid #dbc89e;background:white;border-radius:5px;color:#655231}.hw-processing{font-size:14px;color:#536d97;background:#edf4ff;border-radius:6px;padding:10px;margin-top:10px}@media(max-width:380px){.hw-reader-body{padding:20px 16px 10px!important}.homework-reader .hw-reader-body h1{font-size:24px}.homework-reader .hw-original{font-size:18px}.hw-reader-heading{padding:13px 16px}.hw-form-cols{grid-template-columns:1fr}.hw-import-page .hw-editor{padding:13px}.hw-editor-files{font-size:13px}}.hw-public-state{max-width:600px;padding:30px 22px;margin:0 auto;color:#333}.hw-public-state h1{font-size:23px}.hw-public-state button{min-height:44px;padding:8px 20px;border:1px solid #ddd;background:#fff;color:#287ff3;border-radius:6px}body:has(.homework-public){background:#fff!important}.homework-public{width:100%!important;max-width:720px!important;margin:0 auto!important}.homework-public:after,.homework-public:before{display:none!important}.hw-import-page input[type=file]{white-space:normal;max-width:100%}.hw-import-page details>summary{cursor:pointer;min-height:44px;padding:10px 0}.hw-import-link{position:relative;z-index:1}.hw-import-page .hw-feedback{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:720px;z-index:1000;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f0fff5;border:1px solid #9dcdb0;border-radius:10px;box-shadow:0 5px 22px #0002;font-size:15px;line-height:1.7;margin:0}.hw-import-page .hw-feedback.hw-error-text{background:#fff3f0;border-color:#e9b3a9}.hw-feedback span{flex:1 1;overflow-wrap:anywhere}.hw-feedback button{flex:none;min-width:36px;min-height:36px;background:white;border:1px solid #ddd;border-radius:6px;color:#444}.hw-recognize-existing{display:block;width:100%;min-height:44px;padding:10px;border:1px solid #b6d5ff;border-radius:7px;background:#eff6ff;color:#216bc8;margin:8px 0}.hw-album-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.hw-import-page .hw-album-button{position:relative;min-height:52px;padding:14px 12px;text-align:center;font-size:15px;line-height:1.7;font-weight:600}.hw-album-button input[type=file]{position:absolute;width:1px!important;height:1px!important;padding:0!important;margin:0!important;-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;border:0!important;min-height:0!important}.hw-album-button:focus-within{outline:2px solid #287ff3;outline-offset:2px}.hw-album-button:has(input:disabled){opacity:.55}.hw-other-files{font-size:13px;color:#777}.hw-feedback{max-height:40vh;overflow:auto}.hw-ready-summary{font-size:13px;line-height:1.7;color:#52745f;margin-top:18px}.hw-clear-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;margin:14px 0;border:1px solid #efd8d4;border-radius:16px;background:#fff8f6;color:#603b35}.hw-clear-row span{font-size:14px;font-weight:600}.hw-clear-row small{display:block;font-size:12px;font-weight:400;line-height:1.6;margin-top:4px}.hw-clear-row button{flex-shrink:0;border:1px solid #dcb4ac;border-radius:12px;background:#fff;color:#a63f30;font-size:14px;min-height:44px;padding:10px 14px}.hw-clear-row button:disabled{opacity:.5}@media(max-width:420px){.hw-clear-row{align-items:stretch;flex-direction:column}.hw-clear-row button{align-self:flex-start}}.hw-refresh-link{float:right;position:relative;z-index:1;margin:14px 16px 0;border:0;border-radius:10px;padding:8px 12px;background:#eef4ff;color:#2862a8;min-height:40px}.hw-attachment-target{-webkit-touch-callout:none;min-width:0}.hw-attachment-tip{font-size:12px;color:#888!important;padding:4px 22px;margin:0}.hw-video .hw-video-preview-button{font-size:13px;padding:5px 12px;margin:8px 0 0;border-radius:18px;min-height:36px;background:#f6f6f8;color:#555}.hw-gallery-back,.hw-gallery-dialog.hw-gesture-gallery{background:#090909}.hw-gallery-back{align-items:center;justify-content:space-between}.hw-gallery-back>span{font-size:14px;color:#ddd;padding-right:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hw-gallery-track{position:absolute;inset:0;will-change:transform;transform:translateZ(0)}.hw-gallery-track.is-settling{transition:transform .28s cubic-bezier(.22,.75,.22,1)}.hw-gallery-slide{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.hw-gallery-media{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#252525,#090909 75%)}.hw-gallery-media .hw-gallery-picture{position:relative;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:auto}.hw-gallery-media>video{display:block;width:100%;height:100%;object-fit:contain;background:transparent;max-height:100%;touch-action:none}.hw-gallery-media .hw-gallery-placeholder{position:absolute;max-width:100%;max-height:100%;filter:blur(8px);opacity:.6;object-fit:contain;pointer-events:none}.hw-gallery-video-mark{position:absolute;background:#0007;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:24px;pointer-events:none}.hw-gallery-loading{position:absolute;bottom:18px;color:#ddd;font-size:12px;background:#0006;padding:5px 12px;border-radius:20px}.homework-reader .hw-gallery-load-error{inset:auto 24px 24px;border:1px solid #777;background:#222!important;color:white!important;border-radius:12px;min-height:44px}.homework-reader .hw-gallery-hint{color:#999!important;background:#090909!important;text-align:center;line-height:1.5;font-size:11px;flex:none;margin:0;padding:10px 8px max(12px,env(safe-area-inset-bottom));-webkit-user-select:none;-moz-user-select:none;user-select:none}.hw-gallery-picture{-webkit-touch-callout:none}.hw-gesture-stage{padding-bottom:0}.homework-reader .hw-save-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:520px;max-height:85dvh;margin:0 auto;padding:0;border:0;border-radius:22px 22px 0 0;background:#f4f4f6;color:#222;box-shadow:0 -8px 48px #0003;overflow:auto;z-index:10002}.hw-save-sheet::-webkit-backdrop{background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hw-save-sheet::backdrop{background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hw-save-sheet section{padding:18px 16px max(20px,env(safe-area-inset-bottom));border:0!important;background:transparent!important;margin:0!important;box-shadow:none!important}.homework-reader .hw-save-sheet h2{font-size:18px;text-align:center;margin:0;color:#222}.hw-save-filename{font-size:12px;overflow-wrap:anywhere;color:#777!important;text-align:center;margin:8px 0 16px}.homework-reader .hw-save-sheet a,.homework-reader .hw-save-sheet button{display:block;width:100%;text-align:center;min-height:50px;padding:12px;border:0;border-radius:13px;margin:8px 0;font-size:16px;background:#fff!important;color:#287ff3!important;text-decoration:none;line-height:1.6}.homework-reader .hw-save-sheet p[role=status]{font-size:12px;color:#777!important;margin:12px 4px;line-height:1.7}.homework-reader .hw-save-sheet .hw-save-cancel{color:#444!important;font-weight:600;margin-top:14px}@media(prefers-reduced-motion:reduce){.hw-gallery-track.is-settling{transition-duration:.01s}.hw-save-sheet::-webkit-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.hw-save-sheet::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.hw-refresh-bar{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;grid-gap:12px;gap:12px;padding:12px 18px 0;min-height:58px}.hw-refresh-bar .hw-refresh-link{float:none;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:120px;min-width:120px;min-height:44px;box-sizing:border-box;white-space:nowrap;border:1px solid #d5e5fc;cursor:pointer;font-size:14px;font-weight:600}.hw-refresh-link:disabled{opacity:.75;cursor:wait}.hw-refresh-feedback{min-width:0;margin:0;text-align:center;font-size:13px;color:#337453;line-height:1.5;overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hw-refresh-feedback.hw-refresh-error{padding:6px 8px;border-radius:8px;background:#fff4e7;color:#925219;line-height:1.6}.hw-refresh-spinner{width:14px;height:14px;border:2px solid #b4cef4;border-top-color:#2862a8;border-radius:50%;animation:hw-refresh-spin .7s linear infinite}@keyframes hw-refresh-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.hw-refresh-spinner{animation:none;border-style:dotted}}