@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Rubik:wght@500;600;700;800&display=swap";:root{--color-primary: #2563eb;--color-primary-dark: #1b4fd0;--color-primary-soft: #dbe6ff;--ink: #12224f;--color-secondary: #12224f;--color-accent-green: #16a34a;--color-accent-red: #ef4444;--color-accent-yellow: #f5b400;--color-accent-purple: #7b2ff2;--candy-blue: #4f8cff;--candy-green: #22c55e;--candy-red: #ff5d5d;--candy-yellow: #ffd23f;--candy-purple: #a366ff;--candy-pink: #ff7ad9;--candy-orange: #ff8a3d;--color-background: #eaf1ff;--color-surface: #ffffff;--color-surface-2: #f1f5ff;--color-text: #12224f;--color-muted: #6b76a0;--color-border: var(--ink);--color-danger: #ff4d6d;--color-danger-dark: #e11d48;--color-danger-soft: #ffe3e9;--shadow-hard: 5px 5px 0 0 var(--ink);--shadow-hard-sm: 3px 3px 0 0 var(--ink);--shadow-hard-lg: 8px 8px 0 0 var(--ink);--focus-ring: 0 0 0 4px rgba(37, 99, 235, .35);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--border-w: 3px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--z-backdrop: 40;--z-drawer: 50;--z-dialog: 60;--z-toast: 80;color-scheme:light}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html,body,#root{height:100%}body{margin:0;font-family:"Baloo 2",Rubik,Comic Sans MS,Segoe UI,system-ui,-apple-system,sans-serif;font-weight:600;color:var(--color-text);background-color:var(--color-background);background-image:radial-gradient(circle at 12% 20%,rgba(79,140,255,.1) 0 10px,transparent 11px),radial-gradient(circle at 88% 12%,rgba(255,210,63,.16) 0 12px,transparent 13px),radial-gradient(circle at 78% 82%,rgba(163,102,255,.12) 0 10px,transparent 11px),radial-gradient(circle at 22% 88%,rgba(34,197,94,.12) 0 12px,transparent 13px),radial-gradient(rgba(18,34,79,.045) 1.5px,transparent 1.6px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,22px 22px;background-attachment:fixed;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-weight:700;cursor:pointer}input,button{font-size:1rem}*{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-hard-sm)}.todo-button:focus-visible{box-shadow:var(--focus-ring),var(--shadow-hard)}.app-shell{min-height:100%;display:flex;flex-direction:column;padding:calc(var(--safe-top) + var(--space-3) * .7) calc(var(--safe-right) + var(--space-4) * .7) calc(var(--safe-bottom) + var(--space-5) * .7) calc(var(--safe-left) + var(--space-4) * .7)}.app-main{width:100%;max-width:760px;margin:0 auto;flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.screen-switch-bar,.todo-panel__header{display:none}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-4);padding-top:var(--space-2)}.app-header__identity{justify-self:start;display:flex;align-items:center;gap:var(--space-4)}.icon-button.app-header__plan{padding:3px var(--space-1);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-style:dashed;border-radius:var(--radius-pill);background:var(--candy-yellow);box-shadow:2px 2px 0 var(--ink);color:var(--ink);font-size:.75rem;font-weight:800;line-height:.9;text-align:center;white-space:nowrap}.icon-button.app-header__plan:hover{background:var(--candy-yellow)}.app-header__plan-line{display:block}.app-header__plan-line--trial{margin-top:2px;font-size:.68rem;letter-spacing:.03em}.app-header__actions{justify-self:end;display:flex;gap:var(--space-4)}.app-header__logo-link{justify-self:center;display:inline-flex;width:clamp(112px,34vw,260px);max-width:100%;line-height:0}.app-header__logo-link picture{display:block;width:100%}.app-header__logo{width:100%;height:auto;display:block;filter:drop-shadow(2px 2px 0 rgba(18,34,79,.12))}.icon-button{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:var(--border-w) solid var(--ink);background:var(--color-surface);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;padding:0}.icon-button:hover{transform:translate(-1px,-1px) rotate(-3deg);box-shadow:var(--shadow-hard)}.icon-button:active{transform:translate(3px,3px);box-shadow:0 0 0 0 var(--ink)}.icon-button svg{width:24px;height:24px;stroke-width:2.4}.icon-button--profile{color:var(--color-primary);overflow:hidden;background:var(--candy-blue)}.icon-button--menu{background:var(--candy-yellow)}.icon-button--menu:hover{background:var(--candy-purple);color:#fff}.notif-bell{position:relative;background:var(--candy-purple);color:#fff}.notif-bell:hover{background:var(--candy-blue);color:var(--ink)}.notif-bell__badge{position:absolute;top:-7px;right:-7px;min-width:23px;height:23px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-red);color:var(--ink);font-size:.68rem;font-weight:900;line-height:1}@media(max-width:420px){.app-header,.app-header__identity,.app-header__actions{gap:var(--space-2)}.app-header__identity .icon-button,.app-header__actions .icon-button{width:44px;height:44px}.notif-bell__badge{right:-4px}}@media(max-width:360px){.app-header__logo-link{width:52px}}.avatar{width:100%;height:100%;border-radius:inherit;object-fit:cover}.avatar-fallback{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;background:var(--candy-blue);color:#fff}.todo-input-form{display:flex;gap:var(--space-3);align-items:stretch}.todo-add-btn{flex:0 0 auto;border-radius:var(--radius-xl);padding-left:var(--space-5);padding-right:var(--space-5);font-size:1.05rem}.todo-input{flex:1 1 auto;min-width:0;padding:var(--space-4) var(--space-5);border:var(--border-w) solid var(--ink);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);font-weight:700;box-shadow:var(--shadow-hard);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.todo-input::placeholder{color:var(--color-muted);font-weight:600}.todo-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring),var(--shadow-hard);outline:none;transform:translate(-1px,-1px)}.todo-input:disabled{opacity:.7}.todo-list{display:flex;flex-wrap:wrap;gap:.85rem;align-content:flex-start;list-style:none;padding:0;margin:0}.todo-list__item{flex:1 1 auto;max-width:100%;display:flex}.todo-button{flex:1 1 auto;max-width:100%;overflow-wrap:anywhere;text-align:center;padding:var(--space-4) var(--space-5);border:var(--border-w) solid var(--todo-border, var(--ink));background:var(--todo-bg, var(--color-surface));color:var(--todo-fg, var(--ink));border-radius:var(--radius-lg);font-weight:800;font-size:1.05rem;line-height:1.3;box-shadow:var(--shadow-hard);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease,filter .15s ease,opacity .15s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.todo-button:hover{transform:translate(-2px,-2px) rotate(-1.2deg);box-shadow:var(--shadow-hard-lg)}.todo-button:active{transform:translate(3px,3px) rotate(0);box-shadow:0 0 0 0 var(--ink)}.todo-button--completed{filter:saturate(.4);opacity:.7;border-style:dashed}.empty-state{color:var(--color-muted);text-align:center;padding:var(--space-6) var(--space-4);border:var(--border-w) dashed var(--ink);border-radius:var(--radius-xl);background:var(--color-surface);font-weight:700;box-shadow:var(--shadow-hard-sm)}.empty-state strong{color:var(--color-text)}.btn,.list-row,.icon-button,.lists__item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.drag-clone{opacity:1;transform:scale(1.04);cursor:grabbing}.drag-clone .todo-button,.drag-clone .list-row{box-shadow:0 12px 28px #12224f52}.drag-clone--shrink{max-width:90vw;transition:width .16s ease}.drag-clone--shrink .todo-button{width:100%;height:100%}.is-drag-source .todo-button{background:transparent;color:transparent;border-style:dashed;box-shadow:none;transform:none}.is-drag-source .list-row{background:#12224f0f;color:transparent;border-style:dashed;box-shadow:none;transform:none}.is-drag-source .list-row__dot,.is-drag-source .list-row__check{visibility:hidden}.is-drag-source [data-no-drag]{display:none}.todo-list.is-reordering,.lists.is-reordering{outline:var(--border-w) solid var(--ink);outline-offset:var(--space-3);border-radius:var(--radius-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);border:var(--border-w) solid var(--ink);font-weight:800;color:var(--ink);background:var(--color-surface);box-shadow:var(--shadow-hard-sm);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease,background .12s ease,opacity .12s ease;min-height:50px}.btn:not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard)}.btn:not(:disabled):active{transform:translate(3px,3px);box-shadow:0 0 0 0 var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--candy-blue);color:#fff}.btn--secondary{background:#fff;color:var(--ink)}.btn--google{background:#fff;color:var(--ink);width:100%}.btn--danger{background:var(--candy-red);color:#fff}.btn--info{background:var(--candy-blue);color:#fff}.btn--warn{background:var(--candy-yellow);color:var(--ink)}.btn--exit{background:var(--candy-orange);color:#fff}.btn--block{width:100%}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--color-muted)}.btn--ghost:not(:disabled):hover{color:var(--ink);background:var(--color-surface-2);transform:none;box-shadow:none}.auth-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:calc(var(--safe-top) + var(--space-5)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-5)) calc(var(--safe-left) + var(--space-4))}.auth-card{width:100%;max-width:440px;background:var(--color-surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-hard-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.auth-card__logo{align-self:center;max-width:280px;width:82%;height:auto}.auth-card__subtitle{text-align:center;color:var(--color-muted);font-weight:700;margin:0}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-weight:800;font-size:.95rem}.field input,.field-input,.confirm-input{padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:700;box-shadow:var(--shadow-hard-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.field input:focus,.field-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring),var(--shadow-hard-sm);outline:none;transform:translate(-1px,-1px)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:3px;border-radius:3px;background:var(--ink);opacity:.15}.auth-toggle{text-align:center;color:var(--color-muted);font-weight:700;font-size:.95rem}.link-button{background:none;border:none;color:var(--color-primary);font-weight:800;padding:0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;cursor:pointer}.form-error{background:var(--color-danger-soft);border:var(--border-w) solid var(--color-danger);color:var(--color-danger-dark);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:700;font-size:.95rem;box-shadow:var(--shadow-hard-sm)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12224f73;opacity:0;animation:fade-in .2s ease forwards;z-index:var(--z-backdrop)}.backdrop--blur{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.backdrop--closing{animation:fade-out .26s ease forwards}.drawer{position:fixed;top:0;bottom:0;z-index:var(--z-drawer);width:min(96vw,400px);background:var(--color-surface);box-shadow:var(--shadow-hard-lg);display:flex;flex-direction:column;padding:calc(var(--safe-top) + var(--space-4)) var(--space-3) calc(var(--safe-bottom) + var(--space-5)) var(--space-3);overflow-y:auto;scrollbar-gutter:stable}.drawer--left{left:0;padding-left:calc(var(--safe-left) + var(--space-3));border-right:var(--border-w) solid var(--ink);box-shadow:-8px 8px 0 0 var(--ink);animation:slide-in-left .32s cubic-bezier(.34,1.56,.64,1) both}.drawer--right{right:0;padding-right:calc(var(--safe-right) + var(--space-3));border-left:var(--border-w) solid var(--ink);animation:slide-in-right .32s cubic-bezier(.34,1.56,.64,1) both}.drawer--left.drawer--closing{animation:slide-out-left .28s ease-in both}.drawer--right.drawer--closing{animation:slide-out-right .28s ease-in both}.drawer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.drawer__title{margin:0;font-size:1.35rem;font-weight:800}.profile{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding-bottom:var(--space-4);border-bottom:3px dashed rgba(18,34,79,.18)}.profile__avatar{width:92px;height:92px;border-radius:var(--radius-pill);overflow:hidden;border:var(--border-w) solid var(--ink);box-shadow:var(--shadow-hard-sm)}.profile__avatar .avatar-fallback{font-size:2.2rem}.profile__name{font-size:1.2rem;font-weight:800;margin:0}.profile-plan{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-lg);background:var(--candy-yellow);color:var(--ink);box-shadow:var(--shadow-hard-sm);text-align:left;transition:transform .12s ease,box-shadow .12s ease}.profile-plan:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-hard)}.profile-plan:active{transform:translate(3px,3px);box-shadow:none}.profile-plan__copy{min-width:0;display:flex;flex-direction:column;line-height:1.15}.profile-plan__copy strong{margin:2px 0;font-size:1.2rem;font-weight:800}.profile-plan__eyebrow,.profile-plan__copy>span:last-child{color:var(--color-muted);font-size:.78rem;font-weight:800}.profile-plan__arrow{flex:0 0 auto;width:24px;height:24px;stroke-width:3}.profile__meta{display:grid;gap:var(--space-1);width:100%;margin-top:var(--space-2);font-size:.95rem;color:var(--color-muted)}.profile__meta dt{font-weight:800;color:var(--color-text);flex:0 0 auto}.profile__meta dd{margin:0;min-width:0;flex:1 1 auto;text-align:right;overflow-wrap:anywhere}.profile__meta-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4);padding:var(--space-1) var(--space-2)}.profile__meta-row--field{align-items:center}.profile__meta-row--field dd{flex:1 1 140px}.profile__meta-row--field .field-input--sm{width:100%}.provider-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--candy-yellow);border:2px solid var(--ink);color:var(--ink);font-weight:800;font-size:.8rem}.drawer__actions{display:flex;flex-direction:column;gap:var(--space-3)}.danger-zone{margin-top:var(--space-4);padding:var(--space-4);border:var(--border-w) dashed var(--color-danger);border-radius:var(--radius-lg);background:#fff4f6;display:flex;flex-direction:column;gap:var(--space-2)}.danger-zone__title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-danger-dark);margin:0}.danger-zone__hint{font-size:.9rem;color:var(--color-muted);font-weight:700;margin:0}.lang-switch{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.lang-switch__label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin:0}.lang-switch__options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.lang-switch__btn{background:var(--surface, #fff);border:var(--border-w) solid var(--ink);color:var(--ink)}.lang-switch__btn--wide{grid-column:1 / -1}.lang-switch__btn.is-active{background:var(--candy-yellow);font-weight:800}.lang-switch--dialog{margin-top:0}.dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + var(--space-4)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--space-4))}.dialog__panel{position:relative;z-index:calc(var(--z-dialog) + 1);width:100%;max-width:460px;background:var(--color-surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-hard-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 2rem);overflow-y:auto;transform:translateY(12px) scale(.96);opacity:0;animation:pop-in .25s cubic-bezier(.34,1.56,.64,1) forwards}.dialog__panel--wide{max-width:560px}.dialog__panel--flush{padding:0;gap:0;overflow:hidden}.dialog__panel--full-height{width:min(560px,100%);max-width:560px;height:min(90dvh,720px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 2rem);padding:0;gap:0;overflow:hidden;border-radius:var(--radius-lg)}.dialog__form{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.dialog__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.dialog__header--centered{grid-template-columns:minmax(0,1fr)}.dialog__header .dialog__title{text-align:left}.dialog__header--centered .dialog__title{text-align:center}.dialog__close{justify-self:end;flex-shrink:0}.dialog__logo{align-self:center;width:110px;height:auto;filter:drop-shadow(3px 3px 0 rgba(18,34,79,.15))}.dialog__title{margin:0;font-size:1.4rem;font-weight:800;text-align:center}.dialog__body{margin:0;color:var(--color-muted);font-weight:700;text-align:center;line-height:1.5}.dialog__target{margin:calc(-1 * var(--space-2)) 0;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt, rgba(18, 34, 79, .06));border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);font-size:1.15rem;font-weight:800;text-align:center;line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.dialog__actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.dialog__actions .btn{flex:1 1 auto}.dialog__save-hint{text-align:center}.dialog__actions--stacked{flex-direction:column;align-items:stretch}.dialog__actions--stacked .btn{flex:0 0 auto;width:100%}.occ-edit__actions{display:flex;flex-direction:column;gap:var(--space-3)}.occ-edit__future{width:100%}@media(max-width:520px){.dialog{padding:calc(var(--safe-top) + var(--space-3)) calc(var(--safe-right) + var(--space-3)) calc(var(--safe-bottom) + var(--space-3)) calc(var(--safe-left) + var(--space-3))}.dialog__panel{padding:var(--space-5);border-radius:var(--radius-lg);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 1.5rem)}.dialog__panel--flush,.dialog__panel--full-height{padding:0}.dialog__actions:not(.dialog__actions--inline){flex-direction:column;align-items:stretch}.dialog__actions:not(.dialog__actions--inline) .btn{width:100%;flex:0 0 auto}.dialog--sheet{align-items:flex-end;padding:var(--safe-top) 0 0}.dialog--sheet .dialog__panel--sheet{max-width:none;max-height:calc(88dvh - var(--safe-top));padding:var(--space-5) var(--space-4) calc(var(--safe-bottom) + var(--space-4));border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -6px 0 0 var(--ink);transform:translateY(100%);animation:sheet-in .25s cubic-bezier(.16,1,.3,1) forwards}}.subscription-dialog{gap:var(--space-4)}.subscription-current{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);border:var(--border-w) dashed var(--ink);border-radius:var(--radius-lg);background:var(--candy-yellow);color:var(--ink);text-align:center}.subscription-current__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.subscription-current__plan{font-size:1.5rem;line-height:1.15}.subscription-current__hint{font-size:.86rem;font-weight:700}.subscription-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.subscription-plan{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:2px solid rgba(18,34,79,.2);border-radius:var(--radius-md);background:var(--color-surface-2)}.subscription-plan.is-current{border:var(--border-w) solid var(--ink);background:#fff8d6;box-shadow:var(--shadow-hard-sm)}.subscription-plan__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.subscription-plan__heading h3,.subscription-plan p{margin:0}.subscription-plan__heading h3{font-size:1.1rem;font-weight:800}.subscription-plan__heading span{padding:2px var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-green);font-size:.68rem;font-weight:800}.subscription-plan p{flex:1;color:var(--color-muted);font-size:.86rem;font-weight:700;line-height:1.35}.subscription-plan>strong{font-size:.82rem;line-height:1.3}.subscription-pending{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-muted);font-size:.88rem;font-weight:700;line-height:1.4;text-align:center}@media(max-width:520px){.subscription-plans{grid-template-columns:1fr}}.confirm-input{letter-spacing:.16em;text-align:center;font-weight:800}.confirm-input:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px #ff4d6d4d,var(--shadow-hard-sm);outline:none}.ios-steps{margin:0;padding-left:1.3rem;color:var(--color-text);font-weight:700;line-height:1.7}.howto-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.howto-step{display:flex;align-items:flex-start;gap:var(--space-3)}.howto-step__icon{flex:0 0 auto;font-size:1.35rem;line-height:1.4}.howto-step__text{display:flex;flex-direction:column;gap:2px}.howto-step__title{font-weight:800;color:var(--color-text)}.howto-step__desc{color:var(--color-muted);font-weight:700;line-height:1.4}.howto-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.howto-section:first-of-type{margin-top:0}.howto-section__title{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);text-align:left}.privacy{max-width:520px}.privacy__badge{align-self:center;color:var(--candy-blue)}.privacy__callout{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt, rgba(18, 34, 79, .06));border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);font-weight:700;line-height:1.5;text-align:center}.privacy__body{display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.privacy__section{display:flex;flex-direction:column;gap:var(--space-2)}.privacy__heading{margin:0;font-size:1.05rem;font-weight:800;color:var(--color-text)}.privacy__section p{margin:0;color:var(--color-muted);font-weight:700;line-height:1.5}.privacy__list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-muted);font-weight:700;line-height:1.45}.privacy__actions{display:flex;flex-direction:column;gap:var(--space-3)}.privacy__policy-link{align-self:center;color:var(--candy-blue);font-weight:800;text-decoration:underline}.toast-region{position:fixed;left:calc(var(--safe-left) + var(--space-4));right:calc(var(--safe-right) + var(--space-4));bottom:calc(var(--safe-bottom) + var(--space-5));margin-inline:auto;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);width:auto;max-width:480px;transition:bottom .2s ease}body.has-undo-toast .toast-region{bottom:calc(var(--safe-bottom) + var(--space-5) + 92px)}.toast{display:flex;align-items:center;gap:var(--space-3);background:var(--candy-blue);color:#fff;padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);font-weight:700;animation:pop-in .22s cubic-bezier(.34,1.56,.64,1)}.toast--error{background:var(--candy-red)}.toast--success{background:var(--candy-green)}.toast__message{flex:1;font-size:.98rem}.toast__close{background:#ffffff40;border:2px solid var(--ink);color:#fff;width:28px;height:28px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.undo-toast{position:fixed;left:calc(var(--safe-left) + var(--space-4));right:calc(var(--safe-right) + var(--space-4));bottom:calc(var(--safe-bottom) + var(--space-5));margin-inline:auto;z-index:calc(var(--z-toast) + 1);width:auto;max-width:480px;background:var(--color-secondary);color:#fff;border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);overflow:hidden;animation:pop-in .22s cubic-bezier(.34,1.56,.64,1)}body:has(.app-main--calendar) .toast-region,body:has(.app-main--calendar) .undo-toast,body:has(.app-main--workspace) .toast-region,body:has(.app-main--workspace) .undo-toast{bottom:calc(var(--safe-bottom) + 7.25rem)}body.has-undo-toast:has(.app-main--calendar) .toast-region,body.has-undo-toast:has(.app-main--workspace) .toast-region{bottom:calc(var(--safe-bottom) + 7.25rem + 92px)}.undo-toast__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.undo-toast__msg{flex:1;font-weight:700;font-size:.98rem}.undo-toast__btn{flex-shrink:0;padding:var(--space-1) var(--space-4);border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-yellow);color:var(--ink);font-weight:800;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.undo-toast__btn:hover{transform:translateY(-1px) scale(1.03)}.undo-toast__btn:active{transform:translateY(1px) scale(.98)}.undo-toast__count{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:#fff3;border:2px solid rgba(255,255,255,.6);font-weight:800;font-variant-numeric:tabular-nums}.undo-toast__bar{height:6px;background:#ffffff2e}.undo-toast__bar-fill{height:100%;background:var(--candy-yellow);transition:width .1s linear}.loading-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--color-muted);font-weight:700;padding:calc(var(--safe-top) + var(--space-4)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--space-4))}.spinner{width:52px;height:52px;border:6px solid var(--candy-yellow);border-top-color:var(--candy-blue);border-right-color:var(--candy-green);border-bottom-color:var(--candy-red);border-radius:50%;animation:spin .9s linear infinite}.config-error{width:min(560px,calc(100% - var(--safe-left) - var(--safe-right) - var(--space-6)));max-width:560px;margin:calc(var(--safe-top) + 8vh) auto calc(var(--safe-bottom) + var(--space-4));background:var(--color-surface);border:var(--border-w) solid var(--color-danger);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-hard-lg);font-weight:700}.config-error h1{margin-top:0;color:var(--color-danger-dark);font-weight:800}.config-error code{background:var(--color-surface-2);padding:2px 6px;border-radius:6px;font-size:.9em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.todo-list,.calendar-card .calendar-day__badges,.calendar-card .day-rows{transition:filter .45s ease,opacity .45s ease}.todo-list.is-stale,.calendar-card.is-stale .calendar-day__badges,.calendar-card.is-stale .day-rows{filter:grayscale(1);opacity:.75}@media(prefers-reduced-motion:reduce){.todo-list,.calendar-card .calendar-day__badges,.calendar-card .day-rows{transition:none}}.lists{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.lists__item{display:flex;align-items:center;gap:var(--space-2)}.list-row{--row-accent: var(--candy-green);flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);text-align:left;padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);color:var(--ink);font-weight:800;box-shadow:var(--shadow-hard-sm);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease,background .12s ease}.list-row--owner{--row-accent: var(--candy-green)}.list-row--admin{--row-accent: var(--candy-purple)}.list-row--editor{--row-accent: var(--candy-blue)}.list-row--viewer{--row-accent: var(--candy-yellow)}.list-row:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard)}.list-row:active{transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink)}.list-row--active{background:var(--row-accent);color:#fff}.list-row--viewer.list-row--active{color:var(--ink)}.list-row__check{flex-shrink:0}.list-row__dot{flex-shrink:0;width:15px;height:15px;border-radius:50%;border:2px solid var(--ink);background:var(--row-accent)}.list-row__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{flex:0 0 auto;display:grid;grid-template-columns:0fr;margin-inline-start:calc(-1 * var(--space-2));transition:grid-template-columns .24s cubic-bezier(.16,1,.3,1),margin-inline-start .24s cubic-bezier(.16,1,.3,1)}.lists__item.is-expanded .row-actions,.schedule-row.is-expanded .row-actions{grid-template-columns:1fr;margin-inline-start:0}.row-actions__inner{overflow:hidden;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:0;transition:padding .24s cubic-bezier(.16,1,.3,1)}.lists__item.is-expanded .row-actions__inner,.schedule-row.is-expanded .row-actions__inner{padding:4px}.row-actions__toggle{flex-shrink:0}@media(prefers-reduced-motion:reduce){.row-actions,.row-actions__inner{transition:none}}.lists__edit{display:flex;gap:var(--space-2);flex:1 1 auto;width:100%}.field-input{flex:1 1 auto;min-width:0}.field-input[type=date]{min-height:50px;font-weight:700;cursor:pointer}.field-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}.lists__add{margin-top:var(--space-4)}.icon-button--sm{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm)}.icon-button--sm svg{width:20px;height:20px}.icon-button--danger{background:var(--candy-red);color:#fff}.icon-button--danger:disabled{opacity:.45;cursor:not-allowed}.btn--small{min-height:44px;padding:var(--space-2) var(--space-4);flex-shrink:0}.todo-divider{flex:1 1 100%;width:100%;display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0}.todo-divider:before,.todo-divider:after{content:"";flex:1;height:4px;border-radius:4px;background:var(--ink);opacity:.18}.todo-divider__pill{flex-shrink:0;padding:var(--space-1) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-green);color:#fff;font-weight:800;font-size:.9rem;box-shadow:var(--shadow-hard-sm)}.role-badge{flex-shrink:0;margin-left:var(--space-2);padding:2px var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--ink);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.4}.list-row--active .role-badge{background:#fff}.role-badge--admin{background:var(--candy-purple);color:#fff}.role-badge--editor{background:var(--candy-blue);color:#fff}.role-badge--viewer{background:var(--color-surface-2);color:var(--ink)}.role-badge--owner{background:var(--candy-green);color:#fff}.viewer-notice{margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-w) dashed var(--ink);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-muted);font-weight:700;text-align:center}.todo-button--readonly{cursor:default}.invite-list{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.invite-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-hard-sm)}.invite-row__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.invite-row__name{font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-row__meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.invite-row__from{color:var(--color-muted);font-weight:700;font-size:.85rem}.invite-row__actions{display:flex;gap:var(--space-2);flex:1 1 100%}.invite-row__actions .btn{flex:1 1 0}.notif-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.dialog__panel.notif-panel{overflow:hidden}.notif-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:3px var(--space-2) var(--space-2) 3px}.notif-row__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:2px solid rgba(18,34,79,.14)}.notif-section{display:flex;flex-direction:column;gap:var(--space-2)}.notif-section__title{margin:0;color:var(--color-muted);font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.notif-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.notif-row{display:flex;flex-direction:column;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface-2);box-shadow:var(--shadow-hard-sm);overflow:hidden}.notif-row--unread{background:var(--candy-yellow)}.notif-row__main{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:var(--space-2);padding:var(--space-3);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left}.notif-row__main:disabled,.notif-row__dismiss:disabled{cursor:wait;opacity:.65}.notif-row__icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:var(--radius-sm);background:#fff}.notif-row__icon svg{width:19px;height:19px}.notif-row__content{min-width:0;display:flex;flex-direction:column;gap:3px}.notif-row__content strong{line-height:1.25;overflow-wrap:anywhere}.notif-row__meta,.notif-row__detail{color:var(--color-muted);font-size:.75rem;font-weight:700;line-height:1.3}.notif-row__detail{color:var(--ink)}.notif-row__dismiss{background:#fff}@media(max-width:420px){.notif-row__main{grid-template-columns:32px minmax(0,1fr);padding:var(--space-2)}.notif-row__icon{width:30px;height:30px}}.profile-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-2)}.profile-setting__text{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-setting__label{font-weight:800;color:var(--color-text)}.profile-setting__hint{font-size:.82rem;color:var(--color-muted);font-weight:600}.btn--update{margin-top:var(--space-3);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-size:.85rem}.btn--update:disabled{opacity:.7}.profile__build{margin-top:var(--space-4);text-align:center;font-size:.75rem;font-weight:600;color:var(--color-muted);opacity:.8}.toggle{flex-shrink:0;width:58px;height:34px;padding:0;border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);background:var(--color-surface-2);box-shadow:var(--shadow-hard-sm);cursor:pointer;transition:background .15s ease}.toggle.is-on{background:var(--candy-green)}.toggle__knob{display:block;width:24px;height:24px;margin:1px;border:2px solid var(--ink);border-radius:50%;background:#fff;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.toggle.is-on .toggle__knob{transform:translate(24px)}.calendar-marker-settings{display:flex;flex-direction:column;gap:3px;margin-top:var(--space-4);padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface-2)}.calendar-marker-settings>.profile-setting__hint{line-height:1.35}.calendar-marker-settings__group{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-2)}.calendar-marker-settings__group+.calendar-marker-settings__group{margin-top:var(--space-2)}.calendar-marker-settings__target{font-size:.78rem;font-weight:800}.calendar-marker-settings__select{width:100%}.marker-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:2px 2px 0 var(--ink)}.marker-select__btn{min-width:0;padding:7px var(--space-2);border:0;border-radius:10px;background:transparent;color:var(--ink);font-size:.82rem;font-weight:900;transition:background .12s ease,color .12s ease}.marker-select__btn.is-active{background:var(--candy-blue);color:#fff}.marker-select__btn:hover:not(.is-active){background:var(--color-primary-soft)}.marker-select__btn:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.role-select{display:flex;gap:0;border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-hard-sm)}.role-select__btn{flex:1 1 0;padding:var(--space-2) var(--space-2);border:none;border-left:var(--border-w) solid var(--ink);background:var(--color-surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;transition:background .12s ease}.role-select__btn:first-child{border-left:none}.role-select__btn:hover:not(.is-active):not(:disabled){background:var(--color-surface-2)}.role-select__btn:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.role-select__btn.is-active{background:var(--candy-blue);color:#fff}.role-select__btn:disabled{opacity:.6;cursor:not-allowed}.share-field{display:flex;flex-direction:column;gap:var(--space-2)}.share-field__label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.field-input--sm{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);box-shadow:none}.share-panel{text-align:left;max-height:min(88vh,720px);overflow-y:auto}.share-invite{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.share-invite__label{font-weight:800;color:var(--ink)}.share-invite__hint{margin:0;color:var(--color-muted);font-size:.85rem;font-weight:600}.share-section{margin:var(--space-4) 0 var(--space-2);font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted)}.share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.share-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface)}.share-row__info{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.share-row__email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.share-tag{flex-shrink:0;padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.member-row{border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.member-row.is-open{box-shadow:var(--shadow-hard-sm)}.member-row__header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.member-row__header:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.member-row__primary{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.member-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.member-row__badges{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.member-row__chevron{color:var(--color-muted);transition:transform .15s ease}.member-row.is-open .member-row__chevron{transform:rotate(180deg)}.member-row__detail{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-3) var(--space-3);border-top:2px dashed var(--color-surface-2);padding-top:var(--space-3)}.member-row__email{font-weight:700;word-break:break-all}.member-row__remove{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-left{0%{transform:translate(-105%)}to{transform:translate(0)}}@keyframes slide-in-right{0%{transform:translate(105%)}to{transform:translate(0)}}@keyframes slide-out-left{0%{transform:translate(0)}22%{transform:translate(18px)}to{transform:translate(-105%)}}@keyframes slide-out-right{0%{transform:translate(0)}22%{transform:translate(-18px)}to{transform:translate(105%)}}@keyframes pop-in{to{transform:translateY(0) scale(1);opacity:1}}@keyframes sheet-in{to{transform:translateY(0);opacity:1}}@keyframes sheet-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100vh);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.backdrop,.dialog__panel{opacity:1;transform:none}.drawer{transform:translate(0)}}.auth-consent{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);color:var(--color-text);font-weight:700;font-size:.9rem;line-height:1.4}.auth-consent input[type=checkbox]{flex:none;width:22px;height:22px;margin-top:1px;accent-color:var(--color-primary);cursor:pointer}.auth-consent a{color:var(--color-primary);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.legal-links a,.legal-links__button{color:var(--color-muted);font-weight:700;font-size:.85rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;background:none;border:none;padding:0;cursor:pointer}.legal-links a:hover,.legal-links__button:hover{color:var(--color-primary)}.legal-links--auth{justify-content:center;max-width:440px;margin:0 auto}.profile-legal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-3) 0}.drawer-sections{display:flex;flex-direction:column;gap:var(--space-3)}.drawer-sections .drawer-section{margin-bottom:0}.drawer-sections .profile-setting{margin:0;padding:0}.drawer-divider{border:none;border-top:3px dashed rgba(18,34,79,.18);margin:var(--space-4) 0}.drawer-sections .drawer-section__inner{display:flex;flex-direction:column;gap:var(--space-3)}.legal-links--drawer{flex-direction:column;align-items:stretch;gap:var(--space-2)}.legal-links--drawer a,.legal-links--drawer .legal-links__button{display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);color:var(--ink);font-size:.9rem;font-weight:800;text-decoration:none;box-shadow:var(--shadow-hard-sm)}.legal-links--drawer a:hover,.legal-links--drawer .legal-links__button:hover{background:var(--candy-yellow);color:var(--ink)}.profile-legal__title{margin:0;font-weight:800;font-size:.9rem;color:var(--color-text)}.consent-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0}.consent-toggle{display:flex;align-items:flex-start;gap:var(--space-3);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-hard-sm);cursor:pointer}.consent-toggle--locked{cursor:default;background:var(--color-primary-soft)}.consent-toggle input[type=checkbox]{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--color-primary)}.consent-toggle__content{display:flex;flex-direction:column;gap:var(--space-1)}.consent-toggle__content strong{font-weight:800}.consent-toggle__content span{color:var(--color-muted);font-weight:700;font-size:.88rem;line-height:1.4}.consent-toggle__content .consent-toggle__badge{align-self:flex-start;margin-top:var(--space-1);background:var(--color-secondary);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:var(--radius-pill)}.screen-switch{display:flex;gap:0;align-self:center;border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-hard-sm)}.screen-switch__tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-left:var(--border-w) solid var(--ink);background:var(--color-surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;transition:background .12s ease,color .12s ease}.screen-switch__tab:first-child{border-left:none}.screen-switch__tab svg{width:20px;height:20px;stroke-width:2.4}.screen-switch__tab:hover:not(.is-active){background:var(--color-surface-2)}.screen-switch__tab:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.screen-switch__tab.is-active{background:var(--candy-blue);color:#fff}.app-shell:has(.app-main--calendar),.app-shell:has(.app-main--todos),.app-shell:has(.app-main--workspace){height:100%;overflow:hidden}.app-main--calendar,.app-main--todos,.app-main--workspace{min-height:0}.calendar-screen{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:760px;margin-inline:auto}.lists-screen{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:760px;margin-inline:auto}.screen-stage{flex:1;min-height:0;display:flex}.screen-stage.is-animating{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);margin-top:calc(-1 * var(--space-4));margin-bottom:calc(-1 * (var(--safe-bottom) + var(--space-5) * .7))}.screen-stage.is-animating .screen-pane{padding-top:var(--space-4);padding-bottom:calc(var(--safe-bottom) + var(--space-5) * .7);padding-left:calc(var(--safe-left) + var(--space-4) * .7);padding-right:calc(var(--safe-right) + var(--space-4) * .7)}.screen-track{display:flex;width:100%;min-height:0}.screen-track--to-left{animation:track-to-left .3s cubic-bezier(.4,0,.2,1) both}.screen-track--to-right{animation:track-to-right .3s cubic-bezier(.4,0,.2,1) both}.screen-pane{flex:0 0 100%;min-width:0;min-height:0;display:flex;flex-direction:column}.screen-pane[hidden]{display:none}@keyframes track-to-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes track-to-right{0%{transform:translate(-100%)}to{transform:translate(0)}}.calendar-card,.todos-card{flex:1;display:flex;flex-direction:column;border:var(--border-w) solid var(--ink);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-hard);padding:var(--space-4) var(--space-2)}.calendar-card{min-height:0}.calendar-card__month{flex-shrink:0;min-width:0}.calendar-card__agenda{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.todos-card{min-height:0;gap:var(--space-4);overflow:hidden;padding-block:0}.todos-card__scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-4) 10px var(--space-4) 6px}@media(min-width:768px)and (max-width:1199px){.app-main{max-width:1120px}.screen-switch-bar{flex-shrink:0;display:flex;justify-content:center}.screen-switch-bar .screen-switch{width:min(100%,420px)}.screen-switch-bar .screen-switch__tab{flex:1}.calendar-screen--stacked .calendar-card__month{width:100%;max-width:530px;align-self:center}}@media(min-width:900px){.calendar-screen--split,.calendar-screen--workspace{max-width:1120px}.calendar-screen--split .calendar-card,.calendar-screen--workspace .calendar-card{display:grid;grid-template-columns:minmax(420px,500px) minmax(320px,1fr)}.calendar-screen--split .calendar-card__month,.calendar-screen--workspace .calendar-card__month{min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-2);padding-right:calc(var(--space-3) + var(--space-2))}.calendar-screen--split .calendar-card__agenda,.calendar-screen--workspace .calendar-card__agenda{padding-left:var(--space-3);border-left:var(--border-w) solid var(--ink)}.calendar-screen--split .day-panel,.calendar-screen--workspace .day-panel{margin-top:0;border-top:0}}@media(min-width:1200px){.app-main--workspace{max-width:1520px}.desktop-workspace{width:100%;min-height:0;display:grid;grid-template-columns:clamp(300px,24vw,360px) minmax(0,1fr);gap:var(--space-4)}.desktop-workspace>.screen-pane{min-width:0}.desktop-workspace .lists-screen,.desktop-workspace .calendar-screen{width:100%;max-width:none;margin:0}.desktop-workspace .todo-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.todo-panel__title{min-width:0;margin:0;overflow:hidden;color:var(--ink);padding:var(--space-2) var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-yellow);box-shadow:var(--shadow-hard-sm);font-size:1.15rem;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.desktop-workspace .todo-input-form{gap:var(--space-2)}.desktop-workspace .todo-input,.desktop-workspace .todo-add-btn{padding-inline:var(--space-4)}.calendar-screen--workspace .calendar-card{grid-template-columns:clamp(410px,34vw,500px) minmax(320px,1fr)}}.calendar-card--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);min-height:320px;color:var(--color-muted)}.calendar-placeholder__icon{color:var(--color-primary)}.calendar-placeholder__title{margin:0;font-size:1.4rem;font-weight:900;color:var(--ink)}.calendar-placeholder__body{margin:0;font-weight:600}.drawer__scroll{flex:1 1 auto}.drawer__footer{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-w) solid var(--ink)}.drawer__footer .screen-switch{align-self:stretch}.drawer__footer .screen-switch__tab{flex:1 1 0;justify-content:center}.drawer-section{background:var(--color-surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm);margin-bottom:var(--space-3);overflow:hidden}.drawer-section__head{width:100%;display:flex;align-items:center;gap:var(--space-2);border:none;border-bottom:var(--border-w) solid transparent;background:none;font:inherit;font-weight:900;color:var(--ink);cursor:pointer;padding:var(--space-3);transition:background .12s ease}.drawer-section__head:hover{background:var(--color-surface-2)}.drawer-section__head:active{transform:translate(1px,1px)}.drawer-section__title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.drawer-section__count{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:1.5rem;padding:0 .4rem;border:2px solid var(--ink);border-radius:999px;background:var(--candy-blue);color:#fff;font-size:.75rem;font-weight:900;line-height:1}.drawer-section__chevron{transition:transform .18s ease;flex-shrink:0}.drawer-section.is-open .drawer-section__head{border-bottom-color:var(--ink)}.drawer-section.is-open .drawer-section__chevron{transform:rotate(180deg)}.drawer-section__reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1)}.drawer-section.is-open .drawer-section__reveal{grid-template-rows:1fr}.drawer-section__body{overflow:hidden;min-height:0}.drawer-section__inner{padding:var(--space-3);opacity:0;transition:opacity .18s ease}.drawer-section.is-open .drawer-section__inner{opacity:1;transition:opacity .28s ease .08s}@media(prefers-reduced-motion:reduce){.drawer-section__reveal,.drawer-section__inner,.drawer-section__chevron{transition:none}}.collapsible{border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface-2);overflow:hidden}.collapsible__head{width:100%;display:flex;align-items:center;gap:var(--space-2);border:none;background:none;font:inherit;font-weight:900;color:var(--ink);cursor:pointer;padding:var(--space-3)}.collapsible__head:active{transform:translate(1px,1px)}.collapsible__title{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.collapsible__chevron{margin-left:auto;flex-shrink:0;transition:transform .18s ease}.collapsible.is-open .collapsible__chevron{transform:rotate(180deg)}.collapsible__reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1)}.collapsible.is-open .collapsible__reveal{grid-template-rows:1fr}.collapsible__body{overflow:hidden;min-height:0}.collapsible__inner{padding:0 var(--space-3) var(--space-3)}.collapsible .calendar-marker-settings,.collapsible .google-frame{margin:0;padding:0;border:none;border-radius:0;background:none}@media(prefers-reduced-motion:reduce){.collapsible__reveal,.collapsible__chevron{transition:none}}.lang-select{background:var(--color-surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm);overflow:hidden}.lang-select--dialog{max-width:260px;margin:0 auto var(--space-3)}.lang-select__head{width:100%;display:flex;align-items:center;gap:var(--space-2);border:none;border-bottom:var(--border-w) solid transparent;background:none;font:inherit;font-weight:900;color:var(--ink);cursor:pointer;padding:var(--space-3);transition:background .12s ease}.lang-select__head:hover{background:var(--color-surface-2)}.lang-select__head:active{transform:translate(1px,1px)}.lang-select.is-open .lang-select__head{border-bottom-color:var(--ink)}.lang-select__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-select__flag{flex-shrink:0;width:26px;height:18px;border:1px solid rgba(18,34,79,.3);border-radius:3px;object-fit:cover}.lang-select__chevron{flex-shrink:0;transition:transform .18s ease}.lang-select.is-open .lang-select__chevron{transform:rotate(180deg)}.lang-select__reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1)}.lang-select.is-open .lang-select__reveal{grid-template-rows:1fr}.lang-select__body{overflow:hidden;min-height:0}.lang-select__inner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);opacity:0;transition:opacity .18s ease}.lang-select.is-open .lang-select__inner{opacity:1;transition:opacity .28s ease .08s}.lang-select__option{width:100%;display:flex;align-items:center;gap:var(--space-2);text-align:left;padding:var(--space-2) var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;box-shadow:var(--shadow-hard-sm);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease,background .12s ease}.lang-select__option:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard);background:var(--color-surface-2)}.lang-select__option:active{transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink)}.lang-select__group{display:flex;flex-direction:column;gap:var(--space-2)}.lang-select__scripts{display:flex;gap:var(--space-2)}.lang-select__scripts .lang-select__option{flex:1 1 0;min-width:0;justify-content:center;text-align:center}.lang-select__scripts .lang-select__name{flex:0 1 auto}.lang-select__option.is-active{background:var(--color-surface-2);transform:translate(1px,1px);box-shadow:0 0 0 0 var(--ink)}@media(prefers-reduced-motion:reduce){.lang-select__reveal,.lang-select__inner,.lang-select__chevron,.lang-select__option{transition:none}}.drawer__placeholder{margin:0 0 var(--space-3);color:var(--color-muted);font-weight:600}.schedule-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.schedule-row{display:flex;align-items:center;gap:var(--space-2)}.schedule-row__dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);flex-shrink:0}.entry-card{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--todo-border, var(--ink));border-radius:var(--radius-md);background:var(--todo-bg, var(--color-surface));color:var(--todo-fg, var(--ink));font-weight:800;box-shadow:var(--shadow-hard-sm);transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease}.entry-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard)}.entry-card:active{transform:translate(2px,2px);box-shadow:0 0 0 0 var(--ink)}.entry-card__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0}.schedule-row__name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle--sm{width:44px;height:26px}.schedule-row.is-expanded .entry-card .toggle--sm{display:none}.toggle--sm .toggle__knob{width:18px;height:18px}.toggle--sm.is-on .toggle__knob{transform:translate(18px)}.schedule-view{position:relative;z-index:calc(var(--z-dialog) + 1);display:flex;flex-direction:column;width:min(560px,100%);max-height:min(90vh,720px);height:90vh;background:var(--color-surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard-lg);overflow:hidden}.schedule-view__head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--border-w) solid var(--ink);flex-shrink:0}.schedule-view__title{flex:1;margin:0;font-size:1.1rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-view__scroll{flex:1;overflow-y:auto;padding:var(--space-3)}.schedule-view__group+.schedule-view__group{margin-top:var(--space-3)}.schedule-view__date{margin:0 0 var(--space-2);font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.schedule-view__foot{padding:var(--space-3);border-top:var(--border-w) solid var(--ink);flex-shrink:0}.schedule-view__day-strip{display:flex;gap:4px;padding:var(--space-2) var(--space-3);border-bottom:var(--border-w) solid var(--ink);flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-view__day-btn{flex:1 1 0;min-width:2.8em;padding:8px 0;border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-weight:700;font-size:.78rem;cursor:pointer;text-align:center}.schedule-view__day-btn.is-on{background:var(--ink);color:var(--color-surface)}.schedule-view__section-label{margin:var(--space-3) var(--space-3) var(--space-2);font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.schedule-view__date--weekday{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);opacity:1}.schedule-view__event-count{flex-shrink:0;padding:2px var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-yellow);font-size:.7rem;font-weight:800;line-height:1.2;letter-spacing:0;text-transform:none}.event-preview{--event-preview-bg: var(--candy-blue);--event-preview-fg: var(--ink);--event-preview-border: var(--ink);max-width:440px;max-height:min(90dvh,760px);padding:0;gap:0;overflow:hidden;background:var(--color-surface)}.event-preview__hero{position:relative;flex-shrink:0;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--event-preview-bg);color:var(--event-preview-fg);border-bottom:var(--border-w) solid var(--event-preview-border);overflow:hidden}.event-preview__topline{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.event-preview__badges{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.event-preview__badge-row{display:flex;flex-wrap:wrap;gap:6px}.event-preview__badge{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 10px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#ffffffe0;color:var(--ink);font-size:.74rem;font-weight:900;line-height:1}.event-preview__badge--repeat{background:var(--color-primary-soft)}.event-preview__badge--google{background:#fff}.event-preview__meta{display:flex;flex-direction:column;gap:var(--space-2)}.event-preview__meta-row{display:flex;flex-direction:column;gap:2px}.event-preview__meta-row small{font-weight:800;color:var(--ink);opacity:.72}.event-preview__meta-row span{color:var(--ink);font-weight:650;line-height:1.4;overflow-wrap:anywhere}.event-preview__links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.event-preview__link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:var(--space-2) var(--space-4);border:2px solid var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--ink);font-weight:800;text-decoration:none;box-shadow:var(--shadow-hard-sm)}.event-preview__link:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.event-preview__link--full{flex:1 1 100%;justify-content:center}.cal-gstatus{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-primary-soft, rgba(0, 0, 0, .05));color:var(--color-text);font-size:.85rem;font-weight:700;flex-wrap:wrap}.cal-gstatus__loading{display:inline-flex;align-items:center;gap:var(--space-2);animation:fade-in .2s ease;min-width:0;overflow-wrap:anywhere}.cal-gstatus__spinner{flex:none;width:14px;height:14px;border:2px solid currentColor;border-bottom-color:transparent;border-radius:50%;opacity:.7;animation:spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.cal-gstatus__spinner{animation-duration:2.4s}}.google-frame{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-lg, 14px);background:var(--color-surface, transparent)}.google-frame__head{gap:2px}.google-accounts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.google-account{border-radius:var(--radius-md);background:var(--color-primary-soft, rgba(0, 0, 0, .05));overflow:hidden}.google-account__row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.google-account__email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600}.google-account__status{flex:none;font-size:.72rem;font-weight:700;opacity:.7}@media(max-width:420px){.google-account__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}.google-account__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-success, #2e9e5b)}.google-account__dot--warn{background:var(--color-danger, #d5342f)}.google-account__chevron{flex-shrink:0;opacity:.55;transition:transform .18s ease}.google-account__chevron.is-open{transform:rotate(90deg)}.google-account__expand{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.google-account__note{font-size:.8rem;opacity:.75}.google-sync{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.event-preview__close{position:relative;z-index:2;background:#fff}.event-preview__title{position:relative;z-index:1;margin:var(--space-4) 0 0;max-width:90%;font-size:clamp(1.55rem,6vw,2rem);font-weight:900;line-height:1.05;text-align:left;overflow-wrap:anywhere}.event-preview__status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;width:fit-content;margin-top:var(--space-3);padding:4px 10px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#ffffffc7;color:var(--ink);font-size:.76rem;font-weight:900}.event-preview__status.is-done{background:#8ef0b6}.event-preview__status.is-cancelled{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger-dark)}.event-preview__overdue{padding:var(--space-4);background:var(--color-danger-soft)}.event-preview__section-icon--overdue{background:var(--color-danger);transform:rotate(-3deg)}.event-preview__overdue-chip{margin-left:auto;display:inline-flex;align-items:center;padding:3px 10px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--candy-orange);color:#fff;font-size:.72rem;font-weight:900;line-height:1.4;white-space:nowrap}.event-preview__overdue-text{margin:var(--space-2) 0 0;color:var(--ink);font-weight:650;line-height:1.45}.event-preview__body{min-height:0;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;background:radial-gradient(circle at 92% 8%,rgba(79,140,255,.09) 0 7px,transparent 8px),var(--color-surface)}.event-preview__when{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--space-3)}.event-preview__date-card,.event-preview__time-card,.event-preview__repeat,.event-preview__overdue,.event-preview__location,.event-preview__notes,.event-preview__stats,.event-preview__attendees,.event-preview__guests,.rsvp-bar{border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard-sm)}.event-preview__date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:136px;padding:var(--space-3);background:var(--event-preview-bg);color:var(--event-preview-fg);text-align:center}.event-preview__eyebrow{color:var(--color-muted);font-size:.69rem;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.event-preview__date-card .event-preview__eyebrow{color:inherit;opacity:.68}.event-preview__weekday{margin-top:var(--space-2);font-size:.78rem;font-weight:900;letter-spacing:.08em}.event-preview__day{margin:-2px 0;font-size:2.8rem;font-weight:900;line-height:1}.event-preview__month{font-size:.8rem;font-weight:800}.event-preview__time-card{display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;column-gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2)}.event-preview__time-icon{grid-row:1 / 4;align-self:center;width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--event-preview-bg);color:var(--ink);transform:rotate(-3deg)}.event-preview__time-icon svg{width:27px;height:27px;stroke-width:2.5}.event-preview__main-time{margin-top:5px;font-size:clamp(1.15rem,4vw,1.45rem);font-weight:900;line-height:1.1;overflow-wrap:anywhere}.event-preview__time-day{margin-top:4px;color:var(--color-muted);font-size:.76rem;font-weight:800}.event-preview__repeat{padding:var(--space-4);background:#f5f1ff}.event-preview__section-head{display:flex;align-items:center;gap:var(--space-2)}.event-preview__section-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:10px;background:var(--candy-purple);color:#fff;transform:rotate(3deg)}.event-preview__section-icon svg{width:19px;height:19px}.event-preview__section-head h3,.event-preview__location h3,.event-preview__notes h3{margin:0;font-size:1rem;font-weight:900}.event-preview__section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:auto;padding:0 7px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#fff;font-size:.7rem;font-weight:900}.event-preview__days{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3)}.event-preview__day-chip,.event-preview__range{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--ink);font-size:.72rem;font-weight:900}.event-preview__day-chip{min-width:42px;padding:3px 8px}.event-preview__day-chip.is-selected,.event-preview__range.is-selected{background:var(--event-preview-bg)}.event-preview__slots{display:flex;flex-direction:column;gap:7px;margin-top:var(--space-3)}.event-preview__slot-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:var(--space-2);padding:5px 7px;border-radius:var(--radius-sm)}.event-preview__slot-row.is-selected{background:#ffffff9e}.event-preview__slot-day{color:var(--color-muted);font-size:.72rem;font-weight:900}.event-preview__ranges{display:flex;flex-wrap:wrap;gap:5px}.event-preview__range{padding:3px 9px;font-variant-numeric:tabular-nums}.event-preview__series-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:2px dashed rgba(18,34,79,.28)}.event-preview__series-dates span{display:flex;flex-direction:column}.event-preview__series-dates small{color:var(--color-muted);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.event-preview__series-dates strong{font-size:.9rem;font-weight:900}.event-preview__location,.event-preview__notes{padding:var(--space-4)}.event-preview__location{background:#eaf7ff}.event-preview__notes{background:#fff6c8}.event-preview__location p,.event-preview__notes p{margin:var(--space-2) 0 0;color:var(--ink);font-weight:650;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.event-preview__note-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.event-preview__note{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-sm);background:#ffffffb8}.event-preview__note p{width:100%;margin:0}.event-preview__note-vis{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--color-muted);font-size:.66rem;font-weight:900}.event-preview__note-vis.is-public{background:#8ef0b6;color:var(--ink)}.event-preview__note-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0;border:none;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.event-preview__note-caret{flex:0 0 auto;width:16px;height:16px;transition:transform .15s ease}.event-preview__note-caret.is-open{transform:rotate(180deg)}.event-preview__note-heading{flex:1 1 auto;min-width:0;font-weight:900;font-size:.9rem;overflow-wrap:break-word}.event-preview__note-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.event-preview__note-reveal.is-open{grid-template-rows:1fr}.event-preview__note-reveal>.event-preview__note-body{overflow:hidden;min-height:0}.event-preview__note-body{width:100%;padding:var(--space-2) 0 0;white-space:pre-wrap;overflow-wrap:break-word}.event-preview__location-text{overflow-wrap:anywhere;word-break:break-word}@media(prefers-reduced-motion:reduce){.event-preview__note-reveal{transition:none}}.event-preview__stats{padding:var(--space-4);background:#e7f9ee}.event-preview__stats--solo{padding:var(--space-4) var(--space-4) var(--space-5)}.stats-readout{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}.stats-readout--solo{flex-direction:column;gap:var(--space-4)}.stats-readout--solo .stats__ring{margin:0}.stats-readout__empty{margin:0;color:var(--color-muted);font-weight:700;font-size:.9rem;line-height:1.4}.stats-tiles{flex:1 1 auto;min-width:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.stats-readout--solo .stats-tiles{width:100%}.stats-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-2);border:2px solid var(--ink);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-hard-sm)}.stats-tile__value{margin:0;font-size:1.35rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.stats-tile__label{font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.stats-tile--good .stats-tile__value{color:var(--candy-green)}.stats-tile--bad .stats-tile__value{color:var(--candy-red)}.stats-tile--streak .stats-tile__value{color:var(--candy-orange)}.stats-tile--best .stats-tile__value{color:var(--candy-purple)}.stats__ring--sm{width:72px;height:72px;margin:0;flex:0 0 auto}.stats__ring--sm:before{top:9px;right:9px;bottom:9px;left:9px}.stats__ring--sm .stats__pct{font-size:1rem}.rsvp-bar,.event-preview__attendees{padding:var(--space-4);background:var(--color-surface-2)}.rsvp-bar h3,.event-preview__attendees h3{margin:0;font-size:1rem;font-weight:900}.rsvp-bar__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.rsvp-bar__dismiss{width:100%;margin-top:var(--space-3)}.event-preview__attendees ul{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;gap:4px}.event-preview__attendees p{margin:0;color:var(--ink);font-size:.84rem;font-weight:700;overflow-wrap:anywhere}.event-preview__section-icon--location{background:var(--candy-blue)}.event-preview__section-icon--notes{background:var(--candy-yellow);color:var(--ink);transform:rotate(-3deg)}.event-preview__section-icon--stats{background:var(--candy-green);transform:rotate(-3deg)}.event-preview__attendees li{margin:0}.event-preview__attendees .guest-row,.event-preview__guests .guest-row{display:flex;flex-direction:column;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:2px 2px 0 var(--ink);overflow:hidden}.event-preview__guest-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%;padding:9px var(--space-3);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.event-preview__guest-trigger:hover{background:#f5f8ff}.event-preview__guest-trigger:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.event-preview__guest-name{min-width:0;overflow-wrap:anywhere;font-size:.88rem;font-weight:750}.event-preview__guest-copy{display:flex;min-width:0;flex-direction:column;gap:1px}.event-preview__guest-copy small{color:var(--color-muted);font-size:.7rem;font-weight:700}.event-preview__guest-chevron,.guest-row__chevron{width:16px;height:16px;color:var(--color-muted);flex:none}.event-guest-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:2px solid var(--ink);border-radius:13px;background:var(--candy-yellow);color:var(--ink);font-size:1rem;font-weight:900;line-height:1;transform:rotate(-2deg)}.event-guest-avatar svg{width:19px;height:19px}.event-preview__guests{padding:var(--space-4);background:var(--color-surface-2)}.event-preview__guests-summary{margin:var(--space-2) 0 var(--space-3);color:var(--ink);font-size:.84rem;font-weight:750}.event-preview__guests .guest-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.event-preview__attendance{display:flex;flex-wrap:wrap;gap:var(--space-2)}.event-preview__guests-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);border:var(--border-w) dashed var(--ink);border-radius:var(--radius-md);background:var(--color-surface)}.event-preview__guests-empty p{margin:0;color:var(--color-muted);font-weight:700}.event-guest-detail{max-width:420px}.event-guest-detail__profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);background:#f5f1ff;box-shadow:var(--shadow-hard-sm)}.event-guest-detail__profile .event-guest-avatar{width:54px;height:54px;border-radius:18px;font-size:1.35rem}.event-guest-detail__profile>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.event-guest-detail__profile strong{font-size:1.1rem;font-weight:900;overflow-wrap:anywhere}.event-guest-detail__fields{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.event-guest-detail__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.event-guest-detail__actions .btn{flex:1 1 auto;justify-content:center}.event-guest-detail__field{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--color-surface-2)}.event-guest-detail__field dt{color:var(--color-muted);font-size:.75rem;font-weight:800}.event-guest-detail__field dd{min-width:0;margin:0;color:var(--ink);font-size:.86rem;font-weight:800;text-align:right;overflow-wrap:anywhere}.event-preview__tally{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.event-preview__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.event-preview__actions .btn{flex:1 1 140px}@media(max-width:420px){.event-preview__hero{padding:var(--space-3) var(--space-4) var(--space-4)}.event-preview__body{padding:var(--space-4)}.event-preview__when{grid-template-columns:96px minmax(0,1fr)}.event-preview__date-card{min-height:126px;padding:var(--space-2)}.event-preview__day{font-size:2.45rem}.event-preview__time-card{grid-template-columns:42px minmax(0,1fr);column-gap:var(--space-2);padding:var(--space-3)}.event-preview__time-icon{width:42px;height:42px}}.per-day-section{margin-top:var(--space-2)}.per-day-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 0;background:none;border:none;cursor:pointer;font:inherit;font-weight:700;font-size:.85rem}.per-day-toggle__chevron{transition:transform .15s ease;flex-shrink:0}.per-day-toggle__chevron.is-open{transform:rotate(90deg)}.per-day-toggle__label{flex:1;text-align:left}.per-day-toggle__hint{font-weight:400;font-size:.78rem;opacity:.7}.per-day-rows{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.per-day-row{display:flex;align-items:center;gap:var(--space-2)}.per-day-row--invalid{border-radius:var(--radius-sm)}.per-day-row--invalid .field-input{background:var(--color-danger-soft)}.per-day-group{min-width:0;margin:0;padding:var(--space-3);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md)}.per-day-group__label{padding:0 var(--space-2);font-size:.8rem;font-weight:800}.per-day-group .per-day-row+.per-day-row{margin-top:var(--space-2)}.per-day-row .field-input{flex:1;min-width:0}.per-day-add{margin-top:var(--space-2);padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:.78rem;font-weight:800;text-decoration:underline;cursor:pointer}.per-day-reset{display:inline-flex;align-items:center;gap:5px;margin-top:var(--space-1);font:inherit;font-size:.78rem;font-weight:700;color:var(--color-danger-dark);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;opacity:.7}.day-row__chip{display:inline-block;margin-left:var(--space-2);padding:1px 8px;border-radius:var(--radius-pill);background:#00000029;color:inherit;font-size:.68rem;font-weight:800;letter-spacing:.02em;vertical-align:middle}.day-row__chip--overdue{padding:1px 8px;border:2px solid var(--ink);background:var(--candy-orange);color:#fff;font-weight:900}.day-row__extras{display:inline-flex;align-items:center;gap:3px;margin-left:var(--space-2);opacity:.6;vertical-align:middle}.field-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.field-row__label{min-width:4.5em;font-weight:700}.field-row .field-input{flex:1}.field-check{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-weight:700;cursor:pointer}.field-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--candy-blue);cursor:pointer;flex:none}.field-times{display:flex;flex-direction:column;gap:var(--space-2)}.field-times .field-row{flex:1}.field-times .field-input{min-width:0}.field-row--stack{flex-direction:column;align-items:stretch;gap:var(--space-2)}.event-extras{display:flex;flex-direction:column;gap:var(--space-2)}.event-extras__buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.event-extras__btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:2px dashed var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--ink);font-size:.82rem;font-weight:800;cursor:pointer}.event-extras__btn:hover{background:#12224f0f}.event-extras__section{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-sm);background:#fff}.event-extras__section-head{display:flex;align-items:center;gap:6px}.event-extras__section-label{flex:1;font-size:.82rem;font-weight:800;color:var(--ink)}.event-extras__section-actions{display:flex;justify-content:flex-end;margin-top:var(--space-2)}.event-extras__textarea{resize:vertical;min-height:64px;font-family:inherit;font-size:1rem;line-height:1.4}.event-notes-editor__count{margin-left:auto;color:var(--color-muted);font-size:.7rem;font-weight:800}.event-notes-editor__list{display:flex;flex-direction:column;gap:var(--space-3)}.event-note-editor{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:#fff6c8}.event-note-editor__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.event-note-editor__head strong{color:var(--ink);font-size:.78rem;font-weight:900}.event-note-editor__title{flex:1 1 auto;min-width:0;font-weight:900}.event-note-editor__visibility{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:2px dashed rgba(18,34,79,.34);border-radius:var(--radius-sm);background:#ffffffa3;cursor:pointer}.event-note-editor__visibility input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--color-primary)}.event-note-editor__visibility span{display:flex;flex-direction:column;gap:1px}.event-note-editor__visibility strong{color:var(--ink);font-size:.78rem;font-weight:900}.event-note-editor__visibility small{color:var(--color-muted);font-size:.7rem;font-weight:650;line-height:1.35}.event-notes-editor__add{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;padding:5px 9px;border:2px dashed var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--ink);font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}.event-notes-editor__add:disabled{cursor:not-allowed;opacity:.45}.event-extras__summary{display:flex;align-items:center;gap:8px;padding:8px 10px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:#fff}.event-extras__summary-icon{flex:none;color:var(--color-muted)}.event-extras__summary-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;color:var(--ink)}.event-extras__section:has(.guest-section){gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:#f8f6ff;box-shadow:var(--shadow-hard-sm)}.guest-section{display:flex;flex-direction:column;gap:var(--space-3)}.guest-invite-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:#eaf7ff}.guest-invite-card__head{display:flex;align-items:center;gap:var(--space-2)}.guest-invite-card__head>span:last-child{display:flex;min-width:0;flex-direction:column;gap:1px}.guest-invite-card__head strong{color:var(--ink);font-size:.9rem;font-weight:900}.guest-invite-card__head small{color:var(--color-muted);font-size:.72rem;font-weight:700;line-height:1.3}.guest-invite-card__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:2px solid var(--ink);border-radius:11px;background:var(--candy-blue);color:#fff;transform:rotate(-3deg)}.guest-invite-card__icon svg{width:18px;height:18px}.guest-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.guest-visibility{align-items:flex-start;padding:var(--space-3);border:2px solid var(--ink);border-radius:var(--radius-md);background:#fff6c8}.guest-visibility>span{display:flex;flex-direction:column;gap:2px}.guest-visibility strong{color:var(--ink);font-size:.84rem;font-weight:900}.guest-visibility small{color:var(--color-muted);font-size:.72rem;font-weight:650;line-height:1.35}.guest-roster{overflow:hidden;border:2px solid var(--ink);border-radius:var(--radius-md);background:#f5f1ff}.guest-roster__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:9px var(--space-3);border-bottom:2px solid var(--ink)}.guest-roster__head strong{color:var(--ink);font-size:.84rem;font-weight:900}.guest-roster__head span,.guest-counter{color:var(--color-muted);font-size:.7rem;font-weight:800}.guest-section .guest-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.guest-section .guest-row{display:flex;flex-direction:column;background:#fff}.guest-section .guest-row+.guest-row{border-top:1px solid rgba(18,34,79,.22)}.guest-row__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid rgba(18,34,79,.18)}.guest-row__main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-width:0;padding:10px var(--space-2) 10px var(--space-3);border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.guest-row__main:hover{background:#f9fbff}.guest-row__main:focus-visible{position:relative;z-index:1;outline:none;box-shadow:inset var(--focus-ring)}.guest-row__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.guest-row__copy strong{font-size:.84rem;font-weight:900;overflow-wrap:anywhere}.guest-row__copy small{overflow:hidden;color:var(--color-muted);font-size:.7rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.guest-row__remove{align-self:center}.guest-list__empty{margin:0;padding:var(--space-3);border:2px dashed rgba(18,34,79,.35);border-radius:var(--radius-md);background:#fff;color:var(--color-muted);font-size:.78rem;font-weight:700;line-height:1.4;text-align:center}.guest-section__actions{display:flex;padding-top:var(--space-1)}.guest-section__actions .btn{flex:1 1 auto;width:100%}@media(max-width:440px){.event-extras__btn{flex:1 1 calc(50% - var(--space-2));justify-content:center}.event-extras__section:has(.guest-section){padding:var(--space-3)}.guest-invite{grid-template-columns:1fr}.guest-invite .btn,.guest-section__actions .btn{width:100%}}.schedule-title-step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.schedule-title-step__next{white-space:nowrap}.schedule-title-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:1.25rem;margin-top:calc(-1 * var(--space-2))}.schedule-title-feedback.is-empty{visibility:hidden}.schedule-title-feedback .quick-preview,.schedule-title-feedback .quick-conflict{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-keep-title{padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:.78rem;font-weight:800;text-decoration:underline;cursor:pointer;white-space:nowrap}@media(max-width:480px){.schedule-title-step{grid-template-columns:1fr}.schedule-title-step__next{justify-self:stretch}}.weekday-picker{display:flex;gap:4px;flex-wrap:wrap}.weekday-picker__day{flex:1 1 0;min-width:2.4em;padding:6px 0;border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-weight:700;font-size:.72rem;cursor:pointer}.weekday-picker__day.is-on{background:var(--candy-blue);color:#fff}.freq-picker{display:flex;gap:4px}.freq-picker__opt{flex:1 1 0;padding:8px 0;border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-weight:700;font-size:.8rem;cursor:pointer}.freq-picker__opt.is-on{background:var(--candy-blue);color:#fff}.habit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.habit-row{display:flex;align-items:center;gap:var(--space-2);border:var(--border-w) solid var(--ink);border-radius:var(--radius-md);border-left:5px solid var(--tint, var(--ink));padding:var(--space-2) var(--space-3)}.habit-row__main{flex:1;display:grid;grid-template-columns:1fr auto;gap:2px var(--space-2);align-items:baseline;border:none;background:none;font:inherit;text-align:left;cursor:pointer;padding:0;color:inherit}.habit-row__title{font-weight:700}.habit-row__pct{font-weight:900;font-variant-numeric:tabular-nums}.habit-row__days{grid-column:1 / -1;font-size:.72rem;letter-spacing:.03em;opacity:.7}.stats__ring{position:relative;width:132px;height:132px;margin:0 auto var(--space-3);border-radius:50%;border:var(--border-w) solid var(--ink);background:conic-gradient(var(--candy-blue) calc(var(--pct, 0) * 1%),var(--color-surface-2) 0);display:grid;place-items:center}.stats__ring:before{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;background:var(--color-surface);border:2px solid var(--ink)}.stats__pct{position:relative;z-index:1;font-size:1.8rem;font-weight:900;font-variant-numeric:tabular-nums}.calendar-section{flex-shrink:0;display:flex;flex-direction:column;padding-inline:var(--space-2);touch-action:pan-y}.calendar-grid-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.16,1,.3,1)}.calendar-grid-reveal.is-open{grid-template-rows:1fr}.calendar-grid-reveal__inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .18s ease}.calendar-grid-reveal.is-open .calendar-grid-reveal__inner{padding:var(--space-3) 6px 6px;opacity:1;transition:opacity .28s ease .08s}@media(prefers-reduced-motion:reduce){.calendar-grid-reveal,.calendar-grid-reveal__inner{transition:none}}.calendar-nav{display:grid;grid-template-columns:auto minmax(7.5em,1fr) auto;align-items:center;column-gap:5px}.calendar-nav__controls{display:flex;align-items:center;gap:6px}.calendar-date-label{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;gap:2px;min-width:7.5em;min-height:44px;text-align:center;border:none;background:none;font:inherit;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);overflow:hidden}.calendar-date-label__weekday{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:clamp(.72rem,3.4vw,1rem);font-weight:800;line-height:1}.calendar-date-label__date{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.72rem,3.4vw,1rem);font-weight:900;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.calendar-date-label:hover{background:var(--color-surface-2)}.calendar-date-label:focus-visible{background:var(--color-surface-2);box-shadow:inset 0 0 0 2px var(--color-primary)}.calendar-collapse{margin-left:9px}@media(max-width:440px){.calendar-section{padding-inline:0}.calendar-nav{grid-template-columns:auto minmax(0,1fr) auto}.calendar-nav .icon-button--sm{width:40px;height:40px}.calendar-date-label{min-width:0;min-height:40px;padding-inline:0}.calendar-date-label__date{letter-spacing:0}.calendar-collapse{width:40px;justify-self:end}}@media(max-width:380px){.calendar-nav .icon-button--sm,.calendar-collapse{width:36px;height:36px}.calendar-date-label{min-height:36px}}.calendar-collapse__icon{transition:transform .18s ease}.calendar-collapse__icon.is-open{transform:rotate(180deg)}.calendar-grid{display:flex;flex-direction:column;gap:var(--space-2)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:clamp(2px,1vw,4px)}.calendar-weekday{text-align:center;font-size:clamp(.62rem,2.8vw,.68rem);font-weight:800;letter-spacing:.03em;color:var(--color-muted);padding-bottom:2px}.calendar-day{position:relative;min-width:0;min-height:0;width:100%;aspect-ratio:1 / 1;align-self:start;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-items:center;padding:0;border:1px solid var(--ink);border-radius:clamp(10px,3.5vw,var(--radius-md));background:var(--color-surface-2);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;transition:background .12s ease,transform .1s ease}.calendar-day:hover{background:var(--candy-yellow)}.calendar-day:active{transform:scale(.94)}.calendar-day--muted{color:var(--color-muted);opacity:.55;background:transparent;border-color:transparent}.calendar-day--today,.calendar-day--selected{border-width:2px}@media(min-width:480px){.calendar-day--today,.calendar-day--selected{border-width:3px}}.calendar-day--today{background:var(--candy-blue);color:#fff}.calendar-day--selected{background:var(--candy-yellow);color:var(--ink);box-shadow:2px 2px 0 0 var(--ink)}@media(min-width:480px){.calendar-day--selected{box-shadow:var(--shadow-hard-sm)}}.calendar-day--sun{border-color:#9b1c1c}.calendar-day--pulse{border-color:var(--candy-pink);animation:calendar-pulse 1.6s ease-in-out infinite}@keyframes calendar-pulse{0%,to{box-shadow:0 0 #ff7ad98c}50%{box-shadow:0 0 0 5px #ff7ad900}}.calendar-day__badges{width:100%;min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vw,5px);pointer-events:none}.calendar-day__badges--events{padding-top:clamp(1px,.3vw,2px);transform:translateY(2px)}.calendar-day__badges--tasks{padding-bottom:clamp(1px,.3vw,2px)}.calendar-day__num{font-size:clamp(.82rem,3.8vw,1rem);font-weight:700;line-height:1;transform:translateY(1px)}.calendar-item-badge{flex:0 0 auto;font-size:.78rem;font-weight:500;line-height:1;letter-spacing:.01em}.calendar-day__badges .calendar-item-badge{font-size:clamp(.54rem,2.7vw,.68rem)}.day-row__main>.calendar-item-badge{margin-inline:-4px}.calendar-screen[data-button-marker-style=letter] .day-row__main>.calendar-item-badge{flex-basis:20px;width:20px;font-size:.85rem;text-align:center;transform:translateY(1px)}.calendar-item-badge[data-category=calendarEvent]{color:var(--candy-red)}.calendar-item-badge[data-category=scheduleEvent]{color:var(--candy-orange)}.calendar-item-badge[data-category=calendarTask]{color:var(--candy-green)}.calendar-item-badge[data-category=repeatingTask]{color:var(--candy-purple)}.calendar-screen[data-date-marker-style=letter] .calendar-day__badges .calendar-item-badge,.calendar-screen[data-button-marker-style=letter] .day-row__main>.calendar-item-badge{-webkit-text-stroke:.75px #000;paint-order:stroke fill}.calendar-screen[data-date-marker-style=none] .calendar-day__badges .calendar-item-badge,.calendar-screen[data-button-marker-style=none] .day-row__main>.calendar-item-badge{display:none}.calendar-screen[data-date-marker-style=letter] .calendar-day__badges .calendar-item-badge{-webkit-text-stroke-width:clamp(.5px,.18vw,.75px)}.calendar-screen[data-date-marker-style=letter] .calendar-day__badges--events{transform:translateY(3px)}.calendar-screen[data-button-marker-style=dot] .day-row__main>.calendar-item-badge{flex-basis:12px;width:12px;height:12px;border:2px solid #000;border-radius:50%;background:currentColor;font-size:0;letter-spacing:0}.calendar-screen[data-date-marker-style=dot] .calendar-day__badges .calendar-item-badge{--calendar-cell-dot-size: clamp(7px, 2vw, 8px);display:block;flex:0 0 var(--calendar-cell-dot-size);width:var(--calendar-cell-dot-size);min-width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);min-height:var(--calendar-cell-dot-size);aspect-ratio:1 / 1;border:1px solid #000;border-radius:50%;background:currentColor;font-size:0;letter-spacing:0}.day-panel{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:var(--space-4);border-top:var(--border-w) solid var(--ink);touch-action:pan-y}.day-panel__date{flex-shrink:0;margin:0;padding:var(--space-3) var(--space-2);border-bottom:var(--border-w) solid var(--ink);overflow:hidden;color:var(--ink);font-size:1rem;font-weight:900;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.day-panel__bar{position:relative;flex-shrink:0;display:flex;gap:var(--space-3);padding-top:var(--space-4);padding-inline:var(--space-2);border-top:var(--border-w) solid var(--ink)}.day-seg{flex:1;min-width:0;display:flex;align-items:stretch;border:var(--border-w) solid var(--ink);border-radius:var(--radius-pill);overflow:hidden;box-shadow:var(--shadow-hard-sm);background:var(--color-surface);container-type:inline-size}.day-seg__tab{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;background:var(--color-surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;padding:var(--space-2) var(--space-3);white-space:nowrap}.day-seg__count{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:2px 12px;border:2px solid var(--ink);border-radius:var(--radius-pill);background:#fff;color:var(--ink);font-size:.88rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.day-seg.is-active .day-seg__count{background:#fff;color:var(--ink)}.day-seg.is-pulsing .day-seg__count{animation:seg-count-pulse 1.3s ease-in-out infinite}@keyframes seg-count-pulse{0%,to{box-shadow:inset 0 0 #4f8cff00,0 0 #4f8cff99}50%{box-shadow:inset 0 0 9px 3px #4f8cffd9,0 0 0 6px #4f8cff00}}.calendar-screen--stacked .day-seg.is-pulsing .day-seg__tab{animation:seg-tab-pulse 1.3s ease-in-out infinite}@keyframes seg-tab-pulse{0%,to{box-shadow:inset 0 0 #4f8cff00}50%{box-shadow:inset 0 0 16px 3px #4f8cffbf}}@container (max-width: 120px){.day-seg__tab{font-size:.82rem}}@container (max-width: 100px){.day-seg__tab{font-size:.72rem}}.day-seg.is-active .day-seg__tab{background:var(--candy-blue);color:#fff}.day-seg__add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:none;border-left:var(--border-w) solid var(--ink);background:var(--candy-yellow);color:var(--ink);cursor:pointer;padding:0 var(--space-3)}.day-seg__add:hover{background:var(--candy-purple);color:#fff}.day-seg__add svg{width:20px;height:20px}.day-panel__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-4) 10px var(--space-4) 6px}.day-panel__empty{text-align:center;color:var(--color-muted);font-weight:600;padding:var(--space-4) 0}.day-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.day-row{display:flex;align-items:stretch;border:var(--border-w) solid var(--todo-border, var(--ink));border-radius:var(--radius-md);background:var(--todo-bg, var(--color-surface));color:var(--todo-fg, var(--ink));box-shadow:2px 2px 0 0 var(--ink);overflow:hidden;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease,filter .15s ease,opacity .15s ease}.day-row:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 var(--ink)}.day-row:active{transform:translate(3px,3px);box-shadow:0 0 0 0 var(--ink)}.day-row__main{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3);cursor:pointer;min-width:0;color:inherit;-webkit-user-select:none;user-select:none}.day-row__main:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.day-row__status{flex-shrink:0;display:flex;align-items:center;padding:var(--space-1) 0 var(--space-1) var(--space-3);border:0;background:transparent;color:inherit}button.day-row__status{cursor:pointer}button.day-row__status:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.day-row__preview{border:0;background:transparent;font:inherit;text-align:left}.day-row__check{flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink)}.day-row__title{flex:1;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.day-row__time{flex-shrink:0;font-weight:800;font-size:.8rem;padding:2px 9px;border-radius:var(--radius-pill);background:#00000024;color:inherit;font-variant-numeric:tabular-nums}.day-row__gbadge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:6px;flex-shrink:0}.day-row__check--hidden{visibility:hidden}.day-row--done .day-row__check{background:var(--candy-green)}.day-row--done{border-style:dashed;filter:saturate(.45);opacity:.78}.event-row--cancelled .day-row__title{text-decoration:line-through;text-decoration-thickness:1.5px}.event-row--cancelled .day-row__main{opacity:.72}.day-row--past,.day-panel--past .day-row{opacity:.5}.quick-preview,.quick-hint,.quick-conflict{margin:var(--space-2) 0 0;font-size:.85rem;font-weight:600}.quick-preview{color:var(--color-muted)}.quick-preview__label{font-weight:800;color:var(--color-primary);text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}.quick-hint{color:var(--color-muted)}.quick-conflict{color:var(--color-danger);font-weight:800}.quick-conflict--soft{color:#9a5b00;font-weight:700}.dialog__panel--sheet{text-align:center;transform:translateY(32px);animation:sheet-in .25s cubic-bezier(.16,1,.3,1) forwards}.dialog--closing{pointer-events:none}.dialog__panel--sheet.dialog__panel--closing{animation:sheet-out .26s ease-in forwards}.sheet__title{margin:0 0 var(--space-3);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet__actions{display:flex;flex-direction:column;gap:var(--space-2)}.sheet__btn{width:100%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap}.sheet__cancel{margin-top:var(--space-2);width:100%}
