:root{--bg:#f7f7f2;--line:#dadfd8;--ink:#25342f;--primary:#24594a;--muted:#52635b;--button-ink:#fff;--soft:#e9f0e9;--accent:#a04132}
:root[data-theme=dark]{--bg:#151d1c;--paper:#202c29;--line:#394b45;--ink:#f0f4ef;--muted:#bac9c0;--primary:#9edac3;--soft:#2a3c36;--button-ink:#132b22;--accent:#ffc4ac}
.tone-academico{--asset-tone:#745039;--asset-wash:#f4e8da}
.tone-matematicas{--asset-tone:#2d5485;--asset-wash:#e6edf9}
.tone-docentes{--asset-tone:#28654e;--asset-wash:#e3f1e8}
.tone-actividades{--asset-tone:#8c4235;--asset-wash:#f8e9e4}
.tone-organizacion{--asset-tone:#674d86;--asset-wash:#eee8f7}
.tone-ciencias{--asset-tone:#1e626b;--asset-wash:#e0f0f1}
:root [class*="tone-"]{--tone:var(--asset-tone);--wash:var(--asset-wash)}
:root[data-theme=dark] [class*="tone-"]{--tone:var(--primary);--wash:var(--soft)}
.topbar{box-shadow:0 2px 12px #24423408}
.nav-catalog{width:min(1050px,100%)}
.nav-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 22px}
.nav-group-heading{border-bottom:1px solid var(--line)}
.hero{padding-block:43px 30px}
.hero-copy h1{max-width:660px}
.hero-art{max-width:375px}
.categories{grid-template-columns:repeat(3,minmax(0,1fr))}
.tool-lead{display:block;margin:10px 0 25px}
.tool-title{display:flex;gap:15px;align-items:center}
.tool-title .category-icon{width:58px;height:58px;border-radius:17px}
.tool-category{color:var(--tone,var(--primary));font-size:.81rem;font-weight:700;text-decoration:none}
.tool-lead p{margin-top:11px;max-width:75ch}
.workspace{align-items:start;grid-template-columns:minmax(310px,.94fr) minmax(0,1.18fr);gap:20px}
.workspace-wide{grid-template-columns:1fr}
.editor,.result-panel{padding:0;border-radius:18px;box-shadow:0 4px 16px #1e332c09}
.editor{border-top:4px solid var(--tone,var(--primary))}
.workspace-head{display:flex;gap:10px;align-items:center;min-height:44px}
.editor .workspace-head,.result-top{padding:14px 18px;background:var(--soft);border-radius:14px 14px 0 0;border-bottom:1px solid var(--line)}
.result-top{margin:0}
.workspace-head h2,.editor .workspace-head h2{margin:0;font-size:1.05rem}
.workspace-mark{border-radius:9px;background:var(--paper);color:var(--tone,var(--primary));width:34px;height:34px;display:grid;place-items:center;font-size:1.12rem;font-weight:700}
.workspace-head .button{margin-left:auto;background:var(--paper);min-height:37px;font-weight:700;white-space:nowrap}
.editor form,.result-content{padding:18px}
.form-body,.print-fields,.row-fields{gap:14px}
.field{font-size:.86rem;gap:6px}
.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{min-height:46px;border-radius:10px;padding:9px 12px;background:var(--bg);box-shadow:0 1px 2px #17352608}
.field :is(input,textarea,select):focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.field small,.hint{font-size:.8rem}
.check-field{gap:9px;border-radius:8px;padding:6px 8px;background:var(--bg);min-height:39px}
.editor details{margin-top:13px;padding:9px 12px;background:var(--bg);border:1px solid var(--line);border-radius:10px}
.editor details summary{font-weight:700}
.editor form>.actions{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}
.actions button{min-height:43px;border-radius:9px}
.status:empty{display:none}
.status{padding:7px 10px;background:var(--soft);border-radius:7px}
.status.error{border-left:3px solid var(--accent);color:var(--accent)}
.empty-preview{min-height:265px;background:var(--bg);border-radius:13px}
.empty-icon{background:var(--wash,var(--soft));color:var(--tone,var(--primary));display:grid;place-items:center;height:52px;width:52px;border-radius:16px;font-size:1.5rem}
.answer-card{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--tone,var(--primary));border-radius:12px;padding:16px;margin:0 0 12px;overflow-wrap:anywhere}
.answer-card small{color:var(--muted);display:block;font-size:.8rem;font-weight:700;margin-bottom:4px}
.answer-card .big-result{font-size:clamp(1.35rem,4vw,2.15rem);margin:4px 0 8px}
.answer-steps{padding-left:1.25rem;margin:0}
.answer-steps li{margin:7px 0;overflow-wrap:anywhere}
.answer-stack{display:grid;gap:9px}
.answer-stack .answer-card{margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;margin-bottom:12px}
.stat-grid .answer-card{padding:10px;margin:0}
.stat-grid .big-result{font-size:1.18rem}
.editor-grid{display:grid;gap:8px}
.editor-grid .repeat-row{margin:0;padding:10px;border-radius:10px}
.editor-grid .repeat-row>p{font-weight:700;font-size:.83rem;margin-bottom:5px}
.output-scroll{overflow-x:auto;max-width:100%;margin-top:8px}
.result-table{width:100%;border-collapse:collapse;color:var(--ink);text-align:left;font-size:.9rem}
.result-table :is(th,td){padding:7px 9px;border-bottom:1px solid var(--line)}
.result-table th{background:var(--soft)}
.timeline-list{list-style:none;padding:0 0 0 15px;margin:10px 0 15px;border-left:2px solid var(--line)}
.timeline-list>li{position:relative;padding:7px 0 12px 8px;overflow-wrap:anywhere}
.timeline-list>li::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--primary);left:-20.5px;top:16px}
.timeline-list time{display:block;font-size:.8rem;font-weight:700;color:var(--primary)}
.periodic-wrap{overflow-x:auto;margin:12px 0 15px}
.periodic-grid{min-width:830px;display:grid;grid-template-columns:repeat(18,1fr);gap:4px}
.element-tile{appearance:none;color:var(--tile-ink);background:var(--tile-bg);border:1px solid #3f50423b;border-radius:7px;text-align:left;min-height:49px;padding:3px 4px}
.element-tile small{display:block;font-size:.64rem}
.element-tile strong{display:block;line-height:1.18;font-size:1.02rem}
.element-tile[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:-2px}
.periodic-grid.filtered{min-width:0;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}
.periodic-grid.filtered .element-tile{grid-area:auto!important}
.periodic-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 15px}
.periodic-details p strong{display:block;font-size:.83rem}
@media(max-width:950px){.workspace{grid-template-columns:minmax(270px,.92fr) minmax(0,1fr)}.workspace-wide{grid-template-columns:1fr}}
@media(max-width:760px){.nav-groups,.workspace{grid-template-columns:1fr}.nav-group-heading{border:0}.tool-lead{margin-top:4px}.workspace{gap:14px}.editor form,.result-content{padding:14px}.editor .workspace-head,.result-top{padding:12px 14px}.empty-preview{min-height:175px}.hero{padding-block:26px}.categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.form-body,.print-fields,.row-fields{grid-template-columns:1fr}.tool-title .category-icon{width:47px;height:47px}}
@media print{.result-content{padding:0}.result-panel{border:0;box-shadow:none}}
.copy-text{display:block;width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--bg);color:var(--ink);margin-bottom:12px;min-height:120px}
.apa-reference{padding-left:1.2rem;text-indent:-1.2rem;margin:6px 0 13px}
@font-face{font-family:"Raleway Dots";src:url("../fonts/RalewayDots-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
.timeline-art{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:9px;margin-bottom:12px}
.timeline-transcript{margin-top:12px}
