:root{--paper:#f6f3ed;--white:#fffefa;--ink:#212527;--muted:#646d6d;--line:#cbd1cc;--deep:#1c3938;--lime:#e9ef98;--orange:#995032;--font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{width:min(1190px,calc(100% - 52px));margin-inline:auto}.site-header{height:72px;border-bottom:1px solid var(--line);background:var(--white)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.075em}.brand span{font-weight:400;font-family:var(--serif);font-style:italic;letter-spacing:-.04em}.brand i{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);width:22px;height:22px;margin-left:6px;font-size:13px;font-style:normal}.nav-aside,.nav-link{color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.nav-link:hover{color:var(--deep)}.eyebrow{font:700 11px/1.4 var(--mono);letter-spacing:.12em;color:var(--orange);margin:0 0 17px}.home{padding:100px 0 85px;min-height:calc(100vh - 142px)}.home h1{font:400 clamp(58px,7.5vw,112px)/.98 var(--serif);letter-spacing:-.075em;margin:0}.home-lede{font-size:19px;color:var(--muted);max-width:620px;line-height:1.5;margin:30px 0 78px}.directory{max-width:930px;border-top:2px solid var(--ink)}.directory-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:var(--muted);font:11px var(--mono);letter-spacing:.07em}.directory-heading h2{font-size:12px;color:var(--ink);margin:0}.directory a{display:grid;grid-template-columns:52px 1fr 36px;gap:12px;align-items:center;text-decoration:none;padding:20px 0;border-top:1px solid var(--line)}.directory a:last-child{border-bottom:1px solid var(--line)}.directory a:hover strong,.directory a:hover em{color:var(--orange)}.directory b{font:13px var(--mono);color:var(--orange)}.directory a span{display:grid;gap:2px}.directory strong{font-size:21px;letter-spacing:-.04em}.directory small{font-size:13px;color:var(--muted)}.directory em{font-size:25px;font-style:normal}.small-note{color:var(--muted);font-size:12px;margin-top:22px}.site-footer{background:var(--white);border-top:1px solid var(--line);color:var(--muted);font-size:12px}.site-footer .wrap{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tool-main{padding-top:52px}.heading{max-width:770px;margin-bottom:43px}.heading h1{font:400 clamp(52px,6vw,88px)/1 var(--serif);letter-spacing:-.067em;margin:0}.heading>p:last-child{font-size:17px;color:var(--muted);max-width:670px;margin:18px 0 0}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pane{background:var(--white);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.pane-header{padding:19px 22px;border-bottom:1px solid var(--line)}.pane-header span{font:11px var(--mono);color:var(--orange)}.pane-header h2{font-size:17px;letter-spacing:-.035em;margin:6px 0 0}.pane textarea,.result{width:100%;min-height:330px;padding:24px;border:0;background:transparent;color:var(--ink);font:20px/1.55 var(--serif);resize:vertical;outline:none}.pane textarea:focus-visible{box-shadow:inset 0 0 0 2px var(--deep)}.pane textarea::placeholder,.result p{color:#646d6d}.result{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.result p{margin:0}.result p:not(:only-child){color:var(--ink)}.pane-footer{height:48px;padding:0 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px var(--mono);color:var(--muted)}.quiet-button{background:none;border:0;color:var(--deep);font:700 12px var(--font);padding:6px 0}.quiet-button:disabled{opacity:.4;cursor:default}.options{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:25px 0}.options label{font-size:13px;font-weight:700;min-width:100px}.options label small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.options input,.options select{height:43px;padding:8px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink);min-width:220px;flex:1}.options #challenge{min-height:1px}.run-button{min-height:43px;background:var(--deep);border:1px solid var(--deep);color:white;font-size:13px;font-weight:700;padding:10px 18px;white-space:nowrap}.run-button span{margin-left:16px}.run-button:hover:not(:disabled){background:#2e5652}.run-button:disabled{opacity:.55;cursor:not-allowed}.feedback{font-size:13px;color:var(--muted);margin:13px 0 0}.feedback.error{color:#a52d24}.feedback.good{color:#237149}.explanation{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:90px 0 105px}.explanation h2{font:400 43px/1.1 var(--serif);letter-spacing:-.05em;margin:0}.explanation p{color:var(--muted);font-size:15px;margin:0 0 18px}.explanation a{color:var(--deep);font-weight:700;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.workspace{grid-template-columns:1fr}.pane textarea,.result{min-height:250px}.options{align-items:start;flex-direction:column}.options input,.options select{width:100%;flex:auto}.explanation{gap:40px}}@media(max-width:600px){.wrap{width:min(100% - 32px,1190px)}.site-header{height:62px}.brand{font-size:18px}.home{padding-top:63px}.home h1{font-size:59px}.home-lede{font-size:16px;margin-bottom:55px}.directory strong{font-size:17px}.directory small{font-size:12px}.tool-main{padding-top:38px}.heading h1{font-size:54px}.heading>p:last-child{font-size:15px}.pane-header{padding:15px}.pane textarea,.result{padding:17px;font-size:18px}.pane-footer{padding-inline:15px}.explanation{grid-template-columns:1fr;padding:65px 0}.explanation h2{font-size:36px}.site-footer .wrap{min-height:70px;flex-direction:column;align-items:start;justify-content:center;gap:3px;padding-block:14px}}
