.canvas-page{max-width:none;padding:0;overflow:hidden;gap:0;position:relative}@media(max-width:1023px){.canvas-page{padding-bottom:80px}}.canvas-zoom-overlay{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;gap:2px;padding:4px;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);box-shadow:var(--md-sys-elevation-3)}.canvas-zoom-overlay__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);cursor:pointer;transition:background var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.canvas-zoom-overlay__btn:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);transform:scale(1.05)}.canvas-zoom-overlay__btn:active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);transform:scale(.95)}.canvas-zoom-overlay__btn:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.canvas-zoom-overlay__btn svg{width:20px;height:20px;flex-shrink:0}.canvas-zoom-overlay__level{font-size:.75rem;font-weight:600;color:var(--md-sys-color-on-surface);min-width:40px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(min-width:1024px){.canvas-zoom-overlay{top:16px;right:16px}}.canvas-add-overlay{position:absolute;bottom:24px;right:16px;z-index:60;display:flex;flex-direction:column;gap:8px;align-items:flex-end;transition:left .2s ease,right .2s ease;touch-action:none}@media(max-width:1023px){.canvas-add-overlay{bottom:calc(138px + env(safe-area-inset-bottom))}}.canvas-add-overlay[data-side=left]{left:16px;right:auto;align-items:flex-start}.canvas-add-overlay.is-dragging{transition:none!important;opacity:.9;box-shadow:0 8px 32px #00000080}.canvas-add-overlay__drag-handle{width:100%;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large) 0 0;border:1px solid var(--md-sys-color-outline-variant);border-bottom:none;opacity:.7;transition:opacity .2s,background .2s;touch-action:none}.canvas-add-overlay__drag-handle:hover,.canvas-add-overlay__drag-handle:focus-visible{opacity:1;background:var(--md-sys-color-surface-container-high)}.canvas-add-overlay__drag-handle:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.canvas-add-overlay__drag-handle[aria-pressed=true],.canvas-add-overlay.is-dragging .canvas-add-overlay__drag-handle{cursor:grabbing;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.canvas-add-overlay__drag-handle svg{flex-shrink:0}@media(max-width:1023px){.canvas-add-overlay__drag-handle{height:36px;min-height:44px}}.canvas-add-overlay__btn{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:var(--md-sys-elevation-3);transition:box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);white-space:nowrap}.canvas-add-overlay__btn:hover{box-shadow:var(--md-sys-elevation-4)}.canvas-add-overlay__btn:active{box-shadow:var(--md-sys-elevation-2)}.canvas-add-overlay__btn--secondary{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-2)}.canvas-add-overlay__btn--secondary:hover{box-shadow:var(--md-sys-elevation-3)}.canvas-add-overlay__btn svg{flex-shrink:0}@media(max-width:639px){.canvas-add-overlay__label{display:none}.canvas-add-overlay__btn{padding:14px;border-radius:var(--md-sys-shape-corner-large)}}.canvas-header-pills-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;gap:6px;padding:10px 12px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(to top,var(--md-sys-color-surface-container) 70%,transparent);touch-action:pan-x}.canvas-header-pills-bar::-webkit-scrollbar{display:none}.canvas-header-pills-bar:empty{display:none}@media(max-width:1023px){.canvas-header-pills-bar{bottom:calc(68px + env(safe-area-inset-bottom));padding:8px 12px;background:linear-gradient(to top,var(--md-sys-color-surface-container) 85%,transparent)}}@media(min-width:1024px){.canvas-header-pills-bar{padding:10px 16px}}.canvas-header-pill{flex-shrink:0;padding:8px 18px;border-radius:var(--md-sys-shape-corner-full);border:1.5px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);box-shadow:0 1px 3px #0000004d;min-height:36px;display:flex;align-items:center;touch-action:manipulation}@media(max-width:1023px){.canvas-header-pill{min-height:44px;padding:10px 20px;font-size:.875rem}}.canvas-header-pill:hover{background:var(--md-sys-color-surface-container-highest);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);box-shadow:0 2px 6px #0006;transform:translateY(-1px)}.canvas-header-pill:active{transform:translateY(0);box-shadow:0 1px 2px #0000004d}.canvas-header-pill:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.canvas-viewport{flex:1;overflow:hidden;position:relative;cursor:grab;background-color:var(--md-sys-color-surface-dim);background-image:radial-gradient(circle,var(--md-sys-color-outline-variant) 1px,transparent 1px);background-size:40px 40px;touch-action:none}@media(pointer:fine){.canvas-viewport{cursor:default}}.canvas-viewport.is-panning{cursor:grabbing}.canvas-viewport.is-pinching{cursor:zoom-in}.canvas-viewport.is-space-pan{cursor:grab}.canvas-viewport.is-space-pan.is-panning{cursor:grabbing}.canvas-marquee{position:absolute;border:1.5px solid var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);border-radius:4px;pointer-events:none;z-index:150}.canvas-card.is-selected{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:12px}.canvas-header.is-selected .canvas-header__text{border-color:var(--md-sys-color-primary)}.canvas-surface{position:absolute;top:0;left:0;width:0;height:0;transform-origin:0 0}.canvas-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;pointer-events:none;z-index:1}.canvas-empty-state__headline{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface-variant);margin:0;opacity:.85}.canvas-empty-state__hint{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant);margin:0;opacity:.7}.canvas-empty-state__hint strong{color:var(--md-sys-color-primary);font-weight:600;opacity:1}.canvas-card{position:absolute;top:0;left:0;width:320px;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);box-shadow:0 2px 8px #0000004d;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;transition:box-shadow .15s ease}.canvas-card.is-dragging{box-shadow:0 8px 32px #00000080;z-index:100;opacity:.95}.canvas-card.is-resizing{transition:none}.canvas-card.is-focused{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:12px;z-index:10}.canvas-card:not(.is-focused) .canvas-card__body{pointer-events:none}.canvas-card:not(.is-focused) .canvas-card__resize-handle{pointer-events:none}.canvas-card:not(.is-focused) .canvas-card__header{cursor:pointer}.canvas-card:not(.is-focused) .canvas-card__remove{pointer-events:auto}.canvas-card__header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--md-sys-color-outline-variant);cursor:grab;border-radius:12px 12px 0 0}.canvas-card.is-dragging .canvas-card__header{cursor:grabbing}.canvas-card__color{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:var(--category-color, var(--md-sys-color-primary))}.canvas-card__title{font-weight:600;font-size:.875rem;color:var(--md-sys-color-on-surface);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-card__remove{background:none;border:none;cursor:pointer;color:var(--md-sys-color-on-surface-variant);font-size:1.25rem;line-height:1;padding:2px 6px;border-radius:var(--md-sys-shape-corner-full);opacity:0;transition:opacity .15s,color .15s,background .15s;flex-shrink:0}.canvas-card:hover .canvas-card__remove,.canvas-card:focus-within .canvas-card__remove{opacity:1}.canvas-card__remove:hover{color:var(--md-sys-color-error);background:var(--md-sys-color-error-container)}.canvas-card__body{padding:4px 0;max-height:400px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.canvas-card__ideas{margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.canvas-card .idea-row{touch-action:pan-y}.canvas-card .idea-bubble{border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none;padding:10px 12px;font-size:.8125rem}.canvas-card .idea-bubble:hover{box-shadow:none}.canvas-card .idea-header{gap:.25rem}.canvas-card .idea-text{font-size:.8125rem;line-height:1.4}.canvas-card .category-chip{font-size:.65rem;padding:1px 6px}.canvas-card .priority-dot{font-size:.65rem;padding:1px 3px}.canvas-card .idea-time{font-size:.65rem}.canvas-card .idea-footer{margin-top:.15rem}.canvas-card .idea-hide{font-size:.65rem;padding:2px 6px}.canvas-card .idea-pin,.canvas-card .idea-thread{width:24px;height:24px}.canvas-card .idea-thread[data-count]:not([data-count="0"]){width:auto;padding:.25rem .4rem .25rem .35rem}.canvas-card .idea-thread .thread-count-badge{font-size:.6rem}.canvas-card .idea-pin svg,.canvas-card .idea-thread svg{width:14px;height:14px}.canvas-card__empty{color:var(--md-sys-color-on-surface-variant);font-style:italic;font-size:.8125rem;padding:16px 12px;margin:0;text-align:center}.canvas-card .swipe-actions{right:0}.canvas-card .idea-row--open .idea-bubble{transform:translate(-120px)}.canvas-card .idea-row--open .swipe-actions{z-index:2;pointer-events:auto}.canvas-card .inline-edit__input{font-size:.8125rem;min-height:60px}.canvas-card .inline-edit__actions button{min-width:80px;font-size:.75rem}.canvas-card__add-idea{padding:8px 12px;border-top:1px solid var(--md-sys-color-outline-variant)}.canvas-card__add-btn{background:none;border:none;color:var(--md-sys-color-on-surface-variant);font-size:.8125rem;cursor:pointer;padding:4px 0;opacity:.7;transition:opacity .15s,color .15s}.canvas-card__add-btn:hover{opacity:1;color:var(--md-sys-color-primary)}.canvas-card__add-idea.is-editing{display:flex;flex-direction:column;gap:6px}.canvas-card__add-input{width:100%;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:8px 10px;color:inherit;font-family:inherit;font-size:.8125rem;resize:none;min-height:48px}.canvas-card__add-input:focus{outline:none;border-color:var(--md-sys-color-primary)}.canvas-card__add-actions{display:flex;gap:6px;justify-content:flex-end}.canvas-card__add-actions button{padding:4px 14px;border-radius:var(--md-sys-shape-corner-full);font-size:.75rem;font-weight:600;cursor:pointer;border:none}.canvas-card__add-save{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.canvas-card__add-save:disabled{opacity:.5}.canvas-card__add-cancel{background:transparent;color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline-variant)!important}.canvas-card__resize-handle{position:absolute;width:16px;height:16px;z-index:5;opacity:0;transition:opacity .15s}.canvas-card:hover .canvas-card__resize-handle,.canvas-card.is-resizing .canvas-card__resize-handle{opacity:1}.canvas-card__resize-handle--se{bottom:0;right:0;cursor:se-resize;border-bottom-right-radius:12px}.canvas-card__resize-handle--se:before{content:"";position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-right:2px solid var(--md-sys-color-outline);border-bottom:2px solid var(--md-sys-color-outline);border-bottom-right-radius:2px}.canvas-header{position:absolute;top:0;left:0;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.canvas-header.is-selected{z-index:50}.canvas-header.is-dragging{cursor:grabbing;z-index:100}.canvas-header__text{font-size:1.5rem;font-weight:700;color:var(--md-sys-color-on-surface);min-width:100px;padding:6px 10px;border:2px solid transparent;border-radius:8px;outline:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .15s,background .15s}.canvas-header.is-selected .canvas-header__text{border-color:var(--md-sys-color-outline);background:var(--md-sys-color-surface-container)}.canvas-header__text[contenteditable=true]{cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.canvas-header__text[contenteditable=true]:focus{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container)}.canvas-header__delete{position:absolute;top:-6px;right:-6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--md-sys-color-outline-variant);border-radius:50%;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-size:.875rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s}.canvas-header:hover .canvas-header__delete,.canvas-header:focus-within .canvas-header__delete{opacity:1}.canvas-header__delete:hover{color:var(--md-sys-color-error);background:var(--md-sys-color-error-container)}.canvas-category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--category-color, var(--md-sys-color-primary))}.md3-menu__empty{padding:12px 16px;color:var(--md-sys-color-on-surface-variant);font-size:.8125rem;font-style:italic}#canvasCategoryMenu .md3-menu__item{display:flex;align-items:center;gap:10px}.canvas-thread-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--md-sys-color-surface-container);border-left:1px solid var(--md-sys-color-outline-variant);transform:translate(100%);transition:transform .25s ease;z-index:200;display:flex;flex-direction:column;overflow:hidden}.canvas-thread-panel.is-open{transform:translate(0)}.canvas-thread-panel__header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.canvas-thread-panel__close{background:none;border:none;color:var(--md-sys-color-on-surface-variant);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.canvas-thread-panel__close:hover{background:var(--md-sys-color-surface-container-high)}.canvas-thread-panel__title{font-weight:600;font-size:1rem;color:var(--md-sys-color-on-surface)}.canvas-thread-panel__body{flex:1;overflow-y:auto;padding:16px}.canvas-thread-panel__preview{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.canvas-thread-panel__idea-text{font-size:.9375rem;line-height:1.5;color:var(--md-sys-color-on-surface);margin:0;white-space:pre-wrap;word-break:break-word}.canvas-thread-panel__thread-host .thread-notes{max-height:none;opacity:1;margin-top:0;padding-top:0;border-top:none;overflow:visible}.canvas-thread-panel__thread-host .thread-notes-content{max-height:none}@media(max-width:639px){.canvas-thread-panel{width:100vw}}@media(max-width:1023px){.canvas-card__remove{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.canvas-zoom-overlay__btn{width:44px;height:44px}.canvas-header__delete{min-width:44px;min-height:44px}.canvas-card__resize-handle--se{width:44px;height:44px}}.canvas-card__remove:focus-visible{opacity:1;outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.canvas-header__delete:focus-visible{opacity:1;outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.canvas-card.is-focused .canvas-card__remove{opacity:1}.canvas-card.is-focused .canvas-card__resize-handle{opacity:.5}
