:root{
  --ink:#111;
  --paper:#f5f1e8;
  --yellow:#ffd52f;
  --pink:#ff5ca8;
  --blue:#5ce1e6;
  --white:#fffdf7;
  --border:3px solid var(--ink);
  --shadow:7px 7px 0 var(--ink);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}
body{font-family:"Space Grotesk",system-ui,sans-serif}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.topbar{height:72px;border-bottom:var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:var(--white)}
.brand{font-weight:800;font-size:20px;display:flex;align-items:center;gap:10px}
.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:var(--border);background:var(--pink);box-shadow:4px 4px 0 var(--ink);font-weight:900}
.status{font:500 12px "DM Mono",monospace}.status i{display:inline-block;width:9px;height:9px;border:2px solid var(--ink);background:#3cff72;border-radius:50%;margin-right:7px}
.wrap{width:min(1080px,92vw);margin:0 auto;padding:65px 0 35px}
.eyebrow{font:500 13px "DM Mono",monospace;display:inline-block;background:var(--yellow);border:var(--border);padding:8px 12px;box-shadow:4px 4px 0 var(--ink)}
.hero h1{font-size:clamp(54px,9vw,105px);line-height:.87;letter-spacing:-.065em;margin:27px 0 20px;font-weight:800}
.hero h1 span{background:var(--blue);padding:0 9px;border:var(--border);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero p{max-width:650px;font-size:18px;line-height:1.5;margin-bottom:45px}
.panel{background:var(--white);border:var(--border);box-shadow:var(--shadow);padding:25px}
.label,.panel-head{font:500 12px "DM Mono",monospace;letter-spacing:.08em}
.form-row{display:flex;gap:12px;margin-top:12px}
input,select{border:var(--border);background:#fff;padding:16px;font:600 17px "DM Mono",monospace;outline:none}
input{width:100%}input:focus{box-shadow:4px 4px 0 var(--blue)}
button{border:var(--border);background:var(--yellow);font:800 15px "Space Grotesk";padding:0 22px;cursor:pointer;box-shadow:5px 5px 0 var(--ink);transition:.1s;white-space:nowrap}
button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
button:active{transform:translate(5px,5px);box-shadow:0 0}
button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.controls{display:flex;align-items:center;gap:18px;margin-top:20px}.controls label{font:500 12px "DM Mono";display:flex;align-items:center;gap:8px}.controls select{padding:8px;font-size:13px}.hint{font:500 12px "DM Mono";opacity:.65}
.grid{display:grid;grid-template-columns:1.6fr .8fr;gap:22px;margin-top:25px}
.log-panel{padding:0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;border-bottom:var(--border);padding:14px 17px;background:var(--yellow)}
.logs{height:285px;overflow:auto;padding:15px;font:12px "DM Mono",monospace;background:#181818;color:#f4f4f4}
.log{padding:7px 0;border-bottom:1px solid #333}.log.success{color:#82ff9a}.log.warn{color:#ffe36d}.log.error{color:#ff7c93}.empty{opacity:.55;padding:10px}
.stats{padding:0;display:flex;flex-direction:column}.stats .panel-head{margin-bottom:0}.stat{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--ink);padding:17px}.stat strong{font-size:39px;line-height:1}.stat span{font:500 11px "DM Mono"}.download{margin:18px;height:54px;background:var(--pink)}
.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:27px}.tips div{border:var(--border);background:var(--blue);padding:15px;display:flex;gap:12px;font-size:13px;line-height:1.4}.tips b{font:700 12px "DM Mono"}code{font-family:"DM Mono"}
footer{border-top:var(--border);padding:25px 4vw;font:500 11px "DM Mono";display:flex;justify-content:space-between}
@media(max-width:750px){.form-row{flex-direction:column}.form-row button{height:55px}.grid,.tips{grid-template-columns:1fr}.wrap{padding-top:40px}.hero h1{font-size:56px}.hint{display:none}}
