/* LayerLab reference canvas 1586×992. Native typography, graph and controls. */
:root{--green:#6747ec;--ink:#242039;--muted:#858193;--line:#eae7f3;--focus-purple:#6747ec;--focus-header:70px}
body.tt-focus{margin:0;background:#fff;color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans KR',sans-serif;overflow-x:hidden}
.tt-focus *{box-sizing:border-box}.tt-focus button,.tt-focus input,.tt-focus textarea,.tt-focus select{font:inherit}.tt-focus button{cursor:pointer}.tt-focus button:disabled{cursor:default;opacity:.45}.tt-focus :focus-visible{outline:3px solid #9983ff;outline-offset:4px}.tt-focus [hidden]{display:none!important}
.tt-focus .topbar,.tt-focus .selection-intro,.tt-focus .subject-tabs,.tt-focus .selection,.tt-focus .board-toolbar,.tt-focus #lesson-context,.tt-focus #course-progress-strip,.tt-focus .goals,.tt-focus .lesson-actions,.tt-focus .quick-feedback,.tt-focus #delivery-options,.tt-focus .dock-audio,.tt-focus #open-settings,.tt-focus #load-sessions{display:none!important}
.tt-focus .focus-header{position:fixed;inset:0 0 auto;height:70px;background:#fff;display:flex;align-items:center;padding:0 30px;gap:24px;border-bottom:1px solid #eeecf6;z-index:40}
.tt-focus .focus-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:14px}.tt-focus .focus-brand img{width:32px;height:auto}.tt-focus .focus-title{font-size:14px;font-weight:600;border-left:1px solid #ddd7ef;padding-left:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-focus .focus-exit{margin-left:auto;flex:none;color:var(--focus-purple);border:1.5px solid #9f8ce8;background:#fff;padding:9px 18px;border-radius:12px;font-size:13px;font-weight:650}.focus-exit:before{content:'×';margin-right:7px;font-size:18px;line-height:1}
body.tt-focus .app,body.tt-focus.teaching-mode .app{display:block;margin:70px 0 0;min-height:calc(100dvh - 70px);max-width:none;padding:0;border:0;border-radius:0;background:white}
body.tt-focus .workspace,body.tt-focus.teaching-mode .workspace{display:block;padding:0;min-width:0;background:white;max-width:none;width:100%}
body.tt-focus .session-layout,body.tt-focus.teaching-mode .session-layout{display:block;max-width:none;width:100%;gap:0;margin:0;position:static}
body.tt-focus .board-panel,body.tt-focus.teaching-mode .board-panel{display:block;border:0;border-radius:0;background:white;padding:0;box-shadow:none;min-width:0;overflow:visible}
.tt-focus .lesson-top{display:flex;flex-direction:column;text-align:center;align-items:center;margin:9vh auto 0;max-width:800px;padding:32px 24px;gap:18px}
.tt-focus .lesson-top h2{font-size:34px;line-height:1.35}.tt-focus .lesson-top p{font-size:15px;color:#777187}.tt-focus .lesson-top .lesson-features{display:flex;gap:20px;justify-content:center;margin:16px 0}.tt-focus .lesson-features>div{padding:18px;max-width:220px}.tt-focus .lesson-features img{width:40px;height:40px;object-fit:contain}.tt-focus .lesson-features span{display:block}.tt-focus #start{background:var(--focus-purple);border:0;padding:16px 38px;border-radius:15px;font-size:16px;color:white}.tt-focus .start-hint{color:#817b91;font-size:12px}
.tt-focus:not(.teaching-mode) .session-layout{display:none!important}.tt-focus:not(.teaching-mode) .focus-dock,.tt-focus:not(.teaching-mode) .focus-phase{display:none}
.tt-focus #notice{position:relative;max-width:850px;text-align:center;margin:20px auto;font-size:13px;padding:10px 20px;color:#777187}.tt-focus #notice.error{background:#fff4ef;color:#a94b36;border:1px solid #efd5c6;border-radius:12px}.tt-focus .focus-connect-link{display:block;text-align:center;color:var(--focus-purple);margin:12px auto}
.tt-focus.teaching-mode #notice{display:none}.tt-focus.teaching-mode #notice.error{display:block;position:fixed;z-index:50;top:77px;left:50%;transform:translateX(-50%);width:min(88vw,730px);margin:0;background:#fff2eb;box-shadow:0 8px 30px #47346012}.tt-focus.teaching-mode .focus-connect-link{position:fixed;top:135px;left:50%;transform:translateX(-50%);z-index:51;background:white;padding:8px;border-radius:8px}
.tt-focus .focus-phase{position:fixed;top:83px;right:34px;z-index:5;color:#948caa;font-size:11px}
body.tt-focus.teaching-mode .board-stage{height:calc(100dvh - 214px);max-height:none;min-height:300px;width:100%;border:0;background:white;border-radius:0;position:relative;padding:25px 4vw 16px;overflow:auto;scroll-padding-top:24px}
body.tt-focus.teaching-mode .board-content{min-height:0;padding:25px 3vw 30px;max-width:1400px;margin:0 auto;width:100%;background:white}
.tt-focus.teaching-mode .teacher-sheet{background:white;border:0;border-radius:0;box-shadow:none;margin:0 auto;max-width:1280px;padding:24px 0}
.tt-focus.teaching-mode .teacher-body{--board-text-size:30;--board-math-size:42}.tt-focus.teaching-mode .teacher-heading{border:0;background:none}.tt-focus.teaching-mode .teacher-body.diagram-side-by-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.tt-focus.teaching-mode .teacher-diagram{background:white;border:0}.tt-focus.teaching-mode .teacher-notes{border:0;padding:0}.tt-focus.teaching-mode .board-student-message{border:0;background:#f6f3fd;padding:12px 18px;border-radius:12px}
.tt-focus .pause-overlay{background:#ffffff26;pointer-events:none;z-index:9}.tt-focus .pause-indicator{display:none}.tt-focus #board-question-wrap{max-width:800px;margin:10px auto 20px;font-size:18px;background:#f6f2ff;color:#4e3ca5;border-radius:14px;padding:14px 20px}
.tt-focus .focus-dock{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 24px;border:1px solid #efecf5;border-radius:25px;background:#fffffff5;box-shadow:0 8px 28px #47397e0b;z-index:30;min-width:298px;height:86px}
.tt-focus .focus-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#6f6888;font-size:11px;padding:5px 10px;min-width:64px;min-height:60px;border-radius:16px;box-shadow:none}
.tt-focus .focus-button>.icon{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.6}.tt-focus #focus-question{color:var(--focus-purple)}.tt-focus #focus-question>.icon{box-sizing:content-box;padding:11px;background:var(--focus-purple);color:white;border-radius:50%;width:22px;height:22px;margin-top:-5px}.tt-focus .focus-chevron{display:grid;place-items:center;width:26px;height:26px;font-size:21px}
body.tt-focus .board-dock,body.tt-focus.teaching-mode .board-dock{position:fixed;inset:auto auto 122px 50%;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));margin:0;padding:14px;border:1px solid #eeebf5;border-radius:18px;background:#fffffff9;box-shadow:0 14px 42px #47397e12;z-index:25;display:none;max-height:min(410px,55dvh);overflow:auto}
body.tt-focus.controls-open.teaching-mode .board-dock{display:block}.tt-focus #student-input{display:block;margin:0;padding:0}.tt-focus #composer{display:flex;align-items:center;gap:8px;padding:0;border:1px solid #e6e0f5;border-radius:12px;background:#faf9fe;box-shadow:none;margin:0}.tt-focus .answer-field{flex:1;border:0;padding:0;min-width:0}.tt-focus #answer{border:0;background:transparent;min-height:44px;max-height:120px;resize:vertical;margin:0;padding:12px 14px;font-size:14px;line-height:1.5;border-radius:12px}.tt-focus .composer-actions{display:flex;margin:0;padding-right:7px;gap:6px}.tt-focus #send,.tt-focus #mic{width:34px;height:34px;min-height:34px;display:grid;place-items:center;padding:7px;border:0;border-radius:50%;background:#eee8fe;color:var(--focus-purple)}.tt-focus #send{background:var(--focus-purple);color:white}.tt-focus #input-help{display:none}
.tt-focus .focus-tools{display:flex;gap:7px;justify-content:center;margin-top:10px}.tt-focus .focus-tools>button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #eeebf5;background:#fff;padding:9px 13px;font-size:12px;border-radius:9px;flex:1;min-width:0;color:#635c75}.tt-focus .focus-tools .icon{width:16px;height:16px}
.tt-focus .focus-extra{margin-top:10px;font-size:12px;color:#91869f}.tt-focus .focus-extra summary{cursor:pointer;padding:5px;text-align:center}.tt-focus .focus-extra-content{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.tt-focus .focus-extra-content button{padding:7px 10px;font-size:12px;border-radius:8px;border:1px solid #ede8f7;background:#faf9fe;color:#635780}.tt-focus #submission-receipt{max-height:100px;overflow:auto;font-size:12px;padding:8px;background:#f7f4fe;border-radius:9px;margin-bottom:8px}.tt-focus #photo-preview{max-height:95px;overflow:auto;margin-bottom:10px}.tt-focus #photo-preview img{max-height:75px}
.tt-focus #audio-recovery{font-size:12px;padding:10px;background:#fff5de;border-radius:9px;margin-bottom:8px}.tt-focus .focus-ink-bar{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);z-index:31;display:flex;gap:8px;background:#fff;border:1px solid #e7e0f6;padding:10px;border-radius:12px;font-size:12px}.tt-focus.controls-open .focus-ink-bar{bottom:min(460px,68dvh)}
.tt-focus dialog{border:1px solid #ece7f6;border-radius:22px;box-shadow:0 24px 100px #42306825;max-height:85dvh;overflow:auto;color:var(--ink);z-index:100}.tt-focus dialog::backdrop{background:#29213e66;backdrop-filter:blur(3px)}.tt-focus .focus-attachment-actions{display:flex;gap:12px;margin:20px 0}.tt-focus .focus-attachment-actions button{display:flex;align-items:center;gap:8px;padding:15px;border:1px solid #e9e3f4;border-radius:12px;background:#fbf9ff;color:#58476d}.tt-focus .focus-attachment-dialog .focus-button{min-height:36px}.tt-focus #settings-form .voice-button{display:flex;width:auto;height:auto;gap:10px;padding:10px;font-size:14px}.tt-focus #settings-form #delivery-options{display:grid!important;font-size:13px}.tt-focus #settings-form .primary{background:var(--focus-purple)}
.tt-focus #dialogue-panel{display:none!important}.tt-focus.dialogue-open #dialogue-panel{display:flex!important;position:fixed;right:24px;top:88px;width:min(430px,calc(100vw - 32px));height:calc(100dvh - 225px);min-height:0;max-height:none;z-index:35;background:white;border:1px solid #ece6f7;box-shadow:0 18px 70px #4939761c;border-radius:18px}.tt-focus #close-dialogue{display:block!important}.tt-focus #notes-panel{position:fixed;inset:88px 24px 135px auto;width:min(430px,calc(100vw - 32px));background:white;z-index:35;border:1px solid #ece6f7;box-shadow:0 18px 70px #4939761c;border-radius:18px;overflow:auto}.tt-focus #notes-panel footer{padding:20px;font-size:11px;color:#9991a8}.tt-focus .notes-heading,.tt-focus .notes-meta,.tt-focus .notes-content{padding:18px}
@media(max-width:700px){.tt-focus .focus-header{padding:0 15px;height:62px;gap:10px}.tt-focus .focus-brand strong{display:none}.tt-focus .focus-brand img{width:28px}.tt-focus .focus-title{padding-left:10px;font-size:12px}.tt-focus .focus-exit{padding:8px 11px;font-size:12px;border-radius:10px}body.tt-focus .app,body.tt-focus.teaching-mode .app{margin-top:62px}.tt-focus .focus-phase{top:76px;right:16px;font-size:10px}body.tt-focus.teaching-mode .board-stage{height:calc(100dvh - 190px);padding:26px 12px 15px}body.tt-focus.teaching-mode .board-content{padding:10px 5px 30px}.tt-focus.teaching-mode .teacher-sheet{padding:10px 0}.tt-focus.teaching-mode .teacher-body{--board-text-size:23;--board-math-size:31}.tt-focus.teaching-mode .teacher-body.diagram-side-by-side{display:flex;flex-direction:column;gap:20px}.tt-focus .focus-dock{bottom:max(12px,env(safe-area-inset-bottom));height:78px;min-width:272px;padding:6px 18px;gap:10px}body.tt-focus .board-dock,body.tt-focus.teaching-mode .board-dock{bottom:104px;width:calc(100vw - 26px);padding:12px}.tt-focus .focus-tools>button{font-size:11px;padding:9px 6px}.tt-focus .focus-tools .icon{width:14px}.tt-focus .lesson-top{margin:4vh auto 0;padding:24px 15px}.tt-focus .lesson-top h2{font-size:25px}.tt-focus .lesson-top .lesson-features{gap:6px}.tt-focus .lesson-features>div{padding:8px;font-size:11px}.tt-focus .lesson-features small{font-size:10px}.tt-focus .focus-attachment-actions{flex-direction:column}.tt-focus #notice{font-size:12px}.tt-focus.teaching-mode #notice.error{top:68px}.tt-focus #dialogue-panel,.tt-focus #notes-panel{right:16px;top:76px}.tt-focus .focus-ink-bar{bottom:104px}}
@media(prefers-reduced-motion:reduce){.tt-focus *{scroll-behavior:auto!important;animation:none!important}}
body.tt-focus.teaching-mode .lesson-top{display:none!important}body.tt-focus.teaching-mode .pause-overlay{display:none!important;backdrop-filter:none}body.tt-focus #board-stage:focus{outline:none}body.tt-focus.teaching-mode #leave-board{margin-left:auto;flex:none;color:#6747ec;border:1.5px solid #9f8ce8;background:#fff;padding:9px 18px;border-radius:12px;font-size:13px;font-weight:650}body.tt-focus.controls-open.teaching-mode .board-stage{height:calc(100dvh - 370px)}@media(max-width:700px){body.tt-focus.teaching-mode #leave-board{padding:8px 11px;font-size:12px;border-radius:10px}body.tt-focus.controls-open.teaching-mode .board-stage{height:calc(100dvh - 360px);min-height:180px}}
body.tt-focus.teaching-mode .teacher-body.diagram-side-by-side{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}body.tt-focus.teaching-mode .paired-math>.teacher-notes{grid-column:1;grid-row:1}body.tt-focus.teaching-mode .paired-math>.teacher-diagram{grid-column:2;grid-row:1;width:100%;max-width:none;margin:0;padding:0;border:0}.tt-focus.teaching-mode .teacher-prepared.prepared-math{padding:18px 0}.tt-focus.teaching-mode .teacher-prepared.prepared-example{background:#f5f1ff;border:0;border-radius:18px;padding:20px;margin:18px 0}body.tt-focus.teaching-mode .focus-tools>button{flex-direction:row;min-height:36px;height:36px;padding:8px 12px;font-size:12px}body.tt-focus.teaching-mode .focus-dock #focus-more{background:transparent}body.tt-focus.teaching-mode .focus-dock #dock-pause{background:transparent}@media(max-width:700px){body.tt-focus.teaching-mode .teacher-body.diagram-side-by-side{display:flex;flex-direction:column;gap:20px}body.tt-focus.teaching-mode .paired-math>.teacher-diagram{max-width:100%;width:100%}body.tt-focus.teaching-mode .focus-tools>button{font-size:11px;padding:8px 6px}}
body.tt-focus #student-input .niq{display:none!important}body.tt-focus .focus-caption{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);font-size:11px;color:#9c90aa;max-width:85vw;text-align:center;line-height:1.5;pointer-events:none}body.tt-focus.controls-open .focus-caption{display:none}body.tt-focus #composer .answer-field:focus-within{outline:none;border:0;box-shadow:none}body.tt-focus #answer:focus{outline:2px solid #b49dee;outline-offset:0}body.tt-focus #settings-form #quality-settings .niq{display:flex!important}body.tt-focus #settings-form #quality-settings:empty{display:none}@media(max-width:700px){body.tt-focus .focus-caption{bottom:101px;font-size:10px}}
body.tt-focus .focus-header .focus-title{flex:1;min-width:0}body.tt-focus .focus-header .focus-brand{flex-shrink:0}body.tt-focus.teaching-mode #leave-board{width:auto!important;min-width:100px;max-width:none;white-space:nowrap;flex-shrink:0}body.tt-focus .focus-recovery{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%);padding:24px;background:white;border:1px solid #e8e0f7;border-radius:18px;z-index:15;text-align:center;color:#93859f;font-size:13px;max-width:90vw}body.tt-focus .focus-recovery #retry-lesson{background:#6747ec;color:white;border:0;border-radius:10px;padding:11px 18px;display:inline-flex!important}@media(max-width:700px){body.tt-focus.teaching-mode #leave-board{min-width:84px}body.tt-focus .focus-header .focus-title{font-size:11px}body.tt-focus .focus-header{gap:10px}}
body.tt-focus.teaching-mode #bugBtn{display:none!important}

body.tt-focus:not(.teaching-mode) .focus-caption{display:none}
/* The standalone header supplies the top inset instead of the original toolbar. */
body.tt-focus.teaching-mode .board-panel{position:relative;inset:auto;z-index:auto}
