:root{--font-serif: "Arpona", "arpona", Georgia, "Times New Roman", serif;--font-sans: "ArponaSans", "arponasans", "Avenir Next", "Trebuchet MS", sans-serif;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.0625rem;--text-bg: 1.15rem;--text-lg: 1.25rem;--text-xl: 1.4rem;--text-2xl: 1.6rem;--text-3xl: 1.875rem;--text-4xl: 2.125rem;--text-5xl: 3rem;--text-6xl: 4rem;--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px;--color-gray: #909491;--color-gray-50: #fcfcfc;--color-gray-100: #f5f5f5;--color-gray-200: #d6d8d6;--color-gray-300: #bfc1bf;--color-gray-400: #a7aba8;--color-gray-500: #909491;--color-gray-600: #6f7370;--color-gray-700: #4e514f;--color-gray-800: #2e2f2e;--color-gray-900: #0d0e0d;--color-primary: #211e87;--color-primary-50: #dad9f7;--color-primary-100: #bfbef0;--color-primary-200: #8a87e4;--color-primary-300: #5551d8;--color-primary-400: #2e2abd;--color-primary-500: #211e87;--color-primary-600: #1e1b7a;--color-primary-700: #1b186e;--color-primary-800: #181661;--color-primary-900: #151355;--color-primary-bg: #232163;--color-secondary: #f0b80a;--color-secondary-50: #f9d874;--color-secondary-100: #f9d567;--color-secondary-200: #f8ce4f;--color-secondary-300: #f6c836;--color-secondary-400: #f5c11e;--color-secondary-500: #f0b80a;--color-secondary-600: #e6b00a;--color-secondary-700: #dca909;--color-secondary-800: #d2a109;--color-secondary-900: #b29146;--color-secondary-1000: #aa7d24;--color-tertiary: #6d43a3;--color-tertiary-50: #ccbbe3;--color-tertiary-100: #c2acdd;--color-tertiary-200: #ac8fd1;--color-tertiary-300: #9772c5;--color-tertiary-400: #8155b9;--color-tertiary-500: #6d43a3;--color-tertiary-600: #52337b;--color-tertiary-700: #382253;--color-tertiary-800: #1d122c;--color-tertiary-900: #030204;--brand-primary: var(--color-primary-500);--brand-primary-bg: var(--color-primary-bg);--brand-secondary: var(--color-secondary-500);--brand-gray: var(--color-gray-500);color:#2e2f2e;font-family:var(--font-sans);background:#f5f6fa}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:#f5f6fa}button,input{font:inherit}.ui-icon{width:var(--icon-md);height:var(--icon-md);display:block;flex:0 0 auto}.ui-icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.ui-icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.ui-icon-md{width:var(--icon-md);height:var(--icon-md)}.ui-icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.ui-icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.color-picker{position:relative;display:inline-flex;flex:0 0 auto}.color-picker-swatch{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;pointer-events:none}.color-picker-swatch-fill{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-picker-value)}.color-picker-swatch-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,rgba(124,133,158,.16) 25%,transparent 25%),linear-gradient(-45deg,rgba(124,133,158,.16) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(124,133,158,.16) 75%),linear-gradient(-45deg,transparent 75%,rgba(124,133,158,.16) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.color-picker-panel{position:fixed;z-index:140;width:216px;border:1px solid #cfd5e5;border-radius:12px;background:#fff;box-shadow:0 14px 30px #1b233d3d;padding:10px;display:flex;flex-direction:column;gap:8px}.color-picker-widget{width:100%!important;height:164px!important}.color-picker-widget .react-colorful__saturation{border-radius:9px;margin-bottom:8px}.color-picker-widget .react-colorful__hue,.color-picker-widget .react-colorful__alpha{height:10px;border-radius:999px}.color-picker-widget .react-colorful__hue-pointer,.color-picker-widget .react-colorful__alpha-pointer{width:14px;height:14px}.color-picker-meta{display:flex;align-items:center;gap:8px}.color-picker-hex{flex:1;min-width:0;border:1px solid #cfd4df;border-radius:8px;padding:6px 8px;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;color:#27304d;background:#fff}.color-picker-opacity{min-width:42px;text-align:right;font-size:.76rem;color:#5f6782;font-variant-numeric:tabular-nums}.color-picker-theme{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.color-picker-theme-swatch{width:100%;aspect-ratio:1 / 1;border:1px solid #cfd4df;border-radius:8px;background:#fff;padding:0;cursor:pointer;overflow:hidden;position:relative}.color-picker-theme-swatch:hover{border-color:var(--color-primary-500)}.color-picker-theme-swatch.active{outline:2px solid var(--color-primary-500);outline-offset:1px}.color-picker-theme-fill{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-picker-theme-value)}.app-shell{display:flex;flex-direction:column;height:100%;gap:12px;padding:12px}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid #dfe3ef;background:#fff}.brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.brand-logo{height:38px;width:auto}.brand-tagline{color:var(--color-primary-700);font-family:var(--font-sans);font-size:.93rem;font-weight:400;letter-spacing:.01em;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.add-button{border:1px solid transparent;border-radius:8px;padding:10px 18px;background:var(--color-primary-700);color:#fff;font-weight:700;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.add-button:hover{background:var(--color-secondary-500);border-color:#fff;color:#fff}.language-switch{display:inline-flex;align-items:center;gap:0;border:1px solid #cfd3df;border-radius:999px;padding:2px;background:#f7f8fd}.language-switch button{border:none;border-radius:999px;background:transparent;color:#575d70;min-width:34px;height:28px;padding:0 10px;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.02em}.language-switch button.active{background:var(--color-primary-700);color:#fff}.language-switch button:not(.active):hover{background:#eef1fb;color:var(--color-primary-700)}.status-menu{position:relative}.status-dot-button{width:30px;height:30px;border-radius:999px;border:none;background:transparent;display:grid;place-items:center;cursor:pointer}.status-dot{width:11px;height:11px;border-radius:50%}.status-dot-button.online .status-dot{background:#1b9a70}.status-dot-button.offline .status-dot{background:#d15a46}.status-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(380px,calc(100vw - 30px));border:1px solid #d0d3df;border-radius:12px;background:#fff;padding:10px}.status-row{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:start;padding:5px 0;font-size:.86rem;color:#555b69}.status-row strong{color:#282d3c;font-weight:600}.status-row code{word-break:break-all;font-size:.79rem;color:#3b4460;background:#f4f6fb;border:1px solid #d8dbe8;border-radius:6px;padding:2px 6px}.status-link-value{display:flex;align-items:center;gap:6px;min-width:0}.status-link-value code{min-width:0;max-height:80px;overflow:auto}.status-login-form,.status-room-create-form{margin-top:8px;display:flex;flex-direction:column;gap:7px}.status-login-form label,.status-room-create-form label{display:flex;flex-direction:column;gap:4px;font-size:.81rem;color:#555b69}.status-login-form input,.status-room-create-form input,.status-room-create-form select{border:1px solid #d0d6e4;border-radius:8px;padding:7px 9px;background:#fff;color:#27304d}.status-inline-button{border:1px solid transparent;border-radius:8px;background:var(--color-primary-700);color:#fff;padding:7px 10px;font-size:.8rem;font-weight:700;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.status-inline-button:hover{background:var(--color-secondary-500);border-color:#fff}.status-inline-button:disabled{opacity:.55;cursor:not-allowed}.header-nav-link{text-decoration:none;line-height:1;display:inline-flex;align-items:center}.header-icon-button{width:42px;height:42px;border-radius:12px;border:none;background:transparent;color:var(--color-primary-700);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;line-height:0;cursor:pointer;transition:background-color .13s ease,box-shadow .13s ease,color .13s ease}.header-icon-glyph{width:var(--icon-xl);height:var(--icon-xl)}.header-icon-button:hover{background:var(--color-primary-50);box-shadow:0 1px 5px #211e871f}.header-icon-button.active{background:#eef1ff;color:var(--color-primary-600);box-shadow:0 2px 8px #211e8729,inset 0 0 0 1px #2e2abd24}.header-icon-button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.header-icon-button:disabled .header-icon-glyph{opacity:.8}.status-error{margin:7px 0 0;color:#b04a34;font-size:.8rem}.status-info{margin:7px 0 0;color:#4a5471;font-size:.8rem}.status-room-list-wrap{margin-top:10px}.status-room-title{margin:0 0 6px;font-size:.82rem;color:#555b69}.status-empty{margin:0;font-size:.8rem;color:#687089}.status-room-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto;padding-right:2px}.status-room-item{border:1px solid #d3d7e4;border-radius:8px;background:#fff;text-align:left;padding:6px 8px;display:flex;flex-direction:column;gap:2px;cursor:pointer;color:#27304d}.status-room-item span{font-size:.84rem;font-weight:600}.status-room-item small{color:#66708d;font-size:.74rem}.status-room-item.active{border-color:var(--color-primary-500);background:var(--color-primary-50)}.user-edit-item{gap:8px}.user-edit-item label{display:flex;flex-direction:column;gap:4px;font-size:.77rem;color:#4b536b}.user-edit-item input,.user-edit-item select{border:1px solid #d0d6e4;border-radius:8px;padding:7px 9px;background:#fff;color:#27304d}.user-edit-item .status-inline-button{align-self:flex-end}.timeline-editor{margin-top:10px;display:flex;flex-direction:column;gap:6px}.timeline-editor input,.timeline-editor textarea{border:1px solid #d0d6e4;border-radius:8px;padding:7px 9px;background:#fff;color:#27304d;font:inherit}.timeline-editor textarea{resize:vertical;min-height:72px}.timeline-editor-panel{margin-top:0}.timeline-preset-actions{display:flex;gap:6px;flex-wrap:wrap}.timeline-preset-actions .status-action-button{flex:1 1 0;min-width:92px}.timeline-list{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto;padding-right:2px}.timeline-item{border:1px solid #d3d7e4;border-radius:8px;background:#fff;padding:8px}.timeline-item-head{display:flex;justify-content:space-between;gap:8px}.timeline-item-head strong{font-size:.84rem;color:#27304d}.timeline-item-head span{color:#66708d;font-size:.74rem;white-space:nowrap}.timeline-item p{margin:6px 0 0;font-size:.79rem;color:#44506d}.timeline-item-actions{margin-top:8px;display:flex;gap:6px}.timeline-export-row{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.room-tools-grid .status-action-button{min-width:120px}.room-tools-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.82rem;color:#4f576e}.side-panel label.room-tools-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap}.room-tools-toggle input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;flex:0 0 auto}.room-tools-toggle span{font-size:.86rem;line-height:1.2;white-space:nowrap}.status-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.status-action-button{border:1px solid #cfd5e5;border-radius:8px;background:#fff;color:var(--color-primary-700);padding:6px 10px;font-size:.78rem;font-weight:600;cursor:pointer}.status-action-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.status-action-button:disabled{opacity:.55;cursor:not-allowed}.danger-inline{border-color:#dcb1ac;color:#9f3d2f;background:#fff6f4}.danger-inline:hover{border-color:#c87366;background:#ffeceb}.copy-link-button{width:24px;height:24px;border-radius:6px;border:1px solid #cfd5e5;background:#fff;color:var(--color-primary-700);display:grid;place-items:center;cursor:pointer;line-height:1;padding:0}.copy-link-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.hidden-file-input{display:none}.workspace{min-height:0;flex:1;display:grid;grid-template-columns:1fr 300px;grid-template-rows:minmax(0,1fr);gap:12px;overflow:hidden}.app-shell.presenter-mode .workspace,.workspace.presenter-layout{grid-template-columns:1fr}.app-shell.presenter-mode .side-panel,.app-shell.presenter-mode .board-toolbar{display:none}.board-stage{min-height:0;display:flex;flex-direction:column;gap:8px}.board-toolbar{--toolbar-surface: #fff;--toolbar-edge-size: 14px;border:1px solid #d7dced;border-radius:12px;background:var(--toolbar-surface);padding:6px 8px;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:62px;position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.board-toolbar::-webkit-scrollbar{width:0;height:0}.board-toolbar:before,.board-toolbar:after{content:"";position:absolute;top:0;bottom:0;width:var(--toolbar-edge-size);pointer-events:none;z-index:2}.board-toolbar:before{left:0;background:linear-gradient(to right,var(--toolbar-surface),rgba(255,255,255,0))}.board-toolbar:after{right:0;background:linear-gradient(to left,var(--toolbar-surface),rgba(255,255,255,0))}.board-toolbar>*{flex:0 0 auto;position:relative;z-index:1}.board-toolbar-tools{display:flex;align-items:center;gap:6px;padding-right:6px;border-right:1px solid #e0e5f2;flex:0 0 auto}.board-tool-button{width:30px;height:30px;border-radius:8px;border:1px solid #cfd5e5;background:#fff;color:var(--color-primary-700);font-size:1rem;font-weight:700;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}.board-tool-button .board-tool-glyph{width:var(--icon-md);height:var(--icon-md)}.board-tool-button .board-tool-glyph-line{width:calc(var(--icon-md) + 1px);height:calc(var(--icon-md) + 1px);transform:rotate(-45deg)}.board-tool-button .board-tool-glyph-ellipse{width:calc(var(--icon-md) + 2px);height:var(--icon-sm)}.board-tool-button .board-tool-glyph-ellipse ellipse{fill:none;stroke:currentColor;stroke-width:2}.board-tool-button:hover{border-color:var(--color-primary-400);background:#f9fbff}.board-tool-button.active{border-color:var(--color-primary-500);background:var(--color-primary-50)}.board-tool-button:disabled{opacity:.55;cursor:not-allowed}.board-toolbar-field{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:#4f576e}.board-toolbar-field span{white-space:nowrap}.board-toolbar-field.compact span{font-size:.72rem;font-weight:700;color:#5b6380}.board-inline-glyph{width:var(--icon-sm);height:var(--icon-sm)}.board-toolbar-color-trigger{width:30px;height:30px;border:1px solid #c9d0e5;border-radius:9px;padding:0;margin:0;background:transparent;cursor:pointer;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 auto}.board-toolbar-color-trigger:hover:not(:disabled){border-color:var(--color-primary-500)}.board-toolbar-color-trigger:disabled{opacity:.58;cursor:not-allowed}.board-toolbar-relation{gap:6px}.board-toolbar-relation select{min-width:120px;border:1px solid #cfd4df;border-radius:8px;padding:5px 7px;background:#fff;color:#27304d}.board-toolbar-number-input,.board-toolbar-select-input{border:1px solid #cfd4df;border-radius:8px;padding:5px 7px;background:#fff;color:#27304d;min-height:30px}.board-toolbar-text-size .board-toolbar-number-input{width:64px}.board-toolbar-text-weight .board-toolbar-select-input{width:72px}.board-toolbar-icon-toggle{width:30px;height:30px;border-radius:9px;border:1px solid #cbd2e6;background:#fdfdff;color:var(--color-primary-700);display:grid;place-items:center;line-height:0;padding:0;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.board-toolbar-icon-toggle:hover:not(:disabled){border-color:var(--color-primary-500);background:var(--color-primary-50)}.board-toolbar-icon-toggle.active{border-color:var(--color-primary-500);background:var(--color-primary-50)}.board-toolbar-icon-toggle:disabled{opacity:.48;cursor:not-allowed}.board-toolbar-opacity input[type=range]{width:110px}.board-toolbar-opacity strong{min-width:24px;font-size:.75rem;color:#3d4460}.board-toolbar-text textarea{width:min(220px,34vw);border:1px solid #cfd4df;border-radius:8px;padding:5px 7px;background:#fff;color:#27304d;resize:none;line-height:1.25;min-height:46px;height:46px}.board-toolbar-delete{width:30px;height:30px;border-radius:8px;border:1px solid #d9b6b0;background:#fff;color:#9f3d2f;font-size:.95rem;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}.board-toolbar-delete .board-inline-glyph{width:var(--icon-md);height:var(--icon-md)}.board-toolbar-delete:hover{background:#fff3f1;border-color:#c67a6f}.admin-page{border-radius:14px;border:1px solid #d0d2de;background:#fff;padding:14px;display:flex;flex-direction:column;gap:12px;overflow:auto}.admin-card{border:1px solid #d7dbea;border-radius:10px;padding:12px;background:#fff}.admin-card h2,.admin-card h3{margin:0;color:var(--brand-primary)}.admin-card h2{font-size:1rem}.admin-card h3{font-size:.92rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-card-wide{grid-column:1 / -1}.admin-user-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}.board-root{position:relative;overflow:hidden;border-radius:14px;border:1px solid #d2d4df;background:#fff;cursor:grab;min-height:0;flex:1}.board-root.edit-disabled .figure,.board-root.edit-disabled .annotation-line,.board-root.edit-disabled .annotation-shape,.board-root.edit-disabled .board-text-note{cursor:default}.board-root.panning{cursor:grabbing!important}.board-root.tool-line,.board-root.tool-text,.board-root.tool-circle,.board-root.tool-ellipse,.board-root.tool-rectangle{cursor:crosshair}.board-world{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.board-lines-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:auto;z-index:0}.annotation-line,.annotation-shape{cursor:default}.annotation-line.selected,.annotation-shape.selected{filter:saturate(1.04)}.annotation-handle{fill:#fff;stroke:var(--color-primary-700);stroke-width:1.7;cursor:pointer}.annotation-delete circle{fill:#fff;stroke:#b94b3a;stroke-width:1.5;cursor:pointer}.annotation-delete line{stroke:#b94b3a;stroke-width:1.55;stroke-linecap:round;pointer-events:none}.board-text-note{position:absolute;max-width:260px;transform:translate(0);font-size:.88rem;line-height:1.2;font-weight:600;background:#ffffffdb;border:1px solid rgba(208,213,226,.95);border-radius:6px;padding:4px 6px;white-space:pre-wrap;pointer-events:auto;cursor:default;z-index:1}.board-text-note.selected{outline:2px solid rgba(46,42,189,.45);outline-offset:0}.board-text-note:active{cursor:default}.board-text-note-inline-input{width:100%;min-width:96px;min-height:42px;border:none;background:transparent;color:inherit;font:inherit;line-height:1.25;resize:none;padding:0;margin:0;outline:none}.board-text-note-delete{position:absolute;top:-9px;right:-9px;width:18px;height:18px;border-radius:999px;border:1px solid #b94b3a;background:#fff;color:#b94b3a;font-size:.9rem;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}.board-text-note-delete .icon-close{width:var(--icon-xs);height:var(--icon-xs)}.board-quick-actions{position:absolute;transform:translate(-50%,-100%);display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:10px;border:1px solid #c7cde0;background:#fcfcfefa;box-shadow:0 7px 16px #121a351c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10}.board-quick-color{width:30px;height:30px;border:1px solid #c9d0e5;border-radius:9px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;box-shadow:inset 0 0 0 1px #ffffffa6;position:relative;padding:0}.board-quick-button{width:30px;height:30px;border-radius:9px;border:1px solid #cbd2e6;background:#fdfdff;color:var(--color-primary-700);display:grid;place-items:center;line-height:0;padding:0;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.board-quick-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50);transform:translateY(-1px)}.board-quick-button.active{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-700)}.board-quick-button:disabled{opacity:.48;cursor:not-allowed}.board-quick-button:disabled .board-quick-icon{opacity:.75}.board-quick-button-danger{border-color:#d2aea8;color:#a54535;background:#fcf2f0}.board-quick-button-danger:hover{border-color:#bd7a6d;background:#f7e3df;color:#8f392c}.board-quick-icon,.board-quick-icon-delete{width:var(--icon-sm);height:var(--icon-sm)}.board-quick-select-wrap{display:inline-flex}.board-quick-select{height:30px;min-width:56px;border-radius:9px;border:1px solid #cbd2e6;background:#fdfdff;color:var(--color-primary-700);font-size:.74rem;line-height:1;padding:0 8px}.board-quick-select:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.board-quick-select:focus-visible{outline:2px solid rgba(46,42,189,.28);outline-offset:1px}.board-quick-emoji .emoji-picker-trigger{width:30px;min-width:30px;min-height:30px;height:30px;padding:0;border-radius:9px;font-size:.92rem;line-height:1;border-color:#cbd2e6;background:#fdfdff;display:inline-flex;align-items:center;justify-content:center;text-align:center}.board-quick-emoji .emoji-current{display:inline-flex;align-items:center;justify-content:center;font-size:.98rem;line-height:1}.board-quick-emoji .emoji-empty-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.board-quick-emoji .emoji-empty-glyph{width:var(--icon-md);height:var(--icon-md)}.board-zoom-controls{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px;z-index:9}.board-zoom-button{width:30px;height:30px;border-radius:8px;border:1px solid #cfd5e5;background:#fff;color:var(--color-primary-700);font-size:1rem;font-weight:700;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}.board-zoom-icon{width:var(--icon-sm);height:var(--icon-sm)}.board-zoom-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.figure{position:absolute;display:block;-webkit-user-select:none;user-select:none;touch-action:none;overflow:visible}.figure-label{position:absolute;left:50%;bottom:calc(100% + clamp(2px,calc(5px + (var(--figure-scale, 1) - 1) * 18px),34px) + var(--label-extra-gap, 0px));transform:translate(-50%);width:max-content;max-width:var(--figure-label-max-width, 220px);text-align:center;line-height:1.2;padding:0;background:transparent;border:none;color:#4e514f}.figure-label-name{display:block;font-size:.9rem;font-weight:400}.figure-label-meta{display:block;margin-top:2px;font-size:.78rem;font-weight:300}.figure-anchor{position:relative;display:flex;align-items:center;justify-content:center}.figure-body{width:54px;height:54px;border-radius:50%;border:2px solid var(--figure-stroke-color, rgba(102, 83, 69, .32));display:flex;align-items:center;justify-content:center;position:relative;cursor:default;transform:rotate(var(--rotation-deg, 0deg)) scale(var(--figure-scale, 1));transform-origin:center;overflow:hidden}.figure-body.textured{background-image:radial-gradient(circle at 30% 26%,#ffffff59,#fff0 44%),repeating-linear-gradient(35deg,#ffffff0f 0,#ffffff0f 4px,#00000008 4px,#00000008 8px)}.figure.selected .figure-body:not(.figure-shape-triangle){box-shadow:0 0 0 5px #4547b52e;outline:none;border-color:var(--brand-primary)}.figure.selected .figure-shape-triangle{outline:none}.figure.selected .figure-shape-triangle .figure-triangle-stroke{stroke:var(--brand-primary);stroke-width:1.8}.figure:active .figure-body{cursor:default}.figure-emoji{font-size:1.45rem;line-height:1;position:absolute;left:50%;top:50%;z-index:2;display:inline-block;transform:translate(-50%,-50%) rotate(calc(-1 * var(--rotation-deg, 0deg)));transform-origin:center;pointer-events:none}.figure-shape-square{border-radius:14px}.figure-shape-triangle{width:66px;height:66px;padding-top:4px;border:none;background:transparent!important;border-radius:0;overflow:visible}.figure-shape-triangle.textured{background-image:none}.figure-triangle-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.figure-triangle-fill{fill:var(--figure-fill, #fcfcfc)}.figure-triangle-focus{fill:none;stroke:#5551d833;stroke-width:10;stroke-linejoin:round;transform:none;pointer-events:none}.figure-triangle-stroke{fill:none;stroke:var(--triangle-stroke-color, rgb(102, 83, 69));stroke-width:1.8;stroke-linejoin:round}.figure-shape-triangle .figure-emoji{font-size:1.22rem}.figure-eyes{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;gap:var(--eye-gap, 4px);transform:translate(-50%,-50%) translateY(calc(-1 * var(--eye-forward, 12px)));z-index:3;pointer-events:none}.figure-eyes.person{gap:var(--eye-gap, 4px)}.figure-eyes.abstract{gap:0}.figure-eye{width:var(--eye-size, 6.5px);height:var(--eye-size, 6.5px);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.62) 0 20%,transparent 22% 100%),radial-gradient(circle at 55% 65%,var(--eye-shade-color, rgba(34, 36, 40, .36)) 0 72%,transparent 73% 100%),var(--eye-color, #2f2924);border:1px solid var(--eye-border-color, rgba(43, 47, 54, .85));box-shadow:inset 0 -1px 1.35px var(--eye-shade-color, rgba(34, 36, 40, .36)),inset 0 1px .8px #ffffff42}.figure-rotate-handle{position:absolute;left:0;top:calc(-1 * var(--handle-radius, 40px));width:24px;height:24px;border-radius:999px;border:1px solid var(--brand-primary);background:#fff;color:var(--brand-primary);font-size:.92rem;font-weight:700;line-height:1;display:grid;place-items:center;cursor:grab;pointer-events:auto;transform:translate(-50%,-50%);z-index:1}.figure-rotate-handle:active{cursor:grabbing}.figure-scale-handle .icon-scale,.figure-rotate-handle .icon-rotate{width:var(--icon-sm);height:var(--icon-sm)}.figure-rotation-group{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--handle-origin-x, 0px)),calc(-50% + var(--handle-origin-y, 0px))) rotate(var(--rotation-deg)) rotate(var(--handle-axis-deg, 0deg));width:0;height:0;pointer-events:none;z-index:6}.figure-rotation-arm{position:absolute;left:-1px;top:calc(-1 * var(--handle-radius, 40px) + 14px);width:2px;height:calc(var(--handle-radius, 40px) - 14px);border-radius:999px;background:#211e87cc;pointer-events:none}.figure-scale-group{position:absolute;left:-14px;bottom:-14px;pointer-events:none;z-index:6}.figure-scale-handle{width:24px;height:24px;border-radius:999px;border:1px solid var(--brand-primary);background:#fff;color:var(--brand-primary);font-size:.82rem;font-weight:700;line-height:1;display:grid;place-items:center;cursor:nwse-resize;pointer-events:auto}.figure-scale-handle:active{cursor:nwse-resize}.side-panel{border-radius:14px;border:1px solid #d8dcec;background:linear-gradient(180deg,#fff,#fbfcff);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0;height:100%;overflow-y:auto}.side-panel.figure-tab-active{overflow:hidden}.side-panel h3{margin:0;color:var(--brand-primary)}.panel-tabs{--tab-gap: 6px;display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start;gap:var(--tab-gap);padding:6px;border:1px solid #d7dcee;border-radius:14px;background:linear-gradient(180deg,#f8f9ff,#f3f5ff);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #211e870f}.panel-tab{position:relative;flex:1 1 calc((100% - (var(--tab-gap) * 2)) / 3);min-width:calc((100% - (var(--tab-gap) * 2)) / 3);max-width:calc((100% - (var(--tab-gap) * 2)) / 3);border:1px solid #d4daee;border-radius:10px;background:linear-gradient(180deg,#fff,#f5f7ff);color:#4f5a7c;padding:6px 7px;font-size:.78rem;font-weight:650;line-height:1.1;min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;cursor:pointer;transition:transform .16s ease,background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .17s ease}.panel-tab:hover{border-color:var(--color-primary-200);background:linear-gradient(180deg,#fff,#eef1ff);color:var(--color-primary-700);transform:translateY(-1px);box-shadow:0 2px 8px #211e8714}.panel-tab.active{border-color:var(--color-primary-500);background:#fff;color:var(--color-primary-700);transform:translateY(-1px);box-shadow:0 5px 14px #211e8729,inset 0 1px #fffffff2}.panel-tab.active:after{content:"";position:absolute;left:50%;bottom:4px;transform:translate(-50%);width:18px;height:2px;border-radius:999px;background:var(--color-primary-500)}.side-panel p{margin:0;color:#5f646c}.panel-section{border:1px solid #dce1ef;border-radius:10px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:6px}.panel-section-title{font-size:.78rem;font-weight:700;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.03em}.panel-multi-summary p{margin:0;font-size:.8rem;color:#5f646c}.panel-multi-properties-list{display:flex;flex-direction:column;gap:8px}.panel-multi-property-card{gap:7px}.panel-multi-property-head{display:flex;align-items:center;gap:8px}.panel-multi-property-head strong{flex:1;min-width:0;font-size:.82rem;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-multi-item-icon{width:1.22rem;height:1.22rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.panel-multi-card-toggle{width:24px;height:24px;border:1px solid #ccd3e6;border-radius:999px;background:#fff;color:#58618a;display:grid;place-items:center;padding:0;cursor:pointer;flex-shrink:0;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.panel-multi-card-toggle .panel-action-icon{width:var(--icon-sm);height:var(--icon-sm);transition:transform .16s ease}.panel-multi-card-toggle:hover{border-color:var(--color-primary-400);background:var(--color-primary-50);color:var(--color-primary-700)}.panel-multi-card-toggle.is-open .panel-action-icon{transform:rotate(90deg)}.panel-multi-focus-button{width:24px;height:24px;border:1px solid #ccd3e6;border-radius:999px;background:#fff;color:var(--color-primary-700);display:grid;place-items:center;padding:0;cursor:pointer;flex-shrink:0}.panel-multi-focus-button:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.panel-multi-property-rows{display:flex;flex-direction:column;gap:4px}.panel-multi-property-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.panel-multi-property-row span{font-size:.76rem;color:#666d80}.panel-multi-property-row code{border:1px solid #d7dced;border-radius:6px;background:#f8faff;padding:1px 6px;font-size:.72rem;color:#374162;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58%}.panel-color-trigger{width:100%;height:34px;border:1px solid #cfd4df;border-radius:8px;background:#fff;padding:0;position:relative;overflow:hidden;cursor:pointer}.panel-color-trigger:hover:not(:disabled){border-color:var(--color-primary-500)}.panel-inline-color-trigger{width:30px;height:24px;border:1px solid #cfd4df;border-radius:8px;background:#fff;padding:0;position:relative;overflow:hidden;cursor:pointer}.panel-figure-list{--panel-figure-row-height: 30px;display:flex;flex-direction:column;gap:0;margin-bottom:2px;max-height:calc(var(--panel-figure-row-height) * 5);overflow-y:auto;scrollbar-gutter:stable;border:1px solid #d6dced;border-radius:8px}.panel-figure-layout{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.panel-properties-scroll{min-height:0;flex:1;overflow-y:auto;padding-right:2px;display:flex;flex-direction:column;gap:8px}.panel-properties-scroll::-webkit-scrollbar{width:8px}.panel-properties-scroll::-webkit-scrollbar-thumb{background:#6f737052;border-radius:999px}.panel-layer-drop-target{min-height:var(--panel-figure-row-height);border-bottom:1px solid #e2e6f2;background:#f8faff;display:flex;align-items:center;gap:6px;padding:0 10px;color:#4f5a7c;font-size:.76rem;font-weight:600}.panel-layer-drop-target.drag-over{background:var(--color-primary-50);box-shadow:inset 0 0 0 1px var(--color-primary-300)}.panel-layer-group{border-bottom:1px solid #e2e6f2}.panel-layer-group:last-child{border-bottom:none}.panel-layer-group.drag-over .panel-layer-folder-row{background:var(--color-primary-50);box-shadow:inset 0 0 0 1px var(--color-primary-300)}.panel-layer-folder-row{min-height:var(--panel-figure-row-height);display:flex;align-items:center;justify-content:space-between;gap:6px;background:#f4f6fc;padding:0 10px}.panel-layer-folder-select{flex:1;min-width:0;min-height:var(--panel-figure-row-height);border:none;border-radius:0;background:transparent;color:inherit;padding:0;display:inline-flex;align-items:center;gap:6px;text-align:left;cursor:pointer}.panel-layer-folder-row.active{background:var(--color-primary-50)}.panel-layer-folder-row.is-hidden{color:#7a8090}.panel-layer-folder-main{min-width:0;display:inline-flex;align-items:center;gap:6px}.panel-layer-folder-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;color:#697393;flex-shrink:0}.panel-layer-folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600}.panel-layer-folder-input{width:100%;min-width:0;border:1px solid #cdd3e6;border-radius:6px;background:#fff;color:#3f4760;padding:3px 6px;font-size:.75rem;font-weight:500}.panel-layer-folder-rename{width:22px;height:22px;border:1px solid #cdd3e6;border-radius:999px;background:#fff;color:#4f5a7c;display:grid;place-items:center;padding:0;font-size:.72rem;cursor:pointer}.panel-layer-folder-rename:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.panel-layer-folder-ungroup{width:22px;height:22px;border:1px solid #cdd3e6;border-radius:999px;background:#fff;color:#4f5a7c;display:grid;place-items:center;padding:0;cursor:pointer}.panel-layer-folder-ungroup:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.panel-layer-group-children{display:flex;flex-direction:column}.panel-selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px}.panel-selection-actions .status-action-button{width:100%;min-height:30px;padding:0 8px;font-size:.75rem}.panel-selection-hint{margin:0 0 6px;color:#6f7370;font-size:.72rem;line-height:1.2}.panel-figure-item{width:100%;min-height:var(--panel-figure-row-height);border:none;border-bottom:1px solid #e2e6f2;border-radius:0;background:#fff;padding:0 10px 0 0;display:flex;align-items:center;gap:4px;color:#3f4760}.panel-figure-item:last-child{border-bottom:none}.panel-figure-item:hover{background:#f9fbff}.panel-figure-item.active{background:var(--color-primary-50);box-shadow:inset 0 0 0 1px var(--color-primary-400)}.panel-figure-item.drag-over-before{box-shadow:inset 0 2px 0 0 var(--color-primary-500)}.panel-figure-item.drag-over-after{box-shadow:inset 0 -2px 0 0 var(--color-primary-500)}.panel-figure-item.is-indented .panel-figure-select{padding-left:22px}.panel-figure-item.is-hidden .panel-figure-name,.panel-figure-item.is-hidden .panel-figure-shape{opacity:.52}.panel-figure-select{flex:1;min-width:0;min-height:var(--panel-figure-row-height);border:none;border-radius:0;background:transparent;padding:0 7px;display:flex;align-items:center;gap:6px;text-align:left;color:inherit;cursor:pointer}.panel-figure-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.panel-figure-actions>button{opacity:.46;transition:opacity .14s ease}.panel-figure-actions>button:hover,.panel-figure-actions>button:focus-visible{opacity:1}.panel-action-icon{width:var(--icon-sm);height:var(--icon-sm)}.panel-action-icon-danger{width:var(--icon-xs);height:var(--icon-xs)}.panel-figure-visibility{width:22px;height:22px;border:1px solid #cdd3e6;border-radius:999px;background:#fff;color:var(--color-primary-700);display:grid;place-items:center;padding:0;cursor:pointer}.panel-figure-visibility:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.panel-figure-quick-delete{width:22px;height:22px;border:1px solid #d9b6b0;border-radius:999px;background:#fff;color:#9f3d2f;display:grid;place-items:center;font-size:.85rem;font-weight:700;line-height:1;padding:0;cursor:pointer}.panel-figure-quick-delete:hover{border-color:#c67a6f;background:#fff3f1}@media(hover:none){.panel-figure-actions>button{opacity:1}}.panel-figure-shape{width:1.22rem;height:1.22rem;display:inline-flex;align-items:center;justify-content:center;position:relative;text-align:center;font-size:.82rem;line-height:1;flex-shrink:0}.panel-figure-shape.is-figure{overflow:visible}.panel-figure-kind-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;border:none;background:transparent;color:#667092;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;text-shadow:0 0 1px rgba(255,255,255,.85)}.panel-figure-kind-icon{width:10px;height:10px}.panel-figure-shape.is-square-figure .panel-figure-kind-badge{left:50%;top:50%}.panel-figure-shape.is-triangle-figure .panel-figure-kind-badge{left:50%;top:65%}.panel-figure-item.active .panel-figure-kind-badge{color:var(--color-primary-700)}.panel-figure-icon{width:var(--icon-sm);height:var(--icon-sm)}.panel-figure-icon-circle{transform:scale(1.08)}.panel-figure-icon-triangle{transform:scale(1.3)}.panel-figure-shape.is-circle-figure,.panel-figure-shape.is-square-figure,.panel-figure-shape.is-triangle-figure{font-size:.98rem;transform:scale(1.2);transform-origin:center}.panel-figure-line-icon{width:calc(var(--icon-sm) + 1px);height:calc(var(--icon-sm) + 1px);transform:rotate(-45deg)}.panel-figure-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.1;font-weight:500}.panel-figure-name-emoji{font-size:.82rem;line-height:1;font-weight:400}.panel-add-button{width:100%}.side-panel label{display:flex;flex-direction:column;gap:5px;font-size:.9rem}.side-panel input{width:100%;border-radius:8px;border:1px solid #cfd4df;padding:8px;background:#fff}.side-panel select,.side-panel textarea{width:100%;border-radius:8px;border:1px solid #cfd4df;padding:8px;background:#fff;font:inherit}.side-panel textarea{resize:vertical;min-height:64px}.side-panel input[type=range]{padding:0}.swatch-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.swatch-row span{margin-right:4px;font-size:.86rem}.swatch,.swatch-clear{border:1px solid #cfd3df;border-radius:999px;height:22px;min-width:22px;cursor:pointer}.swatch.active,.swatch-clear.active{outline:2px solid var(--brand-primary);outline-offset:1px}.swatch-clear{padding:0;box-shadow:inset 0 0 0 1px #211e8733}.panel-swatches{margin-top:2px}.scale-row{display:flex;align-items:center;gap:8px}.scale-row input[type=range]{flex:1}.scale-up-button{width:34px;height:34px;border-radius:8px;border:1px solid var(--color-primary-200);background:#fff;color:var(--color-primary-700);font-weight:700;cursor:pointer}.scale-up-button .icon-scale,.scale-up-button .icon-rotate{width:var(--icon-md);height:var(--icon-md)}.scale-up-button .icon-rotate{transform:scale(.95)}.scale-up-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.custom-color-row{display:flex;gap:8px;align-items:end}.custom-color-row label{flex:1}.dialog-color-trigger{width:42px;height:38px;border:1px solid #cfd4df;border-radius:8px;background:#fff;padding:0;position:relative;overflow:hidden;cursor:pointer}.option-row{display:flex;flex-wrap:wrap;gap:6px}.option-pill{border:1px solid #cfd5e5;border-radius:999px;background:#fff;color:var(--color-primary-700);padding:6px 10px;font-size:.8rem;font-weight:600;cursor:pointer}.option-pill.active{border-color:var(--color-primary-500);background:var(--color-primary-50)}.option-pill:disabled{opacity:.5;cursor:not-allowed}.danger{border:none;border-radius:10px;background:linear-gradient(135deg,#ad3f31,#d15a46);color:#fff;padding:9px 10px;font-weight:700;margin-top:auto;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16162d7a;display:grid;place-items:center;z-index:100}.modal-card{width:min(460px,calc(100vw - 30px));border-radius:14px;background:#fff;border:1px solid #d0d2de;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 42px #281c1147}.modal-card h2{margin:0;color:var(--brand-primary)}.modal-card label{display:flex;flex-direction:column;gap:5px;font-size:.9rem}.modal-card input[type=text]{border-radius:8px;border:1px solid #cfd4df;padding:9px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{border-radius:8px;padding:8px 12px;border:1px solid transparent;cursor:pointer}.modal-actions .secondary{background:#fff;border-color:var(--color-primary-200);color:var(--color-primary-700)}.modal-actions .primary{background:var(--color-primary-700);color:#fff;font-weight:700}.modal-actions .primary:disabled{background:#9ea4cb;cursor:not-allowed}.app-dialog-backdrop{z-index:140}.app-dialog-card{width:min(420px,calc(100vw - 30px));gap:14px}.app-dialog-message{margin:0;color:var(--text-main);font-size:.93rem;line-height:1.45}.app-dialog-actions .danger{background:linear-gradient(135deg,#ad3f31,#d15a46);color:#fff;border:1px solid transparent;border-radius:8px;padding:8px 12px;font-weight:700}.app-dialog-actions .danger:hover{filter:brightness(.98)}.emoji-picker{position:relative}.emoji-picker-trigger{width:100%;border:1px solid #cfd4df;border-radius:8px;background:#fff;min-height:38px;padding:7px 10px;text-align:left;cursor:pointer;color:#393d49}.emoji-current{font-size:1.25rem;line-height:1}.emoji-empty-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#606882}.emoji-empty-glyph{width:var(--icon-md);height:var(--icon-md)}.emoji-picker-popover{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(340px,calc(100vw - 36px));border:1px solid #d1d4e0;border-radius:10px;background:#fff;box-shadow:0 12px 28px #1b1b2433;padding:10px}.emoji-picker-popover p{margin:0 0 8px;font-size:.82rem;color:#5b6070}.emoji-grid-scroll{max-height:250px;overflow-y:auto;padding-right:2px}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.emoji-option{border:1px solid #d8dbe7;border-radius:8px;background:#fff;cursor:pointer;font-size:1.1rem;line-height:1;min-height:32px}.emoji-option.active{border-color:var(--brand-primary);background:var(--color-primary-50);box-shadow:inset 0 0 0 1px var(--brand-primary)}.emoji-clear{margin-top:8px;width:100%;border:1px solid #d8dbe7;border-radius:8px;background:#f4f6fb;color:#2b3151;padding:6px 8px;cursor:pointer}@media(max-width:1020px){.workspace,.admin-grid,.admin-user-form{grid-template-columns:1fr}.side-panel{min-height:190px}.board-toolbar{gap:6px}.board-toolbar-tools{border-right:none;padding-right:0}}@media(max-width:860px){.top-bar{flex-direction:column;align-items:stretch}.brand-link{justify-content:space-between}.top-actions{justify-content:flex-start}.status-dropdown{right:auto;left:0}}:root{--surface-canvas: var(--color-gray-100);--surface-card: #fff;--surface-soft: #fafafe;--border-soft: #d9dced;--border-strong: #cfd4e6;--text-main: var(--color-gray-800);--text-soft: var(--color-gray-700);--shadow-soft: 0 10px 28px rgba(17, 19, 24, .08)}body{color:var(--text-main);background:radial-gradient(circle at 0% 0%,rgba(191,190,240,.26),transparent 44%),radial-gradient(circle at 100% 0%,rgba(249,213,103,.2),transparent 46%),var(--surface-canvas)}button,input,select,textarea{transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,color .14s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px #2e2abd2e}.app-shell{gap:10px;padding:10px}.top-bar{padding:10px 12px;border-radius:14px;border-color:var(--border-soft);background:#ffffffeb;box-shadow:var(--shadow-soft)}.brand-tagline{font-family:var(--font-serif);font-size:var(--text-bg);color:var(--color-primary-700)}.add-button{border-radius:10px;padding:9px 14px;background:var(--color-primary-700)}.add-button:hover{background:var(--color-secondary-500);border-color:transparent}.language-switch{color:var(--text-soft)}.status-action-button,.copy-link-button,.status-room-item,.board-tool-button,.board-zoom-button,.option-pill,.panel-figure-item,.scale-up-button,.emoji-option,.emoji-clear,.emoji-picker-trigger{border-color:var(--border-strong);background:var(--surface-card)}.status-dot-button{background:transparent}.header-icon-button{background:transparent;color:var(--color-primary-700)}.status-dot-button:hover,.header-icon-button:hover{background:var(--color-primary-50)}.status-dot-button.online .status-dot{box-shadow:0 0 0 3px #1b9a7029}.status-dot-button.offline .status-dot{box-shadow:0 0 0 3px #d15a4629}.language-switch{border-color:var(--border-strong);background:#f2f4fb;color:var(--text-soft)}.language-switch button{color:var(--text-soft)}.language-switch button.active{background:var(--color-primary-700);color:#fff;box-shadow:0 2px 8px #211e873d}.language-switch button:not(.active):hover{background:var(--color-primary-50);color:var(--color-primary-700)}.status-dropdown,.board-toolbar,.side-panel,.admin-page,.modal-card,.emoji-picker-popover{border-color:var(--border-soft);border-radius:14px;background:var(--surface-card);box-shadow:var(--shadow-soft)}.status-row,.status-login-form label,.status-room-create-form label,.status-room-title,.status-empty,.status-info{color:var(--text-soft)}.status-row code{border-color:var(--border-soft);background:var(--surface-soft);color:var(--text-main)}.status-inline-button{border-radius:9px;background:var(--color-primary-700)}.status-inline-button:hover{background:var(--color-secondary-500);border-color:transparent;color:var(--color-gray-900)}.status-action-button:hover,.copy-link-button:hover,.header-icon-button:hover,.status-room-item:hover,.board-tool-button:hover,.board-zoom-button:hover,.option-pill:hover,.scale-up-button:hover,.emoji-option:hover,.emoji-clear:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.status-room-item.active,.option-pill.active,.panel-tab.active,.board-tool-button.active{border-color:var(--color-primary-400);background:var(--color-primary-50)}.workspace{gap:10px}.board-toolbar{border-radius:14px;--toolbar-surface: rgba(255, 255, 255, .95);background:var(--toolbar-surface)}.board-toolbar-tools{border-right-color:var(--border-soft)}.board-root{border-color:var(--border-soft);border-radius:16px;background:#fff}.board-text-note{border-color:var(--border-strong);border-radius:9px;background:#ffffffeb;color:var(--text-main)}.board-text-note.selected{outline:2px solid rgba(46,42,189,.34)}.figure.selected .figure-body:not(.figure-shape-triangle){box-shadow:0 0 0 5px #5551d833;outline:none;border-color:var(--color-primary-500)}.side-panel{border-radius:16px;background:linear-gradient(180deg,#fff,#fbfbff)}.side-panel h3,.admin-card h2,.admin-card h3{font-family:var(--font-serif);color:var(--color-primary-700);font-weight:600}.panel-tabs{border-color:var(--border-soft);background:#f6f7ff}.panel-tab{color:var(--text-soft)}.panel-section,.admin-card,.timeline-item{border-color:var(--border-soft);border-radius:12px;background:var(--surface-card)}.side-panel input,.side-panel select,.side-panel textarea,.status-login-form input,.status-room-create-form input,.status-room-create-form select,.timeline-editor input,.timeline-editor textarea,.board-toolbar-relation select,.board-toolbar-text textarea{border-color:var(--border-strong);border-radius:9px;color:var(--text-main);background:#fff}.modal-backdrop{background:#15135561}@media(max-width:860px){.app-shell{padding:8px;gap:8px}.top-bar{padding:9px 10px}.brand-tagline{font-size:var(--text-base)}.board-toolbar-text textarea{width:min(100%,280px)}}
