.workspace-split{--text-pane-ratio:55%;grid-template-columns:minmax(0, var(--text-pane-ratio)) 10px minmax(0, 1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.workspace-split__pane{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.workspace-split__divider{z-index:8;border:0;border-right:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);background:var(--surface-2);cursor:col-resize;touch-action:none;place-items:center;width:10px;height:100%;display:grid;position:relative}.workspace-split__divider span{background:var(--ink-300);width:2px;height:34px;box-shadow:4px 0 var(--ink-300);border-radius:99px;transition:height .12s,background .12s;transform:translate(-2px)}.workspace-split__divider:hover span,.workspace-split__divider:focus-visible span{background:var(--accent-500);height:48px;box-shadow:4px 0 var(--accent-500)}.workspace-split__divider:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}.workspace-status{border-top:1px solid var(--border-subtle);background:var(--surface-0);min-height:30px;color:var(--ink-400);letter-spacing:.018em;white-space:nowrap;justify-content:space-between;align-items:center;padding:0 18px;font-size:11px;font-weight:620;display:flex}.workspace-status__group{align-items:center;gap:18px;display:flex}.workspace-status__save-state{color:var(--ink-600);align-items:center;gap:7px;display:inline-flex}.workspace-status__temporary-storage{color:var(--ink-500)}.workspace-status__temporary-storage.is-unavailable{color:#a54757}.workspace-status__dot{background:#36a177;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #36a1771f}.workspace-status__save-state.is-dirty .workspace-status__dot{background:#d28a35;box-shadow:0 0 0 3px #d28a351f}.granvas-app{background:var(--surface-0);width:100%;min-width:960px;height:100svh;min-height:600px;color:var(--ink-900);grid-template-rows:64px minmax(0,1fr) 30px;display:grid;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:20;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;justify-content:space-between;align-items:center;padding:0 18px 0 20px;display:flex;position:relative;box-shadow:0 1px #ffffffb8}.topbar:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-300) 48%, transparent 100%);opacity:.45;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.topbar__identity,.topbar__identity>div,.topbar__actions{align-items:center;display:flex}.topbar__identity{gap:11px}.topbar__identity>div{gap:14px}.brand-mark{background:linear-gradient(145deg,#7160cf,#4d3da1);border-radius:8px;width:27px;height:27px;display:block;position:relative;box-shadow:0 5px 14px #4e3da13d}.brand-mark span{background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 0 1px #ffffff2e}.brand-mark span:first-child{top:6px;left:6px}.brand-mark span:nth-child(2){top:11px;right:6px}.brand-mark span:nth-child(3){bottom:5px;left:8px}.brand-name{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.035em;font-size:18px;font-weight:800}.brand-tagline{border-left:1px solid var(--border-subtle);color:var(--ink-400);letter-spacing:.015em;padding-left:14px;font-size:11px;font-weight:560}.topbar__actions{gap:8px}.button{box-sizing:border-box;min-height:36px;font:680 12px var(--font-sans);letter-spacing:.005em;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 13px;transition:transform .12s,background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,.app-notice button:focus-visible,.download-dialog__close:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.button:disabled{cursor:wait;opacity:.58}.button--quiet{border-color:var(--border-subtle);background:var(--surface-0);color:var(--ink-700)}.button--quiet:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-1)}.button--primary{color:#fff;background:linear-gradient(#6755bf,#5544a7);border-color:#4d3da1;box-shadow:0 5px 13px #4e3da12e}.button--primary:hover:not(:disabled){background:linear-gradient(#705dca,#5948ad);box-shadow:0 7px 16px #4e3da13d}.workspace-panel{grid-template-rows:48px minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid}.workspace-panel__header{border-bottom:1px solid var(--border-subtle);background:var(--surface-0);justify-content:space-between;align-items:center;padding:0 16px 0 18px;display:flex}.workspace-panel__header>div{align-items:baseline;gap:9px;display:flex}.workspace-panel__header h2{color:var(--ink-800);font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:14px;font-weight:780}.workspace-panel__eyebrow{color:var(--accent-600);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.workspace-panel__meta,.projection-state{color:var(--ink-400);font-size:10px;font-weight:650}.projection-state{text-transform:capitalize;align-items:center;gap:6px;display:inline-flex}.projection-state>span{background:#36a177;border-radius:50%;width:6px;height:6px}.projection-state--projecting>span{background:var(--accent-500);animation:1s ease-in-out infinite projection-pulse}.projection-state--error>span{background:#c64d60}.projection-state--idle>span{background:var(--ink-300)}.workspace-panel__body{min-width:0;min-height:0;overflow:hidden}.panel-loading{background:var(--surface-1);width:100%;height:100%;color:var(--ink-400);place-items:center;font-size:12px;display:grid}.app-notice{z-index:120;box-sizing:border-box;border:1px solid var(--border-strong);max-width:min(420px,100vw - 36px);min-height:42px;color:var(--ink-700);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:11px;align-items:center;gap:12px;padding:9px 9px 9px 13px;font-size:12px;display:flex;position:fixed;bottom:46px;right:18px;box-shadow:0 14px 38px #1e23312e}.app-notice:before{content:"";background:#5586ba;border-radius:50%;flex:none;width:7px;height:7px}.app-notice--success:before{background:#36a177}.app-notice--error:before{background:#c64d60}.app-notice button{background:var(--surface-2);width:26px;height:26px;color:var(--ink-500);cursor:pointer;border:0;border-radius:7px;flex:none;place-items:center;font-size:17px;display:grid}@keyframes projection-pulse{50%{opacity:.35;transform:scale(.78)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--surface-0:#fff;--surface-1:#f7f8fb;--surface-2:#f1f2f6;--ink-900:#202331;--ink-800:#2d3142;--ink-700:#43495d;--ink-600:#51586b;--ink-500:#5f6678;--ink-400:#6a7181;--ink-300:#aeb3c0;--border-subtle:#e5e7ed;--border-strong:#ced2dc;--accent-100:#f0edff;--accent-300:#c2b9eb;--accent-400:#9485d5;--accent-500:#7160c8;--accent-600:#5b4bb0;--accent-700:#493b94;--selection:#7160c83b;--focus-ring:#7160c840;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Avenir Next", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--ink-900);background:var(--surface-1);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-width:960px;height:100%;min-height:600px;margin:0}body{overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{background:var(--selection)}
