:root{--bg:oklch(0.975 0.005 280);--ink:oklch(0.2 0.015 280);--muted:oklch(0.42 0.012 280);--muted-2:oklch(0.5 0.01 280);--line:oklch(0.9 0.008 280);--line-2:oklch(0.86 0.01 280);--panel:oklch(0.995 0.002 280);--field:oklch(0.975 0.005 280);--accent:oklch(0.52 0.17 262);--accent-hover:oklch(0.44 0.17 262);--danger:oklch(0.5 0.16 25);--ok:oklch(0.5 0.15 150);--white:oklch(0.99 0 0)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input{font:inherit}@keyframes lwFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes lwBar{0%{width:0}to{width:100%}}@keyframes lwShake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.page{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px clamp(20px,5vw,64px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px}.brand-name{font-size:19px;font-weight:800;letter-spacing:-.02em}.brand-accent{color:var(--accent)}.brand-tag{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.header-actions{display:flex;align-items:center;gap:14px}.header-link{font-size:13.5px;font-weight:500;color:oklch(.45 .01 280)}.header-link:hover{color:var(--ink)}.lang-btn{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.1em;padding:7px 11px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:oklch(.35 .01 280);cursor:pointer}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.main{flex:1 1;width:100%;max-width:1140px;margin:0 auto;padding:clamp(40px,7vw,88px) clamp(20px,5vw,64px) 72px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:clamp(32px,5vw,64px);gap:clamp(32px,5vw,64px);align-items:start}.eyebrow{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.hero h1{font-size:clamp(34px,4.4vw,52px);line-height:1.05;letter-spacing:-.03em;font-weight:800;margin:0 0 20px}.hero h1,.lede{text-wrap:pretty}.lede{font-size:16.5px;line-height:1.6;color:var(--muted);margin:0;max-width:44ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:clamp(22px,3vw,32px);box-shadow:0 1px 2px oklch(.2 .02 280/.04),0 18px 40px -24px oklch(.2 .02 280/.18)}.panel label{display:block;font-size:13px;font-weight:600;margin:0 0 4px}.hint{font-size:13px;line-height:1.5;color:var(--muted-2);margin:0 0 16px}.row{display:flex;flex-wrap:wrap;gap:10px}.code-input{flex:1 1 180px;min-width:0;font-family:JetBrains Mono,monospace;font-size:15px;letter-spacing:.12em;text-transform:uppercase;padding:14px 16px;border:1px solid var(--line-2);border-radius:9px;background:var(--field);color:var(--ink);outline:none}.code-input:focus{border-color:var(--accent);background:oklch(1 0 0)}.submit{flex:0 0 auto;font-size:14.5px;font-weight:600;padding:14px 22px;border:0;border-radius:9px;background:var(--accent);color:var(--white);cursor:pointer}.submit:hover{background:var(--accent-hover)}.submit:disabled{opacity:.7;cursor:wait}.error{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--danger);margin:14px 0 0;animation:lwShake .3s ease}.error-dot{width:6px;height:6px;border-radius:2px;background:oklch(.55 .18 25);flex:0 0 auto}.foot{font-size:12.5px;line-height:1.5;color:oklch(.55 .01 280);margin:18px 0 0;padding-top:16px;border-top:1px solid oklch(.92 .006 280)}.gallery{margin-top:clamp(56px,8vw,104px)}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.gallery-head h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.gallery-meta{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:oklch(.55 .01 280);margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));grid-gap:18px;gap:18px}.card{display:block;width:100%;text-align:left;padding:0;border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden;cursor:pointer;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.card:hover{border-color:oklch(.52 .17 262/.5);box-shadow:0 14px 30px -22px oklch(.2 .02 280/.35)}.card-preview{position:relative;height:132px;background:repeating-linear-gradient(135deg,oklch(.93 .012 280) 0 10px,oklch(.955 .008 280) 10px 20px);border-bottom:1px solid oklch(.92 .006 280)}.card-shot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:oklch(.58 .01 280);filter:blur(3px)}.card-shot.clear{filter:none}.card-badge{position:absolute;top:10px;right:10px;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:oklch(.2 .015 280/.82);color:var(--white)}.card-badge.live{background:oklch(.42 .12 150/.92)}.card-body{padding:16px 18px 18px}.card-client{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.card-title{font-size:15.5px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 10px}.card-meta{font-size:12.5px;color:oklch(.52 .01 280);margin:0}.footer{border-top:1px solid var(--line);padding:26px clamp(20px,5vw,64px);display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}.footer p,.footer span{font-size:12.5px;color:oklch(.52 .01 280);margin:0}.footer-links{gap:20px}.footer-links,.modal-backdrop{display:flex;align-items:center}.modal-backdrop{position:fixed;inset:0;z-index:40;background:oklch(.2 .015 280/.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;padding:24px}.modal{width:100%;max-width:460px;background:var(--panel);border-radius:16px;padding:clamp(26px,4vw,38px);box-shadow:0 40px 80px -30px oklch(.2 .02 280/.5);animation:lwFade .28s ease both}.modal-ok{font-size:11px;letter-spacing:.16em;color:var(--ok);margin:0 0 14px}.modal-client,.modal-ok{font-family:JetBrains Mono,monospace;text-transform:uppercase}.modal-client{font-size:10.5px;letter-spacing:.12em;color:var(--accent);margin:0 0 8px}.modal h3{font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}.modal-url{font-family:JetBrains Mono,monospace;font-size:12.5px;color:oklch(.45 .012 280);margin:0 0 22px;word-break:break-all}.bar{height:3px;border-radius:999px;background:oklch(.91 .008 280);overflow:hidden;margin-bottom:12px}.bar>span{display:block;height:100%;background:var(--accent);animation:lwBar 2.4s linear both}.modal-copy{font-size:13px;color:var(--muted-2);margin:0 0 22px}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-primary{font-size:14.5px;font-weight:600;padding:13px 20px;border-radius:9px;background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-hover);color:var(--white)}.btn-ghost{font-size:14.5px;font-weight:500;padding:13px 18px;border:1px solid var(--line-2);border-radius:9px;background:transparent;color:oklch(.35 .01 280);cursor:pointer}.btn-ghost:hover{border-color:oklch(.6 .01 280)}