:root{font-family:var(--ui-font, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:#25241f;background:#f6f5f1;font-synthesis:none;--paper: #fbfaf7;--ink: #25241f;--muted: #77756c;--line: rgba(55, 52, 43, .12);--accent: #e9653b;--accent-deep: #c94b25;--focus: #3667d6;--panel: rgba(255, 255, 253, .86);--shadow: 0 14px 44px rgba(48, 43, 31, .09), 0 2px 8px rgba(48, 43, 31, .05);--ui-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;overflow-x:hidden;overscroll-behavior:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 10px;color:var(--accent-deep);font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.button{min-height:42px;border:0;border-radius:12px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700}.button--primary{background:var(--ink);color:#fff;box-shadow:0 7px 20px #25241f29}.button--primary:hover{background:#080807}.button--quiet{background:#f1f0eb;font-size:.78rem}.icon-button{width:40px;height:40px;padding:0;border:0;border-radius:11px;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:#23221e0f}.icon-button:disabled{opacity:.35;cursor:default}.glass-panel{background:var(--panel);border:1px solid rgba(55,52,43,.1);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.auth-shell{min-height:100dvh;padding:32px;display:grid;grid-template-columns:minmax(260px,420px) minmax(320px,420px);align-content:center;justify-content:center;gap:clamp(36px,8vw,120px);background:radial-gradient(circle at 18% 25%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),var(--paper);color:var(--ink)}.auth-brand{align-self:center}.auth-brand>span{width:48px;height:48px;margin-bottom:24px;border-radius:14px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:Georgia,serif;font-size:1.25rem;font-weight:800}.auth-brand strong{display:block;font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5rem);font-weight:500;letter-spacing:-.055em}.auth-brand p{max-width:340px;color:var(--muted);font-size:1rem;line-height:1.55}.auth-loading,.auth-configuration-error{min-height:100dvh;padding:30px;display:grid;place-content:center;text-align:center;background:var(--paper);color:var(--ink)}.auth-configuration-error p{color:var(--muted)}.notesmap-user-button{color:var(--ink)}.dialog-backdrop{position:fixed;z-index:200;inset:0;padding:20px;display:grid;place-items:center;background:#12110e6b;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.app-dialog{position:relative;width:min(440px,100%);max-height:min(680px,calc(100dvh - 40px));padding:24px;overflow:auto;border-radius:20px;background:color-mix(in srgb,var(--panel) 96%,var(--paper));color:var(--ink)}.app-dialog__close{position:absolute;right:12px;top:12px;width:36px;height:36px;padding:0;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;cursor:pointer}.app-dialog__close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.app-dialog header{padding-right:34px}.app-dialog h2{margin:0;font-size:1.12rem;letter-spacing:-.02em}.app-dialog header p{margin:9px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.app-dialog__body{margin-top:20px}.app-dialog>footer,.app-dialog form>footer{margin-top:22px;display:flex;justify-content:flex-end;gap:8px}.app-dialog form{margin-top:20px}.dialog-field{display:grid;gap:7px}.dialog-field span,.dialog-options legend{font-size:.7rem;font-weight:800}.dialog-field input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--paper);color:var(--ink)}.dialog-options{margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px}.dialog-options legend{padding:0 5px}.dialog-options label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.76rem}.button--danger{background:#c84938;color:#fff}.button--danger:hover{background:#ad392b}.button:disabled{opacity:.5;cursor:default}.dashboard-shell{width:100%;height:100dvh;min-height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 80% 5%,rgba(234,171,107,.14),transparent 28%),var(--paper)}.dashboard-header{height:76px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.header-actions{display:flex;align-items:center;gap:8px}.theme-picker{position:relative;height:36px;padding:0 8px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted)}.theme-picker select{max-width:112px;border:0;outline:0;background:transparent;color:var(--ink);font-size:.68rem;font-weight:700;cursor:pointer}.theme-picker select option{background:var(--paper);color:var(--ink)}.wordmark{color:var(--ink);display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em}.wordmark__mark{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:Georgia,serif}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#ddd9cc;font-size:.72rem;font-weight:800}.dashboard-main{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:clamp(46px,7vw,84px) 0 80px}.dashboard-heading{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.dashboard-heading>div{min-width:0}.dashboard-primary-actions{display:flex;gap:8px}.import-button{cursor:pointer}.import-button input{display:none}.local-notice{display:inline-block;margin:24px 0 -20px;padding:7px 10px;border-radius:8px;background:#fff3dc;color:#8d5e22;font-size:.72rem}.dashboard-heading h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.7rem);font-weight:500;line-height:.98;letter-spacing:-.055em}.lede{max-width:520px;margin:20px 0 0;color:var(--muted);font-size:1.06rem;line-height:1.55}.search-field{width:min(420px,100%);height:44px;margin:48px 0 24px;padding:0 14px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.dashboard-filter-row{display:flex;align-items:center;gap:10px}.dashboard-filter-row .button{margin:48px 0 24px}.trash-panel{margin:0 0 24px;padding:18px;display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,1fr));gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#f0efea}.trash-panel h2{margin:0 0 4px;font-size:.9rem}.trash-panel p{margin:0;color:var(--muted);font-size:.72rem}.trash-row{padding:10px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.trash-row button{border:0;background:transparent;display:flex;gap:5px;align-items:center;color:var(--focus);font-size:.7rem;font-weight:700;cursor:pointer}.search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink)}.map-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.map-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 14px #2d2a2209}.map-card__preview{height:190px;position:relative;display:block;overflow:hidden;background-color:#f0eadf;background-image:radial-gradient(rgba(76,69,54,.15) .8px,transparent .8px);background-size:18px 18px}.map-card--blue .map-card__preview{background-color:#e8edf0}.map-card--sage .map-card__preview{background-color:#e8eee8}.preview-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #e9653b1f}.preview-dot--one{left:25%;top:36%}.preview-dot--two{right:27%;bottom:31%}.preview-line{position:absolute;height:2px;background:#37342b59;transform-origin:left}.preview-line--one{width:34%;left:26%;top:39%;transform:rotate(14deg)}.preview-line--two{width:23%;right:27%;bottom:33%;transform:rotate(-32deg)}.map-card__arrow{position:absolute;right:16px;top:16px;padding:5px;width:30px;height:30px;color:var(--ink);background:#ffffffc2;border-radius:9px;opacity:0;transition:opacity .16s ease}.map-card:hover .map-card__arrow{opacity:1}.map-card__meta{min-height:79px;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-card h2{margin:0 0 5px;font-size:.98rem}.map-card p{margin:0;color:var(--muted);font-size:.74rem}.map-card__actions{display:flex}.map-card__actions button,.map-card__actions a{width:32px;height:32px;padding:0;border:0;color:inherit;text-decoration:none;border-radius:8px;background:transparent;display:grid;place-items:center;cursor:pointer}.map-card__actions button:hover,.map-card__actions a:hover{background:#f1f0ec}.map-card__actions .danger-action{color:#bd432f}.map-card--new{min-height:270px;border-style:dashed;background:transparent;cursor:pointer;color:var(--muted)}.map-card--new span{display:grid;justify-items:center;gap:8px}.map-card--new strong{color:var(--ink)}.map-card--new small{font-size:.75rem}.editor{--visual-height: 100dvh;--visual-top: 0px;position:fixed;inset:0;height:var(--visual-height);transform:translateY(var(--visual-top));overflow:hidden;background:#f8f7f3}.editor__canvas,.canvas-grid{position:absolute;inset:0}.editor__canvas{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}.editor__canvas--text{cursor:text}.world-layer{position:absolute;inset:0;transform-origin:0 0;pointer-events:none}.world-layer>*{pointer-events:auto}.shape-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.shape-object{pointer-events:all;cursor:move;vector-effect:non-scaling-stroke}.shape-object--selected{stroke:var(--focus);stroke-width:2.5}.shape-hit{pointer-events:stroke;stroke:transparent;stroke-width:14;vector-effect:non-scaling-stroke;cursor:move}.shape-visible{pointer-events:none;vector-effect:non-scaling-stroke}.shape-visible--selected{stroke:var(--focus)}.line-handle{pointer-events:all;fill:var(--focus);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;cursor:crosshair}.shape-draft{pointer-events:none;fill:#3667d614;stroke:var(--focus);stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.selection-bounds{position:absolute;pointer-events:none;border:1px solid var(--focus);box-shadow:0 0 0 1px #ffffffb3}.selection-bounds--spacious{border-style:dashed;background:transparent}.resize-handle{position:absolute;pointer-events:auto;min-width:0;min-height:0;padding:0;border:2px solid white;border-radius:50%;background:var(--focus);box-shadow:0 1px 4px #0003;touch-action:none}.resize-handle--nw{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}.resize-handle--ne{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}.resize-handle--sw{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}.resize-handle--se{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}.selection-marquee{position:absolute;z-index:10;pointer-events:none;border:1px solid var(--focus);background:#3667d617}.canvas-grid{background-image:radial-gradient(circle,rgba(69,65,55,.2) 1px,transparent 1px);background-size:28px 28px;background-position:14px 14px}.editor-topbar{position:absolute;z-index:20;left:14px;top:calc(14px + env(safe-area-inset-top));min-width:248px;height:54px;padding:6px 8px;display:flex;align-items:center;border-radius:15px}.editor-title{min-width:0;margin:0 12px 0 5px;display:grid;gap:3px}.editor-title strong{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.editor-title span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.66rem}.editor-history{padding-left:6px;display:flex;border-left:1px solid var(--line)}.editor-menu{display:none}.theme-toggle{margin-left:auto}.editor-menu--active{background:var(--focus)!important;color:#fff}.views-strip{position:absolute;z-index:20;top:calc(14px + env(safe-area-inset-top));left:50%;min-height:46px;padding:5px;display:flex;align-items:center;gap:4px;transform:translate(-50%);border-radius:14px}.view-chip{height:34px;padding:0 12px;border:0;border-radius:9px;background:transparent;cursor:pointer;color:var(--muted);font-size:.75rem}.view-chip--active{background:var(--ink);color:#fff}.view-chip-wrap{position:relative;display:inline-flex}.view-chip-wrap:hover .view-remove,.view-chip-wrap:hover .view-update{opacity:1}.view-remove,.view-update{position:absolute;top:-4px;width:18px;height:18px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;opacity:0;cursor:pointer}.view-remove{right:-2px}.view-update{right:15px}.view-name-input{width:110px;height:34px;padding:0 10px;border:1px solid var(--focus);border-radius:9px;background:var(--panel);color:var(--ink);font-size:.75rem;outline:0}.tasks-dock{position:absolute;z-index:20;left:14px;top:84px;bottom:22px;width:246px;padding:14px;display:flex;flex-direction:column;border-radius:17px}.tasks-dock__resize{position:absolute;z-index:3;right:-7px;top:14px;bottom:14px;width:14px;cursor:ew-resize;touch-action:none}.tasks-dock__resize:after{content:"";position:absolute;left:6px;top:35%;bottom:35%;width:2px;border-radius:2px;background:var(--line);transition:background .15s}.tasks-dock__resize:hover:after,.tasks-dock__resize:active:after{background:var(--focus)}.tasks-dock-reopen{position:absolute;z-index:21;left:0;top:50%;width:38px;height:52px;padding:0;border-left:0;border-radius:0 12px 12px 0;display:grid;place-items:center;color:var(--ink);cursor:pointer;transform:translateY(-50%)}.dock-heading{display:flex;align-items:center;justify-content:space-between;font-size:.79rem;font-weight:800}.dock-heading>span:first-child{display:flex;align-items:center;gap:8px}.count-pill{min-width:22px;height:22px;display:grid;place-items:center;border-radius:99px;background:#eeede8;font-size:.67rem}.task-view-buttons{display:flex;align-items:center;gap:3px}.task-view-buttons button{width:27px;height:27px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.task-view-buttons button.active{background:var(--ink);color:var(--paper)}.task-filters{margin-top:10px;padding:3px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#64605312;border-radius:8px}.task-filters button{height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.65rem;font-weight:700;cursor:pointer}.task-filters button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px #00000014}.tasks-empty{flex:1;display:grid;align-content:center;justify-items:center;text-align:center;gap:6px;color:var(--muted)}.tasks-empty span{color:var(--ink);font-size:.85rem;font-weight:700}.tasks-empty small{max-width:150px;line-height:1.45}.task-list{flex:1;margin-top:12px;overflow:auto}.task-row{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid var(--line)}.task-check{width:20px;height:20px;padding:0;border:1px solid #bbb8ae;border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer}.task-title{min-width:0;flex:1;border:0;background:transparent;text-align:left;font-size:.75rem;cursor:pointer;display:grid;gap:2px}.task-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-title time{color:var(--muted);font-size:.59rem}.task-row--done .task-title{text-decoration:line-through;color:var(--muted)}.task-row--done .task-check{background:var(--ink);color:#fff}.task-row--overdue .task-title,.task-row--overdue .task-title time{color:#c33d31}.task-drag-handle{width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;display:grid;place-items:center;color:var(--muted);cursor:grab;touch-action:none}.task-drag-handle:hover{background:#64605317;color:var(--ink)}.task-drag-handle:active{cursor:grabbing}.task-row--dragging{opacity:.52}.task-row--over{box-shadow:inset 0 2px 0 var(--focus)}.clear-completed{margin-top:8px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:700;cursor:pointer}.clear-completed:hover{background:#efeee9;color:var(--ink)}.task-calendar__event{width:100%;margin-top:2px;padding:2px;border-radius:3px;background:#3667d61f;display:flex;align-items:center;gap:2px;overflow:hidden}.task-calendar__event.is-overdue{background:#c33d3126;color:#b63228}.task-calendar__event.is-done{opacity:.5}.task-calendar__event.is-done .task-calendar__title{text-decoration:line-through}.task-calendar__event .task-calendar__check{width:10px;height:10px;min-width:10px;margin:0;padding:0;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;display:grid;place-items:center;overflow:visible}.task-calendar__event .task-calendar__title{min-width:0;width:auto;flex:1;margin:0;padding:0;border:0;background:transparent;color:inherit;font-size:.5rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-calendar{min-height:0;flex:1;margin-top:12px;display:flex;flex-direction:column}.task-calendar__nav{height:34px;display:flex;align-items:center;justify-content:space-between}.task-calendar__nav strong{font-size:.72rem}.task-calendar__nav button{width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.task-calendar__nav button:hover{background:#64605317}.task-calendar__weekdays,.task-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.task-calendar__weekdays span{text-align:center;color:var(--muted);font-size:.55rem;font-weight:800;padding:6px 0}.task-calendar__grid{min-height:0;flex:1;grid-template-rows:repeat(6,minmax(46px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);overflow:auto}.task-calendar__day{min-width:0;padding:3px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.task-calendar__day>span{display:block;color:var(--muted);font-size:.55rem}.task-calendar__day.is-outside{opacity:.35}.task-calendar__day.is-today>span{color:var(--focus);font-weight:900}.task-calendar__day button{width:100%;margin-top:2px;padding:2px 3px;border:0;border-radius:3px;background:#3667d61f;color:var(--ink);font-size:.5rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.task-calendar__day button.is-overdue{background:#c33d3126;color:#b63228}.task-calendar__day button.is-done{text-decoration:line-through;opacity:.5}.tool-dock{position:absolute;z-index:20;right:14px;top:50%;padding:5px;display:grid;gap:3px;transform:translateY(-50%);border-radius:15px}.tool-button{width:42px;height:42px;border:0;border-radius:11px;background:transparent;display:grid;place-items:center;cursor:pointer}.tool-button:hover{background:#23221e0f}.tool-button--active{background:var(--ink);color:#fff}.tool-divider{height:1px;margin:3px 7px;background:var(--line)}.multi-text-tool{position:relative}.multi-text-tool__plus{position:absolute;right:8px;bottom:8px;padding:1px;border-radius:50%;background:var(--panel);color:var(--ink);stroke-width:3}.multi-text-tool.tool-button--active .multi-text-tool__plus{background:#fff;color:#25241f}.tool-dock .tool-button[data-tooltip]{position:relative}.tool-dock .tool-button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 9px);top:50%;z-index:80;width:max-content;padding:6px 8px;transform:translate(4px,-50%);border-radius:7px;background:var(--ink);color:var(--paper);box-shadow:0 5px 16px #0000002e;font-size:.65rem;font-weight:650;line-height:1.2;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.tool-dock .tool-button[data-tooltip]:hover:after,.tool-dock .tool-button[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.zoom-dock{position:absolute;z-index:20;right:14px;top:calc(14px + env(safe-area-inset-top));height:42px;padding:2px;display:flex;align-items:center;border-radius:13px}.zoom-value{min-width:48px;height:32px;padding:0;border:0;background:transparent;text-align:center;color:var(--muted);font-size:.7rem;font-weight:700;cursor:pointer}.theme-dock{position:absolute;z-index:20;right:14px;top:calc(64px + env(safe-area-inset-top));padding:3px;border-radius:13px}.theme-dock .theme-picker{border:0;background:transparent}.editor-theme-mobile{display:none}.minimap{position:absolute;z-index:20;right:14px;bottom:22px;width:190px;height:126px;padding:5px;border-radius:14px;overflow:hidden}.minimap svg{display:block;width:100%;height:100%;border-radius:9px;background:#6460530e;cursor:crosshair}.minimap__object{fill:#4947406b}.minimap__object--text{fill:#3667d680}.minimap__line{stroke:#4947408c;stroke-width:1.5}.minimap__viewport{fill:#3667d614;stroke:var(--focus);stroke-width:1.5;pointer-events:none}.empty-canvas-message{position:absolute;left:calc(50% + 100px);top:50%;display:grid;justify-items:center;transform:translate(-50%,-50%);color:var(--muted);pointer-events:none}.empty-canvas-message__icon{width:44px;height:44px;margin-bottom:12px;display:grid;place-items:center;border:1px solid var(--line);background:#ffffffb3;border-radius:13px}.empty-canvas-message p{margin:0 0 3px;color:var(--ink);font-size:.82rem;font-weight:700}.empty-canvas-message small{font-size:.7rem}.text-node{position:absolute;z-index:5;min-width:40px;min-height:30px;padding:5px 7px;border-radius:5px;cursor:move;touch-action:none}.text-node--selected{background:#ffffff59}.text-node--editing{cursor:text;touch-action:manipulation;background:#ffffffb3}.text-node__editor{min-width:36px;min-height:24px;max-width:360px;outline:0;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;cursor:inherit;-webkit-user-select:text;user-select:text}.text-blocks{display:grid;gap:.12em}.text-block{min-height:1.35em;display:flex;align-items:flex-start;gap:.42em}.text-block__editor{min-width:0;min-height:1.35em;flex:1;outline:0;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;cursor:inherit;-webkit-user-select:text;user-select:text}.text-block__bullet{width:1em;flex:0 0 1em;text-align:center;line-height:1.35}.text-block--checked .text-block__editor{text-decoration:line-through;opacity:.58}.text-node--done .text-node__editor,.text-node--done .text-block__editor{text-decoration:line-through;opacity:.62}.text-node--overdue{box-shadow:inset 0 0 0 1.5px #d94c3a;background:#d94c3a17!important}.text-node--overdue .text-node__editor,.text-node--overdue .text-block__editor{color:#b73529!important}.checklist-node{display:grid;gap:.3em}.checklist-item{display:flex;align-items:center;gap:.45em}.checklist-check{width:1.15em;height:1.15em;min-width:1.15em;padding:0;border:.08em solid currentColor;border-radius:.3em;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer}.checklist-item input{min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit}.checklist-item--done input{text-decoration:line-through;opacity:.58}.checklist-add{justify-self:start;padding:.25em .4em;border:0;border-radius:.35em;background:transparent;color:inherit;display:flex;align-items:center;gap:.3em;font:inherit;font-size:.78em;opacity:.62;cursor:pointer}.checklist-add:hover{background:#6460531a;opacity:1}.text-node__delete{position:absolute;left:-14px;top:-17px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#d94c3a;color:#fff;box-shadow:0 3px 9px #3c1e1933;cursor:pointer}.text-node__task{position:absolute;left:-14px;bottom:-17px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:var(--ink);color:var(--paper);box-shadow:0 3px 9px #23221e2e;cursor:pointer;touch-action:manipulation}.text-node__task.is-task{background:#2f8759;color:#fff}.text-node__task:hover{transform:scale(1.07)}.text-node__schedule{position:absolute;left:-14px;bottom:-49px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:var(--ink);color:var(--paper);box-shadow:0 3px 9px #23221e2e;cursor:pointer;touch-action:manipulation}.text-node__schedule.is-scheduled{background:var(--focus);color:#fff}.text-node__schedule:hover{transform:scale(1.07)}.text-node__schedule-input{position:absolute;left:-14px;bottom:-49px;width:28px;height:28px;opacity:0;pointer-events:none}.selection-quick-toolbar{position:absolute;z-index:26;padding:4px;display:flex;align-items:center;gap:3px;border-radius:12px}.selection-quick-toolbar button{width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.selection-quick-toolbar button:hover{background:#6460531a}.selection-quick-toolbar button.is-active{background:var(--ink);color:var(--paper)}.selection-quick-toolbar__date{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mobile-dock,.mobile-sheet{display:none}.conflict-banner{position:absolute;z-index:40;top:78px;left:50%;width:min(520px,calc(100% - 28px));padding:12px 14px;display:flex;align-items:center;gap:10px;transform:translate(-50%);border-color:#be582a4d;background:#fff4ebf0;border-radius:14px;font-size:.76rem}.conflict-banner span{color:var(--muted);flex:1}.conflict-banner button{border:0;border-radius:8px;padding:7px 9px;background:var(--ink);color:#fff;font-size:.7rem;cursor:pointer}.selection-toolbar{position:absolute;z-index:25;left:50%;bottom:22px;padding:5px;display:flex;align-items:center;gap:4px;transform:translate(-50%);border-radius:12px}.selection-toolbar button{min-height:34px;padding:0 11px;border:0;border-radius:8px;background:transparent;font-size:.72rem;font-weight:700;cursor:pointer}.selection-toolbar button:hover{background:#efeee9}.selection-toolbar select{height:32px;border:0;border-radius:7px;background:#efeee9;font-size:.7rem}.color-control{width:30px;height:30px;overflow:hidden;border:1px solid var(--line);border-radius:7px}.color-control input{width:42px;height:42px;margin:-6px;border:0;cursor:pointer}.toolbar-pinned{display:inline-flex}.toolbar-menu-wrap{position:relative}.toolbar-menu-wrap>button{display:flex;align-items:center;gap:3px}.toolbar-popover{position:absolute;left:50%;bottom:calc(100% + 10px);width:230px;padding:10px;display:grid;gap:5px;transform:translate(-50%);border-radius:13px}.toolbar-popover>strong{padding:3px 5px 7px;font-size:.72rem}.toolbar-popover__row{min-height:42px;padding:4px 5px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:9px}.toolbar-popover__row:hover{background:#64605312}.toolbar-popover__row>span{min-width:0;display:flex;align-items:center;gap:9px}.toolbar-popover__row em{font-style:normal;font-size:.7rem;font-weight:650;white-space:nowrap}.toolbar-popover__row>button{width:30px;min-height:30px;padding:0;display:grid;place-items:center;color:var(--muted)}.toolbar-popover__row>button.is-pinned{color:var(--focus)}.toolbar-popover select{max-width:86px;color:var(--ink)}.font-size-control{width:62px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);font-size:.7rem}.due-date-control{height:32px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);font-size:.68rem}.selection-toolbar button.is-active{background:#efeee9;color:var(--focus)}.selection-toolbar button[aria-label],.zoom-dock button[aria-label]{position:relative}.selection-toolbar button[aria-label]:after,.zoom-dock button[aria-label]:after{content:attr(aria-label);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:80;width:max-content;max-width:180px;padding:6px 8px;transform:translate(-50%,4px);border-radius:7px;background:var(--ink);color:var(--paper);box-shadow:0 5px 16px #0000002e;font-size:.65rem;font-weight:650;line-height:1.2;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.selection-toolbar button[aria-label]:hover:after,.selection-toolbar button[aria-label]:focus-visible:after,.zoom-dock button[aria-label]:hover:after,.zoom-dock button[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%)}.zoom-dock button[aria-label]:after{top:calc(100% + 8px);bottom:auto}.fatal-error{min-height:100vh;max-width:620px;margin:auto;padding:80px 28px}.fatal-error h1{font-family:Georgia,serif;font-size:clamp(2rem,7vw,4rem)}.fatal-error p:not(.eyebrow){color:var(--muted);line-height:1.6}@media(max-width:850px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tasks-dock,.tasks-dock-reopen,.views-strip,.tool-dock,.zoom-dock,.theme-dock,.minimap,.editor-history{display:none}.editor-topbar{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:calc(9px + env(safe-area-inset-top));min-width:0}.editor-title{flex:1}.editor-title strong{max-width:none}.editor-menu{display:grid;margin-left:0}.editor-theme-mobile{display:block}.editor-topbar .theme-picker{width:36px;min-width:36px;padding:0;justify-content:center}.editor-topbar .theme-picker select{position:absolute;inset:0;width:100%;opacity:0}.empty-canvas-message{left:50%;top:46%}.mobile-dock{position:absolute;z-index:30;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));width:min(310px,calc(100% - 24px));height:62px;padding:5px 14px;display:flex;align-items:center;justify-content:space-around;transform:translate(-50%);border-radius:19px}.mobile-dock button{min-width:62px;min-height:48px;border:0;background:transparent;display:grid;place-items:center;gap:2px;color:var(--muted);font-size:.61rem}.mobile-dock .mobile-add{width:49px;min-width:49px;height:49px;margin-top:-24px;border-radius:16px;background:var(--ink);color:#fff;box-shadow:0 8px 22px #25241f33}.mobile-add span{display:none}.mobile-sheet{position:absolute;z-index:29;left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));max-height:min(62vh,520px);padding:18px 12px 12px;display:block;overflow:auto;border-radius:20px}.mobile-sheet__close{position:absolute;z-index:3;right:8px;top:8px;width:38px;height:38px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center}.mobile-sheet .tasks-dock{position:static;display:flex;width:100%;height:min(52vh,440px);padding:8px;border:0;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-sheet .views-strip{position:static;display:flex;transform:none;padding:26px 2px 4px;overflow-x:auto;border:0;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-add-grid{padding:22px 6px 5px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mobile-add-grid .tool-button{width:100%;height:70px;background:#f0efea}.mobile-add-grid .tool-button:after{content:attr(aria-label);font-size:.65rem}.selection-toolbar{bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.toolbar-popover{position:fixed;left:12px;right:12px;bottom:calc(142px + env(safe-area-inset-bottom));width:auto;transform:none}}@media(max-width:620px){.auth-shell{padding:24px;grid-template-columns:1fr;justify-items:center;gap:20px}.auth-brand{text-align:center}.auth-brand>span{margin:0 auto 14px}.auth-brand strong{font-size:2.5rem}.auth-brand p{margin-bottom:0}.dashboard-header{height:66px;padding:0 18px}.dashboard-main{width:calc(100% - 32px);padding-top:40px}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-primary-actions{width:100%}.dashboard-heading .button{flex:1}.dashboard-filter-row{align-items:stretch}.search-field{margin-top:34px}.dashboard-filter-row .button{margin-top:34px;padding:0 12px}.trash-panel,.map-grid{grid-template-columns:1fr}.map-card__preview{height:160px}.map-card--new{min-height:150px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-theme=dark]{color:#eeece5;background:#1d1d1b;--paper:#1d1d1b;--ink:#f4f1e9;--muted:#aaa79e;--line:rgba(255,255,255,.12);--panel:rgba(39,39,36,.88);--shadow:0 14px 44px rgba(0,0,0,.3)}:root[data-theme=dark] .dashboard-shell,:root[data-theme=dark] .editor{background-color:var(--paper)}:root[data-theme=dark] .map-card,:root[data-theme=dark] .search-field,:root[data-theme=dark] .trash-row{background:#292926}:root[data-theme=dark] .map-card--new{background:transparent}:root[data-theme=dark] .button--quiet,:root[data-theme=dark] .trash-panel,:root[data-theme=dark] .count-pill,:root[data-theme=dark] .mobile-add-grid .tool-button{background:#2d2d29}:root[data-theme=dark] .canvas-grid{background-color:#22221f;background-image:radial-gradient(circle,rgba(255,255,255,.15) 1px,transparent 1px)}:root[data-theme=dark] .text-node--selected,:root[data-theme=dark] .text-node--editing{background:#141412b3}:root[data-theme=dark] .text-node__delete{border-color:#292926}:root[data-theme=dark] .task-check,:root[data-theme=dark] .view-remove,:root[data-theme=dark] .view-update{background:#34342f}:root[data-theme=dark] .selection-toolbar button:hover,:root[data-theme=dark] .clear-completed:hover{background:#383832}:root[data-theme=dark] .selection-toolbar select{background:#383832;color:var(--ink)}:root[data-theme=autumn]{color:#432d22;background:#ead8bc;--paper:#f2e4ce;--ink:#432d22;--muted:#856858;--line:rgba(83,52,35,.16);--accent:#c66a3b;--accent-deep:#994522;--focus:#a95334;--panel:rgba(251,239,219,.9);--shadow:0 14px 44px rgba(89,51,25,.13),0 2px 8px rgba(89,51,25,.07);--ui-font:Georgia,"Times New Roman",serif}:root[data-theme=autumn] .dashboard-shell{background:radial-gradient(circle at 80% 5%,rgba(181,84,43,.22),transparent 31%),var(--paper)}:root[data-theme=autumn] .editor{background:#ead9bf}:root[data-theme=autumn] .canvas-grid{background-color:#ead9bf;background-image:radial-gradient(circle,rgba(104,66,43,.24) 1px,transparent 1px)}:root[data-theme=autumn] .map-card,:root[data-theme=autumn] .search-field,:root[data-theme=autumn] .trash-row{background:#fbefdc}:root[data-theme=autumn] .button--quiet,:root[data-theme=autumn] .trash-panel,:root[data-theme=autumn] .count-pill{background:#e5cfad}:root[data-theme=scandi]{color:#26312f;background:#e7ece9;--paper:#f0f3f1;--ink:#26312f;--muted:#6d7b77;--line:rgba(38,62,57,.13);--accent:#d6785c;--accent-deep:#af563f;--focus:#477a72;--panel:rgba(249,251,249,.9);--shadow:0 13px 38px rgba(39,67,61,.09),0 2px 7px rgba(39,67,61,.05)}:root[data-theme=scandi] .dashboard-shell{background:radial-gradient(circle at 80% 5%,rgba(113,157,146,.15),transparent 30%),var(--paper)}:root[data-theme=scandi] .editor{background:#e8eeeb}:root[data-theme=scandi] .canvas-grid{background-color:#e8eeeb;background-image:radial-gradient(circle,rgba(56,92,84,.2) 1px,transparent 1px)}:root[data-theme=scandi] .map-card,:root[data-theme=scandi] .search-field,:root[data-theme=scandi] .trash-row{background:#fafcfb}:root[data-theme=scandi] .button--quiet,:root[data-theme=scandi] .trash-panel,:root[data-theme=scandi] .count-pill{background:#dde6e2}:root[data-theme=terminal]{color:#a5f3b3;background:#07110b;--paper:#07110b;--ink:#a5f3b3;--muted:#679b72;--line:rgba(107,255,137,.17);--accent:#46f26f;--accent-deep:#69ff8d;--focus:#43ff78;--panel:rgba(8,27,15,.91);--shadow:0 0 0 1px rgba(74,255,111,.06),0 13px 42px rgba(0,0,0,.45);--ui-font:"SFMono-Regular",Consolas,"Liberation Mono",monospace}:root[data-theme=terminal] .dashboard-shell,:root[data-theme=terminal] .editor{background:#07110b}:root[data-theme=terminal] .canvas-grid{background-color:#08140d;background-image:radial-gradient(circle,rgba(91,255,124,.22) 1px,transparent 1px)}:root[data-theme=terminal] .map-card,:root[data-theme=terminal] .search-field,:root[data-theme=terminal] .trash-row{background:#0c1c11}:root[data-theme=terminal] .map-card--new{background:transparent}:root[data-theme=terminal] .button--quiet,:root[data-theme=terminal] .trash-panel,:root[data-theme=terminal] .count-pill,:root[data-theme=terminal] .mobile-add-grid .tool-button{background:#102519}:root[data-theme=terminal] .task-check,:root[data-theme=terminal] .view-remove,:root[data-theme=terminal] .view-update{background:#102519;border-color:#376b43}:root[data-theme=terminal] .text-node--selected,:root[data-theme=terminal] .text-node--editing{background:#12301bb3}:root[data-theme=terminal] .selection-toolbar button:hover,:root[data-theme=terminal] .clear-completed:hover{background:#15301f}:root[data-theme=terminal] .selection-toolbar select{background:#15301f;color:var(--ink)}:root[data-theme=terminal] .wordmark__mark,:root[data-theme=terminal] .button--primary,:root[data-theme=terminal] .mobile-add{background:var(--focus);color:#061008}
