:root{--font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg: #f3f3f6;--bg-deep: #e9e9ee;--surface: #ffffff;--surface-2: #ededf1;--surface-3: #e3e3e9;--text: #1d1d1f;--text-soft: #48484d;--muted: #74747b;--line: rgba(20, 20, 24, .09);--line-strong: rgba(20, 20, 24, .16);--accent: #0a84ff;--accent-strong: #0069d9;--accent-soft: rgba(10, 132, 255, .12);--danger: #ff3b30;--danger-soft: rgba(255, 59, 48, .11);--success: #34c759;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 1px rgba(0, 0, 0, .03);--shadow-md: 0 10px 30px rgba(15, 15, 20, .1), 0 2px 8px rgba(15, 15, 20, .05);--shadow-lg: 0 24px 70px rgba(15, 15, 20, .18), 0 5px 20px rgba(15, 15, 20, .08);--radius: 14px;--topbar-editor: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}html[data-theme=dark]{--bg: #0f0f11;--bg-deep: #09090b;--surface: #1a1a1e;--surface-2: #242429;--surface-3: #2e2e35;--text: #f5f5f7;--text-soft: #d2d2d7;--muted: #96969f;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--accent: #0a84ff;--accent-strong: #3d9bff;--accent-soft: rgba(10, 132, 255, .2);--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 34px rgba(0, 0, 0, .45);--shadow-lg: 0 30px 80px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;padding:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.35}input,textarea{border:0;background:transparent;outline:none}img,svg{display:block}svg{flex:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-soft);transition:background .15s ease,color .15s ease,transform .1s ease;flex:none}.icon-btn svg{width:19px;height:19px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{transform:scale(.95)}.icon-btn.small{width:30px;height:30px;border-radius:8px}.icon-btn.small svg{width:16px;height:16px}.icon-btn.tiny{width:26px;height:26px;border-radius:7px}.icon-btn.tiny svg{width:15px;height:15px}.btn{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:14px;letter-spacing:-.01em;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease}.btn svg{width:17px;height:17px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #0a84ff47}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger-ghost{background:var(--danger-soft);color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger);color:#fff}.segmented{display:flex;gap:3px;padding:3px;border-radius:10px;background:var(--surface-2)}.segmented button{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 10px;border-radius:7px;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.segmented button svg{width:15px;height:15px}.segmented button:hover{color:var(--text)}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:248px;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-lg);transform-origin:top right}.menu button{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text-soft);font-size:14px;text-align:left}.menu button svg{width:17px;height:17px;color:var(--muted)}.menu button:hover{background:var(--surface-2);color:var(--text)}.menu button.danger{color:var(--danger)}.menu button.danger svg{color:var(--danger)}.menu button.danger:hover{background:var(--danger-soft)}.menu-sep{height:1px;margin:5px 7px;background:var(--line)}.menu-label{padding:7px 10px 4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.menu-seg{margin:5px 4px 7px}.menu-seg button{padding:0 4px;font-size:11px;gap:4px}.menu-anchor{position:relative}.toast{display:flex;align-items:center;gap:9px;max-width:380px;padding:11px 15px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);font-size:14px;font-weight:500;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translateY(0) scale(1)}.toast-error{border-color:#ff3b3059;background:var(--danger);color:#fff}.modal-shell{width:min(540px,calc(100vw - 32px));max-height:min(86vh,760px);display:flex;flex-direction:column}.modal-card{display:flex;flex-direction:column;max-height:inherit;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.modal-head>div,.modal-head>strong{display:flex;flex-direction:column;gap:2px;font-size:17px;font-weight:700;letter-spacing:-.02em}.modal-head>div>span{color:var(--muted);font-size:13px;font-weight:500}.modal-body{padding:18px 20px;overflow:auto}.modal-foot{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.modal-form{display:flex;flex-direction:column;gap:16px;padding:18px 20px 20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--muted);font-size:12px;font-weight:600}.field input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:15px}.field input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.media-card{width:min(900px,calc(100vw - 40px))}.media-body{min-height:220px;max-height:72vh;display:flex;align-items:center;justify-content:center;overflow:auto;background:#111}.media-body img,.media-body video{max-width:100%;max-height:72vh;object-fit:contain}.media-body iframe{width:100%;height:72vh;border:0;background:#fff}.settings-body{padding:8px 20px 22px;overflow:auto}.settings-body section{padding:16px 0;border-bottom:1px solid var(--line)}.settings-body section:last-child{border-bottom:0}.settings-body h3{margin:0 0 10px;font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.settings-note{margin:8px 0;color:var(--muted);font-size:13px;line-height:1.5}.lib-shell{height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%)}.lib-topbar{flex:none;min-height:64px;display:flex;align-items:center;gap:18px;padding:10px 22px;padding-left:calc(22px + var(--safe-left));padding-right:calc(22px + var(--safe-right));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);z-index:5}.lib-brand{display:flex;align-items:center;gap:10px;min-width:168px;font-family:var(--font-display);font-size:19px;font-weight:750;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#3da5ff,#0a84ff 55%,#0064d8);color:#fff;box-shadow:0 3px 10px #0a84ff59,inset 0 1px #ffffff4d}.brand-mark svg{width:19px;height:19px}.lib-search{flex:1;max-width:460px;height:38px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--muted)}.lib-search svg{width:17px;height:17px}.lib-search input{flex:1;min-width:0;font-size:14px;color:var(--text);-webkit-appearance:none}.lib-search input::-webkit-search-cancel-button{-webkit-appearance:none}.lib-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lib-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.lib-body{flex:1;min-height:0;display:flex}.lib-sidebar{width:246px;flex:none;display:flex;flex-direction:column;gap:12px;padding:20px 14px calc(18px + var(--safe-bottom));padding-left:calc(14px + var(--safe-left));border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.lib-nav{display:flex;flex-direction:column;gap:2px}.lib-nav button,.trash-link{width:100%;height:38px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:9px;color:var(--text-soft);font-size:14px;font-weight:500;text-align:left}.lib-nav button svg,.trash-link svg{width:18px;height:18px;color:var(--muted)}.lib-nav button b,.trash-link b,.folder-open b{margin-left:auto;color:var(--muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.lib-nav button:hover,.trash-link:hover,.folder-open:hover,.folder-row:hover{background:var(--surface-2)}.lib-nav button.is-active,.trash-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.lib-nav button.is-active svg,.trash-link.is-active svg,.lib-nav button.is-active b,.trash-link.is-active b{color:var(--accent)}.folder-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 2px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.folder-list{display:flex;flex-direction:column;gap:1px}.folder-row{display:flex;align-items:center;border-radius:9px}.folder-open{flex:1;min-width:0;height:36px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:9px;color:var(--text-soft);font-size:13.5px;text-align:left}.folder-open svg{width:17px;height:17px;color:var(--muted)}.folder-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-row.is-active{background:var(--accent-soft)}.folder-row.is-active .folder-open,.folder-row.is-active .folder-open svg{color:var(--accent);font-weight:650}.folder-more{opacity:0;margin-right:3px}.folder-row:hover .folder-more{opacity:1}.folder-empty{margin:4px 10px;color:var(--muted);font-size:12.5px}.trash-link{margin-top:auto}.sidebar-foot{display:flex;align-items:center;gap:7px;padding:8px 10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}.local-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 16%,transparent)}.lib-main{flex:1;min-width:0;padding:30px 34px 70px;overflow-y:auto;overscroll-behavior:contain}.lib-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.lib-heading h1{margin:0;font-family:var(--font-display);font-size:clamp(25px,2.6vw,34px);line-height:1.1;letter-spacing:-.035em;font-weight:750}.lib-heading p{margin:6px 0 0;color:var(--muted);font-size:13.5px}.lib-head-actions{display:flex;align-items:center;gap:8px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:20px}.board-card{position:relative;min-width:0;padding:7px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.board-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.board-card.is-deleted{opacity:.78}.board-open{width:100%;display:flex;flex-direction:column;text-align:left}.board-thumb{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:12px;background:var(--surface-2)}.board-thumb img{width:100%;height:100%;object-fit:cover}.thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.9),transparent 45%),linear-gradient(140deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 60%,var(--surface)))}.thumb-fallback b{font-family:var(--font-display);font-size:clamp(26px,4vw,44px);font-weight:750;letter-spacing:-.06em;color:color-mix(in srgb,var(--text) 48%,transparent)}.thumb-fallback svg{position:absolute;right:13px;bottom:12px;width:22px;height:22px;color:color-mix(in srgb,var(--text) 32%,transparent)}.board-info{display:flex;flex-direction:column;gap:2px;padding:10px 7px 6px}.board-info strong{overflow:hidden;color:var(--text);font-size:14px;font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.board-info>span{overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.card-more{position:absolute;top:14px;right:14px;background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text);opacity:0;box-shadow:var(--shadow-sm)}.board-card:hover .card-more,.board-card:focus-within .card-more{opacity:1}.card-star{position:absolute;top:15px;left:15px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--surface) 82%,transparent);color:#ff9500;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.card-star svg{width:14px;height:14px;fill:currentColor}.lib-empty{width:100%;max-width:560px;min-height:48vh;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--muted)}.lib-empty>svg{width:46px;height:46px;margin-bottom:14px;color:var(--muted);opacity:.7}.lib-empty h2{margin:0 0 6px;color:var(--text);font-size:21px;letter-spacing:-.025em}.lib-empty p{max-width:390px;margin:0 0 18px;font-size:14px;line-height:1.55}.lib-fatal{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.lib-fatal svg{width:44px;height:44px;color:var(--muted)}.lib-fatal h1{margin:16px 0 8px;font-size:24px}.lib-fatal p{max-width:460px;margin:0;color:var(--muted);line-height:1.55}.lib-toasts,.ed-toasts{position:fixed;left:50%;bottom:calc(100px + var(--safe-bottom));z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.lib-toasts{bottom:calc(26px + var(--safe-bottom))}.lib-menu{position:fixed;z-index:310;width:238px;max-height:min(70vh,520px);padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:auto;animation:menu-in .13s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.lib-menu button{width:100%;min-height:36px;display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;color:var(--text-soft);font-size:13.5px;text-align:left}.lib-menu button svg{width:16px;height:16px;color:var(--muted)}.lib-menu button span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-menu button:hover{background:var(--surface-2);color:var(--text)}.lib-menu button.is-checked{color:var(--accent)}.lib-menu button.is-checked svg{color:var(--accent)}.lib-menu button.danger{color:var(--danger)}.lib-menu button.danger svg{color:var(--danger)}.lib-menu button.danger:hover{background:var(--danger-soft)}.menu-scroll{max-height:180px;overflow-y:auto}.lib-modal,.ed-modal{position:fixed;inset:0;z-index:400}.ed-modal{z-index:420}.lib-modal-backdrop,.ed-modal-backdrop{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:calc(20px + var(--safe-top));padding-bottom:calc(20px + var(--safe-bottom));background:#00000052;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}html[data-theme=dark] .lib-modal-backdrop,html[data-theme=dark] .ed-modal-backdrop{background:#00000094}.lib-modal-card{width:min(620px,calc(100vw - 32px));max-height:min(86vh,760px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.templates-card{width:min(720px,calc(100vw - 32px))}.templates-card .modal-head{padding-bottom:16px}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;overflow-y:auto}.template-card{min-height:86px;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left;transition:border-color .15s ease,background .15s ease,transform .12s ease}.template-card:hover{border-color:var(--template-accent);background:color-mix(in srgb,var(--template-accent) 7%,var(--surface));transform:translateY(-1px)}.template-preview{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--template-accent) 15%,var(--surface));color:var(--template-accent)}.template-preview svg{width:23px;height:23px}.template-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.template-copy strong{font-size:14px;letter-spacing:-.01em}.template-copy span{color:var(--muted);font-size:12px;line-height:1.35}.settings-card{width:min(520px,calc(100vw - 32px))}.ed-shell{position:relative;height:100%;overflow:hidden;background:var(--bg-deep);touch-action:none}.ed-topbar{position:absolute;inset:0 0 auto;z-index:70;height:calc(var(--topbar-editor) + var(--safe-top));display:flex;align-items:center;gap:12px;padding:var(--safe-top) calc(14px + var(--safe-right)) 0 calc(14px + var(--safe-left));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}.topbar-left{flex:1;min-width:0;display:flex;align-items:center;gap:7px}.doc-meta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}.doc-title{width:236px;max-width:34vw;padding:1px 5px;margin-left:-5px;border-radius:6px;color:var(--text);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.025em;text-overflow:ellipsis}.doc-title:hover{background:var(--surface-2)}.doc-title:focus{background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.doc-sub{padding-left:0;overflow:hidden;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.topbar-center{position:absolute;left:50%;transform:translate(-50%)}.save-pill{height:29px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 75%,transparent);color:var(--muted);font-size:11px;font-weight:550;white-space:nowrap}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.save-pill[data-state=saving] .save-dot{background:#ff9500;animation:save-pulse .9s ease-in-out infinite}.save-pill[data-state=error]{color:var(--danger)}.save-pill[data-state=error] .save-dot{background:var(--danger)}@keyframes save-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.topbar-right{display:flex;align-items:center;gap:4px}.topbar-right .btn-primary{margin-left:5px}.ed-main{position:absolute;inset:calc(var(--topbar-editor) + var(--safe-top)) 0 0;overflow:hidden}.ed-canvas-host{position:absolute;inset:0;overflow:hidden;background:var(--bg-deep)}.editor-host{position:absolute;inset:0;overflow:hidden}.canvas-wrap{position:absolute;inset:0;overflow:hidden;outline:none;touch-action:none;user-select:none;-webkit-user-select:none}.canvas-main,.canvas-wet{position:absolute;top:0;left:0;touch-action:none}.canvas-wet{pointer-events:none}.lav-editor{position:absolute;z-index:15;outline:none;overflow:hidden;background:transparent;white-space:pre-wrap;overflow-wrap:anywhere;caret-color:var(--accent);cursor:text;-webkit-user-select:text;user-select:text}.lav-editor:empty:before{content:"Scrivi…";opacity:.35}.lav-cell-input{position:absolute;z-index:16;padding:2px 6px;border:2px solid var(--accent);border-radius:4px;background:var(--surface);color:var(--text);box-shadow:0 2px 10px #0000002e;font-family:var(--font-ui);font-size:14px;outline:none}.ed-scenes{position:absolute;top:10px;left:calc(12px + var(--safe-left));right:calc(200px + var(--safe-right));z-index:28;display:flex;align-items:center;gap:5px;padding:3px;overflow-x:auto;scrollbar-width:none;pointer-events:none}.ed-scenes::-webkit-scrollbar{display:none}.ed-scenes>*{pointer-events:auto}.scenes-label{display:inline-flex;align-items:center;gap:5px;padding:0 5px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.scenes-label svg{width:13px;height:13px}.scene-chip{display:inline-flex;align-items:center;flex:none;height:27px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.scene-chip>button:first-child{height:100%;max-width:150px;padding:0 10px;overflow:hidden;color:var(--text-soft);font-size:11px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.scene-chip>button:first-child:hover{background:var(--surface-2)}.scene-remove{width:22px;height:100%;display:grid;place-items:center;color:var(--muted)}.scene-remove svg{width:10px;height:10px}.scene-remove:hover{color:var(--danger);background:var(--danger-soft)}.scene-add{width:27px;height:27px;flex:none;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:50%;background:color-mix(in srgb,var(--surface) 50%,transparent);color:var(--muted)}.scene-add svg{width:13px;height:13px}.scene-add:hover{border-color:var(--accent);color:var(--accent)}.ed-searchbar{position:absolute;top:10px;left:50%;z-index:34;width:min(560px,calc(100% - 140px));transform:translate(-50%)}.search-inner{height:38px;display:flex;align-items:center;gap:7px;padding:0 7px 0 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.search-inner>svg{width:16px;height:16px;color:var(--muted)}.search-inner input{flex:1;min-width:0;font-size:13px}.search-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.ed-toolbar-wrap{position:absolute;left:50%;bottom:calc(14px + var(--safe-bottom));z-index:44;max-width:calc(100vw - 24px - var(--safe-left) - var(--safe-right));transform:translate(-50%)}.ed-toolbar{display:flex;align-items:center;gap:1px;padding:5px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(26px) saturate(1.35);-webkit-backdrop-filter:blur(26px) saturate(1.35);overflow-x:auto;scrollbar-width:none}.ed-toolbar::-webkit-scrollbar{display:none}.tool{height:50px;min-width:53px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 7px;border-radius:11px;color:var(--text-soft);font-size:9.5px;font-weight:550;letter-spacing:-.005em;transition:background .14s ease,color .14s ease,transform .1s ease}.tool svg{width:20px;height:20px}.tool:hover{background:var(--surface-2);color:var(--text)}.tool:active{transform:scale(.95)}.tool.is-active{background:var(--accent);color:#fff;box-shadow:0 3px 10px #0a84ff4d}.tool.is-active:hover{background:var(--accent-strong);color:#fff}.tool-sep{width:1px;height:29px;flex:none;margin:0 4px;background:var(--line)}.ed-zoom{position:absolute;right:calc(14px + var(--safe-right));bottom:calc(18px + var(--safe-bottom));z-index:42;display:flex;align-items:center;gap:1px;padding:3px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.zoom-label{min-width:47px;height:30px;padding:0 5px;border-radius:7px;color:var(--text-soft);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.zoom-label:hover{background:var(--surface-2)}.ed-add-menu{position:absolute;left:50%;bottom:calc(82px + var(--safe-bottom));z-index:52;display:flex;gap:3px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg);transform:translate(-50%);animation:menu-in .14s ease}.ed-add-menu button{width:66px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:11px;color:var(--text-soft);font-size:10px;font-weight:550}.ed-add-menu button svg{width:21px;height:21px}.ed-add-menu button:hover{background:var(--surface-2);color:var(--text)}.ed-panel{position:absolute;left:calc(14px + var(--safe-left));bottom:calc(80px + var(--safe-bottom));z-index:50;width:298px;max-height:calc(100% - 110px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);overflow:hidden;animation:panel-in .16s ease}@keyframes panel-in{0%{opacity:0;transform:translate(-6px) scale(.985)}to{opacity:1;transform:none}}.panel-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 13px 12px 16px;border-bottom:1px solid var(--line)}.panel-head>div{min-width:0;display:flex;flex-direction:column;gap:1px}.panel-head strong{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.025em}.panel-head span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.panel-body{padding:4px 14px 15px;overflow-y:auto;overscroll-behavior:contain}.panel-section{padding:11px 0;border-bottom:1px solid var(--line)}.panel-section:last-child{border-bottom:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.section-head.spaced{margin-top:11px}.swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.swatch{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:var(--swatch);border:1px solid rgba(0,0,0,.12);box-shadow:inset 0 1px 1px #ffffff59;transition:transform .12s ease,box-shadow .12s ease}.swatch:hover{transform:scale(1.12)}.swatch.is-active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.swatch-none{background:linear-gradient(45deg,transparent 45%,var(--danger) 46%,var(--danger) 54%,transparent 55%),var(--surface-2)}.panel-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;margin-top:7px;color:var(--text-soft);font-size:12px;font-weight:550}.panel-field input[type=range]{grid-column:1 / -1;width:100%;height:24px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent}.panel-field input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:var(--surface-3)}.panel-field input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border:1px solid var(--line-strong);border-radius:50%;appearance:none;-webkit-appearance:none;background:var(--surface);box-shadow:0 1px 4px #00000038}.panel-field input[type=range]::-moz-range-track{height:4px;border-radius:99px;background:var(--surface-3)}.panel-field input[type=range]::-moz-range-thumb{width:18px;height:18px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #00000038}.range-value{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.ink-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-top:9px}.ink-tool{min-width:0;height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:9px;color:var(--text-soft);font-size:8.5px;font-weight:550}.ink-tool svg{width:18px;height:18px}.ink-tool:hover{background:var(--surface-2)}.ink-tool.is-active{background:var(--accent-soft);color:var(--accent)}.shape-library{max-height:226px;margin:0 -4px;padding:0 4px;overflow-y:auto;overscroll-behavior:contain}.shape-group+.shape-group{margin-top:2px}.shape-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.shape-choice{min-width:0;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;border:1px solid transparent;border-radius:8px;color:var(--text-soft);font-size:8px;line-height:1.1}.shape-choice>span:last-child{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-glyph{font-size:18px;line-height:1;color:var(--text)}.shape-choice:hover{background:var(--surface-2)}.shape-choice.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.shape-choice.is-active .shape-glyph{color:var(--accent)}.switch-row{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:9px;background:var(--surface-2);color:var(--text-soft);font-size:12px;font-weight:550;text-align:left}.switch-row>span:first-child{display:flex;align-items:center;gap:8px}.switch-row svg{width:16px;height:16px;color:var(--muted)}.switch-row.compact{margin-top:10px}.switch{width:35px;height:21px;flex:none;position:relative;border-radius:999px;background:var(--surface-3);transition:background .16s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:transform .16s ease}.switch-row.is-on .switch{background:var(--success)}.switch-row.is-on .switch:after{transform:translate(14px)}.panel-hint{margin:11px 0 2px;color:var(--muted);font-size:10.5px;line-height:1.45}.panel-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-top:7px}.panel-actions button{min-width:0;height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:9px;color:var(--text-soft);font-size:8.5px;font-weight:550}.panel-actions button svg{width:17px;height:17px}.panel-actions button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-actions button:hover{background:var(--surface-2)}.panel-actions button.danger{color:var(--danger)}.panel-actions button.danger:hover{background:var(--danger-soft)}.panel-actions.compact button{height:40px;flex-direction:row;gap:5px;font-size:9px}.align-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.align-grid button{height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--text-soft)}.align-grid button svg{width:16px;height:16px}.align-grid button:hover{background:var(--surface-2);border-color:var(--line-strong)}.text-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:4px}.text-tools button{height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--text-soft)}.text-tools button svg{width:15px;height:15px}.text-tools button:hover{background:var(--surface-2)}.text-tools button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.toggle-line{width:100%;height:34px;display:flex;align-items:center;gap:8px;margin-top:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--text-soft);font-size:11px;font-weight:550}.toggle-line svg{width:15px;height:15px}.toggle-line:hover{background:var(--surface-2)}.toggle-line.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.selection-panel .panel-actions:first-child{padding-top:0}@media(max-width:980px){.topbar-center{display:none}.doc-title{width:190px}.ed-zoom{bottom:calc(80px + var(--safe-bottom))}.ed-scenes{right:calc(16px + var(--safe-right))}}@media(max-width:760px){.topbar-right .btn-primary span{display:none}.topbar-right .btn-primary{width:38px;padding:0}.doc-title{width:150px}.tool{min-width:47px;height:46px;font-size:8.5px}.tool svg{width:18px;height:18px}.ed-toolbar{padding:4px;border-radius:15px}.ed-panel{left:8px;right:8px;bottom:calc(76px + var(--safe-bottom));width:auto;max-height:46vh}.ed-zoom{right:10px;bottom:calc(72px + var(--safe-bottom))}.ed-scenes{display:none}.ed-searchbar{top:8px;width:calc(100% - 24px)}.ed-add-menu{bottom:calc(76px + var(--safe-bottom));max-width:calc(100vw - 20px);overflow-x:auto}}@media(max-width:560px){.ed-topbar{gap:4px;padding-right:calc(8px + var(--safe-right));padding-left:calc(8px + var(--safe-left))}.topbar-right [data-action=undo],.topbar-right [data-action=redo]{display:none}.doc-title{width:120px;font-size:15px}.doc-sub,.tool span{display:none}.tool{min-width:40px;height:40px}.tool-sep{margin:0 2px}.ed-zoom{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:920px){.lib-sidebar{width:214px}.lib-main{padding:24px 22px 60px}.board-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.lib-brand{min-width:0}.lib-brand>span:last-child{display:none}}@media(max-width:700px){.lib-topbar{min-height:58px;flex-wrap:wrap;gap:10px;padding:9px 14px}.lib-brand{min-width:0}.lib-brand>span:last-child{display:inline}.lib-search{order:3;flex-basis:100%;max-width:none}.lib-top-actions{gap:6px}.lib-top-actions .btn{width:38px;padding:0}.lib-top-actions .btn span{display:none}.lib-body{flex-direction:column}.lib-sidebar{width:100%;flex:none;flex-direction:row;align-items:center;gap:6px;padding:7px 12px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.lib-nav{flex-direction:row;gap:2px}.lib-nav button{width:auto;padding:0 10px}.lib-nav button span{display:none}.lib-nav button b{margin-left:0}.folder-head,.folder-list,.sidebar-foot{display:none}.trash-link{width:auto;margin-top:0;padding:0 10px}.trash-link span{display:none}.trash-link b{margin-left:0}.lib-main{padding:20px 14px 50px}.lib-heading{align-items:flex-start}.lib-heading h1{font-size:27px}.board-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.template-grid{grid-template-columns:1fr}.board-card{padding:6px;border-radius:15px}.board-thumb{border-radius:10px}.card-more{opacity:.78}.folder-more{opacity:.6}}
