:root{color:#1b2434;background:#fff;font-family:Avenir Next,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}.canvas-app{--board-file-drawer-width: min(480px, calc(100vw - 76px) );position:relative;width:100%;height:100%;overflow:hidden;background:#fff}.boot-screen,.auth-screen,.admin-screen,.home-screen{min-height:100%;display:grid;padding:24px;background:linear-gradient(135deg,rgba(45,103,246,.08),transparent 42%),linear-gradient(315deg,rgba(52,178,120,.12),transparent 44%),#fff}.boot-screen,.auth-screen{place-items:center}.admin-screen,.home-screen{align-content:start;gap:18px}.admin-header,.admin-section,.home-header,.home-section{color:#243048;background:#ffffffeb;border:1px solid rgba(157,170,194,.36);border-radius:16px;box-shadow:0 18px 40px #24334f1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;color:#243048;background:#ffffffeb;border:1px solid rgba(157,170,194,.36);border-radius:16px;box-shadow:0 18px 40px #24334f1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-header span,.home-header span,.section-eyebrow{display:block;font-size:13px;font-weight:700;color:#2d67f6}.admin-header h1,.admin-section h2,.home-header h1,.home-section h2{margin:6px 0 0}.home-header p,.profile-note{margin:8px 0 0;color:#243048c2}.admin-actions,.home-actions{display:flex;gap:8px}.admin-actions button,.home-actions button,.folder-create-form button,.profile-actions button{border:none;border-radius:10px;padding:10px 12px;font:inherit;cursor:pointer;color:#243048;background:#edf2fb}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-section{padding:16px}.home-section{padding:18px 20px;color:#243048;background:#ffffffeb;border:1px solid rgba(157,170,194,.36);border-radius:16px;box-shadow:0 18px 40px #24334f1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.folder-count{min-width:28px;border-radius:999px;padding:4px 9px;text-align:center;font-size:12px;color:#243048;background:#edf2fb}.folder-create-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;gap:12px;margin-top:18px}.folder-create-form label,.profile-locale-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.folder-create-form input,.folder-create-form select,.profile-locale-field select{width:100%;border:1px solid rgba(157,170,194,.48);border-radius:12px;padding:12px;font:inherit;color:#243048;background:#f8fbff}.folder-tree{display:flex;flex-direction:column;gap:10px;margin-top:18px}.folder-tree-node{display:flex;flex-direction:column;gap:10px}.folder-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:112px;border:1px solid rgba(157,170,194,.38);border-radius:14px;padding:16px;margin-left:min(calc(var(--folder-depth, 0) * 28px),160px);text-align:left;color:#243048;background:#f7faff;cursor:pointer}.folder-card strong{font-size:18px}.folder-card span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;border-radius:999px;padding:4px 10px;font-size:12px;color:#2d67f6;background:#2d67f61a}.folder-card small,.home-empty{color:#243048b8}.file-explorer{display:flex;flex-direction:column;gap:2px;margin-top:18px;min-height:0;overflow:auto;border:1px solid rgba(157,170,194,.28);border-radius:10px;padding:6px;background:#f8fbffb8}.file-explorer.is-separated-roots{gap:10px;overflow:visible;border:0;border-radius:0;padding:0;background:transparent}.board-menu .file-explorer{margin-top:0}.file-root-section{border:1px solid transparent;border-radius:10px;padding:5px;background:transparent;box-shadow:0 10px 24px #24334f00;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.file-root-section.is-expanded{border-color:#2d67f647;background:#fff;box-shadow:0 10px 24px #24334f0f}.file-root-stack-item{position:relative}.file-root-contents{min-height:0;display:flex;flex-direction:column;gap:2px}.file-root-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:4px;padding:0 0 6px;border-bottom:1px solid rgba(157,170,194,.18)}.file-root-toolbar button{display:grid;place-items:center;border:1px solid rgba(157,170,194,.28);border-radius:8px;padding:0;font:inherit;color:#243048;background:#fff;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.file-root-toolbar button:hover{border-color:#2d67f657;color:#2d67f6;background:#2d67f60f}.file-root-toolbar .file-root-add-button{width:38px;height:38px;border-color:#2d67f6b8;border-radius:11px;color:#fff;background:#2d67f6}.file-root-toolbar .file-root-add-button:hover,.file-root-toolbar.is-open .file-root-add-button{border-color:#2452d6db;color:#fff;background:#2458d8}.file-root-add-button svg{width:24px;height:24px}.file-root-create-menu{display:flex;align-items:center;gap:6px}.file-root-create-menu button{width:34px;height:34px;line-height:0}.file-root-create-menu .file-icon{width:18px;height:18px;color:#59677c}.file-node{display:flex;flex-direction:column;gap:2px}.file-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-height:34px;max-height:44px;border:1px solid transparent;border-radius:8px;padding:3px 5px 3px calc(6px + min(calc(var(--file-depth, 0) * 22px),154px));background:transparent;overflow:hidden;transform-origin:top;transition:background .14s ease,border-color .14s ease,min-height .16s ease,max-height .16s ease,margin .16s ease,padding .16s ease,opacity .12s ease,transform .16s ease;will-change:transform}.file-row:hover{border-color:#9daac247;background:#fff}.file-row.is-active{border-color:#2d67f66b;background:#2d67f61a}.file-row.is-drop-target{border-color:#2d67f680;background:#2d67f61f}.file-row.is-root-folder{min-height:42px;max-height:52px;border-color:#9daac23d;background:#fff;box-shadow:0 1px #24334f0a}.file-row.is-root-folder:hover{border-color:#2d67f647;background:#f7faff}.file-row.is-root-folder.is-root-expanded{border-color:#2d67f65c;background:#2d67f614}.file-row.is-root-folder .file-name-button{font-weight:700}.file-row.is-dragging-source{min-height:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;border-width:0;opacity:0;overflow:hidden;pointer-events:none;transform:scaleY(.82)}.file-drag-image{position:fixed;top:-1000px;left:-1000px;z-index:9999;opacity:.96;border-color:#2d67f65c;background:#fff;box-shadow:0 12px 26px #24334f2e}.file-row[draggable=true]{cursor:grab}.file-tree-guide{position:absolute;left:calc(14px + min(calc(var(--file-depth, 0) * 22px),154px));top:-3px;bottom:-3px;width:1px;background:#9daac238;transform:translate(-11px)}.file-row[style*="--file-depth: 0"] .file-tree-guide{display:none}.file-row-main{min-width:0;display:flex;align-items:center;gap:5px}.file-icon{flex:0 0 auto;width:18px;height:18px;color:#6d7b93}.file-icon svg,.file-row-actions svg,.file-disclosure svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.file-stacked-icon{position:relative;display:inline-block;width:18px;height:18px;color:currentColor}.file-stacked-icon svg{position:absolute;display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.file-stacked-icon-main{top:0;right:0;bottom:0;left:0;width:18px;height:18px;stroke-width:1.8}.file-stacked-icon-badge{position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:8px;height:8px;border:1px solid currentColor;border-radius:999px;background:#fff}.file-stacked-icon-badge svg{position:static;width:6px;height:6px;stroke-width:3}.file-icon-folder{color:#d09a2d}.file-icon-folder.is-root{color:#c4831f}.file-icon-board{color:#2d67f6}.file-spacer,.file-disclosure{flex:0 0 auto;width:18px;height:18px}.file-disclosure{display:grid;place-items:center;border:none;border-radius:5px;padding:3px;color:#6d7b93;background:transparent;cursor:pointer;transition:transform .14s ease,background .14s ease}.file-disclosure:hover{background:#9daac22e}.file-disclosure.is-expanded{transform:rotate(90deg)}.file-name-button{min-width:0;padding:0;border:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;color:#243048;background:transparent;cursor:pointer}.file-folder-name{display:contents}.file-row-main small{flex:0 0 auto;border-radius:999px;padding:1px 6px;font-size:11px;color:#2d67f6;background:#2d67f61a}.file-row-actions{display:flex;align-items:center;gap:3px;opacity:0;transform:translate(3px);transition:opacity .14s ease,transform .14s ease}.file-row:hover .file-row-actions,.file-row:focus-within .file-row-actions{opacity:1;transform:translate(0)}.file-row-actions button,.file-inline-form button{border:none;border-radius:7px;padding:0;font:inherit;font-size:12px;color:#243048;background:#edf2fb;cursor:pointer}.file-row-actions button{display:inline-grid;place-items:center;width:28px;height:28px;color:#59677c;background:transparent;line-height:0}.file-row-actions button:hover{color:#243048;background:#9daac22e}.file-row-actions button:last-child:hover{color:#8d2635;background:#fff0f2}.file-row-actions button>svg,.file-row-actions button>.file-stacked-icon{width:18px;height:18px}.file-inline-form button{display:grid;place-items:center;width:30px;height:30px;line-height:0;color:#59677c;background:#edf2fb}.file-inline-form button:hover{color:#243048;background:#9daac238}.file-inline-form button svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.file-row-actions button:disabled{opacity:.42;cursor:not-allowed}.file-rename-form,.file-inline-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.file-rename-form{flex:1}.file-rename-form input,.file-inline-form input{min-width:0;border:1px solid rgba(157,170,194,.42);border-radius:8px;padding:5px 8px;font:inherit;background:#fff}.file-inline-form{margin:2px 0 2px min(calc(var(--file-depth, 0) * 22px),154px);padding-left:31px}.file-children{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows .18s ease,opacity .16s ease}.file-children-inner{min-height:0;display:flex;flex-direction:column;gap:2px}.file-stack-item{position:relative;display:flex;flex-direction:column;gap:2px}.file-drop-slot{pointer-events:none;z-index:2}.file-drop-slot.is-line{position:absolute;left:calc(6px + min(calc(var(--file-depth, 0) * 22px),154px));right:6px;top:-3px;height:0;max-height:0;margin:0;overflow:visible;animation:fileDropLineIn .1s ease-out}.file-drop-slot.is-line.is-end{position:relative;left:auto;right:auto;top:auto;margin:-2px 0 0 calc(6px + min(calc(var(--file-depth, 0) * 22px),154px))}.file-drop-slot.is-line span{display:block;height:3px;border-radius:999px;background:#2d67f694;box-shadow:0 0 0 2px #2d67f61a;transform-origin:left center}.file-drop-slot.is-line.is-inside span{background:#34b2789e;box-shadow:0 0 0 2px #34b2781c}.file-drop-slot.is-leaving{pointer-events:none}.file-drop-slot.is-line.is-leaving{animation:fileDropLineOut .1s ease-in forwards}@keyframes fileDropLineIn{0%{opacity:0;transform:scaleX(.92)}to{opacity:1;transform:scaleX(1)}}@keyframes fileDropLineOut{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.92)}}.file-children.is-expanded{grid-template-rows:1fr;opacity:1}.profile-section{display:flex;flex-direction:column;gap:18px}.profile-actions{display:flex;justify-content:flex-start}.admin-section-wide{grid-column:1 / -1}.admin-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-metric,.admin-list-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#f7faff}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-table{display:flex;flex-direction:column;gap:6px}.admin-table-row{display:grid;grid-template-columns:1.1fr 1.3fr .7fr 1fr;gap:12px;padding:10px 12px;border-radius:12px;background:#f7faff;font-size:13px}.admin-table-head{font-weight:700;background:#edf2fb}@media (max-width: 900px){.home-header,.home-section-header{flex-direction:column}.folder-create-form,.admin-grid{grid-template-columns:1fr}.admin-section-wide{grid-column:auto}.admin-table-row{grid-template-columns:1fr}}.boot-screen{color:#243048b8;font-size:15px}.board-loading-screen{color:transparent}.board-loader{width:42px;height:42px;border:2px solid rgba(45,103,246,.14);border-top-color:#2d67f6b8;border-radius:999px;box-shadow:0 14px 34px #24334f14;animation:board-loader-spin .78s linear infinite}@keyframes board-loader-spin{to{transform:rotate(360deg)}}.auth-panel{width:min(420px,100%);padding:24px;color:#243048;background:#ffffffeb;border:1px solid rgba(157,170,194,.36);border-radius:18px;box-shadow:0 24px 70px #24334f24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-heading span{display:block;font-size:13px;font-weight:700;color:#2d67f6}.auth-heading h1{margin:6px 0 18px;font-size:28px;line-height:1.1}.auth-locale-label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:13px;font-weight:600}.auth-locale-label select{width:100%;border:1px solid rgba(157,170,194,.48);border-radius:12px;padding:12px;font:inherit;color:#243048;background:#f8fbff}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.auth-tabs button,.auth-form button{border:none;border-radius:10px;padding:11px 12px;font:inherit;cursor:pointer}.auth-tabs button{color:#243048;background:#edf2fb}.auth-tabs button.is-active,.auth-form button{color:#f7faff;background:#172033}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.auth-form input{width:100%;border:1px solid rgba(157,170,194,.48);border-radius:12px;padding:12px;font:inherit;color:#243048;background:#f8fbff}.auth-error{padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4;color:#8d2635;background:#fff0f2}.tool-panel,.inspector-panel,.account-panel,.board-menu{position:absolute;z-index:10;color:#243048;background:#ffffffe0;border:1px solid rgba(157,170,194,.4);border-radius:16px;box-shadow:0 18px 40px #24334f1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tool-panel{top:18px;left:76px;display:flex;align-items:center;gap:5px;min-height:45px;padding:6px;border-color:#9daac247;border-radius:12px;background:#f1f2faeb;box-shadow:0 16px 34px #24334f1a}.board-bottom-controls{position:absolute;z-index:10;left:18px;bottom:18px;display:flex;align-items:center;gap:13px;color:#243048}.board-bottom-block{display:flex;align-items:center;gap:8px;min-height:45px;padding:6px;border:1px solid rgba(157,170,194,.28);border-radius:12px;background:#f1f2faeb;box-shadow:0 16px 34px #24334f1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.board-bottom-block button{display:grid;place-items:center;min-width:35px;height:32px;border:0;border-radius:8px;padding:0 10px;font:inherit;font-weight:600;color:#243048;background:transparent;cursor:pointer;transition:background .14s ease,color .14s ease,opacity .14s ease;-webkit-tap-highlight-color:transparent}.board-bottom-block button:hover:not(:disabled){background:#24304814}.board-bottom-block button:active:not(:disabled){background:#2430481f}.board-bottom-block button.is-selected{color:#fff;background:#172033}.board-bottom-block button.is-selected:hover:not(:disabled),.board-bottom-block button.is-selected:active:not(:disabled){color:#fff;background:#172033}.board-bottom-block button:disabled{opacity:.34;cursor:not-allowed}.board-display-controls{gap:3px}.board-zoom-indicator{min-width:50px;color:#243048b8;font-size:14px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;text-shadow:0 1px 8px rgba(255,255,255,.85);transform:translate(-4px);transition:opacity .16s ease,transform .16s ease;-webkit-user-select:none;user-select:none}.board-zoom-indicator.is-visible{opacity:1;transform:translate(0)}.board-display-controls button{width:37px;padding:0;line-height:0}.vocab-visibility-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vocab-visibility-icon .is-muted{opacity:.42}.vocab-visibility-icon .is-italic{transform:skew(-12deg);transform-box:fill-box;transform-origin:center}.board-history-controls{gap:5px}.board-history-controls button{width:37px;padding:0;line-height:0}.board-history-controls svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.inspector-panel{top:76px;left:18px;display:flex;flex-direction:column;gap:8px;width:min(300px,calc(100vw - 110px));padding:8px;border-color:#9daac247;border-radius:12px;background:#f1f2faeb;box-shadow:0 16px 34px #24334f1a}.board-menu{right:18px;top:18px;width:min(320px,calc(100vw - 110px));max-height:min(460px,calc(100vh - 170px));display:flex;flex-direction:column;gap:10px;padding:12px}.board-file-drawer-toggle{position:absolute;z-index:30;top:18px;left:18px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(157,170,194,.36);border-radius:12px;color:#243048;background:#fffffff0;box-shadow:0 14px 30px #24334f1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:left .24s ease,color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.board-file-drawer-toggle:hover{border-color:#2d67f66b;color:#2d67f6;background:#fff}.board-file-drawer-toggle.is-open{left:calc(var(--board-file-drawer-width) + 14px);color:#fff;border-color:#2d67f685;background:#2d67f6;box-shadow:0 16px 34px #24334f33}.board-file-drawer-toggle.is-open:hover{color:#fff;background:#2458d8}.board-file-drawer-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.board-file-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#11192852;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.board-file-drawer{position:absolute;z-index:30;top:0;bottom:0;left:0;width:var(--board-file-drawer-width);transform:translate(calc(-1 * var(--board-file-drawer-width)));color:#243048;background:#fffffff5;border-right:1px solid rgba(157,170,194,.4);border-radius:0 18px 18px 0;box-shadow:24px 0 54px #24334f2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none;transition:transform .24s ease}.board-file-drawer.is-open{transform:translate(0);pointer-events:auto}.board-file-drawer .board-menu{position:static;width:auto;max-height:none;height:100%;border:0;border-radius:0;padding:18px 16px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.board-file-drawer .file-explorer{flex:1}.board-menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.board-menu-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-menu-folder-title{display:block;margin-bottom:2px;color:#243048ad}.board-menu-header span{min-width:24px;border-radius:999px;padding:3px 7px;text-align:center;font-size:12px;color:#243048;background:#edf2fb}.board-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.board-create-form input{min-width:0;border:1px solid rgba(157,170,194,.42);border-radius:10px;padding:9px 10px;font:inherit;color:#243048;background:#f8fbff}.board-list{display:flex;flex-direction:column;gap:7px;min-height:0;overflow:auto}.board-folder-list{display:flex;flex-direction:column;gap:7px;max-height:124px;overflow:auto}.board-folder-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;color:#243048;background:#f7faff}.board-folder-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-folder-button small{color:#2430489e}.board-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.board-list-item.is-active .board-open-button{color:#f7faff;background:#172033}.board-open-button{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:#243048;background:#edf2fb}.board-open-button span,.board-open-button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-open-button small{opacity:.7}.board-delete-button{color:#8d2635;background:#fff0f2}.board-delete-button:disabled{opacity:.45;cursor:not-allowed}.board-menu-error{border-radius:10px;padding:9px 10px;font-size:12px;line-height:1.4;color:#8d2635;background:#fff0f2}.account-panel{right:18px;bottom:18px;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 36px));padding:10px 12px}.account-panel div{min-width:0;display:flex;flex-direction:column;gap:2px}.account-panel strong,.account-panel span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel span{font-size:12px;color:#243048ad}.tool-panel button,.inspector-panel button,.account-panel button{border:none;border-radius:10px;padding:8px 12px;cursor:pointer}.account-panel button{color:#243048;background:#edf2fb}.tool-panel button{display:grid;place-items:center;width:37px;height:32px;padding:0;color:#243048b8;background:transparent;transition:background .14s ease,color .14s ease,opacity .14s ease;-webkit-tap-highlight-color:transparent}.tool-panel button:hover{color:#243048;background:#24304814}.tool-panel button:active{background:#2430481f}.tool-panel button svg{display:block;width:19px;height:19px;stroke-width:2}.tool-panel button.is-secondary{min-height:40px;font-size:12px;color:#243048;background:#edf2fb}.tool-panel button.is-selected,.tool-panel button.is-selected:hover,.tool-panel button.is-selected:active{color:#fff;background:#172033}.tool-panel button.is-selected.is-secondary{color:#f7faff;background:#172033}.tool-divider{height:1px;margin:2px 0;background:#9daac252}.panel-header{display:flex;align-items:center;gap:8px;min-height:30px;margin:0;padding:0 8px;color:#243048ad;font-size:12px;font-weight:700}.panel-header svg{display:block;width:16px;height:16px;stroke-width:2.2}.panel-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-section{display:flex;flex-direction:column;gap:8px;padding:8px;margin:0;border:0;border-radius:10px;background:#ffffff7a}.panel-section label{display:grid;grid-template-columns:minmax(78px,1fr) auto auto;align-items:center;gap:10px;min-height:30px;color:#243048b8;font-size:12px;font-weight:650}.panel-section label span{min-width:36px;color:#2430489e;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.panel-section input[type=range]{width:108px;accent-color:#172033}.panel-section input[type=color]{width:31px;height:31px;border:2px solid rgba(255,255,255,.84);border-radius:8px;padding:1px;background:#ffffffb3;box-shadow:0 1px 5px #24334f1f;cursor:pointer}.section-label{color:#243048b3;font-size:12px;font-weight:700}.text-control-row{display:grid;grid-template-columns:minmax(78px,1fr) auto;align-items:center;gap:10px;min-height:30px}.text-button-group{display:flex;align-items:center;gap:4px;padding:3px;border-radius:9px;background:#e7edf8c2}.text-button-group button{display:grid;place-items:center;width:30px;height:28px;border:0;border-radius:7px;padding:0;color:#243048b8;background:transparent;line-height:0;cursor:pointer}.text-button-group button:hover{color:#243048;background:#24304814}.inspector-panel .text-button-group button.is-selected,.inspector-panel .text-button-group button.is-selected:hover,.inspector-panel .text-button-group button.is-selected:active{color:#fff;background:#172033}.text-size-buttons button span{display:block;font-weight:850;line-height:1}.text-align-buttons button svg{display:block;width:16px;height:16px;stroke-width:2}.layer-controls{display:flex;gap:6px}.layer-controls button,.ghost-button{color:#243048;background:#e7edf8d9}.inspector-panel button:hover{background:#24304814}.inspector-panel button:active{background:#2430481f}.layer-controls button{display:grid;place-items:center;width:34px;height:32px;padding:0;line-height:0}.layer-controls button svg,.inspector-text-button svg{display:block;width:17px;height:17px;stroke-width:2}.inspector-text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;color:#243048;font-weight:700}.inspector-text-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-button{color:#fff7f7;background:#c94b5b}.eraser-cursor{position:fixed;z-index:12;pointer-events:none;border:1.5px solid rgba(23,32,51,.78);background:#2d67f614}.panel-empty,.panel-footer{margin-top:12px;font-size:12px;line-height:1.4;color:#243048b8}.canvas-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overscroll-behavior:none;touch-action:none}.context-menu{position:fixed;z-index:20;display:flex;flex-direction:column;gap:8px;min-width:220px;padding:10px;background:#fffffff2;border:1px solid rgba(157,170,194,.38);border-radius:14px;box-shadow:0 18px 40px #24334f29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.context-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:transparent}.context-menu button{border:none;border-radius:10px;padding:10px 12px;text-align:left;color:#243048;background:#edf2fb;cursor:pointer}.context-menu button:disabled{opacity:.52;cursor:not-allowed}.context-menu-message{max-width:260px;padding:2px 4px 0;color:#243048ad;font-size:12px;line-height:1.35}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#141d2e38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vocab-modal{display:flex;flex-direction:column;width:min(790px,calc(100vw - 36px));height:min(1040px,calc(100vh - 36px));max-height:calc(100vh - 36px);overflow:hidden;padding:16px;border-radius:18px;background:#fffffff7;border:1px solid rgba(157,170,194,.2);box-shadow:0 24px 60px #24334f2e}.vocab-modal-layout{display:flex;min-height:0;flex:1;flex-direction:column}.vocab-lookup-panel,.vocab-lookup-inline{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;border:1px solid rgba(157,170,194,.16);border-radius:12px;background:#f7faffb8}.vocab-lookup-panel p,.vocab-lookup-inline p{margin:0;line-height:1.45;color:#243048c7}.vocab-lookup-inline{margin-top:10px}.vocab-lookup-inline:empty{display:none}.vocab-lookup-error{color:#8d2635!important}.vocab-lookup-summary{display:flex;flex-direction:column;gap:10px}.vocab-lookup-row{display:flex;flex-direction:column;gap:3px}.vocab-modal-form{display:flex;flex:1;flex-direction:column;width:100%;min-width:0;min-height:0}.vocab-modal label{position:relative;display:flex;flex-direction:column;gap:6px;font-size:12px}.vocab-modal-form>label+label{margin-top:12px}.vocab-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.vocab-term-field{padding:14px 14px 12px;border:1px solid rgba(157,170,194,.16);border-radius:16px;background:#fffffffa;box-shadow:0 12px 26px #24334f1a}.vocab-term-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.vocab-term-input-wrap{position:relative;min-width:0}.vocab-modal input,.vocab-modal textarea{width:100%;font:inherit;text-align:left;color:#243048;outline:none;box-shadow:none}.vocab-term-row input{min-height:42px;border:1px solid rgba(157,170,194,.32);border-radius:12px;padding:10px 12px;font-size:15px;line-height:1.25;background:#f8fbffdb}.vocab-term-input-wrap.is-speachable input{padding-right:48px}.vocab-term-row input:focus{border-color:#2d67f67a;background:#fff}.vocab-modal textarea{min-height:34px;resize:none;overflow:hidden}.vocab-lookup-button,.vocab-speech-button,.vocab-suggestion-list button{border:none;border-radius:9px;padding:8px 11px;font:inherit;font-size:13px;cursor:pointer;color:#243048;background:#e7edf8}.vocab-lookup-button{display:grid;place-items:center;height:42px;padding:0 13px}.vocab-speech-button{display:grid;place-items:center;width:38px;height:42px;padding:0}.vocab-speech-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vocab-term-speech-button{position:absolute;top:50%;right:6px;width:30px;height:30px;color:#2430489e;background:#e7edf8b8;transform:translateY(-50%)}.vocab-term-speech-button svg{width:15px;height:15px}.vocab-lookup-button:disabled,.vocab-speech-button:disabled{opacity:.45;cursor:not-allowed}.vocab-suggestion-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.vocab-usages-section{display:flex;min-height:0;flex:1;flex-direction:column;margin-top:14px}.vocab-usages-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:#243048a8}.vocab-usages-header button,.vocab-usage-delete{border:none;border-radius:9px;padding:7px 10px;font:inherit;cursor:pointer;color:#243048;background:#e7edf8}.vocab-usages-list{display:flex;flex:1 1 auto;flex-direction:column;gap:9px;min-height:0;margin-top:10px;overflow-x:hidden;overflow-y:auto;padding:2px 4px 10px 0}.vocab-usage-row{display:grid;grid-template-columns:18px minmax(130px,.8fr) minmax(110px,.55fr) minmax(180px,1.25fr) minmax(180px,1.25fr) 30px;gap:14px;align-items:start;padding:13px 12px 12px;border:1px solid rgba(157,170,194,.16);border-radius:16px;background:#fffffffa;box-shadow:0 10px 24px #24334f1a;transform-origin:center}.vocab-usage-row.is-new-usage{animation:vocab-usage-spring .26s cubic-bezier(.2,.85,.26,1.08);border-color:#2d67f647;box-shadow:0 14px 32px #2d67f629,0 10px 24px #24334f1a;z-index:1}@keyframes vocab-usage-spring{0%{transform:scale(1)}18%{transform:scale(1.04)}42%{transform:scale(.98)}66%{transform:scale(1.02)}to{transform:scale(1)}}.vocab-usage-row:active{cursor:grabbing}.vocab-usage-drag{display:grid;place-items:start center;padding-top:9px;color:#2430486b;cursor:grab;font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.vocab-usage-row label{gap:0;min-width:0;padding-top:22px;align-self:start}.vocab-usage-row label:after{position:absolute;top:17px;left:0;right:0;height:2px;border-radius:999px;background:#2d67f6;content:""}.vocab-usage-row .vocab-field-label{position:absolute;top:0;left:0;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal;font-size:11px;font-style:italic;font-weight:500;line-height:1;color:#00000075;pointer-events:none}.vocab-usage-row .vocab-field-label-with-action{display:flex;align-items:center;gap:5px;pointer-events:auto}.vocab-field-speech-button{display:grid;place-items:center;width:16px;height:16px;border:0;border-radius:999px;padding:0;color:#24304894;background:#e7edf8c2;cursor:pointer}.vocab-field-speech-button svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.vocab-usage-row textarea,.vocab-usage-row input{width:100%;border:0;border-radius:0;padding:8px 2px 2px;font-size:14px;line-height:1.22;background:transparent}.vocab-usage-row textarea{min-height:34px}.vocab-usage-delete{align-self:start;min-width:30px;min-height:30px;padding:0;color:#8d2635;background:#ffe9ecb8}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.modal-actions button{border:none;border-radius:10px;padding:10px 12px;cursor:pointer}.board-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.board-canvas.is-selecting{cursor:default}.board-canvas.is-texting{cursor:text}.board-canvas.is-active.is-selecting{cursor:grabbing}.board-text-editor{position:absolute;z-index:6;display:block;min-width:24px;min-height:18px;border:0;outline:none;padding:0 2px;overflow:hidden;resize:none;color:#222831;background:transparent;caret-color:currentColor;transform-origin:0 0;white-space:pre-wrap;word-break:normal;overflow-wrap:normal}@media (max-width: 900px){.tool-panel{left:66px;top:12px;max-width:calc(100vw - 78px);overflow-x:auto}.board-bottom-controls{left:12px;bottom:12px;gap:8px;max-width:calc(100vw - 24px);overflow-x:auto}.board-bottom-block{min-height:42px;padding:5px;flex:0 0 auto}.board-bottom-block button{min-width:34px;height:31px;padding:0 8px;font-size:13px}.board-file-drawer-toggle{left:12px;top:12px;width:42px;height:42px}.board-file-drawer-toggle.is-open{left:calc(var(--board-file-drawer-width) + 10px)}.inspector-panel{left:12px;right:12px;top:66px;bottom:auto;width:auto;max-height:calc(100vh - 150px);overflow-y:auto}.context-menu{max-width:calc(100vw - 24px)}.vocab-modal-layout{grid-template-columns:1fr}.vocab-usage-row{grid-template-columns:18px minmax(0,1fr) 30px}.vocab-usage-row label{grid-column:2 / 3}.vocab-usage-delete{grid-column:3 / 4;grid-row:1 / 2}}
