:root{--blue:#193bd1;--ink:#101524;--paper:#f7f5ee;--red:#ee4d3c;--yellow:#ffd84d;--muted:#626879;--line:#c9c8c0;--max:1180px;font-family:"IBM Plex Sans",Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit}header{height:72px;max-width:var(--max);margin:auto;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--ink)}.logo{font-weight:950;letter-spacing:-.04em;text-decoration:none}.logo span,footer b span{color:var(--blue)}nav{display:flex;gap:26px}nav a{text-decoration:none;font-size:.88rem;font-weight:700}.local{justify-self:end;font:700 .74rem ui-monospace,monospace;color:var(--blue)}.hero{max-width:var(--max);margin:auto;padding:92px 24px 84px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.kicker,.section-title p{text-transform:uppercase;letter-spacing:.16em;font:700 .74rem ui-monospace,monospace;color:var(--blue)}.hero h1{font-size:clamp(3.5rem,8vw,7rem);line-height:.84;letter-spacing:-.065em;margin:24px 0 30px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.hero-copy>p:not(.kicker){font-size:1.2rem;max-width:630px;color:var(--muted)}.hero-copy>a{display:inline-block;margin-top:18px;background:var(--blue);color:white;text-decoration:none;font-weight:800;padding:14px 18px;border:2px solid var(--blue)}.hero-copy>a:hover{background:transparent;color:var(--blue)}figure{margin:0;background:var(--yellow);border:2px solid var(--ink);padding:26px;box-shadow:12px 12px 0 var(--blue);transform:rotate(1deg)}figure>span,figcaption{font:700 .72rem ui-monospace,monospace}blockquote{font:700 1.8rem/1.25 Georgia,serif;margin:38px 0}figcaption{border-top:1px solid var(--ink);padding-top:12px}.editor,.quality{padding:70px max(24px,calc((100vw - var(--max))/2 + 24px))}.editor{background:var(--ink);color:white}.section-title{display:flex;gap:18px;align-items:start;margin-bottom:32px}.section-title>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid currentColor;font:800 .85rem ui-monospace,monospace}.section-title p{margin:0 0 6px}.section-title h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.04em;margin:0}.editor-shell{display:grid;grid-template-columns:1fr 290px;border:1px solid #667080}.source-pane{padding:22px}.file-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.file-row span{margin-left:auto;color:#aeb5c2;font:600 .75rem ui-monospace,monospace}.file-button,.file-row button{border:1px solid #8c95a5;background:transparent;color:white;padding:9px 12px;cursor:pointer;font-weight:700}.file-button input{display:none}.source-pane>label{display:block;font:700 .75rem ui-monospace,monospace;color:#aeb5c2;margin-bottom:8px}.source-pane textarea,.output-pane textarea{width:100%;min-height:370px;resize:vertical;background:#090d17;color:#eef1f7;border:1px solid #485160;padding:18px;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.controls{border-left:1px solid #667080;padding:22px;background:#151b2a}.controls>label{display:block;margin-bottom:20px;font-size:.82rem;font-weight:800}.controls select,.controls input[type=number]{display:block;width:100%;margin-top:7px;padding:10px;background:#090d17;color:white;border:1px solid #5b6575}.controls .inline{display:flex;align-items:center;gap:8px}.controls .inline span{margin-top:7px}.controls .check{display:flex;align-items:center;gap:8px}.controls .check input{accent-color:var(--yellow)}.run{width:100%;padding:13px;background:var(--yellow);color:var(--ink);border:0;font-weight:900;cursor:pointer}.controls>p{font-size:.75rem;color:#9da5b4}.quality{background:var(--paper)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink);margin:35px 0}.metrics div{padding:24px;border-right:1px solid var(--ink)}.metrics div:last-child{border-right:0}.metrics strong,.metrics span{display:block}.metrics strong{font:800 2.7rem ui-monospace,monospace;color:var(--blue)}.metrics span{font-size:.8rem;text-transform:uppercase}.report-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.issues{border-top:4px solid var(--red)}.issues h3,.output-pane h3{font-size:1.25rem}.issues li{margin:12px 0;color:var(--muted)}.issues li.error{color:#b72920}.issues li.ok{color:#197146}.output-pane>div{display:flex;align-items:center;gap:8px}.output-pane h3{margin-right:auto}.output-pane button{background:transparent;border:1px solid var(--ink);padding:7px 10px;font-weight:700;cursor:pointer}.output-pane button:disabled{opacity:.4;cursor:not-allowed}.output-pane textarea{min-height:300px;background:white;color:var(--ink);border-color:var(--ink)}#status{min-height:1.2em;font-size:.82rem}.guide{max-width:var(--max);margin:auto;padding:80px 24px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.guide-grid article{padding:25px;border-right:1px solid var(--ink)}.guide-grid article:last-child{border-right:0}.guide-grid p,.note{color:var(--muted)}.note{border-left:4px solid var(--yellow);padding:14px 18px;margin-top:26px;background:white}footer{max-width:var(--max);margin:auto;padding:32px 24px;border-top:1px solid var(--ink);display:flex;justify-content:space-between}footer p{color:var(--muted)}footer>div:last-child{display:flex;align-items:center;gap:18px;font-size:.85rem}@media(max-width:800px){header{grid-template-columns:1fr auto}header nav{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.editor-shell,.report-grid{grid-template-columns:1fr}.controls{border-left:0;border-top:1px solid #667080}.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.guide-grid{grid-template-columns:1fr}.guide-grid article{border-right:0;border-bottom:1px solid var(--ink)}footer{display:block}footer>div:last-child{margin-top:20px;flex-wrap:wrap}}@media(max-width:520px){.file-row{align-items:stretch;flex-direction:column}.file-row span{margin-left:0}.hero h1{font-size:3.7rem}.metrics strong{font-size:2rem}}
