/*! Isopod, copyright (c) 2026 Nadav Cohen. All rights reserved. */
:root{--ui:#11141f;--ui2:#191d2c;--line:#2a3046;--fg:#e6e9f5;--dim:#8b93ad;--brand:#7c8cff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ui);color:var(--fg);font:13px/1.4 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{display:flex;align-items:center;font-weight:700;font-size:14px;letter-spacing:.2px;white-space:nowrap}.brand img{height:30px;margin:-6px 6px -6px 0}.brand span{color:var(--dim);font-weight:500;margin-left:6px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}label{color:var(--dim);display:flex;align-items:center;gap:5px;white-space:nowrap}select,button{font:inherit;color:var(--fg);background:var(--ui2);border:1px solid var(--line);border-radius:7px;padding:6px 10px;cursor:pointer}button:hover,select:hover{border-color:#46507a}button.primary{background:var(--brand);border-color:var(--brand);color:#0b0e1a;font-weight:600}.seg{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.seg button{border:0;border-radius:0;background:transparent;color:var(--dim)}.seg button:disabled{opacity:.4;cursor:default}#rotate button,#direction button{color:var(--fg);font-size:15px;line-height:1;padding:6px}#rotate button+button,#direction button+button{border-left:1px solid var(--line)}#direction button{color:var(--dim)}#direction button.on{color:var(--fg)}.tools{display:flex;gap:6px}.seg button.on{background:var(--ui2);color:var(--fg);box-shadow:inset 0 -2px 0 var(--brand)}.menu{position:relative}#export{min-width:92px}#export span{margin-left:3px}[role=menu]{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;min-width:170px;padding:4px;background:var(--ui2);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000059}[role=menu][hidden]{display:none}[role=menuitem]{border:0;background:transparent;text-align:left;white-space:nowrap;border-radius:5px}[role=menuitem]:hover,[role=menuitem]:focus-visible{background:var(--line);outline:0}input[type=range]{width:76px;accent-color:var(--brand)}main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,380px) 1fr}.editor{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0}textarea{flex:1;resize:none;border:0;outline:0;padding:16px;background:transparent;color:var(--fg);font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2;white-space:pre}#intro,#status,#legal{flex-shrink:0}#intro{position:relative;margin:12px 12px 0;padding:10px 34px 10px 12px;background:var(--ui2);border:1px solid var(--line);border-radius:8px;color:var(--dim);font-size:12px;line-height:1.5}#intro[hidden]{display:none}#intro p{margin:0}#intro p+p{margin-top:6px}#intro b{color:var(--fg)}#intro code{font:11.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--fg);overflow-wrap:anywhere}#intro-close{position:absolute;top:4px;right:4px;padding:0 7px;border:0;background:transparent;color:var(--dim);font-size:16px;line-height:22px}#intro-close:hover{color:var(--fg)}#status{padding:8px 16px;border-top:1px solid var(--line);color:var(--dim);font-size:12px;min-height:34px}#status.err{color:#ff8f8f}#status.warn{color:#ffcf70}#legal{padding:0 16px 8px;color:var(--dim);font-size:11px;opacity:.8}#legal a,#legal button{color:inherit;margin-left:4px}#legal button{font:inherit;padding:0;border:0;background:none;text-decoration:underline}#legal a:hover,#legal button:hover{color:var(--fg)}.stage g.n{cursor:pointer}.stage g.n:hover{filter:brightness(1.12)}#picker{position:fixed;z-index:10;width:236px;padding:10px;background:var(--ui2);border:1px solid #3a4266;border-radius:10px;box-shadow:0 12px 32px #00000073}#picker[hidden]{display:none}#picker h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#picker h4 b{color:var(--fg)}#picker .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}#picker button{padding:0;height:32px;display:grid;place-items:center;background:transparent;border-color:transparent}#picker button:hover{background:var(--ui);border-color:var(--line)}#picker button.on{border-color:var(--brand);background:var(--ui)}#picker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#picker .row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}#picker .row button{font-size:12px;border-color:var(--line);height:28px}#picker .row button.on{border-color:var(--brand)}#picker .tab[hidden]{display:none}#picker .swatch:after{content:"";width:22px;height:22px;border-radius:6px;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff2e}#picker .custom{justify-content:center;gap:6px;height:28px;border:1px solid var(--line);border-radius:7px;color:var(--fg);font-size:12px;cursor:pointer}#picker .custom:hover{border-color:#46507a}#picker .custom input{width:18px;height:18px;padding:0;border:0;background:none;cursor:pointer}#picker .tabs{margin-top:10px}#picker .tabs button{flex:1;height:28px;font-size:12px;border:0;border-radius:0;color:var(--dim)}#picker .tabs button.on{color:var(--fg);background:var(--ui);border:0;box-shadow:inset 0 -2px 0 var(--brand)}.stage{position:relative;min-height:0;min-width:0;display:flex;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.stage.panning,.stage.panning g.n{cursor:grabbing}#canvas{flex:1;min-width:0;min-height:0}.zoom{position:absolute;left:12px;bottom:12px;background:var(--ui2);cursor:default}.zoom button{color:var(--fg);min-width:30px;padding:5px 8px}#zoom-fit{min-width:52px;font-variant-numeric:tabular-nums;border-inline:1px solid var(--line)}.stage.checker{background:repeating-conic-gradient(#1d2132 0% 25%,#161a28 0% 50%) 0 0 / 24px 24px}.stage svg{width:100%;height:100%;display:block}.stage.loading:after{content:"Loading\2026";position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:13px;pointer-events:none;animation:im-loading 1.6s ease-in-out infinite alternate}@keyframes im-loading{0%{opacity:.35}to{opacity:1}}@media(prefers-reduced-motion:reduce){.stage.loading:after{animation:none}}@media(max-width:760px){main{grid-template-columns:1fr;grid-template-rows:auto minmax(300px,1fr);overflow:auto}textarea{min-height:180px}.editor{min-height:auto}.editor{border-right:0;border-bottom:1px solid var(--line)}.controls{margin-left:0}}
