.page-header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid var(--bar-line);padding-top:env(safe-area-inset-top,0px);transition:box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.page-header--elevated{box-shadow:var(--shadow-md),0 2px 6px #1a1d2e0d;border-bottom-color:var(--color-primary-line)}.page-header__inner{max-width:var(--max-content);margin:0 auto;min-height:52px;padding:8px 12px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px}.page-header--compact .page-header__inner{min-height:44px;padding:4px 12px}.page-header__side{display:flex;align-items:center;gap:6px}.page-header__side--right{justify-content:flex-end}.page-header__center{text-align:center;min-width:0}.page-header__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.page-header__subtitle{font-size:.72rem;color:var(--color-ink-faint);margin-top:2px}.page-header__btn{width:36px;height:36px;border-radius:12px;border:none;background:transparent;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast) ease,transform var(--duration-fast)}.page-header__btn:hover{background:var(--color-primary-tint)}.page-header__btn:active{background:var(--color-primary-line);transform:scale(.94)}.page-header__btn svg{width:22px;height:22px}.home-page{min-height:100vh;min-height:100dvh}.home-main{max-width:var(--max-content);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12)}.home-hero{margin-bottom:var(--space-6)}.home-hero__title{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.home-hero__quote{margin:6px 0 0;color:var(--color-ink-faint);font-size:var(--text-sm);font-family:var(--font-display);line-height:1.55}.home-card{display:block;position:relative;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);color:var(--color-ink);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.home-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.home-card:active{transform:scale(.99)}.home-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.home-card__eyebrow{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase}.home-card__chev{color:var(--color-ink-ghost);font-size:1.4rem;line-height:1}.home-card__foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--color-divider)}.home-card__metric{font-size:var(--text-sm);color:var(--color-ink-faint)}.home-card__metric strong{font-family:var(--font-mono);font-feature-settings:"tnum" on;color:var(--color-primary);font-weight:600;font-size:var(--text-base)}.home-checkin-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--space-2)}.home-checkin-pill{display:flex;align-items:center;gap:6px;padding:10px;background:var(--color-bg-tint);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-ink-soft);transition:background var(--duration-fast),border-color var(--duration-fast);min-width:0}.home-checkin-pill__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-checkin-pill--more{justify-content:center;color:var(--color-ink-faint);font-weight:500}.home-checkin-pill__icon{font-size:1.1rem}.home-checkin-pill__status{margin-left:auto;font-family:var(--font-mono);color:var(--color-ink-faint);font-weight:600}.home-checkin-pill--done{background:#5fb2851f;border-color:#5fb28559;color:var(--color-success)}.home-checkin-pill--done .home-checkin-pill__status{color:var(--color-success)}.home-checkin-pill--placeholder{height:38px;background:linear-gradient(90deg,var(--color-bg-tint) 0%,var(--color-primary-tint) 50%,var(--color-bg-tint) 100%);background-size:200% 100%;border-color:transparent;animation:home-pill-shimmer 1.4s linear infinite}@keyframes home-pill-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.home-empty{margin:var(--space-2) 0 0;color:var(--color-ink-faint);font-size:var(--text-sm)}.home-milestone-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.home-milestone-icon{font-size:1.8rem;line-height:1}.home-milestone-label{font-size:var(--text-md);font-weight:600;color:var(--color-ink);font-family:var(--font-display)}.home-upcoming-groups{display:flex;flex-direction:column;gap:.7rem;margin-top:.5rem}.home-upcoming-group{display:block;text-decoration:none;color:inherit}.home-upcoming-group:active{opacity:.6}.home-upcoming-group__head{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.home-upcoming-group__icon{font-size:1rem;flex-shrink:0}.home-upcoming-group__name{font-size:.9rem;font-weight:600;color:#4a3d5a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-upcoming-list{list-style:none;margin:0;padding:0 0 0 1.4rem;display:flex;flex-direction:column;gap:.3rem}.home-upcoming-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b5d7a}.home-upcoming-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-upcoming-due{font-size:.7rem;padding:1px 7px;border-radius:999px;background:#f3edf8;color:#8b7a9e;flex-shrink:0}.home-upcoming-due--overdue{background:#ffeaef;color:#d24c63}.home-upcoming-due--today{background:#fff3e0;color:#d97706}.home-upcoming-due--soon{background:#e9f7ee;color:#1f9254}.home-upcoming-due--future{background:#f3edf8;color:#8b7a9e}.home-upcoming-more{margin-top:.3rem;padding-left:1.4rem;font-size:.78rem;color:#8b7a9e}.home-mine-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.home-mine-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-top:1px solid var(--color-divider)}.home-mine-item:first-child{border-top:none}.home-mine-item__main{flex:1;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:inherit}.home-mine-item__title{font-size:.95rem;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-mine-item__board{font-size:.72rem;color:var(--color-ink-faint);margin-top:1px}.game-page{min-height:100vh;padding:2rem 1.5rem;background:linear-gradient(180deg,#e8f4e8,#f5f3ff,#fff5f8)}.game-header{text-align:center;margin-bottom:1.5rem}.game-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#3940b5}.game-header p{color:#5a5f9d;font-size:1.1rem;margin:0}.game-status{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.current-turn{font-size:1.3rem;font-weight:600;color:#4a3f5c}.winner-announcement{font-size:1.5rem;font-weight:700;color:#d64672;animation:bounce .5s ease infinite alternate}@keyframes bounce{0%{transform:scale(1)}to{transform:scale(1.05)}}.reset-btn{padding:.75rem 1.5rem;border:none;border-radius:12px;background:linear-gradient(135deg,#6f68f6,#ff7ab6);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.reset-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6f68f64d}.board-container{display:flex;justify-content:center;overflow-x:auto;padding:1rem}.board{display:inline-block;padding:10px;background:#dcb35c;border-radius:8px;box-shadow:0 10px 40px #0003}.board-row{display:flex}.cell{width:32px;height:32px;position:relative;cursor:pointer}.cell:before,.cell:after{content:"";position:absolute;background:#a08040}.cell:before{width:100%;height:1px;top:50%;left:0}.cell:after{width:1px;height:100%;left:50%;top:0}.cell.hoverable:hover:before{background:#6f68f6;height:2px}.cell.hoverable:hover:after{background:#6f68f6;width:2px}.stone{position:absolute;width:28px;height:28px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;transition:transform .1s}.stone.black{background:radial-gradient(circle at 30% 30%,#555,#000);box-shadow:2px 2px 4px #0006}.stone.white{background:radial-gradient(circle at 30% 30%,#fff,#ccc);box-shadow:2px 2px 4px #0000004d}@media (max-width: 600px){.cell{width:24px;height:24px}.stone{width:20px;height:20px}.game-header h1{font-size:2rem}}.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}:root{--gmail-bg: #ffffff;--gmail-sidebar-bg: #f8f9fa;--gmail-paper-bg: #ffffff;--gmail-text: #202124;--gmail-text-secondary: #5f6368;--google-blue: #1a73e8;--google-blue-hover: #1765cc;--google-blue-bg: #d3e3fd;--google-hover: rgba(32, 33, 36, .059);--compose-btn-bg: #c2e7ff;--compose-btn-text: #001d35;--compose-btn-hover: #a8daf7;--sidebar-width: 340px;--header-height: 64px}.resume-page{min-height:100vh;background-color:var(--gmail-bg);display:block;font-family:Google Sans,Roboto,Arial,sans-serif;color:var(--gmail-text);overflow-x:hidden}.resume-page .header-bar{position:fixed!important;top:0!important;left:0!important;right:0!important;height:var(--header-height);background:var(--gmail-sidebar-bg)!important;border-bottom:1px solid #e8eaed;padding:0 1.5rem;z-index:3000!important;box-shadow:0 1px 2px #3c40430d;display:flex;align-items:center;justify-content:space-between;gap:8px}.resume-page .header-actions{display:flex;align-items:center;gap:4px}.resume-page.dark{--gmail-bg: #202124;--gmail-sidebar-bg: #282a2d;--gmail-paper-bg: #1e1f20;--gmail-text: #e8eaed;--gmail-text-secondary: #9aa0a6;--google-blue: #8ab4f8;--google-blue-bg: #174ea6;--google-hover: rgba(232, 234, 237, .08);--compose-btn-bg: #8ab4f8;--compose-btn-text: #202124;--compose-btn-hover: #aecbfa}.resume-page.dark .header-bar{background:var(--gmail-sidebar-bg)!important;border-bottom:1px solid #3c4043!important;box-shadow:0 1px 2px #0000004d}.resume-guest-mode .resume-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f0f2f5;padding:1rem}.resume-guest-mode .resume-login-form{background:#fff;padding:48px 40px 36px;border-radius:28px;border:1px solid #dadce0;width:100%;max-width:448px;text-align:center;box-shadow:0 1px 2px #0000000d;display:block}.resume-page.dark .resume-guest-mode .resume-login-form{background:#1e1e1e;border-color:#444}.resume-guest-mode .resume-login-form h1{font-family:Google Sans,sans-serif;font-size:24px;font-weight:400;color:#1f1f1f;margin:0 0 8px}.resume-page.dark .resume-guest-mode .resume-login-form h1{color:#e3e3e3}.resume-guest-mode .resume-login-form p{font-size:16px;color:#444746;margin:0 0 32px}.resume-guest-mode .resume-login-form input{width:100%;padding:13px 15px;font-size:16px;border:1px solid #dadce0;border-radius:4px;margin-bottom:32px;box-sizing:border-box;outline:none;background:#fff;color:#1f1f1f;transition:border .2s}.resume-guest-mode .resume-login-form input:focus{border:2px solid #0b57d0;padding:12px 14px}.resume-page.dark .resume-guest-mode .resume-login-form input{background:transparent;border-color:#888;color:#fff}.resume-guest-mode .resume-login-form button{background-color:#0b57d0;color:#fff;padding:0 24px;height:40px;border-radius:20px;border:none;font-weight:500;font-size:14px;cursor:pointer;float:right;transition:background-color .2s}.resume-guest-mode .resume-login-form button:hover{background-color:#0842a0;box-shadow:0 1px 2px #0000004d}.resume-guest-mode .resume-login-form:after{content:"";display:table;clear:both}.resume-auth-mode{padding-top:var(--header-height)}.resume-page .header-left{display:flex;align-items:center;gap:4px}.resume-page .google-logout-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:0 16px 0 12px;height:40px;border-radius:20px;color:var(--gmail-text-secondary);font-family:Google Sans,Roboto,sans-serif;font-size:14px;font-weight:500;transition:background-color .2s}.resume-page .google-logout-btn:hover{background-color:var(--google-hover)}.resume-page.dark .google-logout-btn{color:#e3e3e3}.sidebar-toggle-btn,.resume-back-btn{background:transparent;border:none;cursor:pointer;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gmail-text-secondary)!important;transition:background-color .2s;text-decoration:none}.sidebar-toggle-btn:hover,.resume-back-btn:hover{background-color:var(--google-hover)}.resume-page.dark .sidebar-toggle-btn,.resume-page.dark .resume-back-btn{color:#e3e3e3!important}.resume-sidebar{width:var(--sidebar-width);background-color:var(--gmail-sidebar-bg);color:var(--gmail-text);position:fixed;top:var(--header-height);bottom:0;left:0;z-index:2000;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #e8eaed}.resume-sidebar.collapsed{transform:translate(-100%)}.resume-page.dark .resume-sidebar{border-right:1px solid #3c4043}.sidebar-action-container{padding:8px 8px 0;flex-shrink:0;background-color:var(--gmail-sidebar-bg)}.gmail-compose-btn{display:flex;align-items:center;gap:16px;background-color:var(--compose-btn-bg);color:var(--compose-btn-text);border:none;border-radius:16px;padding:0 24px 0 20px;height:56px;font-family:Google Sans,Roboto,sans-serif;font-weight:500;font-size:14px;letter-spacing:.25px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;width:100%;justify-content:flex-start}.gmail-compose-btn:hover{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;background-color:var(--compose-btn-hover);transform:translateY(-1px)}.gmail-compose-btn:active{transform:translateY(0);box-shadow:0 1px 2px #3c40434d}.gmail-compose-btn svg{width:24px;height:24px;flex-shrink:0}.toc-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 12px}.toc-list h3{padding:0 20px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--gmail-text-secondary);margin:24px 0 8px;font-family:Google Sans,Roboto,sans-serif}.toc-item{display:flex;align-items:center;min-height:32px;padding:6px 20px;color:var(--gmail-text)!important;text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;border-radius:0 16px 16px 0;margin:1px 0 1px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s cubic-bezier(.4,0,.2,1);font-family:Google Sans,Roboto,sans-serif;letter-spacing:.2px}.toc-item:hover{background-color:var(--google-hover)}.toc-item.active{background-color:var(--google-blue-bg);color:var(--google-blue)!important;font-weight:500}.toc-item.h2{padding-left:36px;font-size:13px;font-weight:400;margin-left:12px}.resume-main-container{flex:1;margin-left:var(--sidebar-width);padding:24px 0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:flex-start}.sidebar-collapsed .resume-main-container{margin-left:0!important}.resume-paper{background:var(--gmail-paper-bg);width:100%;max-width:none;min-height:1100px;padding:64px 72px;margin-left:24px;margin-right:24px;border-radius:24px;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;transition:all .3s cubic-bezier(.4,0,.2,1)}.resume-page.dark .resume-paper{border:1px solid #444;box-shadow:none}.markdown-body{font-size:16px;line-height:1.6;background-color:transparent!important}.resume-page:not(.dark) .markdown-body{color:#000!important}.resume-page:not(.dark) .markdown-body h1,.resume-page:not(.dark) .markdown-body h2{color:#000!important;border-bottom:1px solid #e0e0e0}@media (max-width: 1024px){.resume-auth-mode .header-left{width:auto!important;background-color:transparent!important}.resume-main-container{margin-left:0;padding:8px}.resume-paper{padding:24px 16px;margin:0;border-radius:12px;min-height:auto}.markdown-body h1{font-size:1.6em!important}.markdown-body h2{font-size:1.3em!important}.markdown-body table,.markdown-body pre{display:block;overflow-x:auto;max-width:100%}.resume-sidebar{z-index:4000;top:0;padding-top:80px;background-color:var(--gmail-sidebar-bg);box-shadow:2px 0 8px #3c404326;border-right:none}.resume-sidebar.collapsed{transform:translate(-100%)}.resume-sidebar.open{transform:translate(0)}.mobile-menu-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#20212499;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:3500}.mobile-menu-overlay.show{display:block}}@media (max-width: 640px){.resume-page .google-logout-btn{width:48px;height:48px;padding:0;border-radius:50%;justify-content:center;gap:0}.resume-page .google-logout-btn span{display:none}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.login-card{width:100%;max-width:380px;padding:var(--space-10) var(--space-8) var(--space-8);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 var(--space-2);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;letter-spacing:-.01em}.login-header p{color:var(--color-ink-faint);font-size:var(--text-sm);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.login-form input{width:100%;padding:14px 16px;border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background:var(--color-surface);color:var(--color-ink);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.login-form input::placeholder{color:var(--color-ink-ghost)}.login-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:44px}.toggle-password-hint{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--color-ink-ghost);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:4px;line-height:1}.toggle-password-hint:hover{color:var(--color-ink-faint)}.login-error{padding:10px 14px;background:#d6483a14;border:1px solid rgba(214,72,58,.25);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);text-align:center}.login-form button{margin-top:var(--space-2);padding:14px 20px;border:none;border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;font-size:var(--text-base);font-weight:600;font-family:inherit;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),opacity var(--duration-fast);box-shadow:var(--shadow-md)}.login-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.login-form button:active:not(:disabled){transform:scale(.99)}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:var(--space-8);text-align:center}.login-footer p{color:var(--color-ink-ghost);font-size:var(--text-xs);margin:0;font-family:var(--font-display);letter-spacing:.05em}@media (max-width: 380px){.login-card{padding:var(--space-8) var(--space-5)}}.admin-page{min-height:100vh;min-height:100dvh}.admin-main{max-width:var(--max-content);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12)}.admin-alert{background:#d6483a14;border:1px solid rgba(214,72,58,.3);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.admin-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.admin-card h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.admin-empty{color:var(--color-ink-faint);font-size:var(--text-sm);margin:0}.admin-form{display:flex;flex-direction:column;gap:var(--space-3)}.admin-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.admin-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--color-ink-faint)}.admin-form input,.admin-form select{padding:12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--color-surface);color:var(--color-ink);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.admin-form input:focus,.admin-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.admin-btn{padding:8px 16px;border-radius:var(--radius-pill);border:none;font-family:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast),transform var(--duration-fast)}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn:active:not(:disabled){transform:scale(.97)}.admin-btn.primary{background:var(--color-primary);color:#fff;align-self:flex-start}.admin-btn.primary:hover:not(:disabled){background:var(--color-primary-soft)}.admin-btn.ghost{background:transparent;border:1px solid var(--color-divider);color:var(--color-ink-soft)}.admin-btn.ghost:hover:not(:disabled){background:var(--color-bg-tint)}.admin-btn.danger{background:transparent;color:var(--color-danger);border:1px solid rgba(214,72,58,.3)}.admin-btn.danger:hover:not(:disabled){background:#d6483a14}.admin-user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-user{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.admin-user__main{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.admin-user__avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display);flex-shrink:0}.admin-user__text{min-width:0}.admin-user__name{font-weight:600;color:var(--color-ink);font-size:var(--text-sm)}.admin-user__badge{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10.5px;font-weight:600;border-radius:var(--radius-pill);background:var(--color-primary-tint);color:var(--color-primary)}.admin-user__meta{font-size:var(--text-xs);color:var(--color-ink-faint);margin-top:2px;font-family:var(--font-mono);font-feature-settings:"tnum" on;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user__name{overflow:hidden;text-overflow:ellipsis}.admin-user__actions{display:flex;gap:6px;flex-shrink:0}.admin-user-edit{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.admin-user-edit__name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-faint);margin-bottom:var(--space-1)}.admin-user-edit label{display:flex;flex-direction:column;gap:3px;font-size:var(--text-xs);color:var(--color-ink-faint)}.admin-user-edit input,.admin-user-edit select{padding:10px 12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--color-surface);color:var(--color-ink)}.admin-user-edit input:focus,.admin-user-edit select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.admin-user-edit__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-1)}@media (max-width: 480px){.admin-form__row{grid-template-columns:1fr}.admin-user{flex-direction:column;align-items:stretch}.admin-user__actions{justify-content:flex-end}}.nudge-card{width:340px;box-sizing:border-box;padding:30px 26px 26px;text-align:center;background:var(--gradient-bg);border-radius:26px}.nudge-card__brand{font-size:12.5px;color:var(--color-ink-faint);font-weight:600;letter-spacing:.04em}.nudge-card__emoji{font-size:64px;line-height:1;margin:18px 0 14px}.nudge-card__head{margin:0;font-size:23px;font-weight:800;color:var(--color-ink)}.nudge-card__sub{margin:10px 0 0;font-size:15px;color:var(--color-ink-soft);line-height:1.5}.nudge-card__sub b{color:var(--color-accent)}.nudge-card__dots{display:flex;gap:10px;justify-content:center;margin:20px 0 6px}.nudge-card__dot{width:13px;height:13px;border-radius:999px}.nudge-card__dot.is-done{background:var(--color-success)}.nudge-card__dot.is-todo{background:var(--color-bg-tint)}.nudge-card__frac{margin:20px 0 6px;font-size:14px;color:var(--color-ink-faint);font-variant-numeric:tabular-nums}.nudge-card__date{display:inline-block;margin-top:14px;font-size:12.5px;color:var(--color-ink-faint);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:999px;padding:5px 14px}.nudge-card__foot{margin-top:18px;font-size:13px;color:var(--color-ink-ghost);font-weight:600}.nudge-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.nudge-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1d2e8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.nudge-sheet__sheet{position:relative;z-index:1;width:100%;max-width:480px;max-height:95vh;margin:0 12px 12px;padding:18px 16px 20px;background:var(--color-surface);border-radius:22px 22px var(--radius-lg) var(--radius-lg);box-shadow:0 -10px 40px #1a1d2e33;display:flex;flex-direction:column;align-items:center;gap:14px;overflow-y:auto;overscroll-behavior:contain}.nudge-sheet__source{position:fixed;top:0;left:-10000px;pointer-events:none;z-index:-1}.nudge-sheet__status{padding:36px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-ink-soft)}.nudge-sheet__spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid var(--color-primary-line);border-top-color:var(--color-primary);animation:nudge-sheet-spin .9s linear infinite}@keyframes nudge-sheet-spin{to{transform:rotate(360deg)}}.nudge-sheet__error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.nudge-sheet__error-detail{margin:4px 12px 0;font-size:var(--text-xs);color:var(--color-ink-faint);text-align:center;word-break:break-word;max-width:320px;font-family:var(--font-mono)}.nudge-sheet__preview{width:100%;max-width:320px;height:auto;border-radius:var(--radius-md);box-shadow:0 12px 32px #1a1d2e1f;display:block}.nudge-sheet__hint{margin:0;font-size:var(--text-sm);color:var(--color-ink-soft);text-align:center;line-height:1.6;padding:0 8px}.nudge-sheet__hint strong{color:var(--color-primary);font-weight:600}.nudge-sheet__actions{display:flex;gap:10px;width:100%;max-width:320px}.nudge-sheet__btn{flex:1;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:600;font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.nudge-sheet__btn:active{background:var(--color-bg-tint)}.nudge-sheet__btn:disabled{opacity:.6;cursor:default}.nudge-sheet__btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.nudge-sheet__btn--primary:active{background:var(--color-primary-soft)}.nudge-sheet__linkbtn{background:none;border:none;color:var(--color-primary);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:2px 8px}.nudge-sheet__close{position:absolute;top:10px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-tint);color:var(--color-ink-faint);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.nudge-sheet__close:active{background:var(--color-divider)}.family-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.family-row{display:flex;align-items:center;gap:var(--space-3)}.family-avatar{flex:none;width:32px;height:32px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600}.family-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--color-ink);display:flex;align-items:center;gap:6px}.family-name__me{flex:none;font-size:.7rem;color:var(--color-primary);background:var(--color-primary-tint);padding:1px 6px;border-radius:var(--radius-pill)}.family-status-group{flex:none;display:flex;align-items:center;gap:var(--space-2)}.family-status{flex:none;font-size:var(--text-sm)}.family-status--done{color:#1f9254}.family-status--partial{font-family:var(--font-mono);font-feature-settings:"tnum" on;color:var(--color-ink-soft)}.family-status--unset,.family-status--rest{color:var(--color-ink-faint)}.family-nudge-btn{flex:none;font:inherit;font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-pill);border:1px solid transparent;background:var(--color-primary);color:#fff;cursor:pointer;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out)}.family-nudge-btn:active{transform:scale(.96)}.family-nudge-btn--self{background:transparent;color:var(--color-primary);border-color:var(--color-primary-line)}.confirm-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1d2e73;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:300;animation:confirmDialogFade .2s var(--ease-out)}@keyframes confirmDialogFade{0%{opacity:0}to{opacity:1}}.confirm-dialog__card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:360px;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.confirm-dialog__title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-ink)}.confirm-dialog__desc{margin:0;font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.6}.confirm-dialog__error{font-size:var(--text-sm);color:var(--color-danger);background:#d6483a14;padding:var(--space-3);border-radius:var(--radius-sm);line-height:1.5}.confirm-dialog__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.confirm-dialog__btn{font:inherit;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.confirm-dialog__btn:active:not(:disabled){transform:scale(.97)}.confirm-dialog__btn:disabled{opacity:.5;cursor:default}.confirm-dialog__btn.ghost{background:transparent;color:var(--color-ink-soft);border-color:var(--color-divider)}.confirm-dialog__btn.ghost:hover:not(:disabled){background:var(--color-primary-tint)}.confirm-dialog__btn.primary{background:var(--color-primary);color:#fff}.confirm-dialog__btn.primary:hover:not(:disabled){background:var(--color-primary-soft)}.confirm-dialog__btn.danger{background:var(--color-danger);color:#fff}.confirm-dialog__btn.danger:hover:not(:disabled){filter:brightness(1.05)}.share-card{width:375px;padding:32px 26px 26px;background:var(--gradient-bg);font-family:var(--font-body);color:var(--color-ink);box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.share-card__header{display:flex;align-items:center;gap:12px}.share-card__logo{width:40px;height:40px;border-radius:12px;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--shadow-md)}.share-card__brand-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--color-ink);letter-spacing:.02em;white-space:nowrap;display:block}.share-card__brand-date{font-size:11px;color:var(--color-ink-faint);margin-top:2px;font-feature-settings:"tnum" on;display:block;white-space:nowrap}.share-card__greet{text-align:center;margin-top:4px}.share-card__hello{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--color-ink);margin:0;line-height:1.3}.share-card__sub{margin:8px 0 0;font-size:13px;color:var(--color-ink-soft)}.share-card__hero{text-align:center;padding:12px 0 8px}.share-card__hero-numbers{font-family:var(--font-display);font-feature-settings:"tnum" on;display:inline-flex;align-items:baseline;justify-content:center}.share-card__hero-icon{font-size:30px;line-height:1;margin-bottom:4px}.share-card__hero-big{font-size:80px;font-weight:700;color:var(--color-primary);line-height:1;letter-spacing:-.02em}.share-card__hero-unit{font-size:30px;font-weight:500;color:var(--color-accent);margin-left:6px}.share-card__hero-slash{font-size:36px;color:var(--color-ink-faint);margin:0 6px;font-weight:300}.share-card__hero-total{font-size:36px;color:var(--color-ink-soft);font-weight:500}.share-card__hero-divider{width:48px;height:2px;background:var(--color-primary);margin:14px auto 8px;border-radius:1px;opacity:.5}.share-card__badge{display:inline-block;margin-top:10px;padding:5px 14px;border-radius:999px;background:var(--color-accent-tint);color:var(--color-accent);font-family:var(--font-display);font-size:12.5px;font-weight:600;letter-spacing:.02em}.share-card__hero-label{font-size:12px;color:var(--color-ink-faint);letter-spacing:.25em}.share-card__items{display:flex;flex-direction:column;gap:8px}.share-card__item{display:grid;grid-template-columns:36px 1fr 26px;align-items:center;gap:12px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:14px}.share-card__item--done{background:#5fb28514;border-color:#5fb28559}.share-card__item-icon{font-size:22px;text-align:center;line-height:1}.share-card__item-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--color-ink)}.share-card__item-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-ink-ghost);font-size:13px;font-weight:700;color:transparent;display:flex;align-items:center;justify-content:center}.share-card__item--done .share-card__item-check{border-color:var(--color-success);background:var(--color-success);color:#fff}.share-card__monthstats{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0 4px}.share-card__monthstat{text-align:center;display:flex;flex-direction:column;align-items:center}.share-card__monthstat-num{font-family:var(--font-display);font-feature-settings:"tnum" on;font-size:26px;font-weight:700;color:var(--color-ink);line-height:1}.share-card__monthstat-label{font-size:11px;color:var(--color-ink-faint);margin-top:5px;letter-spacing:.05em}.share-card__monthstat-sep{width:1px;height:32px;background:var(--color-divider)}.share-card__footer{margin-top:4px;text-align:center}.share-card__footer-quote{font-family:var(--font-display);font-size:13px;color:var(--color-ink-soft)}.share-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.share-dialog__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1d2e8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.share-dialog__sheet{position:relative;z-index:1;width:100%;max-width:480px;max-height:95vh;margin:0 12px 12px;padding:18px 16px 20px;background:var(--color-surface);border-radius:22px 22px var(--radius-lg) var(--radius-lg);box-shadow:0 -10px 40px #1a1d2e33;display:flex;flex-direction:column;align-items:center;gap:14px;overflow-y:auto;overscroll-behavior:contain}.share-dialog__source{position:fixed;top:0;left:-10000px;pointer-events:none;z-index:-1}.share-dialog__status{padding:36px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-ink-soft)}.share-dialog__spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid var(--color-primary-line);border-top-color:var(--color-primary);animation:share-dialog-spin .9s linear infinite}@keyframes share-dialog-spin{to{transform:rotate(360deg)}}.share-dialog__error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.share-dialog__error-detail{margin:4px 12px 0;font-size:var(--text-xs);color:var(--color-ink-faint);text-align:center;word-break:break-word;max-width:320px;font-family:var(--font-mono)}.share-dialog__preview{width:100%;max-width:320px;height:auto;border-radius:var(--radius-md);box-shadow:0 12px 32px #1a1d2e1f;display:block}.share-dialog__hint{margin:0;font-size:var(--text-sm);color:var(--color-ink-soft);text-align:center;line-height:1.6;padding:0 8px}.share-dialog__hint strong{color:var(--color-primary);font-weight:600}.share-dialog__actions{display:flex;gap:10px;width:100%;max-width:320px}.share-dialog__btn{flex:1;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:600;font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.share-dialog__btn:active{background:var(--color-bg-tint)}.share-dialog__btn:disabled{opacity:.6;cursor:default}.share-dialog__btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.share-dialog__btn--primary:active{background:var(--color-primary-soft)}.share-dialog__close{position:absolute;top:10px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-tint);color:var(--color-ink-faint);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.share-dialog__close:active{background:var(--color-divider)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1500}.confetti__piece{position:absolute;top:-8vh;border-radius:2px;opacity:0;will-change:transform,opacity;animation:confettiFall var(--dur) var(--delay) cubic-bezier(.25,.6,.45,1) forwards}.confetti__piece--round{border-radius:50%}@keyframes confettiFall{0%{opacity:0;transform:translateZ(0) rotate(0)}8%{opacity:1}to{opacity:0;transform:translate3d(var(--x),120vh,0) rotate(var(--rot))}}@media (prefers-reduced-motion: reduce){.confetti{display:none}}.milestone{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1100}.milestone__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1d2e80;animation:milestoneFade var(--duration-base) var(--ease-out)}@keyframes milestoneFade{0%{opacity:0}to{opacity:1}}.milestone__card{position:relative;z-index:1;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:340px;padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);animation:milestonePop var(--duration-base) var(--ease-spring)}@keyframes milestonePop{0%{opacity:0;transform:scale(.8) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.milestone__emoji{font-size:4rem;line-height:1;animation:milestoneEmoji .6s var(--ease-spring) .1s both}@keyframes milestoneEmoji{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}.milestone__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-ink)}.milestone__subtitle{margin:0;font-size:var(--text-sm);color:var(--color-ink-soft)}.milestone__actions{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);width:100%}.milestone__btn{padding:12px var(--space-5);border-radius:var(--radius-pill);border:1.5px solid var(--color-divider);background:var(--color-surface);color:var(--color-ink-soft);font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast)}.milestone__btn:active{transform:scale(.97)}.milestone__btn--primary{background:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-md)}@media (prefers-reduced-motion: reduce){.milestone__card,.milestone__emoji,.milestone__backdrop{animation:none}}.checkin-page{min-height:100vh;min-height:100dvh;padding-bottom:var(--space-12)}.checkin-header{display:none}.checkin-stats{max-width:var(--max-content);margin:var(--space-6) auto var(--space-4);padding:0 var(--space-4);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.stat-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2);text-align:center;box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-mono);font-feature-settings:"tnum" on;font-size:var(--text-lg);font-weight:700;color:var(--color-primary);line-height:1.1}.stat-label{font-size:var(--text-xs);color:var(--color-ink-faint);margin-top:4px}.stat-card--streak{grid-column:1 / -1;background:var(--color-primary-tint);border-color:var(--color-primary-line);padding:var(--space-4) var(--space-3)}.stat-streak{display:flex;align-items:baseline;justify-content:center;gap:4px}.stat-streak__icon{align-self:center;font-size:20px;line-height:1}.stat-card--streak .stat-value{font-size:40px;line-height:1}.stat-streak__unit{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--color-accent)}.stat-card--streak .stat-label{margin-top:6px;color:var(--color-primary);font-weight:600}.checkin-today{max-width:var(--max-content);margin:0 auto var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);margin-left:var(--space-4);margin-right:var(--space-4);box-shadow:var(--shadow-sm)}.checkin-today-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4)}.checkin-today-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink);display:inline-flex;align-items:center;gap:var(--space-2)}.checkin-backfill-chip{font-family:var(--font-body, inherit);font-size:var(--text-xs);font-weight:600;color:var(--color-ink-soft);background:var(--color-bg-tint);border:1px solid var(--color-divider);border-radius:var(--radius-pill);padding:2px 8px;letter-spacing:.02em}.checkin-backfill-chip--full{color:var(--color-warning);background:#e8a4401f;border-color:#e8a4404d}.checkin-today-head__actions{display:flex;align-items:center;gap:var(--space-2)}.checkin-add-btn{width:32px;height:32px;border-radius:var(--radius-pill);border:1px solid var(--color-primary-line);background:var(--color-primary-tint);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;transition:background var(--duration-fast),transform var(--duration-fast),border-color var(--duration-fast);-webkit-tap-highlight-color:transparent}.checkin-add-btn:hover{background:var(--color-primary-line);border-color:var(--color-primary-line)}.checkin-add-btn:active{transform:scale(.92)}.checkin-add-btn svg{width:18px;height:18px}.checkin-share-btn{width:32px;height:32px;border-radius:var(--radius-pill);border:1px solid var(--color-primary-line);background:transparent;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;transition:background var(--duration-fast),transform var(--duration-fast),border-color var(--duration-fast);-webkit-tap-highlight-color:transparent}.checkin-share-btn:hover{background:var(--color-primary-tint);border-color:var(--color-primary-line)}.checkin-share-btn:active{transform:scale(.92)}.checkin-share-btn svg{width:16px;height:16px}.ghost-btn{background:transparent;border:1px solid var(--color-primary-line);color:var(--color-primary);padding:6px 14px;border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-xs);font-family:inherit;font-weight:500;transition:background var(--duration-fast)}.ghost-btn:hover{background:var(--color-primary-tint)}.primary-btn{background:var(--gradient-brand);color:#fff;border:none;padding:10px 22px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-family:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--duration-fast)}.primary-btn:active{transform:scale(.98)}.checkin-empty{text-align:center;padding:var(--space-8) var(--space-4)}.checkin-empty__icon{font-size:2.5rem;margin-bottom:var(--space-2)}.checkin-empty p{margin:0 0 var(--space-4);color:var(--color-ink-faint);font-size:var(--text-sm)}.checkin-items{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.checkin-item{position:relative;display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:var(--space-3);padding:12px var(--space-3);background:var(--color-surface);border:1.5px solid var(--color-divider);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;text-align:left;transition:transform var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.checkin-item:active{transform:scale(.99)}.checkin-item--done{background:#5fb28514;border-color:#5fb28573}.checkin-item__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tint);border-radius:var(--radius-md);flex-shrink:0}.checkin-item--done .checkin-item__icon{background:#5fb28526}.checkin-item__text{display:flex;flex-direction:column;min-width:0}.checkin-item__name{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);color:var(--color-ink)}.checkin-item__note{font-size:var(--text-xs);color:var(--color-ink-faint);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-item__time{font-size:var(--text-xs);color:var(--color-success);margin-top:2px;font-weight:600;letter-spacing:.02em}.checkin-item__check{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-ink-ghost);font-size:.95rem;font-weight:700;color:transparent;display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast);flex-shrink:0;position:relative}.checkin-item--done .checkin-item__check{border-color:var(--color-success);background:var(--color-success);color:#fff}.checkin-item__menu{font-size:1.4rem;color:var(--color-ink-faint);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast);-webkit-user-select:none;user-select:none;flex-shrink:0}.checkin-item__menu:hover{background:var(--color-primary-tint);color:var(--color-primary)}.checkin-error{margin-top:var(--space-3);color:var(--color-danger);font-size:var(--text-xs)}.checkin-pending{margin-top:var(--space-3);padding:8px 12px;background:#e8a4401a;border:1px solid rgba(232,164,64,.35);border-radius:var(--radius-sm);color:#8a6a00;font-size:var(--text-xs);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.checkin-pending .ghost-btn{padding:4px 10px;font-size:11px;border-color:#e8a44080;color:#8a6a00}.checkin-calendar{max-width:var(--max-content);margin:var(--space-4) auto;margin-left:var(--space-4);margin-right:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.calendar-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.calendar-head .ghost-btn{font-size:1.1rem;padding:4px 12px;min-width:32px}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-2) 0 var(--space-4);font-size:var(--text-xs);color:var(--color-ink-faint)}.calendar-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}.dot--all{background:var(--color-success)}.dot--partial{background:var(--color-warning)}.dot--none{background:transparent;border:1px solid var(--color-ink-ghost);width:7px;height:7px}.dot--rest{background:var(--color-ink-ghost);opacity:.5}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-weekday{text-align:center;font-size:11px;color:var(--color-ink-ghost);padding:4px 0;font-family:var(--font-display);font-weight:500;letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;transition:opacity var(--duration-base)}.calendar-grid.is-loading{opacity:.5}.calendar-cell{aspect-ratio:1;border:1px solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--color-ink);cursor:pointer;transition:transform var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast);font:inherit;padding:4px}@media (hover: hover){.calendar-cell:hover:not(:disabled){border-color:var(--color-primary-line)}}.calendar-cell--empty{background:transparent;border:none;cursor:default}.calendar-cell--all{background:#5fb2851a;border-color:#5fb28580}.calendar-cell--partial{background:#e8a44014;border-color:#e8a44073}.calendar-cell--rest .calendar-cell__day{color:var(--color-ink-ghost);opacity:.6}.calendar-cell--today{outline:1.5px solid var(--color-primary);outline-offset:-1.5px}.calendar-cell--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-tint);z-index:1}.calendar-cell--selected-past{border-color:var(--color-ink-faint)}.calendar-cell:focus,.calendar-cell:focus-visible{outline:none}.calendar-cell--today:focus,.calendar-cell--today:focus-visible{outline:1.5px solid var(--color-primary);outline-offset:-1.5px}.calendar-cell--future{opacity:.4;cursor:not-allowed}.calendar-cell__day{font-family:var(--font-mono);font-feature-settings:"tnum" on;font-weight:500;font-size:var(--text-sm);color:var(--color-ink)}.calendar-cell--all .calendar-cell__day{color:var(--color-success);font-weight:600}.calendar-cell--partial .calendar-cell__day{color:var(--color-warning);font-weight:600}.calendar-cell--today .calendar-cell__day{color:var(--color-primary);font-weight:700}.calendar-cell__count{font-size:9px;color:var(--color-ink-faint);margin-top:1px;line-height:1}.calendar-cell--all .calendar-cell__count{color:var(--color-success)}.calendar-cell--partial .calendar-cell__count{color:var(--color-warning)}.ci-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1a1d2e66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.ci-modal__card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3);max-height:90vh;overflow-y:auto}.ci-modal__card h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-md);color:var(--color-ink);font-weight:600}.ci-presets{display:flex;flex-direction:column;gap:var(--space-2)}.ci-presets__label{font-size:var(--text-xs);color:var(--color-ink-faint);font-weight:500;letter-spacing:.03em}.ci-presets__chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.ci-preset-chip{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--color-divider);background:var(--color-bg);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);min-width:0}.ci-preset-chip:hover{background:var(--color-primary-tint);border-color:var(--color-primary-line)}.ci-preset-chip__icon{font-size:1.1rem;flex-shrink:0}.ci-modal__row--icon-name{display:grid;grid-template-columns:88px 1fr;gap:var(--space-2)}.ci-modal__field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--color-ink-faint)}.ci-modal__field input{padding:12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--color-surface);color:var(--color-ink);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.ci-modal__field--icon input{text-align:center;font-size:1.4rem}.ci-modal__field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.ci-modal__error{color:var(--color-danger);font-size:var(--text-xs)}.ci-modal__actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);gap:var(--space-2)}.ci-modal__actions-right{display:flex;gap:var(--space-2);margin-left:auto}.ci-modal__btn{padding:8px 18px;border-radius:var(--radius-pill);border:none;font-family:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast)}.ci-modal__btn:disabled{opacity:.6;cursor:not-allowed}.ci-modal__btn.primary{background:var(--color-primary);color:#fff}.ci-modal__btn.primary:hover:not(:disabled){background:var(--color-primary-soft)}.ci-modal__btn.ghost{background:transparent;color:var(--color-ink-soft);border:1px solid var(--color-divider)}.ci-modal__btn.ghost:hover:not(:disabled){background:var(--color-bg-tint)}.ci-modal__btn.danger{background:transparent;color:var(--color-danger);border:1px solid rgba(214,72,58,.3)}.ci-modal__btn.danger:hover:not(:disabled){background:#d6483a14}@media (max-width: 480px){.checkin-today,.checkin-calendar{margin-left:var(--space-3);margin-right:var(--space-3);padding:var(--space-4)}.calendar-cell__day{font-size:var(--text-xs)}.calendar-cell__count{font-size:8px}.ci-presets__chips{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}}.checkin-item--celebrate .checkin-item__check{animation:checkPop .5s var(--ease-spring)}@keyframes checkPop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.checkin-item--celebrate .checkin-item__check:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--color-success);animation:checkRing .6s var(--ease-out) forwards}@keyframes checkRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion: reduce){.checkin-item--celebrate .checkin-item__check,.checkin-item--celebrate .checkin-item__check:after{animation:none}}.checkin-family{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-4)}.checkin-rest{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--space-6) var(--space-4);color:var(--color-ink-faint);font-family:var(--font-display);font-size:var(--text-base)}.checkin-rest__icon{font-size:1.3rem}.checkin-item__name{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.checkin-item__freq{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-tint);border:1px solid var(--color-primary-line);border-radius:var(--radius-pill);padding:1px 8px;line-height:1.45}.ci-freq__modes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:4px}.ci-freq__mode{padding:8px 0;border:1.5px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-bg-tint);color:var(--color-ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.ci-freq__mode.is-active{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.ci-freq__interval{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:var(--text-sm);color:var(--color-ink-soft)}.ci-freq__step{width:30px;height:30px;border-radius:var(--radius-sm);border:1.5px solid var(--color-primary-line);background:var(--color-surface);color:var(--color-primary);font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ci-freq__every{min-width:24px;text-align:center;font-weight:700;color:var(--color-ink);font-size:var(--text-md)}.ci-freq__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.ci-freq__day{aspect-ratio:1 / 1;border-radius:var(--radius-pill);border:1.5px solid var(--color-divider);background:var(--color-bg-tint);color:var(--color-ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ci-freq__day.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:600}.me-page{min-height:100vh;min-height:100dvh}.me-profile{max-width:var(--max-content);margin:0 auto;padding:var(--space-8) var(--space-4) var(--space-6);text-align:center}.me-profile__avatar{width:84px;height:84px;margin:0 auto var(--space-3);border-radius:50%;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:#fff;box-shadow:var(--shadow-lg)}.me-profile__name{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--color-ink)}.me-profile__sub{font-size:var(--text-sm);color:var(--color-ink-faint);margin-top:2px;overflow-wrap:anywhere;padding:0 var(--space-4)}.me-menu{max-width:var(--max-content);margin:0 auto var(--space-3);padding:0 var(--space-4);display:flex;flex-direction:column}.me-menu__item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:6px;text-decoration:none;color:var(--color-ink);font:inherit;font-size:var(--text-base);text-align:left;width:100%;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast)}.me-menu__item:hover{box-shadow:var(--shadow-sm);border-color:var(--color-primary-line)}.me-menu__item:active{transform:scale(.99);background:var(--color-primary-tint)}.me-theme{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:6px}.me-theme__title{font-size:var(--text-sm);color:var(--color-ink-faint);margin-bottom:var(--space-3)}.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.theme-card{display:flex;flex-direction:column;gap:6px;padding:0;border:none;background:none;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.theme-card__tile{position:relative;aspect-ratio:5 / 4;border-radius:var(--radius-md);border:1.5px solid var(--color-divider);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.theme-card__glyph{font-family:"Noto Serif SC",serif;font-size:1.9rem;font-weight:600;line-height:1;margin-bottom:7px}.theme-card__strip{position:absolute;left:0;right:0;bottom:0;height:7px;display:flex}.theme-card__strip i{flex:1}.theme-card__check{position:absolute;top:5px;right:5px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.theme-card__name{font-size:var(--text-sm);color:var(--color-ink-faint);text-align:center}.theme-card.is-active .theme-card__tile{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-tint),var(--shadow-sm)}.theme-card.is-active .theme-card__name{color:var(--color-primary);font-weight:600}.theme-card:active .theme-card__tile{transform:scale(.97)}.me-menu__icon{font-size:1.3rem;width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-primary-tint);border-radius:var(--radius-sm)}.me-menu__text{flex:1;display:flex;flex-direction:column;min-width:0}.me-menu__label{font-weight:600;font-size:var(--text-base);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-menu__desc{font-size:var(--text-xs);color:var(--color-ink-faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-menu__chevron{color:var(--color-ink-ghost);font-size:1.3rem;line-height:1;flex-shrink:0}.me-menu__item--danger{color:var(--color-danger)}.me-menu__item--danger .me-menu__icon{background:#d6483a14}.me-menu__item--danger .me-menu__label{color:var(--color-danger)}.me-footer{text-align:center;color:var(--color-ink-ghost);font-size:var(--text-xs);margin:var(--space-6) 0 var(--space-4);font-family:var(--font-display)}.me-footer__version{display:inline-block;margin-top:4px;font-family:var(--font-mono);font-size:.65rem;opacity:.7;letter-spacing:.02em}.me-profile__badge{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10.5px;font-weight:600;border-radius:var(--radius-pill);background:var(--color-primary-tint);color:var(--color-primary);vertical-align:middle}.me-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1a1d2e66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.me-modal__card{width:100%;max-width:360px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3)}.me-modal__card h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-md);color:var(--color-ink)}.me-modal__field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--color-ink-faint)}.me-modal__field input{padding:12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;background:var(--color-surface);color:var(--color-ink);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.me-modal__field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.me-modal__error{color:var(--color-danger);font-size:var(--text-xs)}.me-modal__hint{margin:0;color:var(--color-ink-faint);font-size:var(--text-xs);line-height:1.5}.me-modal__success{color:var(--color-success);font-size:var(--text-xs)}.me-modal__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);justify-content:flex-end}.me-modal__btn{padding:8px 18px;border-radius:var(--radius-pill);border:none;font-family:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast)}.me-modal__btn:disabled{opacity:.6;cursor:not-allowed}.me-modal__btn.primary{background:var(--color-primary);color:#fff}.me-modal__btn.primary:hover:not(:disabled){background:var(--color-primary-soft)}.me-modal__btn.ghost{background:transparent;color:var(--color-ink-soft);border:1px solid var(--color-divider)}.me-modal__btn.ghost:hover:not(:disabled){background:var(--color-bg-tint)}.settings-group{max-width:var(--max-content);margin:0 auto var(--space-4);padding:0 var(--space-4)}.settings-group:first-of-type{margin-top:var(--space-2)}.settings-group__title{margin:0 var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-faint);letter-spacing:.02em}.settings-group .me-menu{max-width:none;margin:0;padding:0}.anniv-page{min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden}.anniv-error{max-width:var(--max-content);margin:var(--space-4) auto;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#d6483a14;color:var(--color-danger);font-size:var(--text-sm)}.anniv-petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.anniv-petal{position:absolute;top:-32px;width:12px;height:12px;background:radial-gradient(circle at 30% 30%,#fab09e,#f97e6c 60%,transparent 70%);border-radius:60% 0;opacity:.55;animation:anniv-petal-fall linear infinite,anniv-petal-sway ease-in-out infinite alternate}@keyframes anniv-petal-fall{0%{transform:translateY(-40px) rotate(0)}to{transform:translateY(110vh) rotate(540deg)}}@keyframes anniv-petal-sway{0%{margin-left:0}to{margin-left:30px}}.anniv-upcoming{position:relative;z-index:1;max-width:var(--max-content);margin:var(--space-6) auto 0;padding:0 var(--space-4)}.anniv-upcoming__card{background:linear-gradient(135deg,var(--color-primary-tint) 0%,var(--color-accent-tint) 100%),var(--color-surface);border:1px solid var(--color-primary-line);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);text-align:center;box-shadow:var(--shadow-md)}.anniv-upcoming__eyebrow{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-primary);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-3)}.anniv-upcoming__countdown-label{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-ink-faint);font-family:var(--font-display);letter-spacing:.1em}.anniv-upcoming__title{display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--space-3);max-width:100%;flex-wrap:wrap;justify-content:center}.anniv-upcoming__icon{font-size:1.8rem;line-height:1}.anniv-upcoming__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.anniv-upcoming__countdown{display:inline-flex;align-items:baseline;gap:6px;margin:var(--space-2) 0 var(--space-2);flex-wrap:wrap;justify-content:center}.anniv-upcoming__days{font-family:var(--font-mono);font-feature-settings:"tnum" on;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:700;line-height:1;background:var(--gradient-sunset);-webkit-background-clip:text;background-clip:text;color:transparent}.anniv-upcoming__days-unit{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.anniv-upcoming__hms{font-family:var(--font-mono);font-feature-settings:"tnum" on;font-size:var(--text-md);font-weight:500;color:var(--color-ink-faint);margin-left:8px}.anniv-upcoming__date{color:var(--color-ink-faint);font-size:var(--text-sm);margin-top:var(--space-2);font-family:var(--font-display)}.anniv-counter{position:relative;z-index:1;max-width:var(--max-content);margin:var(--space-6) auto;padding:var(--space-10) var(--space-6) var(--space-8);text-align:center}.anniv-counter__label{color:var(--color-ink-faint);font-size:var(--text-sm);letter-spacing:.18em;margin:0 0 var(--space-3);text-transform:uppercase}.anniv-counter__display{display:inline-flex;align-items:baseline;gap:var(--space-2);color:var(--color-ink);max-width:100%;flex-wrap:wrap;justify-content:center}.anniv-counter__years{font-family:var(--font-mono);font-feature-settings:"tnum" on;font-size:var(--text-display);font-weight:700;line-height:1;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.anniv-counter__years-unit{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);font-weight:600}.anniv-counter__row{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-mono);font-feature-settings:"tnum" on;font-size:clamp(1rem,4vw,1.4rem);font-weight:500;color:var(--color-ink-soft);letter-spacing:.02em;display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:baseline;max-width:100%}.anniv-counter__row-unit{font-family:var(--font-body);font-size:var(--text-base);margin-right:var(--space-1);color:var(--color-ink-faint)}.anniv-counter__sep{margin:0 var(--space-3);color:var(--color-ink-faint)}.anniv-counter__row-sep{margin:0 1px;color:var(--color-ink-faint)}.anniv-counter__caption{margin:var(--space-4) 0 0;color:var(--color-ink-faint);font-size:var(--text-sm);font-family:var(--font-display)}.anniv-counter__total{margin:var(--space-2) 0 0;color:var(--color-ink-ghost);font-size:var(--text-xs)}.anniv-section-title{max-width:var(--max-content);margin:var(--space-8) auto var(--space-4);padding:0 var(--space-6);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-ink);letter-spacing:.02em}.anniv-timeline{position:relative;z-index:1}.anniv-timeline__list{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-6) var(--space-8)}.anniv-tl-item{display:grid;grid-template-columns:24px 1fr;gap:var(--space-4)}.anniv-tl-marker{display:flex;flex-direction:column;align-items:center}.anniv-tl-dot{width:14px;height:14px;border-radius:50%;background:var(--gradient-brand);margin-top:6px;box-shadow:0 0 0 4px var(--color-surface),0 0 0 5px var(--color-primary-line);flex-shrink:0}.anniv-tl-item--future .anniv-tl-dot{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-primary),0 0 0 4px var(--color-surface),0 0 0 5px var(--color-primary-line)}.anniv-tl-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--color-primary-line),transparent);margin-top:4px}.anniv-tl-content{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.anniv-tl-head{display:flex;align-items:center;gap:var(--space-2)}.anniv-tl-head h3{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.anniv-tl-item--repeat .anniv-tl-content{padding:12px 14px}.anniv-tl-item--repeat .anniv-tl-head h3{font-size:var(--text-base)}.anniv-tl-icon{font-size:1.2rem;line-height:1}.anniv-tl-date{display:block;margin-top:var(--space-1);color:var(--color-ink-faint);font-size:var(--text-xs);letter-spacing:.02em}.anniv-tl-desc{margin:var(--space-2) 0 var(--space-3);color:var(--color-ink-soft);font-size:var(--text-sm);line-height:1.6}.anniv-tl-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-primary-tint);color:var(--color-primary);font-size:var(--text-xs);font-weight:500}.anniv-tl-tag--future{background:var(--color-accent-tint);color:var(--color-accent)}.anniv-tl-item--future .anniv-tl-content{border-style:dashed}.anniv-family{position:relative;z-index:1}.anniv-family__list{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-6) var(--space-12)}.anniv-family__panel{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.anniv-family-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.anniv-family-row+.anniv-family-row{border-top:1px solid var(--color-divider)}.anniv-family-row__avatar{width:56px;height:56px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--color-primary-tint)}.anniv-family-row__avatar img{width:100%;height:100%;object-fit:cover}.anniv-family-row__body{min-width:0;flex:1}.anniv-family-row__name{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.anniv-family-row__role{margin:2px 0 0;color:var(--color-ink-faint);font-size:var(--text-xs)}.anniv-family-row__interests{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.anniv-family-row__interests li{font-size:var(--text-xs);padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-primary-tint);color:var(--color-primary)}.anniv-counter__total{word-break:break-word}.anniv-tl-desc{word-break:break-word;overflow-wrap:anywhere}@media (max-width: 480px){.anniv-counter{padding:var(--space-6) var(--space-4) var(--space-6)}}.list-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.list-dialog__card{background:#fff;border-radius:16px;padding:1.5rem;width:100%;max-width:360px;box-shadow:0 10px 40px #0003}.list-dialog__title{margin:0 0 1rem;font-size:1.1rem;color:#4a3d5a}.list-dialog__field{display:block;margin-bottom:.875rem}.list-dialog__field span{display:block;font-size:.85rem;color:#8b7a9e;margin-bottom:.25rem}.list-dialog__field input{width:100%;padding:.625rem .75rem;border:1px solid #e0d6e8;border-radius:10px;font-size:1rem;box-sizing:border-box}.list-dialog__field input:focus{outline:none;border-color:var(--color-primary)}.list-dialog__error{color:#d24c63;background:#ffeaef;padding:.5rem .75rem;border-radius:8px;margin-bottom:.75rem;font-size:.85rem}.list-dialog__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.list-dialog__btn{padding:.5rem 1rem;border-radius:10px;border:none;font-size:.9rem;cursor:pointer}.list-dialog__btn.ghost{background:#f3edf8;color:#8b7a9e}.list-dialog__btn.primary{background:var(--gradient-brand);color:#fff}.list-dialog__btn:disabled{opacity:.6;cursor:not-allowed}.list-dialog__field--tight{margin-bottom:.4rem}.list-dialog__icons{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.875rem}.list-dialog__icon-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;padding:0;border:1px solid #e0d6e8;border-radius:10px;background:#fff;cursor:pointer}.list-dialog__icon-btn.is-active{border-color:var(--color-primary);background:#f3edf8}.lists-page{padding:1rem 1rem 5rem;max-width:720px;margin:0 auto}.lists-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1rem}.lists-header h1{margin:0;font-size:1.4rem;color:var(--color-ink)}.lists-add-btn{background:var(--gradient-brand);color:#fff;border:none;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer}.lists-empty{text-align:center;color:var(--color-ink-faint);padding:3rem 1rem;font-size:.95rem}.lists-rows{display:flex;flex-direction:column;gap:.625rem}.list-row{position:relative;background:#fff;border-radius:14px;box-shadow:var(--shadow-sm)}.list-row--placeholder{height:64px;background:linear-gradient(135deg,#f8f3fc,#fef0f5);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.list-row__link{display:flex;align-items:center;gap:.875rem;padding:.75rem 2.75rem .75rem .875rem;text-decoration:none;color:inherit;border-radius:14px}.list-row__link:hover{background:var(--color-primary-tint)}.list-row__icon{font-size:1.6rem;flex-shrink:0;line-height:1}.list-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-row__name{font-size:1rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row__counts{font-size:.78rem;color:var(--color-ink-faint)}.list-row__chev{font-size:1.4rem;color:var(--color-ink-ghost);margin-left:.25rem;flex-shrink:0;line-height:1}.list-row__menu-wrap{position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.list-row__menu-trigger{background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:8px;color:var(--color-ink-faint);font-size:1.1rem;line-height:1}.list-row__menu-trigger:hover,.list-row__menu-trigger[aria-expanded=true]{background:var(--color-bg-tint)}.list-row__menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:100px;background:#fff;border:1px solid var(--color-divider);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;z-index:20}.list-row__menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;color:var(--color-ink);cursor:pointer;white-space:nowrap}.list-row__menu button:hover{background:var(--color-bg-tint)}.list-row--menu-open{z-index:30}.list-row--done{opacity:.6}.list-row--done .list-row__counts{color:#5aa17a}.list-detail-page{padding:1rem 1rem 5rem;max-width:720px;margin:0 auto}.list-detail-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.4rem;color:var(--color-ink);margin:.25rem 0 1rem}.list-detail-icon{font-size:1.6rem}.list-detail-edit-btn{background:none;border:none;color:var(--color-ink-faint);font-size:1rem;cursor:pointer;padding:.25rem .5rem}.list-detail-readonly{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#eef6f0;border:1px solid #cfe7d8;color:#3f7a5a;border-radius:12px;padding:.6rem .875rem;font-size:.85rem;margin-bottom:1rem}.list-detail-readonly button{flex:none;background:#fff;border:1px solid #bcdfca;color:#3f7a5a;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer}.list-detail-add{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;background:#fff;padding:.75rem;border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:1rem}.list-detail-add input[type=text]{border:1px solid var(--color-divider);border-radius:10px;padding:.5rem .75rem;font-size:1rem}.list-detail-add input[type=text]:focus{outline:none;border-color:var(--color-primary)}.list-detail-more,.list-detail-submit{border:none;border-radius:10px;padding:.5rem .875rem;font-size:.9rem;cursor:pointer}.list-detail-more{background:var(--color-bg-tint);color:var(--color-ink-faint)}.list-detail-submit{background:var(--gradient-brand);color:#fff}.list-detail-submit:disabled{opacity:.5;cursor:not-allowed}.list-detail-more-panel{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.list-detail-more-panel textarea,.list-detail-more-panel input[type=date]{border:1px solid var(--color-divider);border-radius:10px;padding:.5rem .75rem;font-size:1rem;font-family:inherit}.list-detail-empty,.list-detail-loading{text-align:center;color:var(--color-ink-faint);padding:2rem 1rem;font-size:.95rem}.list-detail-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.list-item{background:#fff;border-radius:12px;padding:.625rem .75rem;display:flex;align-items:flex-start;gap:.625rem;box-shadow:var(--shadow-sm)}.list-item--done .list-item__title{text-decoration:line-through;color:var(--color-ink-ghost)}.list-item__check{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-primary-line);background:#fff;cursor:pointer;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#fff;padding:0}.list-item__check.is-done{background:var(--color-primary);border-color:var(--color-primary)}.list-item__body{flex:1;min-width:0}.list-item__title{text-decoration:none;color:var(--color-ink);font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%}.list-item__due{font-size:.72rem;padding:1px 8px;border-radius:999px;background:var(--color-bg-tint);color:var(--color-ink-faint);font-weight:500}.list-item__due--overdue{background:#ffeaef;color:#d24c63}.list-item__due--today{background:#fff3e0;color:#d97706}.list-item__due--soon{background:#e9f7ee;color:#1f9254}.list-item__due--future{background:var(--color-bg-tint);color:var(--color-ink-faint)}.list-item__note{font-size:.82rem;color:var(--color-ink-faint);margin-top:.25rem;white-space:pre-wrap}.list-item__meta{font-size:.72rem;color:var(--color-ink-ghost);margin-top:.25rem}.list-item__messages{background:var(--color-bg-tint);color:var(--color-ink-faint);border:none;border-radius:999px;padding:2px 8px;font-size:.78rem;text-decoration:none;white-space:nowrap;flex-shrink:0;margin-right:.25rem}.list-item__messages:hover{background:var(--color-primary-tint)}.list-item__delete{background:none;border:none;color:var(--color-ink-ghost);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;flex-shrink:0}.list-item__delete:hover{color:#d24c63}.list-item__assignee{display:inline-flex;align-items:center;gap:4px;margin-left:6px;color:var(--color-ink-soft)}.list-item__assignee-av{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}html.item-detail-active,html.item-detail-active body,html.item-detail-active #root{height:100%;overflow:hidden}.item-detail-page{height:var(--item-detail-height, 100dvh);max-width:720px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}.item-detail__topbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:linear-gradient(180deg,#e5def7f2,#fee0d5eb);border-bottom:1px solid var(--color-primary-line)}.item-detail__back{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--color-primary);-webkit-tap-highlight-color:transparent}.item-detail__back:active{background:var(--color-primary-line)}.item-detail__back svg{width:22px;height:22px}.item-detail__topbar-title{flex:1;min-width:0;font-weight:700;font-size:1.05rem;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card{flex:0 0 auto;background:#fff;border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm);margin:1rem 1rem 0;position:relative}.item-card__head{display:flex;align-items:flex-start;gap:.75rem}.item-card__check{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-primary-line);background:#fff;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;padding:0;margin-top:4px}.item-card__check.is-done{background:var(--color-primary);border-color:var(--color-primary)}.item-card__title{flex:1;margin:0;font-size:1.15rem;color:var(--color-ink);font-weight:600;display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.item-card__title.is-done{text-decoration:line-through;color:var(--color-ink-ghost)}.item-card__due{font-size:.72rem;padding:1px 8px;border-radius:999px;background:var(--color-bg-tint);color:var(--color-ink-faint);font-weight:500}.item-card__due--overdue{background:#ffeaef;color:#d24c63}.item-card__due--today{background:#fff3e0;color:#d97706}.item-card__due--soon{background:#e9f7ee;color:#1f9254}.item-card__due--future{background:var(--color-bg-tint);color:var(--color-ink-faint)}.item-card__menu{position:absolute;top:.5rem;right:.5rem}.item-card__menu summary{list-style:none;cursor:pointer;padding:.25rem .5rem;border-radius:8px;color:var(--color-ink-faint);font-size:1.1rem;line-height:1}.item-card__menu summary::-webkit-details-marker{display:none}.item-card__menu summary:hover{background:var(--color-bg-tint)}.item-card__menu[open] summary{background:var(--color-bg-tint)}.item-card__menu[open]{background:#fff;border:1px solid var(--color-divider);border-radius:10px;box-shadow:var(--shadow-md);z-index:5}.item-card__menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .875rem;font-size:.875rem;color:var(--color-ink);cursor:pointer;white-space:nowrap}.item-card__menu button:hover{background:var(--color-bg-tint)}.item-card__note{margin:.75rem 0 0;color:var(--color-ink-soft);font-size:.9rem;white-space:pre-wrap}.item-card__meta{margin:.75rem 0 0;color:var(--color-ink-ghost);font-size:.75rem}.messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem;padding-bottom:calc(1rem + var(--item-detail-keyboard-offset, 0px));margin:0;transition:padding-bottom .2s ease}html.item-detail-keyboard-priming .messages{transition:none}.messages__title{margin:0 0 .5rem;font-size:.95rem;color:var(--color-ink-faint);font-weight:600}.messages__empty,.messages__loading{text-align:center;color:var(--color-ink-ghost);padding:2rem 1rem;font-size:.9rem}.messages__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}.message{display:flex;gap:.625rem;align-items:flex-start}.message__avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600}.message__body{flex:1;min-width:0;background:#fff;border-radius:12px;padding:.5rem .75rem;box-shadow:var(--shadow-sm)}.message__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.message__author{font-size:.78rem;color:var(--color-ink-soft);font-weight:600}.message__time{font-size:.7rem;color:var(--color-ink-ghost);flex:1}.message__delete{background:none;border:none;color:var(--color-ink-ghost);cursor:pointer;padding:0;width:20px;height:20px;font-size:1rem;line-height:1}.message__delete:hover{color:#d24c63}.message__content{color:var(--color-ink);font-size:.9rem;white-space:pre-wrap;word-break:break-word}.message-input{flex:0 0 auto;position:relative;z-index:2;background:#fff;border-top:1px solid var(--color-divider);padding:.625rem .75rem;padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px));display:flex;gap:.5rem;align-items:flex-end;transform:translateY(calc(-1 * var(--item-detail-keyboard-offset, 0px)));will-change:transform;transition:transform .2s ease,padding-bottom .2s ease}html.item-detail-keyboard-open .message-input{padding-bottom:.625rem}html.item-detail-keyboard-priming .message-input{transition:none}.message-input textarea{flex:1;border:1px solid var(--color-divider);border-radius:12px;padding:.5rem .75rem;font-size:1rem;font-family:inherit;resize:none;max-height:100px}.message-input textarea:focus{outline:none;border-color:var(--color-primary)}.message-input button{background:var(--gradient-brand);color:#fff;border:none;border-radius:12px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;flex-shrink:0}.message-input button:disabled{opacity:.5;cursor:not-allowed}.item-assign{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-divider)}.item-assign__label{font-size:.8rem;color:var(--color-ink-faint);flex-shrink:0}.item-assign__opts{display:flex;gap:.4rem;flex-wrap:wrap}.item-assign__opt{display:inline-flex;align-items:center;gap:.35rem;background:var(--color-bg-tint);border:1.5px solid transparent;border-radius:999px;padding:3px 10px 3px 3px;font-size:.82rem;color:var(--color-ink);cursor:pointer}.item-assign__opt.is-active{border-color:var(--color-primary);background:var(--color-primary-tint)}.item-assign__avatar{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--bar-surface);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-top:1px solid var(--bar-line);padding-bottom:env(safe-area-inset-bottom,0px)}.tab-bar__inner{max-width:720px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);height:60px}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-ink-faint);text-decoration:none;transition:color .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.tab-bar__item:active{transform:scale(.94)}.tab-bar__item--active{color:var(--color-primary)}.tab-bar__icon{width:24px;height:24px;display:block}.tab-bar__icon svg{width:100%;height:100%;display:block}.tab-bar__label{font-size:10px;line-height:1;font-weight:500;letter-spacing:.05em}.tab-bar__item--active .tab-bar__label{font-weight:600}@media (min-width: 1024px){.tab-bar__inner{height:56px;max-width:540px}.tab-bar__icon{width:22px;height:22px}}@media (max-width: 360px){.tab-bar__label{font-size:9px}.tab-bar__icon{width:20px;height:20px}}.update-status-badge{position:fixed;right:12px;bottom:calc(68px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;font-size:12px;line-height:1;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.update-status-badge--visible{opacity:1;transform:translateY(0)}.update-status-badge__spinner{display:inline-block;animation:update-status-badge-spin 1s linear infinite}@keyframes update-status-badge-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 1024px){.update-status-badge{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.app-shell__main{flex:1 1 auto;padding-top:calc(52px + env(safe-area-inset-top,0px))}@media (min-width: 1024px){.app-shell{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}}.app-shell__update-banner{position:fixed;top:calc(60px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:60;background:var(--gradient-brand);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:500;box-shadow:var(--shadow-md);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:app-shell-banner-in .22s cubic-bezier(.16,1,.3,1);white-space:nowrap}.app-shell__update-banner:active{transform:translate(-50%) scale(.97)}@keyframes app-shell-banner-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.install-prompt--ios{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:10000;pointer-events:none;animation:install-slide-up .35s cubic-bezier(.2,.9,.3,1.2)}@keyframes install-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt__card{position:relative;background:#fffffff7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:18px;padding:18px 16px 14px;box-shadow:0 16px 40px var(--color-primary-line),0 4px 12px var(--color-primary-tint);border:1px solid var(--color-primary-line);max-width:360px;margin:0 auto;pointer-events:auto}.install-prompt__close{position:absolute;top:8px;right:10px;background:transparent;border:none;width:26px;height:26px;line-height:1;font-size:1.5rem;color:#9b8ab0;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:inherit}.install-prompt__close:hover{background:var(--color-primary-tint);color:var(--color-primary)}.install-prompt__icon{font-size:2rem;text-align:center;margin-bottom:4px}.install-prompt__title{text-align:center;font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:12px}.install-prompt__steps{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.install-prompt__step{display:flex;align-items:center;gap:10px;font-size:.88rem;color:#4a3b62}.install-prompt__step-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--gradient-brand);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}.install-prompt__later{width:100%;background:var(--color-primary-tint);border:1px solid var(--color-primary-line);color:var(--color-primary);border-radius:10px;padding:8px;font-size:.85rem;cursor:pointer;font:inherit;font-weight:500}.install-prompt__later:hover{background:var(--color-primary-line)}.install-prompt__pointer{text-align:center;margin-top:6px;pointer-events:none;color:var(--color-primary);font-size:1.4rem;animation:install-bounce 1.4s ease-in-out infinite;text-shadow:0 2px 8px var(--color-primary-line)}@keyframes install-bounce{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(4px);opacity:1}}.install-prompt--native{position:fixed;left:0;right:0;bottom:0;z-index:10000;animation:install-slide-up .3s ease-out}.install-prompt__bar{background:var(--gradient-brand);color:#fff;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;align-items:center;gap:10px;box-shadow:0 -6px 20px #0000001f}.install-prompt__bar-text{flex:1;font-size:.95rem;font-weight:500}.install-prompt__bar-btn{background:#fff;color:var(--color-primary);border:none;border-radius:10px;padding:8px 14px;font-size:.88rem;cursor:pointer;font:inherit;font-weight:600}.install-prompt__bar-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}@media (max-width: 380px){.install-prompt--ios{left:8px;right:8px}.install-prompt__card{padding:14px 12px 10px}}:root{--color-primary: #6a5acd;--color-primary-soft: #8a7be0;--color-primary-tint: rgba(106, 90, 205, .08);--color-primary-line: rgba(106, 90, 205, .16);--color-accent: #f97e6c;--color-accent-soft: #fab09e;--color-accent-tint: rgba(249, 126, 108, .1);--color-secondary: #48c6ef;--color-success: #5fb285;--color-warning: #e8a440;--color-danger: #d6483a;--color-ink: #1a1d2e;--color-ink-soft: #4a4e63;--color-ink-faint: #8b8fa5;--color-ink-ghost: #c4c7d5;--color-surface: #ffffff;--color-surface-elev: #ffffff;--color-bg: #fbfaf7;--color-bg-tint: #f3f0fa;--color-divider: rgba(26, 29, 46, .06);--gradient-brand: linear-gradient(135deg, #6a5acd 0%, #48c6ef 100%);--gradient-sunset: linear-gradient(135deg, #f97e6c 0%, #f5b400 100%);--gradient-bg: radial-gradient(120% 100% at 0% 0%, #f7f1ff 0%, #fbfaf7 35%, #fbfaf7 70%, #fff6f0 100%);--header-bg: linear-gradient(180deg, rgba(229, 222, 247, .85) 0%, rgba(254, 224, 213, .78) 100%);--bar-surface: rgba(255, 255, 255, .82);--bar-line: rgba(106, 90, 205, .12);--app-texture: none;--app-texture-size: auto;--font-display: "Noto Serif SC", "PingFang SC", "Songti SC", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--text-xs: .72rem;--text-sm: .85rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: clamp(1.15rem, 4.5vw, 1.4rem);--text-xl: clamp(1.3rem, 5.5vw, 1.875rem);--text-2xl: clamp(1.75rem, 8vw, 2.5rem);--text-3xl: clamp(2.4rem, 11vw, 3.75rem);--text-display: clamp(3rem, 14vw, 5.5rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(26, 29, 46, .04);--shadow-md: 0 4px 16px rgba(106, 90, 205, .08);--shadow-lg: 0 20px 50px rgba(106, 90, 205, .12);--shadow-warm: 0 8px 28px rgba(249, 126, 108, .18);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.2, .9, .3, 1.2);--duration-fast: .15s;--duration-base: .25s;--max-content: 720px}:root{font-family:var(--font-body);font-feature-settings:"ss01","cv11";line-height:1.55;font-weight:400;color:var(--color-ink);background-color:var(--color-bg);color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box;min-width:0}html,body{overflow-x:hidden;max-width:100%}body{margin:0;min-height:100vh;background-color:var(--color-bg);background-image:var(--app-texture),var(--gradient-bg);background-repeat:repeat,no-repeat;background-size:var(--app-texture-size),auto;background-attachment:fixed,fixed}a{color:inherit;text-decoration:none}img,video,canvas,svg{max-width:100%;height:auto;display:block}.tnum,.font-mono{font-family:var(--font-mono);font-feature-settings:"tnum" on,"lnum" on}.font-display{font-family:var(--font-display);letter-spacing:-.01em}button,a{-webkit-tap-highlight-color:transparent}input,textarea,select{font:inherit;font-size:max(16px,1em)}:root[data-theme=gypsy]{--color-primary: #c26a48;--color-primary-soft: #d4856a;--color-primary-tint: rgba(194, 106, 72, .1);--color-primary-line: rgba(194, 106, 72, .22);--color-accent: #e0a23c;--color-accent-soft: #ecc079;--color-accent-tint: rgba(224, 162, 60, .14);--color-secondary: #b05c3c;--color-success: #7a9b54;--color-warning: #e0a23c;--color-danger: #b3402f;--color-ink: #3f332a;--color-ink-soft: #7a6a5a;--color-ink-faint: #a8967f;--color-ink-ghost: #cdbfa8;--color-surface: #faf4e8;--color-surface-elev: #fffaf0;--color-bg: #f0e7d6;--color-bg-tint: #e8dcc6;--color-divider: rgba(63, 51, 42, .1);--font-script: "Ma Shan Zheng", "Noto Serif SC", serif;--font-mono: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 26px;--header-bg: linear-gradient(180deg, rgba(231, 213, 184, .9) 0%, rgba(240, 212, 178, .82) 100%);--bar-surface: rgba(250, 244, 232, .85);--bar-line: rgba(63, 51, 42, .12);--app-texture: radial-gradient(circle, rgba(63, 51, 42, .05) 1.2px, transparent 1.4px);--app-texture-size: 18px 18px;--gradient-brand: linear-gradient(135deg, #c26a48 0%, #b05c3c 100%);--gradient-sunset: linear-gradient(135deg, #c26a48 0%, #e0a23c 100%);--gradient-bg: radial-gradient( 120% 100% at 0% 0%, #f3ebd9 0%, #f0e7d6 35%, #f0e7d6 70%, #f4e6cf 100% );--shadow-sm: 0 1px 3px rgba(63, 51, 42, .07);--shadow-md: 0 6px 20px rgba(176, 92, 60, .12);--shadow-lg: 0 20px 50px rgba(63, 51, 42, .14);--shadow-warm: 0 8px 28px rgba(224, 162, 60, .22)}:root[data-theme=gypsy] .page-header__title,:root[data-theme=gypsy] .home-hero__title{font-family:var(--font-script)}:root[data-theme=gypsy] .checkin-item__check,:root[data-theme=gypsy] .list-item__check,:root[data-theme=gypsy] .item-card__check{border-radius:7px}:root[data-theme=gypsy] .list-item__check.is-done,:root[data-theme=gypsy] .item-card__check.is-done{background:var(--color-success);border-color:var(--color-success)}:root[data-theme=gypsy] .anniv-tl-dot{background:var(--color-surface);box-shadow:inset 0 0 0 2.5px var(--color-accent),0 0 0 3px var(--color-surface)}:root[data-theme=gypsy] .anniv-tl-line{width:0;background:none;border-left:2px dashed var(--color-primary-line)}:root[data-theme=gypsy] .anniv-section-title:after{content:"◇ ◆ ◇";display:block;margin-top:5px;font-size:10px;letter-spacing:5px;color:var(--color-accent);opacity:.75}:root[data-theme=gypsy] .home-card__eyebrow,:root[data-theme=gypsy] .home-milestone-label,:root[data-theme=gypsy] .home-checkin-pill__name,:root[data-theme=gypsy] .home-mine-item__title,:root[data-theme=gypsy] .home-upcoming-group__name,:root[data-theme=gypsy] .home-upcoming-title,:root[data-theme=gypsy] .checkin-item__name,:root[data-theme=gypsy] .checkin-today-head h2,:root[data-theme=gypsy] .calendar-head h2,:root[data-theme=gypsy] .anniv-section-title,:root[data-theme=gypsy] .anniv-tl-head h3,:root[data-theme=gypsy] .anniv-upcoming__name,:root[data-theme=gypsy] .anniv-family-row__name,:root[data-theme=gypsy] .list-row__name,:root[data-theme=gypsy] .list-detail-header h1,:root[data-theme=gypsy] .list-item__title,:root[data-theme=gypsy] .item-card__title,:root[data-theme=gypsy] .item-detail__topbar-title,:root[data-theme=gypsy] .settings-group__title,:root[data-theme=gypsy] .me-menu__label{font-family:var(--font-script);font-weight:400}:root[data-theme=ink]{--color-primary: #a83c2d;--color-primary-soft: #c25a45;--color-primary-tint: rgba(168, 60, 45, .1);--color-primary-line: rgba(168, 60, 45, .22);--color-accent: #b5402f;--color-accent-soft: #cd6a52;--color-accent-tint: rgba(181, 64, 47, .12);--color-secondary: #6d6860;--color-success: #4f5b51;--color-warning: #8a6a33;--color-danger: #9e3526;--color-ink: #2c2722;--color-ink-soft: #574f44;--color-ink-faint: #6f6658;--color-ink-ghost: #8f8675;--color-surface: #f5f6f4;--color-surface-elev: #fafbf9;--color-bg: #eceeed;--color-bg-tint: #e1e4e2;--color-divider: rgba(44, 39, 34, .1);--font-script: "Ma Shan Zheng", "Noto Serif SC", "Songti SC", serif;--font-mono: "Noto Serif SC", "Songti SC", "Songti TC", "STSong", serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--header-bg: linear-gradient(180deg, rgba(240, 242, 240, .92) 0%, rgba(228, 231, 229, .86) 100%);--bar-surface: rgba(244, 246, 244, .88);--bar-line: rgba(44, 39, 34, .1);--app-texture: radial-gradient(circle at 50% 50%, rgba(44, 39, 34, .04) .5px, transparent .85px);--app-texture-size: 6px 6px;--gradient-brand: linear-gradient(135deg, #a83c2d 0%, #8f3024 100%);--gradient-sunset: linear-gradient(135deg, #b5402f 0%, #c9893f 100%);--gradient-bg: radial-gradient( 120% 100% at 12% 0%, #f1f3f1 0%, #eceeed 38%, #eceeed 70%, #e4e7e4 100% );--shadow-sm: 0 1px 2px rgba(44, 39, 34, .05);--shadow-md: 0 4px 16px rgba(44, 39, 34, .07);--shadow-lg: 0 18px 44px rgba(44, 39, 34, .1);--shadow-warm: 0 6px 24px rgba(168, 60, 45, .12)}:root[data-theme=ink] .page-header__title,:root[data-theme=ink] .home-hero__title{font-family:var(--font-script);font-weight:400;color:var(--color-ink);letter-spacing:.04em;text-shadow:0 .5px 0 rgba(44,39,34,.06)}:root[data-theme=ink] .home-card__eyebrow,:root[data-theme=ink] .home-milestone-label,:root[data-theme=ink] .home-checkin-pill__name,:root[data-theme=ink] .home-mine-item__title,:root[data-theme=ink] .home-upcoming-group__name,:root[data-theme=ink] .home-upcoming-title,:root[data-theme=ink] .checkin-item__name,:root[data-theme=ink] .checkin-today-head h2,:root[data-theme=ink] .calendar-head h2,:root[data-theme=ink] .anniv-section-title,:root[data-theme=ink] .anniv-tl-head h3,:root[data-theme=ink] .anniv-upcoming__name,:root[data-theme=ink] .anniv-family-row__name,:root[data-theme=ink] .list-row__name,:root[data-theme=ink] .list-detail-header h1,:root[data-theme=ink] .list-item__title,:root[data-theme=ink] .item-card__title,:root[data-theme=ink] .item-detail__topbar-title,:root[data-theme=ink] .settings-group__title,:root[data-theme=ink] .me-menu__label{font-family:var(--font-script);font-weight:400}:root[data-theme=ink] .home-hero__quote{color:var(--color-ink-soft)}:root[data-theme=ink] .home-card__metric strong{color:var(--color-ink)}:root[data-theme=ink] .checkin-item__check,:root[data-theme=ink] .list-item__check,:root[data-theme=ink] .item-card__check{border-radius:var(--radius-sm)}:root[data-theme=ink] .list-item__check,:root[data-theme=ink] .item-card__check{background:var(--color-surface)}:root[data-theme=ink] .list-item__check.is-done,:root[data-theme=ink] .item-card__check.is-done,:root[data-theme=ink] .checkin-item--done .checkin-item__check{background:var(--color-primary);border-color:var(--color-primary);color:#fff}:root[data-theme=ink] .home-card__eyebrow{display:inline-flex;align-items:center;gap:7px}:root[data-theme=ink] .home-card__eyebrow:before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:2px;background:var(--color-primary)}:root[data-theme=ink] .anniv-tl-dot{background:var(--color-ink);box-shadow:0 0 0 3px var(--color-surface),0 1px 6px 2px #2c272233}:root[data-theme=ink] .anniv-tl-item--future .anniv-tl-dot{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-primary),0 0 0 3px var(--color-surface)}:root[data-theme=ink] .anniv-tl-line{width:1.5px;background:linear-gradient(to bottom,#2c272280,#2c27220f);border:none}:root[data-theme=ink] .anniv-section-title{display:flex;align-items:center;gap:9px}:root[data-theme=ink] .anniv-section-title:after{content:"家";flex:0 0 auto;width:19px;height:19px;line-height:19px;text-align:center;font-family:var(--font-display);font-size:12px;font-weight:400;color:var(--color-surface);background:var(--color-primary);border-radius:4px}:root[data-theme=ink] .home-checkin-pill--done{background:var(--color-primary-tint);border-color:var(--color-primary-line);color:var(--color-ink)}:root[data-theme=ink] .home-checkin-pill--done .home-checkin-pill__status{color:var(--color-primary)}:root[data-theme=ink] .home-checkin-pill--placeholder{background:linear-gradient(90deg,var(--color-bg-tint) 0%,rgba(44,39,34,.05) 50%,var(--color-bg-tint) 100%);background-size:200% 100%}:root[data-theme=ink] .home-upcoming-group__name{color:var(--color-ink)}:root[data-theme=ink] .home-upcoming-item{color:var(--color-ink-soft)}:root[data-theme=ink] .home-upcoming-more{color:var(--color-ink-faint)}:root[data-theme=ink] .home-upcoming-due,:root[data-theme=ink] .home-upcoming-due--future{background:var(--color-bg-tint);color:var(--color-ink-faint)}:root[data-theme=ink] .home-upcoming-due--soon,:root[data-theme=ink] .list-item__due--soon,:root[data-theme=ink] .item-card__due--soon{background:#2c27220d;color:var(--color-ink-soft)}:root[data-theme=ink] .home-upcoming-due--today,:root[data-theme=ink] .list-item__due--today,:root[data-theme=ink] .item-card__due--today{background:#2c272217;color:var(--color-ink)}:root[data-theme=ink] .home-upcoming-due--overdue,:root[data-theme=ink] .list-item__due--overdue,:root[data-theme=ink] .item-card__due--overdue{background:var(--color-primary-tint);color:var(--color-primary)}:root[data-theme=ink] .list-row,:root[data-theme=ink] .list-row__menu,:root[data-theme=ink] .list-item,:root[data-theme=ink] .list-detail-add,:root[data-theme=ink] .item-card,:root[data-theme=ink] .item-card__menu[open],:root[data-theme=ink] .message__body,:root[data-theme=ink] .message-input{background:var(--color-surface)}:root[data-theme=ink] .list-row--placeholder{background:linear-gradient(90deg,var(--color-bg-tint) 0%,var(--color-surface) 50%,var(--color-bg-tint) 100%);background-size:200% 100%}:root[data-theme=ink] .list-row--done .list-row__counts{color:var(--color-ink-faint)}:root[data-theme=ink] .family-status--done{color:var(--color-success)}:root[data-theme=ink] .item-detail__topbar{background:linear-gradient(180deg,#eceeecf5,#e4e7e5eb)}:root[data-theme=ink] .checkin-item--done{background:var(--color-primary-tint);border-color:var(--color-primary-line)}:root[data-theme=ink] .checkin-item--done .checkin-item__icon{background:var(--color-primary-tint)}:root[data-theme=ink] .calendar-cell--all{background:#4f5b5124;border-color:#4f5b516b}:root[data-theme=ink] .calendar-cell--partial{background:#8a6a331f;border-color:#8a6a3366}:root[data-theme=ink] .checkin-pending{background:#8a6a331a;border-color:#8a6a3352;color:#7a5e2b}:root[data-theme=ink] .checkin-pending .ghost-btn{border-color:#8a6a3380;color:#7a5e2b}:root[data-theme=ink] .checkin-backfill-chip--full{background:#8a6a331f;border-color:#8a6a334d}:root[data-theme=ink] .anniv-error{background:var(--color-primary-tint)}:root[data-theme=ink] .anniv-petal{background:radial-gradient(circle at 30% 30%,#78706380,#5a544a38)}:root[data-theme=ink] .page-header--elevated{box-shadow:var(--shadow-md),0 2px 6px #2c27220f}
