.voice-entry-top{flex:0 0 auto;white-space:nowrap;min-height:42px;padding:8px 14px;border:1px solid #c5d9fa;border-radius:10px;background:#edf3ff;color:#235fc1;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.voice-entry-top:disabled{opacity:.5}
.board-source-link{border:0;border-radius:8px;padding:8px 10px;margin:0 0 12px;background:#edf3ff;color:#235fc1;font-size:13px;min-height:40px;cursor:pointer}
.voice-picker{width:min(420px,calc(100vw - 32px));box-sizing:border-box;border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--ink);background:#fff}.voice-picker::backdrop{background:#10223f55}.voice-picker form{display:grid;gap:16px}.voice-picker-head{display:flex;align-items:center;justify-content:space-between}.voice-picker h3{margin:0;font-size:20px}.voice-picker label{font-size:14px}.voice-picker select{width:100%;min-width:0;min-height:48px;font-size:16px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#f7f9fd;color:var(--ink)}.voice-picker button{min-height:44px;border-radius:10px;cursor:pointer}.voice-picker .primary{border:0;padding:12px}
@media(max-width:860px){#app .topbar>.voice-entry-top{min-height:44px;padding:0 9px;font-size:13px;border-radius:10px}#app .topbar:has(.voice-entry-top){gap:6px}#app .topbar:has(.voice-entry-top)>h2{flex:1;min-width:0}.classroom-notice{position:relative;z-index:5;background:#fff7eb;padding:8px 12px;margin:0}}
.classroom-entry{border:1px solid var(--line);background:#edf3ff;color:#315c9c;border-radius:10px;padding:9px 12px;font-size:14px;cursor:pointer}.classroom-entry:hover{background:#e4edff}
.learning-profile{color:var(--ink);border-color:var(--line)}.learning-profile input,.learning-profile button{border-color:var(--line)}.learning-profile button{background:#f4f7fc;color:var(--ink)}
.native-classroom{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,var(--chat-width,420px));grid-template-rows:48px minmax(0,1fr) auto;background:#f6f9fd;overflow:hidden}
.native-classroom [hidden]{display:none!important}.native-classroom button,.native-photo,.native-settings summary{cursor:pointer;font:inherit;touch-action:manipulation}
.native-tabs{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);background:#fff}
.native-tabs>div{display:flex;gap:6px}.native-tabs button{border:0;border-radius:8px;background:none;color:var(--muted);font-size:14px;padding:9px 15px;min-height:38px}.native-tabs [aria-selected=true]{background:#edf3ff;color:#315da0;font-weight:600}.native-tabs [data-talk-tab=chat]{display:none}
.native-tabs .native-back{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid #bd2b40;border-radius:10px;background:#c9364b;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 2px 5px #a8213526}
.native-tabs .native-back svg{width:18px;height:18px;flex-shrink:0}.native-tabs .native-back:hover{background:#b92c40}.native-tabs .native-back:active{background:#a72336}.native-tabs .native-back:focus-visible{outline:3px solid #f1a0ac;outline-offset:2px}
.native-reader,.native-board{grid-area:2/1/4/2;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}.native-reader>.pdf-frame{height:100%;border:0;border-radius:0}
.native-classroom[data-left=board] .native-reader,.native-classroom[data-left=pdf] .native-board{visibility:hidden;pointer-events:none}
.native-board{background:white;padding:28px 30px 50px;border-right:1px solid var(--line)}.native-board h3{font-size:20px;margin:0 0 26px;line-height:1.5}.native-empty{font-size:15px;color:var(--muted);margin:55px 0}
.native-board ol{list-style:none;padding:0;margin:0;counter-reset:board;display:flex;flex-direction:column;gap:12px}
.native-board li{position:relative;counter-increment:board;padding:20px 16px 20px 40px;min-width:0;border-radius:10px;line-height:1.85;font-size:19px;overflow:visible}.native-board li:before{content:counter(board,decimal-leading-zero);position:absolute;left:10px;top:23px;font-size:11px;color:#9aabc4}.native-board li.current{background:#f3f7ff}.board-expression{display:block;min-width:0;overflow-x:auto;padding:3px 1px}.board-expression p{margin:0}.board-expression mjx-container{max-width:100%}
.teacher-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.native-board canvas{display:block;width:100%;height:auto;max-width:750px;margin:24px auto 0;border:1px solid var(--line);border-radius:12px}
.native-classroom .native-conversation{grid-area:2/2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;padding:18px;gap:16px;margin:0;max-height:none;height:auto;overscroll-behavior:contain;background:#f6f9fd}.native-conversation .msg{flex-shrink:0;max-width:100%;box-shadow:none}.native-conversation .answer-actions{opacity:.65}
.native-bottom{grid-area:3/2;min-width:0;background:#fff;border-top:1px solid var(--line);padding:9px 14px 14px;z-index:2}.native-status{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);min-height:28px;margin-bottom:7px}
.native-settings{position:relative}.native-settings summary{list-style:none;padding:5px 0 5px 15px;color:#536785}.native-settings>div{position:absolute;bottom:34px;right:0;width:210px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px #10223f20;border-radius:12px;padding:14px;z-index:8;display:grid;gap:12px}.native-settings label{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px}.native-settings select{width:100%;font:inherit;font-size:14px;color:var(--ink);padding:8px;border:1px solid var(--line);border-radius:8px;background:white}
.native-input-row{display:flex;gap:8px;align-items:flex-end}.native-input-row textarea{flex:1;min-width:0;min-height:44px;max-height:110px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink);background:#f7f9fd;font:inherit;font-size:15px;line-height:1.5}.native-input-row button{min-height:44px;padding:0 16px;border-radius:10px;border:0}
.native-controls{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.native-controls button,.native-photo{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#f4f7fc;color:#435777;font-size:13px;user-select:none}.native-controls .primary{background:linear-gradient(120deg,var(--blue),var(--violet));color:#fff;border-color:transparent}.native-controls [aria-pressed=true]{color:#226bc4;background:#eaf2ff;border-color:#b5cff5}.native-controls button:disabled{opacity:.45;cursor:default}.native-photo{position:relative;overflow:hidden}.native-photo input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.native-controls [data-talk-hold]{touch-action:none}.native-controls [data-image-note]{font-size:12px;color:#315da0}
.native-error{font-size:13px;line-height:1.5;color:#95511e;background:#fff7eb;padding:8px 10px;border-radius:8px;margin:5px 0}.native-review{display:flex;gap:5px;margin-bottom:8px}.native-review input{min-width:0;flex:1;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:8px;padding:8px}.native-review button{border:0;border-radius:8px;background:#edf3ff;color:#315da0;min-height:40px;padding:0 8px}
@media(max-width:860px){
  #app .composer-actions:has(.classroom-entry){grid-template-columns:auto 44px minmax(0,1fr) auto;gap:5px}#app .composer-actions>.classroom-entry{min-width:0;padding:0 10px;font-size:14px}
  #app .native-classroom{width:100%;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) auto;flex:1;min-height:0;overflow:hidden}
  #app .native-tabs{grid-area:1/1;padding:0 10px;gap:4px}#app .native-tabs button{min-height:44px;padding:8px 14px}#app .native-tabs [data-talk-tab=chat]{display:block}#app .native-tabs .native-back{padding:8px 10px;font-size:14px}
  #app .native-reader,#app .native-board,#app .native-conversation{grid-area:2/1;min-height:0;width:100%;height:100%;visibility:hidden;pointer-events:none;overflow:auto}
  #app .native-classroom[data-tab=pdf] .native-reader,#app .native-classroom[data-tab=board] .native-board,#app .native-classroom[data-tab=chat] .native-conversation{visibility:visible;pointer-events:auto}
  #app .native-board{padding:18px 12px 28px;border:0}#app .native-board h3{font-size:18px;margin-bottom:18px}#app .native-board li{font-size:17px;padding:17px 10px 17px 32px}#app .native-board li:before{left:7px;top:22px;font-size:10px}#app .native-board canvas{margin-top:18px}
  #app .native-bottom{grid-area:3/1;padding:4px 10px 8px;width:100%;box-sizing:border-box}#app .native-status{margin:0 0 3px;min-height:26px}#app .native-input-row textarea{font-size:16px;resize:none;min-height:44px;height:44px;padding:10px 11px}#app .native-input-row button{min-height:44px;font-size:14px;padding:0 15px}
  #app .native-controls{gap:5px;margin-top:6px}#app .native-controls button,#app .native-photo{min-height:44px;padding:0 10px;font-size:13px}#app .native-controls [data-talk-hold]{margin-left:auto;padding:0 8px;font-size:12px}#app .native-conversation{padding:12px;gap:12px}
}
@media(max-height:500px) and (max-width:860px){#app .native-tabs{height:48px}#app .native-classroom{grid-template-rows:48px minmax(0,1fr) auto}#app .native-status{display:none}#app .native-bottom{padding-top:6px}}
#app .native-board{container-type:inline-size;padding:22px 24px 30px}
#app .native-board h3{margin:0 0 18px;font-size:21px;line-height:1.4}
#app .native-board ol{gap:2px}
#app .native-board li{padding:10px 12px 10px 18px;font-size:18px;line-height:1.65;border-radius:0;border-left:3px solid transparent}
#app .native-board li:before{display:none}
#app .native-board li.current{background:#f1f5fe;border-left-color:#6387e8;border-radius:0 8px 8px 0}
#app .native-board .board-expression{padding:2px 0}
.board-current{display:grid;gap:18px;align-items:start;min-width:0}
.board-current>*{min-width:0}
.native-board:not(.has-demo) .board-figure{display:none}.board-plot-label{text-align:center;font-size:14px;color:#536785;padding-top:8px}.board-plot-label p{margin:0}
.board-calculation{grid-column:1/-1;min-width:0;margin:8px 0 16px}
.division-scroll{max-width:100%;overflow-x:auto;padding:12px 4px 18px;overscroll-behavior-x:contain}
.division-table{border-collapse:separate;border-spacing:0;width:auto;min-width:340px;max-width:none;font-size:20px;line-height:1.5;color:var(--text,#142a47)}
.division-table td{height:46px;min-width:70px;padding:5px 10px;text-align:right;white-space:nowrap;border:0}
.division-table td.division-side{min-width:60px;padding-right:15px;color:#607390}
.division-table.long-division .division-dividend td:not(:first-child){border-top:2px solid #203654}
.division-table.long-division .division-dividend .division-side{border-right:2px solid #203654;border-radius:0 9px 0 0;color:#142a47}
.division-table.long-division .division-product td:not(:first-child){border-bottom:1.5px solid #607390}
.division-table .division-active td:not(:first-child){background:#edf3ff;color:#2159b7}
.division-table.synthetic td{text-align:center;min-width:60px}
.division-table.synthetic .division-side{border-right:1.5px solid #607390}
.division-table.synthetic .division-result td:not(:first-child){border-top:1.5px solid #607390}
.division-table.synthetic .division-result td:last-child{border-left:1.5px solid #607390}
.division-table mjx-container{margin:0!important}
@media(max-width:860px){.division-table{font-size:17px;min-width:290px}.division-table td{min-width:54px;padding:4px 6px;height:40px}.division-table td.division-side{min-width:44px;padding-right:10px}}
#app .native-board canvas{width:100%;max-width:620px;margin:0 auto;border-color:#e5ebf5;border-radius:12px}
.board-history{margin-top:26px;border-top:1px solid var(--line);padding-top:14px;color:#637695;font-size:14px}
.board-history summary{cursor:pointer;padding:8px 0;min-height:36px}
.board-history section{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);line-height:1.65}
.board-history h4{font-size:15px;margin:0 0 8px}.board-history section>div{overflow-x:auto;margin:6px 0}.board-history p{margin:4px 0}
@container(min-width:680px){.has-demo .board-current{grid-template-columns:minmax(0,1fr) minmax(310px,1.1fr)}}
@media(max-width:860px){#app .native-board{padding:16px 12px 24px}#app .native-board h3{font-size:18px;margin-bottom:12px}#app .native-board li{padding:8px 10px;font-size:16px}#app .native-board.has-demo .board-figure{grid-row:1}.board-current{gap:12px}}
