*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%;margin:0}html,body{overflow-x:hidden}@supports (height: 100dvh){html,body,#app{height:100dvh}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:#1e1f22;color:#e6e6e6}#app{display:flex;flex-direction:column}.toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#16171a;border-bottom:1px solid #2b2c30;flex:0 0 auto}.toolbar-toggle{display:none;flex:0 0 auto}.toolbar-extra{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.logo{font-weight:700;font-size:1.1rem;color:#ff7a59;text-decoration:none;margin-right:8px}.control-chip{display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 8px;background:#26272b;border:1px solid #3a3b40;border-radius:4px;height:30px}#language-select{background:#26272b;color:#e6e6e6;border:none;padding:5px 0}#language-select:focus{outline:none}#language-select option{background:#26272b;color:#e6e6e6}.control-chip .toggle-switch{padding-left:8px;border-left:1px solid #3a3b40;font-size:.78rem}.tool-btn{background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.9rem}.tool-btn:hover{background:#303136}.tool-btn.active{background:#ff7a59;border-color:#ff7a59;color:#1e1f22}.tool-btn.primary{background:#3a7bd5;border-color:#3a7bd5;color:#fff}.tool-btn.primary:hover{background:#336fc0}.tool-btn:disabled{opacity:.4;cursor:default}.tool-btn:disabled:hover{background:#26272b}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;color:#b7bcc4}.toggle-switch input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;opacity:0}.toggle-track{position:relative;flex:0 0 auto;width:28px;height:16px;border-radius:999px;background:#3a3b40;border:1px solid #45464c;transition:background .15s ease,border-color .15s ease}.toggle-track:before{content:"";position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:#cfd3d9;transition:transform .15s ease}.toggle-switch input[type=checkbox]:checked+.toggle-track{background:#ff7a59;border-color:#ff7a59}.toggle-switch input[type=checkbox]:checked+.toggle-track:before{transform:translate(12px);background:#fff}.toggle-switch input[type=checkbox]:focus-visible+.toggle-track{outline:2px solid #3a7bd5;outline-offset:2px}.toggle-switch:has(input[type=checkbox]:disabled){opacity:.4;cursor:default}#font-size{width:56px;background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:5px 6px}.text-size-value{font-size:.8rem;color:#b7bcc4;min-width:34px;text-align:center}.chip-btn{background:none;border:none;color:#e6e6e6;cursor:pointer;font-size:1rem;line-height:1;padding:4px 2px}.chip-btn:hover{color:#ff7a59}.badge{font-size:.75rem;padding:3px 8px;border-radius:999px;background:#3a3b40;color:#cfd3d9}.badge.readonly{background:#5a3a1e;color:#ffb977}.spacer{flex:1 1 auto}.status{font-size:.85rem;color:#9aa0a6;min-height:1.2em}.status.error{color:#ff6b6b}.status a{color:#7ab8ff}.editor-wrap{position:relative;flex:1 1 auto;overflow:hidden}#editor-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}#editor-host{font-size:var(--pb-editor-font-size, 14px)}#editor-host .cm-editor{height:100%}#editor-host .cm-scroller{overflow:auto}.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground{background-color:#3a7bd559!important}.pb-rich-bold{font-weight:800;-webkit-text-stroke:.4px currentColor}.pb-rich-underline{text-decoration:underline}.pb-bullet-line{padding-left:1.2em}.pb-bullet-glyph{color:#b7bcc4}.pb-table-wrap{display:inline-block;vertical-align:middle;max-width:100%;overflow-x:auto;margin:2px 4px}.pb-table-toolbar{display:flex;align-items:center;gap:4px;margin-bottom:4px}.pb-table-actions-row{display:flex;gap:4px}.pb-table-btn{background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:2px 6px;font-size:.72rem;cursor:pointer}.pb-table-btn:hover{background:#303136}.pb-table-btn.active{background:#ff7a59;border-color:#ff7a59;color:#1e1f22}.pb-table{border-collapse:collapse;background:#16171acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #2b2c30}.pb-table td{border:1px solid #2b2c30;padding:0}.pb-table input{background:transparent;color:#e6e6e6;border:none;padding:4px 8px;font:inherit;font-size:.85rem;min-width:2ch}.pb-table input:focus{outline:2px solid #3a7bd5;outline-offset:-2px;background:#26272b}.pb-table input:disabled{opacity:.8}.pb-table-header-row input{background:#33261c;color:#ffb977;font-weight:700}.pb-table-header-row input:focus{background:#3d2e21}.pb-rich-comment{text-decoration:underline dotted #e0b400;text-underline-offset:3px;cursor:pointer}.pb-comment-popover{position:fixed;z-index:60;width:240px;max-width:calc(100vw - 24px);background:#16171acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #2b2c30;border-radius:8px;padding:10px 12px;font-size:.85rem;color:#e6e6e6;box-shadow:0 6px 20px #00000059}.pb-comment-popover-meta{font-size:.72rem;color:#7a7f87;margin-bottom:4px}.pb-comment-popover-text{margin:0 0 8px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.pb-comment-compose-input{width:100%;min-height:60px;resize:vertical;background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:6px 8px;font-size:.85rem;font-family:inherit}.pb-comment-compose-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.cm-link{text-decoration:underline;text-decoration-color:#7ab8ff;text-underline-offset:2px}.pb-link-modifier .cm-link{cursor:pointer;color:#7ab8ff}#draw-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;touch-action:none}.paintbin-image-wrap{position:relative;display:inline-block;vertical-align:middle;margin:2px 4px;line-height:0}.paintbin-inline-image{display:block;width:100%;height:100%;object-fit:contain;border:1px solid #3a3b40;border-radius:4px;background:#16171a;cursor:grab;touch-action:none}.paintbin-image-resize-handle{position:absolute;right:-5px;bottom:-5px;width:13px;height:13px;border-radius:3px;background:#3a7bd5;border:1px solid #0d1117;cursor:nwse-resize;opacity:0;transition:opacity .1s;touch-action:none}.paintbin-image-wrap:hover .paintbin-image-resize-handle{opacity:1}.paintbin-image-float-btn{position:absolute;left:-5px;top:-5px;width:20px;height:20px;border-radius:3px;background:#26272b;color:#e6e6e6;border:1px solid #3a7bd5;cursor:pointer;font-size:.7rem;line-height:1;padding:0;opacity:0;transition:opacity .1s}.paintbin-image-wrap:hover .paintbin-image-float-btn{opacity:1}.not-found{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#1e1f22;color:#b7bcc4;text-align:center}.draw-text-input{position:fixed;z-index:50;background:transparent;border:1px dashed #3a7bd5;outline:none;padding:2px 4px;min-width:60px;resize:none;overflow:hidden;line-height:1.3;white-space:pre}.side-panels{position:absolute;top:12px;right:12px;z-index:20;display:flex;flex-direction:column;gap:12px;max-height:calc(100% - 24px);overflow-y:auto}.presence-panel,.paint-panel,.format-panel{width:190px;flex:0 0 auto;background:#16171acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #2b2c30;border-radius:10px;padding:10px;box-shadow:0 6px 20px #0000004d}.paint-panel,.format-panel{display:flex;flex-direction:column;gap:8px}.presence-panel h2,.paint-panel h2,.format-panel h2{margin:0 0 2px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7a7f87;font-weight:600}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-head h2{margin:0}.panel-toggle-btn{display:none;flex:0 0 auto;background:none;border:none;color:#9aa0a6;cursor:pointer;font-size:.8rem;line-height:1;padding:2px 4px}.presence-panel.collapsed #presence-panel-body,.paint-panel.collapsed .paint-panel-body,.format-panel.collapsed #format-panel-body{display:none}.format-hint{margin:0;font-size:.78rem;color:#7a7f87;line-height:1.4}.format-btn-row{display:flex;gap:6px}.format-btn{flex:1 1 0}.format-section-label{display:block;font-size:.82rem;color:#b7bcc4;margin-bottom:6px}.format-swatch-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.format-swatch{width:22px;height:22px;padding:0;border:1px solid #3a3b40;border-radius:50%;cursor:pointer}.format-swatch:hover{border-color:#7a7f87}.format-swatch:disabled{opacity:.4;cursor:default}.format-swatch-row input[type=color]{width:22px;height:22px;padding:0;border:1px solid #3a3b40;border-radius:50%;background:none;cursor:pointer}.panel-body{display:flex;flex-direction:column;gap:8px}.toggle-switch.panel-foot{display:flex;padding-top:8px;border-top:1px solid #2b2c30}.full-width{width:100%}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tool-choice{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px;font-size:1rem;line-height:1}.tool-choice span{font-size:.62rem;color:#b7bcc4;line-height:1}.tool-choice.active{background:#3a7bd5;border-color:#3a7bd5;color:#fff}.tool-choice.active span{color:#fff}.paint-section{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #2b2c30}.paint-row,.paint-row-stack{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem;color:#b7bcc4}.paint-row-stack{flex-direction:column;align-items:stretch;gap:3px}.paint-row span,.paint-row-stack>span{display:inline-flex;align-items:center;gap:4px}.paint-row-stack input,.paint-row-stack select{width:100%}.paint-row-stack select{background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:5px 6px}.paint-row-stack select:disabled{opacity:.5}.paint-row-stack select option{background:#26272b;color:#e6e6e6}#draw-color,#draw-fill-color{width:32px;height:26px;padding:0;border:1px solid #3a3b40;border-radius:4px;background:none}.paint-actions{gap:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#1e1f22;border:1px solid #2b2c30;border-radius:10px;padding:20px;width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 12px 40px #0006}.modal h2{margin:0 0 14px;font-size:1rem}.modal-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:.85rem;color:#b7bcc4}.modal-field input[type=text],.modal-field input[type=number],.modal-field textarea{background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:7px 8px;font-size:.9rem}.modal-field textarea{resize:vertical;font-family:inherit}.poll-options-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.poll-option-row{display:flex;align-items:center;gap:6px}.poll-option-row input[type=text]{flex:1 1 auto;background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:6px 8px;font-size:.88rem}.poll-option-remove{background:none;border:none;color:#9aa0a6;cursor:pointer;font-size:.85rem;padding:2px 6px}.poll-option-remove:hover{color:#ff6b6b}.poll-error{color:#ff6b6b;font-size:.82rem;margin:8px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.pb-poll{background:#16171acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #2b2c30;border-radius:8px;padding:10px 12px;font-size:.85rem;color:#e6e6e6;box-shadow:0 6px 20px #00000040}.pb-poll-inline{display:inline-block;vertical-align:middle;width:260px;max-width:90vw;margin:2px 4px;white-space:normal}.pb-poll-floating{position:absolute;z-index:20}.pb-poll-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.pb-poll-drag-handle{cursor:grab;touch-action:none}.pb-poll-question{font-size:.9rem;line-height:1.3}.pb-poll-toolbar{display:flex;gap:4px;flex:0 0 auto}.pb-poll-btn{background:#26272b;color:#e6e6e6;border:1px solid #3a3b40;border-radius:4px;padding:2px 6px;font-size:.72rem;cursor:pointer}.pb-poll-btn:hover{background:#303136}.pb-poll-options{display:flex;flex-direction:column;gap:5px}.pb-poll-option{position:relative;display:flex;align-items:center;gap:6px;padding:5px 6px;border:1px solid #2b2c30;border-radius:5px;cursor:pointer;overflow:hidden}.pb-poll-option:hover{border-color:#3a7bd5}.pb-poll-option-bar{position:absolute;top:0;bottom:0;left:0;right:auto;background:#3a7bd53d;z-index:0;transition:width .2s ease}.pb-poll-option input,.pb-poll-option-text,.pb-poll-option-count{position:relative;z-index:1}.pb-poll-option-text{flex:1 1 auto}.pb-poll-option-count{color:#9aa0a6;font-size:.78rem}.pb-poll-total{margin-top:8px;font-size:.75rem;color:#7a7f87}.presence-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.presence-item{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:5px;font-size:.82rem}.presence-item.presence-me{background:#22242a}.presence-swatch{width:16px;height:16px;padding:0;border:1px solid #3a3b40;border-radius:50%;background:none;flex:0 0 auto}.presence-swatch:disabled{opacity:1}.presence-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6e6e6}input.presence-name{background:transparent;border:1px solid transparent;color:#e6e6e6;padding:1px 3px;border-radius:3px}input.presence-name:hover,input.presence-name:focus{border-color:#3a3b40;outline:none}.presence-role{font-size:.68rem;color:#9aa0a6;flex:0 0 auto}.cookie-notice{position:fixed;left:12px;right:12px;bottom:12px;z-index:100;display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto;padding:10px 14px;background:#16171a;border:1px solid #3a3b40;border-radius:8px;box-shadow:0 4px 16px #00000059;font-size:.82rem;color:#cfd3d9}.cookie-notice button{flex:0 0 auto}.page-title-input{background:transparent;border:1px solid transparent;color:#e6e6e6;font-size:.95rem;font-weight:600;padding:5px 8px;border-radius:4px;min-width:80px;max-width:220px}.page-title-input::placeholder{color:#6d7178;font-weight:400}.page-title-input:hover{border-color:#3a3b40}.page-title-input:focus{outline:none;border-color:#3a7bd5;background:#26272b}.recent-wrap{position:relative}.recent-dropdown{position:absolute;top:calc(100% + 6px);left:0;width:320px;max-height:420px;overflow-y:auto;background:#16171acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #2b2c30;border-radius:10px;padding:10px;box-shadow:0 6px 20px #00000059;z-index:30}.recent-dropdown h2{margin:0 0 6px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7a7f87;font-weight:600}.recent-dropdown ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.recent-empty{margin:6px 2px 2px;font-size:.82rem;color:#8a8f96;line-height:1.4}.recent-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.recent-item:hover{background:#22242a}.recent-item.recent-current{background:#22242a;outline:1px solid #3a7bd5}.recent-item-main{flex:1 1 auto;min-width:0}.recent-item-title{font-size:.88rem;color:#e6e6e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item-title.untitled{color:#8a8f96;font-style:italic}.recent-item-snippet{font-size:.76rem;color:#8a8f96;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.recent-item-meta{flex:0 0 auto;display:flex;align-items:center;gap:6px;font-size:.68rem;color:#7a7f87}.recent-item-role{padding:1px 6px;border-radius:999px;background:#3a3b40}.recent-item-role.role-view{background:#5a3a1e;color:#ffb977}.recent-item-remove{flex:0 0 auto;background:none;border:none;color:#7a7f87;cursor:pointer;font-size:.9rem;padding:2px 4px;border-radius:4px;line-height:1}.recent-item-remove:hover{background:#3a3b40;color:#e6e6e6}@media(max-width:780px){.toolbar{flex-wrap:wrap;row-gap:6px}.toolbar-toggle{display:inline-flex}.toolbar-extra{display:none;flex-basis:100%;flex-wrap:wrap;row-gap:8px}.toolbar-extra.open{display:flex}.toolbar-extra .spacer{display:none}.page-title-input{max-width:160px}.recent-dropdown{max-width:calc(100vw - 24px)}.side-panels{top:8px;right:8px;max-height:calc(100% - 16px)}.presence-panel,.paint-panel,.format-panel{width:150px}.panel-toggle-btn{display:inline-flex}}
