
:root{--ink:#17243c;--muted:#71809c;--navy:#192f5a;--blue:#3b69b1;--blue-light:#eaf1fc;--line:#e2e8f1;--bg:#f3f6fb;--card:#fff;--orange:#ec8c45;--green:#188965;--red:#cb4b4b;font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8db7f8;outline-offset:2px}.site-header{background:linear-gradient(116deg,#13264f 10%,#264780 66%,#406bb0);color:white}.header-inner{max-width:1560px;margin:auto;display:flex;align-items:center;gap:19px;padding:28px 42px 29px}.brand-mark{flex:none;width:62px;height:62px;display:grid;place-items:center;border:1px solid #ffffff55;background:#ffffff13;border-radius:18px;font-size:32px;font-weight:bold}.brand-copy{flex:1;min-width:0}.eyebrow{font-size:10px;letter-spacing:2.1px;opacity:.67;font-weight:700;margin-bottom:6px}.brand-copy h1{font-size:29px;letter-spacing:-1.3px;line-height:1.3;margin:0;font-weight:900}.brand-copy h1 span{color:#9fd3ff}.brand-copy p{margin:6px 0 0;color:#dce8fb;font-size:13px}.brand-credit{text-align:right;font-size:13.33px;color:#b6c9e8;display:flex;flex-direction:column;gap:5px}.brand-credit strong{color:white}.subject-strip{background:#fff;border-bottom:1px solid var(--line)}#subjects{max-width:1560px;margin:auto;padding:0 42px;display:flex;gap:34px;overflow:auto}#subjects button{background:none;border:0;border-bottom:3px solid transparent;color:#75829a;white-space:nowrap;font-size:15px;font-weight:800;padding:18px 3px 15px;transition:.15s}#subjects button.active{color:#244d8d;border-bottom-color:#3779ce}#subjects button:hover{color:#294f86}.app-layout{max-width:1560px;margin:auto;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 180px)}.topic-sidebar{background:#f9fbfe;border-right:1px solid var(--line);padding:28px 16px;display:flex;flex-direction:column;gap:14px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;color:#8190a9;font-size:12px;font-weight:800;letter-spacing:.5px;padding:0 13px}.sidebar-heading span:last-child{background:#e5ecf6;padding:3px 9px;border-radius:50px}.topic-sidebar nav{display:grid;gap:6px}.topic-sidebar nav button{border:0;text-align:left;border-radius:11px;background:transparent;color:#53647f;padding:13px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:11px;width:100%;line-height:1.5}.topic-sidebar nav button .number{font-size:11px;color:#91a0b8;min-width:20px}.topic-sidebar nav button.active{color:#214f91;background:#e8f0fc;box-shadow:inset 3px 0 #3c77c4}.topic-sidebar nav button:hover:not(.active){background:#edf2f8}.sidebar-foot{margin-top:auto;font-size:11px;color:#8796b0;padding:18px 10px 0;border-top:1px solid var(--line)}.status-dot{display:inline-block;width:7px;height:7px;background:#21ad80;border-radius:50%;margin-right:5px}.main-content{min-width:0;padding:27px 34px 55px}.lesson-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.lesson-heading-main{min-width:0}.lesson-breadcrumb{font-weight:800;font-size:11px;color:#4978bd;letter-spacing:.7px;margin-bottom:8px}.lesson-heading h2{font-size:27px;letter-spacing:-.9px;margin:0 0 8px;line-height:1.38}.lesson-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.lesson-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn{padding:10px 14px;border-radius:10px;border:1px solid #cddbeb;background:white;color:#325781;font-size:12px;font-weight:800;white-space:nowrap}.action-btn:hover{background:#eaf1fb}.lesson-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}.controls-card,.graph-card,.concept-card,.stats-grid>.stat-card,.extra-card{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 12px #182d5008;border-radius:16px}.controls-card{padding:22px 20px 21px;min-width:0}.card-caption,.graph-eyebrow{display:block;font-size:10px;color:#8798b4;font-weight:900;letter-spacing:1.5px;margin-bottom:15px}.control-field{margin:0 0 19px}.control-field>label,.extra-label{display:block;color:#43536e;font-size:12px;font-weight:800;margin-bottom:9px}.control-field input[type=number],.control-field input[type=text],.control-field select,.control-field textarea,.special-input{width:100%;border:1px solid #d6e0ed;border-radius:9px;background:#fbfcff;padding:9px 10px;color:var(--ink);font-size:13px;min-width:0}.control-field textarea{min-height:98px;resize:vertical;line-height:1.55}.range-line{display:flex;gap:12px;align-items:center}.range-line input[type=range]{flex:1;min-width:30px;accent-color:#3b70bb}.range-line input[type=number]{width:76px;flex:none;text-align:right;font-weight:800}.control-help{font-size:11px;line-height:1.55;color:#8995a8;margin-top:5px}.experiment-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.experiment-actions button,.special-action{background:var(--blue);border:1px solid var(--blue);color:white;border-radius:9px;font-size:12px;font-weight:800;padding:9px 12px;min-height:35px}.experiment-actions button:hover,.special-action:hover{filter:brightness(.94)}.experiment-actions button.secondary,.special-action.secondary{background:#eff3f9;color:#426184;border-color:#d5e0ee}.experiment-actions button.danger{background:#fff0ee;border-color:#f5cfca;color:#aa4b43}.preset-wrap{padding:11px 12px;background:#f2f6fc;border:1px solid #e2eaf5;border-radius:10px;margin:0 0 18px}.preset-caption{font-weight:800;color:#697f9f;font-size:11px;margin-bottom:8px}.preset-buttons{display:flex;gap:6px;flex-wrap:wrap}.preset-buttons button{border-radius:7px;border:1px solid #d1e1f5;background:white;padding:7px 8px;color:#426ca5;font-weight:800;font-size:11px}.visual-column{display:grid;gap:15px;min-width:0}.graph-card{overflow:hidden}.graph-head{display:flex;justify-content:space-between;align-items:center;padding:19px 21px 12px;gap:10px}.graph-eyebrow{margin:0 0 5px}.graph-head h3{font-size:17px;letter-spacing:-.4px;margin:0}.reset-view{white-space:nowrap;background:#f4f7fc;border:1px solid #dce5f0;color:#62799b;padding:8px 10px;border-radius:8px;font-size:11px;font-weight:800}.canvas-holder{height:clamp(370px,48vw,570px);min-width:0;position:relative;background:#fff;margin:0 13px}#graphCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#graphCanvas.dragging{cursor:grabbing}.graph-footer{display:flex;justify-content:space-between;gap:10px;padding:10px 21px 16px;font-size:11px;color:#8795ad}.live-label{color:#3ba886;font-weight:900;font-size:10px;letter-spacing:1px}.live-label i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#27b681;margin-right:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px}.stat-card{padding:13px 15px}.stat-card .stat-label{font-weight:700;color:#8291a8;font-size:11px;line-height:1.5}.stat-card .stat-value{font-size:18px;font-weight:900;color:#24416d;margin-top:5px;overflow-wrap:anywhere}.concept-card{padding:17px 20px;border-left:3px solid #e8b169;background:#fffcf6}.concept-head{display:flex;justify-content:space-between;color:#936e35;font-weight:900;font-size:13px}.concept-head button{border:0;background:transparent;color:#9d8b69;font-weight:700;font-size:11px}.concept-card #conceptText{font-size:13px;line-height:1.85;color:#6a634f;margin-top:10px;word-break:keep-all}.concept-card.collapsed #conceptText{display:none}.extra-card{padding:15px 18px;font-size:12px;line-height:1.7;color:#52647d}.extra-card h4{margin:0 0 8px;color:#24416d;font-size:13px}.extra-card .warning{background:#fff6e9;border:1px solid #f3dbb8;padding:9px 11px;border-radius:9px;color:#936b31;margin:9px 0}.history-line{padding:5px 0;border-top:1px solid #eff2f6}.hist-scroll{max-height:170px;overflow:auto}.event-row{background:#f6f8fc;border:1px solid #e1e8f3;border-radius:10px;padding:10px;margin:9px 0}.event-row .event-head{display:flex;align-items:center;gap:7px;margin-bottom:7px}.event-row .event-head input{flex:1;min-width:0;width:100%;background:white;border:1px solid #d6e0ed;border-radius:7px;padding:7px;font-size:12px}.event-count{font-size:12px;color:#667997;margin-bottom:8px}.event-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.event-buttons button{background:white;border:1px solid #d6e2ef;color:#476d9d;border-radius:7px;padding:5px 9px;font-weight:800;font-size:12px}.event-buttons button:last-child{color:#b5534a}.event-row .display-check{font-size:11px;display:inline-flex;align-items:center;gap:4px;margin-left:auto;white-space:nowrap}.small-help{font-size:11px;line-height:1.65;color:#8491a5}.mobile-topic-list{display:none}#toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);border-radius:10px;background:#233754;color:white;padding:12px 17px;font-size:13px;font-weight:700;box-shadow:0 8px 30px #0c204f35;z-index:300;display:none}.main-content.presentation{position:fixed;inset:0;z-index:100;background:#f5f7fb;overflow:auto;padding:17px 20px}.main-content.presentation .topic-sidebar{display:none}.main-content.presentation .lesson-layout{grid-template-columns:1fr}.main-content.presentation .controls-card{display:none}.main-content.presentation .canvas-holder{height:calc(100dvh - 265px);min-height:390px}.main-content.presentation .concept-card{display:none}.main-content.presentation .stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.main-content.presentation .lesson-heading{margin-bottom:10px}.main-content.presentation #lessonDescription{display:none}
@media(max-width:1200px){.app-layout{grid-template-columns:210px minmax(0,1fr)}.main-content{padding:24px 19px}.lesson-layout{grid-template-columns:255px minmax(0,1fr);gap:14px}.header-inner{padding-left:26px;padding-right:26px}#subjects{padding:0 26px}}
@media(max-width:850px){.header-inner{padding:21px 19px}.brand-mark{width:48px;height:48px;font-size:29px}.brand-copy h1{font-size:21px}.brand-copy p{font-size:11px}.brand-credit{display:none}#subjects{padding:0 14px;gap:25px}#subjects button{font-size:13px;padding:14px 1px 12px}.app-layout{display:block}.topic-sidebar{padding:11px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-heading,.sidebar-foot{display:none}.topic-sidebar nav{display:flex;gap:8px;overflow:auto}.topic-sidebar nav button{flex:none;width:auto;white-space:nowrap;padding:9px 11px;font-size:12px;background:#f0f4fa}.main-content{padding:18px 13px 45px}.lesson-heading{align-items:flex-start}.lesson-heading h2{font-size:22px}.lesson-layout{grid-template-columns:1fr}.controls-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 17px}.controls-card>.card-caption,.controls-card>#specialControls,.controls-card>.experiment-actions,.controls-card>.preset-wrap{grid-column:1/-1}.canvas-holder{height:420px}.lesson-actions{flex-shrink:0}.action-btn{padding:8px 9px;font-size:11px}}
@media(max-width:520px){.lesson-heading{display:block}.lesson-actions{margin-top:13px}.brand-copy h1{font-size:18px}.brand-copy .eyebrow{font-size:8px}.brand-copy p{font-size:10px}.canvas-holder{height:345px;margin:0 5px}.graph-head{padding:15px 13px}.graph-footer{padding:9px 13px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls-card{display:block}.main-content.presentation .canvas-holder{height:60dvh;min-height:300px}.main-content.presentation{padding:9px}.main-content.presentation .lesson-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 통합판: 개선판 레이아웃을 유지하고 원문 문구·안내 위치 복원 */
button, input, select, textarea { font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif; }
.brand-copy h1{margin-bottom:0}
.graph-head{padding-bottom:8px}
.graph-help{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 20px 12px;min-height:32px;color:#65738b;font-size:12px;font-weight:700;flex-wrap:wrap;text-align:right}
.graph-help .reset-view{padding:6px 9px;color:#243b6b;background:#e8eef8;border-color:#cbd7e8;border-radius:7px;font-size:12px}
.canvas-holder{margin-bottom:14px}
.card-caption{font-size:12px;letter-spacing:.2px;color:#526987;margin-bottom:18px}
.extra-math-label{display:block;margin:0 0 12px;font-size:13px;font-weight:800;color:#243b6b}
.original-formula{margin:14px 0;padding:13px 10px;border-radius:10px;text-align:center;background:#f1f4fb;font-size:17px;overflow-x:auto}
.original-help{border-radius:9px;background:#f1f4fb;color:#526173;font-size:12px;line-height:1.6;padding:10px;margin:8px 0 14px}
.original-warning{border:1px solid #f0a6a0;background:#fff1f0;border-radius:10px;color:#8a1f17;font-size:12px;line-height:1.6;padding:12px;margin:8px 0 14px;font-weight:600}
.original-warning strong{display:block;margin-bottom:4px}
.startup-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(12,26,51,.6);padding:20px;backdrop-filter:blur(5px)}
.startup-backdrop.hidden{display:none}
.startup-dialog{width:min(510px,100%);padding:31px 32px 28px;background:#fff;border:1px solid #e2e8f1;border-radius:20px;box-shadow:0 24px 85px rgba(10,26,56,.30);text-align:center;animation:hybridPop .28s cubic-bezier(.16,1,.3,1) both}
.startup-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 15px;border-radius:16px;background:#eaf1fc;font-size:29px}
.startup-dialog h2{font-size:23px;font-weight:900;color:#192f5a;margin:0 0 14px;letter-spacing:-.4px}
.startup-dialog p{font-size:15px;line-height:1.85;color:#53647f;word-break:keep-all;margin:0}
.startup-dialog button{display:block;margin:24px auto 0;padding:11px 27px;border-radius:10px;border:0;color:white;background:#3b69b1;font-size:14px;font-weight:800;min-height:43px}
.startup-dialog button:hover{background:#244f95}
@keyframes hybridPop{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
body.modal-open{overflow:hidden}
@media(max-width:850px){.brand-credit{display:flex;flex:0 0 100%;text-align:left;margin:3px 0 0 62px;font-size:12.33px;gap:2px}.header-inner{flex-wrap:wrap}.graph-help{padding:0 13px 10px;font-size:11px}.startup-dialog{padding:27px 22px}.startup-dialog p{font-size:14px}}
@media(max-width:520px){.brand-credit{margin-left:0}.graph-help{text-align:left;justify-content:flex-end}.graph-help span{flex:1 1 190px}.graph-head{padding-bottom:10px}.canvas-holder{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.startup-dialog{animation:none}}


/* v1.3: 상단 과목 탭 + 고정 목록을 왼쪽 슬라이드 통합 메뉴로 교체 */
.app-layout{display:block;max-width:1560px;min-height:calc(100vh - 170px)}
.main-content{width:100%;padding:27px 34px 55px}
.menu-bar{background:#fff;border-bottom:1px solid var(--line)}
.menu-bar-inner{max-width:1560px;margin:auto;display:flex;align-items:center;gap:13px;min-height:65px;padding:9px 42px}
.menu-toggle{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #d7e3f1;border-radius:11px;background:#f4f8fd;color:#244d8d;transition:background .16s,border-color .16s}
.menu-toggle:hover{background:#e7effb;border-color:#b8cbea}
.menu-current{display:flex;align-items:center;gap:11px;min-width:0}
.menu-current-subject{font-size:13px;font-weight:800;color:#3866aa;white-space:nowrap}
.menu-current-subject::after{content:'';display:inline-block;width:1px;height:14px;background:#d6e0ef;margin-left:11px;vertical-align:-2px}
.menu-current-topic{font-size:14px;font-weight:800;letter-spacing:-.25px;color:#243b62;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-overlay{position:fixed;inset:0;background:rgba(14,30,55,.45);z-index:1100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s,visibility .24s}
.menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.menu-drawer{position:fixed;left:0;top:0;bottom:0;z-index:1101;width:min(370px,88vw);background:#f9fbfe;box-shadow:16px 0 46px rgba(17,37,68,.17);transform:translateX(-105%);visibility:hidden;pointer-events:none;transition:transform .26s cubic-bezier(.2,.85,.25,1),visibility .26s;display:flex;flex-direction:column}
.menu-drawer.open{transform:translateX(0);visibility:visible;pointer-events:auto}
.menu-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:25px 22px 19px;background:#fff;border-bottom:1px solid var(--line);flex:none}
.menu-drawer-header h2{font-size:18px;letter-spacing:-.4px;line-height:1.4;color:#203b68;margin:0;font-weight:900}
.drawer-close{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#f1f5fb;color:#546985;border:1px solid #e3eaf4;border-radius:9px}
.drawer-close:hover{background:#e4edf9}
.menu-groups{padding:13px 13px 25px;overflow-y:auto;overscroll-behavior:contain;flex:1}
.drawer-subject-group{border-radius:12px;margin-bottom:5px}
.drawer-subject{width:100%;min-height:49px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:11px 14px;border:0;border-radius:10px;background:transparent;color:#405575;font-size:14px;font-weight:850}
.drawer-subject:hover{background:#edf3fb}
.drawer-subject-group.selected-subject>.drawer-subject{color:#285994}
.drawer-subject-group.expanded{background:#fff;border:1px solid #dee8f5;box-shadow:0 2px 10px rgba(25,47,90,.035)}
.drawer-subject-group.expanded>.drawer-subject{color:#243b6b;background:#eef4fe;border-radius:10px 10px 0 0}
.drawer-subject-arrow{font-size:22px;font-weight:500;line-height:15px;color:#8495aa;transition:transform .2s;transform:rotate(-90deg)}
.drawer-subject-group.expanded .drawer-subject-arrow{transform:rotate(0deg)}
.drawer-topics{display:grid;gap:3px;padding:8px 9px 11px}
.drawer-topics[hidden]{display:none}
.drawer-topic{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:10px 12px;color:#53647f;font-size:12.7px;line-height:1.45;font-weight:700;word-break:keep-all}
.drawer-topic:hover{background:#eff4fb;color:#254f89}
.drawer-topic.active{background:#e7f0fd;color:#285fa6;font-weight:850;box-shadow:inset 3px 0 #3b75bd}
body.menu-open{overflow:hidden}
@media(max-width:1200px){.main-content{padding:24px 19px 55px}.menu-bar-inner{padding-left:26px;padding-right:26px}}
@media(max-width:850px){.main-content{padding:18px 13px 45px}.menu-bar-inner{padding:8px 15px;min-height:59px}.menu-current{gap:4px}.menu-current-topic{font-size:12px}.menu-current-subject{font-size:12px}.menu-current-subject::after{margin-left:7px}}
@media(max-width:520px){.menu-toggle{width:40px;height:40px}.menu-bar-inner{gap:9px}.menu-current-topic{font-size:11.5px}.menu-drawer-header{padding:20px 17px 17px}.menu-groups{padding:10px}}
@media(prefers-reduced-motion:reduce){.menu-overlay,.menu-drawer,.menu-toggle,.drawer-subject-arrow{transition:none}}


/* v1.4: 요청된 가독성 및 정렬 조정. 기존 레이아웃/문구/색상 유지 */
/* 시작 안내: 안내 본문을 검은색에 가까운 기본 텍스트로 조정, 글씨/카드 함께 확대 */
.startup-dialog{width:min(650px,calc(100vw - 32px));padding:34px 40px 32px}
.startup-dialog p{color:#1b1f27;font-size:18px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}
.startup-dialog h2{font-size:24px}
.startup-dialog button{font-size:15px;min-height:44px}

/* 그래프의 제목·조작 안내·기본 보기를 한 줄에 배치 */
.graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px 12px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.graph-toolbar .graph-head{flex:0 0 auto;padding:0;min-width:max-content}
.graph-toolbar .graph-head h3{font-size:21px;letter-spacing:-.45px;line-height:1.4;font-weight:900;white-space:nowrap}
.graph-toolbar .graph-help{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px;padding:0;min-height:0;white-space:nowrap;flex-wrap:nowrap;text-align:right;color:#65738b;font-size:12px;font-weight:700}
.graph-toolbar .graph-help span{flex:none;white-space:nowrap}
.graph-toolbar .graph-help .reset-view{flex:none;margin:0;padding:8px 11px;font-size:13px;min-height:35px}

/* 흰색/밝은색 버튼은 읽기 편하게 글씨와 버튼을 함께 소폭 확대 */
.lesson-actions .action-btn{font-size:14px;padding:10px 14px;min-height:40px;line-height:1.3}
.preset-buttons button{font-size:13px;padding:8px 10px;min-height:36px;line-height:1.3}
.event-buttons button{font-size:13px;padding:7px 10px;min-height:34px;line-height:1.3}
.event-row .event-head input{font-size:13px}

/* 각 개념 설명 문장 앞에 하이픈을 붙여 항목별로 정렬 */
.concept-card #conceptText .concept-line{margin:4px 0;padding-left:1em;text-indent:-1em}

/* 모바일 세로 화면: 클릭으로 가로 전환 시도 (지원 브라우저에서만 적용) */
.orientation-hint{display:none}
.orientation-hint.dismissed{display:none!important}
@media (max-width:600px) and (orientation:portrait) and (pointer:coarse){
  .orientation-hint{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #dce6f4;background:#edf4ff;color:#314e75;font-size:12px;font-weight:700;line-height:1.5}
  .orientation-hint span{flex:1;min-width:0}
  .orientation-hint button{flex:none;border-radius:8px;padding:7px 9px;border:1px solid #c7d7ed;background:white;color:#31578b;font-size:12px;font-weight:800;white-space:nowrap}
  .orientation-hint #orientationDismiss{font-size:17px;padding:5px 8px;line-height:1}
}
@media(max-width:850px){
  .startup-dialog{padding:30px 27px}
  .startup-dialog p{font-size:17px;line-height:1.72}
  .graph-toolbar{padding:13px 14px 10px;gap:12px}
  .graph-toolbar .graph-head h3{font-size:20px}
  .lesson-actions .action-btn{font-size:13px;padding:9px 12px;min-height:38px}
}
@media(max-width:520px){
  .startup-dialog{width:min(650px,calc(100vw - 24px));padding:26px 22px 24px}
  .startup-dialog p{font-size:17px;line-height:1.7}
  .graph-toolbar{padding:12px 11px 10px;gap:13px}
  .graph-toolbar .graph-head h3{font-size:19px}
  .graph-toolbar .graph-help{font-size:12px}
  .graph-toolbar .graph-help span{flex:0 0 auto}
  .lesson-actions{gap:7px}
  .lesson-actions .action-btn{font-size:13px;padding:9px 11px;min-height:38px}
}


/* v1.5: 상단의 과목·학습 주제를 유일한 큰 제목으로 사용. 중복 본문 제목 제거 */
.menu-current{flex:1;min-width:0;margin:0;line-height:1.3;display:flex;align-items:center;gap:12px;letter-spacing:-.4px}
.menu-current-subject{font-size:17px;font-weight:850;color:#3866aa;white-space:nowrap}
.menu-current-subject::after{height:20px;margin-left:12px;vertical-align:-4px}
.menu-current-topic{font-size:22px;font-weight:900;letter-spacing:-.65px;color:#20375e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-bar-inner{min-height:77px}
.lesson-heading{justify-content:flex-end;margin-bottom:13px}
.main-content{padding-top:16px}
@media(max-width:850px){
  .menu-bar-inner{min-height:67px}
  .menu-current{gap:8px}
  .menu-current-subject{font-size:15px}
  .menu-current-topic{font-size:18px;letter-spacing:-.4px}
  .menu-current-subject::after{height:17px;margin-left:8px;vertical-align:-3px}
  .main-content{padding-top:12px}
}
@media(max-width:520px){
  .menu-bar-inner{min-height:62px}
  .menu-current{gap:6px}
  .menu-current-subject{font-size:13.5px}
  .menu-current-topic{font-size:16.5px;letter-spacing:-.35px}
  .menu-current-subject::after{height:15px;margin-left:6px;vertical-align:-3px}
  .lesson-heading{margin-bottom:11px}
}
/* 중간 폭에서 기존 제작자 표시의 100% flex-basis + 좌측 여백이 합산되는 오버플로 보정 */
@media(min-width:521px) and (max-width:850px){.brand-credit{flex-basis:calc(100% - 62px);max-width:calc(100% - 62px)}}


/* v1.6: 과목/주제 메뉴 글씨 가독성 + 정렬된 벡터 꺾쇠 (폰트 기호 사용하지 않음) */
.menu-drawer{width:min(410px,92vw)}
.menu-groups{padding:15px 15px 24px}
.drawer-subject{min-height:52px;padding:11px 15px;font-size:16px;line-height:1.35;font-weight:850;gap:12px}
.drawer-subject-name{flex:1;min-width:0}
.drawer-subject-arrow{flex:0 0 24px;display:grid;place-items:center;width:24px;height:24px;font-size:0;line-height:0;color:#7285a1;transform:none;transition:color .16s}
.drawer-subject-arrow::before{content:'';display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .18s;transform-origin:50% 50%}
.drawer-subject-group.expanded .drawer-subject-arrow{transform:none;color:#326bb3}
.drawer-subject-group.expanded .drawer-subject-arrow::before{transform:rotate(45deg)}
.drawer-subject-group.expanded>.drawer-subject{padding-bottom:12px}
.drawer-topics{gap:4px;padding:7px 10px 12px}
.drawer-topic{font-size:14.5px;line-height:1.5;padding:11px 12px;font-weight:750;border-radius:9px}
.drawer-topic.active{font-weight:850;box-shadow:inset 3px 0 #3678c9}
.drawer-subject-group{margin-bottom:7px}
@media(max-width:520px){.menu-groups{padding:12px 12px 22px}.drawer-subject{font-size:15.5px}.drawer-topic{font-size:14px;padding:11px 10px}}

/* 그래프 내부 색상 범례를 설정창으로 이동 - 원래 수식 문구 유지 */
.extra-math-label.curve-label-black{color:#171717;font-size:16px;font-weight:900}
.extra-math-label.curve-label-red{color:#cb3434;font-size:16px;font-weight:900}

/* 탐구 화면과 독립적인 수업 모드: 큰 사이트 헤더는 가리고 설정창 + 그래프 동시 조작 */
.presentation-topic-title{display:none}
.main-content.presentation{position:fixed;inset:0;z-index:1000;overflow:auto;background:#f3f6fb;padding:13px 20px 18px;display:flex;flex-direction:column}
.main-content.presentation .lesson-heading{flex:none;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:47px;margin:0 0 11px}
.main-content.presentation .presentation-topic-title{display:block;min-width:0;font-size:19px;line-height:1.35;font-weight:900;color:#213b62;letter-spacing:-.4px;margin:0}
.main-content.presentation .lesson-actions{flex:none}
.main-content.presentation .lesson-layout{display:grid;grid-template-columns:minmax(255px,315px) minmax(0,1fr);gap:15px;align-items:start;min-height:0;flex:1}
.main-content.presentation .controls-card{display:block;max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:contain;padding:19px 17px;scrollbar-width:thin}
.main-content.presentation .visual-column{display:grid;gap:10px;min-width:0}
.main-content.presentation .graph-card{min-width:0}
.main-content.presentation .graph-toolbar{padding:12px 16px 9px}
.main-content.presentation .graph-toolbar .graph-head h3{font-size:20px}
.main-content.presentation .canvas-holder{height:clamp(310px,calc(100dvh - 245px),900px);min-height:0}
.main-content.presentation .stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.main-content.presentation .stat-card{padding:10px 13px}
.main-content.presentation .concept-card{display:none}
.main-content.presentation .extra-card{padding:11px 14px}
@media(max-width:900px){
  .main-content.presentation{padding:10px 12px 14px}
  .main-content.presentation .lesson-layout{grid-template-columns:minmax(220px,265px) minmax(0,1fr);gap:10px}
  .main-content.presentation .controls-card{padding:15px 12px;max-height:calc(100dvh - 83px)}
  .main-content.presentation .presentation-topic-title{font-size:17px}
  .main-content.presentation .canvas-holder{height:clamp(270px,calc(100dvh - 220px),750px)}
}
@media(max-width:650px) and (orientation:portrait){
  .main-content.presentation .lesson-layout{grid-template-columns:1fr}
  .main-content.presentation .controls-card{max-height:none;overflow:visible}
  .main-content.presentation .canvas-holder{height:340px}
  .main-content.presentation .lesson-heading{align-items:flex-start;flex-wrap:wrap}
  .main-content.presentation .lesson-actions{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.drawer-subject-arrow::before{transition:none}}


/* v1.6.2 — 텍스트는 무채색으로, 파란색은 메뉴의 선택 상태·버튼 및 그래프 강조용으로 유지 */
:root{--ink:#222222;--muted:#555555}
body{color:var(--ink)}
.menu-current-topic,
.graph-toolbar .graph-head h3,
.main-content.presentation .presentation-topic-title,
.card-caption,
.extra-math-label:not(.curve-label-black):not(.curve-label-red),
.control-field>label,.extra-label,
.stat-card .stat-value,.stat-card .stat-label,
.concept-head,.concept-head button,
.concept-card #conceptText,
.menu-drawer-header h2,
.drawer-subject,.drawer-topic,
.preset-caption,.control-help,.small-help,
.event-count,.extra-card,.extra-card h4,
.original-help,.original-formula,
.graph-toolbar .graph-help,
.graph-toolbar .graph-help span,
.event-row .event-head input,
.lesson-actions .action-btn,
.preset-buttons button,.event-buttons button,
.graph-toolbar .graph-help .reset-view{color:#222222}
/* 부가 안내는 검정에 가까운 중성 회색; 오류·그래프의 의미 있는 색상은 보존 */
.control-help,.small-help,.original-help,.graph-toolbar .graph-help,.graph-toolbar .graph-help span,.stat-card .stat-label,.event-count{color:#555555}
/* 선택된 학습 메뉴의 파란색은 상태 강조이므로 유지 */
.drawer-subject-group.selected-subject>.drawer-subject,
.drawer-subject-group.expanded>.drawer-subject,
.drawer-topic.active{color:#285994}
/* 기존 사이트 상단 배너의 높이를 약 20px 축소 */
.header-inner{padding-top:15px;padding-bottom:15px}
.brand-mark{width:54px;height:54px;border-radius:15px;font-size:29px}
.brand-copy h1{font-size:27px}
.brand-copy p{margin-top:4px}
.brand-credit{gap:4px}
.brand-credit .site-version{font-size:12px;line-height:1.2;color:rgba(255,255,255,.9);font-weight:750;letter-spacing:.1px}
/* 배너는 문서 스크롤에 따라 위로 사라지고 주제 선택 바만 화면 상단에 남습니다. */
.menu-bar{position:sticky;top:0;z-index:90;transition:box-shadow .18s ease}
.menu-bar.scrolled{box-shadow:0 4px 15px rgba(0,0,0,.08)}
@media(max-width:850px){
  .header-inner{padding-top:13px;padding-bottom:13px}
  .brand-mark{width:46px;height:46px;font-size:27px}
  .brand-credit{margin-top:1px;margin-left:60px}
}
@media(max-width:520px){
  .header-inner{padding-top:12px;padding-bottom:12px}
  .brand-credit{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.menu-bar{transition:none}}


/* v1.6.4 — 메뉴 토글 박스는 더 콤팩트하게, 과목명은 더 또렷하게 조정 */
.menu-bar{height:46px}
.menu-bar-inner{height:45px;min-height:45px;padding-top:2.5px;padding-bottom:2.5px;gap:7px}
.menu-toggle{width:36px;height:36px;border-radius:9px}
.menu-current{gap:7px;line-height:1.15}
.menu-current-subject{font-size:16px;line-height:1.15;font-weight:900}
.menu-current-subject::after{height:18px;margin-left:7px;vertical-align:-4px}
.menu-current-topic{font-size:19px;line-height:1.15;letter-spacing:-.45px}
@media(max-width:850px){
  .menu-bar-inner{height:45px;min-height:45px;padding-top:2.5px;padding-bottom:2.5px;gap:7px}
  .menu-current{gap:7px}
  .menu-current-subject{font-size:15px}
  .menu-current-subject::after{height:17px;margin-left:7px;vertical-align:-4px}
  .menu-current-topic{font-size:19px;letter-spacing:-.45px}
}
@media(max-width:520px){
  .menu-bar-inner{height:45px;min-height:45px;gap:7px}
  .menu-toggle{width:34px;height:34px;border-radius:8px}
  .menu-current{gap:5px}
  .menu-current-subject{font-size:14px}
  .menu-current-subject::after{height:15px;margin-left:5px;vertical-align:-3px}
  .menu-current-topic{font-size:19px}
}

/* v1.6.5 — C안 미니멀형: 박스 없는 ☰, 검정 과목명, 46px 메뉴바 유지 */
.menu-bar { height:46px; }
.menu-bar-inner { height:45px; min-height:45px; padding-top:2.5px; padding-bottom:2.5px; gap:8px; }
.menu-toggle {
  width:34px; height:40px; padding:0; flex:none;
  border:0; border-radius:6px; background:transparent; color:#333333;
  transition:background-color .16s ease;
}
.menu-toggle:hover { background:#f3f5f8; border-color:transparent; }
.menu-toggle:active { background:#e9edf2; }
.menu-current { gap:8px; }
.menu-current-subject { font-size:18px; line-height:1.15; font-weight:850; color:#333333; }
.menu-current-subject::after { height:19px; margin-left:8px; background:#d5dbe4; vertical-align:-4px; }
.menu-current-topic { font-size:19px; line-height:1.15; color:#171717; }
@media(max-width:850px) {
  .menu-bar-inner { height:45px; min-height:45px; gap:8px; padding-top:2.5px; padding-bottom:2.5px; }
  .menu-toggle { width:34px; height:40px; }
  .menu-current { gap:8px; }
  .menu-current-subject { font-size:18px; }
  .menu-current-subject::after { height:19px; margin-left:8px; vertical-align:-4px; }
  .menu-current-topic { font-size:19px; }
}
@media(max-width:520px) {
  .menu-bar-inner { gap:6px; }
  .menu-toggle { width:30px; height:40px; }
  .menu-current { gap:6px; }
  .menu-current-subject { font-size:16px; }
  .menu-current-subject::after { height:16px; margin-left:6px; vertical-align:-3px; }
  .menu-current-topic { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) { .menu-toggle { transition:none; } }


/* v1.6.6 — PC 상단에 아이콘 2개 / 모바일에는 더보기 메뉴 하나.
   일반 탐구 화면의 별도 버튼 행 제거, 수업 모드에서는 기존 복귀 버튼 유지. */
.main-content:not(.presentation) .lesson-heading{display:none}
.menu-actions{display:flex;flex:0 0 auto;align-items:center;margin-left:auto}
.desktop-tools{display:flex;gap:5px;align-items:center}
.menu-tool-btn{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid #e0e5ed;border-radius:8px;background:#f7f9fc;color:#333;transition:background-color .16s,border-color .16s}
.menu-tool-btn:hover{background:#edf1f7;border-color:#c9d3e1}
.menu-tool-btn:active{background:#e3eaf4}
.menu-tool-btn svg{display:block}
.mobile-tools{display:none;position:relative}
.mobile-tools-popup[hidden]{display:none!important}
.mobile-tools-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:95;width:max-content;min-width:220px;padding:6px;background:white;border:1px solid #dbe2eb;border-radius:12px;box-shadow:0 12px 28px rgba(21,36,58,.16)}
.mobile-tools-popup button{display:flex;align-items:center;gap:10px;width:100%;min-height:43px;background:transparent;border:0;border-radius:8px;padding:10px 12px;color:#222;font-size:14px;font-weight:750;text-align:left;white-space:nowrap}
.mobile-tools-popup button:hover{background:#f0f3f8}
.mobile-tools-popup button svg{color:#444;flex:none}
@media(max-width:700px){
  .desktop-tools{display:none}
  .mobile-tools{display:block}
  .menu-actions{margin-left:auto}
  .menu-tool-btn{width:38px;height:38px;background:transparent;border-color:transparent}
}
@media(prefers-reduced-motion:reduce){.menu-tool-btn{transition:none}}


/* v1.6.7 — 수학 표기의 일관성 / 제목 정렬 / 초기화 강조 */
#controlHeading{
  font-size:21px;line-height:1.4;font-weight:900;letter-spacing:-.45px;
  color:#222222;margin-bottom:17px;text-transform:none;
}
.control-field>label{font-size:19px;line-height:1.5;font-weight:800;margin-bottom:8px;color:#222222;letter-spacing:0}
.control-field>label mjx-container{font-size:113%!important;margin:0!important;vertical-align:middle!important}
.extra-math-label mjx-container,.original-formula mjx-container,
.original-help mjx-container,.concept-line mjx-container,.stat-card mjx-container,
.extra-card mjx-container{font-size:107%!important;vertical-align:middle!important}
.control-field select{font-family:'Pretendard','Cambria Math','Times New Roman',sans-serif}
.select-formula-preview{
  margin-top:7px;padding:5px 10px;border-radius:7px;background:#f6f8fb;
  color:#222222;font-size:17px;font-weight:600;line-height:1.5;min-height:32px;
}
.select-formula-preview[hidden]{display:none!important}
.select-formula-preview mjx-container{margin:0!important}
.experiment-actions button.danger{
  color:#ffffff;background:#c0392b;border-color:#c0392b;
  font-weight:850;
}
.experiment-actions button.danger:hover{background:#ab3226;border-color:#ab3226;filter:none}
@media(max-width:850px){#controlHeading{font-size:20px}.control-field>label{font-size:16px}}
@media(max-width:520px){#controlHeading{font-size:19px}.control-field>label{font-size:16px}}


/* v1.6.8 — 두 카드 제목의 상단 기준선 일치, 제목 옆 초기화, 메뉴 그림자 제거 */
.menu-bar,.menu-bar.scrolled{box-shadow:none!important;filter:none}
.controls-card{padding-top:16px}
.controls-heading-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:35px;margin-bottom:17px;grid-column:1/-1;
}
#controlHeading{
  margin:0;min-width:0;line-height:1.4;
  font-size:21px;font-weight:900;letter-spacing:-.45px;
}
.control-reset-btn{
  flex:none;min-height:34px;padding:6px 12px;
  background:#c0392b;border:1px solid #c0392b;border-radius:8px;
  color:#fff;font-size:13px;line-height:1.25;font-weight:850;
}
.control-reset-btn:hover{background:#ab3226;border-color:#ab3226}
.control-reset-btn[hidden]{display:none!important}
#actionButtons:empty{display:none}
/* 오른쪽 카드와 동일한 위쪽 안쪽 여백, 35px 높이의 툴바에 글씨 가운데 맞춤 */
.graph-toolbar{min-height:63px;padding-top:16px;padding-bottom:12px;align-items:center}
.graph-toolbar .graph-head h3{line-height:1.4}
@media(max-width:850px){
  .controls-card{padding-top:13px}
  .graph-toolbar{min-height:59px;padding-top:13px;padding-bottom:10px}
  #controlHeading{font-size:20px}
}
@media(max-width:520px){
  .controls-card{padding-top:12px}
  .graph-toolbar{min-height:57px;padding-top:12px;padding-bottom:10px}
  #controlHeading{font-size:19px}
  .control-reset-btn{min-height:32px;padding:5px 10px;font-size:12px}
}
/* 수업 화면에서도 같은 상단 위치를 사용합니다. */
.main-content.presentation .controls-card{padding-top:12px}
.main-content.presentation .graph-toolbar{min-height:56px;padding-top:12px;padding-bottom:9px}
@media(max-width:900px){.main-content.presentation .controls-card{padding-top:12px}}

/* v1.6.9 — 연속성 확인 위치 입력, 정리된 수학 설명 */
.continuity-point-row{display:flex;align-items:center;gap:12px;max-width:250px;}
.continuity-point-prefix{display:inline-flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-style:italic;min-width:36px;color:#171717;white-space:nowrap;}
.continuity-point-prefix mjx-container{margin:0!important;font-size:110%!important;}
.continuity-point-row input[type=number]{width:140px;max-width:100%;flex:1 1 140px;font-size:17px;text-align:center;font-weight:750;}
@media(max-width:520px){.continuity-point-row{max-width:215px}.continuity-point-row input[type=number]{width:125px}}

/* v1.6.12 — 좌표축 1:1/자동 비율 전환. 수업/탐구 화면 공통 */
.axis-mode-toggle{display:inline-flex;align-items:center;flex:0 0 auto;gap:2px;padding:3px;background:#f2f4f7;border:1px solid #d8dee8;border-radius:9px;white-space:nowrap}
.axis-mode-toggle[hidden]{display:none!important}
.axis-mode-toggle button{font-family:inherit;border:0;border-radius:6px;background:transparent;color:#333;font-size:13px;font-weight:800;line-height:1.1;padding:6px 10px;min-width:42px;cursor:pointer}
.axis-mode-toggle button.active{background:#ffffff;color:#171717;box-shadow:0 1px 4px rgba(0,0,0,.13)}
.axis-mode-toggle button:focus-visible{outline:2px solid #3f6db5;outline-offset:1px}
@media(max-width:520px){.axis-mode-toggle button{font-size:12px;padding:5px 8px;min-width:37px}}


/* v1.6.15 — 미적분Ⅰ 함수의 극한: 예시 관찰/직접 탐구 */
.limit-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;margin:0 0 17px;background:#edf1f6;border:1px solid #dbe2ec;border-radius:11px;grid-column:1/-1}
.limit-mode-switch button{min-width:0;min-height:41px;border:1px solid transparent;background:transparent;border-radius:8px;font-family:inherit;font-size:15px;font-weight:850;line-height:1.25;color:#404b5a;white-space:nowrap}
.limit-mode-switch button.active{background:#fff;border-color:#d4dce8;color:#171717;box-shadow:0 1px 4px rgba(0,0,0,.09)}
.limit-mode-switch button:hover:not(.active){background:#f6f8fb}
.limit-explore-formula{margin:0 0 18px;padding:12px 8px 11px;border:1px solid #dbe2ec;background:#f8f9fc;border-radius:11px;grid-column:1/-1}
.limit-explore-caption{font-size:13px;font-weight:800;color:#222;margin-bottom:5px}
.limit-explore-tex{text-align:center;font-size:19px;color:#171717;overflow-x:auto;line-height:1.6;padding:2px 0}
.limit-explore-tex mjx-container{margin:0!important;max-width:100%}
.limit-explore-help{grid-column:1/-1;font-size:12px;color:#4d5260;line-height:1.65;background:#f5f7fa;padding:9px 11px;border:1px solid #e0e6ee;border-radius:9px}
@media(max-width:520px){.limit-mode-switch button{min-height:39px;font-size:14px}.limit-explore-tex{font-size:17px}}

/* MathJax가 아직 로딩되지 않았을 때 수식 코드를 그대로 노출하지 않습니다. */
.limit-explore-formula:not(:has(mjx-container)) .limit-explore-tex{display:none}
.limit-explore-formula:has(mjx-container) .limit-explore-fallback{display:none}
.limit-explore-fallback{display:flex;justify-content:center;align-items:center;gap:10px;margin:10px auto 1px;color:#171717;font-family:'Cambria Math','Times New Roman',serif;font-size:18px}
.limit-fallback-brace{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-left:16px;font-size:15px}
.limit-fallback-brace::before{content:'{';font-size:48px;line-height:1;position:absolute;left:-4px;top:50%;transform:translateY(-50%);font-weight:300}
.limit-fallback-name{font-style:italic;white-space:nowrap}

/* v1.6.17: 불필요한 색상 범례 제거, 함수/변수 수식 자체를 의미 색으로 */
.formula-black,.formula-black mjx-container{color:#171717!important}
.formula-red,.formula-red mjx-container{color:#cb3434!important}
.formula-blue,.formula-blue mjx-container{color:#3f6db5!important}
.control-field>label .colored-math{font-size:1.08em;font-weight:850}
.select-formula-preview{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px;margin-top:8px;padding:10px 11px;background:#f8f9fc}
.select-formula-preview .math-formula-token{display:inline-flex;align-items:center;max-width:100%;min-height:23px}
.select-formula-preview mjx-container{margin:0!important;max-width:100%}
.range-number-with-prefix{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:none}
.range-number-with-prefix input[type=number]{width:72px}
.math-inline-prefix{font-size:17px;font-weight:800;white-space:nowrap;color:#171717}
.math-inline-prefix mjx-container{margin:0!important}
.limit-explore-help{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.limit-explore-help .colored-math{font-size:17px;font-weight:800}

/* v1.6.18 — 미적분Ⅰ 1번 기준 UX: 예시만 선택·수식은 한눈에·확실한 선택 상태 */
.limit-preset-wrap{margin-bottom:9px}
.limit-preset-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.limit-preset-buttons button{
  width:100%;min-height:47px;margin:0;padding:9px 7px;
  background:#ffffff;border:1px solid #ccd5e1;border-radius:9px;
  color:#222222;font-size:12.5px;font-weight:800;
  line-height:1.35;word-break:keep-all;
  transition:background-color .15s,border-color .15s;
}
.limit-preset-buttons button:hover:not(.active){background:#edf2f7;border-color:#9aaabd}
.limit-preset-buttons button.active,
.limit-preset-buttons button[aria-pressed="true"]{
  background:#182e50;color:#ffffff;border-color:#182e50;
  box-shadow:inset 0 0 0 1px #182e50;
}
.limit-preset-buttons button:focus-visible{outline:3px solid #0000ff;outline-offset:2px}
.limit-example-formula{
  border:1px solid #e0e6ee;background:#f8f9fc;border-radius:9px;
  padding:9px 6px;margin:0 0 15px;
  display:flex;align-items:center;justify-content:center;min-height:54px;
  overflow:hidden;min-width:0;
}
.limit-example-tex{width:100%;min-width:0;text-align:center;font-size:13px;line-height:1.3;color:#171717}
.limit-example-tex mjx-container{max-width:100%;margin:0!important}
.limit-explore-formula{padding:8px 5px 7px;margin-bottom:11px;overflow:hidden;min-width:0}
.limit-explore-caption{font-size:12px;margin-bottom:3px}
.limit-explore-tex{font-size:13px;line-height:1.25;overflow:visible;white-space:normal}
.limit-explore-tex mjx-container{max-width:100%;margin:0!important}
.limit-explore-fallback{font-size:14px;margin:5px auto 1px}
.limit-fallback-brace{font-size:12px}
.formula-red,.formula-red mjx-container{color:#ff0000!important}
.formula-blue,.formula-blue mjx-container{color:#0000ff!important}
@media(max-width:900px){
  .limit-preset-buttons{gap:6px}
  .limit-preset-buttons button{font-size:12px;min-height:44px}
  .limit-explore-tex{font-size:12px}
  .limit-example-tex{font-size:12px}
}
