.auth-page{align-items:center;justify-content:flex-start;gap:20px}.auth-page>*{width:100%;max-width:420px}.auth-head{display:flex;flex-direction:column;align-items:center;gap:20px}.auth-wordmark,.auth-mark{color:var(--primary)}.auth-title{margin:0;text-align:center}.auth-lead{margin:-12px 0 0;text-align:center}.auth-title:focus{outline:none}.auth-panel{--field-bg: var(--surface-1);display:flex;flex-direction:column;gap:20px;padding:28px 16px 20px;border-radius:var(--r-xl);background:var(--surface-1)}.auth-form{display:flex;flex-direction:column;gap:22px}.auth-hint{margin:-14px 0 0;padding:0 16px}.auth-forgot{display:flex;justify-content:flex-end;margin:-12px 0 0}.auth-forgot a{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;color:var(--primary);font-weight:var(--fw-semibold)}.auth-foot{margin:0;text-align:center}.auth-foot a{display:inline-flex;align-items:center;min-height:48px;padding:0 8px;color:var(--primary);font-weight:var(--fw-semibold)}.auth-panel .auth-submit,.auth-page .auth-submit{min-height:56px;border-radius:var(--r-pill);font-size:var(--fs-title-s)}.auth-alert{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 16px;border-radius:var(--r-l);background:var(--error-container);color:var(--on-error-container);font-size:var(--fs-body-s)}.auth-alert .ico{margin-top:2px;flex:none}.auth-alert.locked{background:var(--surface-3);color:var(--on-surface)}.auth-working{margin:0;padding:0 4px}.auth-card{display:flex;flex-direction:column;gap:10px;margin:0;padding:16px;border-radius:var(--r-l);background:var(--surface-3);color:var(--on-surface)}.auth-card h2{font-family:var(--font-body);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-body-m)}.auth-card p{margin:0;font-size:var(--fs-body-s)}.auth-panel .field-input:-webkit-autofill{-webkit-text-fill-color:var(--on-surface);caret-color:var(--on-surface);box-shadow:0 0 0 100px var(--surface-1) inset;transition:background-color 9999s}@media(max-width:340px){.auth-panel{padding:24px 12px 16px}}.account .group .card.low{padding:16px}.account .scheme-choice{padding:0}.factlist{list-style:none;margin:0;padding:0;background:var(--surface-1);border-radius:var(--r-l);overflow:hidden}.fact{display:flex;flex-direction:column;gap:4px;padding:16px}.fact+.fact{border-top:1px solid var(--outline-variant)}.fact p{margin:0;color:var(--on-surface-variant);line-height:var(--lh-body-m)}.bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bullets li{display:flex;gap:12px;align-items:flex-start;line-height:var(--lh-body-m)}.bullets .ico{flex:none;width:20px;height:20px;margin-top:2px}.bullets.gone .ico{color:var(--error)}.bullets.stays .ico{color:var(--secondary)}.delete-pending{display:flex;flex-direction:column;gap:12px}.delete-pending h2{color:var(--on-surface)}.pending-deletion-wrap{display:flex;flex-direction:column;gap:8px;margin:0 16px 8px}.pending-deletion{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 12px;border-radius:var(--r-l);background:var(--surface-container, transparent);color:var(--on-surface-variant, inherit);font-size:var(--fs-body-s)}.pending-deletion-error{flex-basis:100%;color:var(--error)}.pending-deletion-notice{display:flex;flex-direction:column;gap:8px}.pending-deletion-notice h2{font-family:var(--font-body);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:8px;font-size:var(--fs-body-m)}.pending-deletion-notice p{margin:0}.avatar-card{display:flex;flex-direction:column;gap:12px}.avatar-actions{display:flex;flex-wrap:wrap;gap:8px}.avatar-actions .btn{flex:1 1 140px;min-height:var(--touch)}.fh-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.fh-report{display:flex;flex-direction:column;gap:8px;margin-top:16px}.fh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fh-list .sub{display:block}.apphead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--touch)}.spacepill{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:calc(100% - 56px);min-height:var(--touch);padding:0 12px 0 16px;box-sizing:border-box;border-radius:var(--r-pill);background:var(--surface-2);color:var(--on-surface);font-weight:var(--fw-semibold);font-size:var(--fs-label-l);text-decoration:none}.spacepill-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spacepill .ico{flex:none;width:20px;height:20px}.avatarlink{display:grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);border-radius:var(--r-pill);text-decoration:none}.avatarlink .initials{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--primary-container);color:var(--on-primary-container);font-weight:var(--fw-semibold);font-size:var(--fs-label-l)}.spacepill:focus-visible,.avatarlink:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.avatarlink.active .initials{background:var(--primary);color:var(--on-primary);box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--primary)}.apphead-mark{display:grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);margin-left:-8px;color:var(--primary);border-radius:var(--r-pill)}.apphead-mark:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.apphead .spacepill{margin-right:auto}@media(max-width:359px){.apphead-mark{width:36px;margin-left:-4px}}.brandfoot{display:flex;justify-content:center;padding:24px 0 8px;color:var(--primary);opacity:.85}.face-img{display:block;width:100%;height:100%;object-fit:cover}.avatarlink .initials{overflow:hidden}.calhead,.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 4px}.calhead span{text-align:center;font-size:var(--fs-label-s);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.calday{position:relative;min-height:48px;border:2px solid transparent;border-radius:var(--r-pill);background:transparent;color:var(--on-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 0}.calday.out{color:var(--on-surface-variant);opacity:.6}.calday.today{border-color:var(--primary)}.calday[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.calday[aria-pressed=true] .dot{background:var(--on-primary)}.calday:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.calday .dots{display:flex;gap:3px;min-height:6px}.calday .dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--secondary)}.card.occ{flex-direction:column;align-items:stretch;gap:4px;width:100%;min-height:56px;padding:12px 16px;border:0;text-align:left;color:var(--on-surface);background:var(--surface-2);box-shadow:inset 4px 0 0 var(--secondary)}.occ:hover{background:var(--surface-3)}.occ:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.occ .occ-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.occ .when{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.occ .what{min-width:0;display:flex;flex-direction:column}.occ .what b{overflow-wrap:anywhere}.weekpick{display:flex;flex-wrap:wrap;gap:8px}.catrow{flex-direction:row;align-items:center;gap:8px;min-height:56px;padding:8px 8px 8px 16px}.catrow .grow{flex:1;min-width:0;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.monthcard{gap:8px}.dayadd{align-self:flex-start}.countdown .big{font-family:var(--font-body);font-size:var(--fs-title-l);font-weight:var(--fw-bold);line-height:var(--lh-title-l);margin:0}.weekstrip{display:flex;flex-direction:column;gap:8px}.wk-head{display:flex;align-items:center;gap:4px}.wk-title{flex:1;text-align:center;font-weight:var(--fw-semibold)}.wk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.wk-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:72px;padding:8px 0;border:2px solid transparent;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);font:inherit;transition:transform var(--dur-tap) var(--ease-out)}.wk-day:active{transform:translateY(2px)}.wk-day:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.wk-name{font-size:var(--fs-label-s);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.wk-num{font-size:var(--fs-title-s);font-weight:var(--fw-bold);line-height:var(--lh-title-s)}.wk-dot{width:6px;height:6px;border-radius:var(--r-pill);background:transparent}.wk-day.marked .wk-dot{background:var(--secondary)}.wk-day.today{border-color:var(--primary)}.wk-day[aria-selected=true]{background:var(--primary);color:var(--on-primary)}.wk-day[aria-selected=true] .wk-name{color:var(--on-primary)}.wk-day[aria-selected=true].marked .wk-dot{background:var(--on-primary)}.ext-title{margin:8px 0 0;font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.card.ext{flex-direction:row;align-items:center;gap:12px;min-height:56px;padding:12px 16px;background:var(--surface-1);color:var(--on-surface)}.card.ext.busy{background:transparent;border:2px dashed var(--outline-variant);color:var(--on-surface-variant)}.ext .ext-who{flex:none;width:32px;height:32px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);background:var(--surface-3);color:var(--on-surface)}.ext.busy .ext-who{background:transparent;border:2px solid var(--outline-variant)}.ext .ext-body{min-width:0;display:flex;flex-direction:column}.ext .when{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.ext b{overflow-wrap:anywhere}.ext .ext-busy{font-weight:var(--fw-regular)}.calsources{list-style:none;margin:0;padding:0}.calsource{display:flex;flex-direction:column;gap:12px}.calsource-head{display:flex;align-items:center;gap:12px}.calsource-head .name{display:block;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.calsource-head .sub{display:block;color:var(--on-surface-variant);font-size:var(--fs-body-s)}.calstatus{flex:none;width:32px;height:32px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--on-surface-variant)}.calstatus.ok{color:var(--secondary)}.calstatus.error,.calstatus.paused{color:var(--error)}.calstatusline{margin:0}.calstatusline.problem{color:var(--error)}.calsource-actions{display:flex;flex-wrap:wrap;gap:8px}.calsource-actions .btn{flex:1 1 140px;min-height:var(--touch)}.calshares{display:flex;flex-direction:column;gap:12px}.calshares h3{margin:0}.e2e-note{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-m);background:var(--surface-2);color:var(--on-surface);border:1px solid var(--outline-variant)}.e2e-note h2,.e2e-note h3{font-family:var(--font-body);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-label-l)}.e2e-note h2 .ico,.e2e-note h3 .ico{flex:none;color:var(--primary)}.e2e-note p{margin:0}.e2e-note.warn{background:var(--tertiary-container);color:var(--on-tertiary-container);border-color:transparent;border-inline-start:6px solid var(--tertiary)}.e2e-note.warn h3 .ico{color:inherit}.e2e-note.warn .btn.outline{color:inherit;border-color:currentColor}.e2e-note .btn{align-self:flex-start}.e2e-note details{font-size:var(--fs-body-s)}.e2e-note summary{min-height:var(--touch);display:flex;align-items:center;cursor:pointer}.e2e-note summary:focus-visible,.e2e-note a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-s)}.unreadable{font-style:italic;color:var(--on-surface-variant);border-bottom:1px dotted var(--outline)}.e2e-block{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--outline-variant)}.e2e-block:first-of-type{border-top:0;padding-top:0}.e2e-block h3{margin:0}.e2e-block h3:focus{outline:none}.e2e-block h3:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-s)}.fp{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:var(--fs-title-m);font-weight:var(--fw-bold);letter-spacing:var(--ls-code)}.fp li{padding:4px 12px;background:var(--surface-2);border-radius:var(--r-s);border:1px solid var(--outline-variant)}.qr{display:block;width:200px;max-width:100%;height:auto;box-sizing:border-box;padding:10px;border-radius:var(--r-m);background:#fff;color:#000}.trust-row{display:flex;align-items:center;gap:8px;min-height:var(--touch);flex-wrap:wrap}.trust-row .grow{overflow-wrap:anywhere}.chip.trust-yes{background:var(--secondary-container);color:var(--on-secondary-container)}.chip.trust-no{background:var(--surface-3);color:var(--on-surface)}.key-note{display:flex;flex-direction:column;gap:8px}.key-note .row{flex-wrap:wrap}.progress-line{display:flex;flex-direction:column;gap:8px}@property --nav-x{syntax: "<number>"; inherits: true; initial-value: .5;}.nav{position:fixed;inset-inline:0;bottom:0;z-index:10;margin-inline:auto;width:min(520px,calc(100% - 32px));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.nav-bar{position:relative;height:64px;--nav-x: calc((var(--k, 1) - .5) / var(--n, 5));--px: clamp(40px, calc(var(--nav-x) * 100cqw), calc(100cqw - 40px) );container-type:inline-size;transition:--nav-x var(--dur-feedback) var(--ease-out);filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--scrim) 40%,transparent)) drop-shadow(0 6px 12px color-mix(in srgb,var(--scrim) 30%,transparent))}.nav-bar.n-2{--n: 2}.nav-bar.n-3{--n: 3}.nav-bar.n-4{--n: 4}.nav-bar.n-5{--n: 5}.nav-bar.n-6{--n: 6}.nav-bar.at-1{--k: 1}.nav-bar.at-2{--k: 2}.nav-bar.at-3{--k: 3}.nav-bar.at-4{--k: 4}.nav-bar.at-5{--k: 5}.nav-bar.at-6{--k: 6}.nav:before{content:"";position:absolute;z-index:-1;inset-inline:-16px;bottom:0;height:calc(104px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--surface) 28px);pointer-events:none}.nav-bar:before{content:"";position:absolute;inset:0;border-radius:var(--r-l);background:var(--surface-2);pointer-events:none}.nav-bar.cradle.has-puck:before{-webkit-mask-image:linear-gradient(#000 0 0),radial-gradient(circle at var(--px) 2px,#000 27px,transparent 28px),radial-gradient(circle at 100% 12px,transparent 11.5px,#000 12.5px),radial-gradient(circle at 0 12px,transparent 11.5px,#000 12.5px);mask-image:linear-gradient(#000 0 0),radial-gradient(circle at var(--px) 2px,#000 27px,transparent 28px),radial-gradient(circle at 100% 12px,transparent 11.5px,#000 12.5px),radial-gradient(circle at 0 12px,transparent 11.5px,#000 12.5px);-webkit-mask-size:100% 100%,100% 100%,14.73px 9px,14.73px 9px;mask-size:100% 100%,100% 100%,14.73px 9px,14.73px 9px;-webkit-mask-position:0 0,0 0,calc(var(--px) + 24px) 0,calc(var(--px) - 38.73px) 0;mask-position:0 0,0 0,calc(var(--px) + 24px) 0,calc(var(--px) - 38.73px) 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out,source-over,source-over,source-over;mask-composite:subtract,add,add,add}.puck{position:absolute;z-index:1;top:-22px;left:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;pointer-events:none;background:var(--primary-container);color:var(--on-primary-container);box-shadow:inset 0 0 0 2px var(--primary),0 0 0 5px var(--surface);transform:translate(calc(var(--px) - 24px))}.puck .ico{width:28px;height:28px}.nav-bar.flat .puck{left:clamp(40px,calc(var(--nav-x) * 100%),calc(100% - 40px));margin-left:-24px;transform:none}.nav-bar ul{position:relative;z-index:2;list-style:none;margin:0;padding:0;height:100%;display:flex}.nav-bar li{flex:1 1 0;min-width:0;display:flex}.nav-bar a{position:relative;flex:1;min-width:0;min-height:48px;padding:0 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:var(--r-l);background:transparent;font:inherit;font-size:var(--fs-label-s);font-weight:var(--fw-regular);color:var(--on-surface-variant);text-decoration:none}.nav-bar .pill{display:grid;place-items:center;width:24px;height:24px}.nav-bar .lbl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-bar.n-6 a{font-size:var(--fs-caption)}.nav-bar a[aria-current=page]{color:var(--on-surface);font-weight:var(--fw-semibold)}.nav-bar [aria-current=page] .pill{visibility:hidden}.nav-bar [aria-current=page]:before{content:"";position:absolute;top:-26px;left:50%;width:56px;height:26px;margin-left:-28px}.nav-bar .badge{position:absolute;top:4px;left:calc(50% + 8px)}.nav-bar [aria-current=page] .badge{top:-22px;left:calc(50% + 12px);z-index:3}.nav-bar a:focus-visible{outline:3px solid var(--primary);outline-offset:-4px}@supports selector(:has(a)){.nav-bar [aria-current=page]:focus-visible{outline-color:transparent}.nav-bar:has([aria-current=page]:focus-visible) .puck{outline:3px solid var(--primary);outline-offset:4px}}.sidebar{display:none}@media(min-width:900px){.nav,.has-side .apphead{display:none}.page.has-side{display:grid;grid-template-columns:256px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:0}.page.has-side>header,.page.has-side>main{grid-column:2}.page.has-side>header{grid-row:1}.page.has-side>main{grid-row:2;padding-bottom:48px}.page.has-side .wrap{max-width:760px;margin-inline:auto;padding-inline:32px}.page.has-side.wide .wrap{max-width:1120px}.page.has-side .pagehead{padding-top:32px}.page.has-side .fab{right:32px;bottom:32px}.sidebar{grid-column:1;grid-row:1 / span 2;position:sticky;top:0;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;padding:24px 16px;background:var(--surface-low);border-right:1px solid var(--outline-variant);overflow-y:auto}.side-brand{display:flex;align-items:center;min-height:var(--touch);padding:0 8px;color:var(--primary);border-radius:var(--r-m)}.side-brand:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.side-pill{max-width:100%;align-self:stretch;justify-content:space-between;background:var(--surface-2)}.side-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.side-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--touch);padding:0 16px;border-radius:var(--r-pill);color:var(--on-surface-variant);text-decoration:none;font-size:var(--fs-label-l);font-weight:var(--fw-semibold)}.side-nav a:hover{background:var(--surface-2)}.side-nav a[aria-current=page]{background:var(--primary-container);color:var(--on-primary-container);font-weight:var(--fw-semibold)}.side-nav a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.side-nav .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav .badge{position:static}.side-account{margin-top:auto;display:flex;align-items:center;gap:8px;min-height:var(--touch);padding:4px 8px;border-radius:var(--r-pill);color:var(--on-surface);text-decoration:none;font-weight:var(--fw-semibold)}.side-account:hover{background:var(--surface-2)}.side-account:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.side-who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.lockmark{position:relative;display:inline-block;width:18px;height:18px;flex:none}.lockmark .ico{position:absolute;inset:0;transition:opacity var(--dur-feedback) var(--ease-out),transform var(--dur-feedback) var(--ease-out)}.lockmark .ico:last-child{opacity:0;transform:translateY(3px)}.lockmark.open .ico:first-child{opacity:0;transform:translateY(-3px)}.lockmark.open .ico:last-child{opacity:1;transform:none}.lockmark.big,.lockmark.big .ico{width:64px;height:64px}.vis-sum{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--r-l);background:var(--surface-1)}.vis-sum .vis-badge{display:grid;place-items:center;width:88px;height:88px;flex:none;border-radius:var(--r-pill);background:var(--secondary-container);color:var(--on-secondary-container)}.vis-sum.open .vis-badge{background:transparent;color:var(--tertiary);box-shadow:inset 0 0 0 3px var(--tertiary);border-radius:var(--r-pill)}.vis-sum .vis-head{font-family:var(--font-display);font-size:var(--fs-title-s);font-weight:var(--fw-regular);margin:0}.vis-sum .vis-sub{margin:4px 0 0;color:var(--on-surface-variant);font-size:var(--fs-body-s)}.chip.btnlike.vis-cell,.chip.btnlike.vis-opt{gap:8px}.chip.btnlike.vis-cell.is-closed{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.chip.btnlike.vis-cell.is-open{background:transparent;color:var(--on-surface);border:2px dashed var(--tertiary)}.chip.btnlike.vis-cell[aria-pressed=true]{outline:2px solid var(--primary);outline-offset:2px}.chip.btnlike.vis-cell.is-open[aria-pressed=true]{background:transparent;color:var(--on-surface);border:2px dashed var(--tertiary)}.chip.btnlike.vis-cell.is-closed[aria-pressed=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.chip.btnlike.vis-opt{background:transparent;color:var(--on-surface);border:1px solid var(--outline)}.chip.btnlike.vis-opt.is-open{border:2px dashed var(--tertiary)}.chip.btnlike.vis-opt[aria-pressed=true],.chip.btnlike.vis-opt.is-open[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border:2px solid var(--primary);font-weight:var(--fw-semibold)}.chip.btnlike.vis-opt .vis-check{flex:none}.switch-card{display:flex;flex-direction:column;gap:12px;padding:24px 20px 20px;border-radius:var(--r-xl);border:1px solid var(--outline-variant);background:linear-gradient(180deg,var(--sky-top) 0,var(--surface) 160px);color:var(--on-surface);font-family:var(--font-body)}.switch-card h1{font-family:var(--font-display)}.switch-card .hero{padding-top:0}.switch-card .sub{color:var(--on-surface-variant)}.switch-card .btn.primary{background:var(--primary);color:var(--on-primary)}.switch-card .btn.outline{color:var(--primary);border-color:var(--outline)}.switch-card :focus-visible{outline-color:var(--primary)}.switch-card .ico.xl{color:var(--primary)}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-enter);animation-timing-function:var(--ease-out)}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.space-dot{width:24px;height:24px;flex:none;border-radius:var(--r-pill);background:var(--primary);box-shadow:0 0 0 2px var(--surface-1),0 0 0 3px var(--outline);overflow:hidden}.spaceimg-card{display:flex;flex-direction:column;gap:12px}.spaceimg-title{font-size:var(--fs-label-l);font-weight:var(--fw-semibold)}.spaceimg-actions{display:flex;flex-wrap:wrap;gap:8px}.spaceimg-actions .btn{flex:1 1 140px;min-height:var(--touch)}.space-dot .face-img{display:block;width:100%;height:100%;object-fit:cover}.spacelist{list-style:none;margin:0;padding:0;display:grid;gap:12px}.spacecard{display:flex;align-items:center;gap:16px;min-height:72px;padding:12px 16px;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-decoration:none}.spacecard:hover{background:var(--surface-2)}.spacecard .grow{display:flex;flex-direction:column;min-width:0}.spacecard .name{font-family:var(--font-display);font-weight:var(--fw-regular);font-size:var(--fs-title-s);overflow-wrap:anywhere}.spacecard .sub{font-size:var(--fs-body-s)}.spacecard .go-arrow{color:var(--outline);transform:rotate(90deg);flex:none}.spacecard .space-dot{width:32px;height:32px}.space-add{align-self:stretch}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.newspace{display:flex;flex-direction:column;gap:16px}.profile{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--r-l);background:var(--surface-1)}.profile .space-dot{width:48px;height:48px}.profile .grow{display:flex;flex-direction:column;min-width:0}.profile .name{font-family:var(--font-display);font-weight:var(--fw-regular);font-size:var(--fs-title-s);overflow-wrap:anywhere}.group{display:flex;flex-direction:column;gap:8px}.group>h2{padding:0 8px}.group>.note,.group>.hint{padding:0 8px}.group .card{gap:16px}.memberlist{list-style:none;margin:0;padding:0;background:var(--surface-1);border-radius:var(--r-l);overflow:hidden}.memberrow{display:flex;flex-direction:column;gap:4px;padding:8px 16px;min-height:64px;justify-content:center}.memberrow+.memberrow{border-top:1px solid var(--outline-variant)}.memberrow .row{display:flex;align-items:center;gap:12px}.avatar-initial{overflow:hidden;display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-pill);background:var(--primary-container);color:var(--on-primary-container);font-weight:var(--fw-semibold)}.memberrow .trust-row{padding-left:52px}.invitelist{list-style:none;margin:0;padding:0;background:var(--surface-1);border-radius:var(--r-l);overflow:hidden}.inviterow{display:flex;align-items:center;gap:8px;min-height:56px;padding:4px 8px 4px 16px}.inviterow+.inviterow{border-top:1px solid var(--outline-variant)}.inviterow .grow{color:var(--on-surface-variant);font-size:var(--fs-body-s)}.invite-result{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.invite-result .field{width:100%;text-align:left}.invite-result .btn{width:100%}.join-result{align-items:center;text-align:center;gap:12px;padding:24px 16px 16px}.join-result h2{font-size:var(--fs-title-m)}.join-result p{max-width:34ch}.join-result .stack{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:8px}.vis-group{display:flex;flex-direction:column;gap:8px}.vis-group>h2{font-family:var(--font-body);font-weight:var(--fw-semibold);padding:0 8px;font-size:var(--fs-label-m);font-weight:var(--fw-bold);color:var(--on-surface-variant)}.vis-group>.card{gap:12px}.vis-choices .chips{flex-direction:column;flex-wrap:nowrap}.vis-choices .chip.btnlike.vis-opt{width:100%;justify-content:flex-start;min-height:56px;border-radius:var(--r-l);font-size:var(--fs-body-m)}.join-doodle{color:var(--secondary)}.memberrow .you{color:var(--on-surface-variant);font-weight:var(--fw-regular)}.spacepill{border:0;cursor:pointer;font-family:inherit}.spacepill .space-dot{width:14px;height:14px;box-shadow:0 0 0 1px var(--outline)}.pick-list .spacecard{width:100%;box-sizing:border-box;border:0;font:inherit;text-align:left;cursor:pointer}.pick-list .spacecard[aria-current=true]{outline:2px solid var(--primary);outline-offset:-2px}.pick-list .spacecard .check{color:var(--primary);flex:none}.pick-list .spacecard:focus-visible,.pick-actions .linkrow:focus-visible{outline:3px solid var(--primary);outline-offset:2px}ul.navgroup.pick-actions{margin-top:16px}.jumps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:2px 0;max-width:100%}.jumps li{flex:none}.jumps .chip.btnlike{min-height:48px}.manage-sec{scroll-margin-top:16px}.manage-sec h2:focus{outline:none}.e2e-steps{display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:0 0 8px}.e2e-steps li{flex:0 0 28px;height:8px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--outline);box-sizing:border-box}.e2e-steps li.done{background:var(--secondary);border-color:transparent}.e2e-steps li[aria-current=step]{flex-basis:56px;background:var(--primary);border-color:transparent}.fieldwrap{display:flex;flex-direction:column;gap:6px}.fieldwrap>.hint{padding:0 16px;margin:0}.e2e-group-title{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant);padding:0 8px}.result-note{margin:0;max-width:34ch;text-align:center;align-self:center;color:var(--on-surface-variant)}.e2e-doodle{display:grid;place-items:center;align-self:center;width:104px;height:104px;border-radius:50%;background:var(--primary-container);color:var(--on-primary-container)}.e2e-doodle .ico{color:inherit}.callout{display:flex;gap:12px;align-items:flex-start;margin:0;padding:12px 16px;border-radius:var(--r-m);background:var(--tertiary-container);color:var(--on-tertiary-container);border-inline-start:4px solid var(--tertiary)}.callout .ico{flex:none;margin-top:2px}.field-input::placeholder{color:var(--on-surface-variant);opacity:1}.e2e-step{display:flex;flex-direction:column;gap:16px;animation:e2e-step var(--dur-feedback) var(--ease-out) both}@keyframes e2e-step{0%{opacity:0}}.e2e-step p{max-width:60ch}.e2e-step .lead{font-size:var(--fs-title-s)}.e2e-working{display:flex;align-items:center;gap:16px}.e2e-working .ico{flex:none;width:32px;height:32px;color:var(--primary)}.zettel-blocks{list-style:none;margin:0;padding:20px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;background:var(--surface-1);border-radius:var(--r-l);border:2px dashed var(--outline)}.zettel-blocks li{display:flex;flex-direction:column;align-items:center;gap:2px}.zettel-blocks .n{font-size:var(--fs-caption);color:var(--on-surface-variant)}.zettel-blocks .code{font-family:var(--font-mono);font-size:var(--fs-title-l);font-weight:var(--fw-bold);letter-spacing:var(--ls-code);color:var(--on-surface)}.zettel-qr{display:flex;justify-content:center}.qr{display:block;width:100%;max-width:220px;height:auto;box-sizing:border-box;padding:10px;background:#fff;color:#000;border-radius:var(--r-m)}.zettel-print{display:none}.blocks-in{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border:0;padding:0;margin:0;min-width:0}.blocks-in legend{grid-column:1 / -1;padding:0;margin-bottom:8px;color:var(--on-surface-variant);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.blocks-in input{width:100%;min-width:0;min-height:48px;padding:0 4px;text-align:center;text-transform:uppercase;font-family:var(--font-mono);font-size:var(--fs-title-s);letter-spacing:var(--ls-code);border-radius:var(--r-m);border:1px solid var(--outline);background:transparent;color:var(--on-surface)}.blocks-in input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.blocks-state{grid-column:1 / -1;margin:0}.ask-blocks{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ask-blocks input,.ask-blocks .field-input{font-family:var(--font-mono);font-size:var(--fs-title-s);text-transform:uppercase;text-align:center;letter-spacing:var(--ls-code)}.code-text{font-family:var(--font-mono);font-size:var(--fs-body-m);word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--surface-2);border:1px solid var(--outline-variant);border-radius:var(--r-m);padding:12px 16px;margin:0}.check-code{font-family:var(--font-mono);font-size:clamp(var(--fs-title-m),6.5vw,var(--fs-title-l));font-weight:var(--fw-semibold);letter-spacing:var(--ls-code);text-align:center;margin:8px 0;overflow-wrap:anywhere}.code-block{display:inline-block;margin:0 .3em}.code-input,.code-field .field-input{text-transform:uppercase;letter-spacing:var(--ls-code);font-family:var(--font-mono)}.e2e-alert,.notice{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-l);background:var(--tertiary-container);color:var(--on-tertiary-container);border-inline-start:6px solid var(--tertiary)}.e2e-alert.severe,.notice.severe{background:var(--error-container);color:var(--on-error-container);border-inline-start-color:var(--error)}.e2e-alert h2,.notice h2{font-family:var(--font-body);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:8px;color:inherit;font-size:var(--fs-body-m)}.e2e-alert h2 .ico,.notice h2 .ico{flex:none;color:inherit}.e2e-alert p,.notice p{margin:0}.e2e-alert .btn.outline,.notice .btn.outline{color:inherit;border-color:currentColor}.e2e-alert a:focus-visible,.notice a:focus-visible,.e2e-alert button:focus-visible,.notice button:focus-visible{outline:3px solid currentColor;outline-offset:2px}.e2e-limits{font-size:var(--fs-body-s);color:var(--on-surface-variant)}.e2e-limits h3{margin:0 0 8px}.e2e-limits ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-row .btn{flex:1 1 140px}.e2e-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 16px}.e2e-row+.e2e-row{border-top:1px solid var(--outline-variant)}.devicelist .e2e-row .grow{gap:2px}.card .navgroup,.card .switchlist{background:var(--surface-2)}.card .navgroup .linkrow.go:hover{background:var(--surface-3)}.unlock .navgroup{background:var(--surface-1)}.e2e-request{padding-top:12px;border-top:1px solid var(--outline-variant)}.e2e-row .grow{flex:1;min-width:0;display:flex;flex-direction:column}.e2e-row .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.e2e-section{display:flex;flex-direction:column;gap:12px}.e2e-section h2{display:flex;align-items:center;gap:8px}.notice{position:fixed;top:8px;left:16px;right:16px;max-width:560px;margin:0 auto;z-index:20;box-shadow:var(--shadow-2)}@media print{:root{color-scheme:light!important}html,body,#app,.page{background:Canvas!important;background-image:none!important;color:CanvasText!important;min-height:0}.page>header,.page>nav,.toast,.page>.fab{display:none}.page>main>*{display:none}.page>main>.zettel-print{display:block}.page>main{padding:0;margin:0;max-width:none}.zettel-print,.zettel-print *{color:CanvasText!important}.zettel-print{background:none;padding:16mm;font-family:var(--font-body)}.zettel-print h1{font-size:22pt;margin:0 0 4mm}.zettel-print p{font-size:11pt;margin:0 0 3mm}.zettel-print .zettel-blocks{background:none!important;border:2px solid CanvasText;border-radius:0;padding:8mm;margin:6mm 0;gap:6mm 8mm}.zettel-print .zettel-blocks .n{font-size:9pt}.zettel-print .zettel-blocks .code{font-size:22pt}.zettel-print .qr{color:CanvasText!important;width:45mm;max-width:none;border-radius:0}}.photoedit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.photoedit li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}.photoedit img{display:block;width:96px;aspect-ratio:1;object-fit:cover;border-radius:var(--r-s);background:var(--surface-2)}.photoedit-side{display:flex;flex-direction:column;gap:4px;min-width:0}.photoedit-actions{gap:0}.photogrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.photogrid li{display:flex;flex-direction:column;gap:4px;min-width:0}.phototile{position:relative;display:block;width:100%;aspect-ratio:1;min-height:var(--touch);padding:0;border:0;overflow:hidden;border-radius:var(--r-s);background:var(--surface-2);color:var(--on-surface-variant);cursor:pointer}.phototile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phototile:hover{background:var(--surface-3)}.phototile:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.photo-state{position:absolute;inset:0;display:grid;place-items:center;padding:8px;text-align:center;font-size:var(--fs-label-m)}.photocaption{font-size:var(--fs-body-s);color:var(--on-surface-variant);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.viewer{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--surface);color:var(--on-surface);animation:fade .15s ease}.viewer:focus{outline:none}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 0 24px;padding-top:max(8px,env(safe-area-inset-top))}.viewer-count{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.viewer-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 8px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r-s)}.viewer-stage img.pending{opacity:0}.viewer-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0;padding:0 64px;text-align:center;color:var(--on-surface-variant)}.viewer-state p{margin:0}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--on-surface)}.viewer-nav.prev{left:8px}.viewer-nav.next{right:8px}.viewer-nav:disabled{opacity:.3}.viewer-nav:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.viewer-caption{margin:0;padding:12px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom));text-align:center;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.viewer{animation:none}}.grid2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid2>li{display:flex;min-width:0}.memory{flex-direction:column;align-items:flex-start;gap:8px;min-height:64px;padding:8px 8px 16px;color:var(--on-surface);height:100%}.memory:hover{background:var(--surface-2)}.memory:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.memory .name{padding:0 8px;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.memory .hint{padding:0 8px}.memory .excerpt{padding:0 8px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.memory-pic{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-m);background:var(--primary-container);color:var(--on-primary-container)}.memory-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.memory-count{position:absolute;right:8px;bottom:8px;min-width:24px;padding:2px 8px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--on-surface);font-size:var(--fs-label-m);font-weight:var(--fw-semibold);text-align:center}.strip{display:flex;gap:8px;width:100%}.strip img{flex:1;min-width:0;height:72px;object-fit:cover;border-radius:var(--r-s);background:var(--surface-2)}.mood{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-m);background:var(--surface-1)}.mood.low{background:var(--surface-low)}.mood>header{display:flex;align-items:baseline;gap:8px}.mood>header .grow{flex:1}.mood .feeling{margin:0;font-size:var(--fs-title-s);font-weight:var(--fw-bold);overflow-wrap:anywhere}.mood p{margin:0}.mood .facts{flex-direction:row;flex-wrap:wrap;gap:8px}.stack.tight{gap:8px}.titlecard{background:var(--primary-container);color:var(--on-primary-container)}.titlecard .hint{color:inherit}.question{margin:0;font-size:var(--fs-title-m);line-height:var(--lh-title-m);overflow-wrap:anywhere}.card .who{margin:0;font-weight:var(--fw-semibold)}.card .sticky-note{margin:0}article.card>header{display:flex;align-items:baseline;gap:8px}.card .a{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.seg>[role=tab]{min-height:var(--touch)}.mood>.row>.btn.text{margin-left:-12px}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--error);color:var(--on-error);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.who-row{list-style:none;margin:0;padding:0;display:flex;gap:16px;overflow-x:auto;scrollbar-width:none}.who-row::-webkit-scrollbar{display:none}.who{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px}.who-dot{overflow:hidden;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-pill);background:var(--primary-container);color:var(--on-primary-container);font-family:var(--font-body);font-size:var(--fs-title-m);font-weight:var(--fw-bold)}.who-name{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface-variant);font-size:var(--fs-body-s)}.bubble-acts{gap:0;padding:0 4px}.bubble-row.mine .bubble-acts{justify-content:flex-end}.bubble-edit{width:88%}.livebar{display:flex;align-items:center;gap:8px;font-size:var(--fs-body-s);color:var(--on-surface-variant)}.livebar .dot{width:10px;height:10px;border-radius:var(--r-pill);border:1px solid var(--outline)}.livebar .dot.on{background:var(--secondary);border-color:transparent}.unreadline{margin:0;padding:8px 16px;border-radius:var(--r-m);background:var(--tertiary-container);color:var(--on-tertiary-container);font-size:var(--fs-body-s)}.letter>header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.letter-ico{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--on-surface)}.letter.sealed{background:var(--surface-low);border:1px dashed var(--outline)}.letter.ready{border:2px solid var(--primary)}.letter.ready .letter-ico{background:var(--primary);color:var(--on-primary)}.letter.opened .letter-ico{background:var(--secondary-container);color:var(--on-secondary-container)}.letter .text{padding:16px;border-radius:var(--r-m);background:var(--surface-low)}.letter h3{margin:0;font-size:var(--fs-title-s);overflow-wrap:anywhere}.letter p{margin:0}.letter h4{margin:0;font-size:var(--fs-title-s);overflow-wrap:anywhere}.letter .text{white-space:pre-wrap;overflow-wrap:anywhere}.letter .acts,.wish .acts{display:flex;flex-wrap:wrap;gap:8px}.wish .top{display:flex;align-items:center;gap:16px}.wish .top .grow{flex:1;min-width:0}.wish .name{margin:0;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.wish.done .name{text-decoration:line-through}.wish p{margin:0;overflow-wrap:anywhere}.tick{width:var(--touch);height:var(--touch);flex:none;display:grid;place-items:center;border:2px solid var(--outline);border-radius:var(--r-pill);background:transparent;color:var(--on-secondary);font:inherit}.tick[aria-pressed=true]{background:var(--secondary);border-color:transparent}.tick:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:where(.row,.acts,.composer,.addrow,.card,.empty,.stack,.unreadline,.note)>.btn:not(.sm){min-height:var(--touch)}.door.empty{display:block;padding:0;gap:0;background:var(--surface-2);color:var(--on-surface);text-align:inherit}.bubble-who{padding:0 4px;color:var(--on-surface-variant);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.bubble.gone{background:transparent;border:1px dashed var(--outline);color:var(--on-surface-variant)}.bubble-day{margin:8px 0}.choicechips{display:flex;flex-direction:column;gap:8px}.choicechips-label{color:var(--on-surface-variant);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.filterchips .chip.btnlike,.choicechips .chip.btnlike{min-height:var(--touch)}main .btn:not(.sm),.sheet .btn:not(.sm),.tabs [role=tab]{min-height:var(--touch)}.letter>header h3{flex:1 0 calc(100% - 56px)}.weekbar{display:flex;align-items:center;gap:4px}.weekbar .title{flex:1;text-align:center;font-weight:var(--fw-semibold)}.item{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;min-height:56px;border-radius:var(--r-m);background:var(--surface-1)}.item .main{flex:1;min-width:0;display:flex;flex-direction:column;background:none;border:0;text-align:left;padding:4px 0;min-height:44px;justify-content:center;border-radius:var(--r-s)}.item .main .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.item.done .name{text-decoration:line-through;text-decoration-thickness:1px;color:var(--on-surface-variant)}.item .check{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:var(--primary);border:1px solid var(--outline-variant)}.item.done .check{background:var(--secondary);color:var(--on-secondary);border-color:transparent}.item.late{box-shadow:inset 3px 0 0 var(--error)}.search,.addrow{display:flex;gap:8px}.addrow .input{flex:1}.pair{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center}.textarea{width:100%;min-height:96px;padding:12px 16px;border-radius:var(--r-s);border:1px solid var(--outline);background:transparent;color:var(--on-surface);font:inherit;resize:vertical}.textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}.sheet .textarea,.sheet select.input{background:var(--surface-1)}.fielderr{color:var(--error);font-size:var(--fs-body-s);font-weight:var(--fw-regular)}.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}.ing{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ing b{font-weight:var(--fw-semibold)}select.input{appearance:auto}.sticky-note{white-space:pre-wrap;overflow-wrap:anywhere}.flip{display:inline-flex;transform:scaleX(-1)}.fieldpair{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;align-items:start}.sheet .fieldset{gap:16px}.addrow>.field{flex:1}.dayfocus{gap:16px}.dayfocus.today{box-shadow:inset 0 0 0 2px var(--primary)}.dayhead{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dayhead h2{flex:1;min-width:0}.sectionhead{margin:0 0 8px;font-family:var(--font-body);font-size:var(--fs-body-m);font-weight:var(--fw-semibold)}.stack .btn.text,.stack .btn.sm,.dayhead .btn.sm,.row .btn.sm,.item .btn.sm,.weekpick .chip.btnlike,.chips .chip.btnlike{min-height:48px}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.scale button{min-height:48px;border-radius:var(--r-s);border:1px solid var(--outline);background:transparent;color:var(--on-surface);font-weight:var(--fw-semibold)}.scale button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:transparent}.fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}.fieldset>legend{padding:0;font-weight:var(--fw-semibold);margin-bottom:4px}.facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.facts li{overflow-wrap:anywhere}.facts b{font-weight:var(--fw-semibold)}.entry{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-m);background:var(--surface-1)}.entry>header{display:flex;align-items:center;gap:8px}.entry>header .grow{flex:1}.entry .q{font-weight:var(--fw-semibold);margin:0;overflow-wrap:anywhere}.entry .a{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.entry .body{display:flex;flex-direction:column;gap:16px}.tips{display:flex;flex-direction:column;gap:8px}.tip{padding:16px;border-radius:var(--r-m);background:var(--surface-1);display:flex;flex-direction:column;gap:8px}.tip p{margin:0;overflow-wrap:anywhere}.tip details summary{cursor:pointer;min-height:48px;display:flex;align-items:center;color:var(--primary);font-weight:var(--fw-semibold)}.seg>[aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.hint.need{display:block;margin-top:8px}.hint.dayline{display:block}.sub.clamp{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.space-notes{display:flex;flex-direction:column;gap:8px}.space-note{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:var(--r-m);background:var(--surface-2);color:var(--on-surface);border:1px solid var(--outline-variant)}.space-note h3{display:flex;align-items:flex-start;gap:8px;margin:0}.space-note h3 .ico{flex:none;color:var(--primary)}.space-note p{margin:0}.space-note.warn{background:var(--tertiary-container);color:var(--on-tertiary-container);border-color:transparent;border-inline-start:6px solid var(--tertiary)}.space-note.warn h3 .ico{color:inherit}.space-note.severe{background:var(--error-container);color:var(--on-error-container);border-color:transparent;border-inline-start:6px solid var(--error)}.space-note.severe h3 .ico{color:inherit}.space-note.warn .btn.outline,.space-note.severe .btn.outline{color:inherit;border-color:currentColor}.space-note .acts{display:flex;flex-wrap:wrap;gap:8px}.space-note a:focus-visible,.space-note button:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-s)}.space-note progress{width:100%;height:8px;accent-color:var(--primary)}.e2e-head{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-body-s);color:var(--on-surface-variant)}.e2e-head .grow{min-width:0}.e2e-head .ico{flex:none;color:var(--primary)}.e2e-head.off .ico{color:var(--on-surface-variant)}.e2e-head a{color:inherit;text-decoration:underline}.e2e-head a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-s)}.entry-note{margin:0;font-size:var(--fs-body-s);color:var(--on-surface-variant);display:flex;align-items:center;gap:4px}.entry-note .ico{flex:none}.bubble.sealed-state{font-style:italic;color:var(--on-surface-variant);background:var(--surface-2);border:1px dashed var(--outline)}.space-e2e{display:flex;flex-direction:column;gap:16px}.space-e2e .status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.space-e2e .chip.good{background:var(--secondary-container);color:var(--on-secondary-container)}.space-e2e .chip.open{background:var(--surface-3);color:var(--on-surface)}.space-e2e .chip.warnchip{background:var(--tertiary-container);color:var(--on-tertiary-container)}.space-e2e ul.people{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.space-e2e ul.people>li{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--r-m);border:1px solid var(--outline-variant);background:var(--surface-2)}.space-e2e ul.people .top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.space-e2e ul.people .name{overflow-wrap:anywhere;font-weight:var(--fw-semibold)}.space-e2e ul.facts{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:4px}.space-e2e details summary{min-height:var(--touch);display:flex;align-items:center;cursor:pointer;font-weight:var(--fw-semibold)}.space-e2e details summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-s)}.space-e2e .two{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:640px){.space-e2e .two{grid-template-columns:1fr 1fr}}.consequences{display:flex;flex-direction:column;gap:8px;margin:0;padding-inline-start:20px}.quickdays{display:flex;flex-wrap:wrap;gap:8px}.letter-lock{display:inline-flex;align-items:center;gap:4px}.datestrip{display:flex;align-items:center;gap:4px}.datestrip .iconbtn.flipped .ico{transform:scaleX(-1)}@media(max-width:440px){.datestrip{display:grid;grid-template-columns:auto 1fr auto;row-gap:0}.datestrip>.iconbtn{grid-row:1}.datestrip>.strip-days{grid-row:2;grid-column:1 / -1}.datestrip>.iconbtn.flipped{grid-column:3}}.strip-days{flex:1;min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.strip-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:64px;padding:4px 0;border:1px solid transparent;border-radius:var(--r-pill);background:transparent;color:var(--on-surface-variant);font:inherit}.strip-short{font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.strip-num{font-size:var(--fs-label-l);font-weight:var(--fw-semibold);color:var(--on-surface)}.strip-dot{width:6px;height:6px;border-radius:50%;background:transparent}.strip-day.mark .strip-dot{background:var(--tertiary)}.strip-day.now{border-color:var(--outline)}.strip-day[aria-selected=true]{background:var(--secondary-container);border-color:transparent;color:var(--on-secondary-container)}.strip-day[aria-selected=true] .strip-num{color:var(--on-secondary-container)}.strip-day[aria-disabled=true]{opacity:.45;cursor:default}.strip-day:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.today-card{gap:16px}.today-card .xp{display:flex;align-items:center;gap:16px}.today-card .day{margin-top:0}.metiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:104px;height:100%;box-sizing:border-box;padding:14px 16px;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-decoration:none;transition:background var(--dur-tap) var(--ease-out)}.metile:hover{background:var(--surface-2)}.metile:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.metile .go-icon{width:40px;height:40px}.metile.on{background:var(--primary-container);color:var(--on-primary-container)}.metile.on .go-icon{background:var(--surface-1);color:var(--primary)}.metile .metile-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.metile .metile-sub{font-size:var(--fs-body-s);color:var(--on-surface-variant);overflow-wrap:anywhere}.metile.on .metile-sub{color:var(--on-primary-container)}.sechead{display:flex;align-items:center;justify-content:space-between;gap:8px}.sechead a.note{display:inline-flex;align-items:center;min-height:var(--touch)}.symbol-field{flex:none;width:112px}.sheet .row>.grow{min-width:0}.purse{align-items:flex-start}.purse-n{display:flex;align-items:center;gap:12px;margin:0;font-size:var(--fs-title-l);font-weight:var(--fw-bold);color:var(--primary);line-height:var(--lh-title-l)}.purse-n .ico{color:var(--primary)}.settle-note{min-height:1.5em}.settle-note.error p{display:flex;align-items:flex-start;gap:6px;color:var(--error)}.settle-note.error .ico{margin-top:3px}.ledger-row{display:flex;align-items:center;gap:16px;min-height:56px;padding:8px 16px;border-radius:var(--r-m);background:var(--surface-1)}.ledger-row .grow{display:flex;flex-direction:column;gap:4px}.ledger-row .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.ledger-row.earn b{color:var(--primary)}.ledger-row.spend b{color:var(--on-surface-variant)}.ach-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.ach-row{display:flex;gap:16px;padding:12px 16px;border-radius:var(--r-m);background:var(--surface-1)}.ach-row.locked{background:var(--surface-low);border:1px solid var(--outline-variant)}.ach-row .grow{display:flex;flex-direction:column;gap:4px;min-width:0}.ach-row .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.ach-chip{margin-left:8px}.upbtn{align-self:flex-start;margin-left:-12px}.doors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(min-width:520px){.doors{grid-template-columns:repeat(6,1fr)}}.door{position:relative;display:block;width:100%;aspect-ratio:1;min-height:var(--touch);padding:0;border:0;border-radius:var(--r-m);background:var(--surface-2);color:var(--on-surface);font:inherit;perspective:400px}.door:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.door-back{display:grid;place-items:center;color:var(--on-surface-variant);font-weight:var(--fw-semibold);position:absolute;inset:0;border-radius:var(--r-m);background:var(--surface-low);border:1px solid var(--outline-variant)}.door-lid{position:absolute;inset:0;display:grid;place-items:center;border-radius:var(--r-m);background:var(--primary-container, var(--secondary-container));color:var(--on-primary-container, var(--on-secondary-container));transform-origin:left center;transition:transform var(--dur-max) var(--ease-out);backface-visibility:hidden;border:1px solid var(--outline)}.door-n{font-size:var(--fs-title-m);font-weight:var(--fw-bold)}.door.closed .door-lid{background:var(--surface-3);color:var(--on-surface-variant)}.door.filled .door-lid,.door.waiting .door-lid{background:var(--secondary-container);color:var(--on-secondary-container)}.door.empty .door-lid{background:var(--surface-1);border-style:dashed;color:var(--on-surface-variant)}.door[aria-disabled=true]{cursor:default}.door.opened .door-lid{transform:rotateY(-115deg)}@media(prefers-reduced-motion:reduce){.door-lid{transition:none}}.door-image{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:var(--r-m);background:var(--surface-2)}.tabs [role=tab]{min-height:var(--touch)}.habit.has-slots{flex-wrap:wrap}.habit .slots{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:8px;padding:0 0 8px}.timefield{width:auto;min-width:140px}nav.linkrow{display:flex;flex-wrap:wrap;gap:8px}.sheetlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sheetlist li{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;min-height:56px;border-radius:var(--r-m);background:var(--surface-1)}.sheetlist .grow{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:var(--fw-semibold)}.sheetlist .edit{flex:1;display:flex;flex-direction:column;gap:8px;padding:8px 0}.sheetlist .edit .row{display:flex;gap:8px;flex-wrap:wrap}.sheetlist .edit .input{flex:1;min-width:160px}.arrowbtn{flex:none;width:48px;height:48px;border-radius:var(--r-pill);border:1px solid var(--outline-variant);background:transparent;color:var(--primary);font-size:var(--fs-title-s)}.arrowbtn:disabled{opacity:.35}.rangebar{display:flex;flex-direction:column;gap:16px}.daterow{display:flex;gap:16px;flex-wrap:wrap}.daterow label.lbl{flex:1;min-width:150px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;list-style:none;margin:0;padding:0}.tile{background:var(--surface-1);border-radius:var(--r-m);padding:16px;display:flex;flex-direction:column;gap:4px}.tile b{font-size:var(--fs-title-l);line-height:var(--lh-title-l);color:var(--on-surface)}.tile span{font-size:var(--fs-label-m);color:var(--on-surface-variant);font-weight:var(--fw-semibold)}.insight{background:var(--tertiary-container);color:var(--on-tertiary-container);border-radius:var(--r-l);padding:16px;display:flex;flex-direction:column;gap:8px}.insight h2{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-body-m)}.insight ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.insight li{display:flex;gap:16px;align-items:center;font-size:var(--fs-body-m);line-height:var(--lh-body-m)}.insight .dot{flex:none;width:12px;height:12px;border-radius:var(--r-pill);background:var(--on-tertiary-container);opacity:.5}.insight li.good .dot{background:var(--secondary);opacity:1}.insight li.bad .dot{background:var(--error);opacity:1}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:0}.rows li .name{grid-column:1 / -1}.rows .name{overflow-wrap:anywhere;font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.rows .val{font-size:var(--fs-label-m);color:var(--on-surface-variant);font-variant-numeric:tabular-nums;min-width:52px;text-align:right;font-weight:var(--fw-semibold)}.rows .val b{color:var(--on-surface)}.meter{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.meter i{display:block;height:100%;border-radius:var(--r-pill);background:var(--primary);width:var(--w, 0%)}.meter i.alt{background:var(--secondary)}.meter i.gold{background:var(--tertiary)}.wdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:144px}.wdays .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%;font-size:var(--fs-caption);color:var(--on-surface-variant)}.wdays .col .bar{width:100%;max-width:32px;border-radius:var(--r-s) var(--r-s) 0 0;background:var(--primary);height:var(--h, 0%);min-height:3px}.wdays .col .bar.none{background:var(--surface-3)}.heatwrap{overflow-x:auto;max-width:100%}.heatwrap svg{display:block}.heat rect{fill:var(--surface-3)}.heat rect.lv1{fill:color-mix(in srgb,var(--primary) 25%,var(--surface-3))}.heat rect.lv2{fill:color-mix(in srgb,var(--primary) 50%,var(--surface-3))}.heat rect.lv3{fill:color-mix(in srgb,var(--primary) 75%,var(--surface-3))}.heat rect.lv4{fill:var(--primary)}.heat rect.today{stroke:var(--on-surface);stroke-width:1.5}.heat text{font-size:var(--fs-caption);fill:var(--on-surface-variant)}.legend{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--on-surface-variant);align-self:flex-end}.legend i{width:12px;height:12px;border-radius:var(--r-s);display:inline-block;background:var(--surface-3)}.legend i.lv1{background:color-mix(in srgb,var(--primary) 25%,var(--surface-3))}.legend i.lv2{background:color-mix(in srgb,var(--primary) 50%,var(--surface-3))}.legend i.lv3{background:color-mix(in srgb,var(--primary) 75%,var(--surface-3))}.legend i.lv4{background:var(--primary)}.radios{display:flex;flex-direction:column;gap:8px}.radios label{display:flex;gap:16px;align-items:flex-start;min-height:48px;padding:8px 0}.radios input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin-top:2px}.radios span.t{display:flex;flex-direction:column;gap:4px}.filefield{display:flex;flex-direction:column;gap:8px}.filefield input[type=file]{width:100%;min-height:48px;font-size:var(--fs-body-m);color:transparent}.filefield input[type=file]::file-selector-button{min-height:48px;margin-right:16px;padding:0 24px;border:1px solid var(--outline);border-radius:var(--r-pill);background:transparent;color:var(--primary);font:inherit;font-weight:var(--fw-semibold);cursor:pointer}.mealcard{display:flex;flex-direction:column;gap:2px;width:100%;min-height:56px;padding:12px 16px;border:0;border-radius:var(--r-m);background:var(--surface-2);color:var(--on-surface);text-align:left}.mealcard:hover{background:var(--surface-3)}.mealcard .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.dayempty{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.weeklist{list-style:none;margin:0;padding:0;background:var(--surface-1);border-radius:var(--r-l);overflow:hidden}.weeklist li+li{border-top:1px solid var(--outline-variant)}.weekrow{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:56px;padding:8px 16px;border:0;background:transparent;color:var(--on-surface);text-align:left}.weekrow:hover{background:var(--surface-2)}.weekrow.on{background:var(--secondary-container);color:var(--on-secondary-container)}.weekday{font-weight:var(--fw-semibold)}.weekmeals{overflow-wrap:anywhere}.weekmeals.none{color:var(--on-surface-variant)}.weekrow.on .weekmeals.none{color:inherit}.recipegrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipegrid>li{display:flex}.recipecard{align-items:flex-start;gap:8px;width:100%;padding:16px;border:0;color:var(--on-surface);text-align:left}.recipecard:hover{background:var(--surface-2)}.recipecard .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.listmanage{align-self:flex-start}.item{padding:8px 8px 8px 12px;gap:12px;border-radius:var(--r-l)}.item .main{min-height:var(--touch);padding:8px 0}.item .check{width:var(--touch);height:var(--touch);border-radius:var(--r-pill);background:transparent;border:2px solid var(--outline)}.item.done .check{border-color:transparent}.item.late{box-shadow:inset 4px 0 0 var(--error)}.item .badge{flex:none}.dashspaces{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.dashtile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:120px;height:100%;width:100%;box-sizing:border-box;padding:14px 16px;border:0;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-align:left;text-decoration:none;font:inherit;cursor:pointer;transition:background var(--dur-tap) var(--ease-out)}.dashtile:hover{background:var(--surface-2)}.dashtile:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.dashtile .space-dot{width:32px;height:32px}.dashtile-name{font-family:var(--font-display);font-weight:var(--fw-regular);font-size:var(--fs-title-s);overflow-wrap:anywhere}.dashtile-sub{font-size:var(--fs-body-s);color:var(--on-surface-variant);overflow-wrap:anywhere}.dashtile .chip{position:absolute;top:10px;right:10px}.dashtile-new{background:var(--primary-container);color:var(--on-primary-container)}.dashtile-new:hover{background:var(--primary-container);filter:brightness(.97)}.dashtile-new .go-icon{width:40px;height:40px;background:var(--surface-1);color:var(--primary)}.dashtile-new .dashtile-sub{color:var(--on-primary-container)}.dash-search{display:block}.dash-search-input{width:100%;box-sizing:border-box;min-height:48px;padding:0 20px;border:2px solid var(--outline);border-radius:var(--r-pill);background:var(--surface-1);color:var(--on-surface);font:inherit}.dash-search-input:focus-visible{outline:none;border-color:var(--primary)}.tcards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tcards>li{display:flex;gap:16px;align-items:flex-start;padding:16px;border-radius:var(--r-m);background:var(--surface-1)}.tcard{flex:none;width:88px;aspect-ratio:2 / 3;border-radius:var(--r-s);overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:1px solid var(--outline-variant)}.tcard.sm{width:56px}.tcard img{width:100%;height:100%;object-fit:cover;display:block}.tcard.rev img,.tcard.rev .mark{transform:rotate(180deg)}.tcard .mark{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-title-m);color:var(--primary);line-height:1}.tcard .nm{font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:0 4px;overflow-wrap:anywhere}.tinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.tinfo .pos{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant);margin:0}.tinfo .nm{font-weight:var(--fw-semibold);margin:0;overflow-wrap:anywhere}.tinfo p{margin:0;overflow-wrap:anywhere}.tinfo .more{font-size:var(--fs-body-s)}.tinfo .more summary{display:flex;align-items:center;min-height:var(--touch);font-weight:var(--fw-semibold);color:var(--primary);cursor:pointer}.tinfo a{min-height:48px;display:inline-flex;align-items:center}.dayhead{display:flex;align-items:center;gap:16px}.tarotline .strip{flex:none;display:flex;gap:8px;width:auto}.tarotline .strip img{flex:none;width:100%;height:100%;border-radius:0}.tarotline{min-height:72px}.tarotline b{overflow-wrap:anywhere}.card .tcards>li{background:var(--surface-2)}.tarotline .strip{align-self:flex-start}.we-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:600px){.we-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.we-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:120px;height:100%;box-sizing:border-box;padding:16px;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-decoration:none;transition:background var(--dur-tap) var(--ease-out)}.we-tile:hover{background:var(--surface-2)}.we-tile:active{transform:translateY(2px)}.we-tile:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.we-tile .go-icon{width:48px;height:48px}.we-tile .go-icon .ico{width:28px;height:28px}.we-tile .we-tile-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.we-tile .we-tile-sub{font-size:var(--fs-body-s);color:var(--on-surface-variant);overflow-wrap:anywhere}.we-tile.has-badge{background:var(--primary-container);color:var(--on-primary-container)}.we-tile.has-badge .go-icon{background:var(--surface-1);color:var(--primary)}.we-tile.has-badge .we-tile-sub{color:var(--on-primary-container)}.we-count{position:absolute;top:12px;right:12px;min-width:24px;height:24px;padding:0 8px;box-sizing:border-box;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.we-invite{align-items:flex-start}.we-invite .doodle{color:var(--tertiary)}.we-who{font-size:var(--fs-body-s);color:var(--on-surface-variant);overflow-wrap:anywhere}.we-cols{display:flex;flex-direction:column;gap:16px}.we-side{gap:16px}@media(min-width:900px){.we-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px}.we-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.list li{overflow-wrap:anywhere}.quiet{padding:0;background:transparent}.quiet .empty-state{padding:24px 16px 8px;background:transparent}.quiet-list{gap:8px}.quiet-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 16px;border:0;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-align:left;text-decoration:none;font-weight:var(--fw-semibold)}.quiet-row .ico{color:var(--primary)}a.quiet-row:hover,button.quiet-row:hover{background:var(--surface-2)}.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;padding:16px 8px;border-radius:var(--r-l);background:var(--surface-2);color:var(--on-surface);text-decoration:none;text-align:center;transition:transform var(--dur-tap) var(--ease-out)}.tile:hover{background:var(--surface-3)}.tile:active{transform:translateY(2px)}.tile .go-icon{width:48px;height:48px}.tile .go-icon .ico{width:28px;height:28px}.tile-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.stack-page{display:flex;flex-direction:column;gap:16px}.quiet .empty-state{gap:8px}.quiet .empty-state .ico{width:64px;height:64px}.card.titlecard{position:relative;gap:8px;background:var(--primary-container);color:var(--on-primary-container)}.titlecard .btn.outline{align-self:flex-start;color:var(--on-primary-container);border-color:var(--on-primary-container)}.titlecard-label{font-size:var(--fs-label-l);font-weight:var(--fw-semibold)}.titlecard-doodle{position:absolute;top:12px;right:16px;display:inline-flex;opacity:.85}.titlecard-doodle .ico.xl{width:32px;height:32px;color:inherit}@keyframes anniv-spark{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}.titlecard-doodle.party{opacity:1}.anniv-sparks{position:absolute;inset:0;pointer-events:none}.anniv-sparks i{position:absolute;left:calc(50% - 4px);top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--tertiary);opacity:0;animation:anniv-spark var(--dur-max) var(--ease-out) 1 both}.anniv-sparks i:nth-child(1){--dx: 0px;--dy: -40px}.anniv-sparks i:nth-child(2){--dx: -38px;--dy: -12px}.anniv-sparks i:nth-child(3){--dx: 38px;--dy: -12px}.anniv-sparks i:nth-child(4){--dx: -24px;--dy: 32px}.anniv-sparks i:nth-child(5){--dx: 24px;--dy: 32px}.tile-go{display:inline-flex;align-items:center;gap:4px;margin-top:auto;color:var(--primary);font-weight:var(--fw-semibold);text-decoration:none;min-height:48px}.tile-go .go-arrow{transform:rotate(90deg);color:var(--primary)}.daycard{gap:8px;color:var(--on-surface)}.daycard-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-body-m)}.daycard-title .ico{color:var(--primary);flex:none}.daycard .big{font-size:var(--fs-title-m)}.daycard .clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.daycard>p{margin:0}.daycard-load{margin:0}.daycard-bar{display:block;height:16px;width:60%;border-radius:var(--r-l);background:var(--surface-3)}.daycard-fail{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;color:var(--on-surface-variant);font-size:var(--fs-body-s)}.daycard-fail .btn.text{flex:none;min-height:48px}.moodrow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.moodrow .span-row{flex:1 0 100%}.moodrow>:not(.span-row):not(.btn){flex:1 1 200px;min-width:0}.moodrow .btn{min-height:48px}.hday{display:flex;flex-direction:column;gap:8px}.hday-sum{display:flex;align-items:center;gap:12px}.hday-text{margin:0;flex:1;min-width:0;display:flex;flex-direction:column}.hday .ring-text .num{font-size:var(--fs-body-s)}.hday .go-arrow{transform:rotate(90deg);color:var(--primary)}.hday-toggle{align-self:flex-start;min-height:48px}@media(min-width:900px){.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.today-grid>.span-all,.today-grid>.titlecard{grid-column:1 / -1}}.vis-block{display:flex;flex-direction:column;gap:8px}.vis-field{font-weight:var(--fw-semibold);color:var(--on-surface-variant);font-size:var(--fs-label-m)}.vis-line{display:flex;align-items:center;gap:8px;min-height:48px}.vis-space{overflow-wrap:anywhere}a.vis-space{display:flex;align-items:center;min-height:var(--touch)}.vis-line .chip.btnlike{max-width:60%;white-space:normal;text-align:left;height:auto;min-height:48px;padding-block:6px}.card .list>li>.stack{margin-top:16px}.card .list>li>.stack h3{margin-bottom:8px}@keyframes spring{50%{transform:scale(1.08)}}@keyframes draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes spark{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}.habit{--spark: var(--tertiary)}.habit .tick{position:relative}.habit.just-done .tick{animation:spring var(--dur-feedback) var(--ease-out)}.habit.just-done .tick .ico{animation:draw .2s var(--ease-out) 80ms both}.habit .sparks{position:absolute;inset:0;pointer-events:none}.habit .sparks i{position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--spark);opacity:0;animation:spark .32s var(--ease-out) both}.habit .sparks i:nth-child(1){--dx: 0px;--dy: -33px}.habit .sparks i:nth-child(2){--dx: -29px;--dy: 18px}.habit .sparks i:nth-child(3){--dx: 29px;--dy: 18px}@keyframes num{0%{opacity:0}}.day{margin-top:16px;display:flex;align-items:center;gap:16px;min-height:56px}.day .live{flex:1;min-width:0;margin:0}.ring-text .num{animation:num var(--dur-tap) linear both}.lstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}.lstats>div{display:flex;flex-direction:column;gap:4px;min-width:0}.lstats dt{font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.lstats dd{margin:0;font-size:var(--fs-title-s);font-weight:var(--fw-bold);overflow-wrap:anywhere}.lessonrow{display:flex;align-items:center;gap:16px;width:100%;min-height:56px;padding:8px 16px;border:0;border-radius:var(--r-m);background:var(--surface-low);color:var(--on-surface);font:inherit;text-align:left}.lessonrow:hover{background:var(--surface-2)}.lessonrow:disabled{opacity:.6}.lessonrow .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lessonrow .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.lessonrow.next{background:var(--secondary-container);color:var(--on-secondary-container)}.lessonlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.choices{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0;min-width:0}.choice{display:flex;gap:16px;min-height:56px;padding:8px 16px;align-items:center;border-radius:var(--r-m);border:1px solid var(--outline);background:transparent;cursor:pointer;overflow-wrap:anywhere}.choice:has(input:checked){background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.choice:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:2px}.choice input{width:24px;height:24px;flex:none;accent-color:var(--primary)}.choice.right{border-color:var(--primary);border-width:2px}.choice.wrongpick{border-color:var(--error);border-width:2px}.choice .tag{display:block;font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.feedback{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-l);background:var(--surface-low)}.feedback:focus{outline:none}.feedback p{margin:0}.feedback .verdict{font-weight:var(--fw-bold);font-size:var(--fs-title-s)}.lq{font-family:var(--font-display);font-size:var(--fs-title-s);font-weight:var(--fw-regular);line-height:var(--lh-title-s);margin:0;overflow-wrap:anywhere}.unit-head{display:flex;align-items:center;gap:16px}.unit-head .grow{min-width:0;display:flex;flex-direction:column;gap:4px}.lessonrow{min-height:var(--touch)}.lessonrow.next{border:2px solid var(--primary)}.lessonrow .go-arrow{flex:none;color:var(--outline);transform:rotate(90deg)}.lessonrow.next .go-arrow{color:var(--on-secondary-container)}@font-face{font-family:Aileron;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/aileron-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Aileron;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/aileron-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Aileron;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/aileron-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/patrick-hand-latin-400-normal.woff2) format("woff2")}:root{--surface: #120d1f;--on-surface: #ece4fb;--r-s: 8px;--r-m: 12px;--r-l: 16px;--r-xl: 28px;--r-pill: 999px;--touch: 48px;--glow: transparent;--shadow-1: 0 1px 2px rgba(0, 0, 0, .25);--shadow-2: 0 4px 12px rgba(0, 0, 0, .35);--dur-tap: .14s;--dur-feedback: .24s;--dur-enter: .32s;--dur-max: .4s;--ease-out: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--surface);color:var(--on-surface);font-family:var(--font-body);font-size:100%;line-height:var(--lh-body-m);-webkit-font-smoothing:antialiased;font-synthesis-weight:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display)}h1{font-size:var(--fs-title-l);font-weight:var(--fw-title-l);line-height:var(--lh-title-l)}h2{font-size:var(--fs-title-m);font-weight:var(--fw-title-m);line-height:var(--lh-title-m)}h3,h4{font-family:var(--font-body);font-size:var(--fs-label-l);font-weight:var(--fw-label-l);line-height:var(--lh-label-l)}button,input,select,textarea,optgroup{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[data-calm] *,[data-calm] *:before,[data-calm] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.page{min-height:100dvh;display:flex;flex-direction:column}.wrap{width:100%;max-width:560px;margin:0 auto;padding:0 16px}main.wrap{flex:1;padding-top:8px;padding-bottom:calc(120px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}main.wrap.nonav{padding-bottom:calc(32px + env(safe-area-inset-bottom))}main:focus{outline:none}.sub,.hint{color:var(--on-surface-variant);font-size:var(--fs-body-s)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ico{display:inline-block;width:24px;height:24px;flex:none;background:currentColor;-webkit-mask:var(--ico) center / contain no-repeat;mask:var(--ico) center / contain no-repeat}.ico.s{width:18px;height:18px}.ico.xl{width:96px;height:96px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--secondary-container);color:var(--on-secondary-container);font-size:var(--fs-label-l);font-weight:var(--fw-label-l);line-height:var(--lh-label-l);text-decoration:none}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.outline{background:transparent;color:var(--primary);border-color:var(--outline)}.btn.text{background:transparent;color:var(--primary);padding:0 12px}.btn.danger{background:transparent;color:var(--error);border-color:var(--outline)}.btn.block{width:100%}.btn:disabled{background:var(--surface-3);color:var(--on-surface-variant);border-color:transparent;cursor:default}.btn.outline:disabled,.btn.text:disabled,.btn.danger:disabled{background:transparent}.btn.outline:disabled,.btn.danger:disabled{border-color:var(--outline-variant)}.iconbtn{width:48px;height:48px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--on-surface-variant);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex:none}.iconbtn:hover{background:color-mix(in srgb,var(--on-surface) 8%,transparent)}.fab{position:fixed;right:max(16px,calc(50% - 264px));bottom:calc(120px + env(safe-area-inset-bottom));z-index:5;width:56px;height:56px;border-radius:var(--r-l);border:0;background:var(--primary-container);color:var(--on-primary-container);box-shadow:var(--shadow-2),0 0 24px var(--glow);display:inline-flex;align-items:center;justify-content:center}.card{background:var(--surface-1);border-radius:var(--r-l);padding:16px;display:flex;flex-direction:column;gap:12px}.card.low{background:var(--surface-low)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:12px}.row.wrap-row{flex-wrap:wrap}.grow{flex:1;min-width:0}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:var(--r-s);background:var(--surface-2);color:var(--on-surface-variant);font-family:var(--font-body);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}.chip.tertiary{background:var(--tertiary-container);color:var(--on-tertiary-container)}.chip.secondary{background:var(--secondary-container);color:var(--on-secondary-container)}.chip.btnlike{min-height:var(--touch);padding:0 14px;border:1px solid var(--outline);background:transparent;font-size:var(--fs-body-s)}.chip.btnlike[aria-pressed=true]{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:8px}ul.chips{list-style:none;padding:0;margin:12px 0}.linkrow{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 16px;border-radius:var(--r-l);background:var(--surface-1);color:var(--on-surface);text-decoration:none;border:0;width:100%;text-align:left}.linkrow:hover{background:var(--surface-2)}.linkrow .name{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis}.stack{display:flex;flex-direction:column;gap:16px}.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}.fieldset legend{padding:0;margin-bottom:8px;color:var(--on-surface-variant);font-size:var(--fs-label-m);font-weight:var(--fw-semibold)}label.lbl .hint{font-weight:var(--fw-regular)}label.lbl{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--on-surface-variant)}.input{width:100%;min-height:52px;padding:0 16px;border-radius:var(--r-s);border:1px solid var(--outline);background:transparent;color:var(--on-surface);font-size:var(--fs-body-m);font-weight:var(--fw-regular)}.input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}.input.num{width:120px}.err{color:var(--on-error-container);background:var(--error-container);border-radius:var(--r-m);padding:10px 14px;font-size:var(--fs-body-s)}.ok{color:var(--on-secondary-container);background:var(--secondary-container);border-radius:var(--r-m);padding:10px 14px;font-size:var(--fs-body-s)}.switch{display:flex;align-items:center;gap:12px;min-height:48px}.switch input{width:24px;height:24px;accent-color:var(--primary);flex:none}.stepper{display:flex;align-items:center;gap:16px}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:24px 0 8px}.hero .sub{max-width:30ch}.auth{flex:1;justify-content:center;padding-top:calc(24px + env(safe-area-inset-top))}.habit{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-m);background:var(--surface-1);min-height:64px}.habit .main{flex:1;min-width:0;display:flex;align-items:center;gap:16px;background:none;border:0;padding:0;text-align:left;min-height:48px;border-radius:var(--r-m)}.habit .main:disabled{cursor:default}.habit .tick{flex:none;width:48px;height:48px;border-radius:var(--r-m);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--fs-title-s);background:var(--surface-2);color:var(--primary);border:1px solid var(--outline-variant);transition:background .2s,color .2s}.habit.done .tick{background:var(--secondary);color:var(--on-secondary);border-color:transparent}.habit .text{flex:1;min-width:0;display:flex;flex-direction:column}.habit .name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.habit.done .name{color:var(--on-surface-variant);text-decoration:line-through;text-decoration-thickness:1px}.habit .sub{font-size:var(--fs-body-s)}.streak{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-label-m);font-weight:var(--fw-semibold);color:var(--tertiary)}.round{flex:none;width:48px;height:48px;min-width:48px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--primary);color:var(--on-primary);line-height:1}.round:disabled{background:var(--surface-3);color:var(--on-surface-variant);border-color:transparent;cursor:default}.round.ghost{background:transparent;border:1px solid var(--outline);color:var(--on-surface-variant)}.xp{display:flex;align-items:center;gap:16px}.xp .level{flex:none;width:56px;height:56px;border-radius:var(--r-pill);background:var(--tertiary-container);color:var(--on-tertiary-container);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:var(--fw-semibold);line-height:1}.xp .level small{font-size:var(--fs-caption);letter-spacing:var(--ls-label-s)}.bar{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;width:var(--w, 0%);background:var(--tertiary);border-radius:inherit;transition:width .3s}.bar.green>i{background:var(--secondary)}details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--on-surface-variant);font-weight:var(--fw-semibold)}.backdrop{position:fixed;inset:0;z-index:50;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:560px;max-height:92dvh;display:flex;flex-direction:column;background:var(--surface-3);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:up .2s ease}.sheet:focus{outline:none}.sheet>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 0 24px}.sheet .body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 24px 24px;display:flex;flex-direction:column;gap:16px}.sheet .body>*{flex:none}.sheet>footer{flex:none;position:relative;background:var(--surface-3);border-top:1px solid var(--outline-variant);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:8px 24px 16px}@media(min-width:700px){.backdrop{align-items:center}.sheet{border-radius:var(--r-xl)}}.sheet .input{background:var(--surface-1)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(24px);opacity:.6}}.input.emoji{width:72px;text-align:center;padding:0}.pagehead{padding-top:calc(8px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:0}.back{align-self:flex-start;margin-left:-12px}.pagehead-row{display:flex;align-items:center;gap:8px;min-height:56px}.pagehead-title{flex:1;min-width:0;padding:8px 0}.pagehead-title h1{overflow-wrap:anywhere}.pagehead-title .sub{margin-top:4px}.skip{position:absolute;top:8px;left:8px;z-index:100;transform:translateY(-200%);min-height:var(--touch);padding:0 16px;border:0;border-radius:var(--r-m);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-semibold);box-shadow:var(--shadow-2)}.skip:focus-visible{transform:none}main.wrap{padding-top:8px}main.wrap:has(.fab){padding-bottom:calc(200px + env(safe-area-inset-bottom))}main.wrap.nonav:has(.fab){padding-bottom:calc(104px + env(safe-area-inset-bottom))}.fab{bottom:calc(120px + env(safe-area-inset-bottom))}.nonav~.fab,main.nonav .fab{bottom:calc(24px + env(safe-area-inset-bottom))}.card h2{font-size:var(--fs-title-s)}a.card,button.card{color:inherit;text-decoration:none;text-align:left;border:0;font:inherit;width:100%}.card>.linkrow{background:transparent;padding-inline:0;min-height:56px}.card>.linkrow:hover{background:transparent}.linkrow .grow{display:flex;flex-direction:column;min-width:0}.linkrow .ico{color:var(--primary)}.linkrow .sub{font-size:var(--fs-body-s)}.btn.sm{min-height:40px;padding:0 16px;font-size:var(--fs-label-m)}.seg{display:flex;border:1px solid var(--outline);border-radius:var(--r-pill);overflow:hidden}.seg>button,.seg>label{flex:1;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--on-surface-variant);font-weight:var(--fw-semibold);display:flex;align-items:center;justify-content:center;text-align:center}.seg>button+button,.seg>label+label{border-left:1px solid var(--outline-variant)}.seg>[aria-pressed=true],.seg>[aria-checked=true],.seg>[aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.progress{display:flex;flex-direction:column;gap:8px}.progress .label{display:flex;justify-content:space-between;font-size:var(--fs-body-s);color:var(--on-surface-variant)}.big{font-size:var(--fs-title-m);font-weight:var(--fw-bold);line-height:var(--lh-title-l);margin:0}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:32px 16px;background:var(--surface-low);border-radius:var(--r-l);color:var(--on-surface-variant)}.note{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-body-s);color:var(--on-surface-variant);padding:0}.card>.btn.text{align-self:flex-start;margin:-8px 0 -8px -12px}.round,.arrowbtn{display:inline-flex;align-items:center;justify-content:center;padding:0}.pagehead-title h1{display:flex;align-items:center;gap:8px}.pagehead-title h1 .ico{color:var(--primary)}.card h2 .ico{margin-right:8px;vertical-align:-3px;color:var(--primary)}.switch .ico{color:var(--primary)}.sheet .body,.card p,.card li{overflow-wrap:anywhere}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:32px 16px;background:var(--surface-low);border-radius:var(--r-l);color:var(--on-surface-variant)}.empty-state .doodle{color:var(--outline)}.empty-state p{max-width:30ch}.empty-state .empty-emblem{color:var(--primary)}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{display:block}.ring .track{stroke:var(--surface-3)}.ring .fill{stroke:var(--secondary);transition:stroke-dashoffset var(--dur-max) var(--ease-out)}.ring-text{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-label-m);color:var(--on-surface)}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}html[data-intro] .enter>*{animation:enter var(--dur-feedback) var(--ease-out) .2s both}html[data-intro] .enter>:nth-child(1){animation-delay:0ms}html[data-intro] .enter>:nth-child(2){animation-delay:40ms}html[data-intro] .enter>:nth-child(3){animation-delay:80ms}html[data-intro] .enter>:nth-child(4){animation-delay:.12s}html[data-intro] .enter>:nth-child(5){animation-delay:.16s}.scheme-choice{display:flex;flex-direction:column;gap:8px}.scheme-choice .scheme-label{font-weight:var(--fw-semibold)}:root{--nav-h: calc(80px + env(safe-area-inset-bottom)) ;--field-bg: var(--surface)}.card{--field-bg: var(--surface-1)}.card.low{--field-bg: var(--surface-low)}.sheet{--field-bg: var(--surface-3)}.sheet .field-input{background:transparent}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-box{position:relative;display:flex;align-items:center;gap:8px;min-height:56px;padding:0 16px;border:1px solid var(--outline);border-radius:var(--r-pill);background:transparent;color:var(--on-surface)}.field.multi .field-box{align-items:flex-start;padding:16px;border-radius:var(--r-l)}.field-label{position:absolute;top:-10px;left:20px;max-width:calc(100% - 40px);padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--field-bg);color:var(--on-surface-variant);font-size:var(--fs-label-s);font-weight:var(--fw-semibold);line-height:var(--lh-label-s)}.field-icon{color:var(--on-surface-variant)}.field.multi .field-icon{margin-top:2px}.field-input{font:inherit;flex:1;min-width:0;min-height:52px;padding:0;border:0;outline:none;background:transparent;color:var(--on-surface);font-size:var(--fs-body-m)}textarea.field-input{min-height:72px;resize:vertical;padding:0;line-height:var(--lh-body-m)}.field-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.field.invalid .field-box{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.field.invalid .field-label{color:var(--error)}.field-error{display:flex;align-items:flex-start;gap:6px;padding:0 16px;color:var(--error);font-size:var(--fs-body-s)}.field-error .ico{margin-top:3px}.field.disabled .field-box{border-color:var(--outline-variant)}.field.disabled .field-input,.field.disabled .field-icon{color:var(--on-surface-variant)}.field-eye{margin-right:-12px}select.field-input{appearance:none;cursor:pointer;padding-right:8px;text-overflow:ellipsis}.field-chev{flex:none;color:var(--outline);transform:rotate(180deg);pointer-events:none}.switchlist,.navgroup{list-style:none;margin:0;padding:0;background:var(--surface-1);border-radius:var(--r-l);overflow:hidden}.switchrow+.switchrow,.navrow+.navrow{border-top:1px solid var(--outline-variant)}.switchrow label{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;cursor:pointer}.switchrow .ico{color:var(--primary)}.switchrow .grow{display:flex;flex-direction:column}.switchrow .name{font-weight:var(--fw-semibold)}.switchrow .sub{font-size:var(--fs-body-s)}.switch-input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.switch-track{position:relative;flex:none;width:52px;height:32px;box-sizing:border-box;border:2px solid var(--outline);border-radius:var(--r-pill)}.switch-knob{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--outline);transform:scale(.8);transition:transform var(--dur-feedback) var(--ease-out)}.switch-input:checked+.switch-track{background:var(--secondary);border-color:var(--secondary)}.switch-input:checked+.switch-track .switch-knob{background:var(--on-secondary);transform:translate(20px)}.switch-input:focus-visible+.switch-track{outline:3px solid var(--primary);outline-offset:2px}.switchrow.disabled label{cursor:default}.switchrow.disabled .name{color:var(--on-surface-variant)}.switchrow.disabled .switch-track{border-color:var(--outline-variant)}.switchrow.disabled .switch-knob{background:var(--outline-variant)}.linkrow.go{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 16px;border:0;border-radius:0;background:transparent;color:var(--on-surface);font:inherit;text-align:left;text-decoration:none}.linkrow.go:hover{background:var(--surface-2)}.linkrow.go:focus-visible{outline-offset:-3px}.go-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-pill);background:var(--primary-container);color:var(--on-primary-container)}.linkrow.go .go-icon .ico{color:inherit}.go-value{color:var(--on-surface-variant);font-size:var(--fs-body-s);flex:0 1 auto;max-width:55%;text-align:right}.linkrow.go .grow{flex:1 0 40%}.go-arrow{color:var(--outline);transform:rotate(90deg)}.linkrow.go .go-arrow.ico{color:var(--outline)}.linkrow.go.danger{color:var(--error)}.linkrow.go.danger .go-icon{background:var(--error-container);color:var(--on-error-container)}.accordion{display:flex;flex-direction:column;gap:8px}.acc{background:var(--surface-1);border-radius:var(--r-l)}.acc>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 16px;list-style:none;color:var(--on-surface)}.acc>summary::-webkit-details-marker{display:none}.acc>summary h3{flex:1}.acc-arrow{color:var(--outline);transition:transform var(--dur-feedback) var(--ease-out)}.acc[open] .acc-arrow{transform:rotate(180deg)}.acc-body{padding:0 16px 16px;color:var(--on-surface-variant);overflow-wrap:anywhere}.filterchips,.tabs{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}.filterchips .chip{flex:none;white-space:nowrap;min-height:48px}.tabs [role=tab]{flex:1 0 auto;min-height:48px;padding:0 16px;border:1px solid transparent;border-radius:var(--r-pill);background:transparent;color:var(--on-surface-variant);font-weight:var(--fw-semibold)}.tabs [role=tab][aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.confirm-text{color:var(--on-surface-variant)}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.btn.danger-fill{background:var(--error);color:var(--on-error)}.reasons .reason{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 8px;cursor:pointer}.reasons .reason input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--primary)}.chatlog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bubble-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.bubble-row.mine{align-items:flex-end}.bubble-day{align-self:center}.bubble{max-width:80%;margin:0;padding:10px 14px;border-radius:var(--r-l) var(--r-l) var(--r-l) var(--r-s);background:var(--surface-2);color:var(--on-surface);overflow-wrap:anywhere;white-space:pre-wrap}.bubble-row.mine .bubble{border-radius:var(--r-l) var(--r-l) var(--r-s) var(--r-l);background:var(--primary-container);color:var(--on-primary-container)}.bubble-time{padding:0 4px;color:var(--on-surface-variant);font-size:var(--fs-caption)}.composer{position:sticky;bottom:calc(var(--nav-h) + 8px);z-index:1;display:flex;align-items:center;gap:8px;padding:12px 0 8px;background:var(--surface)}.composer-field{flex:1;min-width:0}.daysections{display:flex;flex-direction:column;gap:24px}.daysection h3{margin-bottom:8px}.result.wrap,.notfound.wrap{display:flex;flex-direction:column;gap:16px}.result.auth{justify-content:space-between}.result .hero{gap:16px;padding-top:48px}.result h1:focus,.notfound h1:focus{outline:none}.result-doodle{color:var(--outline)}.result-success .result-doodle{color:var(--secondary)}.result-error h1,.result-error .result-doodle{color:var(--error)}.netstrip{position:sticky;top:0;z-index:50;margin:0;padding:8px 16px;text-align:center;font-size:var(--fs-body-s);background:var(--surface-2);color:var(--on-surface);border-bottom:1px solid var(--outline-variant)}.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--nav-h) + 32px);z-index:60;max-width:520px;margin:0 auto;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:4px 4px 4px 16px;border:1px solid var(--outline-variant);border-radius:var(--r-pill);background:var(--surface-3);color:var(--on-surface);box-shadow:var(--shadow-2);animation:toast-in var(--dur-feedback) var(--ease-out) both}body:has(.fab) .toast{bottom:calc(var(--nav-h) + 108px)}.toast.error{border-color:transparent;background:var(--error-container);color:var(--on-error-container)}.toast p{flex:1;margin:0;padding:8px 0;font-size:var(--fs-body-s)}.toast .iconbtn{color:inherit;pointer-events:auto}.toast{pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.notfound h1{font-size:inherit}.nf-row{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--primary)}.nf-digit{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-regular);line-height:1}.notfound .ico.xl{color:var(--outline)}.btn:not(.sm){min-height:var(--touch)}.seg button{min-height:var(--touch)}.brand-wordmark,.brand-mark,.brand-emblem{display:block;color:var(--primary)}.brand-top{align-self:center;flex:none}.empty-state .empty-mark{margin-top:8px;color:var(--outline);opacity:.8}
