:root{--bg: #d9dee4;--header: #1e3a5f;--header-fg: #ffffff;--text: #1a2430;--muted: #5b6b7c;--accent: #2b6cb0;--stage-top: #e8edf2;--stage-bottom: #d0d7df;--side-btn-bg: #eef2f6;--panel-bg: rgba(255, 255, 255, .94);--font: "DM Sans", system-ui, sans-serif;--chrome-opacity: 1}html.theme-dark{--bg: #121820;--header: #0f1722;--header-fg: #ffffff;--text: #e8eef5;--muted: #9aabbc;--accent: #5b9fd4;--stage-top: #1a222d;--stage-bottom: #141b24;--side-btn-bg: #243041;--panel-bg: rgba(24, 32, 42, .94)}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:var(--font);background:transparent;color:var(--text);overflow:hidden}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:linear-gradient(180deg,#f3f6fa,#e4eaf1);transition:opacity .35s ease,visibility .35s ease}.boot-screen.is-done{opacity:0;visibility:hidden;pointer-events:none}.boot-card{width:min(100%,260px);display:grid;justify-items:center;gap:.55rem;text-align:center}.boot-mark{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:#e8eef5;box-shadow:0 0 0 8px #1e3a5f14}.boot-title{margin:.35rem 0 0;font-size:1.05rem;font-weight:700;color:#1a2430}.boot-version{margin:0;font-size:.8rem;font-weight:500;color:#5b6b7c}.boot-bar{width:100%;height:8px;margin-top:.75rem;border-radius:999px;background:#d5dde6;overflow:hidden}.boot-bar-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#1e3a5f,#2b6cb0);transition:width .18s ease-out}.boot-error{margin:.35rem 0 0;font-size:.78rem;color:#b42318;line-height:1.35}.boot-error.hidden{display:none}html.theme-dark .boot-screen{background:linear-gradient(180deg,#1a222d,#121820)}html.theme-dark .boot-title{color:#e8eef5}html.theme-dark .boot-version{color:#9aabbc}html.theme-dark .boot-mark{background:#243041}html.theme-dark .boot-bar{background:#2a3544}.widget-shell{position:relative;display:grid;grid-template-rows:44px 1fr auto;height:100%;min-height:0;background:transparent}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:0 .75rem 0 1rem;background:color-mix(in srgb,var(--header) calc(var(--chrome-opacity) * 100%),transparent);color:var(--header-fg);z-index:2}.widget-brand{font-weight:700;letter-spacing:.02em;font-size:.9rem;white-space:nowrap}.icon-btn{width:32px;height:32px;border:0;border-radius:999px;background:color-mix(in srgb,var(--header-fg) 14%,transparent);color:var(--header-fg);font-size:1.35rem;line-height:1;cursor:pointer}.widget-side{position:absolute;top:64px;left:10px;z-index:5;display:flex;flex-direction:column;gap:.45rem}.side-btn{width:36px;height:36px;border:0;border-radius:999px;background:color-mix(in srgb,var(--side-btn-bg) calc(var(--chrome-opacity) * 100%),transparent);color:var(--muted);font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,calc(.12 * var(--chrome-opacity)))}.side-btn:hover{background:color-mix(in srgb,#fff calc(var(--chrome-opacity) * 100%),transparent);color:var(--accent)}html.theme-dark .side-btn:hover{background:color-mix(in srgb,#334155 calc(var(--chrome-opacity) * 100%),transparent)}.tools-wrap{position:relative}.tools-menu{position:absolute;top:0;left:calc(100% + 8px);display:flex;flex-direction:column;gap:.35rem;padding:.4rem;min-width:118px;border-radius:12px;background:color-mix(in srgb,var(--panel-bg) calc(var(--chrome-opacity) * 100%),transparent);border:1px solid rgba(30,58,95,calc(.14 * var(--chrome-opacity)));box-shadow:0 10px 28px rgba(0,0,0,calc(.18 * var(--chrome-opacity)));opacity:0;visibility:hidden;transform:translate(-6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:6}.tools-wrap:hover .tools-menu,.tools-wrap:focus-within .tools-menu,.tools-wrap.is-open .tools-menu{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.tool-btn{display:flex;align-items:center;gap:.45rem;width:100%;border:0;border-radius:8px;padding:.4rem .5rem;background:transparent;color:var(--text);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;text-align:left}.tool-btn svg{width:16px;height:16px;flex-shrink:0;opacity:.9}.tool-btn:hover,.tool-btn[aria-pressed=true]{background:#2b6cb024;color:var(--accent)}html.theme-dark .tool-btn:hover,html.theme-dark .tool-btn[aria-pressed=true]{background:#5b9fd42e}.tool-opacity{display:grid;gap:.25rem;padding:.35rem .45rem .45rem;border-top:1px solid rgba(30,58,95,.1);margin-top:.1rem}.tool-opacity-head{display:flex;align-items:center;gap:.45rem;color:var(--text);font-size:.72rem;font-weight:600}.tool-opacity-head svg{width:16px;height:16px;opacity:.9}.tool-opacity input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.widget-stage{position:relative;min-height:0;background:linear-gradient(180deg,color-mix(in srgb,var(--stage-top) calc(var(--chrome-opacity) * 100%),transparent),color-mix(in srgb,var(--stage-bottom) calc(var(--chrome-opacity) * 100%),transparent))}#canvas{display:block;width:100%;height:100%}.manual-panel{position:absolute;left:52px;right:12px;bottom:72px;z-index:4;display:grid;gap:.45rem;padding:.65rem;border-radius:12px;background:color-mix(in srgb,var(--panel-bg) calc(var(--chrome-opacity) * 100%),transparent);border:1px solid rgba(30,58,95,calc(.12 * var(--chrome-opacity)));box-shadow:0 8px 24px rgba(0,0,0,calc(.12 * var(--chrome-opacity)))}.manual-panel.hidden{display:none}.manual-panel textarea{width:100%;resize:vertical;min-height:56px;border:1px solid #c9d3de;border-radius:8px;padding:.55rem .65rem;font:inherit;background:#ffffffeb;color:var(--text)}html.theme-dark .manual-panel textarea{background:#0f1722e6;border-color:#334155;color:var(--text)}.btn-go{border:0;border-radius:999px;padding:.55rem .9rem;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.widget-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:color-mix(in srgb,var(--header) calc(var(--chrome-opacity) * 100%),transparent);color:var(--header-fg);z-index:2}.status{margin:0;font-size:.8rem;line-height:1.3;color:color-mix(in srgb,var(--header-fg) 90%,transparent);min-width:0}.status:empty{display:none}.footer-controls{display:flex;gap:.35rem;flex-shrink:0;margin-left:auto}.chip{border:0;border-radius:999px;padding:.35rem .65rem;background:color-mix(in srgb,var(--header-fg) 14%,transparent);color:var(--header-fg);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.chip:disabled{opacity:.45;cursor:not-allowed}
