:root[data-theme=midnight]{--bg:#0b0b0d;--surface:#17171a;--surface-raised:#1f1f23;--border:#2a2a2e;--border-strong:#3a3a40;--text-primary:#f2f1ee;--text-secondary:#9a9a9e;--text-muted:#8a8a90;--accent:#f2f1ee;--accent-pressed:#d8d6d1;--accent-subtle:rgba(242,241,238,0.12);--on-accent:#0b0b0d;--danger:#ff9b95;--success:#7fe0a8;--celebrate:linear-gradient(140deg,#f8c4ff,#f0b6e0);--celebrate-ink:#2e0f28;--hero-wash:linear-gradient(165deg,#f8c4ff,#c9b6f0 48%,#0b0b0d);--hero-ink:#2e0f28;--meter-fill:linear-gradient(90deg,#f8c4ff,#ffd88a);--link:#f8c4ff;--avatar-sand:#efe6d6;--avatar-sand-ink:#4a3a20;--avatar-mist:#dde7ef;--avatar-mist-ink:#1f3446;--avatar-rose:#f2e0de;--avatar-rose-ink:#4b2323;--warn:#ffae00;--warn-subtle:rgba(255,174,0,0.16);--warn-ink:#ffd68a;--go:#31c431;--go-subtle:rgba(49,196,49,0.16);--go-ink:#8fe88f;--glow:rgba(248,196,255,0.16);--celebrate-edge:#f8c4ff;--scrim:rgba(11,11,13,0.85);--qr-paper:#ffffff;--qr-ink:#0b0b0d;color-scheme:dark}:root,:root[data-theme=daylight]{--bg:#ffffff;--surface:#f7f7f7;--surface-raised:#ffffff;--border:#e7e7e7;--border-strong:#cfcfcf;--text-primary:#111111;--text-secondary:#5f5f5f;--text-muted:#767676;--accent:#111111;--accent-pressed:#333333;--accent-subtle:rgba(17,17,17,0.06);--on-accent:#ffffff;--danger:#b3231c;--success:#1e7a3c;--celebrate:linear-gradient(140deg,#f8c4ff,#f0b6e0);--celebrate-ink:#2e0f28;--hero-wash:linear-gradient(165deg,#f8c4ff,#c9b6f0 46%,#ffffff);--hero-ink:#111111;--meter-fill:linear-gradient(90deg,#f8c4ff,#ffd88a);--link:#111111;--avatar-sand:#efe6d6;--avatar-sand-ink:#4a3a20;--avatar-mist:#dde7ef;--avatar-mist-ink:#1f3446;--avatar-rose:#f2e0de;--avatar-rose-ink:#4b2323;--warn:#b37a00;--warn-subtle:rgba(255,174,0,0.18);--warn-ink:#7a4b00;--go:#1e9e35;--go-subtle:rgba(49,196,49,0.16);--go-ink:#176b33;--glow:rgba(0,0,0,0.1);--celebrate-edge:transparent;--scrim:rgba(255,255,255,0.94);--qr-paper:#ffffff;--qr-ink:#0b0b0d;color-scheme:light}:root{--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-serif:"Newsreader",Georgia,"Times New Roman",serif;--sidebar:248px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}svg{flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.main{padding:0 20px calc(110px + env(safe-area-inset-bottom, 0px))}.main[data-signed-in=false]{padding-bottom:48px}.page{max-width:720px;margin:0 auto;padding-top:28px}.page-narrow{max-width:460px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;padding:8px 6px calc(22px + env(safe-area-inset-bottom, 0px));background:var(--scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.tabbar a{position:relative;flex:1 1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--text-secondary);font-size:11px;font-weight:500}.tabbar a svg{color:var(--text-primary)}.tabbar a[aria-current=page]{color:var(--text-primary);font-weight:700}.tabbar a[aria-current=page]:before{content:"";position:absolute;top:-9px;left:26%;right:26%;height:2px;background:var(--accent)}.tab-icon{position:relative}.badge,.tab-icon{display:inline-flex}.badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;line-height:1;align-items:center;justify-content:center}.tab-icon .badge{position:absolute;top:-4px;right:-9px}.sidebar{display:none}@media (min-width:1024px){.tabbar{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar);display:flex;flex-direction:column;gap:22px;padding:30px 18px 24px;border-right:1px solid var(--border);background:var(--bg);overflow-y:auto}.main[data-signed-in=true]{margin-left:var(--sidebar);padding:0 48px 64px}.page{padding-top:36px}}.sidebar-mark{padding:0 10px;font-family:var(--font-serif);font-size:28px;font-weight:600;letter-spacing:-.01em;text-decoration:none}.sidebar nav{display:flex;flex-direction:column}.sidebar-link{min-height:44px;padding:0 10px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-secondary);font-size:15px;font-weight:500}.sidebar-link svg{color:var(--text-primary)}.sidebar-link>span:first-of-type{flex:1 1}.sidebar-link[aria-current=page]{color:var(--text-primary);font-weight:700}.sidebar-link .badge{min-width:18px;height:18px;font-size:11px}.sidebar-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column}.sidebar-foot .sidebar-link{min-height:40px;font-size:14px}.sidebar-account{padding:10px 10px 0;display:flex;align-items:center;gap:10px;min-width:0}.sidebar-account-name{flex:1 1;min-width:0;display:flex;flex-direction:column}.sidebar-account strong{font-size:14px;font-weight:600}.sidebar-account small,.sidebar-account strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account small{font-size:12px;color:var(--text-secondary)}.devbar{display:flex;justify-content:flex-end;padding:6px 20px;border-bottom:1px solid var(--border);background:var(--surface)}@media (min-width:1024px){.devbar{margin-left:var(--sidebar)}}.switcher{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.switcher select{width:auto;min-height:32px;padding:2px 6px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg)}h1,h2,h3{margin:0}h1{font-size:36px;line-height:1.05;letter-spacing:-.01em}h1,h2{font-family:var(--font-serif);font-weight:600}h2{font-size:21px;line-height:1.2}h3{font-size:16px;font-weight:600;line-height:1.3}@media (min-width:1024px){h1{font-size:40px}}.page-head{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.page-sub{margin:0;font-size:14px;color:var(--text-secondary)}.back{align-self:flex-start;min-height:44px;margin:0 0 4px -6px;padding:0 6px;display:inline-flex;align-items:center;gap:4px;font-size:15px;text-decoration:none;color:var(--text-primary)}.section{margin-top:28px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.section-title .grow{flex:1 1}.lede{margin:4px 0 12px;max-width:62ch}.lede,.muted,.tiny{color:var(--text-secondary)}.tiny{font-size:13px}.eyebrow{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.error-text{margin:8px 0 0;font-size:13px;color:var(--danger)}.person-row{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text-primary)}.person-row[data-center=true]{align-items:center;padding:12px 0}.person-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.person-top{display:flex;align-items:baseline;gap:8px}.person-name{flex:1 1;min-width:0;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.15}.person-date{font-size:12px;white-space:nowrap}.person-date,.person-meta{color:var(--text-secondary)}.person-meta{font-size:13px}.person-line{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-flag{margin-top:3px;gap:6px;font-size:12px;font-weight:600}.person-flag,.person-state{display:inline-flex;align-items:center}.person-state{gap:5px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.menu-row{width:100%;min-height:52px;padding:0;display:flex;align-items:center;gap:12px;border:none;border-bottom:1px solid var(--border);background:none;text-align:left;text-decoration:none;color:var(--text-primary);font-size:16px;cursor:pointer}.menu-label{flex:1 1;min-width:0}.menu-value{max-width:50%;font-size:14px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-row[aria-current=page] .menu-label{font-weight:700}@media (min-width:1024px){.split[data-open=false] .menu-row[data-default=true] .menu-label{font-weight:700}}.menu-note{margin:8px 0 0 32px}.menu-group+.menu-group{margin-top:28px}.menu-group h2{margin-bottom:2px}.kv{margin:0}.kv>div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.kv dt{width:128px;flex-shrink:0;font-size:13px;color:var(--text-secondary)}.kv dd,.kv dt{line-height:1.45}.kv dd{margin:0;flex:1 1;min-width:0;font-size:15px;white-space:pre-line;overflow-wrap:anywhere}@media (min-width:1024px){.kv dt{width:170px}}.blank{color:var(--text-muted)}.handle-link{color:var(--link);text-decoration:underline;text-underline-offset:2px}.split{max-width:1080px;margin:0 auto;padding-top:28px}.split[data-open=false]>.split-detail,.split[data-open=true]>.split-menu{display:none}.split-detail .back{margin-bottom:8px}@media (min-width:1024px){.split{padding-top:36px;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-gap:56px;gap:56px;align-items:start}.split[data-open]>.split-detail,.split[data-open]>.split-menu{display:block}.split-detail .back{display:none}.split-detail{padding-top:6px}}.detail-title{font-size:26px;margin-bottom:10px}.who{display:flex;align-items:center;gap:14px;margin-bottom:18px}.who h1{font-size:32px}.who>div{min-width:0;display:flex;flex-direction:column;gap:2px}.avatar{position:relative;overflow:hidden;width:42px;height:42px;border-radius:999px;background:var(--avatar-sand);color:var(--avatar-sand-ink);font-family:var(--font-serif);font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}.avatar[data-tone=mist]{background:var(--avatar-mist);color:var(--avatar-mist-ink)}.avatar[data-tone=rose]{background:var(--avatar-rose);color:var(--avatar-rose-ink)}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.avatar img[data-shown=true]{opacity:1}.photo-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.field{display:block;margin-bottom:18px}.field-label{font-size:13px;color:var(--text-secondary);margin-bottom:2px}.field label,.field-label{display:block}.required{color:var(--text-primary)}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{width:100%;min-height:40px;padding:6px 0;border:none;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;font-size:16px;outline:none}input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}::placeholder{color:var(--text-muted)}input[type=file]{font-size:14px;color:var(--text-secondary);max-width:100%}input[type=file]::-webkit-file-upload-button{min-height:40px;margin-right:12px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}input[type=file]::file-selector-button{min-height:40px;margin-right:12px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}textarea{resize:vertical;min-height:72px;line-height:1.55;field-sizing:content}.search-field{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid var(--accent)}.search-field input{border:none;box-shadow:none;min-height:42px}.search-field input:focus{box-shadow:none}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 20px;gap:0 20px}@media (max-width:560px){.grid-2{grid-template-columns:1fr}}.check-list{border:none;padding:0;margin:0}.check-list label{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);font-size:15px}.check-list input[type=checkbox],.check-list input[type=radio]{margin-top:4px}.keep-choice{border:none;padding:0;margin:0 0 14px}.keep-choice label{display:block;margin:6px 0;font-size:14px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}input[type=checkbox].switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:46px;height:28px;margin:0;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background .12s ease;flex:none}input[type=checkbox].switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:var(--bg);transition:transform .12s ease}input[type=checkbox].switch:checked{background:var(--accent)}input[type=checkbox].switch:checked:after{transform:translateX(18px)}input[type=checkbox].switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;color:var(--text-primary);font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn-primary:hover{background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn-quiet{font-weight:500}.btn-text{min-height:44px;padding:0 6px;border:none;background:none;color:var(--text-primary);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.btn-text:disabled{opacity:.45}.btn-danger{color:var(--danger)}.btn-sm{min-height:40px;padding:0 14px;font-size:14px}.btn-wide{width:100%}.btn-row{gap:10px;flex-wrap:wrap}.btn-row,.save-row{display:flex;align-items:center}.save-row{gap:12px;justify-content:flex-end;margin-top:20px}.save-row[hidden]{display:none}.setting{padding:16px 0;border-bottom:1px solid var(--border)}.setting-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-head h3{font-size:16px}.setting-body{margin-top:12px}.setting-note{margin:8px 0 0;font-size:13px;color:var(--text-secondary)}.nested-setting{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.setting>.nested-setting:first-child{margin-top:0;padding-top:0;border-top:none}@media (min-width:1024px){.phone-only{display:none}}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.pill[data-tone=warn]{color:var(--warn-ink)}.pill[data-tone=go]{color:var(--go-ink)}.pill[data-tone=accent]{color:var(--text-primary)}.dot{width:7px;height:7px;border-radius:999px;background:var(--text-muted);flex:none}.dot[data-live=true]{background:var(--go)}.banner,.notice{margin:12px 0 16px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:14px;color:var(--text-primary)}.banner a,.notice a{font-weight:600}.empty{padding:28px 0;color:var(--text-secondary)}.empty p{margin:0 0 14px}.divider{height:1px;background:var(--border);margin:28px 0;border:none}.card{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.card-tight{margin-bottom:0;padding:14px 0}.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.with-avatar{display:flex;gap:14px;align-items:flex-start}.person{display:flex;align-items:center;gap:12px}.person>.grow{flex:1 1;min-width:0;display:flex;flex-direction:column}.person-hit{padding:10px 0;border-bottom:1px solid var(--border)}.toast{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom, 0px));transform:translate(-50%,8px);z-index:30;padding:10px 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.toast[data-show=true]{opacity:1;transform:translate(-50%)}@media (min-width:1024px){.toast{bottom:32px;left:calc(50% + var(--sidebar) / 2)}}.confirm{margin:4px 0 20px;padding:20px;border:1.5px solid var(--accent);border-radius:var(--radius-md)}.confirm[data-expired=true]{border-color:var(--border-strong)}.confirm h2{font-size:28px}.meter{background:var(--border);overflow:hidden}.meter,.meter>span{height:3px;border-radius:3px}.meter>span{display:block;background:var(--accent)}.note-list{margin:0 0 6px;padding-left:20px}.note-list li{margin-bottom:6px;line-height:1.45}.note-list li::marker{color:var(--text-muted)}.note-source{padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.note-source summary{cursor:pointer}.note-source-body{white-space:pre-wrap;max-height:320px;overflow-y:auto;margin:10px 0;color:var(--text-primary)}.nested-import .card{border-bottom:none;padding-bottom:0}.memory-photo img{display:block;width:100%;max-width:480px;max-height:70vh;object-fit:contain;object-position:left;border-radius:var(--radius-md)}.field-actions{margin-top:6px;display:flex;gap:4px}.icon-btn{min-height:36px;padding:0 8px 0 4px;border:none;background:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer}.icon-btn:disabled{opacity:.45}.msg{padding:12px 0;border-bottom:1px solid var(--border)}.msg-head{display:flex;gap:8px;align-items:baseline;font-size:12px;color:var(--text-secondary)}.msg-head strong{color:var(--text-primary);font-size:13px}.msg-body{margin-top:2px;white-space:pre-wrap}.proposal{margin-top:8px;display:flex;flex-direction:column;gap:8px;font-size:14px}.proposal-time{display:inline-flex;align-items:center;gap:7px;font-weight:600}.auth{max-width:420px;margin:0 auto;padding-top:56px}.auth-mark{display:block;font-family:var(--font-serif);font-size:44px;font-weight:600;line-height:1;letter-spacing:-.01em;text-decoration:none}.auth-title{margin:18px 0 28px;font-size:25px;font-style:italic;font-weight:400;line-height:1.15}.policy{font-size:14px;line-height:1.55;color:var(--text-secondary);padding-bottom:32px}.policy h1{font-size:32px;color:var(--text-primary)}.policy-date{font-size:12px;margin:4px 0 16px}.policy h2{font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;margin:20px 0 6px;color:var(--text-primary)}.policy p,.policy ul{margin:0 0 8px}.policy ul{padding-left:18px}.policy li{margin-bottom:4px}.policy strong{color:var(--text-primary)}.viewfinder{position:relative;aspect-ratio:4/3;width:100%;margin:4px 0 12px;border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.viewfinder video{width:100%;height:100%;object-fit:cover;display:block}.code-words{margin:6px 0 12px;font-family:var(--font-serif);font-size:30px;font-weight:600;line-height:1.1;overflow-wrap:anywhere}.qr{background:var(--qr-paper);color:var(--qr-ink);padding:16px;border-radius:var(--radius-lg);display:inline-block;line-height:0}.btn-tall{width:100%;min-height:52px;font-size:17px}