:root{--paper:#fbfaf8;--paper-deep:#f3f1ed;--ink:#1e2225;--ink-soft:#1e22259e;--rule:#1e222529;--accent:#c8402a;--ok:#26a04d;--mono:ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}body{background-image:linear-gradient(var(--rule) .5px, transparent .5px), linear-gradient(90deg, var(--rule) .5px, transparent .5px);background-position:-1px -1px;background-size:32px 32px;min-height:100vh}main{padding:24px 24px 48px}header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;padding-bottom:12px;display:flex}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:600}h1{margin:4px 0 0;font-size:30px;font-weight:600}.muted{color:var(--ink-soft)}.small{font-size:13px}.card{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:24px}.narrow{max-width:440px}input{font:inherit;border:1px solid var(--rule);width:100%;color:var(--ink);background:#fff;border-radius:6px;padding:12px 14px}button{font:inherit;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:11px 20px;font-weight:600}button.filled{background:var(--ink);color:var(--paper)}button:disabled{opacity:.4;cursor:default}.quiet{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.small-button{border-width:1px;padding:6px 11px;font-size:13px}.small-button.danger{color:var(--accent);border-color:var(--accent)}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.row.tight{gap:6px;margin-top:10px}.spread{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tools{gap:6px;display:flex}.problem{color:var(--accent)}.problem:empty{display:none}.status{font-size:13px}.status.done{color:var(--ok)}.designs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.designs li a{border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:8px;flex-direction:column;gap:8px;padding:10px;text-decoration:none;display:flex}.designs li a:hover{border-color:var(--ink)}.designs .shot{aspect-ratio:4/3;background:var(--paper-deep);color:var(--ink-soft);border-radius:4px;justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.designs .shot img{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.35)}.designs .meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.designs .meta span:first-child{font-weight:600}.designs .sub{font:12px var(--mono);color:var(--ink-soft)}.hidden{display:none!important}.bar{z-index:5;background:var(--paper);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:10px 0;display:flex;position:sticky;top:0}.bar p{margin:0;font-size:14px}.save{flex-shrink:0;align-items:center;gap:12px;display:flex}.strip{align-items:flex-end;gap:10px;margin-bottom:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.thumb{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:flex-start;gap:5px;padding:0;font-weight:400;display:flex}.thumb canvas{outline:1px solid var(--rule);background:#fff;display:block}.thumb.current canvas{outline:2px solid var(--ink);outline-offset:2px}.thumb.over canvas{outline:2px dashed var(--ink);outline-offset:2px}.thumb .tname{font:500 11px/1.2 var(--mono);color:var(--ink-soft);align-items:center;gap:5px;display:flex}.thumb.current .tname{color:var(--ink);font-weight:600}.thumb .dot{background:var(--accent);border-radius:3px;width:6px;height:6px}.work{grid-template-columns:340px minmax(0,1fr) 360px;grid-template-areas:"stand stage design";align-items:start;gap:20px;display:grid}.panel-stand{grid-area:stand}.panel-design{grid-area:design}.stage{grid-area:stage;justify-content:center;min-width:0;display:flex}.stage .canvas-container{border-radius:4px}.stage.over{outline:2px dashed var(--ink);outline-offset:-2px}.panel{background:var(--paper);border:1px solid var(--rule);overscroll-behavior:contain;border-radius:8px;max-height:calc(100vh - 86px);padding:4px 16px;position:sticky;top:70px;overflow-y:auto}.block{border-bottom:1px solid var(--rule);padding:14px 0}.block:last-child{border-bottom:none}.block .label{margin-bottom:8px}.block p{margin:8px 0 0}.name{font:600 15px/1.2 var(--mono)}.swatch-group{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.swatch-group span{color:var(--ink-soft);width:100%;font-size:11px}.swatch{border:1px solid var(--rule);border-radius:4px;width:26px;height:26px;padding:0}.swatch.on{outline:2px solid var(--ink);outline-offset:2px}input[type=color]{cursor:pointer;flex:none;width:40px;height:34px;padding:2px}input.hex{width:110px;font:14px var(--mono);text-transform:uppercase;padding:6px 10px}input[type=range]{width:100%;accent-color:var(--ink);background:0 0;border:none;padding:0}#targets{flex-direction:column;gap:4px;max-height:180px;margin-bottom:6px;display:flex;overflow-y:auto}#targets label{font:13px var(--mono);cursor:pointer;align-items:center;gap:8px;display:flex}#targets input{width:auto;accent-color:var(--ink);margin:0}@media (width<=1280px){.work{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"stage design""stand design"}.panel-stand{max-height:none;position:static}}@media (width<=900px){.work{grid-template-columns:1fr;grid-template-areas:"stage""design""stand"}.panel{max-height:none;position:static}.bar{flex-direction:column;align-items:stretch}.save{justify-content:space-between}}@media (width<=520px){h1{font-size:24px}header{flex-direction:column}}.catcher{opacity:0;resize:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}.views{gap:2px;display:flex}.view-tab{color:var(--ink-soft);border:1px solid #0000;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500}.view-tab.on{border-color:var(--ink);color:var(--ink);font-weight:600}.drawing{outline:1px solid var(--rule);background:var(--paper-deep);border-radius:4px;position:relative;overflow:hidden}.drawing-inner{position:absolute}.drawing-inner img,.drawing-inner svg{width:100%;height:100%;display:block;position:absolute;inset:0}.mark{fill:#0000;stroke:#fbfaf8e6;stroke-width:1px;cursor:pointer}.mark:hover{fill:#fbfaf847;stroke-width:1.5px}.mark.current{fill:#c8402a38;stroke:var(--accent);stroke-width:2px;cursor:default}.mark.current.behind{fill:none;stroke-dasharray:4 3}#text-controls{border-top:1px dashed var(--rule);margin-top:12px;padding-top:12px}#text-words{border:1px solid var(--rule);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:6px;padding:8px 10px;font:14px/1.35 inherit}#text-font{border:1px solid var(--rule);min-width:0;color:var(--ink);background:#fff;border-radius:6px;flex:1;padding:6px 8px;font:13px inherit}.swatch-row{align-items:flex-start}.swatch-row .swatch-group{flex:1;margin:0}.small-swatch{width:22px;height:22px}#site summary{cursor:pointer;justify-content:space-between;list-style:none;display:flex}#site summary:after{content:"–";color:var(--ink-soft)}#site:not([open]) summary:after{content:"+"}input.site-url{flex:1;width:auto;min-width:0;padding:6px 10px;font-size:14px}.kit-label{color:var(--ink-soft);margin:12px 0 6px;font-size:11px}.kit-colours{flex-wrap:wrap;gap:6px;display:flex}.kit-logos{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.kit-images{grid-template-columns:repeat(3,1fr);gap:6px;max-height:300px;display:grid;overflow-y:auto}.kit-tile{border:1px solid var(--rule);aspect-ratio:4/3;background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.kit-tile.logo{background:var(--paper-deep)}.kit-tile.logo img{object-fit:contain;max-width:86%;max-height:70%}.kit-tile.photo img{object-fit:cover;width:100%;height:100%}.kit-tile:hover{border-color:var(--ink)}.kit-tile.busy{opacity:.4}.kit-fonts{flex-direction:column;gap:4px;display:flex}.kit-font{border:1px solid var(--rule);text-align:left;border-width:1px;justify-content:space-between;align-items:baseline;padding:6px 10px;font-weight:400;display:flex}.kit-font:hover{border-color:var(--ink)}.kit-font-name{font-size:20px;line-height:1.2}.kit-font-role{color:var(--ink-soft);font-size:11px}.kit-font.unloadable .kit-font-name{color:var(--ink-soft)}
