@font-face{font-family:Bungee;src:url('/assets/bungee/Bungee-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Y2Cairo;src:url('/assets/cairo/Cairo.ttf') format('truetype');font-display:block}
.pattern-studio{position:relative;min-height:calc(100vh - 80px);background:var(--paper)}.studio-active .controls,.studio-active .history-strip,.studio-active .ducks-panel,.studio-active .catalog,.studio-active .pagination,body.studio-active>footer{display:none!important}
.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:7px solid var(--ink);background:var(--white)}.studio-heading h1{margin:0;font:700 28px/1 Chicago,Geneva,sans-serif;letter-spacing:.06em}.studio-heading button,.studio-toolbar button,.studio-inspector button{padding:6px 9px;box-shadow:2px 2px 0 var(--shadow)}
.studio-toolbar{position:sticky;top:80px;z-index:12;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 18px;border-bottom:1px solid var(--ink);background:rgba(244,244,241,.96)}.studio-toolbar button:disabled{opacity:.35;box-shadow:none;cursor:default}.studio-toolbar .studio-download{margin-left:auto;background:var(--ink);color:var(--white)}.studio-toolbar .studio-download svg{stroke:currentColor}.studio-divider{width:1px;height:25px;margin:0 3px;background:var(--line)}
.studio-icon-button{display:grid;place-items:center;width:36px;height:32px;padding:3px!important}.studio-icon-button svg{width:28px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:miter}.studio-icon-button svg .solid{fill:currentColor}.studio-icon-button svg .checker,.studio-icon-button svg .tile{fill:currentColor;stroke:none;opacity:.45}.studio-icon-button[aria-pressed=true]{color:var(--white);background:var(--ink)}.studio-text-tool span{font:24px/.8 Bungee,sans-serif;color:transparent;-webkit-text-stroke:1.2px var(--ink)}
.studio-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 173px)}.studio-inspector{border-right:1px solid var(--ink);background:var(--white)}.studio-inspector section{padding:12px 14px;border-bottom:0}
.studio-patterns{position:relative;height:320px;overflow:hidden}.studio-pattern{position:absolute;left:var(--dump-left);top:var(--dump-top);z-index:var(--dump-z);width:var(--dump-size);height:var(--dump-size);padding:0;border:1px solid var(--ink);background-color:#fff;background-image:var(--pattern-image);background-size:16px 16px;image-rendering:pixelated;transform:rotate(var(--dump-rotate));box-shadow:2px 2px 0 var(--shadow)}.studio-pattern:hover,.studio-pattern:focus-visible{z-index:200!important}.studio-pattern[aria-pressed=true]{z-index:300!important;outline:4px solid var(--ink);outline-offset:1px;transform:rotate(0) translateY(-3px)}
.studio-object-controls{display:grid;place-items:center;min-height:92px}.studio-scale-control{display:grid;place-items:center;width:176px;height:44px}.studio-scale-control input{width:162px;height:28px;margin:0;appearance:none;background:repeating-linear-gradient(to bottom,#171717 0 1px,#fbfbf8 1px 3px);border:1px solid var(--ink)}.studio-scale-control input::-webkit-slider-thumb{appearance:none;width:16px;height:38px;border:1px solid var(--ink);background:repeating-linear-gradient(to right,#fbfbf8 0 2px,#777 2px 3px);box-shadow:1px 1px 0 var(--ink)}.studio-yinyang{font:27px/1 Georgia,serif;background:var(--white)}.studio-yinyang.pulse{animation:studio-flash .18s steps(2,end) 2}.studio-hand span{display:block;font:29px/1 Y2Cairo,sans-serif;-webkit-font-smoothing:none}.studio-hand-left span{transform:scaleX(-1)}.studio-icon-button.key-flash,.studio-download.key-flash{background:var(--ink);color:var(--white)}@keyframes studio-flash{50%{background:var(--ink);color:var(--white)}}
.studio-stage-wrap{min-width:0;padding:18px;overflow:auto;background-color:var(--paper);background-image:radial-gradient(var(--line) .7px,transparent .7px);background-size:9px 9px}.studio-stage{display:block;width:min(100%,calc((100vh - 230px)*1.545));min-width:680px;aspect-ratio:17/11;margin:auto;border:1px solid var(--ink);background:#fff;box-shadow:5px 5px 0 var(--shadow);touch-action:none}.studio-object{cursor:move}.studio-selection{pointer-events:none;fill:none;stroke:#171717;stroke-width:3;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.studio-handle{fill:#fbfbf8;stroke:#171717;stroke-width:3;vector-effect:non-scaling-stroke;cursor:nwse-resize}.studio-rotate-line{stroke:#171717;stroke-width:3;vector-effect:non-scaling-stroke}.studio-rotate{fill:#fbfbf8;stroke:#171717;stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.studio-help{margin:12px 0 0;text-align:center;font:8px/1.3 Monaco,monospace;letter-spacing:.08em}
.studio-dogcow{position:fixed;right:17px;bottom:15px;z-index:15;width:38px;height:38px;display:grid;place-items:center;color:var(--ink);text-decoration:none;background:var(--white);border:1px solid var(--ink);box-shadow:2px 2px 0 var(--shadow)}.studio-dogcow span{font:32px/1 Y2Cairo,sans-serif}.studio-text-dialog{width:min(440px,calc(100vw - 30px));padding:18px;border:1px solid var(--ink);box-shadow:6px 6px 0 #555}.studio-text-dialog::backdrop{background:rgba(0,0,0,.48)}.studio-text-dialog textarea{width:100%;padding:8px;font:18px Bungee,sans-serif;resize:vertical}.studio-text-dialog form>div{display:flex;justify-content:flex-end;margin-top:10px}.studio-text-dialog button{width:42px;height:34px;padding:0;box-shadow:2px 2px 0 var(--shadow)}.studio-text-create span{font:24px/1 Chicago,Geneva,sans-serif}
.module-ribbon .studio-mode{display:grid;place-items:center;width:28px;padding:0}.module-ribbon .studio-mode svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}.module-ribbon .studio-mode svg .paint-can{fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:850px){.module-ribbon{overflow-x:auto}.module-ribbon .boppers-mode{position:static;transform:none}.studio-toolbar{position:static}.studio-workspace{grid-template-columns:1fr}.studio-inspector{border-right:0;border-bottom:1px solid var(--ink)}.studio-inspector section:first-child{display:none}.studio-object-controls{min-height:76px}.studio-stage-wrap{padding:10px}.studio-stage{min-width:620px}.studio-toolbar .studio-download{margin-left:0}.studio-heading h1{font-size:22px}.studio-dogcow{position:absolute}}
