:root{--blue:#284f70;--blue-soft:#e9f1f7;--copper-accent:#d6976f;--navy:#172d3c;--ink:#263b45;--muted:#65777c;--paper:#f6f4ed;--line:#d6dde4;--teal:#284f70;--soft:#e9f1f7;--sand:#eee6d7;--copper:#aa5434;--white:#fff;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-underline-offset:4px}a:hover{color:var(--copper)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a,input,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b77750;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,4.8vw,4.65rem);line-height:1.08}h2{font-size:2rem;line-height:1.2}h3{font-size:1rem;line-height:1.5}p,li{line-height:1.8}ul,ol{padding-left:23px}li+li{margin-top:7px}.eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.small{font-size:.75rem;color:var(--muted);line-height:1.7}.skip{position:fixed;top:-80px;left:15px;background:#fff;padding:12px;z-index:99}.skip:focus{top:15px}.loading{max-width:850px;margin:10vh auto;padding:30px}.loading h1{margin:20px 0}.layout{padding-left:245px;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--navy);padding:28px 20px;color:#c7d3d5;display:flex;flex-direction:column;z-index:40}.brand{display:flex;gap:12px;color:#fff;text-decoration:none;align-items:center}.brand:hover{color:#e8cdb0}.brand-mark{width:38px;height:43px;border:1px solid #c7b49280;border-radius:18px 18px 5px 5px;display:grid;place-items:center;font:italic 28px Georgia,serif;color:#e0bd96}.brand-name{font-size:.85rem;line-height:1.5;font-weight:700}.sidebar .small{color:#a3b7bf;font-size:.66rem;margin-top:15px}.side-label{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#90a8b5;margin:34px 10px 10px}.side-nav{display:grid;gap:4px}.nav-btn,.side-link{display:block;border:0;background:none;border-radius:7px;color:#c7d3d7;text-decoration:none;padding:12px 11px;font-size:.76rem;text-align:left;width:100%;line-height:1.5}.nav-btn:hover,.side-link:hover{color:white;background:#ffffff0c}.nav-btn.active{color:var(--navy);background:#f4efe4;font-weight:700}.side-end{margin-top:auto;border-top:1px solid #ffffff20;padding:19px 10px 0;font-size:.64rem;line-height:1.8;color:#a4b9c0}.topbar{height:74px;border-bottom:1px solid var(--line);background:#fcfbf7;padding:0 42px;display:flex;justify-content:space-between;align-items:center;gap:15px}.breadcrumb{font-size:.72rem;color:var(--muted)}.breadcrumb span{margin:0 10px;color:#93a6ba}.top-note{font-size:.65rem;color:var(--teal);border:1px solid #c9d3dd;padding:6px 10px;border-radius:20px;background:#edf0f4}.menu-btn{display:none}.main{max-width:1400px;margin:auto;padding:40px 42px 65px;min-height:75vh}.hero{display:grid;grid-template-columns:1.55fr .75fr;gap:45px;border-bottom:1px solid var(--line);padding-bottom:30px;align-items:end}.hero .eyebrow,.page-head .eyebrow{color:var(--copper);margin-bottom:17px}.hero h1{max-width:780px}.hero p{font-size:.91rem;color:var(--muted);margin-top:20px;max-width:680px}.hero-aside{border-left:1px solid #c9d3dd;padding-left:23px}.hero-aside strong{display:block;font-size:.87rem;margin:10px 0}.hero-aside p{font-size:.76rem;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;align-items:center}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;min-height:42px;padding:11px 16px;border:1px solid #c4cfda;border-radius:7px;background:#fff;color:var(--ink);font-size:.76rem;font-weight:700;line-height:1.45}.btn:hover{background:#e9eef3;color:var(--ink)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:#2b4857}.btn.teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.small-btn{min-height:33px;padding:8px 11px;font-size:.68rem}.btn.ghost{background:transparent}.metrics{display:flex;gap:36px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line)}.metric{display:flex;gap:10px;align-items:center}.metric strong{font:28px Georgia,serif}.metric span{font-size:.7rem;color:var(--muted);line-height:1.5;max-width:120px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:32px 0 20px}.section-title h2{font-size:1.85rem}.section-title p{font-size:.76rem;color:var(--muted);max-width:470px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.two-col{display:grid;grid-template-columns:1.35fr .8fr;gap:25px;margin-top:27px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;min-width:0}.card h2{font-size:1.7rem}.card h3{margin:11px 0}.card p{font-size:.79rem;color:var(--muted);margin-top:11px}.card ul{font-size:.78rem;color:var(--muted)}.card.sand{background:var(--sand);border-color:#dfd6c4}.card.soft{background:var(--soft);border-color:#cbd4de}.card .actions{margin-top:18px}.tutorial-card{display:flex;flex-direction:column;align-items:flex-start}.tutorial-card h2{font-size:1.6rem;margin-top:15px}.tutorial-card p{flex:1}.pill{display:inline-block;border-radius:20px;background:#e4e9ed;color:#4f657b;padding:5px 8px;font-size:.6rem;font-weight:700;line-height:1.5}.pill.teal{background:var(--soft);color:var(--teal)}.pill.copper{background:#f6ecdf;color:#9c5c39}.task-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.chip{border:1px solid #cad3dd;background:#fff;color:var(--teal);border-radius:20px;padding:8px 11px;font-size:.69rem;line-height:1.5;cursor:pointer}.chip:hover,.chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.page-head{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:26px}.page-head h1{font-size:clamp(2.7rem,4vw,4rem);max-width:900px}.page-head p{font-size:.86rem;color:var(--muted);max-width:760px;margin-top:18px}.field{display:block;font-size:.78rem;font-weight:700;margin:20px 0 8px}.field .small{display:block;font-weight:400;margin-top:6px}.text-input,.task-input,.output-text{width:100%;border:1px solid #c6d0da;border-radius:8px;background:#fff;color:var(--ink);padding:13px;font-size:.83rem;line-height:1.75}.task-input{min-height:145px;resize:vertical}.text-input{min-height:44px}.output-text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;min-height:235px;resize:vertical;white-space:pre-wrap}.input-meta{display:flex;justify-content:space-between;gap:14px;font-size:.66rem;color:var(--muted);margin-top:7px}.toolset{border:0;margin:24px 0 0;padding:0}.toolset legend{font-size:.78rem;font-weight:700;padding:0;margin-bottom:11px}.tool-options{display:flex;gap:8px;flex-wrap:wrap}.tool-option{display:flex;gap:8px;align-items:center;border:1px solid #ccd6df;border-radius:7px;padding:11px 12px;font-size:.73rem;cursor:pointer;background:#fff}.tool-option:has(input:checked){background:#eaeef3;border-color:#8198af}.tool-option input{accent-color:var(--teal)}.notice{background:#ecf0f3;border:1px solid #cbd4dd;border-radius:9px;padding:15px 18px;font-size:.76rem;line-height:1.8;color:#364a5e;margin-top:20px}.notice.warning{background:#fbefe4;border-color:#e6d4be;color:#825739}.notice.error{background:#f9eae4;border-color:#e5c9ba;color:#8c4e35}.notice strong{display:block;margin-bottom:4px}.result{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.result-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.result-head h2{font-size:1.85rem}.reason{font-size:.73rem;color:var(--muted);margin-top:12px;line-height:1.8}.check-list{font-size:.78rem;color:var(--muted);padding-left:21px;margin-top:12px}.guide{border:1px solid var(--line);border-radius:10px;margin-top:15px;background:#fff;padding:0 20px}.guide summary{font-size:.77rem;font-weight:700;cursor:pointer;padding:17px 0;color:var(--teal)}.guide[open] summary{border-bottom:1px solid var(--line)}.guide-body{padding:0 0 18px;font-size:.79rem;line-height:1.85}.guide-body p{margin-top:13px}.source-inline{font-size:.67rem;line-height:1.7;color:var(--muted);margin-top:13px}.source-inline a{font-weight:500}.lesson{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:26px;align-items:start}.reading{background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px 31px}.reading h2{font-size:1.95rem;margin-bottom:18px}.reading h3{font-size:.92rem;margin-top:25px;margin-bottom:10px}.reading p,.reading li{font-size:.84rem;line-height:1.9}.reading p+p{margin-top:14px}.reading ol{padding-left:22px}.reading ol li+li{margin-top:16px}.exercise{background:var(--sand);border:1px solid #dfd4bf;border-radius:10px;padding:20px 23px;margin-top:23px}.exercise .eyebrow{color:#857052}.exercise p{margin-top:10px;font-size:.82rem}.model{border:1px solid #ced7e0;background:#edf1f5;border-radius:9px;padding:0 18px;margin-top:20px}.model summary{cursor:pointer;padding:15px 0;font-size:.78rem;font-weight:700;color:var(--teal)}.model p{padding:0 0 18px;margin:0;font-size:.82rem;line-height:1.9}.practice-check{display:flex;gap:10px;align-items:start;font-size:.77rem;line-height:1.8;margin-top:18px}.practice-check input{accent-color:var(--teal);margin-top:6px}.aside{position:sticky;top:24px}.aside .card+.card{margin-top:18px}.aside .card{padding:21px}.aside h2{font-size:1.5rem}.aside ul{font-size:.72rem}.source-list{list-style:none;padding:0;margin:0}.source-list li{border-top:1px solid var(--line);padding:17px 0;font-size:.78rem;line-height:1.8}.source-list li:first-child{border-top:0}.source-list p{font-size:.73rem;color:var(--muted);margin-top:5px}.workflow-row{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:25px}.workflow-row:first-child{border-top:0}.workflow-row h2{font-size:1.6rem;margin:11px 0}.workflow-row p{font-size:.77rem;color:var(--muted)}.workflow-row .output-text{min-height:200px}.format-table{width:100%;border-collapse:collapse;font-size:.77rem;line-height:1.8;margin-top:20px}.format-table td,.format-table th{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top}.format-table th{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.format-table td:first-child{font-weight:700;min-width:140px}.code{white-space:pre-wrap;overflow-wrap:anywhere;background:#162d3c;color:#dfe5eb;border-radius:9px;padding:20px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.73rem;line-height:1.8;margin-top:18px}.footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.66rem;color:var(--muted);line-height:1.8}.toast{position:fixed;bottom:24px;left:calc(50% + 110px);transform:translateX(-50%);padding:13px 20px;background:var(--navy);color:white;border-radius:8px;font-size:.76rem;max-width:90vw;z-index:99;opacity:0;pointer-events:none;transition:opacity .15s}.toast.visible{opacity:1}.fallback{margin-top:14px}.fallback .output-text{min-height:160px}.empty{padding:30px;border:1px dashed #b8c5d2;border-radius:10px;background:#f6f8fb;margin-top:23px}.empty p{font-size:.8rem;color:var(--muted);margin-top:12px}.status-line{font-size:.68rem;color:var(--teal);margin-top:13px}.step-index{display:inline-grid;place-items:center;background:#e5eaef;color:var(--teal);border-radius:50%;width:28px;height:28px;font-size:.75rem;margin-right:8px}.list-intro{margin-bottom:24px;font-size:.85rem;color:var(--muted)}
@media(max-width:1150px){.layout{padding-left:215px}.sidebar{width:215px;padding:25px 15px}.main{padding:32px 28px 50px}.topbar{padding:0 28px}.hero{gap:25px;grid-template-columns:1.5fr .8fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson{grid-template-columns:minmax(0,1fr) 215px;gap:20px}.reading{padding:25px}.two-col{gap:20px}}
@media(max-width:900px){.layout{padding-left:0}.sidebar{display:none;top:66px;box-shadow:8px 20px 30px #172d3c25;width:270px;overflow:auto}.sidebar.open{display:flex}.topbar{height:66px;position:sticky;top:0;z-index:45;padding:0 20px}.menu-btn{display:inline-grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy)}.top-left{display:flex;gap:12px;align-items:center}.side-end{margin-top:25px}.toast{left:50%}}
@media(max-width:720px){.main{padding:28px 20px 45px}.hero,.two-col,.lesson,.workflow-row{grid-template-columns:1fr}.hero{gap:25px}.hero h1{font-size:3.4rem}.hero-aside{padding-left:18px}.grid{grid-template-columns:1fr}.section-title{display:block}.section-title p{margin-top:12px}.aside{position:static}.aside .card{margin-top:20px}.reading{padding:23px 21px}.metrics{gap:24px}.page-head h1{font-size:3rem}.top-note{font-size:.57rem;padding:5px 8px}.breadcrumb{font-size:.65rem}.breadcrumb span{margin:0 6px}.result-head{display:block}.result-head .pill{margin-top:12px}.format-table{font-size:.7rem}.format-table td,.format-table th{padding:11px 6px}.format-table td:first-child{min-width:95px}.tool-options{display:grid;grid-template-columns:1fr 1fr}.tool-option{font-size:.68rem;padding:10px}.workflow-row{gap:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.actions,.footer,.toast,.skip{display:none!important}.layout{padding:0}.main{padding:0;max-width:none}.card,.reading{border:0;padding:10px 0}.grid,.lesson,.workflow-row{display:block}.aside{position:static}.output-text{border:1px solid #bbb;min-height:250px}h1{font-size:30pt}h2{font-size:20pt}body{background:#fff;color:#111}@page{margin:18mm}}
