:root{--color-primary:#4caf50;--color-primary-hover:#45a049;--color-primary-active:#388e3c;--color-accent:#1565c0;--color-accent-hover:#0d47a1;--color-danger:#c62828;--color-danger-hover:#b71c1c;--color-warning:#f57f17;--color-warning-light:#fff8e1;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--text-white:#fff;--bg-dark:#282c34;--bg-page:#000;--bg-card:#fff;--bg-alt:#f9f9f9;--bg-input:#fff;--neon-blue:#00d4ff;--neon-grid-line:#00d4ff1f;--text-glow:#e6faff;--glow-text-shadow:0 0 6px #00d4ffcc,0 0 14px #00d4ff73;--glow-box-shadow:0 0 8px #00d4ff80;--glow-box-shadow-strong:0 0 14px #00d4ffe6,0 0 28px #00d4ff80;--border:#ddd;--border-alt:#dee2e6;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 10px #0000001a;--shadow-lg:0 4px 8px #00000026;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:20px;--space-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:16px;--z-modal:2000;--z-tab-bar:1500;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-sm:12px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:24px;--tab-bar-height:56px}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-color:#000;background-color:var(--bg-page);background-image:linear-gradient(#00d4ff1f 1px,#0000 0),linear-gradient(90deg,#00d4ff1f 1px,#0000 0);background-image:linear-gradient(var(--neon-grid-line) 1px,#0000 1px),linear-gradient(90deg,var(--neon-grid-line) 1px,#0000 1px);background-size:32px 32px;color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:14px;font-size:var(--font-base);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family)}button:focus-visible{outline:2px solid #1565c0;outline:2px solid var(--color-accent);outline-offset:2px}.neon-button{background:#0000;border:1px solid #00d4ff;border:1px solid var(--neon-blue);border-radius:4px;border-radius:var(--radius-sm);box-shadow:0 0 8px #00d4ff80;box-shadow:var(--glow-box-shadow);color:#e6faff;color:var(--text-glow);cursor:pointer;padding:8px 16px;padding:var(--space-sm) var(--space-md);text-decoration:none;text-shadow:0 0 6px #00d4ffcc,0 0 14px #00d4ff73;text-shadow:var(--glow-text-shadow)}.neon-button:hover{box-shadow:0 0 14px #00d4ffe6,0 0 28px #00d4ff80;box-shadow:var(--glow-box-shadow-strong)}.neon-button:disabled{box-shadow:none;cursor:default;opacity:.4}.profile-icon{cursor:pointer;height:40px;position:absolute;right:20px;top:20px;width:40px;z-index:1000}.profile-icon img{border-radius:50%;filter:brightness(0) saturate(100%) invert(38%) sepia(72%) saturate(500%) hue-rotate(90deg) brightness(95%) contrast(85%);height:100%;object-fit:cover;transition:box-shadow .2s ease;width:100%}.profile-icon img:hover{box-shadow:var(--shadow-lg)}.profile-background{padding:var(--space-sm);position:fixed;right:5vh;top:60px;z-index:1000}.profile-background,.profile-panel{align-items:center;display:flex;justify-content:center}.profile-panel{background-color:var(--color-primary);border-radius:var(--radius-lg);box-shadow:0 5px 15px #0000004d;flex-direction:column;min-width:180px;padding:var(--space-lg)}@media (max-width:500px){.profile-icon{height:30px;right:10px;top:10px;width:30px}}.Home{text-align:center}.Home-logo{filter:brightness(0) invert(1);height:auto;margin-bottom:3vh;max-width:100%;pointer-events:none;width:60vh}.Home-header{background-color:initial;color:var(--text-glow);font-size:calc(10px + 2vmin);min-height:100vh;min-height:100dvh;text-shadow:var(--glow-text-shadow)}.Home-header,.center{align-items:center;display:flex;flex-direction:column;justify-content:center}.center{max-width:100%;width:60vh}.industrial-button{background-color:#4a4a4a;border:2px solid #333;border-radius:var(--radius-sm);box-shadow:0 4px 6px #0006;color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:700;letter-spacing:1px;margin:var(--space-sm);padding:var(--space-sm) 12px;transition:background-color .2s ease,transform .2s ease;width:100%}.industrial-button:hover{background-color:#5c5c5c;transform:translateY(-2px)}.industrial-button:active{background-color:#333;box-shadow:0 2px 4px #0009;transform:translateY(0)}@media (max-width:500px){.Home-logo{width:150px}.industrial-button{max-width:200px}}.container{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:40px auto;max-width:420px;padding:var(--space-xl);text-align:center}.header{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin-bottom:var(--space-lg)}.container-form{display:flex;flex-direction:column;gap:var(--space-md)}.container-form input,.container-form textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-md);padding:12px var(--space-md);transition:border-color .2s ease;width:100%}.container-form input:focus,.container-form textarea:focus{border-color:var(--color-accent);outline:none}.container-form button{background-color:var(--color-accent);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:600;padding:12px var(--space-md);transition:background-color .2s ease}.container-form button:hover{background-color:var(--color-accent-hover)}.container-form a{color:var(--color-accent);font-size:var(--font-base);margin-top:var(--space-sm);text-decoration:none}.container-form a:hover{text-decoration:underline}.container .error-message,.container p{color:var(--color-danger);font-size:var(--font-base);margin-top:var(--space-sm)}@media screen and (max-width:480px){.container{margin:var(--space-lg) var(--space-md);padding:var(--space-lg)}}.delete-bubble{-webkit-tap-highlight-color:rgba(176,0,32,.15);align-items:center;background:#fff;border:1px solid #e0a3ae;border-radius:50%;color:#b00020;cursor:pointer;display:flex;font-size:.9rem;height:1.5rem;justify-content:center;line-height:1;padding:0;position:absolute;right:.4rem;right:var(--delete-bubble-right,.4rem);top:.4rem;top:var(--delete-bubble-top,.4rem);touch-action:manipulation;transition:opacity .12s ease,transform .12s ease;width:1.5rem;z-index:3}.has-delete-bubble>.delete-bubble{opacity:0;pointer-events:none;transform:scale(.8)}.has-delete-bubble:hover>.delete-bubble,.has-delete-bubble>.delete-bubble:focus-visible{opacity:1;pointer-events:auto;transform:none}.has-delete-bubble:has(.has-delete-bubble:hover)>.delete-bubble:not(:focus-visible){opacity:0;pointer-events:none;transform:scale(.8)}.delete-bubble:hover{background:#fdf2f4;border-color:#b00020}.delete-bubble:focus-visible{outline:2px solid #b00020;outline-offset:2px}@media (hover:none){.has-delete-bubble>.delete-bubble{opacity:.7;pointer-events:auto;transform:none}.has-delete-bubble>.delete-bubble:active,.has-delete-bubble>.delete-bubble:focus-visible{opacity:1}}@media (prefers-reduced-motion:reduce){.has-delete-bubble:has(.has-delete-bubble:hover)>.delete-bubble:not(:focus-visible),.has-delete-bubble>.delete-bubble{transform:none;transition:none}}.projects-page{padding:2rem 1.5rem 4rem}.projects-empty,.projects-error,.projects-header,.projects-loading{margin-left:auto;margin-right:auto;max-width:1100px}.projects-header{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.projects-header h1{color:var(--text-glow);margin:0;text-shadow:var(--glow-text-shadow)}.projects-header-actions{align-items:center;display:flex;gap:var(--space-sm)}.projects-calendar-link{padding:var(--space-sm) var(--space-md);white-space:nowrap}.projects-empty,.projects-error,.projects-loading{color:var(--text-glow);padding:2rem 0;text-align:center;text-shadow:var(--glow-text-shadow)}.projects-empty p{margin:0 0 .5rem}.projects-grid{display:block;list-style:none;margin:0;padding:0;position:relative}.project-card{-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #d8d8d8;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;position:relative;touch-action:manipulation;transition:border-color .15s ease,box-shadow .15s ease}.project-card:hover{border-color:#4a7bd0;box-shadow:0 2px 8px #1428501f}.project-card:has(:focus-visible){border-color:#4a7bd0;box-shadow:0 0 0 3px #4a7bd059}@media (prefers-reduced-motion:reduce){.project-card{transition:none}}.project-card-raised{position:relative;z-index:1}.project-card-heading{align-items:baseline;display:flex;gap:.5rem;padding-right:3.5rem}.project-card-title{font-size:1.1rem;margin:0;min-width:0;overflow-wrap:break-word}.project-card-title a{color:inherit;text-decoration:none}.project-card-title a:focus,.project-card-title a:hover{text-decoration:underline}.project-card-title a:after{border-radius:8px;content:"";inset:0;position:absolute}.project-card--editing .project-card-title a:after{content:none}.project-card-description{color:#555;font-size:.9rem;margin:0}.project-card-progress{font-feature-settings:"tnum";color:#777;font-size:.8rem;font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}.project-card-pins-heading{color:var(--text-muted);font-size:var(--font-sm);font-weight:600;letter-spacing:.04em;margin:0 0 var(--space-xs);text-transform:uppercase}.project-card-pins ul{display:flex;flex-direction:column;gap:var(--space-xs);list-style:none;margin:0;padding:0}.pinned-line{grid-gap:0 var(--space-xs);border-left:3px solid var(--color-accent);display:grid;gap:0 var(--space-xs);grid-template-columns:auto minmax(0,1fr);min-width:0;overflow-wrap:anywhere;padding:var(--space-xs)}.pinned-line--blocked{border-color:var(--color-danger)}.project-card-pin-icon{grid-row:1/span 2}.pinned-sequence,.pinned-todo{min-width:0}.pinned-todo{color:var(--text-primary);font-size:var(--font-sm)}.pinned-sequence{color:var(--text-secondary);font-size:var(--font-sm)}.pinned-line--complete .pinned-todo{color:var(--text-muted);text-decoration:line-through}.project-card-pins-empty{color:var(--text-muted);font-size:var(--font-sm);margin:0}.project-card-rename{display:flex;flex-direction:column;gap:.35rem}.dialog-form label,.project-card-rename label{color:#555;font-size:.8rem}.dialog-actions,.project-card-actions{display:flex;gap:.5rem}.project-card-confirm p{font-size:.9rem;margin:0 0 .5rem}.field-error{color:#b00020;font-size:.85rem;margin:0}.project-card-hover-control{opacity:0;pointer-events:none;transition:opacity .12s ease}.project-card:focus-within .project-card-hover-control,.project-card:hover .project-card-hover-control{opacity:1;pointer-events:auto}@media (hover:none){.project-card-hover-control{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.project-card-hover-control{transition:none}}.dialog-backdrop{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed}.dialog{background:#fff;border-radius:8px;padding:1.5rem;width:min(28rem,100%)}.dialog h2{margin:0 0 1rem}.dialog-form{display:flex;flex-direction:column;gap:.5rem}.project-card--light-text,.project-card--light-text .pinned-sequence,.project-card--light-text .pinned-todo,.project-card--light-text .project-card-description,.project-card--light-text .project-card-pins-empty,.project-card--light-text .project-card-pins-heading,.project-card--light-text .project-card-progress,.project-card--light-text .project-card-rename label{color:var(--text-white)}.project-card--light-text .pinned-line--complete .pinned-todo{color:var(--text-white);opacity:.7}.project-card-palette-button{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;font-size:var(--font-sm);height:1.5rem;justify-content:center;line-height:1;padding:0;position:absolute;right:2.2rem;top:.4rem;width:1.5rem;z-index:3}.project-card--palette-open{z-index:5}.card-palette{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-sm);position:absolute;right:.4rem;top:2.2rem;z-index:4}.card-palette-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(10,1.25rem);margin-bottom:var(--space-sm)}.card-palette-swatch{border:1px solid var(--border);cursor:pointer;height:1.25rem;padding:0;width:1.25rem}.card-palette-swatch:focus-visible,.card-palette-swatch:hover{outline:2px solid var(--color-accent);outline-offset:1px}.context-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;font-family:var(--font-family);font-size:var(--font-base);min-width:160px;padding:var(--space-xs);position:fixed;z-index:var(--z-modal)}.context-menu-item{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;padding:var(--space-sm) var(--space-md);text-align:left}.context-menu-item:focus-visible,.context-menu-item:hover{background:var(--bg-alt);outline:2px solid var(--color-accent);outline-offset:-2px}.places-page{box-sizing:border-box;color:var(--text-glow);font-family:var(--font-family);margin:0 auto;max-width:720px;padding:var(--space-md)}.places-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.places-header h1{font-size:var(--font-xl);margin:0 auto 0 0;text-shadow:var(--glow-text-shadow)}.places-error{background:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--text-white);padding:var(--space-sm) var(--space-md)}.place-new{margin-bottom:var(--space-lg)}.place-form{gap:var(--space-sm)}.place-field,.place-form{display:flex;flex-direction:column}.place-field{font-size:var(--font-sm);gap:var(--space-xs)}.place-input{background:var(--bg-input);border:1px solid var(--neon-blue);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:var(--font-md);padding:var(--space-sm);width:100%}.place-list{list-style:none;margin:0 0 var(--space-md);padding:0}.place-item{border:1px solid var(--neon-blue);border-radius:var(--radius-md);box-shadow:var(--glow-box-shadow);display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm);padding:var(--space-md)}.place-name{font-size:var(--font-lg);margin:0}.place-badge{align-self:flex-start;border:1px solid var(--neon-blue);border-radius:var(--radius-sm);font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm);text-shadow:var(--glow-text-shadow)}.place-kind,.place-visit{color:var(--text-muted);font-size:var(--font-sm)}.place-address,.place-visit{margin:0;overflow-wrap:anywhere}.place-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.places-page--phone .place-actions .neon-button{min-height:44px}.place-select{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-sm);gap:var(--space-xs)}.place-select select{background:var(--bg-input);border:1px solid var(--text-muted);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-base);padding:var(--space-xs) var(--space-sm)}.project-page--phone{display:flex;flex-direction:column;height:calc(100dvh - var(--tab-bar-height) - env(safe-area-inset-bottom));overflow:hidden}.phone-sequence{color:var(--text-glow);display:flex;flex:1 1;flex-direction:column;font-size:var(--font-xl);min-height:0}.phone-sequence-scroll{flex:1 1;overflow-y:auto;padding:var(--space-md)}.phone-layer-arrow{align-items:center;background:#0000;border:0;color:var(--text-glow);display:flex;flex:none;font-size:var(--font-md);gap:var(--space-sm);justify-content:flex-start;padding:var(--space-sm) var(--space-md);text-align:left}.phone-layer-arrow--up{padding-top:calc(var(--space-sm) + env(safe-area-inset-top))}.phone-layer-arrow:disabled{color:var(--text-muted)}.phone-layer-arrow-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-layer-title,.phone-sequence-count{color:var(--text-muted);font-size:var(--font-md)}.phone-sequence-title{font-size:var(--font-xl);margin:var(--space-sm) 0}.phone-todos{list-style:none;padding:0}.phone-todo{align-items:center;display:flex;gap:var(--space-md);padding:var(--space-md) 0}.phone-todo--done .phone-todo-text{color:var(--text-muted);text-decoration:line-through}.phone-todo-tick{background:#0000;border:var(--space-xs) solid var(--color-primary);border-radius:var(--radius-pill);color:var(--text-white);flex:none;height:var(--space-xl);width:var(--space-xl)}.phone-todo--done .phone-todo-tick{background:var(--color-primary)}.phone-empty{font-size:var(--font-lg);padding:var(--space-md)}.phone-sequence-description{color:var(--text-muted);font-size:var(--font-md);white-space:pre-wrap}.phone-blocked-badge{border:thin solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);display:inline-block;font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.phone-sequence-blocked-toggle,.phone-sequence-done,.phone-sequence-edit{background:#0000;border:thin solid var(--text-muted);border-radius:var(--radius-sm);color:var(--text-glow);font-size:var(--font-md);padding:var(--space-sm) var(--space-md)}.phone-sequence-blocked-toggle[aria-pressed=true]{border-color:var(--color-danger);color:var(--color-danger)}.phone-sequence-editor{display:flex;flex-direction:column;gap:var(--space-sm);margin:var(--space-sm) 0}.phone-sequence-description-input{font-size:var(--font-md);width:100%}.phone-todo{flex-wrap:wrap}.phone-todo-text{background:#0000;border:none;color:inherit;flex:1 1;font:inherit;padding:0;text-align:left}.phone-todo-editor{flex-basis:100%;flex-direction:column}.phone-todo-editor,.phone-todo-statuses{display:flex;gap:var(--space-sm)}.phone-todo-delete,.phone-todo-done,.phone-todo-status{background:#0000;border:thin solid var(--text-muted);border-radius:var(--radius-sm);color:var(--text-glow);font-size:var(--font-md);padding:var(--space-sm) var(--space-md)}.phone-todo-status[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary)}.phone-todo-delete{border-color:var(--color-danger);color:var(--color-danger)}.phone-unorganized{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.phone-unorganized-header{align-items:center;display:flex;gap:var(--space-md)}.phone-unorganized-title{font-size:var(--font-lg)}.phone-unorganized-back,.phone-unorganized-open{background:#0000;border:thin solid var(--text-muted);border-radius:var(--radius-sm);color:var(--text-glow);font-size:var(--font-md);padding:var(--space-sm) var(--space-md)}.project-page{--page-pad:0.75rem;--panel-width:16rem;--panel-max-height:min(26rem,calc(100vh - 12rem));padding:var(--page-pad) var(--page-pad) 4rem;padding-left:max(var(--page-pad),env(safe-area-inset-left));padding-right:max(var(--page-pad),env(safe-area-inset-right))}.project-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem}.project-header h1{color:var(--text-glow);margin:0;text-shadow:var(--glow-text-shadow)}.inline-description{background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-glow);font:inherit;margin:0;min-width:0;padding:var(--space-xs) var(--space-sm);resize:vertical;white-space:pre-wrap;width:100%}.inline-description::placeholder{color:var(--text-glow);opacity:1}.inline-description:hover{border-color:var(--border)}.inline-description:focus{background:var(--bg-page);border-color:var(--neon-blue);outline:2px solid var(--neon-blue);outline-offset:var(--space-xs)}.project-error,.project-loading{padding:2rem 0;text-align:center}.project-toast{align-items:center;background:#fdf2f4;border:1px solid #f0c2cb;border-radius:6px;color:#b00020;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.project-toast[hidden]{display:none}.project-toast p{margin:0}.project-body{display:block}.unorganized-panel{background:#fff;border:1px solid #d8d8d8;border-radius:10px;bottom:var(--page-pad);box-shadow:0 1px 2px #141e320f,0 10px 28px #141e3229;display:flex;flex-direction:column;max-height:var(--panel-max-height);padding:.75rem;position:fixed;right:var(--page-pad);width:var(--panel-width);z-index:15}.unorganized-panel--collapsed{border-radius:999px;max-height:none;padding:.35rem .5rem;width:auto}.unorganized-panel-toggle{align-items:center;background:none;color:inherit;display:flex;flex:0 0 auto;font-size:inherit;font-weight:600;gap:.4rem;padding:0;text-align:left;width:100%}.unorganized-panel-chevron{color:#999;flex:0 0 auto;font-size:.8rem;line-height:1}.unorganized-panel-toggle:hover .unorganized-panel-chevron{color:#333}.unorganized-panel-body{color:#666;display:flex;flex:1 1 auto;flex-direction:column;font-size:.85rem;margin-top:.75rem;min-height:0}.unorganized-panel-body p{margin:0}.unorganized-panel-list{flex:0 1 auto;min-height:0;overflow-y:auto}.unorganized-panel-delete-all{align-self:flex-end;background:#0000;border:1px solid #b00020;border-radius:4px;color:#b00020;cursor:pointer;flex:0 0 auto;font-size:.8rem;margin:.5rem 0;padding:.25rem .5rem}.unorganized-panel-delete-all:hover{background:#b00020;color:#fff}.unorganized-panel .todo-composer,.unorganized-panel-empty{flex:0 0 auto}@media (max-width:40rem){.project-page{--panel-width:min(16rem,calc(100vw - var(--page-pad)*2));--panel-max-height:min(20rem,calc(100vh - 10rem))}}.canvas{--canvas-gutter:3rem;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.canvas--empty{border:1px dashed var(--neon-blue);border-radius:8px;color:var(--text-glow);padding:2rem;text-align:center}.canvas--empty p{margin:0 0 .5rem}.canvas-layer{display:flex;flex-direction:column}.canvas-layer-main{align-items:flex-start;display:flex;gap:.5rem}.canvas-gutter{display:flex;flex:0 0 var(--canvas-gutter);justify-content:center;margin-left:auto;padding:.75rem 0;width:var(--canvas-gutter)}.canvas-gutter-button{background:var(--bg-page);border:1px dashed var(--neon-blue);border-radius:50%;color:var(--neon-blue);cursor:pointer;font-size:1rem;height:1.75rem;line-height:1;padding:0;width:1.75rem}.canvas-gutter-button:focus-visible,.canvas-gutter-button:hover{border-color:var(--neon-blue);border-style:solid;color:var(--text-glow)}.layer-divider{align-items:center;background:none;border:0;color:var(--neon-blue);cursor:pointer;display:flex;font-size:1rem;height:1.5rem;justify-content:center;line-height:1;padding:0;position:relative;width:100%}.layer-divider:before{border-top:1px dashed var(--neon-grid-line);content:"";left:0;position:absolute;right:0;top:50%}.layer-divider:focus-visible:before,.layer-divider:hover:before{border-top-color:var(--neon-blue)}.layer-divider:focus-visible,.layer-divider:hover{color:var(--text-glow)}.layer-divider:focus-visible{outline:2px solid var(--neon-blue);outline-offset:2px}.layer-divider-glyph{background:#f7f7f8;background:var(--bg-page,#f7f7f8);padding:0 .4rem}.layer-row{background:#0000;border-radius:8px;flex:1 1 auto;margin-left:-.5rem;min-width:0;padding:.35rem .5rem .5rem;position:relative}.layer-row--over{background:#eef3fb;box-shadow:inset 0 0 0 1px #4a7bd0}.layer-row>.delete-bubble{--delete-bubble-top:0.1rem;--delete-bubble-right:0.25rem}.layer-row-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.4rem;padding-right:2rem}.layer-row-copy{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:var(--font-base);line-height:1;padding:var(--space-xs)}.layer-row-copy:focus-visible,.layer-row-copy:hover{background:var(--bg-alt);color:var(--text-primary)}.layer-row-copy-status{color:var(--text-secondary);font-size:var(--font-sm)}.layer-row-title{color:var(--text-glow);flex:0 1 auto;font-size:.75rem;font-weight:500;letter-spacing:.03em;margin:0;max-width:20rem;min-width:0;text-shadow:var(--glow-text-shadow)}.layer-row-title .inline-title:hover{background:#0000;border-color:var(--neon-blue)}.layer-row-title .inline-title:focus{background:var(--bg-page);border-color:var(--neon-blue)}.layer-row-empty{color:var(--text-glow);font-size:.85rem;margin:0}.layer-row-sequences{align-items:flex-start;display:flex;gap:1rem;justify-content:flex-start;list-style:none;margin:0;overflow-x:auto;overscroll-behavior-x:contain;padding:.25rem}.inline-title{background:#0000;border:1px solid #0000;border-radius:4px;color:inherit;font:inherit;min-width:0;padding:.15rem .25rem;width:100%}.inline-title:hover{border-color:#e0e0e0}.inline-title:focus{background:#fff;border-color:#7a7a7a;outline:none}.confirm-dialog-backdrop{align-items:center;background:#14141459;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:var(--z-modal)}.confirm-dialog{background:#fff;border:1px solid #d8d8d8;border-radius:8px;box-shadow:0 8px 24px #0003;padding:1rem;width:min(24rem,100%)}.confirm-dialog-title{font-weight:600;margin:0 0 .5rem}.confirm-dialog-message{color:#555;font-size:.85rem;margin:0 0 1rem}.confirm-dialog-actions{display:flex;gap:.5rem;justify-content:flex-end}.confirm-dialog-confirm{background:#b00020;border-color:#b00020;color:#fff}.import-dialog{width:min(36rem,100%)}.import-dialog-text{border:1px solid var(--border);border-radius:var(--radius-sm);display:block;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:var(--space-sm);resize:vertical;width:100%}.import-dialog-error,.import-dialog-text{font-size:var(--font-sm);margin:0 0 var(--space-md)}.import-dialog-error{color:var(--color-danger)}.todo-note{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-secondary);display:block;font:inherit;margin:var(--space-xs) 0 0;min-width:0;padding:var(--space-xs) var(--space-sm);resize:vertical;white-space:pre-wrap;width:100%}.todo-note:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:var(--space-xs)}.todo-item--note-open{flex-wrap:wrap}.todo-item-note{flex:0 0 100%;min-width:0}.todo-item-text--toggle{cursor:pointer}.todo-item-note-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;flex:0 0 auto;line-height:1;padding:0 var(--space-xs)}.todo-item-note-toggle:hover{color:var(--text-primary)}.sequence-done-note-toggle{font-size:13px}.sequence-card{--seq-surface:#fff;--seq-surface-muted:#fcfcfd;--seq-surface-done:#fbfbfc;--seq-border:#00000012;--seq-border-subtle:#0000000d;--seq-border-rule:#0000000f;--seq-border-control:#00000017;--seq-text:#1a1a1c;--seq-text-secondary:#33333a;--seq-text-muted:#8a8a90;--seq-text-faint:#9a9aa2;--seq-text-fainter:#a6a6ae;--seq-text-ghost:#b0b0b8;--seq-text-ghosted:#c4c4cb;--seq-accent-strong:oklch(0.52 0.14 295);--seq-accent-bg:oklch(0.972 0.014 295);--seq-accent-border:oklch(0.9 0.04 295);--seq-accent-ring:oklch(0.965 0.018 295);--seq-accent-card-border:oklch(0.88 0.05 295);--seq-danger:#a34d4d;--seq-danger-text:#6c5658;--seq-danger-bg:#fbf0f0;--seq-danger-band:#faf6f6;--seq-danger-border:#eeced0;--seq-danger-edge:#eeddde;--seq-done-badge:#c9c9d0;--seq-done-text:#adadb5;--seq-strike:#d6d6dc;--seq-row-hover:#f7f7f9;--seq-control-hover:#f0f0f3;--seq-radius:14px;--seq-radius-band:11px;--seq-radius-row:9px;--seq-radius-pill:20px;-webkit-tap-highlight-color:transparent;background:var(--seq-surface);border:1px solid var(--seq-border);border-radius:var(--seq-radius);cursor:pointer;flex:0 0 25rem;min-width:25rem;overflow:hidden;position:relative;touch-action:manipulation;transition:border-color .15s ease,box-shadow .15s ease}.sequence-card--open{box-shadow:0 1px 2px #1010180a,0 8px 24px -16px #1010182e}.sequence-card--folded{box-shadow:0 1px 2px #1010180a}.sequence-card .sequence-done,.sequence-card .todo-add-row,.sequence-card .todo-item{cursor:default}@media (prefers-reduced-motion:reduce){.sequence-card{transition:none}}.sequence-card--active{border-color:var(--seq-accent-card-border)}.sequence-card--active.sequence-card--folded{box-shadow:0 1px 2px #1010180a,0 0 0 3px var(--seq-accent-ring)}.sequence-card--active.sequence-card--open{box-shadow:0 1px 2px #1010180a,0 8px 24px -16px #1010182e,0 0 0 3px var(--seq-accent-ring)}.sequence-card--state-blocked{border-color:var(--seq-danger-edge)}.sequence-card--state-complete{background:var(--seq-surface-done);border-color:var(--seq-border-rule)}.sequence-card--state-complete.sequence-card--folded:not(.sequence-card--active){box-shadow:none}.sequence-card-expander{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--seq-text-faint);cursor:pointer;display:flex;flex:0 0 auto;font-size:11px;height:22px;justify-content:center;line-height:1;padding:0;width:22px}.sequence-card-expander:focus-visible,.sequence-card-expander:hover{background:var(--seq-control-hover);color:var(--seq-text)}.sequence-card--state-complete .sequence-card-expander{color:var(--seq-text-ghosted)}.sequence-card-collapsed{align-items:center;display:flex;gap:10px;padding:13px 32px 13px 14px}.sequence-card-collapsed--quiet{padding:15px 32px 15px 14px}.sequence-card-collapsed-lines{flex:1 1 auto;min-width:0}.sequence-card-collapsed-line{align-items:center;display:flex;gap:8px;min-width:0}.sequence-card-collapsed-line+.sequence-card-collapsed-line{margin-top:4px}.sequence-card-collapsed-title{color:var(--seq-text);flex:0 1 auto;font-size:16px;font-weight:700;letter-spacing:-.01em;min-width:0}.sequence-card-collapsed--quiet .sequence-card-collapsed-title{color:var(--seq-text-secondary);flex:1 1 auto}.sequence-card--state-complete .sequence-card-collapsed-title{color:var(--seq-text-faint);font-weight:600}.sequence-card-progress{font-feature-settings:"tnum";color:var(--seq-text-fainter);flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums}.sequence-card-collapsed-summary{color:var(--seq-text-fainter);flex:0 0 auto;font-size:12.5px}.sequence-card--state-complete .sequence-card-collapsed-summary{color:#b8b8bf}.sequence-card-collapsed-line .todo-check{border-width:2px;height:16px;width:16px}.sequence-card-collapsed-label{color:var(--seq-accent-strong);flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.11em}.sequence-card--state-blocked .sequence-card-collapsed-label{color:var(--seq-danger)}.sequence-card-collapsed-next{color:var(--seq-text);flex:1 1 auto;font-size:14.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sequence-card--state-blocked .sequence-card-collapsed-next{color:var(--seq-danger-text)}.sequence-card-complete-badge{align-items:center;background:var(--seq-done-badge);border-radius:50%;color:#fff;display:flex;flex:0 0 auto;font-size:11px;height:18px;justify-content:center;line-height:1;width:18px}.sequence-card-collapsed-details{padding:0 var(--space-md) var(--space-md)}.sequence-card-pinned-preview{align-items:center;border:1px solid var(--seq-accent-strong);border-radius:var(--radius-sm);color:var(--seq-text);display:flex;font-size:var(--font-sm);gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-sm)}.sequence-card-pinned-preview-text{flex:1 1;min-width:0;overflow-wrap:anywhere}.sequence-card-pinned-preview-status{color:var(--seq-text-secondary);flex-shrink:0}.sequence-card-pinned-preview--blocked{border-color:var(--seq-danger);color:var(--seq-danger-text)}.sequence-card-pinned-preview--complete .sequence-card-pinned-preview-text{color:var(--seq-text-secondary);text-decoration:line-through}.sequence-card-header{align-items:center;display:flex;gap:10px;padding:14px 32px 12px 18px}.sequence-card-heading{flex:1 1 auto;min-width:0}.sequence-card-title{color:var(--seq-text);font-size:17px;font-weight:700;letter-spacing:-.01em}.sequence-card-description{color:var(--seq-text-faint);font-size:13px;margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.sequence-card-description--empty{font-style:normal}.sequence-card-badge{border:1px solid var(--seq-border-control);border-radius:var(--seq-radius-pill);color:var(--seq-text-muted);flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.09em;padding:4px 9px}.sequence-card-badge--blocked{background:var(--seq-danger-bg);border-color:var(--seq-danger-border);color:var(--seq-danger)}.sequence-card-body{padding:0}.sequence-card-outstanding{padding:6px 12px 4px}.todo-row--top-pinned{background:var(--bg-alt)}.sequence-done{padding:0 12px 4px}.sequence-done-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:7px;padding:12px 8px 4px;width:100%}.sequence-done-label{color:var(--seq-text-ghost);flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.12em}.sequence-done-rule{background:var(--seq-border-rule);flex:1 1 auto;height:1px}.sequence-done-toggle{color:var(--seq-text-ghost);flex:0 0 auto;font-size:11px}.sequence-done-list{list-style:none;margin:0;padding:0}.sequence-done-item{--delete-bubble-top:4px;--delete-bubble-right:2px;align-items:center;border-radius:var(--seq-radius-row);display:flex;gap:10px;padding:7px 26px 7px 8px;position:relative}.sequence-done-item:last-child{padding-bottom:10px}.sequence-done-item:hover{background:var(--seq-row-hover)}.sequence-done-text{color:var(--seq-done-text);flex:1 1 auto;font-size:14.5px;min-width:0;overflow-wrap:anywhere;text-decoration:line-through;text-decoration-color:var(--seq-strike)}.sequence-done-day{color:var(--seq-text-ghosted);flex:0 0 auto;font-size:11.5px}.sequence-card-footer{align-items:center;background:var(--seq-surface-muted);border-top:1px solid var(--seq-border-subtle);display:flex;gap:8px;padding:11px 18px}.sequence-blocked-toggle{align-items:center;background:#fff;border:1px solid var(--seq-border-control);border-radius:var(--seq-radius-pill);color:#6c6c74;cursor:pointer;display:flex;font-size:12.5px;gap:6px;padding:5px 11px}.sequence-blocked-toggle:focus-visible,.sequence-blocked-toggle:hover{border-color:#d9a0a0;color:var(--seq-danger)}.sequence-blocked-toggle--on{background:var(--seq-danger-bg);border-color:var(--seq-danger-border);color:var(--seq-danger)}.sequence-blocked-dot{border:1.5px solid;border-radius:50%;height:8px;width:8px}.sequence-blocked-toggle--on .sequence-blocked-dot{background:currentColor}.sequence-card-status{color:var(--seq-text-fainter);flex:1 1 auto;font-size:12.5px;text-align:right}.sequence-card--eligible{border-color:#4a7dbd}.sequence-card--ineligible{opacity:.45}.sequence-card--over{background:#eef4fb;box-shadow:0 0 0 2px #4a7dbd,0 6px 18px #141e322e}.sequence-card-grip{background:none;border:0;color:#c8c8c8;cursor:grab;flex:0 0 auto;font-size:.9rem;line-height:1;padding:0 .25rem}.sequence-card-grip:focus-visible,.sequence-card:hover .sequence-card-grip{color:#7a7a7a}.sequence-card--dragging{cursor:grabbing;opacity:.5}@keyframes sequence-card-spotlight{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 3px var(--color-accent)}}.sequence-card--spotlit{animation:sequence-card-spotlight 1s ease-in-out 2}@media (prefers-reduced-motion:reduce){.sequence-card--spotlit{animation:none;box-shadow:0 0 0 3px var(--color-accent)}}.sequence-card-collapsed-header.is-pin-selectable,.sequence-card-header.is-pin-selectable{position:relative}.sequence-pin-icon{flex:0 0 auto;font-size:var(--font-sm);line-height:1}.todo-item{--delete-bubble-top:0.35rem;--delete-bubble-right:0.15rem;align-items:center;border-radius:9px;color:#33333a;display:flex;font-size:15.5px;gap:10px;padding:8px 44px 8px 8px;position:relative}.todo-item:hover{background:#f7f7f9}.todo-item-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.todo-item--complete .todo-item-text{color:#adadb5;text-decoration:line-through;text-decoration-color:#d6d6dc}.todo-item--blocked .todo-item-text{color:#6c5658}.todo-check{align-items:center;background:none;border:1.5px solid #c6c6cd;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex:0 0 auto;font-size:11px;height:19px;justify-content:center;line-height:1;padding:0;position:relative;width:19px}.todo-check:after{content:"";inset:-7px;position:absolute}button.todo-check:hover{border-color:oklch(.58 .15 295)}.todo-check--waiting{border:2px solid #d9b3b5;cursor:default}.todo-check--blocked{border-color:#d9b3b5}.todo-check--done{background:#dcdce1;border-color:#0000}button.todo-check--done:hover{background:#c9c9d0;border-color:#0000}.todo-check--ghost{border-color:#d4d4da;border-style:dashed;cursor:inherit}.todo-item-handle-slot{flex:0 0 auto;width:14px}.todo-add-row{align-items:center;border-radius:9px;display:flex;gap:10px;padding:8px}.todo-add-row:hover{background:#f7f7f9}.todo-add-row-open{align-items:center;background:none;border:none;cursor:text;display:flex;flex:1 1 auto;gap:10px;min-width:0;padding:0;text-align:left}.todo-add-row-placeholder{color:#a6a6ae;flex:1 1 auto;font-size:15.5px;min-width:0}.todo-add-row-field{background:none;border:none;color:#33333a;flex:1 1 auto;font:inherit;font-size:15.5px;min-width:0;padding:0}.todo-add-row-field:focus{outline:none}.todo-item-menu-toggle{background:none;border:none;color:#888;cursor:pointer;flex:0 0 auto;line-height:1;opacity:0;padding:0 .2rem;position:absolute;right:1.4rem;top:50%;transform:translateY(-50%)}.todo-item:focus-within .todo-item-menu-toggle,.todo-item:hover .todo-item-menu-toggle{opacity:1}.todo-item-menu{background:#fff;border:1px solid #d8d8d8;border-radius:6px;box-shadow:0 2px 8px #0000001f;list-style:none;margin:0;min-width:12rem;padding:.25rem;position:absolute;right:0;top:100%;z-index:2}.todo-item-menu button{background:none;border:none;cursor:pointer;font-size:.8rem;padding:.35rem .5rem;text-align:left;width:100%}.todo-item-menu button:focus-visible,.todo-item-menu button:hover{background:#f0f0f0}.todo-composer{margin-top:.5rem}.todo-composer-row{display:flex;gap:.4rem}.todo-composer-field{border:1px solid #d8d8d8;border-radius:4px;flex:1 1 auto;font-size:.85rem;min-width:0;padding:.3rem .4rem}.todo-composer-add{flex:0 0 auto;font-size:.8rem;padding:.3rem .6rem}.todo-composer-error{color:#b3261e;font-size:.75rem;margin:.3rem 0 0}.unorganized-panel .todo-item{font-size:13.5px;gap:8px;padding:5px 40px 5px 4px}.unorganized-panel .todo-check{height:16px;width:16px}.sequence-card-todo-list,.unorganized-panel-list{list-style:none;margin:0;padding:0}.unorganized-panel-empty{color:#888;font-size:.8rem;margin:0}.sequence-card-todo-list{margin:0}.todo-item-drag-handle{background:none;border:none;color:#c9c9cf;cursor:grab;flex:0 0 auto;font-size:12px;letter-spacing:1px;line-height:1;padding:0;touch-action:none;width:14px}.todo-item:focus-within .todo-item-drag-handle,.todo-item:hover .todo-item-drag-handle{color:#767676}.todo-item-drag-handle:active{cursor:grabbing}.todo-item--dragging{opacity:.4}.drop-zone{border-radius:2px;height:0;transition:height .12s ease,background-color .12s ease}.drop-zone--armed{height:4px}.drop-zone--over{background:#4a7dbd}.pin-controls{display:flex;gap:var(--space-sm)}.todo-pin-icon{flex:0 0 auto;font-size:var(--font-sm);line-height:1}.todo-item-content{display:contents}.is-pin-selectable{position:relative}.pin-select-control{background:none;border:1px dashed var(--color-accent);border-radius:var(--radius-md);cursor:pointer;inset:0;padding:0;position:absolute;width:100%;z-index:4}.pin-select-control:disabled{cursor:wait}.pin-select-control:focus-visible,.pin-select-control:hover{border-color:var(--color-accent)}.pin-select-control[aria-pressed=true]{background:color-mix(in srgb,var(--color-accent) 12%,#0000);border-color:var(--color-accent);border-style:solid}.is-pin-selectable .delete-bubble,.is-pin-selectable .todo-item-menu-toggle{opacity:0}.calendar-page{--page-pad:0.75rem;--cal-panel-width:320px;--cal-column-min-width:260px;--cal-column-width:max(var(--cal-column-min-width),calc((100% - var(--space-sm))/2));--cal-gutter-width:48px;--cal-item-edge-width:3px;--cal-resize-depth:6px;--cal-note-plane-split:0.5;--cal-note-edge-depth:var(--cal-resize-depth);display:flex;flex-direction:column;height:100dvh;overflow-x:auto;overflow-y:hidden;padding:var(--page-pad) var(--page-pad) var(--space-xl);padding-left:max(var(--page-pad),env(safe-area-inset-left));padding-right:max(var(--page-pad),env(safe-area-inset-right))}.calendar-header{align-items:baseline;display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.calendar-header h1{color:var(--text-glow);font-size:var(--font-xl);margin:0;text-shadow:var(--glow-text-shadow)}.calendar-events-notice{align-items:center;background:var(--bg-card);border:1px solid var(--color-danger);color:var(--color-danger);display:flex;gap:var(--space-sm)}.calendar-events-notice,.calendar-events-notice button{border-radius:var(--radius-sm);font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.calendar-events-notice button{background:var(--color-danger);color:var(--text-white)}.calendar-export-summary{color:var(--text-secondary);font-size:var(--font-sm);margin:0}.calendar-toast{align-items:center;background:var(--bg-card);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md)}.calendar-toast[hidden]{display:none}.calendar-toast p{margin:0}.calendar-toast button{background:var(--color-danger);border-radius:var(--radius-sm);color:var(--text-white);font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.calendar-error,.calendar-loading{color:var(--text-glow);flex:1 1;min-width:0;padding:var(--space-xl) 0;text-align:center}.calendar-error p{color:var(--color-danger);margin:0 0 var(--space-md)}.calendar-error button{background:var(--color-accent);border-radius:var(--radius-sm);color:var(--text-white);padding:var(--space-sm) var(--space-md)}.calendar-body{align-items:stretch;display:flex;flex:1 1;gap:var(--space-md);min-height:0;position:relative}.notes-notice{align-items:center;background:var(--bg-card);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);display:flex;font-size:var(--font-sm);gap:var(--space-sm);left:50%;padding:var(--space-xs) var(--space-sm);position:absolute;top:var(--space-sm);transform:translateX(-50%);z-index:3}.notes-notice[hidden]{display:none}.notes-notice p{margin:0}.calendar-strip{align-items:stretch;display:flex;flex:1 1;gap:var(--space-sm);min-width:0;overflow-x:auto}.calendar-panel{flex:0 0 var(--cal-panel-width);overflow-y:auto;position:relative}.calendar-strip--empty{align-items:flex-start;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-glow);flex-direction:column;gap:var(--space-sm);padding:var(--space-lg)}.calendar-strip--empty p{margin:0}.calendar-strip--empty button,.calendar-strip-add{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:var(--space-sm) var(--space-md)}.calendar-strip-add{align-self:flex-start;flex:0 0 auto;font-size:var(--font-lg);line-height:1}.calendar-strip--empty button:hover:not(:disabled),.calendar-strip-add:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.calendar-strip-add:disabled{color:var(--text-muted);cursor:default}.day-column{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:0 0 var(--cal-column-width);height:100%;min-height:0;position:relative}.day-column,.day-column-header{display:flex;flex-direction:column}.day-column-header{border-bottom:1px solid var(--border);gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.day-column-title{font-size:var(--font-md);margin:0}.day-column--today{border-color:var(--color-accent)}.day-column-today-badge{background:var(--color-accent);border-radius:var(--radius-sm);color:var(--text-white);font-size:var(--font-sm);padding:0 var(--space-xs)}.day-column-scroll{flex:1 1;min-height:0;overflow-y:auto;position:relative}.day-column-drop--over,.note-plane-drop--over{background:var(--color-warning-light)}.day-grid{position:relative}.day-grid-gutter{border-right:1px solid var(--border);bottom:0;left:0;position:absolute;top:0;width:var(--cal-gutter-width)}.day-grid-hour{color:var(--text-muted);font-size:var(--font-sm);line-height:1;position:absolute;right:var(--space-xs);transform:translateY(-50%)}.day-grid-rules{display:flex;flex-direction:column;height:100%;margin-left:var(--cal-gutter-width)}.day-grid-slot{border-top:1px dotted var(--border);flex:1 1}.day-grid-slot--hour{border-top-color:var(--border-alt);border-top-style:solid}.day-item-card{background:var(--bg-alt);border-left:var(--cal-item-edge-width) solid var(--color-accent);border-radius:var(--radius-sm);left:calc(var(--cal-gutter-width) + (100% - var(--cal-gutter-width))*var(--cal-note-plane-split));overflow:hidden;position:absolute;right:var(--space-xs);z-index:1}.day-item-card--complete{border-left-color:var(--color-primary);color:var(--text-muted)}.day-item-card--complete .day-item-name{text-decoration:line-through}.day-item-card--sequence{font-weight:600;overflow:visible}.day-item-card--sequence .day-item-name{font-weight:inherit}.day-item-card--blocked{border-left-width:1px;border:1px solid var(--color-danger);border-left:var(--cal-item-edge-width) solid var(--color-danger)}.day-item-row{align-items:center;display:flex;gap:var(--space-xs);padding:var(--space-xs)}.day-item-bubble{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;flex:0 0 auto;height:var(--space-md);width:var(--space-md)}.day-item-bubble--done,.day-item-bubble:hover:not(:disabled){border-color:var(--color-primary)}.day-item-bubble--done{background:var(--color-primary);cursor:default}.day-item-handle{background:none;color:var(--text-muted);cursor:grab;flex:0 0 auto;line-height:1;padding:0}.day-item-name{background:none;color:inherit;flex:1 1;font-size:var(--font-base);min-width:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}button.day-item-name:hover{color:var(--color-accent)}.day-item-time{color:var(--text-secondary);display:block;font-size:var(--font-sm);padding:0 var(--space-xs) var(--space-xs)}.day-item-edge{cursor:ns-resize;height:var(--cal-resize-depth);left:0;position:absolute;right:0}.day-item-edge--top{top:0}.day-item-edge--bottom{bottom:0}.day-item-edge:hover{background:var(--color-accent);opacity:.2}.note-plane{border-right:1px dashed var(--border);bottom:0;left:var(--cal-gutter-width);position:absolute;top:0;width:calc((100% - var(--cal-gutter-width))*var(--cal-note-plane-split))}.note-plane-surface{cursor:crosshair;inset:0;position:absolute}.note-ribbon{background:var(--bg-alt);border-left:var(--cal-item-edge-width) solid var(--color-primary);border-radius:var(--radius-sm);overflow:hidden;position:absolute}.note-ribbon--unplaceable{border-left-color:var(--color-danger);opacity:.7}.note-ribbon-body{align-items:center;background:none;border:0;color:var(--text-secondary);cursor:grab;display:flex;height:100%;justify-content:center;padding:var(--space-xs) 0;width:100%}.note-ribbon-text{font-size:var(--font-sm);max-height:100%;overflow:hidden;text-overflow:ellipsis;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}button.note-ribbon-body:hover .note-ribbon-text{color:var(--color-accent)}.note-ribbon-edge{cursor:ns-resize;height:var(--cal-note-edge-depth);left:0;position:absolute;right:0;z-index:1}.note-ribbon-edge--top{top:0}.note-ribbon-edge--bottom{bottom:0}.note-ribbon-edge:hover{background:var(--color-accent);opacity:.2}.note-draft{background:var(--color-warning-light);border:1px dashed var(--color-accent);border-radius:var(--radius-sm);left:0;pointer-events:none;position:absolute;right:0}.note-draft--refused{background:none;border-color:var(--color-danger)}.note-popover{background:var(--bg-card);border:1px solid var(--border-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-xs);left:var(--cal-gutter-width);padding:var(--space-sm);position:absolute;width:240px;z-index:2}.note-popover-range{color:var(--text-muted);font-size:var(--font-sm)}.note-popover-field{display:flex;flex-direction:column;gap:var(--space-xs)}.note-popover-label{color:var(--text-secondary);font-size:var(--font-sm)}.note-popover-field input{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;font-size:var(--font-base);padding:var(--space-xs) var(--space-sm);width:100%}.note-popover-actions{display:flex;gap:var(--space-sm);justify-content:space-between}.note-popover-save{background:var(--color-accent);color:var(--text-white)}.note-popover-delete,.note-popover-save{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md)}.note-popover-delete{background:none;color:var(--color-danger)}.pool-empty,.pool-loading{color:var(--text-secondary);padding:var(--space-lg) 0;text-align:center}.pool-notice{background:var(--bg-card);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-sm);margin-bottom:var(--space-sm);padding:var(--space-sm)}.pool-notice[hidden]{display:none}.pool-error{padding:var(--space-lg) 0;text-align:center}.pool-error p{color:var(--color-danger);margin:0 0 var(--space-sm)}.pool-error button{background:var(--color-accent);border-radius:var(--radius-sm);color:var(--text-white);padding:var(--space-sm) var(--space-md)}.pool-cards{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.pool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.pool-card--expanded{border-color:var(--border-alt);box-shadow:var(--shadow-md)}.pool-card-header{align-items:center;background:none;color:inherit;display:flex;gap:var(--space-sm);justify-content:space-between;padding:var(--space-sm) var(--space-md);text-align:left;width:100%}.pool-card-title{font-size:var(--font-base);font-weight:600}.pool-card-count{background:var(--bg-alt);border-radius:var(--radius-pill);color:var(--text-secondary);flex:0 0 auto;font-size:var(--font-sm);min-width:var(--space-lg);padding:0 var(--space-xs);text-align:center}.pool-card-empty{color:var(--text-muted);font-size:var(--font-sm);margin:0;padding:0 var(--space-md) var(--space-sm)}.pool-card-todos{display:flex;flex-direction:column;gap:var(--space-xs);list-style:none;margin:0;padding:0 var(--space-sm) var(--space-sm)}.panel-todo-row{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;font-size:var(--font-base);gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.panel-todo-row--scheduled{background:var(--bg-alt);color:var(--text-muted)}.panel-todo-row--blocked{border-color:var(--color-danger)}.panel-todo-row--complete .panel-todo-text{color:var(--text-muted);text-decoration:line-through}.calendar-pin-icon{flex:0 0 auto;line-height:1}.calendar-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.panel-todo-grip{color:var(--text-muted);cursor:grab;flex:0 0 auto;line-height:1}.panel-todo-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-todo-badge,.panel-todo-sequence{color:var(--text-muted);flex:0 0 auto;font-size:var(--font-sm)}.panel-todo-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 var(--space-xs)}.panel-sequence-row{font-weight:600;position:relative}.panel-sequence-title{background:none;border:0;color:inherit;cursor:pointer;flex:1 1;font:inherit;min-width:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.panel-sequence-preview{font-weight:400;left:0;margin-top:var(--space-xs);position:absolute;right:0;top:100%;z-index:10}.remove-overlay{align-items:center;background:var(--bg-card);border:2px dashed var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);display:flex;inset:0;justify-content:center;padding:var(--space-lg);position:absolute;text-align:center;z-index:1}.remove-overlay[hidden]{display:none}.remove-overlay--over{background:var(--color-warning-light)}.calendar-drag-ghost{background:var(--bg-card);border:1px solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);cursor:grabbing;font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm);white-space:nowrap}.now-line{border-top:2px solid var(--color-danger);height:0;left:var(--cal-gutter-width);pointer-events:none;position:absolute;right:0;z-index:5}.full-text-tip{background:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:var(--font-sm);max-width:20rem;overflow-wrap:anywhere;padding:var(--space-sm);pointer-events:none;white-space:normal;z-index:1000}.google-connect{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-sm);gap:var(--space-sm);margin-left:auto}.google-connect p{margin:0}.calendar-event{background:var(--bg-alt);border-left:var(--cal-item-edge-width) solid var(--text-muted);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;flex-direction:column;font-size:var(--font-sm);left:calc(var(--cal-gutter-width) + (100% - var(--cal-gutter-width))*var(--cal-note-plane-split));opacity:.6;overflow:hidden;padding:var(--space-xs);position:absolute;right:var(--space-xs);z-index:0}.calendar-event-title{font-weight:600}.calendar-drive{align-items:center;background:var(--bg-alt);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:var(--font-sm);gap:var(--space-xs);justify-content:space-between;left:calc(var(--cal-gutter-width) + (100% - var(--cal-gutter-width))*var(--cal-note-plane-split));opacity:.7;overflow:hidden;padding:0 var(--space-xs);position:absolute;right:var(--space-xs);z-index:0}.calendar-drive a{color:var(--color-primary)}.all-day-events{display:flex;flex-wrap:wrap;gap:var(--space-xs);list-style:none;margin:0;padding:0}.all-day-event{background:var(--bg-alt);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-sm);opacity:.6;padding:var(--space-xs)}.day-column-import{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.day-column-import:disabled{cursor:not-allowed;opacity:.5}.phone-day-scroll{height:calc(100dvh - var(--tab-bar-height) - env(safe-area-inset-bottom));overflow-y:auto}.phone-day-header{color:var(--text-glow);padding:var(--space-sm) var(--space-md)}.phone-day-today-badge{background:var(--color-accent);border-radius:var(--radius-sm);color:var(--text-white);font-size:var(--font-sm);padding:0 var(--space-xs)}.phone-day-empty{color:var(--text-muted);padding:var(--space-md)}.phone-day-import{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-white);font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.phone-day-import:disabled{opacity:.5}.phone-day-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-white);font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm)}.phone-day-nothing,.phone-day-unavailable{font-size:var(--font-sm);margin:var(--space-xs) 0 0}.phone-day-unavailable{color:var(--text-muted)}.calendar-page--phone{overflow-x:hidden}.calendar-page--phone .calendar-header{flex-wrap:wrap}.calendar-page--phone .calendar-header-more{display:flex;flex-wrap:wrap;gap:var(--space-sm);width:100%}.calendar-page--phone .phone-day{max-width:100%}.project-thoughts-page{box-sizing:border-box;color:var(--text-glow);display:flex;flex-direction:column;font-family:var(--font-family);gap:var(--space-sm);margin:0 auto;max-width:960px;min-height:100vh;padding:var(--space-md)}.project-thoughts-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.project-thoughts-header h1{font-size:var(--font-xl);margin:0;text-shadow:var(--glow-text-shadow)}.project-thoughts-title{color:var(--text-secondary);flex-basis:100%;margin:0}.project-thoughts-error{background:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--text-white);padding:var(--space-sm) var(--space-md)}.project-thoughts-input{background:var(--bg-input);border:1px solid var(--neon-blue);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:var(--font-md);min-height:60vh;padding:var(--space-sm);resize:vertical;width:100%}.project-thoughts-status{color:var(--text-secondary);margin:0}.project-thoughts-page--phone{padding:var(--space-sm)}.project-thoughts-page--phone .project-thoughts-input{min-height:70vh}.thoughts-page{box-sizing:border-box;color:var(--text-glow);font-family:var(--font-family);margin:0 auto;max-width:720px;padding:var(--space-md)}.thoughts-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.thoughts-header h1{font-size:var(--font-xl);margin:0 auto 0 0;text-shadow:var(--glow-text-shadow)}.thoughts-error{background:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--text-white);padding:var(--space-sm) var(--space-md)}.thought-new{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.thought-input{background:var(--bg-input);border:1px solid var(--neon-blue);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:var(--font-md);min-height:80px;padding:var(--space-sm);width:100%}.thought-list{list-style:none;margin:0 0 var(--space-md);padding:0}.thought-item{border:1px solid var(--neon-blue);border-radius:var(--radius-md);box-shadow:var(--glow-box-shadow);display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm);padding:var(--space-md)}.thought-text{font-size:var(--font-md);margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.thought-time{color:var(--text-muted);font-size:var(--font-sm)}.thought-actions{display:flex;gap:var(--space-sm)}.thoughts-page--phone .thought-actions .neon-button,.thoughts-page--phone .thought-new .neon-button{min-height:44px}.tab-bar{align-items:center;background:var(--bg-page);border-top:1px solid var(--neon-grid-line);bottom:0;box-sizing:initial;display:flex;height:var(--tab-bar-height);justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;width:100%;z-index:var(--z-tab-bar)}.tab-bar-back,.tab-bar-link{background:none;border:none;color:var(--text-glow);cursor:pointer;flex:1 1;font-family:var(--font-family);font-size:var(--font-md);padding:var(--space-sm);text-align:center;text-decoration:none}.tab-bar-link.active{color:var(--neon-blue);text-shadow:var(--glow-text-shadow)}.tab-bar-spacer{height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}