:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e7e2d6;background:#101b20;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,summary,textarea{outline-offset:4px}button{border:1px solid #546568;background:#1d3034;color:#f5e5cd;border-radius:5px;padding:9px 12px;cursor:pointer;transition:background .18s}button:hover{background:#345258}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #ffc680}a{color:inherit;text-decoration:none}main{min-height:100dvh;padding:24px 3.5vw}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #33474b;padding-bottom:20px;gap:16px}.brand{font-size:25px;letter-spacing:-2px}.brand span{font-size:13px;letter-spacing:.04em;margin-left:20px}.eyebrow,.sectiontitle{font-size:10px;letter-spacing:.15em;color:#a2b1ac}.intro{display:flex;align-items:end;justify-content:space-between;padding:40px 0;gap:30px}.intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,58px);line-height:1.05;letter-spacing:-.03em;margin:15px 0 0}.intro>p{max-width:310px;line-height:1.7;font-size:13px;color:#afbcb6}.studio{display:grid;grid-template-columns:225px minmax(300px,1fr) 220px;border:1px solid #385054;border-radius:8px;overflow:hidden}.studio aside{padding:22px;background:#142429}.output{padding:22px;min-width:0;background:#192c30}.sectiontitle{display:flex;justify-content:space-between;margin-bottom:18px}.source{position:relative;width:100%;aspect-ratio:1;box-shadow:0 0 0 1px #4b605d}.source canvas,.source svg{width:100%;height:100%;image-rendering:pixelated}.source svg{position:absolute;inset:0}.presets{display:flex;margin:12px 0;gap:4px}.presets button{font-size:11px;padding:7px}.upload{display:block;position:relative;font-size:12px;color:#f8d2a0}input[type=file]{width:100%;font-size:10px;margin-top:7px}.hint{font-size:10px;line-height:1.65;color:#a4b5af}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.numbers label,.toolbar label,details label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#adbfba;text-transform:capitalize}input:not([type=file]),textarea{width:100%;min-width:0;background:#0e1d22;border:1px solid #435c60;color:#e8e5d9;padding:7px;border-radius:4px}details{border-top:1px solid #365054;padding:14px 0;font-size:12px;line-height:1.6}summary{cursor:pointer}details button{font-size:11px;margin:6px 2px 0 0}.grow{background:#f5c58e;color:#203238;width:100%;font-weight:650;margin:7px 0 12px}.grow:hover{background:#ffdbad}.buttons{display:flex;gap:6px;margin:10px 0}.buttons button{font-size:11px}.art{aspect-ratio:1;position:relative;background:repeating-conic-gradient(#152328 0% 25%,#1b3035 0% 50%) 50%/20px 20px;box-shadow:0 12px 50px #09181b60}.art>canvas,.seam-overlay,.selected-patch{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.seam-overlay svg{width:100%;height:100%}.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.empty>span{font-size:70px;color:#edc18b}.empty h2{font-family:Georgia,serif;font-weight:400;font-size:26px}.empty p{font-size:12px;line-height:1.8;color:#99aca7}.status{font-size:12px;min-height:36px;color:#f4c890;line-height:1.6}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.toolbar input{max-width:90px}.toolbar button{font-size:11px}.export{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.export button{font-size:11px}.guide>canvas{width:100%;height:auto;image-rendering:pixelated;border-radius:4px}.guide>p{font-size:12px;line-height:1.7;color:#b1bfba}textarea{height:200px;font-family:monospace;font-size:10px;margin-top:10px;resize:vertical}footer{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#8ba49e;padding:22px 0;gap:15px}.working{animation:breathe 1.2s ease-in-out infinite}@keyframes breathe{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1050px){.studio{grid-template-columns:190px 1fr}.guide{grid-column:1/-1;display:block}.guide>canvas{width:160px}.intro>p{max-width:240px}}@media(max-width:650px){main{padding:16px}.studio{display:flex;flex-direction:column}.source{width:140px}.intro{display:block;padding:25px 0}.intro>p{max-width:none}.brand span{display:none}header .eyebrow{font-size:8px}header button{font-size:10px}.studio aside,.output{padding:18px}.numbers{grid-template-columns:repeat(3,1fr)}footer{flex-direction:column}}
