@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.page-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,#e5def7d9,#fee0d5c7);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid rgba(106,90,205,.12);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:0 10px 28px #6a5acd24,0 2px 6px #1a1d2e0d;border-bottom-color:#6a5acd33}.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:#6a5acd14}.page-header__btn:active{background:#6a5acd29;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-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-wish-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.home-wish-item{display:flex;flex-direction:column;gap:2px;min-width:0}.home-wish-content{font-size:var(--text-base);color:var(--color-ink);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-wish-meta{font-size:var(--text-xs);color:var(--color-ink-faint)}.wishes-page{min-height:100vh;min-height:100dvh;padding-bottom:var(--space-12)}.wishes-header{text-align:center;margin:var(--space-6) auto var(--space-4);padding:0 var(--space-4)}.wishes-header h1{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 6px;color:var(--color-ink);font-weight:700;letter-spacing:-.01em}.wishes-header p{color:var(--color-ink-faint);font-size:var(--text-sm);margin:0}.wish-form{max-width:540px;margin:0 auto var(--space-8);padding:0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.wish-form input,.wish-form textarea{padding:12px 14px;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)}.wish-form input::placeholder,.wish-form textarea::placeholder{color:var(--color-ink-ghost)}.wish-form input:focus,.wish-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.wish-form textarea{resize:vertical;min-height:88px;line-height:1.5}.wish-form button{padding:12px 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)}.wish-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.wish-form button:active:not(:disabled){transform:scale(.99)}.wish-form button:disabled{opacity:.6;cursor:not-allowed}.wish-form__hint{margin-top:-6px;font-size:var(--text-xs);color:var(--color-ink-faint);padding-left:2px}.wishes-wall{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--space-3)}.no-wishes{grid-column:1 / -1;text-align:center;color:var(--color-ink-faint);font-size:var(--text-sm);padding:var(--space-8) var(--space-4)}.wish-card{position:relative;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast)}.wish-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--color-primary-line)}.wish-card--completed{background:var(--color-bg-tint);border-color:#5fb28540}.wish-card--completed .wish-content{color:var(--color-ink-faint)}.wish-actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:4px;opacity:0;transition:opacity var(--duration-fast)}@media (hover: none){.wish-actions{opacity:1}}.wish-card:hover .wish-actions,.wish-card:focus-within .wish-actions{opacity:1}.wish-action-btn{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast),transform var(--duration-fast);background:var(--color-bg-tint);color:var(--color-ink-soft);font-family:inherit}.wish-action-btn:active{transform:scale(.92)}.wish-action-btn--complete:hover{background:#5fb2852e;color:var(--color-success)}.wish-action-btn--complete.active{background:var(--color-success);color:#fff}.wish-action-btn--delete:hover{background:#d6483a1f;color:var(--color-danger)}.wish-completed-badge{display:inline-block;background:var(--color-success);color:#fff;font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);margin-right:6px;font-weight:600;vertical-align:middle}.wish-content{font-size:var(--text-base);color:var(--color-ink);line-height:1.55;margin-bottom:var(--space-3);word-break:break-word;overflow-wrap:anywhere}.wish-card--completed .wish-content{text-decoration:line-through}.wish-footer{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--color-ink-faint);padding-top:var(--space-2);border-top:1px dashed var(--color-divider)}.wish-author{font-style:normal;color:var(--color-primary);font-weight:500}.wish-date{font-family:var(--font-mono);font-feature-settings:"tnum" on}.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)}.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}}.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:repeat(3,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}.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)}.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:#6a5acd26;border-color:#6a5acd4d}.checkin-add-btn:active{transform:scale(.92)}.checkin-add-btn svg{width:18px;height:18px}.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__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}.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}.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}.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--today{outline:2px solid var(--color-accent);outline-offset:-2px}.calendar-cell--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-tint);z-index:1}.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-accent);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))}}.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-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-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)}.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,#6a5acd1a,#f97e6c1a),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__grid{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-6) var(--space-12);display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.anniv-family-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.anniv-family-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.anniv-family-card__avatar{width:64px;height:64px;margin:0 auto var(--space-3);border-radius:50%;overflow:hidden;background:var(--color-primary-tint)}.anniv-family-card__avatar img{width:100%;height:100%;object-fit:cover}.anniv-family-card h3{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.anniv-family-card__role{margin:2px 0 var(--space-2);color:var(--color-ink-faint);font-size:var(--text-xs)}.anniv-family-card__interests{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.anniv-family-card__interests li{font-size:10.5px;padding:2px 8px;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)}}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#ffffffd1;backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-top:1px solid rgba(106,90,205,.12);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:#9b8ab0;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:#6a5acd}.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}}.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))}}.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 #6a5acd40,0 4px 12px #6a5acd1a;border:1px solid rgba(106,90,205,.18);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:#6a5acd14;color:#6a5acd}.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:#6a5acd;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:linear-gradient(135deg,#6a5acd,#48c6ef);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}.install-prompt__later{width:100%;background:#6a5acd0f;border:1px solid rgba(106,90,205,.15);color:#6a5acd;border-radius:10px;padding:8px;font-size:.85rem;cursor:pointer;font:inherit;font-weight:500}.install-prompt__later:hover{background:#6a5acd1f}.install-prompt__pointer{text-align:center;margin-top:6px;pointer-events:none;color:#6a5acd;font-size:1.4rem;animation:install-bounce 1.4s ease-in-out infinite;text-shadow:0 2px 8px rgba(106,90,205,.4)}@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:linear-gradient(135deg,#6a5acd,#48c6ef);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:#6a5acd;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%);--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:var(--gradient-bg) 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)}
