/* Fluid — responsive CSS clamp generator. */
:root{color-scheme:dark;--bg:#0c0c0c;--bg-2:#111418;--border:rgba(255,255,255,.10);--border-strong:rgba(255,255,255,.16);--fg:#d8d8d8;--fg-dim:#9a9a9a;--fg-faint:#6e7278;--ink:#f2f2f2;--red:#cd3131;--green:#0dbc79;--yellow:#e5e510;--blue:#2472c8;--magenta:#bc3fbc;--cyan:#11a8cd;--bright-red:#f14c4c;--bright-green:#23d18b;--bright-yellow:#f5f543;--bright-blue:#3b8eea;--bright-magenta:#d670d6;--bright-cyan:#29b8db;--mono:ui-monospace,SFMono-Regular,"DejaVu Sans Mono",Menlo,Consolas,"Liberation Mono",monospace;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--fg);background:var(--bg)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(41,184,219,.06) 1px,transparent 1px);background-size:34px 34px;opacity:.5}
a{color:inherit}.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}:focus-visible{outline:2px solid var(--bright-cyan);outline-offset:2px}
header{display:flex;align-items:baseline;gap:16px;padding:22px clamp(20px,6vw,64px);border-bottom:1px solid var(--border)}
.brand{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none}.tool-name{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bright-cyan)}.tool-name::before{content:"/";color:var(--fg-faint);margin-right:14px}
main{flex:1;width:min(980px,100%);margin:0 auto;padding:36px clamp(20px,6vw,64px) 56px;display:flex;flex-direction:column;gap:22px}
h2{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);margin:0}
.controls{display:grid;grid-template-columns:1fr 1fr .8fr;gap:18px}.control-group{background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:20px;display:grid;grid-template-columns:1fr 92px;gap:12px 16px;align-items:center}.control-group h2{grid-column:1/-1;margin-bottom:4px}.control-group label{font-size:13px;color:var(--fg)}.control-group label span{font-family:var(--mono);font-size:10px;color:var(--fg-faint);text-transform:uppercase}.control-group input{width:100%;min-width:0;background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--ink);font-family:var(--mono);font-size:14px;padding:9px 10px}.root-group{grid-template-columns:1fr 92px;align-content:start}.root-group p{grid-column:1/-1;color:var(--fg-faint);font-size:12px;line-height:1.55;margin:4px 0 0}
.error{margin:0;color:var(--bright-red);font-family:var(--mono);font-size:12px;border:1px solid rgba(241,76,76,.35);border-radius:9px;padding:11px 14px;background:rgba(241,76,76,.07)}
.output{background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:20px}.output-head,.preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.output button{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0c0c0c;background:var(--bright-cyan);border:0;border-radius:8px;padding:9px 15px;font-weight:700;cursor:pointer}.output button:hover{background:#62cce6}.output code{display:block;color:var(--bright-green);font-family:var(--mono);font-size:clamp(14px,2vw,19px);line-height:1.55;overflow-wrap:anywhere}.status{min-height:16px;color:var(--fg-dim);font-family:var(--mono);font-size:11px;margin:10px 0 0}
.preview{background:var(--bg-2);border:1px solid var(--border);border-radius:14px;padding:20px}.preview-head output{font-family:var(--mono);font-size:12px;color:var(--bright-cyan)}input[type="range"]{width:100%;accent-color:var(--bright-cyan)}.ruler{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--fg-faint);margin-top:5px}.stage{margin-top:18px;height:210px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:#0c0c0c;overflow:hidden}.stage p{font-family:var(--mono);font-weight:700;line-height:1.15;color:var(--ink);margin:0;overflow-wrap:anywhere}
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.details div{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:5px}.details span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}.details strong{font-family:var(--mono);font-size:14px;color:var(--ink)}
footer{padding:20px clamp(20px,6vw,64px) 26px;border-top:1px solid var(--border);font-size:13px;color:var(--fg-dim)}footer a{color:var(--fg);text-decoration:none;font-family:var(--mono)}
@media(max-width:780px){.controls{grid-template-columns:1fr 1fr}.root-group{grid-column:1/-1}.details{grid-template-columns:1fr}.stage{height:170px}}
@media(max-width:520px){.controls{grid-template-columns:1fr}.root-group{grid-column:auto}.control-group{padding:17px}.preview,.output{padding:17px}.preview-head{align-items:flex-start;gap:14px}.preview-head output{text-align:right}.stage{padding:20px;height:150px}}
@media(prefers-reduced-motion:no-preference){.output button{transition:background .15s ease}}
