@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Thin.otf)format("opentype");font-weight:100;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-ThinItalic.otf)format("opentype");font-weight:100;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Book.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-BookItalic.otf)format("opentype");font-weight:400;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Regular.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-RegularItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Medium.otf)format("opentype");font-weight:600;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-MediumItalic.otf)format("opentype");font-weight:600;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Bold.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Heavy.otf)format("opentype");font-weight:800;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-HeavyItalic.otf)format("opentype");font-weight:800;font-style:italic}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-Black.otf)format("opentype");font-weight:900;font-style:normal}@font-face{font-family:Helveesti;src:url(/fonts/ABCHelveestiTrial-BlackItalic.otf)format("opentype");font-weight:900;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Thin.otf)format("opentype");font-weight:100;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-ThinItalic.otf)format("opentype");font-weight:100;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Book.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-BookItalic.otf)format("opentype");font-weight:400;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Regular.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-RegularItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Medium.otf)format("opentype");font-weight:600;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-MediumItalic.otf)format("opentype");font-weight:600;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Bold.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Heavy.otf)format("opentype");font-weight:800;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-HeavyItalic.otf)format("opentype");font-weight:800;font-style:italic}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-Black.otf)format("opentype");font-weight:900;font-style:normal}@font-face{font-family:Spikes;src:url(/fonts/ABCHelveestiSpikesTrial-BlackItalic.otf)format("opentype");font-weight:900;font-style:italic}:root{color:#151515;font-synthesis:none;background:#e9e8e1;font-family:Helveesti,Arial,sans-serif}*{box-sizing:border-box}body{background:#e9e8e1;min-width:320px;margin:0}button,textarea,input{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #ff4f00}.app{min-height:100vh;padding:20px}header{border-bottom:1.5px solid;justify-content:space-between;align-items:center;height:60px;display:flex}.brand{font-size:16px;font-weight:700}button{cursor:pointer;background:0 0;border:1.5px solid #151515;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 12px;transition:background .15s,color .15s,transform .15s;display:inline-flex}button:hover{color:#fff;background:#151515}button:active{transform:translateY(1px)}.export{color:#fff;background:#151515;min-width:148px}.workspace{grid-template-columns:280px 1fr;height:calc(100vh - 80px);min-height:620px;display:grid}.controls{border-right:1.5px solid;padding-right:20px;overflow-y:auto}.control-group{border-bottom:1px solid #15151559;padding:18px 0;position:relative}.control-group label,.group-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.input-group textarea{resize:none;text-transform:uppercase;background:0 0;border:0;border-bottom:1.5px solid;border-radius:0;width:100%;margin-top:10px;padding:4px 28px 8px 0;font-size:24px;font-weight:700;line-height:1}.counter{opacity:.55;font-size:9px;position:absolute;bottom:25px;right:0}.button-pair{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.button-pair button+button{border-left:0}.button-pair .active{background:#ff4f00}.source-toggle{margin-top:14px}.source-toggle.disabled{opacity:.35;cursor:default}.colors{gap:9px;display:grid}.color-control{border:1.5px solid;grid-template-columns:1fr auto 38px;align-items:center;height:44px;padding-left:10px;display:grid;overflow:hidden}.color-value{letter-spacing:.04em;opacity:.65;margin-right:8px;font-size:10px}.color-control input{cursor:pointer;background:0 0;border:0;width:38px;height:44px;padding:0}.color-control input::-webkit-color-swatch-wrapper{padding:0}.color-control input::-webkit-color-swatch{border:0}.swap{text-transform:uppercase;letter-spacing:.06em;border:0;justify-content:flex-start;min-height:24px;padding:0;font-size:10px}.swap:hover{color:#ff4f00;background:0 0}.sliders{gap:20px;display:grid}.range{gap:8px;display:grid}.range>span{justify-content:space-between;display:flex}.range b{font-weight:400}input[type=range]{appearance:none;background:#151515;width:100%;height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:#ff4f00;border:1.5px solid #151515;border-radius:50%;width:14px;height:14px}.toggle{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle input{opacity:0;position:absolute}.toggle i{border:1.5px solid;border-radius:20px;width:32px;height:18px;position:relative}.toggle i:after{content:"";background:#151515;border-radius:50%;width:10px;height:10px;transition:transform .18s;position:absolute;top:2.5px;left:3px}.toggle input:checked+i{background:#ff4f00}.toggle input:checked+i:after{transform:translate(14px)}.ratios{grid-template-columns:repeat(5,1fr);margin-top:12px;display:grid}.ratios button{min-height:34px;padding:0;font-size:10px}.ratios button+button{border-left:0}.ratios .active{color:#fff;background:#151515}.ratios button:disabled{opacity:.3;cursor:default;color:inherit;background:0 0}.mode-options{grid-template-columns:repeat(3,1fr);margin-top:12px;display:grid}.mode-options button{text-transform:capitalize;min-height:34px;padding:0;font-size:10px}.mode-options button+button{border-left:0}.mode-options .active{color:#fff;background:#151515}.font-options{grid-template-columns:repeat(2,1fr);margin-top:12px;display:grid}.font-options button{min-height:34px;padding:0;font-size:10px}.font-options button+button{border-left:0}.font-options .active{color:#fff;background:#151515}.font-options .spikes-label{font-family:Spikes,Helveesti,sans-serif;font-weight:900}.font-weight-control{border-bottom:1px solid #15151559;grid-template-columns:1fr auto;align-items:center;height:36px;margin-top:10px;display:grid}.font-weight-control select{text-align:right;cursor:pointer;background:0 0;border:0;min-width:105px;font-size:11px}.font-italic-control{margin-top:14px}.stage{grid-template-rows:30px minmax(0,1fr);min-width:0;padding-left:20px;display:grid}.stage-meta{text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:9px;display:flex}.canvas-wrap{background:#fff;place-self:center;max-width:100%;max-height:calc(100vh - 110px);position:relative;box-shadow:0 8px 30px #15151524}.canvas-wrap.dragging{outline-offset:4px;outline:3px solid #ff4f00}canvas{width:100%;height:100%;display:block}.empty-action{background:#ff4f00;position:absolute;top:calc(50% + 42px);left:50%;transform:translate(-50%,-50%)}.empty-action:active{transform:translate(-50%,calc(1px - 50%))}.drop-message{color:#151515;text-transform:uppercase;pointer-events:none;background:#ff4f00eb;place-items:center;font-size:clamp(28px,5vw,72px);font-weight:700;display:grid;position:absolute;inset:0}@media (width<=760px){.app{padding:12px}header{height:56px}.export{min-width:0}.workspace{border-top:1.5px solid;flex-direction:column-reverse;height:auto;min-height:0;display:flex}.controls{border-right:0;padding-right:0;overflow:visible}.stage{min-height:60vh;padding-left:0}.canvas-wrap{max-height:calc(60vh - 30px)}.ratio-group{padding-bottom:30px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
