*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F3F4F6;--dot-color: #D1D5DB;--toolbar-bg: #FFFFFF;--toolbar-border: #E5E7EB;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.08);--radius: 12px;--radius-sm: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--accent: #6366F1;--accent-light: #EEF2FF;--danger: #EF4444;--text: #1F2937;--text-muted: #9CA3AF;--toolbar-h: 56px;--note-text: #1F2937;--note-placeholder: #C4C9D4}[data-theme=dark]{--bg: #111827;--dot-color: #1F2937;--toolbar-bg: #1F2937;--toolbar-border: #374151;--accent-light: #1e1b4b;--text: #F9FAFB;--text-muted: #6B7280;--shadow-sm: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 10px 30px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.4);--note-text: #F3F4F6;--note-placeholder: #6B7280}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:var(--font);color:var(--text)}.app{display:flex;flex-direction:column;width:100%;height:100%;background:var(--bg)}.toolbar{position:relative;z-index:100;display:flex;align-items:center;gap:4px;padding:0 14px;height:var(--toolbar-h);background:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);box-shadow:var(--shadow-sm);flex-shrink:0;-webkit-user-select:none;user-select:none}.toolbar-brand{display:flex;align-items:center;margin-right:8px;flex-shrink:0}.toolbar-logo{width:134px;height:auto;object-fit:contain;display:block}@media(max-width:599px){.toolbar-logo{width:100px}}[data-theme=dark] .toolbar-logo{content:url(/bloopnotelogo-dark.png)}@media(max-width:599px){.toolbar-logo{height:32px}}.toolbar-sep{width:1px;height:24px;background:var(--toolbar-border);margin:0 6px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.toolbar-btn:hover{background:#80808026}.toolbar-btn.active{background:var(--accent-light);color:var(--accent);border-color:#c7d2fe}.toolbar-btn.danger:hover{background:#fef2f2;color:var(--danger)}[data-theme=dark] .toolbar-btn.danger:hover{background:#ef444426}.toolbar-btn svg{flex-shrink:0}.toolbar-zoom{display:flex;align-items:center;gap:2px}.zoom-label{font-size:12px;color:var(--text-muted);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.board-name-input{border:none;outline:none;font-size:14px;font-weight:600;color:var(--text);background:transparent;min-width:80px;max-width:200px;padding:4px 6px;border-radius:6px;margin-left:4px}.board-name-wrap{display:flex;align-items:center;gap:4px;border-radius:6px;padding-right:4px;transition:background .12s;cursor:text}.board-name-wrap:hover{background:#8080801f}.board-name-wrap:hover .board-name-pencil{opacity:1}.board-name-pencil{opacity:0;color:var(--text-muted);flex-shrink:0;transition:opacity .15s;pointer-events:none}.board-name-input:hover{background:transparent}.board-name-input:focus{background:transparent;color:var(--accent);outline:none}.canvas-container{position:relative;flex:1;overflow:hidden;background-color:var(--bg);background-size:var(--dot-size, 28px) var(--dot-size, 28px);background-position:var(--dot-x, 0px) var(--dot-y, 0px);cursor:default}.canvas-container.mode-connect,.canvas-container.mode-marquee{cursor:crosshair}.canvas-container.bg-dots{background-image:radial-gradient(circle,var(--dot-color) 1.5px,transparent 1.5px)}.canvas-container.bg-grid{background-image:linear-gradient(var(--dot-color) 1px,transparent 1px),linear-gradient(90deg,var(--dot-color) 1px,transparent 1px)}.canvas-container.bg-blank{background-image:none}.marquee-rect{position:absolute;border:1.5px dashed var(--accent);background:#6366f112;border-radius:4px;pointer-events:none}.canvas-content{position:absolute;top:0;left:0;transform-origin:0 0}.sticky-note{position:absolute;border-radius:var(--radius);box-shadow:var(--shadow-md);display:flex;flex-direction:column;cursor:grab;transition:box-shadow .15s,transform .05s;border:2px solid transparent;overflow:hidden;-webkit-user-select:none;user-select:none}.sticky-note.note-editing{overflow:visible}.sticky-note:active{cursor:grabbing}@keyframes notePopIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.sticky-note.note-new{animation:notePopIn .18s cubic-bezier(.34,1.56,.64,1)}.sticky-note.selected{box-shadow:var(--shadow-lg),0 0 0 2px var(--accent);transform:scale(1.015);z-index:10}.sticky-note.connect-source{box-shadow:var(--shadow-lg),0 0 0 3px #f97316}.sticky-note.dimmed{opacity:.3}.sticky-note.highlighted{opacity:1;box-shadow:var(--shadow-lg),0 0 0 3px #f59e0b}.note-header{height:10px;flex-shrink:0;border-radius:var(--radius) var(--radius) 0 0}.note-body{flex:1;padding:12px 14px 14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.note-textarea{flex:1;width:100%;border:none;outline:none;background:transparent;font-family:var(--font);font-size:14px;line-height:1.55;color:var(--note-text);resize:none;min-height:0;cursor:text;overflow-y:auto}.note-textarea-display{cursor:grab;overflow-y:auto}.note-textarea::placeholder{color:var(--note-placeholder)}.note-resize-handle{position:absolute;bottom:4px;right:4px;width:14px;height:14px;cursor:se-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:2}.sticky-note:hover .note-resize-handle,.sticky-note.selected .note-resize-handle{opacity:1}.note-placeholder{font-size:14px;color:#c4c9d4;line-height:1.55;pointer-events:none;-webkit-user-select:none;user-select:none}.note-timestamp{position:absolute;bottom:6px;left:14px;font-size:10px;color:var(--text-muted);opacity:0;transition:opacity .2s;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.sticky-note:hover .note-timestamp{opacity:1}.note-lock-badge{position:absolute;top:16px;right:8px;color:var(--text-muted);opacity:.6;pointer-events:none}.sticky-note.locked{cursor:default}.format-toolbar{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--toolbar-bg);border:1px solid var(--toolbar-border);border-radius:8px;box-shadow:var(--shadow-lg);white-space:nowrap;animation:fadeIn .1s ease}.fmt-btn{display:flex;align-items:center;justify-content:center;width:28px;height:26px;border:none;background:none;border-radius:5px;cursor:pointer;color:var(--text);font-size:13px;transition:background .1s;padding:0;-webkit-user-select:none;user-select:none}.fmt-btn:hover{background:#8080801f}.fmt-btn.active{background:var(--accent-light);color:var(--accent)}.fmt-bold strong{font-size:14px;font-weight:800}.fmt-italic em{font-size:14px;font-style:italic}.fmt-strike s{font-size:13px}.fmt-emoji{font-size:15px}.fmt-sep{width:1px;height:18px;background:var(--toolbar-border);margin:0 2px;flex-shrink:0}.emoji-picker{position:absolute;top:calc(100% + 6px);right:0;width:224px;background:var(--toolbar-bg);border:1px solid var(--toolbar-border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:300;overflow:hidden;animation:fadeIn .1s ease}.emoji-tabs{display:flex;gap:0;border-bottom:1px solid var(--toolbar-border);padding:4px 4px 0}.emoji-tab{flex:1;border:none;background:none;cursor:pointer;font-size:16px;padding:4px 2px 6px;border-radius:6px 6px 0 0;border-bottom:2px solid transparent;transition:background .1s,border-color .1s;line-height:1}.emoji-tab:hover{background:#8080801a}.emoji-tab.active{border-bottom-color:var(--accent);background:var(--accent-light)}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;max-height:168px;overflow-y:auto}.emoji-btn{border:none;background:none;cursor:pointer;font-size:20px;padding:4px;border-radius:6px;line-height:1;transition:background .1s,transform .08s;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.emoji-btn:hover{background:#8080801f;transform:scale(1.2)}.connections-svg{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.connection-path{fill:none;stroke:#9ca3af;stroke-width:2;stroke-linecap:round;cursor:pointer;pointer-events:stroke;transition:stroke .15s,stroke-width .15s}.connection-path:hover,.connection-path.selected{stroke:var(--accent);stroke-width:2.5}.connection-path.preview{stroke:#f97316;stroke-dasharray:6 4;pointer-events:none}.connection-label-bg{fill:var(--toolbar-bg);stroke:var(--toolbar-border);stroke-width:1}.connection-label-text{font-size:11px;fill:#6b7280;font-family:var(--font);cursor:pointer;pointer-events:all}.connection-label-text.selected{fill:var(--accent)}.search-panel{position:absolute;top:calc(var(--toolbar-h) + 16px);left:50%;transform:translate(-50%);z-index:200;background:var(--toolbar-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:360px;max-width:calc(100vw - 24px);overflow:hidden;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.search-input-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--toolbar-border)}.search-input-row svg{color:var(--text-muted);flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:15px;color:var(--text);background:transparent}.search-close{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:4px;display:flex}.search-close:hover{background:#8080801f;color:var(--text)}.search-results{max-height:280px;overflow-y:auto}.search-result-item{padding:10px 16px;cursor:pointer;font-size:13px;color:var(--text);border-bottom:1px solid var(--toolbar-border);display:flex;align-items:flex-start;gap:10px;transition:background .1s}.search-result-item:hover{background:var(--accent-light)}.search-result-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.search-result-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.context-menu{position:fixed;z-index:300;background:var(--toolbar-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:180px;padding:6px;animation:fadeIn .1s ease;border:1px solid var(--toolbar-border)}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:background .1s;border:none;background:none;width:100%;text-align:left}.context-menu-item:hover{background:#8080801f}.context-menu-item.danger:hover{background:#fef2f2;color:var(--danger)}.context-menu-sep{height:1px;background:var(--toolbar-border);margin:4px 0}.context-menu-label{padding:4px 10px 2px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.color-swatches{display:flex;gap:6px;padding:6px 10px 8px;flex-wrap:wrap}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.2)}.color-swatch.active{border-color:var(--accent);transform:scale(1.15)}.label-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400}.label-edit-popup{position:fixed;z-index:401;background:var(--toolbar-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:240px;border:1px solid var(--toolbar-border)}.label-edit-popup label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.label-edit-popup input,.label-edit-input{border:1px solid var(--toolbar-border);border-radius:6px;padding:7px 10px;font-size:13px;color:var(--text);background:var(--toolbar-bg);outline:none;width:100%;transition:border-color .12s}.label-edit-popup input:focus{border-color:var(--accent)}.label-edit-actions{display:flex;gap:6px;justify-content:flex-end}.btn-primary{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s}.btn-primary:hover{opacity:.9}.btn-ghost{padding:6px 14px;background:transparent;color:var(--text-muted);border:1px solid var(--toolbar-border);border-radius:6px;font-size:13px;cursor:pointer;transition:background .12s}.btn-ghost:hover{background:#8080801f}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:500;background:#1f2937;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;box-shadow:var(--shadow-md);animation:toastIn .2s ease;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.connect-hint{position:fixed;bottom:24px;right:24px;z-index:200;background:#f97316e6;color:#fff;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;pointer-events:none;box-shadow:var(--shadow-md)}.toolbar-secondary{display:flex;align-items:center;gap:4px}.toolbar-right{display:flex;align-items:center;gap:4px;margin-left:auto}@media(max-width:1024px){.btn-label{display:none}}@media(max-width:700px){.board-name-wrap,.board-name-sep,.toolbar-zoom .zoom-label{display:none}}@media(max-width:599px){.toolbar-secondary{display:none}.mobile-hidden{display:none!important}.toolbar{gap:2px;padding:0 8px}.toolbar-btn{padding:6px 8px}}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.conn-style-options{display:flex;gap:4px;padding:4px 10px 8px}.conn-style-btn{flex:1;padding:5px 4px;border:1.5px solid var(--toolbar-border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:background .1s,border-color .1s,color .1s;font-family:var(--font);white-space:nowrap}.conn-style-btn:hover{background:#8080801f;color:var(--text)}.conn-style-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.font-size-control{display:flex;align-items:center;gap:8px;padding:4px 10px 8px}.font-size-btn{width:26px;height:26px;border:1.5px solid var(--toolbar-border);border-radius:6px;background:transparent;color:var(--text);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.font-size-btn:hover{background:#8080801f}.font-size-val{flex:1;text-align:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.onboarding{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;animation:fadeIn .3s ease}.onboarding-icon{margin-bottom:20px;opacity:.85}.onboarding-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:10px;letter-spacing:-.3px}.onboarding-sub{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:24px}.onboarding-hints{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.onboarding-hint{font-size:12px;color:var(--text-muted);background:var(--toolbar-bg);border:1px solid var(--toolbar-border);border-radius:20px;padding:5px 12px;box-shadow:var(--shadow-sm)}.onboarding-hint kbd{display:inline-block;background:var(--toolbar-border);border-radius:4px;padding:1px 5px;font-family:var(--font);font-size:11px;margin-right:4px}.boards-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:149}.boards-panel{position:fixed;top:var(--toolbar-h);left:0;bottom:0;z-index:150;width:300px;background:var(--toolbar-bg);border-right:1px solid var(--toolbar-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideRight .18s ease}@media(max-width:599px){.boards-panel{width:100%;border-right:none}}@keyframes slideRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.boards-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--toolbar-border);flex-shrink:0}.boards-panel-title{font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.boards-panel-close{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:3px;border-radius:5px;display:flex;transition:background .1s}.boards-panel-close:hover{background:#8080801f;color:var(--text)}.boards-list{flex:1;overflow-y:auto;padding:6px}.board-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .1s;position:relative;overflow:visible}.board-row:hover{background:#8080801a}.board-row.active{background:var(--accent-light)}.board-thumb-wrap{flex-shrink:0;border-radius:6px;overflow:hidden;border:1.5px solid var(--toolbar-border);transition:border-color .1s;box-shadow:var(--shadow-sm)}.board-thumb-wrap.active{border-color:var(--accent)}.board-thumb{display:block}.board-row-icon{flex-shrink:0}.board-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.board-row-name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-row-name-input{font-size:13px;font-weight:500;color:var(--text);background:var(--toolbar-bg);border:1.5px solid var(--accent);border-radius:4px;padding:1px 5px;outline:none;width:100%}.board-row-date{font-size:11px;color:var(--text-muted)}.board-row-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:1px;opacity:0;pointer-events:none;transition:opacity .12s;background:var(--toolbar-bg);border:1px solid var(--toolbar-border);border-radius:6px;padding:2px;box-shadow:var(--shadow-sm)}.board-row:hover .board-row-actions{opacity:1;pointer-events:all}.board-row-action-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:4px 5px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.board-row-action-btn:hover{background:#8080801f;color:var(--text)}.board-row-action-btn.danger:hover{background:#fef2f2;color:var(--danger)}[data-theme=dark] .board-row-action-btn.danger:hover{background:#ef444426}.boards-panel-footer{border-top:1px solid var(--toolbar-border);padding:10px;flex-shrink:0}.boards-new-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:1.5px dashed var(--toolbar-border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.boards-new-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:390;background:#0003;animation:fadeIn .15s ease}.help-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:400;background:var(--toolbar-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;border:1px solid var(--toolbar-border);animation:fadeIn .15s ease}.help-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 14px;border-bottom:1px solid var(--toolbar-border);flex-shrink:0}.help-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--text)}.help-close{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:5px;display:flex;transition:background .1s}.help-close:hover{background:#8080801f;color:var(--text)}.help-body{overflow-y:auto;padding:12px 18px 18px;display:flex;flex-direction:column;gap:4px}.help-group{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;margin-bottom:4px;padding:0 2px}.help-row{display:flex;align-items:center;gap:12px;padding:4px 2px}.help-kbd{display:inline-block;background:var(--bg);border:1px solid var(--toolbar-border);border-radius:5px;padding:2px 8px;font-family:var(--font);font-size:11px;color:var(--text);white-space:nowrap;flex-shrink:0;min-width:140px;text-align:center}.help-desc{font-size:13px;color:var(--text-muted)}.help-tips-section{margin-top:4px}.help-tips{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.help-tips li{font-size:13px;color:var(--text-muted);line-height:1.5}.quota-banner{display:flex;align-items:center;gap:10px;padding:9px 16px;background:#fef3c7;border-bottom:1px solid #FDE68A;color:#92400e;font-size:13px;flex-shrink:0;animation:slideDown .18s ease}[data-theme=dark] .quota-banner{background:#2d1b00;border-bottom-color:#78350f;color:#fcd34d}.quota-banner span{flex:1;min-width:0}.quota-banner-btn{padding:4px 10px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid #FDE68A;background:transparent;color:#92400e;white-space:nowrap;transition:background .1s;flex-shrink:0}.quota-banner-btn:hover{background:#0000000f}[data-theme=dark] .quota-banner-btn{color:#fcd34d;border-color:#78350f}.quota-banner-close{border:none;background:none;cursor:pointer;color:inherit;opacity:.6;padding:3px;border-radius:4px;display:flex;flex-shrink:0;transition:opacity .1s}.quota-banner-close:hover{opacity:1}.share-banner{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--accent-light);border-bottom:1px solid #C7D2FE;color:var(--accent);font-size:13px;flex-shrink:0;animation:slideDown .18s ease}.share-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-banner-actions{display:flex;gap:6px;flex-shrink:0}.share-banner-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid #C7D2FE;background:transparent;color:var(--accent);transition:background .1s}.share-banner-btn:hover{background:#6366f11f}.share-banner-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.share-banner-btn.primary:hover{opacity:.88}.tmpl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000059;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.tmpl-modal{background:var(--toolbar-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:520px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid var(--toolbar-border);animation:fadeIn .15s ease;display:flex;flex-direction:column;gap:0}.tmpl-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--toolbar-border)}.tmpl-title{font-size:15px;font-weight:700;color:var(--text)}.tmpl-close{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:5px;display:flex;transition:background .1s}.tmpl-close:hover{background:#8080801f;color:var(--text)}.tmpl-sub{padding:12px 18px 0;font-size:13px;color:var(--text-muted)}.tmpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 18px 16px}.tmpl-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 12px;border:1.5px solid var(--toolbar-border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:border-color .12s,background .12s;text-align:center}.tmpl-card:hover{border-color:#a5b4fc;background:#6366f10a}.tmpl-card.selected{border-color:var(--accent);background:var(--accent-light)}.tmpl-preview{border-radius:6px;overflow:hidden;border:1px solid var(--toolbar-border)}.tmpl-card.selected .tmpl-preview{border-color:#a5b4fc}.tmpl-card-name{font-size:13px;font-weight:600;color:var(--text)}.tmpl-card-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.tmpl-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--toolbar-border)}@media(max-width:420px){.tmpl-grid{grid-template-columns:repeat(2,1fr)}.tmpl-preview svg{width:100%;height:auto;max-width:140px}}.mobile-menu-btn{display:none}@media(max-width:599px){.mobile-menu-btn{display:flex}}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:149;background:#0000004d;animation:fadeIn .15s ease}.mobile-menu-panel{position:fixed;top:var(--toolbar-h);right:0;bottom:0;z-index:150;width:min(280px,90vw);background:var(--toolbar-bg);border-left:1px solid var(--toolbar-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow-y:auto;animation:mobileMenuIn .2s ease}@keyframes mobileMenuIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--toolbar-border);flex-shrink:0}.mobile-menu-title{font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.mobile-menu-close{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:5px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .1s}.mobile-menu-close:hover{background:#8080801f;color:var(--text)}.mobile-menu-section{border-bottom:1px solid var(--toolbar-border);padding:6px 8px}.mobile-menu-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 6px 2px}.mobile-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border:none;background:none;border-radius:8px;font-size:14px;color:var(--text);cursor:pointer;text-align:left;transition:background .1s;font-family:var(--font);min-height:44px}.mobile-menu-item:hover{background:#8080801a}.mobile-menu-item:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.mobile-menu-item.danger{color:var(--danger)}.mobile-menu-item.danger:hover{background:#fef2f2}[data-theme=dark] .mobile-menu-item.danger:hover{background:#ef444426}.mobile-board-name-input{width:100%;border:1px solid var(--toolbar-border);border-radius:8px;padding:9px 12px;font-size:14px;font-weight:500;color:var(--text);background:var(--bg);outline:none;font-family:var(--font);margin-top:4px;transition:border-color .12s}.mobile-board-name-input:focus{border-color:var(--accent)}.mobile-zoom-row{display:flex;align-items:center;gap:4px;padding:4px 2px}.mobile-zoom-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:none;border-radius:8px;color:var(--text);cursor:pointer;transition:background .1s;flex-shrink:0}.mobile-zoom-btn:hover{background:#8080801a}.mobile-zoom-pct{flex:1;text-align:center;font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:pointer;padding:8px 4px;border-radius:6px;transition:background .1s}.mobile-zoom-pct:hover{background:#8080801a;color:var(--text)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.toolbar-btn:focus-visible,.board-row-action-btn:focus-visible,.boards-panel-close:focus-visible,.help-close:focus-visible,.tmpl-close:focus-visible,.search-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.board-name-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}
