*{box-sizing:border-box;margin:0;padding:0}button,.debug-btn,.ctl,.ctl-alt,.fbtn,.btn,.hamburger,.logout,.role-tag,.cmsg-role,.summary-title,.cmsg-board,.parent-bar-label{vertical-align:middle;justify-content:center;align-items:center;gap:6px;display:inline-flex}html,body,#app{height:100%}body{color:#222;background:#f2f0ea;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@font-face{font-family:Neucha;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Neucha-cyrillic-BVJzy9qF.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Neucha;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Neucha-latin-ekpzkbTn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.auth-wrap{background:linear-gradient(135deg,#3b5bdb,#5f3dc4);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:380px;padding:28px;box-shadow:0 20px 50px #00000040}.auth-title{text-align:center;margin-bottom:4px;font-size:22px;font-weight:700}.auth-sub{color:#777;text-align:center;margin-bottom:16px;font-size:13px}.tabs{gap:8px;margin-bottom:16px;display:flex}.tab{cursor:pointer;background:#fafafa;border:1px solid #ddd;border-radius:10px;flex:1;padding:9px;font-size:14px;font-weight:600}.tab.active{color:#fff;background:#3b5bdb;border-color:#3b5bdb}.field{margin-bottom:12px}.field label{color:#555;margin-bottom:4px;font-size:12px;display:block}.field input{border:1px solid #ccc;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.field-select{color:#222;background:#fff;border:1px solid #ccc;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.btn{color:#fff;cursor:pointer;background:#3b5bdb;border:0;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:600}.btn:hover{opacity:.92}.role-pick{gap:8px;display:grid}.role-pick p{margin:0 0 4px}.err{color:#c92a2a;margin-top:8px;font-size:13px}.ok{color:#2f9e44;margin-top:8px;font-size:13px;font-weight:600}.social{gap:8px;margin-top:14px;display:flex}.social button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:10px;flex:1;padding:10px;font-size:13px}.topbar{z-index:10;background:#fff;border-bottom:1px solid #e5e5e5;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar-logo{flex-shrink:0;width:28px;height:28px}.hamburger{cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.logout{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:10px;padding:7px 14px;font-size:13px}.logout:hover{background:#f2f2f2}.sidebar{z-index:20;background:#fff;border-right:1px solid #e5e5e5;width:280px;padding:16px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.overlay{z-index:15;background:#00000059;position:fixed;inset:0}.sidebar h3{color:#888;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 8px;font-size:12px}.lesson-item{cursor:pointer;border-radius:10px;padding:10px 12px;font-size:14px}.lesson-item:hover{background:#f2f2f2}.lesson-item .sub{color:#999;margin-top:2px;font-size:12px}.content{max-width:720px;margin:0 auto;padding:24px 16px}.hero{background:#fff;border-radius:16px;margin-bottom:16px;padding:22px;box-shadow:0 4px 16px #0000000d}.hero h1{margin-bottom:8px;font-size:22px}.steps{counter-reset:st;list-style:none}.steps li{counter-increment:st;color:#444;align-items:flex-start;gap:10px;margin:8px 0;font-size:14px;display:flex}.steps li:before{content:counter(st);color:#fff;background:#3b5bdb;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.lesson{background:#222;flex-direction:column;height:100vh;display:flex}.lesson-topbar{color:#fff;background:linear-gradient(#2f3542 0%,#232833 100%);border-bottom:2px solid #3b5bdb;position:static;box-shadow:0 2px 12px #00000073}.demo-state{background:#1f1f1f;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.demo-state button{color:#fff;cursor:pointer;background:#444;border:0;border-radius:8px;padding:6px 10px;font-size:12px}.demo-state button.on{background:#3b5bdb}.board-wrap{background:radial-gradient(circle at 28% 18%,#ffffff0f 0,#fff0 45%),radial-gradient(circle at 50% 45%,#3f7150 0%,#2e583c 55%,#20432c 100%);border:14px solid #6b4a2b;flex:1;margin-bottom:2px;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000080}.board-wrap:before{content:"";pointer-events:none;border:3px solid #00000040;position:absolute;inset:0}.board{color:#f6f1df;white-space:pre-wrap;text-shadow:0 1px 2px #0006;padding:30px 150px 260px 34px;font-family:Neucha,Comic Sans MS,Segoe Print,cursive;font-size:22px;font-style:normal;line-height:1.6;position:absolute;inset:0;overflow:auto}.bubble{color:#222;z-index:3;background:#fff;border-radius:18px 18px 4px;max-width:340px;padding:12px 16px 14px;font-size:14px;animation:4.5s ease-in-out infinite bubbleFloat;position:absolute;bottom:100px;right:120px;box-shadow:0 8px 22px #00000047,0 0 0 2px #5b75e729}@keyframes bubbleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.teacher{z-index:2;cursor:pointer;width:150px;height:220px;position:absolute;bottom:0;right:-10px}.teacher svg{width:100%;height:100%;overflow:visible}.head,.eye,.mouth .talk,.arm{transform-box:fill-box}.head{transform-origin:50% 92%}.eye{transform-origin:50%}.mouth .talk{transform-origin:50%;opacity:0}.arm-r{transform-origin:25% 15%}.arm-l{transform-origin:75% 15%}.eye{animation:4.6s infinite blink}@keyframes blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.st-idle .head{animation:3.4s ease-in-out infinite teacherBob}.st-idle .arm-l{animation:4.6s ease-in-out infinite armSwayL}.st-idle .arm-r{animation:4.6s ease-in-out infinite armSwayR}@keyframes teacherBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.st-speaking .head{animation:3.4s ease-in-out infinite teacherBob}.st-speaking .mouth .smile{opacity:0}.st-speaking .mouth .talk{opacity:1;animation:.5s infinite talk}@keyframes talk{0%,to{transform:scaleY(.28)}50%{transform:scaleY(1)}}.st-speaking .arm-l{animation:1.15s ease-in-out infinite wave-l}.st-speaking .arm-r{animation:1.15s ease-in-out infinite wave-r}@keyframes wave-l{0%,to{transform:rotate(0)}45%{transform:rotate(-9deg)}70%{transform:rotate(-3deg)}}@keyframes wave-r{0%,to{transform:rotate(0)}45%{transform:rotate(11deg)}70%{transform:rotate(4deg)}}@keyframes armSwayL{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes armSwayR{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}.st-listening .head{animation:1.7s ease-in-out infinite listenLean}.st-listening .arm-l{animation:3.6s ease-in-out infinite armSwayL}.st-listening .arm-r{animation:3.6s ease-in-out infinite armSwayR}@keyframes listenLean{0%,to{transform:rotate(0)}40%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}}.st-thinking .head{animation:2.2s ease-in-out infinite thinkTilt}.st-thinking .arm-l{animation:5s ease-in-out infinite armSwayL}.st-thinking .arm-r{animation:5s ease-in-out infinite armSwayR}@keyframes thinkTilt{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}.tbubble{opacity:0;transition:opacity .3s}.st-thinking .tbubble{opacity:1}.student-strip{align-items:center;gap:12px;margin:0 14px 4px;display:flex}.student-strip-bubble{color:#222;white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:2;background:#fff;border-radius:16px 16px 16px 0;-webkit-box-orient:vertical;flex:auto;-webkit-box-pack:center;min-width:0;min-height:2.8em;padding:4px 10px 6px;line-height:1.4;display:-webkit-box;overflow:hidden;box-shadow:0 6px 18px #00000059}.student-strip.expanded .student-strip-bubble{-webkit-line-clamp:unset;flex:auto;min-height:0;max-height:140px;display:block;overflow-y:auto}.student-strip-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.controls{padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));background:linear-gradient(#2f3542 0%,#232833 100%);border:1px solid #5b75e759;border-radius:22px;flex-direction:row;align-items:flex-end;gap:10px;margin:0 10px 8px;display:flex;box-shadow:0 12px 32px #00000073}.controls textarea{color:#1c2433;resize:none;background:#fff;border:2px solid #0000;border-radius:16px;outline:none;flex:1;min-width:0;min-height:46px;max-height:160px;padding:8px 12px;font-family:inherit;font-size:15px;line-height:1.4;transition:border-color .15s,box-shadow .15s,background .15s;overflow-y:auto;box-shadow:inset 0 1px 3px #00000014}.controls textarea:focus{background:#fff;border-color:#5b75e7;box-shadow:inset 0 1px 3px #00000014,0 0 0 4px #5b75e738}.controls textarea::placeholder{color:#9aa3b5}.controls-btns{flex-direction:row;flex:none;justify-content:flex-end;gap:8px;display:flex}.ctl{color:#fff;cursor:pointer;background:linear-gradient(#5b75e7 0%,#3b5bdb 100%);border:0;border-radius:16px;flex:none;width:46px;height:46px;font-size:20px;transition:transform .1s,box-shadow .15s,filter .15s;box-shadow:0 6px 16px #3b5bdb73}.ctl:hover{filter:brightness(1.07)}.ctl:active{transform:translateY(1px)scale(.97);box-shadow:0 3px 8px #3b5bdb66}.ctl.rec{background:linear-gradient(#e03131 0%,#c92a2a 100%);box-shadow:0 6px 16px #c92a2a73}.chat-page{background:#f2f0ea;flex-direction:column;height:100vh;display:flex}.chat-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.chat-row{display:flex}.chat-row.teacher{justify-content:flex-start}.chat-row.student{justify-content:flex-end}.chat-bubble{border-radius:14px;max-width:85%;padding:8px 12px}.chat-row.teacher .chat-bubble{background:#e8eefc;border-top-left-radius:4px}.chat-row.student .chat-bubble{background:#dcf5e3;border-top-right-radius:4px}.chat-role{text-transform:uppercase;color:#888;margin-bottom:3px;font-size:10px;font-weight:700}.chat-content{white-space:pre-wrap;word-break:break-word;font-size:14px}.chat-board{color:#555;white-space:pre-wrap;background:#fff;border:1px solid #e5e5e5;border-radius:8px;margin-top:6px;padding:6px 8px;font-size:12px}.chat-raw{margin-top:6px;font-size:11px}.chat-raw summary{cursor:pointer;color:#777;-webkit-user-select:none;user-select:none}.chat-raw pre{white-space:pre-wrap;word-break:break-word;color:#333;background:#f6f6f6;border-radius:8px;padding:6px 8px;font-size:11px;overflow-x:auto}@media (width<=960px){.lesson-topbar{padding:6px 10px}.lesson-topbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demo-state{display:none}.board{padding:12px 96px 170px 14px;font-size:17px;line-height:1.5}.teacher{width:92px;height:134px;right:-6px}.bubble{max-width:250px;padding:8px 10px;font-size:12px;bottom:58px;right:84px}.student-strip{margin:0 8px 4px;font-size:12px}.controls{align-items:flex-end;gap:7px;margin:0 6px 8px;padding:8px}.controls-btns{gap:6px}.ctl{width:44px;height:44px;font-size:18px}.controls textarea{min-height:44px;padding:8px 10px;font-size:15px}}.icon[data-v-93dbbd5e]{flex-shrink:0;margin:auto;display:block}.hint[data-v-69a034e9]{color:#888;margin-top:4px;font-size:12px;display:block}.auth-logo[data-v-69a034e9]{width:84px;height:84px;margin:0 auto 10px;display:block}.role-pick[data-v-69a034e9]{flex-direction:column;gap:10px;margin-top:8px;display:flex}.role-pick p[data-v-69a034e9]{color:#555;text-align:center;margin:0 0 2px;font-size:14px}.role-pick .child[data-v-69a034e9]{color:#222;background:#f2f2f2}
