:root{
  --ink:#171733;--muted:#747697;--line:rgba(75,69,132,.12);--paper:#fcfbff;
  --violet:#6f45ff;--violet2:#8c56ff;--magenta:#d14dff;--blue:#3f6df5;
  --navy:#0c1232;--navy2:#13143d;--panel:rgba(255,255,255,.78);
  --shadow:0 18px 48px rgba(29,24,84,.14);--soft:0 8px 24px rgba(42,35,104,.10);
  --grid:20px;--canvas-bg:#fcfbff;--canvas-grid:rgba(76,74,126,.13);
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 84% 12%,rgba(114,68,255,.22),transparent 28%),radial-gradient(circle at 0 100%,rgba(209,77,255,.14),transparent 31%),#0b102b}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{position:fixed;inset:18px;border:1px solid rgba(255,255,255,.25);border-radius:28px;background:rgba(239,239,255,.45);box-shadow:0 42px 110px rgba(5,7,30,.48),inset 0 0 0 5px rgba(255,255,255,.13);backdrop-filter:blur(22px);overflow:hidden}
.app{height:100%;display:grid;grid-template-columns:184px minmax(0,1fr) 250px;grid-template-rows:64px minmax(0,1fr);background:#f8f7ff}
.sidebar{grid-row:1/3;background:radial-gradient(circle at 110% 17%,rgba(213,73,255,.27),transparent 30%),linear-gradient(180deg,#11153e 0%,#0e1437 58%,#0a102d 100%);color:white;padding:20px 13px 14px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);min-width:0}
.brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:760;letter-spacing:-.035em;padding:0 9px 17px}.brand-icon{width:30px;height:30px;object-fit:contain}.nav{display:grid;gap:4px}.navbtn{border:0;color:#d4d6ee;background:transparent;text-align:left;padding:10px 10px;border-radius:10px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;font-size:12px;transition:.16s}.navbtn:hover{background:rgba(255,255,255,.06);color:white}.navbtn.active{background:linear-gradient(90deg,rgba(101,68,255,.30),rgba(204,67,255,.38));box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 8px 20px rgba(126,57,255,.16);color:white}.soon{font-size:8px;opacity:.55}.side-divider{height:1px;background:rgba(255,255,255,.08);margin:13px 4px}.side-heading{display:flex;align-items:center;justify-content:space-between;color:#9fa4ce;font-size:9px;font-weight:750;letter-spacing:.10em;padding:0 7px 6px}.side-heading button{border:0;background:transparent;color:#aeb3d7;font-size:16px}.project-list{display:grid;gap:3px}.project-item{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;color:#ccd0e7;border:0;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;font-size:11px}.project-item:hover,.project-item.active{background:rgba(255,255,255,.06);color:white}.project-dot{width:7px;height:7px;border-radius:50%;background:#8b63ff;box-shadow:0 0 0 1px rgba(255,255,255,.25)}.project-more{opacity:0}.project-item:hover .project-more{opacity:.8}.nav.compact .navbtn{padding-top:8px;padding-bottom:8px}.sidebar-spacer{flex:1}.status-card{margin:8px 0;padding:11px;border-radius:14px;background:linear-gradient(145deg,rgba(142,85,255,.18),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.11)}.status-card p{margin:7px 0 0;color:#bbbfd8;font-size:9px;line-height:1.45}.status-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#dddff0}.status-pill{background:rgba(138,77,255,.36);padding:3px 6px;border-radius:7px;color:white}.sidebar-bottom{display:flex;gap:7px;padding-top:5px}.sidebar-bottom button{width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:#aeb2d3}.sidebar-bottom button:hover{background:rgba(255,255,255,.06)}
.topbar{grid-column:2/4;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(280px,1fr);align-items:center;gap:12px;padding:0 15px;background:rgba(255,255,255,.89);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);z-index:30}.project-title-wrap{display:flex;align-items:center;min-width:0;gap:7px}.project-orbit{width:16px;height:16px;border:1.5px solid #59608f;border-radius:50%;position:relative;flex:0 0 auto}.project-orbit:after{content:"";position:absolute;left:-3px;right:-3px;top:6px;border-top:1px solid #59608f;transform:rotate(-25deg)}.project-title-input{border:0;background:transparent;color:#292a4a;font-weight:700;font-size:11px;min-width:0;width:150px;outline:none}.saved-badge{font-size:9px;color:#6844df;background:#f2edff;padding:5px 7px;border-radius:7px;white-space:nowrap}.toolbelt{height:43px;padding:5px;background:rgba(255,255,255,.84);border:1px solid rgba(90,80,150,.12);box-shadow:0 8px 22px rgba(60,52,120,.10);border-radius:13px;display:flex;align-items:center;gap:2px;backdrop-filter:blur(16px)}.tool{width:31px;height:31px;border:0;border-radius:8px;background:transparent;color:#3d3d62;font-size:15px;display:grid;place-items:center}.tool:hover{background:#f1eeff}.tool.active{background:linear-gradient(180deg,#efeaff,#e5e0ff);color:#6848ef;box-shadow:inset 0 0 0 1px rgba(111,69,255,.16)}.tool-divider{height:21px;width:1px;background:#ebe9f4;margin:0 2px}.top-actions{justify-self:end;display:flex;align-items:center;gap:7px}.ghost-btn{width:31px;height:31px;border:0;border-radius:8px;background:transparent;color:#575a7d}.ghost-btn:hover{background:#f4f1fb}.secondary-btn,.primary-btn{border:0;border-radius:8px;padding:9px 12px;font-size:10px;font-weight:700}.secondary-btn{background:#f5f3fa;color:#414262}.primary-btn{color:white;background:linear-gradient(135deg,#6038ed,#7d3cf6 58%,#8d46f9);box-shadow:0 8px 18px rgba(104,61,239,.22)}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#f6f4ff,#e8e4ff);display:grid;place-items:center;color:#24264c;font-size:10px;font-weight:750}
.workspace{position:relative;overflow:hidden;background:#f8f7ff}.canvas-viewport{position:absolute;inset:0;overflow:hidden;outline:none;cursor:default}.canvas-viewport.hand,.canvas-viewport.panning{cursor:grab}.canvas-viewport.panning{cursor:grabbing}.canvas{position:absolute;left:0;top:0;width:2400px;height:1600px;transform-origin:0 0;background-color:var(--canvas-bg);background-image:radial-gradient(circle,var(--canvas-grid) 1px,transparent 1.1px);background-size:var(--grid) var(--grid);box-shadow:0 0 0 1px rgba(70,65,120,.03) inset}.canvas.grid-off{background-image:none}.draw-layer,.object-layer,.selection-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.draw-layer{pointer-events:none}.object-layer{pointer-events:none}.selection-layer{pointer-events:none}.board-object{position:absolute;pointer-events:auto;user-select:none;touch-action:none;transform-origin:center center}.board-object.locked{cursor:not-allowed}.board-object.selected{outline:2px solid rgba(111,69,255,.70);outline-offset:2px}.board-object.editing{user-select:text}.note-object,.text-object{padding:12px;white-space:pre-wrap;overflow:hidden}.note-object{box-shadow:0 12px 24px rgba(44,38,93,.14);font-size:14px;line-height:1.4}.text-object{background:transparent!important;border-color:transparent!important;line-height:1.25}.frame-object{background:transparent!important;border-style:solid}.frame-label{position:absolute;left:8px;top:-23px;font-size:10px;font-weight:700;color:#5e5f82;background:rgba(252,251,255,.86);padding:3px 6px;border-radius:6px}.image-object{overflow:hidden}.image-object img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.shape-object{display:block}.shape-object.diamond{transform:rotate(45deg)}.shape-object.diamond .inner-counter{transform:rotate(-45deg)}.resize-handle{position:absolute;width:10px;height:10px;border-radius:50%;background:white;border:2px solid #6848ef;pointer-events:auto;z-index:9999;box-shadow:0 2px 5px rgba(45,39,110,.15)}.resize-handle.nw{cursor:nwse-resize}.resize-handle.ne{cursor:nesw-resize}.resize-handle.sw{cursor:nesw-resize}.resize-handle.se{cursor:nwse-resize}.marquee{display:none;position:absolute;border:1px solid rgba(111,69,255,.7);background:rgba(111,69,255,.08);pointer-events:none;z-index:9998}.marquee.show{display:block}.stroke-path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.stroke-path.selected{filter:drop-shadow(0 0 2px rgba(111,69,255,.7))}.connector-path{fill:none;stroke-linecap:round;pointer-events:stroke}.laser-path{fill:none;stroke:#ef3f80;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(239,63,128,.7));animation:laserFade 4s forwards}@keyframes laserFade{0%,55%{opacity:1}100%{opacity:0}}
.floating{position:absolute;z-index:20}.glass-card{background:rgba(255,255,255,.72);border:1px solid rgba(94,84,150,.12);backdrop-filter:blur(18px);box-shadow:var(--soft);border-radius:14px}.navigator{left:24px;bottom:24px;width:220px;padding:11px}.floating-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:8px}.mini-btn{border:0;background:transparent;color:#6e7090}.minimap{height:88px;border-radius:9px;background:linear-gradient(145deg,#efedff,#faf9ff);border:1px solid rgba(104,93,170,.10);position:relative;overflow:hidden}.minimap:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(99,88,160,.16) 1px,transparent 1px);background-size:10px 10px}.minimap-view{position:absolute;border:1px solid #8064ff;background:rgba(111,69,255,.08);z-index:2}.zoom-row{display:grid;grid-template-columns:30px 1fr 30px 30px;align-items:center;margin-top:7px}.zoom-row button{border:0;background:transparent;color:#505272}.zoom-row span{text-align:center;font-size:10px}.tool-hint{left:50%;bottom:26px;transform:translateX(-50%);padding:8px 12px;display:flex;align-items:center;gap:7px;color:#5a5b7a;font-size:10px;pointer-events:none}
.inspector{grid-column:3;grid-row:2;background:rgba(255,255,255,.86);border-left:1px solid var(--line);backdrop-filter:blur(18px);overflow:auto;z-index:25}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.92);z-index:2}.tabs button{border:0;background:transparent;padding:15px 5px 11px;font-size:10px;color:#555779;position:relative}.tabs button.active{color:#6141eb;font-weight:700}.tabs button.active:after{content:"";position:absolute;left:22%;right:22%;bottom:0;height:2px;background:#7249ff;border-radius:2px}.tab-panel{display:none}.tab-panel.active{display:block}.inspect-section{padding:17px 16px;border-bottom:1px solid rgba(80,74,132,.08)}.inspect-section h3{font-size:12px;margin:0 0 12px}.inspect-section p{font-size:10px;color:#7c7e9b;line-height:1.5}.empty-visual{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#f1edff,#faf8ff);color:#714cff;font-size:19px;margin-bottom:11px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{margin:0}.section-title span{font-size:9px;color:#8587a1}.field-label{display:block;font-size:9px;color:#777a96;margin:14px 0 7px}.four-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.four-grid label{display:flex;align-items:center;gap:5px;background:#f6f5fb;border:1px solid #ebe8f2;border-radius:8px;padding:6px}.four-grid span{font-size:9px;color:#85879e}.four-grid input{width:100%;border:0;background:transparent;outline:none;font-size:10px;color:#343552}.field-row{min-height:36px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;font-size:10px;color:#4d4f6d}.field-row input[type=color]{width:30px;height:24px;border:0;border-radius:6px;padding:0;background:transparent}.field-row input[type=range]{width:85px;accent-color:#7048ff}.field-row output{font-size:9px;color:#7b7d96}.field-row select{border:1px solid #e6e3ef;background:#f7f6fb;border-radius:7px;padding:6px;color:#4d4f6d;font-size:10px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.button-grid button,.wide-btn{border:1px solid #e5e2ef;background:#f8f7fb;border-radius:8px;padding:8px;font-size:9px;color:#4e4f6c}.danger-btn{width:100%;margin-top:7px;border:1px solid rgba(229,76,98,.18);background:#fff7f8;color:#c84458;border-radius:8px;padding:8px;font-size:9px}.layers-list{display:grid;gap:4px}.layer-item{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;border:1px solid transparent;background:#faf9fd;border-radius:8px;padding:7px;color:#52536f;font-size:9px}.layer-item:hover,.layer-item.active{border-color:#ded9fb;background:#f4f0ff}.layer-icon{width:17px;height:17px;border-radius:5px;background:#eeeaff;display:grid;place-items:center;color:#6b4cee}.layer-actions{display:flex}.layer-actions button{border:0;background:transparent;font-size:9px;color:#777993}.theme-swatches{display:flex;gap:6px}.theme-swatches button{width:27px;height:27px;border-radius:8px;border:1px solid rgba(80,75,120,.13);background:var(--sw);box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}.theme-swatches button.selected{outline:2px solid #744cff;outline-offset:1px}.switch{width:31px;height:18px;border:0;border-radius:20px;background:#d9d7e4;padding:2px;position:relative}.switch i{display:block;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.15s}.switch.on{background:#7b50ff}.switch.on i{transform:translateX(13px)}
.popover{display:none;position:fixed;z-index:200;background:rgba(255,255,255,.94);border:1px solid rgba(77,70,130,.14);box-shadow:0 16px 35px rgba(31,26,85,.16);backdrop-filter:blur(18px);border-radius:10px;padding:5px;min-width:130px}.popover.show{display:grid}.popover button{border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:7px;font-size:10px;color:#444560}.popover button:hover{background:#f1edff;color:#6848ef}
.modal{position:fixed;inset:0;background:rgba(11,11,34,.30);backdrop-filter:blur(8px);display:none;place-items:center;z-index:300}.modal.show{display:grid}.modal-card{width:min(470px,calc(100vw - 40px));padding:20px;border-radius:20px}.modal-head{display:flex;justify-content:space-between;gap:18px}.modal-head h2{margin:0 0 4px;font-size:18px}.modal-head p{margin:0;color:#777a95;font-size:10px;line-height:1.45}.close-btn{border:0;background:#f4f1fa;width:30px;height:30px;border-radius:9px;color:#5b5c78;font-size:18px}.export-options{display:grid;gap:8px;margin-top:17px}.export-options button{display:grid;gap:3px;text-align:left;padding:13px;border:1px solid #e8e4f0;border-radius:11px;background:#fbfaff;color:#383953}.export-options button:hover{border-color:#cfc6ff;background:#f6f2ff}.export-options strong{font-size:11px}.export-options span{font-size:9px;color:#777995}.share-placeholder{margin-top:17px;padding:22px;border-radius:14px;background:linear-gradient(145deg,#f0ebff,#fbfaff);display:grid;place-items:center;text-align:center;gap:5px}.share-placeholder span{font-size:25px;color:#6c48ed}.share-placeholder strong{font-size:11px}.share-placeholder small{color:#7f8199;font-size:9px}.shortcut-grid{display:grid;grid-template-columns:1fr auto 1fr auto;gap:7px 12px;margin-top:18px;align-items:center;font-size:10px}.shortcut-grid span{color:#535570}.shortcut-grid kbd{border:1px solid #ddd8e8;background:#f7f5fb;border-radius:6px;padding:4px 6px;font-size:8px;color:#5b5d77;white-space:nowrap}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,15px);opacity:0;z-index:500;background:#181a3e;color:white;padding:8px 12px;border-radius:10px;font-size:10px;box-shadow:0 10px 28px rgba(12,12,35,.30);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
body.focus-mode .sidebar,body.focus-mode .inspector{display:none}body.focus-mode .app{grid-template-columns:1fr;grid-template-rows:64px 1fr}body.focus-mode .topbar{grid-column:1}body.focus-mode .workspace{grid-column:1}
@media(max-width:1100px){.app-shell{inset:8px}.app{grid-template-columns:158px minmax(0,1fr) 220px}.tool{width:27px}.topbar{grid-template-columns:minmax(150px,1fr) auto minmax(210px,1fr)}.secondary-btn{display:none}.brand{font-size:18px}.saved-badge{display:none}}
@media(max-width:820px){.app-shell{inset:0;border-radius:0}.app{grid-template-columns:1fr;grid-template-rows:58px 1fr}.sidebar{display:none}.inspector{display:none}.topbar{grid-column:1;grid-row:1;grid-template-columns:1fr auto;padding:0 8px}.project-title-wrap{display:none}.toolbelt{justify-self:start;max-width:calc(100vw - 84px);overflow-x:auto}.top-actions{grid-column:2}.top-actions>:not(.avatar){display:none}.workspace{grid-column:1;grid-row:2}.navigator{width:180px;left:12px;bottom:12px}.tool-hint{bottom:14px}}
@media print{body{background:white;overflow:visible}.app-shell{position:static;inset:auto;border:0;box-shadow:none}.sidebar,.topbar,.inspector,.floating{display:none!important}.app{display:block}.workspace{height:100vh}.canvas-viewport{position:static;overflow:visible}.canvas{transform:none!important;position:relative;width:100%;height:auto;min-height:100vh;background-image:none}.board-object.selected{outline:none}.resize-handle{display:none}}
.text-controls{margin-top:2px}.align-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.align-row button{border:1px solid #e5e2ef;background:#f8f7fb;border-radius:7px;padding:7px;color:#52536f}.align-row button.active{background:#eee9ff;border-color:#d2c7ff;color:#6748e8}.canvas.drop-active:after{content:"Suelta la imagen para añadirla";position:absolute;inset:18px;border:2px dashed rgba(111,69,255,.55);border-radius:22px;background:rgba(111,69,255,.04);display:grid;place-items:center;color:#6447dd;font-size:18px;font-weight:700;pointer-events:none;z-index:99999}
.canvas-viewport{touch-action:none}

/* Interacción whiteboard v3 */
.canvas-viewport[data-tool="pen"],
.canvas-viewport[data-tool="highlighter"],
.canvas-viewport[data-tool="laser"],
.canvas-viewport[data-tool="eraser"],
.canvas-viewport[data-tool="arrow"],
.canvas-viewport[data-tool="shape"],
.canvas-viewport[data-tool="frame"]{cursor:crosshair}
.svg-hit-path{fill:none;stroke:rgba(0,0,0,.001);pointer-events:stroke;cursor:move}
.svg-hit-path:hover + .stroke-path,.svg-hit-path:hover + .connector-path{filter:drop-shadow(0 0 3px rgba(111,69,255,.45))}
.stroke-path,.connector-path{pointer-events:none}
.svg-selection-box{position:absolute;border:1.5px solid rgba(111,69,255,.72);background:rgba(111,69,255,.025);border-radius:4px;pointer-events:none;z-index:9996}
.connector-handle{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #6848ef;box-shadow:0 2px 7px rgba(45,39,110,.22);pointer-events:auto;z-index:10002;cursor:crosshair}
.selection-actions{position:absolute;display:flex;gap:3px;padding:4px;border:1px solid rgba(91,78,160,.16);border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(42,35,104,.13);backdrop-filter:blur(15px);pointer-events:auto;z-index:10004;transform:translateY(-100%)}
.selection-actions button{width:28px;height:27px;border:0;border-radius:7px;background:transparent;color:#555678;font-size:12px;display:grid;place-items:center}
.selection-actions button:hover{background:#f0ecff;color:#6848ef}.selection-actions .danger:hover{background:#fff0f3;color:#d74460}
.laser-segment{fill:none;stroke:#ef3f80;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(239,63,128,.72));pointer-events:none;animation:laserTrailFade 3.8s linear forwards}
@keyframes laserTrailFade{0%,45%{opacity:1}100%{opacity:0}}
.canvas-viewport.erasing{cursor:not-allowed}
.board-object.selectable-hover{outline:1px solid rgba(111,69,255,.28);outline-offset:2px}
.canvas-viewport[data-tool="select"] .board-object:not(.selected):hover{outline:1px solid rgba(111,69,255,.28);outline-offset:2px}
.svg-board-object{position:absolute;pointer-events:none;overflow:visible;touch-action:none}.svg-board-object.locked{cursor:not-allowed}.svg-item-canvas{position:absolute;inset:0;overflow:visible;pointer-events:none}.svg-item-canvas .svg-hit-path{pointer-events:stroke}.object-layer{z-index:1}.draw-layer{z-index:50000}.selection-layer{z-index:60000}

/* Orbitrama whiteboard v4 — infinite canvas, functional notes, frames and layers */
.workspace{background:var(--canvas-bg)}
.canvas-viewport{
  background-color:var(--canvas-bg);
  background-image:radial-gradient(circle,var(--canvas-grid) 1px,transparent 1.15px);
  background-size:var(--grid-screen,15px) var(--grid-screen,15px);
  background-position:var(--grid-x,0px) var(--grid-y,0px);
  transition:background-color .18s ease;
}
.canvas-viewport.grid-off{background-image:none}
.canvas{
  width:100000px;height:100000px;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}
.draw-layer,.object-layer,.selection-layer{overflow:visible}

.note-object{padding:0;overflow:visible;box-shadow:0 12px 28px rgba(44,38,93,.14),0 2px 5px rgba(44,38,93,.08);transition:box-shadow .15s,transform .15s}
.note-object:hover{box-shadow:0 16px 34px rgba(44,38,93,.18),0 3px 8px rgba(44,38,93,.09)}
.note-object:before{content:"";position:absolute;right:0;top:0;width:18px;height:18px;background:linear-gradient(225deg,rgba(255,255,255,.72) 0 49%,rgba(0,0,0,.055) 50% 100%);border-radius:0 8px 0 8px;pointer-events:none}
.note-content,.text-content{width:100%;height:100%;padding:14px;white-space:pre-wrap;overflow:auto;outline:none;cursor:text;line-height:1.42;scrollbar-width:thin}
.note-content:empty:before,.text-content:empty:before{content:attr(data-placeholder);color:rgba(60,57,95,.38);pointer-events:none}
.note-object.editing{outline:2px solid rgba(111,69,255,.72)!important;outline-offset:3px}
.note-object.editing .note-content{cursor:text;user-select:text}
.text-object{padding:0;overflow:visible}
.text-content{padding:4px 2px;overflow:visible;line-height:1.25}

.frame-object{border-width:1.5px!important;background:rgba(255,255,255,.035)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.frame-object.has-children{background:rgba(111,69,255,.018)!important}
.frame-label{top:-28px;left:4px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;background:rgba(250,249,255,.92);box-shadow:0 5px 16px rgba(42,35,104,.09);backdrop-filter:blur(12px);pointer-events:auto;white-space:nowrap}
.frame-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:8px;background:#ece7ff;color:#6748e8;font-size:8px;font-weight:800}
.frame-object.frame-drag-target{border-color:#6848ef!important;box-shadow:0 0 0 3px rgba(111,69,255,.10),inset 0 0 0 1px rgba(255,255,255,.2)}

.section-help{margin:7px 0 12px!important;font-size:9px!important;line-height:1.45!important}
.layers-list{gap:3px}
.layer-item{grid-template-columns:18px minmax(0,1fr) auto;padding:6px 7px;position:relative}
.layer-item.child-layer{margin-left:17px;background:#fcfbff}
.layer-item.child-layer:before{content:"";position:absolute;left:-10px;top:-4px;width:9px;height:17px;border-left:1px solid #ddd7f5;border-bottom:1px solid #ddd7f5;border-radius:0 0 0 7px}
.layer-item.hidden-layer{opacity:.48}
.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.layer-actions{gap:1px}
.layer-actions button{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10px}
.layer-actions button:hover{background:#ece7ff;color:#6848ef}

.custom-swatch{width:27px;height:27px;border-radius:8px;border:1px dashed rgba(80,75,120,.25);display:grid;place-items:center;position:relative;overflow:hidden;color:#6b4cee;cursor:pointer;background:#faf9ff}
.custom-swatch input{position:absolute;inset:0;opacity:0;cursor:pointer}
.custom-swatch span{font-size:15px;line-height:1}
.canvas-infinite-badge{margin:13px 0 6px;padding:10px;border-radius:11px;background:linear-gradient(145deg,#f1edff,#faf9ff);border:1px solid #e7e1ff;display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center}
.canvas-infinite-badge>span{width:30px;height:30px;border-radius:9px;background:#e5ddff;color:#6848ef;display:grid;place-items:center;font-size:18px;font-weight:700}
.canvas-infinite-badge strong{display:block;font-size:10px;color:#454663}.canvas-infinite-badge small{display:block;margin-top:2px;color:#82849c;font-size:8px;line-height:1.35}
.frame-preset-row{display:grid;grid-template-columns:1fr auto;gap:6px}.frame-preset-row select{min-width:0;border:1px solid #e6e3ef;background:#f7f6fb;border-radius:8px;padding:8px;color:#4d4f6d;font-size:9px}.frame-preset-row button{border:0;border-radius:8px;padding:8px 10px;background:#eee9ff;color:#6848ef;font-size:9px;font-weight:700}

@media print{.canvas-viewport{background-image:none!important;background:#fff!important}.canvas{width:auto!important;height:auto!important}}
.layer-name{border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer;min-width:0}


/* Orbitrama Whiteboard v5 — Manipulation Engine */
.resize-handle.n,.resize-handle.s{cursor:ns-resize}
.resize-handle.e,.resize-handle.w{cursor:ew-resize}
.rotation-handle{position:absolute;width:14px;height:14px;border-radius:50%;background:linear-gradient(145deg,#fff,#f1edff);border:2px solid #6848ef;box-shadow:0 3px 10px rgba(45,39,110,.22);pointer-events:auto;z-index:10003;cursor:grab}
.rotation-handle:active{cursor:grabbing}
.rotation-handle:before{content:"";position:absolute;width:1px;height:18px;background:rgba(104,72,239,.55);left:50%;top:12px;transform:translateX(-50%)}
.smart-guide{position:absolute;pointer-events:none;z-index:9995;background:#e14dff;box-shadow:0 0 0 1px rgba(225,77,255,.08)}
.smart-guide.vertical{top:-50000px;height:100000px;width:1px}
.smart-guide.horizontal{left:-50000px;width:100000px;height:1px}
.board-object.grouped:after{content:"";position:absolute;inset:-3px;border:1px dotted rgba(111,69,255,.0);pointer-events:none;transition:border-color .12s}
.canvas-viewport[data-tool="select"] .board-object.grouped:hover:after{border-color:rgba(111,69,255,.34)}
.layer-item.grouped-layer .layer-icon{color:#6f45ff}
.rotation-row{grid-template-columns:auto 1fr auto}.rotation-row input{width:70px!important}.rotation-row small{color:#7d7f99;font-size:9px}
.manipulation-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:5px 0 7px}
.manipulation-grid button{height:30px;border:1px solid #e4e0ef;border-radius:7px;background:#f8f7fb;color:#565875;font-size:13px}.manipulation-grid button:hover{background:#eee9ff;color:#6748e8;border-color:#d5cbff}
.distribute-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 7px}.distribute-grid button{border:1px solid #e4e0ef;border-radius:7px;background:#f8f7fb;color:#565875;padding:7px 5px;font-size:8px}.distribute-grid button:hover{background:#eee9ff;color:#6748e8}
.svg-selection-box{box-shadow:0 0 0 1px rgba(255,255,255,.75) inset}
.selection-actions{max-width:240px}
@media(max-width:820px){.rotation-handle,.smart-guide{display:none}}
.manipulation-grid button:disabled,.distribute-grid button:disabled,.button-grid button:disabled{opacity:.38;cursor:not-allowed;background:#f7f6fa;color:#9697a8}

/* Orbitrama Whiteboard v6 — Performance & Navigation Engine */
.navigator{width:246px}
.minimap{height:104px;cursor:crosshair;isolation:isolate}
#minimapCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.minimap:after{z-index:0;opacity:.6}
.minimap-view{z-index:3;pointer-events:auto;cursor:grab;border:1.5px solid #7558f4;background:rgba(111,69,255,.10);box-shadow:0 0 0 1px rgba(255,255,255,.7) inset}
.minimap-view:active{cursor:grabbing}
.navigator-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 1px 0;color:#8586a0;font-size:8px;line-height:1.2}
.navigator-meta span:first-child{color:#625f86;font-weight:700}
.zoom-row-v6{grid-template-columns:30px 1fr 30px 30px 30px}
.zoom-row-v6 button{height:28px;border-radius:7px;transition:.14s}
.zoom-row-v6 button:hover{background:#efebff;color:#6848ef}
.navigator-actions{display:grid;grid-template-columns:28px 28px minmax(0,1fr) 28px 28px;gap:3px;align-items:center;margin-top:5px}
.navigator-actions button{height:27px;border:0;border-radius:7px;background:transparent;color:#626482;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.navigator-actions button:hover:not(:disabled){background:#efebff;color:#6848ef}
.navigator-actions button:disabled{opacity:.32;cursor:not-allowed}
#frameNavLabel{font-size:8px;font-weight:700;background:#f7f5fc;padding:0 5px;color:#5f607d}
.navigator-search{position:relative;margin-top:6px}
.navigator-search input{width:100%;height:29px;border:1px solid rgba(94,84,150,.13);border-radius:8px;background:rgba(250,249,255,.88);outline:none;padding:0 9px;color:#464765;font-size:9px;box-shadow:inset 0 1px 1px rgba(55,47,105,.03)}
.navigator-search input:focus{border-color:#b8a8ff;box-shadow:0 0 0 3px rgba(111,69,255,.08)}
.search-results{display:none;position:absolute;left:0;right:0;bottom:35px;max-height:176px;overflow:auto;padding:5px;border:1px solid rgba(94,84,150,.13);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(40,34,92,.18);backdrop-filter:blur(18px);z-index:8}
.search-results.show{display:grid;gap:2px}
.search-result{border:0;background:transparent;border-radius:7px;padding:7px 8px;text-align:left;color:#50516d;font-size:8px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center}
.search-result:hover,.search-result.active{background:#f0ecff;color:#6848ef}
.search-result .result-icon{font-size:11px;text-align:center}.search-result .result-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.virtualization-badge{display:inline-flex;align-items:center;gap:4px}.virtualization-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#6f45ff;box-shadow:0 0 0 3px rgba(111,69,255,.10)}
.canvas-viewport.performance-moving .board-object{will-change:transform,left,top}
.canvas-viewport.performance-moving .svg-board-object{will-change:left,top}
@media(max-width:820px){.navigator{width:202px}.navigator-search{display:none}.navigator-meta{font-size:7px}.navigator-actions{grid-template-columns:25px 25px minmax(0,1fr) 25px 25px}}

/* Orbitrama Whiteboard v7 — Content Objects & Ergonomics */
.text-style-row{display:grid;grid-template-columns:34px 34px 1fr 1fr;gap:5px;margin:5px 0 7px}
.text-style-row button{height:30px;border:1px solid #e4e0ef;border-radius:7px;background:#f8f7fb;color:#555775;font-size:9px;font-weight:700}
.text-style-row button:hover,.text-style-row button.active{background:#eee9ff;color:#6748e8;border-color:#d3c8ff}
.text-style-row button i{font-family:Georgia,serif;font-size:13px}.text-style-row button u{font-size:12px}
.content-object-controls{margin-top:4px}
.note-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:6px 0 9px}
.note-palette button{aspect-ratio:1;border-radius:8px;border:1px solid rgba(67,62,96,.12);background:var(--note);box-shadow:inset 0 0 0 1px rgba(255,255,255,.52);transition:.14s}
.note-palette button:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(44,38,93,.12),inset 0 0 0 1px rgba(255,255,255,.62)}
.note-palette button.active{outline:2px solid #6f45ff;outline-offset:2px}
.wide-btn.compact{padding:8px!important;margin-top:5px!important}
.image-actions{margin-top:7px}
.image-object{overflow:hidden;background:#f4f2fb!important}
.image-object img{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;user-select:none;will-change:transform;transition:filter .12s}
.image-object.selected img{filter:saturate(1.02)}
.image-object.image-contain{background-image:linear-gradient(45deg,rgba(101,90,160,.045) 25%,transparent 25%),linear-gradient(-45deg,rgba(101,90,160,.045) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(101,90,160,.045) 75%),linear-gradient(-45deg,transparent 75%,rgba(101,90,160,.045) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.note-content,.text-content{font-family:var(--object-font,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);line-height:var(--object-line-height,1.4);font-style:var(--object-font-style,normal);text-decoration:var(--object-text-decoration,none)}
.note-object[data-auto-height="true"] .note-content,.text-object[data-auto-height="true"] .text-content{overflow:hidden}
.note-object[data-auto-height="false"] .note-content{overflow:auto}
.object-format-badge{position:absolute;right:6px;bottom:5px;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.65);backdrop-filter:blur(8px);font-size:7px;color:#777894;pointer-events:none;opacity:0;transition:.12s}
.canvas-viewport[data-tool="select"] .note-object:hover .object-format-badge{opacity:.7}
@media(max-width:820px){.text-style-row{grid-template-columns:32px 32px 1fr 1fr}.note-palette{grid-template-columns:repeat(3,1fr)}}

/* Orbitrama Whiteboard v8 — Core 1.0 · Stability & Visual Polish */
:root{
  --violet:#7047ff;--violet2:#8f56ff;--magenta:#d54bff;
  --panel:rgba(255,255,255,.80);--line:rgba(70,64,125,.105);
  --shadow:0 20px 60px rgba(22,18,70,.14);--soft:0 12px 34px rgba(37,30,98,.105);
}
.app-shell{inset:14px;border-radius:26px;border-color:rgba(255,255,255,.30);background:linear-gradient(145deg,rgba(244,242,255,.55),rgba(223,220,252,.30));box-shadow:0 42px 120px rgba(5,7,30,.46),inset 0 0 0 1px rgba(255,255,255,.26)}
.app{grid-template-columns:190px minmax(0,1fr) 266px;grid-template-rows:66px minmax(0,1fr);background:#f9f8ff}
.sidebar{padding:19px 13px 13px;background:radial-gradient(circle at 108% 13%,rgba(218,72,255,.30),transparent 29%),radial-gradient(circle at -20% 84%,rgba(102,73,255,.18),transparent 36%),linear-gradient(180deg,#121640 0%,#0e1437 56%,#090f2b 100%)}
.brand{gap:10px;padding:0 9px 18px}.brand-icon{width:31px;height:31px;filter:drop-shadow(0 6px 12px rgba(137,74,255,.24))}.brand-copy{display:grid;gap:0;line-height:1}.brand-copy>span{font-size:19px;font-weight:760;letter-spacing:-.035em}.brand-copy small{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:#9ea5cf;margin-top:5px;font-weight:750}
.navbtn{border:1px solid transparent;transition:background .15s,color .15s,border-color .15s,transform .15s}.navbtn:hover{border-color:rgba(255,255,255,.055)}.navbtn.active{background:linear-gradient(90deg,rgba(99,65,255,.34),rgba(207,70,255,.34));border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 22px rgba(112,61,255,.16)}
.status-card{background:linear-gradient(145deg,rgba(143,84,255,.19),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.status-top{gap:5px}.status-top #saveState{margin-left:auto}.core-chip{font-size:7px;padding:3px 5px;border-radius:6px;color:#d8d8f0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);white-space:nowrap}
.topbar{padding:0 16px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(252,251,255,.84));box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.project-orbit{border-color:#6c61a0}.project-orbit:after{border-color:#6c61a0}.saved-badge{background:linear-gradient(135deg,#f1edff,#f8f5ff);border:1px solid rgba(112,71,255,.08);color:#6846df}
.toolbelt{height:44px;padding:5px 6px;border-radius:14px;border-color:rgba(90,80,150,.11);background:rgba(255,255,255,.80);box-shadow:0 10px 28px rgba(50,42,112,.10),inset 0 1px 0 rgba(255,255,255,.9);scrollbar-width:none}.toolbelt::-webkit-scrollbar{display:none}.tool{position:relative;transition:background .13s,color .13s,transform .13s}.tool:hover{background:#f2efff;color:#5e45d8}.tool:active{transform:scale(.94)}.tool.active{background:linear-gradient(145deg,#eee8ff,#e6ddff);color:#633fe5;box-shadow:inset 0 0 0 1px rgba(111,69,255,.13),0 4px 10px rgba(92,58,215,.08)}.tool.active:after{content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--magenta))}
.primary-btn{background:linear-gradient(135deg,#6038ed,#7b3cf4 55%,#a042f4);box-shadow:0 9px 22px rgba(104,61,239,.24),inset 0 1px 0 rgba(255,255,255,.20)}.primary-btn:hover{filter:brightness(1.035)}
.inspector{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(251,250,255,.84));box-shadow:-10px 0 34px rgba(56,48,112,.035)}.tabs{background:rgba(255,255,255,.91);backdrop-filter:blur(22px)}.inspect-section{padding:18px 17px}.field-row input[type=range]{accent-color:var(--violet)}
.workspace{box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.canvas-viewport{transition:background-color .16s ease}.canvas-viewport:focus-visible{box-shadow:inset 0 0 0 2px rgba(112,71,255,.32)}
.board-object.selected{outline-color:rgba(119,78,255,.82);box-shadow:0 0 0 1px rgba(255,255,255,.62)}.note-object{box-shadow:0 13px 30px rgba(40,34,92,.13),0 2px 5px rgba(40,34,92,.06)}.note-object:hover{box-shadow:0 18px 38px rgba(40,34,92,.17),0 3px 8px rgba(40,34,92,.07)}
.resize-handle{width:11px;height:11px;background:linear-gradient(145deg,#fff,#faf8ff);border-color:#724bff;box-shadow:0 3px 8px rgba(45,39,110,.17)}.rotation-handle{background:linear-gradient(145deg,#fff,#eee9ff)}
.selection-actions{border-color:rgba(91,78,160,.13);background:rgba(255,255,255,.90);box-shadow:0 12px 32px rgba(40,34,92,.14);border-radius:11px}.selection-actions button{transition:background .12s,color .12s,transform .12s}.selection-actions button:active{transform:scale(.92)}
.glass-card{background:linear-gradient(145deg,rgba(255,255,255,.79),rgba(249,247,255,.68));border-color:rgba(94,84,150,.11);box-shadow:0 16px 40px rgba(37,30,98,.11),inset 0 1px 0 rgba(255,255,255,.8)}
.navigator{transition:width .18s ease,padding .18s ease}.navigator-body{display:block}.navigator.collapsed{width:126px;padding:9px 11px}.navigator.collapsed .floating-head{margin:0}.navigator.collapsed .navigator-body{display:none}.navigator.collapsed .mini-btn{font-size:13px}.minimap{background:linear-gradient(145deg,#efecff,#fbfaff);box-shadow:inset 0 1px 2px rgba(57,48,110,.035)}
.tool-hint{background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(37,30,98,.10);border-color:rgba(94,84,150,.10)}
.modal{background:rgba(10,11,34,.34);backdrop-filter:blur(10px)}.modal-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,246,255,.88));box-shadow:0 30px 80px rgba(14,12,48,.24);max-height:min(82vh,700px);overflow:auto}.toast{background:linear-gradient(135deg,#17193e,#22234e);box-shadow:0 12px 32px rgba(12,12,35,.28)}
button:focus-visible,input:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid rgba(112,71,255,.52);outline-offset:2px}
button:disabled{cursor:not-allowed}
.mobile-only,.mobile-inspector-close,.mobile-inspector-backdrop{display:none}
body.canvas-dark .tool-hint,body.canvas-dark .navigator{border-color:rgba(255,255,255,.14)}
body.canvas-dark .marquee{border-color:#ad8aff;background:rgba(143,86,255,.13)}
body.canvas-dark .smart-guide{background:#f36aff;box-shadow:0 0 8px rgba(243,106,255,.18)}

@media(max-width:1100px){.app{grid-template-columns:162px minmax(0,1fr) 228px;grid-template-rows:62px minmax(0,1fr)}.app-shell{inset:7px}.brand-copy>span{font-size:17px}.brand-copy small{font-size:6px}.toolbelt{height:42px}}
@media(max-width:820px){
  .app-shell{inset:0;border:0;border-radius:0;box-shadow:none}.app{grid-template-columns:1fr;grid-template-rows:58px 1fr}.topbar{grid-template-columns:minmax(0,1fr) auto;padding:0 7px}.toolbelt{max-width:calc(100vw - 82px);height:44px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.tool{min-width:36px;width:36px;height:34px;scroll-snap-align:center}.tool-divider{flex:0 0 1px}.top-actions{gap:4px}.top-actions>:not(.avatar):not(.mobile-only){display:none!important}.top-actions .mobile-only{display:grid!important;width:34px;height:34px;place-items:center}.avatar{width:32px;height:32px}
  .navigator{left:10px;bottom:10px;width:208px;max-height:calc(100% - 22px);padding:10px}.navigator.collapsed{width:118px}.tool-hint{display:none}
  .inspector{display:none;position:fixed;left:8px;right:8px;bottom:8px;top:auto;width:auto;height:min(70vh,620px);border:1px solid rgba(96,82,160,.15);border-radius:21px;z-index:410;box-shadow:0 28px 90px rgba(12,11,40,.32);overflow:auto;background:rgba(253,252,255,.96)}
  body.mobile-inspector-open .inspector{display:block;animation:orbitramaSheetIn .18s ease-out}.mobile-inspector-close{display:grid;position:sticky;float:right;top:8px;margin:8px 10px -38px auto;z-index:5;width:30px;height:30px;place-items:center;border:1px solid #e4e0ef;border-radius:10px;background:rgba(249,247,255,.94);color:#5d5f7b;font-size:17px}
  .mobile-inspector-backdrop{position:fixed;inset:0;border:0;background:rgba(11,11,34,.26);z-index:405}.mobile-inspector-backdrop{display:none}body.mobile-inspector-open .mobile-inspector-backdrop{display:block}
  .tabs{padding-right:42px}.inspect-section{padding:17px 18px 24px}.field-row{min-height:42px}.button-grid button,.wide-btn,.danger-btn{min-height:40px}.manipulation-grid button{min-height:36px}
  .resize-handle{width:13px;height:13px}.selection-actions button{width:34px;height:32px}
  .modal-card{width:calc(100vw - 20px);max-height:84vh;padding:18px}.shortcut-grid{grid-template-columns:1fr auto;gap:8px}.shortcut-grid span:nth-of-type(even){margin-top:4px}
}
@keyframes orbitramaSheetIn{from{transform:translateY(18px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(pointer:coarse){button{min-touch-target-size:44px}.navbtn{min-height:40px}.layer-actions button{width:30px;height:30px}.theme-swatches button,.custom-swatch{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.laser-segment{animation-duration:3.8s!important}}

.saved-badge.save-error{color:#b63d56;background:#fff0f3;border-color:rgba(202,68,94,.14)}

/* Orbitrama Live Experience v1 */
.live-entry-btn{border:1px solid rgba(112,71,255,.15);border-radius:9px;padding:8px 11px;background:linear-gradient(145deg,#f5f1ff,#eee8ff);color:#5f3fda;font-size:10px;font-weight:760;display:flex;align-items:center;gap:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:.14s}
.live-entry-btn:hover{transform:translateY(-1px);background:linear-gradient(145deg,#eee8ff,#e5dbff);box-shadow:0 7px 16px rgba(92,58,215,.10),inset 0 1px 0 rgba(255,255,255,.86)}
.live-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#7a4cff,#df4dff);box-shadow:0 0 0 4px rgba(117,72,255,.08)}
.live-toolbar{display:none;position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:520;align-items:center;gap:8px;padding:7px 8px;border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(245,241,255,.78));border:1px solid rgba(112,84,175,.15);box-shadow:0 22px 70px rgba(16,13,50,.23),inset 0 1px 0 rgba(255,255,255,.94);backdrop-filter:blur(26px) saturate(1.3);transition:opacity .2s ease,transform .2s ease,filter .2s ease}
.live-toolbar-brand{display:flex;align-items:center;gap:7px;padding:0 7px 0 3px;border-right:1px solid rgba(82,73,130,.11);height:34px;color:#343553;font-size:9px;font-weight:780;text-transform:uppercase;letter-spacing:.09em}.live-toolbar-brand img{width:24px;height:24px}.live-tools{display:flex;align-items:center;gap:3px}.live-tools button,.live-toolbar-actions button{height:34px;min-width:34px;border:0;border-radius:10px;background:transparent;color:#4b4c6c;display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px;font-weight:720;transition:.13s}.live-tools button:hover,.live-toolbar-actions button:hover{background:#eee9ff;color:#633fe5}.live-tools button.active{background:linear-gradient(145deg,#eae2ff,#ddd3ff);color:#5d39de;box-shadow:inset 0 0 0 1px rgba(111,69,255,.12)}
.live-laser-dot{width:8px;height:8px;border-radius:50%;background:#f04483;box-shadow:0 0 0 4px rgba(240,68,131,.10),0 0 10px rgba(240,68,131,.35)}
.live-toolbar-actions{display:flex;align-items:center;gap:3px;border-left:1px solid rgba(82,73,130,.11);padding-left:7px}.live-toolbar-actions #audienceWindowBtn{padding:0 9px;font-size:9px;min-width:auto}.live-toolbar-actions #liveFullscreenBtn{font-size:16px}.live-toolbar-actions .live-exit{color:#9b4f68}.live-toolbar-actions .live-exit:hover{background:#fff0f4;color:#bf3c64}
.live-reveal-pill{display:none;position:fixed;left:50%;bottom:8px;transform:translateX(-50%);width:54px;height:12px;border:0;background:transparent;z-index:519;padding:0}.live-reveal-pill span{display:block;margin:auto;width:34px;height:4px;border-radius:999px;background:rgba(111,69,255,.36);box-shadow:0 2px 8px rgba(111,69,255,.16)}
.audience-badge{display:none;position:fixed;right:18px;bottom:15px;z-index:490;align-items:center;gap:7px;padding:7px 10px;border-radius:12px;background:rgba(255,255,255,.67);border:1px solid rgba(104,83,160,.10);box-shadow:0 8px 24px rgba(23,18,68,.09);backdrop-filter:blur(16px);font-size:8px;font-weight:760;letter-spacing:.02em;color:#555675;pointer-events:none}.audience-badge img{width:19px;height:19px}.share-live-card{margin-top:12px;padding:12px;border:1px solid rgba(112,71,255,.11);border-radius:13px;background:linear-gradient(145deg,#f7f4ff,#f0ebff);display:flex;align-items:center;justify-content:space-between;gap:14px}.share-live-card div{display:grid;gap:3px}.share-live-card strong{font-size:10px;color:#383953}.share-live-card small{font-size:8px;color:#797a98;line-height:1.4}.share-live-card button{border:0;border-radius:8px;padding:8px 10px;background:#6d46ed;color:white;font-size:9px;font-weight:720;white-space:nowrap}

body.live-mode{background:var(--canvas-bg);overflow:hidden}
body.live-mode .app-shell{inset:0;border:0;border-radius:0;background:var(--canvas-bg);box-shadow:none;backdrop-filter:none}
body.live-mode .app{display:block;background:var(--canvas-bg)}
body.live-mode .sidebar,body.live-mode .topbar,body.live-mode .inspector,body.live-mode .navigator,body.live-mode .tool-hint,body.live-mode .mobile-inspector-backdrop{display:none!important}
body.live-mode .workspace{position:absolute;inset:0;width:100%;height:100%;background:var(--canvas-bg);box-shadow:none}
body.live-mode .live-toolbar{display:flex}
body.live-mode .canvas-viewport{inset:0}
body.live-mode.live-controls-hidden .live-toolbar{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(10px) scale(.98);filter:blur(1px)}
body.live-mode.live-controls-hidden .live-reveal-pill{display:block}
body.live-mode .saved-badge,body.live-mode .selection-actions{display:none!important}
body.live-mode .frame-label{backdrop-filter:blur(7px)}

body.audience-mode{margin:0;background:var(--canvas-bg);overflow:hidden}
body.audience-mode .app-shell{inset:0;border:0;border-radius:0;background:var(--canvas-bg);box-shadow:none;backdrop-filter:none}
body.audience-mode .app{display:block;background:var(--canvas-bg)}
body.audience-mode .sidebar,body.audience-mode .topbar,body.audience-mode .inspector,body.audience-mode .floating,body.audience-mode .live-toolbar,body.audience-mode .live-reveal-pill,body.audience-mode .mobile-inspector-backdrop{display:none!important}
body.audience-mode .workspace{position:absolute;inset:0;width:100%;height:100%;background:var(--canvas-bg);box-shadow:none}
body.audience-mode .canvas-viewport{inset:0;pointer-events:none}
body.audience-mode .selection-layer,body.audience-mode .marquee{display:none!important}
body.audience-mode .audience-badge{display:flex;animation:audienceBadgeOut 5s forwards}
body.audience-mode .board-object.selected{outline:none;box-shadow:none}
@keyframes audienceBadgeOut{0%,60%{opacity:.78;transform:translateY(0)}100%{opacity:0;transform:translateY(4px)}}

body.canvas-dark.live-mode .live-toolbar{background:linear-gradient(145deg,rgba(27,29,65,.86),rgba(18,20,50,.78));border-color:rgba(255,255,255,.14);box-shadow:0 24px 80px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08)}
body.canvas-dark.live-mode .live-toolbar-brand{color:#ececff;border-color:rgba(255,255,255,.12)}body.canvas-dark.live-mode .live-toolbar-brand img{filter:invert(1)}body.canvas-dark.live-mode .live-tools button,body.canvas-dark.live-mode .live-toolbar-actions button{color:#ddddef}body.canvas-dark.live-mode .live-tools button:hover,body.canvas-dark.live-mode .live-toolbar-actions button:hover{background:rgba(143,86,255,.20);color:white}body.canvas-dark.live-mode .live-toolbar-actions{border-color:rgba(255,255,255,.12)}
body.canvas-dark.audience-mode .audience-badge{background:rgba(20,23,53,.65);border-color:rgba(255,255,255,.12);color:#e9e9f8}body.canvas-dark.audience-mode .audience-badge img{filter:invert(1)}

@media(max-width:820px){
  body.live-mode .live-toolbar{left:8px;right:8px;bottom:10px;transform:none;width:auto;justify-content:space-between;padding:7px}.live-toolbar-brand{display:none}.live-tools{gap:1px}.live-tools button{min-width:35px}.live-toolbar-actions #audienceWindowBtn span{display:none}.live-toolbar-actions #audienceWindowBtn{padding:0;min-width:34px}.live-toolbar-actions{padding-left:4px}.live-toolbar-actions button{min-width:34px}
  body.live-mode.live-controls-hidden .live-toolbar{transform:translateY(10px) scale(.985)}
}
@media(pointer:coarse){body.live-mode .live-toolbar{min-height:48px}.live-tools button,.live-toolbar-actions button{min-width:42px;height:42px}.live-reveal-pill{height:24px;bottom:2px}}
.live-toolbar-actions #audienceWindowBtn.connected{background:linear-gradient(145deg,#eae2ff,#ded3ff);color:#5d39de;box-shadow:inset 0 0 0 1px rgba(111,69,255,.12)}
.live-toolbar-actions #audienceWindowBtn.connected:before{content:"";width:6px;height:6px;border-radius:50%;background:#7650ff;box-shadow:0 0 0 3px rgba(118,80,255,.10)}
