:root{--font-instrument-sans:"Instrument Sans";--font-instrument-serif:"Instrument Serif";--font-plex-mono:"IBM Plex Mono";--paper:#f7f4ed;--paper-raised:#fffdf8;--ink:#171712;--muted:#6f6b61;--faint:#9e998e;--line:#d8d2c6;--line-soft:#e9e4da;--accent:#1f52ff;--accent-soft:#dfe6ff;--danger:#b7352d;--shadow:0 -24px 80px rgba(24,24,20,0.14);--shadow-card:0 2px 6px rgba(24,24,20,0.08);--radius-card:10px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--type-display:clamp(36px,6vw,52px);--type-page-title:28px;--type-section-title:22px;--type-category-title:18px;--type-body:16px;--type-label:14px;--type-meta:12px;--leading-heading:1.2;--leading-body:1.55;--space-paired:4px;--space-related:8px;--space-cluster:12px;--space-group:16px;--space-section:24px;--space-region:32px}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-instrument-sans),"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;background-color:var(--paper);background-image:url(/ui/diary/paper-texture.svg);background-repeat:repeat;background-size:360px 360px;font-size:var(--type-body);line-height:var(--leading-body)}button,input,select,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{width:min(100%,880px);min-height:100svh;margin:0 auto;padding:0 28px 110px;position:relative;--journal-paper:#f4efe5;--journal-paper-raised:#fbf7ee;--journal-paper-edge:#e9e0d1;--journal-ink:#232018;--journal-muted:#756d61;--journal-faint:#a19889;--journal-line:#cec3b2;--journal-line-soft:#e4dccf;--journal-accent:#294f96;--journal-accent-soft:#dfe5f0;--journal-binding-width:56px;--paper:var(--journal-paper);--paper-raised:var(--journal-paper-raised);--ink:var(--journal-ink);--muted:var(--journal-muted);--faint:var(--journal-faint);--line:var(--journal-line);--line-soft:var(--journal-line-soft);--accent:var(--journal-accent);--accent-soft:var(--journal-accent-soft);isolation:isolate;background-color:var(--journal-paper);background-image:url(/ui/diary/paper-texture.svg);background-repeat:repeat;background-size:360px 360px;box-shadow:22px 0 54px -48px rgba(63,50,34,.34),-22px 0 54px -48px rgba(63,50,34,.24)}.brand-mark{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:9px;background:var(--accent);color:white;font-family:var(--font-instrument-serif),Georgia,serif;font-size:20px;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.icon-button{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:transparent;color:inherit;text-decoration:none;cursor:pointer;transition:background .14s ease,transform .14s ease}.icon-button:hover{background:rgba(23,24,21,.055)}.icon-button:active{transform:scale(.94)}.eyebrow{margin:0 0 9px;color:var(--muted);font-size:var(--type-meta);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.danger-button,.primary-button,.save-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;font-size:var(--type-label);font-weight:600;cursor:pointer;transition:transform .14s ease,opacity .14s ease}.danger-button:active,.primary-button:active,.save-button:active{transform:scale(.97)}.primary-button{min-height:43px;padding:0 17px}.primary-button,.save-button{background:var(--accent);color:white}.save-button{height:37px;padding:0 15px}.danger-button{min-height:42px;padding:0 14px;background:transparent;color:var(--danger)}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:rgba(18,19,17,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .16s ease both}.surface{width:min(100%,680px);max-height:min(90svh,820px);overflow-y:auto;border:1px solid rgba(255,255,255,.6);border-radius:25px;background:var(--paper-raised);box-shadow:var(--shadow);animation:sheet-in .24s cubic-bezier(.22,.9,.28,1) both}.surface-header{min-height:67px;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line-soft)}.surface-header,.toast{display:flex;align-items:center}.toast{min-height:44px;position:fixed;left:50%;bottom:calc(28px + var(--safe-bottom));z-index:300;gap:8px;padding:0 16px;border-radius:12px;background:#171815;color:white;font-size:var(--type-label);font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.22);transform:translateX(-50%);animation:toast-in .22s ease both}.visually-hidden{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.loading-screen{min-height:100svh;display:grid;place-content:center;justify-items:center;grid-gap:12px;gap:12px;background:var(--paper);color:var(--muted);font-size:var(--type-label)}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px) scale(.985)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (max-width:700px){.app-shell{padding:0 18px 100px;box-shadow:none}.app-shell:before{width:var(--journal-binding-width);content:"";position:fixed;top:0;right:0;bottom:0;z-index:16;background-color:var(--journal-paper-edge);background-image:linear-gradient(90deg,rgba(70,56,38,.1),rgba(70,56,38,.025) 8px,transparent 19px),url(/ui/diary/paper-texture.svg);background-repeat:no-repeat,repeat;background-size:100% 100%,360px 360px;box-shadow:inset 10px 0 16px -16px rgba(58,45,30,.72);pointer-events:none}.overlay{padding:0}.surface{max-height:94svh;border-right:0;border-bottom:0;border-left:0;border-radius:23px 23px 0 0}}@media (min-width:600px) and (max-width:800px){.app-shell{padding-right:24px;padding-left:24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-ext-400-normal.0497c1b3.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-400-normal.b52565c7.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-400-normal.34918409.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-400-normal.1d032d47.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-ext-400-italic.7715abe9.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-400-italic.866da096.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-400-italic.efcf6b02.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-400-italic.4d1fab1d.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/instrument-sans-latin-ext-600-normal.08bccc79.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-600-normal.e534511e.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/instrument-sans-latin-600-normal.e08e708e.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-600-normal.68b79c9c.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-serif-latin-ext-400-normal.87b08ce1.woff2) format("woff2"),url(/_next/static/media/instrument-serif-latin-ext-400-normal.d065c9d0.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-serif-latin-400-normal.e872e3f2.woff2) format("woff2"),url(/_next/static/media/instrument-serif-latin-400-normal.4ace7644.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.account-gate{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 14% 8%,rgba(63,85,68,.08),transparent 32%),var(--paper)}.account-gate-card{width:min(100%,430px);display:grid;grid-gap:24px;gap:24px;padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.58);box-shadow:0 24px 70px rgba(48,46,39,.1);animation:account-gate-in .26s cubic-bezier(.22,1,.36,1) both}.account-gate-topline{display:flex;align-items:center;justify-content:space-between}.account-gate-brand{display:inline-flex;align-items:center;gap:10px}.account-gate-brand>strong{color:var(--ink);font:600 14px/1 var(--font-instrument-sans);letter-spacing:-.01em}.account-gate-topline>button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--muted);font:600 13px/1 var(--font-instrument-sans);cursor:pointer}.account-gate-heading{display:grid;grid-gap:8px;gap:8px}.account-gate-heading>h1{margin:0;color:var(--ink);font:400 clamp(32px,9vw,44px)/1.05 var(--font-instrument-serif);letter-spacing:-.025em}.account-gate-heading>span{max-width:38ch;color:var(--muted);font:400 15px/1.55 var(--font-instrument-sans)}.account-gate .account-divider,.account-gate .account-google-action,.account-gate .account-mode-switch,.account-gate .account-password-form{width:100%}.account-gate .account-mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:12px;background:var(--line-soft)}.account-gate .account-mode-switch button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.account-gate .account-mode-switch button[aria-selected=true]{background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 4px rgba(35,35,30,.09)}.account-gate .account-password-form{display:grid;grid-gap:14px;gap:14px}.account-gate .account-password-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.account-gate .account-password-form input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper-raised);padding:0 13px;font-size:16px;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.account-gate .account-password-form input:focus{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.account-gate .account-google-action,.account-gate .account-password-action{min-height:48px;border-radius:12px;font-weight:600;cursor:pointer}.account-gate .account-password-action{border:1px solid var(--accent);background:var(--accent);color:white}.account-gate .account-google-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--paper-raised);color:var(--ink)}.account-gate .account-google-action,.account-gate .account-password-action{transition:transform .14s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.account-gate .account-google-action:active,.account-gate .account-password-action:active{transform:scale(.985)}.account-google-mark{width:20px;height:20px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;font:600 12px/1 var(--font-instrument-sans)}.account-gate .account-divider{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:12px}.account-gate .account-divider:after,.account-gate .account-divider:before{content:"";height:1px;flex:1 1;background:var(--line-soft)}.account-gate-notice{margin:0;padding:12px 14px;border-radius:12px;background:rgba(150,89,49,.08);color:#7c4b2d;font:400 13px/1.5 var(--font-instrument-sans)}.account-gate-footnote{margin:0;color:var(--faint);font:400 12px/1.55 var(--font-instrument-sans)}.legacy-choice-actions{display:grid;grid-gap:10px;gap:10px}.legacy-choice-actions button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--ink);font:600 14px/1 var(--font-instrument-sans);cursor:pointer}.legacy-choice-actions button:first-child{border-color:var(--accent);background:var(--accent);color:white}.cloud-sync-alert{position:fixed;z-index:90;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),520px);padding:12px 16px;border-radius:999px;background:#2f332e;color:white;box-shadow:0 14px 38px rgba(32,35,31,.24);font:500 13px/1.45 var(--font-instrument-sans);text-align:center;text-decoration:none}@keyframes account-gate-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.account-gate{display:block;padding:max(12px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom));background:var(--paper)}.account-gate-card{width:min(100%,540px);min-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));align-content:start;gap:18px;margin:0 auto;padding:8px 24px 24px;border:0;border-radius:0;background:transparent;box-shadow:none}.account-gate-topline{min-height:44px}.account-gate .brand-mark{width:36px;height:36px;border-radius:10px;font-size:22px}.account-gate-heading{gap:6px;margin:10px 0 2px}.account-gate-heading>h1{max-width:12ch;font-size:clamp(31px,8.4vw,38px);line-height:1.08}.account-gate-heading>span{font-size:14px;line-height:1.5}.account-gate .account-mode-switch{border-radius:10px}.account-gate .account-password-form{gap:12px}.account-gate .account-password-form label{gap:5px}.account-gate .account-google-action,.account-gate .account-password-action,.account-gate .account-password-form input{min-height:50px;border-radius:10px}.account-gate-footnote{max-width:42ch;padding-top:2px;font-size:11px;line-height:1.5}}@media (max-width:360px){.account-gate-card{padding-inline:20px}.account-gate-heading>h1{font-size:30px}}@media (prefers-reduced-motion:reduce){.account-gate *,.cloud-sync-alert{transition-duration:1ms!important;animation-duration:1ms!important}}