:root {
  --bg: #171c22;
  --panel: #20262e;
  --panel-2: #2a313b;
  --panel-3: #313946;
  --line: #3e4855;
  --muted: #91a0b2;
  --text: #eef3fa;
  --blue: #2f86f6;
  --green: #19b88a;
  --orange: #e4962a;
  --purple: #9a64da;
  --shadow: 0 30px 90px rgba(0,0,0,.38);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: Inter, Pretendard, "Segoe UI", sans-serif; line-height: 1.55; }
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 16px; background: white; color: #111; border-radius: 6px; }
.skip-link:focus { top: 16px; }

.site-header { position: sticky; top: 0; z-index: 40; height: 76px; padding: 0 clamp(20px, 4vw, 72px); display: flex; align-items: center; gap: 36px; border-bottom: 1px solid rgba(126,145,166,.18); background: rgba(23,28,34,.82); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 750; letter-spacing: -.02em; }
.brand img { border-radius: 4px; }
.brand .version { margin-left: 8px; padding: 7px 10px; border: 1px solid var(--line); color: var(--muted); border-radius: 8px; font-size: 11px; font-weight: 600; letter-spacing: .02em; }
.site-header nav { display: flex; gap: 28px; margin-left: auto; color: #b9c4d0; font-size: 14px; }
.site-header nav a:hover { color: white; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.language-switch { min-width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid #4b5869; border-radius: 9px; color: #d6deea; font-size: 13px; font-weight: 700; transition: border-color .2s, color .2s, background .2s; }
.language-switch:hover { border-color: #58a6ff; color: white; background: rgba(88,166,255,.1); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border: 1px solid #55a1ff; border-radius: 8px; background: var(--blue); color: white; font-weight: 700; box-shadow: 0 8px 26px rgba(47,134,246,.26); transition: transform .18s ease, background .18s ease; }
.button:hover { background: #2479e3; transform: translateY(-2px); }
.button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.button-small { min-height: 40px; padding: 0 16px; font-size: 13px; }

.hero { min-height: 740px; padding: 86px clamp(20px, 5vw, 86px) 110px; display: grid; grid-template-columns: minmax(330px,.78fr) minmax(620px,1.35fr); gap: clamp(36px,5vw,88px); align-items: center; overflow: hidden; background: radial-gradient(circle at 70% 25%, rgba(47,134,246,.13), transparent 30%), linear-gradient(135deg,#171c22 20%,#1b222a 100%); }
.hero-copy { max-width: 610px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: #81b8ff; font-size: 12px; font-weight: 750; letter-spacing: .18em; }
.eyebrow span { width: 22px; height: 2px; background: var(--blue); }
h1 { margin: 0; font-size: clamp(52px,5vw,78px); line-height: .98; letter-spacing: -.055em; font-weight: 760; white-space: nowrap; }
h1 em { color: var(--blue); font-style: normal; }
.hero-lede { max-width: 560px; margin: 28px 0; color: #aeb9c7; font-size: clamp(17px,1.5vw,20px); line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.text-link { color: #c8d1dc; font-weight: 650; }
.text-link span { color: var(--blue); margin-left: 5px; }
.prereq-note { max-width: 560px; margin-top: 26px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(228,150,42,.5); border-radius: 8px; background: rgba(228,150,42,.08); color: #f5c77f; transition: border-color .18s, background .18s, transform .18s; }
.prereq-note:hover { border-color: #e4962a; background: rgba(228,150,42,.14); transform: translateY(-1px); }
.prereq-note-icon { width: 21px; height: 21px; flex: 0 0 21px; display: grid; place-items: center; border-radius: 50%; background: #e4962a; color: #1c2025; font-size: 13px; font-weight: 800; }
.prereq-note span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.prereq-note strong { color: #ffd58f; font-size: 12px; }
.prereq-note small { color: #c4a879; font-size: 11px; line-height: 1.4; }
.hero-facts { display: flex; gap: 0; margin: 44px 0 0; }
.hero-facts div { min-width: 125px; padding-right: 24px; margin-right: 24px; border-right: 1px solid var(--line); }
.hero-facts div:last-child { border: 0; }
.hero-facts dt { color: #748296; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.hero-facts dd { margin: 5px 0 0; font-size: 13px; font-weight: 650; }

.home-preview { width: 920px; min-height: 550px; border: 1px solid #44505f; border-radius: 12px; overflow: hidden; background: #222932; box-shadow: var(--shadow); transform: perspective(1400px) rotateY(-5deg) rotateX(1deg); transform-origin: center left; }
.home-topbar { height: 66px; padding: 0 16px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); background: #29313b; }
.mini-brand { display: flex; align-items: center; gap: 9px; }
.mini-brand img { width: 32px; height: 32px; }
.mini-brand strong { font-size: 14px; }
.mini-brand span { margin-left: 5px; padding: 9px 11px; border: 1px solid #536170; border-radius: 8px; color: #9ba9b9; font-size: 9px; }
.mini-search { width: 190px; margin-left: auto; padding: 9px 12px; border: 1px solid var(--blue); border-radius: 7px; color: #748194; font-size: 10px; }
.home-topbar button, .mode-card span, .recent-panel button { border: 1px solid #4c5967; border-radius: 6px; background: #333c48; padding: 8px 12px; font-size: 10px; }
.home-grid { padding: 18px; display: grid; grid-template-columns: 242px 1fr 220px; gap: 16px; }
.workspace-picker, .recent-panel, .template-panel { min-height: 442px; padding: 16px; border: 1px solid #414c59; border-radius: 10px; background: #29313a; }
.welcome { display: flex; flex-direction: column; gap: 5px; padding: 16px; border-radius: 8px; background: #343d49; font-size: 12px; }
.welcome span, .template-panel>p { color: #8997a8; font-size: 10px; }
.panel-label { margin: 14px 0 10px; color: #c8d2df; font-size: 11px; font-weight: 700; }
.mode-card { position: relative; margin: 9px 0; padding: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; border-left: 3px solid var(--blue); border-radius: 6px; background: #363f4b; }
.mode-card i { color: var(--blue); font-size: 10px; font-style: normal; }
.mode-card b { display: block; font-size: 10px; }
.mode-card small { display: block; color: #8d9bab; font-size: 8px; line-height: 1.35; }
.mode-card span { grid-column: 1/-1; padding: 5px; text-align: center; border-color: var(--blue); background: var(--blue); }
.mode-card.green { border-color: var(--green); }.mode-card.green i { color: var(--green); }.mode-card.green span { border-color: var(--green); background: var(--green); }
.mode-card.orange { border-color: var(--orange); }.mode-card.orange i { color: var(--orange); }.mode-card.orange span { border-color: var(--orange); background: var(--orange); }
.fake-tabs { display: flex; gap: 18px; padding: 8px 10px; border-bottom: 1px solid #3c4753; font-size: 10px; }
.fake-tabs b { color: #8bbcff; }
.fake-tabs span { color: #8492a3; }
.recent-panel ul { margin: 10px 0 0; padding: 0; list-style: none; }
.recent-panel li { display: flex; align-items: center; gap: 10px; margin: 9px 0; padding: 10px; border-radius: 8px; background: #363f4b; }
.recent-panel li>i { padding: 11px 8px; border-radius: 5px; background: var(--blue); font-size: 8px; font-style: normal; }
.recent-panel li>span { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.recent-panel li b { font-size: 10px; }.recent-panel li small { overflow: hidden; color: #8492a2; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.recent-panel button { padding: 5px 8px; border-color: var(--blue); color: #8bbcff; }
.template-panel article { position: relative; display: flex; flex-direction: column; gap: 4px; margin: 10px 0; padding: 12px; border-left: 3px solid var(--blue); border-radius: 4px; background: #363f4b; }
.template-panel article b { font-size: 10px; }.template-panel article span { position: absolute; right: 8px; top: 8px; padding: 2px 5px; border-radius: 3px; background: var(--blue); font-size: 7px; }.template-panel article small { padding-right: 20px; color: #8e9bab; font-size: 8px; }.template-panel .report { border-color: var(--green); }.template-panel .report span { background: var(--green); }.template-panel .book { border-color: var(--purple); }.template-panel .book span { background: var(--purple); }

.workspace-section { padding: 112px clamp(16px,4vw,70px); background: #11161b; }
.section-heading { max-width: 760px; margin: 0 auto 46px; text-align: center; }
.section-heading.left { max-width: 720px; margin-left: 0; text-align: left; }
.section-heading h2 { margin: 0 0 16px; font-size: clamp(36px,4.5vw,64px); line-height: 1.05; letter-spacing: -.045em; }
.section-heading>p:last-child { color: #98a5b5; font-size: 17px; }
.section-heading .eyebrow { justify-content: center; }.section-heading.left .eyebrow { justify-content: flex-start; }

.app-demo { max-width: 1480px; margin: auto; border: 1px solid #485461; border-radius: 10px; overflow: hidden; background: #20262e; box-shadow: var(--shadow); }
.window-titlebar { height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; background: #e9eef5; color: #15202c; font-size: 12px; }
.window-logo { display: flex; align-items: center; gap: 7px; }.window-logo img { width: 20px; height: 20px; }.window-controls { display: flex; gap: 18px; }.window-controls i { width: 11px; height: 11px; position: relative; }.window-controls i:first-child::after { content:""; position:absolute; top:8px; width:10px; height:1px; background:#26303b; }.window-controls i:nth-child(2) { border:1px solid #26303b; }.window-controls i:last-child::before,.window-controls i:last-child::after { content:""; position:absolute; top:5px; width:12px; height:1px; background:#26303b; transform:rotate(45deg); }.window-controls i:last-child::after { transform:rotate(-45deg); }
.menu-bar { height: 34px; padding: 0 15px; display: flex; align-items: center; gap: 26px; border-bottom: 1px solid #3b4652; background: #29313a; color: #b8c3d0; font-size: 12px; }
.toolbar { min-height: 55px; padding: 8px 14px; display: flex; align-items: center; gap: 7px; overflow-x: auto; border-bottom: 1px solid #3b4652; background: #29313a; white-space: nowrap; }
.toolbar button, .pdf-tools button { border: 0; border-radius: 5px; background: transparent; padding: 8px 11px; color: #b8c4d1; font-size: 11px; }.toolbar .compile { border: 1px solid #4d5a68; background: #343d49; }.toolbar .auto.active { border: 1px solid var(--blue); color: #7eb6ff; }.toolbar label { display: flex; align-items: center; gap: 6px; color: #8f9dae; font-size: 11px; }.toolbar label span { padding: 8px 12px; border: 1px solid #46515e; border-radius: 5px; background: #343d49; color: #c1ccd9; }.separator { width: 1px; height: 30px; margin: 0 4px; background: #3f4a56; }
.mode-tabs { display: flex; gap: 1px; border-bottom: 1px solid #44505c; background: #1e242b; }
.mode-tabs button { padding: 11px 18px; border: 0; border-bottom: 2px solid transparent; background: #252c35; color: #8f9cad; font-size: 11px; cursor: pointer; }.mode-tabs button[aria-selected="true"] { border-color: var(--blue); background: #2d3540; color: white; }
.editor-shell { --editor-ratio: 57%; height: 620px; display: grid; grid-template-columns: 190px minmax(280px,var(--editor-ratio)) 6px minmax(280px,1fr); background: #1e242b; }
.file-panel { border-right: 1px solid #3a4551; background: #252c34; }
.panel-title,.outline-title { padding: 13px 14px 9px; color: #748395; font-size: 9px; font-weight: 700; letter-spacing: .12em; }.outline-title { margin-top: 24px; border-top: 1px solid #37414c; }
.tree { padding: 0 9px; display: flex; flex-direction: column; gap: 3px; color: #a8b5c4; font-size: 11px; }.tree span { padding: 5px 8px; border-radius: 4px; }.tree .folder::before { content:"▸"; margin-right:7px; color:#6f7e90; }.tree .folder.open::before { content:"▾"; }.tree .file { padding-left: 27px; }.tree .file::before { content:"TEX"; display:inline-block; margin-right:7px; color:#65a7ff; font-size:7px; }.tree .selected { background:#34404c; color:white; }.outline span::before { content:"§"; margin-right:8px; color:#6e9fe0; }
.code-pane { min-width: 0; position: relative; display: flex; flex-direction: column; background: #29313a; }
.tab-strip { height: 35px; display:flex; align-items:end; background:#20262d; }.tab-strip span { height:35px; padding:10px 16px 0; color:#7f8c9d; font-size:10px; }.tab-strip .active { border-top:2px solid var(--blue); background:#29313a; color:#d7e0eb; }.tab-strip b { margin-left:14px; color:#788695; }
.code-lines { flex: 1; margin: 0; padding: 14px 12px 10px 52px; counter-reset: line; overflow:hidden; color:#d4dbe5; font: 12px/1.66 "Cascadia Code",Consolas,monospace; background: linear-gradient(90deg,#242b33 0,#242b33 40px,#29313a 40px); }.code-lines li { padding-left: 12px; white-space: nowrap; }.code-lines li::marker { color:#647284; }.code-lines em { color:#6caeff; font-style:normal; }.code-lines strong { color:#e59b36; font-weight:500; }.code-lines mark { background:transparent; color:#5cd2ad; }
.compile-log { min-height: 34px; padding: 0 13px; display: flex; align-items:center; justify-content:space-between; border-top:1px solid #3d4854; color:#72d8a4; font-size:10px; }.compile-log span:last-child { color:#7e8da0; }
.split-handle { position:relative; cursor: col-resize; background:#182028; outline:none; }.split-handle::after { content:""; position:absolute; inset:0 2px; background:var(--blue); opacity:.5; }.split-handle:hover::after,.split-handle:focus::after { opacity:1; box-shadow:0 0 12px rgba(47,134,246,.8); }
.pdf-pane { min-width:0; display:flex; flex-direction:column; background:#20262d; }
.pdf-tools { min-height:40px; display:flex; align-items:center; justify-content:center; gap:16px; border-bottom:1px solid #3b4652; color:#91a0b0; font-size:10px; }.pdf-tools button { background:#333c47; }.pdf-tools b { color:#c9d3de; font-weight:500; }
.page { width:min(72%,430px); aspect-ratio: .706; margin:28px auto; padding:48px 46px; color:#1d2229; background:#f7f7f5; box-shadow:0 10px 28px rgba(0,0,0,.38); font-family: Georgia,serif; }.page h3 { margin:0; text-align:center; font-size:20px; }.page .author { margin:10px 0 40px; text-align:center; font-size:10px; }.page h4 { margin:23px 0 10px; font-size:12px; }.page p { font-size:9px; line-height:1.75; }.equation { position:relative; margin:24px 0; text-align:center; font-size:15px; font-style:italic; }.equation span { position:absolute; right:0; font-size:9px; font-style:normal; }
.status-bar { height:29px; display:flex; justify-content:flex-end; align-items:center; gap:14px; padding:0 10px; border-top:1px solid #3c4753; color:#7d8c9d; background:#20262d; font-size:9px; }.status-bar span:first-child { margin-right:auto; padding:2px 8px; border:1px solid var(--blue); border-radius:4px; color:#7db4ff; }
.demo-note { display:flex; justify-content:center; gap:10px; margin:20px 0 0; color:#738296; font-size:13px; }.demo-note span { color:var(--blue); font-size:17px; }

.special-demo { height:620px; display:grid; grid-template-columns:230px 1fr; background:#1f252d; }.special-demo aside { padding:18px; border-right:1px solid #3d4854; background:#252d36; }.special-demo aside p { margin:4px 0 12px; color:#718195; font-size:9px; font-weight:700; letter-spacing:.13em; }.symbol-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:26px; }.symbol-grid span,.special-demo aside button { min-height:38px; display:flex; align-items:center; justify-content:center; border:1px solid #465363; border-radius:5px; background:#303945; font-size:16px; }.special-demo aside button { width:100%; margin:7px 0; color:#b5c2d0; font-size:11px; }.math-canvas { padding:70px; display:flex; align-items:center; flex-direction:column; }.math-input { width:min(760px,90%); padding:18px 20px; border:1px solid var(--green); border-radius:7px; color:#80e0c0; background:#252d36; font:14px "Cascadia Code",monospace; }.rendered-math { width:min(760px,90%); min-height:270px; margin-top:20px; display:flex; align-items:center; justify-content:center; color:#20252c; background:#fbfbf9; font:italic 34px Georgia,serif; box-shadow:0 14px 35px rgba(0,0,0,.28); }.math-canvas>span { margin-top:16px; color:#738397; font-size:11px; }
.tabular-demo { grid-template-columns:250px minmax(420px,1fr) minmax(340px,.8fr); }.two-col { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.special-demo aside .copy { margin-top:30px; border-color:var(--orange); background:var(--orange); color:white; }.table-work { border-right:1px solid #3e4955; }.table-heading { height:48px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid #414c58; color:#b8c4d1; font-size:11px; }.table-heading span { color:var(--orange); }.table-work>table { width:75%; margin:70px auto; border-collapse:collapse; color:#1e2329; background:white; font-size:11px; }.table-work th,.table-work td { padding:13px; border:1px solid #9da5ad; text-align:center; }.table-work th { background:#ebedf0; }.table-output { background:#1e242b; }.table-page { width:75%; min-height:380px; margin:28px auto; padding:55px 35px; color:#20252b; background:#fafaf8; box-shadow:0 10px 28px rgba(0,0,0,.35); }.table-page h4 { margin:0 0 35px; text-align:center; font:16px Georgia,serif; }.table-page table { width:100%; border-collapse:collapse; font:9px Georgia,serif; }.table-page th,.table-page td { padding:8px; border-top:1px solid #333; text-align:center; }.table-page tr:last-child td { border-bottom:1px solid #333; }

/* Math Workspace and Tabular Window: structured after the standalone V3.001 panels. */
.math-demo { grid-template-columns:minmax(300px,1.05fr) minmax(190px,.56fr) minmax(330px,1fr); color:#cbd5e1; }
.math-source-pane,.math-symbol-pane,.math-preview-pane,.tabular-center,.tabular-preview { min-width:0; display:flex; flex-direction:column; background:#252d36; }
.math-source-pane,.math-symbol-pane,.tabular-center { border-right:1px solid #3d4854; }
.math-format-bar,.math-preview-toolbar,.tabular-preview-toolbar { min-height:56px; padding:9px 12px; display:flex; align-items:center; gap:10px; border-bottom:1px solid #3d4854; background:#2d3742; }
.math-format-bar { justify-content:space-between; }.math-format-bar>div { display:flex; gap:5px; }
.math-format-bar button,.expression-tabs button,.expression-grid button,.math-symbol-pane button,.math-preview-toolbar button,.table-heading button,.latex-code-toolbar button,.tabular-preview-toolbar button { border:1px solid #4b5867; border-radius:6px; background:#343f4c; color:#cbd7e5; cursor:pointer; }
.math-format-bar button { min-width:29px; min-height:30px; padding:4px 7px; font-size:10px; }
.math-tips { padding:11px 14px; display:flex; flex-direction:column; gap:3px; border-bottom:1px solid #3d4854; background:#28323c; font-size:9px; line-height:1.45; }.math-tips b { color:#8fc0ff; font-size:10px; }.math-tips span { color:#9aa9ba; }.math-tips code { color:#e8a34a; }
.expression-builder { border-bottom:1px solid #3d4854; background:#29333e; }.math-panel-title { height:35px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #3d4854; color:#d8e4ef; font-size:10px; }.math-panel-title span { color:#7f8fa1; }
.expression-tabs { display:flex; gap:4px; padding:8px 10px 0; }.expression-tabs button { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:6px 5px; color:#8ea0b2; font-size:9px; }.expression-tabs button.active { border-color:#2f86f6; color:#e8f2ff; }
.expression-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:6px; padding:9px 10px 12px; }.expression-grid button { height:30px; font:13px Georgia,serif; }
.math-code-editor { flex:1; padding:11px 0; overflow:hidden; background:#202831; font:10px/1.8 "Cascadia Code",Consolas,monospace; }.math-code-editor div { display:flex; min-height:18px; white-space:nowrap; }.math-code-editor span { width:30px; flex:0 0 30px; padding-right:7px; color:#617386; text-align:right; user-select:none; }.math-code-editor code { padding-left:9px; color:#d6dee8; }.math-code-editor .math-highlight { color:#6dddb9; }
.math-log-line { height:31px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #3d4854; color:#78d8a8; background:#202831; font-size:9px; }.math-log-line span:last-child { color:#8ea0b2; }
.math-symbol-pane { padding-bottom:12px; }.math-symbol-pane>p { margin:15px 12px 8px; color:#8092a5; font-size:9px; font-weight:700; letter-spacing:.11em; }.math-symbol-pane .symbol-grid { grid-template-columns:repeat(3,1fr); gap:7px; margin:0 12px; }.math-symbol-pane .symbol-grid button { min-height:35px; font:17px Georgia,serif; }.wide-tool { width:calc(100% - 24px); min-height:32px; margin:5px 12px 0; text-align:left; padding:0 10px; font-size:10px; }
.math-preview-toolbar { justify-content:space-between; color:#9db0c2; font-size:10px; }.math-preview-toolbar>div { display:flex; align-items:center; gap:7px; }.math-preview-toolbar button { width:29px; height:29px; }.math-preview-toolbar b { font-size:10px; font-weight:500; color:#cbd7e3; }
.math-page { width:min(76%,390px); min-height:385px; margin:30px auto 14px; padding:42px 39px; color:#20252b; background:#fafaf8; box-shadow:0 12px 28px rgba(0,0,0,.32); font-family:Georgia,serif; }.math-page-kicker { margin:0 0 15px; color:#54789c; font:700 8px/1 sans-serif; letter-spacing:.2em; }.math-page h3 { margin:0 0 30px; font-size:21px; text-align:center; }.math-page p { font-size:10px; line-height:1.7; }.math-equation { margin:35px 0; text-align:center; font:italic 23px Georgia,serif; }.math-equation sub,.math-equation sup { font-size:12px; }.math-note { margin-top:38px; color:#66727e; }.math-preview-status { margin-top:auto; min-height:31px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #3d4854; color:#78d8a8; font-size:9px; }.math-preview-status span:last-child { color:#8ca0b4; }

.tabular-demo { grid-template-columns:minmax(260px,.8fr) minmax(440px,1.45fr) minmax(340px,.95fr); color:#cbd5e1; }
.tabular-builder { overflow:auto; padding:12px; background:#252d36; }.builder-title { margin:0 0 12px; color:#d7e1eb; font-size:14px; font-weight:700; }.tabular-builder section { margin-bottom:10px; padding:10px; border:1px solid #3f4b58; border-radius:7px; background:#2b3540; }.tabular-builder section>p { margin:0 0 8px; color:#8ea1b4; font-size:8px; font-weight:700; letter-spacing:.12em; }.create-row { display:grid; grid-template-columns:1fr 12px 1fr; align-items:end; gap:6px; }.create-row label { min-width:0; display:flex; flex-direction:column; gap:2px; color:#9cadbd; font-size:8px; }.create-row label b { padding:5px 6px; border:1px solid #4b5867; border-radius:4px; background:#303b47; color:#dbe5ef; font-size:10px; }.create-row>span { padding-bottom:6px; color:#728397; text-align:center; }.create-row button,.template-buttons button,.two-col button,.tabular-primary { border:1px solid #4d5b6a; border-radius:5px; background:#343f4c; color:#cbd6e1; font-size:9px; }.create-row button { grid-column:1/-1; height:31px; padding:0 8px; border-color:#e4962a; color:#ffd088; }.template-buttons,.two-col { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.template-buttons button,.two-col button { min-height:29px; padding:4px; }.tabular-primary { width:100%; min-height:31px; margin-top:6px; border-color:#e4962a; background:#c97816; color:white; font-weight:700; }.table-settings { display:grid; grid-template-columns:1fr; gap:7px; }.table-settings label { display:flex; align-items:center; justify-content:space-between; color:#a6b4c3; font-size:9px; }.table-settings b { min-width:75px; padding:5px 7px; border:1px solid #4c5968; border-radius:4px; background:#303b47; color:#d8e1eb; font-weight:500; }
.tabular-center { display:grid; grid-template-rows:52px minmax(0,1fr) 225px; }.table-heading { height:auto; padding:0 14px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #3f4b58; background:#2b3540; color:#d5e0eb; font-size:12px; }.table-heading>div { display:flex; gap:7px; }.table-heading button { min-height:29px; padding:0 10px; border-color:#d78a25; color:#f5af52; font-weight:700; }
.grid-workspace { display:flex; align-items:center; justify-content:center; padding:20px; overflow:auto; background:#202831; }.editable-grid { width:80%; min-width:330px; border-collapse:collapse; background:#f8fafc; color:#25313c; font:10px "Segoe UI",sans-serif; box-shadow:0 8px 20px rgba(0,0,0,.25); }.editable-grid th,.editable-grid td { height:35px; padding:7px 10px; border:1px solid #aeb8c3; text-align:center; }.editable-grid thead th,.editable-grid tbody th { background:#e8edf2; color:#596777; font-weight:600; }.editable-grid tbody tr:first-child td { background:#fff8ec; font-weight:700; }.editable-grid tbody tr:nth-child(3) td { outline:2px solid #e4962a; outline-offset:-2px; }
.latex-code-panel { min-height:0; border-top:1px solid #3d4854; background:#202831; }.latex-code-toolbar { height:48px; padding:0 12px; display:flex; align-items:center; gap:8px; border-bottom:1px solid #3d4854; background:#29333e; }.latex-code-toolbar button { min-height:30px; padding:0 11px; font-size:10px; }.latex-code-toolbar button.active { border-color:#e4962a; background:#d98921; color:white; }.latex-code-panel pre { margin:0; padding:12px 15px; overflow:hidden; color:#d9e1ea; font:10px/1.55 "Cascadia Code",Consolas,monospace; }.latex-code-panel pre::first-line { color:#eda342; }
.tabular-preview { background:#202831; }.tabular-preview-toolbar { gap:9px; color:#a8b5c2; font-size:10px; }.tabular-preview-toolbar button { min-height:29px; padding:0 10px; }.tabular-preview-toolbar span { padding:2px; }.tabular-preview-toolbar b { margin:0 3px; color:#d1dce7; font-weight:500; }.table-page { position:relative; width:78%; min-height:430px; margin:24px auto 12px; padding:60px 35px; color:#21262c; background:#fafaf8; box-shadow:0 10px 28px rgba(0,0,0,.35); }.table-page h4 { margin:0 0 35px; text-align:center; font:16px Georgia,serif; }.table-page table { width:100%; border-collapse:collapse; font:9px Georgia,serif; }.table-page th,.table-page td { padding:8px; border-top:1px solid #333; text-align:center; }.table-page tr:last-child td { border-bottom:1px solid #333; }.table-page small { position:absolute; bottom:16px; left:0; right:0; text-align:center; font:7px Georgia,serif; }.tabular-preview-status { margin-top:auto; min-height:31px; padding:0 12px; display:flex; align-items:center; border-top:1px solid #3d4854; color:#8fa1b4; font-size:9px; }

.editor-modes,.feature-section { padding:112px clamp(20px,6vw,100px); }
.editor-modes { background:#1d232a; }.mode-features { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.mode-features article { position:relative; min-height:315px; padding:30px; border:1px solid #3e4955; border-top:3px solid var(--blue); border-radius:8px; background:#252c34; }.mode-features .green { border-top-color:var(--green); }.mode-features .orange { border-top-color:var(--orange); }.mode-features .number { position:absolute; right:24px; top:19px; color:#4a5663; font-size:12px; }.mode-features i { width:46px; height:46px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(47,134,246,.45); border-radius:7px; color:var(--blue); background:rgba(47,134,246,.08); font-style:normal; font-weight:700; }.mode-features .green i { color:var(--green); border-color:rgba(25,184,138,.45); background:rgba(25,184,138,.08); }.mode-features .orange i { color:var(--orange); border-color:rgba(228,150,42,.45); background:rgba(228,150,42,.08); }.mode-features h3 { margin:26px 0 10px; font-size:23px; }.mode-features p { color:#94a2b2; }.mode-features button { position:absolute; left:30px; bottom:28px; border:0; background:transparent; color:#7eb7ff; font-weight:700; cursor:pointer; }.mode-features .green button { color:#62d7b3; }.mode-features .orange button { color:#f1b45f; }
.feature-section { background:#151a20; }.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.feature-grid article { padding:26px; border:1px solid #35404b; border-radius:8px; background:#1f252c; }.feature-icon { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:6px; color:#86baff; background:rgba(47,134,246,.12); font-size:19px; }.feature-grid h3 { margin:24px 0 10px; font-size:18px; }.feature-grid p { color:#8e9cac; font-size:14px; }
.download-section { padding:90px clamp(20px,7vw,120px); display:flex; align-items:center; justify-content:space-between; gap:50px; background:linear-gradient(135deg,#223047,#18202a); }.download-section h2 { margin:0 0 18px; font-size:clamp(40px,5vw,68px); line-height:1.05; letter-spacing:-.04em; }.download-section>div>p:last-child { color:#9caabc; }.download-card { min-width:min(100%,520px); padding:24px; display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:17px; border:1px solid #465568; border-radius:10px; background:#28323e; box-shadow:0 20px 45px rgba(0,0,0,.25); }.download-card img { width:58px; height:58px; }.download-card div { display:flex; flex-direction:column; }.download-card span { color:#8797a9; font-size:11px; }.download-card .button { font-size:12px; }
.download-card .download-count { margin-top:5px; color:#79d9ae; font-size:11px; font-weight:700; }
footer { min-height:110px; padding:0 clamp(20px,5vw,80px); display:flex; align-items:center; gap:25px; border-top:1px solid #303a45; color:#748295; background:#11161b; font-size:12px; } footer p { margin-left:auto; } footer>a { color:#9eacbc; }

@media (max-width: 1800px) and (min-width: 1101px) {
  .hero { grid-template-columns:1fr; padding-top:70px; }
  .hero-copy { max-width:720px; }
  .home-preview { width:min(100%,920px); transform:none; }
}

@media (max-width: 1100px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:65px; }.hero-copy { max-width:720px; }.home-preview { width:min(100%,920px); transform:none; }
  .home-grid { grid-template-columns:220px 1fr; }.template-panel { display:none; }
  .editor-shell { grid-template-columns:150px minmax(230px,var(--editor-ratio)) 6px minmax(230px,1fr); }
  .page { padding:35px 28px; }
  .mode-features,.feature-grid { grid-template-columns:repeat(2,1fr); }
  .download-section { align-items:flex-start; flex-direction:column; }.download-card { width:100%; }
}

@media (max-width: 720px) {
  .site-header { height:64px; padding:0 14px; gap:10px; }.brand .version { display:none; }.site-header .button { padding:0 11px; font-size:11px; }.header-actions { gap:6px; }.language-switch { min-width:34px; height:34px; border-radius:8px; font-size:11px; }
  .hero { padding:54px 16px 70px; }.hero h1 { font-size:clamp(45px,13vw,62px); }.hero-actions { align-items:flex-start; flex-direction:column; }.hero-facts { flex-wrap:wrap; gap:18px; }.hero-facts div { min-width:110px; }
  .home-preview { width:100%; min-width:0; min-height:0; transform:none; margin:0; }.home-grid { grid-template-columns:1fr; }.recent-panel,.template-panel { display:none; }.workspace-picker { min-height:0; }.hero { overflow:hidden; }
  .workspace-section { padding:82px 8px; }.section-heading { padding:0 12px; }.section-heading h2 { font-size:38px; }
  .app-demo { border-radius:6px; }.window-titlebar { font-size:9px; }.menu-bar { gap:15px; font-size:9px; }.toolbar { min-height:48px; }.toolbar button:nth-of-type(n+5),.toolbar .separator:last-of-type { display:none; }.mode-tabs button { flex:1; padding:10px 5px; font-size:9px; }
  .editor-shell { height:520px; grid-template-columns:minmax(180px,var(--editor-ratio)) 6px minmax(180px,1fr); overflow:auto; }.file-panel { display:none; }.code-lines { font-size:10px; padding-left:42px; }.page { width:88%; padding:30px 20px; }.page h3 { font-size:14px; }.pdf-tools { gap:10px; }
  .special-demo { height:520px; grid-template-columns:150px minmax(420px,1fr); overflow:auto; }.math-canvas { padding:40px 25px; }.tabular-demo { grid-template-columns:160px minmax(380px,1fr) minmax(320px,1fr); }
  .editor-modes,.feature-section { padding:80px 16px; }.mode-features,.feature-grid { grid-template-columns:1fr; }.mode-features article { min-height:270px; }
  .download-section { padding:70px 16px; }.download-card { grid-template-columns:52px 1fr; }.download-card .button { grid-column:1/-1; }.download-card img { width:52px; height:52px; }
  footer { padding:25px 16px; flex-wrap:wrap; } footer p { margin-left:0; width:100%; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

@media (max-width: 720px) {
  .math-demo { height:540px; grid-template-columns:minmax(270px,1fr) minmax(180px,.55fr) minmax(270px,1fr); overflow:auto; }
  .tabular-demo { height:540px; grid-template-columns:230px minmax(400px,1.35fr) minmax(300px,.9fr); overflow:auto; }
  .math-page { min-height:340px; padding:32px 26px; }
  .tabular-center { grid-template-rows:48px minmax(0,1fr) 190px; }
  .table-page { min-height:360px; margin-top:20px; padding:45px 24px; }
}
