:root{--brand: #1E5C4D;--brand-ink: #FFFFFF;--canvas: #F4F2EA;--surface: #FFFFFF;--ink: #262521;--ink-soft: #5B5E57;--line: #E2DFD5;--note-marigold: #F2C14E;--note-sage: #A8C09A;--note-clay: #E0997A;--note-sky: #8FB8D8;--note-lilac: #B3A3D6;--note-blush: #E8A9B8;--note-mint: #8FCBB0;--note-slate: #A9B2BC;--note-ink: #262521;--done: #2F8F5B;--warn: #C58A2A;--danger: #C4553F;--info: #4E86B4;--focus: #1E5C4D;--focus-contrast: #FFFFFF;--shadow-note: 0 1px 2px rgba(38,37,33,.1), 0 2px 6px rgba(38,37,33,.08);--shadow-lift: 0 6px 16px rgba(38,37,33,.18), 0 2px 4px rgba(38,37,33,.1);--shadow-sheet: 0 -4px 24px rgba(38,37,33,.16);--scrim: rgba(38,37,33,.44);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 999px;--z-board-grid: 0;--z-note: 10;--z-note-dragging: 50;--z-board-ui: 100;--z-toolbar: 200;--z-nav: 300;--z-toast: 800;--z-sheet: 900;--z-popover: 1000}[data-theme=dark]{--brand: #4FA98E;--brand-ink: #14201C;--canvas: #1B1D1A;--surface: #242621;--ink: #ECEAE0;--ink-soft: #A6A99E;--line: #34372F;--note-marigold: #C79A3E;--note-sage: #7E9A72;--note-clay: #B87A60;--note-sky: #6E93AE;--note-lilac: #8C7FAD;--note-blush: #B9838F;--note-mint: #6FA88E;--note-slate: #838C96;--note-ink: #14130F;--done: #57B981;--warn: #DBA94E;--danger: #E07863;--info: #6FA6D0;--focus: #4FA98E;--focus-contrast: #14201C;--shadow-note: 0 1px 2px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.34);--shadow-lift: 0 8px 20px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.34);--shadow-sheet: 0 -4px 28px rgba(0,0,0,.5);--scrim: rgba(0,0,0,.6)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light dark}:root{--tint-hover: color-mix(in srgb, var(--ink) 8%, transparent);--control-icon: 28px}.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}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input{font:inherit}.muted{color:var(--ink-soft)}.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em}.error{display:flex;align-items:center;gap:var(--space-2);color:var(--danger);font-size:var(--text-sm);background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.error-dismiss{margin-inline-start:auto;flex:none;min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--danger);font-size:var(--text-lg);line-height:1}.error-dismiss:hover{background:color-mix(in srgb,var(--danger) 16%,transparent)}.error-dismiss:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.center{min-height:100dvh;display:grid;place-items:center}.btn{border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--weight-medium);transition:background .12s ease,border-color .12s ease,transform 80ms ease}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.primary:hover{background:color-mix(in srgb,var(--brand) 88%,black)}.btn.ghost{background:transparent;color:var(--ink-soft);border-color:transparent}.btn.ghost:hover{color:var(--ink);background:var(--tint-hover)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-note)}label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-soft)}input[type=text],input[type=email],input[type=password]{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--surface);color:var(--ink);width:100%}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--brand)}.brand{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-2xl);color:var(--ink);letter-spacing:-.01em}.brand.small{font-size:var(--text-lg)}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:var(--space-12) var(--space-4) var(--space-4)}.auth-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8);width:min(380px,100%)}.auth-card .brand{text-align:center}.auth-card .tagline{margin:calc(var(--space-2) * -1) 0 var(--space-2);font-size:var(--text-sm);text-align:center}.auth-notice{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);background:color-mix(in srgb,var(--done) 12%,transparent);border:1px solid color-mix(in srgb,var(--done) 35%,transparent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.auth-age{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-snug)}.auth-age-confirm{display:flex;align-items:center;gap:var(--space-3);min-height:44px}.auth-age input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.auth-age label{color:var(--ink);cursor:pointer}.auth-age-error{margin:var(--space-1) 0 0;color:var(--danger)}.app-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.app-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.topbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;row-gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:var(--z-nav)}.topbar .spacer{flex:1}.brand-lockup{display:flex;align-items:center;gap:var(--space-2)}.topbar-tools{display:flex;align-items:center;gap:var(--space-3);flex:1 1 0;min-width:0}.account-menu{position:relative}.account-btn{min-width:44px;font-size:var(--text-lg);line-height:1}.account-panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-end:0;z-index:var(--z-popover);display:flex;flex-direction:column;width:min(264px,calc(100vw - var(--space-6)));padding:var(--space-1) 0;background:var(--surface);overflow:hidden;animation:tz-fade-in .12s ease-out}.account-summary{margin:0;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.account-summary span{color:var(--ink-soft)}.account-panel .btn.account-menu-action{justify-content:flex-start;border-radius:0;padding-left:var(--space-4);padding-right:var(--space-4)}.account-pro-indicator{margin:0;min-height:44px;display:flex;align-items:center;padding:var(--space-2) var(--space-4);color:var(--brand);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.btn.ghost.account-delete{color:var(--danger);border-color:var(--danger)}.btn.ghost.account-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.delete-account-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.destructive-confirm-warning{margin:0;font-size:var(--text-sm);color:var(--ink-soft)}.delete-account-form{display:flex;flex-direction:column;gap:var(--space-3)}.modal-card.account-settings-modal{width:min(760px,94vw);max-height:90dvh;padding:0;overflow:hidden;gap:0}.account-settings-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);background:var(--surface)}.account-settings-header h2{margin:0;font-size:var(--text-xl)}.account-settings-close{min-width:44px;min-height:44px;font-size:var(--text-lg)}.account-settings-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-5) max(var(--space-5),env(safe-area-inset-bottom))}.account-section{padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.account-section:last-child{border-bottom:none}.account-section h3{margin:0 0 var(--space-4);font-size:var(--text-lg)}.account-facts{margin:0;display:grid;gap:var(--space-3)}.account-facts>div{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);gap:var(--space-3)}.account-facts dt{color:var(--ink-soft);font-size:var(--text-sm)}.account-facts dd{margin:0;overflow-wrap:anywhere}.account-email-fact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.account-fact-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.account-inline-form,.account-change-email-form{display:grid;gap:var(--space-3);width:100%}.account-inline-form input,.account-change-email-form input{width:100%}.account-change-email-form label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.account-profile-actions{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.account-control-group{display:grid;justify-items:start;gap:var(--space-2)}.account-control-group>p{margin:0}.account-status-message{color:var(--ink-soft);font-size:var(--text-sm)}.account-security-control{padding-top:var(--space-4);border-top:1px solid var(--line)}.account-status{padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.account-status.verified{color:var(--ink);border-color:color-mix(in srgb,var(--done) 55%,var(--line));background:color-mix(in srgb,var(--done) 12%,transparent)}.subscription-card{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.subscription-name{margin:0;font-weight:var(--weight-semibold)}.subscription-detail{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.account-section-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn.trial-start{background:var(--brand);color:var(--brand-ink);border-color:transparent}.btn.trial-start:hover{background:color-mix(in srgb,var(--brand) 88%,var(--ink))}.upgrade-trial{width:100%;min-height:52px}.account-preference-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line)}.notification-preferences{padding-top:var(--space-4)}.notification-preferences .notif-prefs{padding-top:0;border-top:none}.account-data-section>.account-section-actions{margin-bottom:var(--space-4)}.account-danger-zone{padding-top:var(--space-4);border-top:1px solid var(--line)}.account-danger-zone p{margin:0 0 var(--space-3);font-size:var(--text-sm)}@media(max-width:560px){.modal-backdrop.account-settings-backdrop{padding:0}.modal-card.account-settings-modal{width:100vw;height:100dvh;max-height:none;border:none;border-radius:0}.account-settings-header{padding:max(var(--space-2),env(safe-area-inset-top)) var(--space-4) var(--space-2)}.account-settings-body{padding-inline:var(--space-4)}.account-facts>div{grid-template-columns:1fr;gap:var(--space-1)}.subscription-card,.account-section-actions{flex-direction:column}.account-section-actions,.account-section-actions .btn,.account-danger-zone .btn,.account-control-group>.btn{width:100%}}@media(max-width:820px){.topbar-tools{flex-wrap:wrap}.topbar-search{order:10;flex:1 0 100%;width:100%}}@media(max-width:560px){.topbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--space-1);flex-wrap:nowrap;padding:var(--space-2);overflow:visible}.brand.small{display:none}.brand-lockup{gap:0}.topbar-tools{display:flex;align-items:center;gap:var(--space-1);min-width:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain}.topbar-tools::-webkit-scrollbar{display:none}.topbar-tools>.spacer{display:none}}.content{flex:1;overflow-y:auto;width:min(900px,100%);margin:0 auto;padding:var(--space-6) var(--space-4) calc(56px + var(--space-6))}.composer{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);margin-bottom:var(--space-6)}.composer-title,.composer-body{border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--font-sans);padding:var(--space-2);border-radius:var(--radius-sm)}.composer-title{font-size:var(--text-lg);font-weight:var(--weight-medium)}.composer-body{font-size:var(--text-base);resize:vertical;min-height:2.4rem;max-height:40vh}.composer-title::placeholder,.composer-body::placeholder{color:var(--ink-soft)}.composer-title:focus-visible,.composer-body:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.composer-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-2)}.color-dots{display:flex;gap:var(--space-2);flex:1;flex-wrap:wrap}.color-dots .dot{width:26px;height:26px;border-radius:var(--radius-pill);border:2px solid transparent;padding:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent)}.color-dots .dot.selected{border-color:transparent;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.color-dots .dot:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.note-edit-modal .color-dots{gap:var(--space-3)}.note-edit-modal .color-dots .dot{width:44px;height:44px}.empty{text-align:center;padding:var(--space-12) 0}.mascot{display:block;overflow:visible}.mascot-bob,.mascot-wave-arm{transform-box:view-box}.mascot-bob{transform-origin:64px 128px;animation:mascot-bob 3.4s ease-in-out infinite}.mascot-wave-arm[data-wave=on]{transform-origin:100px 84px;animation:mascot-wave 1.6s ease-in-out infinite}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes mascot-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(16deg)}}.auth-card .mascot{align-self:center;margin-bottom:var(--space-2)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.onboarding-empty-wrap{flex:1;min-height:0;overflow-y:auto;display:grid;place-items:center;padding:var(--space-6) var(--space-4) calc(56px + var(--space-6))}.onboarding-board-slot{flex:0 0 auto;padding:var(--space-3) var(--space-4);background:var(--canvas);border-bottom:1px solid var(--line)}.onboarding-quest{width:min(calc(var(--space-16) * 9),100%);color:var(--ink);background:var(--surface)}.onboarding-quest-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-6);text-align:center}.onboarding-quest-compact{padding:var(--space-3) var(--space-4)}.onboarding-quest-content{width:100%}.onboarding-quest h2{margin:0;font-size:var(--text-xl);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}.onboarding-intro{margin:var(--space-2) 0 var(--space-4)}.onboarding-progress-row{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm)}.onboarding-progress-row progress{flex:1 1 auto;min-width:0;height:var(--space-2);accent-color:var(--brand)}.onboarding-progress-row span{flex:0 0 auto}.onboarding-steps{margin:var(--space-3) 0 0;padding-inline-start:var(--space-6);text-align:start}.onboarding-steps li{padding:var(--space-2) 0 var(--space-2) var(--space-1)}.onboarding-steps li+li{border-top:1px solid var(--line)}.onboarding-step-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex-wrap:wrap}.onboarding-step-title{font-weight:var(--weight-medium)}.onboarding-step-status{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap}.onboarding-steps li.complete .onboarding-step-status{color:var(--brand)}.onboarding-step-detail{color:var(--ink-soft);font-size:var(--text-sm)}.onboarding-step-detail p{margin:var(--space-2) 0 0}.onboarding-step-detail .btn{margin-top:var(--space-3)}.onboarding-open-note{border-color:var(--line);color:var(--ink)}.onboarding-dismiss-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;color:var(--ink-soft);font-size:var(--text-sm)}.onboarding-dismiss{margin-inline-start:auto;flex:0 0 auto}.onboarding-success-toast{flex-wrap:wrap}@media(max-width:560px){.onboarding-board-slot{padding:0}.onboarding-quest-compact{width:100%;border-inline:0;border-radius:0;box-shadow:none;padding:var(--space-3)}.onboarding-empty-wrap{align-items:start;padding:var(--space-4) var(--space-3) calc(56px + var(--space-6))}.onboarding-quest-empty{padding:var(--space-4)}}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);align-items:start}.note{position:relative;border-radius:var(--radius-md);padding:var(--space-4);min-height:96px;color:var(--note-ink);box-shadow:var(--shadow-note);transition:box-shadow .14s ease,transform .14s ease;display:flex;flex-direction:column;gap:var(--space-2)}@media(hover:hover){.note:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}}.note.done{opacity:.6}.note.done .note-title{text-decoration:line-through}.note-title{margin:0 0 var(--space-1);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;padding-right:var(--space-6);overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-body{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere;color:color-mix(in srgb,var(--note-ink) 94%,transparent);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.note-meta{margin-top:auto;color:color-mix(in srgb,var(--note-ink) 84%,transparent)}.done-toggle{position:absolute;top:var(--space-3);left:var(--space-3);width:var(--control-icon);height:var(--control-icon);border-radius:var(--radius-pill);border:1.5px solid color-mix(in srgb,var(--note-ink) 45%,transparent);background:color-mix(in srgb,var(--note-ink) 6%,transparent);color:var(--note-ink);line-height:1;font-size:var(--text-sm);display:grid;place-items:center}.note-title{padding-left:var(--space-8)}.note-delete{position:absolute;top:var(--space-2);right:var(--space-2);width:var(--control-icon);height:var(--control-icon);border:none;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--note-ink) 55%,transparent);font-size:var(--text-lg);line-height:1}.note-delete:hover{background:color-mix(in srgb,var(--note-ink) 12%,transparent);color:var(--note-ink)}.note :focus-visible{outline:2px solid var(--note-ink);outline-offset:2px}.notes-grid .note{cursor:pointer}.note-title-btn{width:100%;text-align:left;background:transparent;border:0;padding:0;color:inherit;cursor:pointer}.note-edit{position:absolute;top:var(--space-2);right:calc(var(--space-2) + var(--control-icon) + var(--space-1));width:var(--control-icon);height:var(--control-icon);border:none;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--note-ink) 55%,transparent);font-size:var(--text-base);line-height:1}.note-edit:hover{background:color-mix(in srgb,var(--note-ink) 12%,transparent);color:var(--note-ink)}.note-title{padding-right:4.25rem}.note.no-top-actions .note-title,.note.no-top-actions .note-body{padding-left:0;padding-right:0}.note-badge{align-self:flex-start;font-size:var(--text-xs);line-height:var(--leading-snug);font-weight:var(--weight-medium);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.note-badge.viewonly{color:var(--ink)}.view-only-note{margin:0;font-size:var(--text-sm)}.drag-handle{position:absolute;bottom:var(--space-2);right:var(--space-2);width:var(--control-icon);height:var(--control-icon);display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--note-ink) 45%,transparent);font-size:var(--text-base);line-height:1;cursor:grab;touch-action:none}.drag-handle:hover{background:color-mix(in srgb,var(--note-ink) 12%,transparent);color:var(--note-ink)}.drag-handle:active{cursor:grabbing}.notes-grid .note.dragging{z-index:var(--z-note-dragging);box-shadow:var(--shadow-lift);opacity:.9;cursor:grabbing;transition:none}.notes-grid .note.drop-before:after,.notes-grid .note.drop-after:after{content:"";position:absolute;inline-size:3px;border-radius:3px;inset-block:var(--space-1);background:var(--brand)}.notes-grid .note.drop-before:after{inset-inline-start:calc(-1 * var(--space-2) - 1px)}.notes-grid .note.drop-after:after{inset-inline-end:calc(-1 * var(--space-2) - 1px)}.notes-grid .note .tag-chips{max-height:3.4em;overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-popover);background:var(--scrim);display:grid;place-items:center;padding:var(--space-4);animation:tz-fade-in .12s ease-out}.theme-toggle{font-size:var(--text-lg);line-height:1;min-width:44px;min-height:44px;padding:var(--space-2) var(--space-3)}.lang-switcher{font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:44px}.auth-controls{position:fixed;inset-block-start:var(--space-4);inset-inline-end:var(--space-4);display:flex;gap:var(--space-2);align-items:center;z-index:var(--z-toolbar)}.modal-card{width:min(480px,94vw);max-height:90dvh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);animation:tz-pop-in .14s ease-out}.note-edit-modal{border-top:4px solid var(--line)}.modal-title-input,.modal-body-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.modal-title-input{font-size:var(--text-lg);font-weight:var(--weight-medium)}.modal-body-input{font-size:var(--text-base);resize:vertical;min-height:5rem;line-height:var(--leading-snug)}.upgrade-modal{width:min(560px,94vw)}.upgrade-note,.upgrade-tax-note{margin:0;color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-snug)}.upgrade-plans{display:grid;gap:var(--space-2)}.upgrade-plan{min-height:72px;width:100%;display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);align-items:center;text-align:left;padding:var(--space-3);background:var(--canvas);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md)}.upgrade-plan:hover{background:var(--tint-hover)}.upgrade-plan:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.upgrade-plan:disabled{opacity:.55;cursor:default}.upgrade-plan-label{font-weight:var(--weight-semibold)}.upgrade-plan-price{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink)}.upgrade-plan-period{grid-column:1 / -1;color:var(--ink-soft);font-size:var(--text-sm)}.upgrade-success{margin:0;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--done) 12%,transparent);border:1px solid color-mix(in srgb,var(--done) 35%,transparent);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm)}.upgrade-pending,.upgrade-error,.field-error{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm)}.upgrade-pending{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);background:color-mix(in srgb,var(--brand) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent)}.upgrade-pending p{margin:0;flex:1 1 12rem}.upgrade-error,.field-error{background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent)}.modal-title-input::placeholder,.modal-body-input::placeholder{color:var(--ink-soft)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.remind-row{display:flex;align-items:flex-end;gap:var(--space-2)}.remind-label{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.remind-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--ink);background:var(--canvas);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:calc(var(--space-10) + var(--space-1))}.remind-clear{border:none;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-lg);line-height:1;border-radius:var(--radius-sm);min-width:calc(var(--space-10) + var(--space-1));min-height:calc(var(--space-10) + var(--space-1))}.remind-clear:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.remind-clear:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}.recurrence-field{border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--canvas);display:flex;flex-direction:column;gap:var(--space-2)}.recurrence-legend{padding:0;font-size:var(--text-sm);color:var(--ink-soft)}.recurrence-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--space-16) + var(--space-12) + var(--space-8))),1fr));gap:var(--space-2)}.recurrence-option{flex-direction:row;align-items:center;gap:var(--space-2);min-height:calc(var(--space-10) + var(--space-1));padding:var(--space-2);color:var(--ink);background:var(--surface);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.recurrence-option:focus-within{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}.recurrence-option.disabled{color:var(--ink-soft);cursor:not-allowed;background:color-mix(in srgb,var(--surface) 68%,var(--canvas))}.recurrence-option>span:first-of-type{min-width:0;overflow-wrap:anywhere}.recurrence-option input[type=radio]{width:var(--text-lg);height:var(--text-lg);accent-color:var(--brand);flex:0 0 auto}.recurrence-option input[type=radio]:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}@media(max-width:30rem){.recurrence-options{grid-template-columns:1fr}}.pro-badge{margin-inline-start:auto;flex:0 0 auto;padding:calc(var(--space-1) / 4) var(--space-2);border-radius:var(--radius-pill);color:var(--brand-ink);background:var(--brand);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.recurrence-hint,.recurrence-upgrade{margin:0;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--ink-soft)}.recurrence-upgrade{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pro-upgrade-prompt{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;color:var(--ink-soft);line-height:var(--leading-snug)}.pro-upgrade-link{display:inline-flex;align-items:center;min-height:calc(var(--space-10) + var(--space-1));color:var(--brand);font-weight:var(--weight-medium);border-radius:var(--radius-sm);padding:0;border:0;background:transparent;text-decoration:underline}.pro-upgrade-link:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}.note-remind{align-self:flex-start;display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);font-size:var(--text-xs);line-height:var(--leading-snug);padding:calc(var(--space-1) / 4) var(--space-2);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);border:calc(var(--space-1) / 4) solid var(--line)}.note-repeat{display:inline-flex;align-items:center;gap:calc(var(--space-1) / 2);color:var(--ink-soft)}.note-remind.overdue{border-color:var(--danger)}.note-remind.overdue>[aria-hidden=true]:first-child{color:var(--danger)}.search-input{font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);min-height:44px;width:min(220px,30vw)}.search-input::placeholder{color:var(--ink-soft)}.btn.small{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);min-height:44px}.share-btn{position:relative}.badge{min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;display:inline-grid;place-items:center;margin-inline-start:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;color:var(--brand-ink);background:var(--brand);border-radius:var(--radius-pill)}.share-modal{width:min(520px,94vw);gap:var(--space-4)}.modal-heading{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;outline:none}.share-section{display:flex;flex-direction:column;gap:var(--space-2)}.share-section+.share-section{padding-top:var(--space-4);border-top:1px solid var(--line)}.share-subhead{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.share-empty{font-size:var(--text-sm);margin:0}.share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.share-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm)}.share-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.share-row-title{font-size:var(--text-base);overflow-wrap:anywhere}.share-row-meta{font-size:var(--text-xs)}.share-row-actions{display:flex;gap:var(--space-2);flex-shrink:0}.share-field-label{font-size:var(--text-sm);color:var(--ink-soft)}.share-role-select{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);min-height:44px}.share-field select,.share-invite-form input[type=email]{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:44px}.share-invite-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.share-invite-form .share-field{flex:1 1 12rem}.share-invite-form .btn{min-height:44px}.share-hint{font-size:var(--text-xs);margin:0}.bell-btn{position:relative;min-width:44px}.notif-modal{width:min(480px,94vw);gap:var(--space-3)}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:60vh;overflow-y:auto}.notif-row{padding:var(--space-2) var(--space-3);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm)}.notif-row.unread{box-shadow:inset 3px 0 0 0 var(--brand)}.notif-text{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.notif-time{font-size:var(--text-xs)}.notif-prefs{border:none;margin:0;padding:var(--space-3) 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-1)}.notif-prefs-legend{padding:0;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.notif-pref{flex-direction:row;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink);min-height:44px;cursor:pointer}.notif-pref input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand)}.notif-pref input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.comments{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3)}.comments-head{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.comments-empty{font-size:var(--text-sm);margin:0}.comments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:40vh;overflow-y:auto}.comment{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.comment-head{display:flex;align-items:baseline;gap:var(--space-2)}.comment-author{font-size:var(--text-sm);font-weight:var(--weight-medium);overflow-wrap:anywhere}.comment-time{font-size:var(--text-xs)}.comment-del{margin-inline-start:auto;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--text-base);line-height:1;border-radius:var(--radius-sm);min-width:var(--space-6);min-height:var(--space-6);display:inline-grid;place-items:center}.comment-del{position:relative}.comment-del:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.comment-del:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.comment-del:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.comment-body{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere}.comment-form{display:flex;flex-direction:column;gap:var(--space-2)}.comment-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);resize:vertical;min-height:2.5rem}.comment-form .btn{align-self:flex-end}.tag-manage-btn{font-size:var(--text-base);line-height:1;color:var(--ink-soft);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);min-width:44px;min-height:44px;cursor:pointer}.tag-manage-btn:hover{color:var(--ink);background:var(--tint-hover)}.tag-manage-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tag-rename-input{font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--brand);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);min-height:44px;width:12rem}.tag-chips{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-block-start:var(--space-1)}.tag-chip{font-size:var(--text-xs);line-height:var(--leading-snug);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);padding-inline:var(--space-2);padding-block:1px;display:inline-flex;align-items:center;gap:var(--space-1);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip.removable{background:var(--canvas)}.tag-chip-remove{border:none;background:transparent;color:inherit;cursor:pointer;font-size:var(--text-sm);line-height:1;padding:0;min-width:var(--space-6);min-height:var(--space-6);display:inline-grid;place-items:center;position:relative}.tag-chip-remove:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.modal-tags{display:flex;flex-direction:column;gap:var(--space-2)}.modal-tags-label{font-size:var(--text-sm);color:var(--ink-soft)}.tag-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2)}.tag-chip-remove:focus-visible,.lang-switcher:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.center-msg{text-align:center;padding:var(--space-8)}.view-toggle{display:inline-flex;border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-pill)}.view-icon{display:none}.view-toggle button{border:none;background:transparent;color:var(--ink-soft);padding:var(--space-2) var(--space-4);min-height:calc(var(--space-10) + var(--space-1));font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-pill)}.view-toggle button.active{background:var(--brand);color:var(--brand-ink)}.view-toggle button:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}.pro-locked{position:relative}.view-toggle .pro-badge,.board-add-btn .pro-badge{position:absolute;inset-block-start:2px;inset-inline-end:2px;margin:0;padding:0 calc(var(--space-1) / 2 + 1px);font-size:9px;font-weight:var(--weight-semibold);line-height:1.6;letter-spacing:.02em;color:var(--brand-ink);background:var(--brand);border-radius:var(--radius-sm);pointer-events:none}@media(max-width:35rem){.view-toggle{flex:0 0 auto}.view-toggle button{width:44px;padding:var(--space-2)}.view-toggle .view-label{display:none}.view-toggle .view-icon{display:inline;font-size:var(--text-lg);line-height:1}}.calendar-view{flex:1;width:min(calc(var(--space-16) * 17 + var(--space-3)),100%);margin:0 auto;padding:var(--space-5) var(--space-4) calc(var(--space-12) + var(--space-2) + var(--space-6));overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.calendar-title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.calendar-nav{display:flex;align-items:center;gap:var(--space-2)}.calendar-icon-btn{min-width:calc(var(--space-10) + var(--space-1));padding-inline:var(--space-3)}.calendar-empty{margin:0;text-align:center;padding:var(--space-3);background:var(--surface);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-md)}.calendar-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;background:var(--surface);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-note)}.calendar-grid th{padding:var(--space-2);color:var(--ink-soft);background:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;border-bottom:calc(var(--space-1) / 4) solid var(--line)}.calendar-day{vertical-align:top;height:calc(var(--space-16) * 2);padding:var(--space-2);background:var(--canvas);border-block-start:calc(var(--space-1) / 4) solid var(--line);border-inline-start:calc(var(--space-1) / 4) solid var(--line)}.calendar-grid tbody tr:first-child .calendar-day{border-block-start:0}.calendar-grid .calendar-day:first-child{border-inline-start:0}.calendar-day.other-month{background:color-mix(in srgb,var(--surface) 70%,var(--canvas));color:var(--ink-soft)}.calendar-day.today{box-shadow:inset 0 0 0 calc(var(--space-1) / 2) var(--brand)}.calendar-day:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(-1 * var(--space-1) / 2);position:relative;z-index:var(--z-board-grid)}.calendar-date{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-6);min-height:var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.calendar-reminders{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.calendar-reminder{width:100%;min-height:calc(var(--space-10) + var(--space-1));display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);text-align:start;color:var(--ink);background:var(--surface);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-sm)}.calendar-reminder:hover{background:var(--tint-hover)}.calendar-reminder:focus-visible{outline:calc(var(--space-1) / 2) solid var(--focus);outline-offset:calc(var(--space-1) / 2)}.calendar-reminder-time{flex:0 0 auto;color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-reminder-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.calendar-reminder .note-repeat{flex:0 1 auto;min-width:0;max-width:100%;font-size:var(--text-xs)}.calendar-reminder .note-repeat span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-gate{display:grid;place-items:start center}.calendar-upgrade{max-width:calc(var(--space-16) * 8 + var(--space-8));padding:var(--space-4);background:var(--surface);border:calc(var(--space-1) / 4) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-note)}@media(max-width:40rem){.calendar-view{padding-inline:var(--space-0)}.calendar-toolbar{align-items:stretch}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav .btn{flex:1 1 0}.calendar-nav .calendar-icon-btn{flex:0 0 calc(var(--space-10) + var(--space-1))}.calendar-grid th{padding:var(--space-1) var(--space-0)}.calendar-day{height:calc(var(--space-16) + var(--space-12));padding:var(--space-1) var(--space-0)}.calendar-reminder{flex-direction:column;align-items:flex-start}}.board-switcher{display:inline-flex;align-items:center;gap:var(--space-1)}.board-select{min-height:44px;max-width:12rem;font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.board-select.wide{max-width:none;width:100%;background:var(--canvas)}.board-add-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-lg);line-height:1}.board-manage-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-base);line-height:1}.board-manage-btn.danger{color:var(--danger)}.board-add-btn:hover,.board-manage-btn:hover{background:var(--tint-hover)}.board-add-btn:disabled,.board-manage-btn:disabled{opacity:.5;cursor:not-allowed}.board-add-btn:focus-visible,.board-manage-btn:focus-visible,.board-select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.board-create-form,.board-field{display:flex;flex-direction:column;gap:var(--space-3)}.board-actions{display:none}.board-actions-btn{width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-lg);line-height:1}.board-actions-btn:hover{background:var(--tint-hover)}.board-actions-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.board-actions-menu{position:fixed;inset-inline-end:var(--space-2);top:calc(60px + env(safe-area-inset-top));z-index:var(--z-popover);width:min(13rem,calc(100vw - var(--space-4)));display:flex;flex-direction:column;padding:var(--space-1);overflow:hidden}.board-actions-menu button{min-height:44px;padding:var(--space-2) var(--space-3);text-align:start;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink)}.board-actions-menu button:hover{background:var(--tint-hover)}.board-actions-menu button.danger{color:var(--danger)}.board-actions-menu button:disabled{opacity:.5;cursor:default}.board-actions-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}@media(max-width:560px){.board-switcher{flex:0 0 auto}.board-select{width:7rem;max-width:7rem}.board-add-btn,.board-manage-btn{display:none}.board-actions{display:block}}.board{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at 1px 1px,var(--line) 0 1.5px,transparent 2px) 0 0 / var(--space-6) var(--space-6),var(--canvas);cursor:grab;touch-action:none}.board:active{cursor:grabbing}.board-canvas{position:absolute;top:0;left:0;width:1px;height:1px;transform-origin:0 0}.board-note{position:absolute;width:240px;min-height:150px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.board-note.dragging{cursor:grabbing;box-shadow:var(--shadow-lift)}@keyframes tz-settle{0%{transform:rotate(var(--tilt)) scale(1.04)}55%{transform:rotate(var(--tilt)) scale(.985)}to{transform:rotate(var(--tilt)) scale(1)}}.board-note.settling{animation:tz-settle .24s ease-out}.resize-grip{position:absolute;right:0;bottom:0;width:var(--control-icon);height:var(--control-icon);cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 55%,color-mix(in srgb,var(--note-ink) 45%,transparent) 55%,color-mix(in srgb,var(--note-ink) 45%,transparent) 62%,transparent 62%,transparent 72%,color-mix(in srgb,var(--note-ink) 45%,transparent) 72%,color-mix(in srgb,var(--note-ink) 45%,transparent) 79%,transparent 79%);border-bottom-right-radius:var(--radius-md)}.board-note.custom-size .note-title{-webkit-line-clamp:unset}.board-note.custom-size .note-body{-webkit-line-clamp:unset;display:block}.board-note.custom-size{overflow:hidden}.board-note:focus-visible{outline:2px solid var(--note-ink);outline-offset:3px}.board-note .note-title{-webkit-line-clamp:2}.board-note .note-body{-webkit-line-clamp:5}.board-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:var(--space-8);pointer-events:none}.board-controls{position:absolute;left:var(--space-4);bottom:var(--space-4);display:flex;gap:var(--space-1);z-index:var(--z-board-ui)}.board-controls button{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-note);font-size:var(--text-lg);line-height:1;display:grid;place-items:center}.board-controls button:hover{background:var(--tint-hover)}.board-controls button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@keyframes tz-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tz-pop-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}.modal-card,.modal-backdrop{animation:tz-fade-in .12s ease-out!important}}.modal-actions .btn.delete-note{margin-right:auto}.btn.ghost.delete-note{color:var(--danger)}.btn.danger.delete-note{background:var(--danger);color:var(--surface);border-color:var(--danger)}@media(pointer:coarse){.board-note .note-edit,.board-note .note-delete{display:none}.board-note .done-toggle{width:44px;height:44px;top:var(--space-2);left:var(--space-2)}.board-note .note-title{padding-left:calc(44px + var(--space-2))}.board-note .resize-grip{width:44px;height:44px}.notes-grid .note .note-edit,.notes-grid .note .note-delete{display:none}.notes-grid .note .done-toggle{width:44px;height:44px}.notes-grid .note .note-title{padding-left:calc(44px + var(--space-2));padding-right:var(--space-3)}.notes-grid .note .drag-handle{width:44px;height:44px}}.btn-icon,.share-btn .btn-label{display:none}.share-btn .btn-icon{display:inline;font-size:var(--text-lg)}.share-btn{min-width:44px;padding-left:var(--space-3);padding-right:var(--space-3)}.btn.upgrade-cta{background:var(--brand);color:var(--brand-ink);border-color:transparent;white-space:nowrap}.btn.upgrade-cta:hover{background:color-mix(in srgb,var(--brand) 88%,black)}.btn.upgrade-cta .btn-icon{display:inline}@media(max-width:560px){.btn.upgrade-cta .btn-label{display:none}.btn.upgrade-cta{min-width:44px;padding-left:var(--space-3);padding-right:var(--space-3)}}.fab{position:fixed;right:var(--space-5);bottom:var(--space-5);width:56px;height:56px;border-radius:var(--radius-pill);background:var(--brand);color:var(--brand-ink);border:none;font-size:var(--text-2xl);line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-lift);z-index:var(--z-toolbar)}.fab:hover{background:color-mix(in srgb,var(--brand) 88%,black)}.fab:active{transform:scale(.96)}.fab:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.compose-sheet .composer{margin-bottom:0;padding:0;gap:var(--space-3)}.compose-sheet .color-dots .dot{width:44px;height:44px}.undo-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(56px + var(--space-6));display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);max-width:calc(100vw - var(--space-8));background:var(--ink);color:var(--surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-lift);font-size:var(--text-sm);z-index:var(--z-toast)}.undo-toast-btn{min-height:44px;padding:0 var(--space-4);background:var(--surface);color:var(--ink);border:none;border-radius:var(--radius-pill);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer}.undo-toast-btn:hover{background:color-mix(in srgb,var(--surface) 82%,var(--ink))}.undo-toast-btn:focus-visible{outline:2px solid var(--surface);outline-offset:2px}.composer-tags{display:flex;flex-direction:column;gap:var(--space-2)}.tag-combo{position:relative}.tag-combo-list{position:absolute;z-index:var(--z-popover);inset-inline:0;top:calc(100% + var(--space-1));margin:0;padding:var(--space-1);list-style:none;max-height:40vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lift)}.tag-combo-opt{display:block;width:100%;text-align:start;min-height:40px;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer}.tag-combo-opt.active,.tag-combo-opt:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}.tag-combo-opt.create{color:var(--brand);font-weight:var(--weight-medium)}.tag-combo-list li:has(.create){border-top:1px solid var(--line);margin-top:var(--space-1);padding-top:var(--space-1)}.topbar-search{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.topbar-search-btn{display:none}.topbar-search .search-input{flex:1 1 auto;min-width:0;width:auto}.tag-dd{position:relative;flex:0 0 auto}.tag-dd-icon{display:none}.tag-dd-btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.tag-dd-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tag-dd-caret{font-size:var(--text-xs);color:var(--ink-soft)}.tag-dd-chip{display:inline-flex;align-items:center;gap:2px;flex:0 1 auto;min-width:0;margin-left:var(--space-2);padding:2px 2px 2px var(--space-2);background:var(--brand);color:var(--brand-ink);border-radius:var(--radius-pill);font-size:var(--text-sm)}.tag-dd-chip-name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-dd-chip-x{position:relative;display:grid;place-items:center;width:24px;height:24px;border:none;background:transparent;color:var(--brand-ink);font-size:var(--text-lg);line-height:1;border-radius:var(--radius-pill)}.tag-dd-chip-x:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.tag-dd-chip-x:hover{background:color-mix(in srgb,var(--brand-ink) 20%,transparent)}.tag-dd-chip-x:focus-visible{outline:2px solid var(--focus-contrast);outline-offset:1px}.tag-dd-menu{position:absolute;right:0;top:calc(100% + var(--space-1));z-index:var(--z-popover);min-width:12rem;max-width:16rem;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;margin:0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lift);padding:var(--space-1)}.tag-dd-menu:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tag-dd-opt{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;min-height:40px;padding:var(--space-2) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm);cursor:pointer}.tag-dd-opt:hover,.tag-dd-opt.active{background:var(--tint-hover)}.tag-dd-opt.selected{color:var(--brand);font-weight:var(--weight-medium)}.tag-dd-check{flex:0 0 auto;width:1em;color:var(--brand)}.tag-dd-opt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-dd-shared{flex:0 0 auto;font-size:.85em;line-height:1;opacity:.9}.tag-dd-opt .tag-dd-shared{margin-left:auto}@media(max-width:560px){.topbar-search{order:-1;flex:0 0 auto;width:auto;gap:var(--space-1)}.topbar-search-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-xl);line-height:1}.topbar-search-btn:hover{background:var(--tint-hover)}.topbar-search-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.topbar-search .search-input{display:none}.topbar-search.search-expanded{position:absolute;inset:var(--space-2);z-index:var(--z-popover);width:auto;padding:0;background:var(--surface)}.topbar-search.search-expanded .topbar-search-btn,.topbar-search.search-expanded .tag-dd{display:none}.topbar-search.search-expanded .search-input{display:block;width:100%}.tag-dd-btn{width:44px;padding:var(--space-2);justify-content:center}.tag-dd-label,.tag-dd-caret{display:none}.tag-dd-icon{display:inline;font-size:var(--text-lg);line-height:1}.tag-dd-chip{display:none}}.modal-heading{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold)}.manage-tags-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow-y:auto}.manage-tags-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.manage-tags-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.manage-tags-row .tag-manage-btn{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:var(--text-base)}.manage-tags-row .tag-manage-btn:hover{background:var(--tint-hover);color:var(--ink)}.manage-tags-row .tag-manage-btn.danger{color:var(--danger)}.manage-tags-row .tag-manage-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.manage-tags-new{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.manage-tags-new .tag-input{flex:1 1 auto}
