:root{--ground: #FBFAF6;--paper: #FFFFFF;--ink: #15201E;--muted: #5C6B68;--faint: #8A9794;--line: #E3E6DE;--line-soft: #EFF1EA;--accent: #0F5F58;--accent-soft: #E3EFEC;--accent-ink: #FFFFFF;--amber: #A8641F;--amber-soft: #F6ECDF;--shadow: 0 1px 2px rgba(21, 32, 30, .05), 0 8px 24px rgba(21, 32, 30, .06);--radius: 12px;--ui: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Newsreader", ui-serif, Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0E1513;--paper: #161F1D;--ink: #E9EEEB;--muted: #9AA9A5;--faint: #75847F;--line: #26312E;--line-soft: #1E2825;--accent: #5FBFB0;--accent-soft: #17302C;--accent-ink: #08201C;--amber: #D9974F;--amber-soft: #2C2318;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}}:root[data-theme=dark]{--ground: #0E1513;--paper: #161F1D;--ink: #E9EEEB;--muted: #9AA9A5;--faint: #75847F;--line: #26312E;--line-soft: #1E2825;--accent: #5FBFB0;--accent-soft: #17302C;--accent-ink: #08201C;--amber: #D9974F;--amber-soft: #2C2318;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}.topbar .grow{flex:1;min-width:0}.topbar h1{margin:0;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 14px 96px}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 13px;border-radius:9px;font-size:14px;font-weight:500;transition:border-color .12s ease,background .12s ease;white-space:nowrap}.btn:hover{border-color:var(--faint)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--line-soft);color:var(--ink)}.btn.danger{color:var(--amber)}.btn.small{padding:5px 9px;font-size:13px;border-radius:7px}.btn:disabled{opacity:.45;cursor:default}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:8px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 10px}.card{display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;transition:border-color .12s ease,transform .12s ease}.card:hover{border-color:var(--accent)}.card:active{transform:scale(.995)}.card .title{font-weight:600;font-size:15.5px;letter-spacing:-.005em}.meta{margin-top:3px;font-size:12.5px;color:var(--muted);display:flex;gap:7px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:var(--line-soft);color:var(--muted)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.dot{width:3px;height:3px;border-radius:50%;background:var(--faint);flex:none}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:28px 18px;text-align:center;color:var(--muted)}.paper{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px 30px;margin-top:14px}@media(min-width:640px){.paper{padding:40px 44px 46px}}.paper.theme-serif{font-family:var(--display)}.paper.theme-compact{font-size:14px}.block{position:relative;padding:2px 0}.block+.block{margin-top:2px}.block-tools{position:absolute;top:-10px;right:-6px;z-index:5;display:flex;gap:2px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .12s ease}.block:focus-within .block-tools,.block:hover .block-tools{opacity:1;pointer-events:auto}.icon-btn{border:0;background:transparent;color:var(--muted);width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-size:13px;line-height:1}.icon-btn:hover{background:var(--line-soft);color:var(--ink)}.icon-btn:disabled{opacity:.3}.field{display:block;width:100%;resize:none;overflow:hidden;font:inherit;color:inherit;background:transparent;border:0;border-radius:6px;padding:2px 5px;margin:0 -5px;transition:background .12s ease,box-shadow .12s ease}.field::placeholder{color:var(--faint)}.field:hover{background:var(--line-soft)}.field:focus{outline:0;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.f-name{font-family:var(--display);font-size:29px;font-weight:600;line-height:1.15;letter-spacing:-.02em}.f-headline{font-size:15px;color:var(--muted)}.f-contact{font-size:13px;color:var(--muted)}.f-heading{font-family:var(--ui);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.f-role{font-weight:600;font-size:15.5px}.f-org{font-size:14.5px}.f-small{font-size:13px;color:var(--muted)}.f-line{font-size:14.5px}.head-block{display:flex;flex-direction:column;gap:3px}.contact-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;margin-top:5px}.contact-row .field{width:auto;flex:1 1 auto;min-width:0}.contact-row .row{align-items:baseline}.contact-row .sep{color:var(--faint);font-size:12px}.heading-block{margin-top:26px;margin-bottom:7px;padding-bottom:5px;border-bottom:1px solid var(--line)}.block:first-child .heading-block{margin-top:0}.entry{padding:9px 0;position:relative}.entry-kill{position:absolute;right:0;bottom:2px;opacity:0;transition:opacity .12s ease}.entry:hover .entry-kill,.entry:focus-within .entry-kill{opacity:1}.entry+.entry{border-top:1px solid var(--line-soft)}.entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}.entry-head>.field{width:auto;flex:1 1 180px;min-width:0}.entry-head>.field.f-small{flex:0 1 auto}.entry-dates{display:flex;align-items:baseline;gap:2px;flex:none;margin-left:auto}.entry-dates .field{width:82px;flex:none;text-align:right}.bullet{display:flex;align-items:flex-start;gap:9px}.bullet:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--faint);margin-top:9px;flex:none}.bullet .field{flex:1;min-width:0}.tag-block{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.tag-label{font-size:13px;font-weight:600;color:var(--muted)}.tag-block .field{width:auto;flex:0 1 auto;min-width:70px;font-size:14px}.tag-sep{color:var(--faint)}.rule{border:0;border-top:1px solid var(--line);margin:16px 0}.add-row{display:flex;justify-content:center;padding:3px 0;opacity:0;transition:opacity .12s ease}.block-gap:hover .add-row,.add-row:focus-within{opacity:1}.block-gap{min-height:14px;display:flex;align-items:center}.add-row .btn{border-style:dashed}.savestate{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap}.savestate.warn{color:var(--amber)}.banner{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;border:1px solid var(--amber);background:var(--amber-soft);color:var(--ink);border-radius:var(--radius);padding:12px 14px;margin-top:14px}.banner .grow{flex:1;min-width:180px}.notes{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.notes>summary{padding:12px 14px;cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:9px;list-style:none}.notes>summary::-webkit-details-marker{display:none}.notes>summary:after{content:"›";margin-left:auto;color:var(--faint);transform:rotate(90deg)}.notes[open]>summary:after{transform:rotate(-90deg)}.note{padding:11px 14px;border-top:1px solid var(--line-soft);display:flex;gap:10px}.note .bar{width:3px;border-radius:2px;background:var(--faint);flex:none}.note.stop .bar{background:var(--amber)}.note .what{font-size:14px;font-weight:500}.note .why{font-size:13px;color:var(--muted);margin-top:2px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080e0d6b;display:flex;align-items:flex-end;justify-content:center}@media(min-width:640px){.scrim{align-items:center}}.sheet{width:100%;max-width:460px;max-height:84vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}@media(min-width:640px){.sheet{border-radius:16px}}.sheet h2{margin:0 0 12px;font-family:var(--display);font-size:20px;font-weight:600}.pick{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:10px;padding:11px 13px}.pick:hover{border-color:var(--accent);background:var(--accent-soft)}.pick .t{font-weight:600;font-size:14.5px}.pick .h{font-size:13px;color:var(--muted);margin-top:1px}.input{width:100%;font:inherit;color:inherit;background:var(--ground);border:1px solid var(--line);border-radius:9px;padding:9px 11px}.input:focus{outline:0;border-color:var(--accent)}.printable{display:none}@media print{@page{size:A4;margin:16mm 15mm}html,body{background:#fff;color:#000}.app,.scrim{display:none!important}.printable{display:block;font-family:var(--ui);font-size:10.5pt;line-height:1.42;color:#000}.printable.theme-serif{font-family:var(--display)}.printable.theme-compact{font-size:9.5pt}.printable h1{font-family:var(--display);font-size:21pt;font-weight:600;margin:0 0 1mm;letter-spacing:-.01em}.printable .p-headline{font-size:11pt;color:#333;margin-bottom:1.5mm}.printable .p-contact{font-size:9pt;color:#333}.printable .p-contact span+span:before{content:"  ·  ";color:#888}.printable h2{font-size:8.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0f5f58;margin:6mm 0 1.5mm;padding-bottom:1mm;border-bottom:.4pt solid #bbb;break-after:avoid;page-break-after:avoid}.printable .p-entry{margin:2.6mm 0;break-inside:avoid;page-break-inside:avoid}.printable .p-entry-head{display:flex;justify-content:space-between;gap:6mm;align-items:baseline}.printable .p-role{font-weight:700}.printable .p-dates{font-size:9pt;color:#333;white-space:nowrap}.printable .p-org{font-size:10pt}.printable .p-place{font-size:9pt;color:#444}.printable ul{margin:1mm 0 0;padding-left:4.5mm}.printable li{margin:.5mm 0}.printable p{margin:1.6mm 0}.printable .p-tags{margin:1.4mm 0}.printable .p-tags b{font-weight:700}.printable hr{border:0;border-top:.4pt solid #bbb;margin:3mm 0}}.lede{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--muted);margin:14px 0 18px;text-wrap:pretty}.pull{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;padding:14px 16px;margin:0 0 22px}.pull strong{display:block;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.01em}.pull p{margin:6px 0 0;font-size:14.5px;color:var(--muted)}.tile{display:block;width:100%;text-align:left;margin-bottom:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px 17px;transition:border-color .12s ease,transform .12s ease}button.tile:hover{border-color:var(--accent)}button.tile:active{transform:scale(.995)}.tile.flat{opacity:.82}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.tile-next{font-size:15.5px;font-weight:600;letter-spacing:-.005em;margin-top:10px;text-wrap:pretty}.tile-sub{font-size:13.5px;color:var(--muted);margin-top:3px;text-wrap:pretty}.progress{height:4px;border-radius:3px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.sec{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.015em;margin:34px 0 8px;text-wrap:balance}.timeline{list-style:none;margin:20px 0 0;padding:0 0 0 4px}.station{position:relative;padding:0 0 4px 26px}.station:before{content:"";position:absolute;left:5px;top:20px;bottom:-4px;width:1px;background:var(--line)}.station:last-child:before{display:none}.station label{display:flex;gap:11px;align-items:flex-start;cursor:pointer;padding:9px 0}.station input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:19px;height:19px;margin:1px 0 0;border:1.5px solid var(--line);border-radius:6px;background:var(--paper);display:grid;place-content:center;transition:background .12s ease,border-color .12s ease}.station input:after{content:"";width:9px;height:5px;margin-top:-2px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(-45deg) scale(0);transition:transform .12s ease}.station input:checked{background:var(--accent);border-color:var(--accent)}.station input:checked:after{transform:rotate(-45deg) scale(1)}.station input:hover{border-color:var(--faint)}.station>label:before{content:"";position:absolute;left:0;top:15px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line)}.station.done>label:before{background:var(--accent);border-color:var(--accent)}.station.milestone>label:before{background:var(--amber);border-color:var(--amber)}.station-body{display:block;min-width:0}.station-head{display:flex;align-items:baseline;gap:8px}.num{font-family:var(--mono);font-size:11px;color:var(--faint);flex:none}.station-title{font-size:15.5px;font-weight:600;letter-spacing:-.005em;text-wrap:pretty}.station-detail{display:block;font-size:13.5px;color:var(--muted);margin-top:3px;text-wrap:pretty}.station.done .station-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}.facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.fact{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:2px 7px;border-radius:5px;background:var(--line-soft);color:var(--muted)}.fact.who{background:var(--accent-soft);color:var(--accent)}.station.milestone .fact{background:var(--amber-soft);color:var(--amber)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px}.panel h3{font-family:var(--display);font-size:19px;font-weight:600;margin:4px 0 6px;letter-spacing:-.01em}.panel p{margin:0 0 10px;font-size:14.5px;text-wrap:pretty}.small{font-size:13px}.spec{margin:0 0 10px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.spec>div{display:flex;justify-content:space-between;gap:12px;background:var(--paper);padding:7px 11px}.spec dt{font-size:13.5px;color:var(--muted)}.spec dd{margin:0;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.notes+.notes{margin-top:10px}.door{max-width:340px;padding-top:68px;text-align:center}.door-title{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:-.02em;margin:6px 0 22px}.door-err{color:var(--amber);font-size:13.5px;margin-top:16px}.pips{display:flex;justify-content:center;gap:13px;margin-bottom:28px}.pips span{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--line);background:transparent;transition:background .12s ease,border-color .12s ease,transform .12s ease}.pips span.on{background:var(--accent);border-color:var(--accent);transform:scale(1.12)}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key{height:60px;border:1px solid var(--line);background:var(--paper);border-radius:13px;font-family:var(--display);font-size:23px;font-weight:500;transition:background .1s ease,transform .08s ease}.key:hover{background:var(--line-soft)}.key:active{transform:scale(.96);background:var(--accent-soft)}.key.soft{font-family:var(--ui);font-size:18px;color:var(--muted)}.key:disabled{opacity:.35}.track{list-style:none;margin:4px 0 0;padding:0}.milepost{position:relative;padding-left:86px}.milepost:before{content:"";position:absolute;left:73px;top:18px;bottom:-10px;width:1px;background:var(--line)}.milepost:last-child:before{display:none}.milepost:after{content:"";position:absolute;left:68px;top:13px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1.5px solid var(--accent)}.milepost-btn{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 0 16px}.milepost-when{position:absolute;left:0;top:8px;width:62px;text-align:right;display:flex;flex-direction:column;gap:1px}.when-month{font-size:12px;font-weight:600;letter-spacing:-.01em}.when-left{font-family:var(--mono);font-size:10.5px;color:var(--faint)}.when-left.soon{color:var(--amber)}.when-left.past{color:var(--amber);font-weight:500}.milepost-body{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;transition:border-color .12s ease}.milepost-btn:hover .milepost-body{border-color:var(--accent)}.milepost-title{font-size:15.5px;font-weight:600;letter-spacing:-.005em;text-wrap:pretty}.meter{height:6px;border-radius:4px;background:var(--line);overflow:hidden;margin:9px 0 7px}.meter>span{display:block;height:100%;background:var(--accent);transition:width .35s ease}.milepost-nums{display:flex;align-items:baseline;gap:5px;font-size:13px;color:var(--muted)}.now{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.pct{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--faint)}.todo{display:flex;align-items:center;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:4px 6px 4px 12px}.todo label{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:0;cursor:pointer;padding:8px 0}.todo input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:1.5px solid var(--line);border-radius:7px;background:var(--ground);display:grid;place-content:center;transition:background .12s ease,border-color .12s ease}.todo input:after{content:"";width:9px;height:5px;margin-top:-2px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(-45deg) scale(0);transition:transform .12s ease}.todo input:checked{background:var(--accent);border-color:var(--accent)}.todo input:checked:after{transform:rotate(-45deg) scale(1)}.todo-body{display:block;min-width:0}.todo-title{font-size:14.5px;font-weight:500;text-wrap:pretty}.todo-note{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}.todo.done{background:transparent;border-color:var(--line-soft)}.todo.done .todo-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}.lanes{display:flex;flex-direction:column;gap:16px}.lane-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}.searchbar{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.searchbar .input{flex:1 1 150px;min-width:0}.chiprow{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.job{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px}.job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.job-title{font-size:15.5px;font-weight:600;letter-spacing:-.005em;color:var(--ink);text-decoration:none;text-wrap:pretty}.job-title:hover{color:var(--accent);text-decoration:underline}.job .meta{margin-top:4px}.job-snip{font-size:13px;color:var(--muted);margin:9px 0 0;text-wrap:pretty}.frow{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.flabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:4px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;padding:9px 2px;margin-right:14px;font:inherit;font-size:14px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.on{color:var(--ink);border-bottom-color:var(--accent)}.tab:hover{color:var(--ink)}.timeline.papers .num{font-variant-numeric:normal;text-transform:uppercase}
