:root{--paper:#f3f4f1;--panel:#fbfbf9;--input-bg:#fff;--ink:#16231f;--ink-soft:#3c4844;--muted:#6e766f;--line:#dcded8;--teal:#1f7a6c;--teal-dim:#e4efec;--amber:#b8722e;--amber-dim:#f6e9dc;--red:#a3402f;--red-dim:#f5e4e0;--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:3px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#121a17;--panel:#1a2420;--input-bg:#212f29;--ink:#e9ece9;--ink-soft:#b3bdb6;--muted:#8b978f;--line:#2b3630;--teal:#4fb8a1;--teal-dim:#1d332e;--amber:#d99b55;--amber-dim:#3a2c1a;--red:#d97a63;--red-dim:#3a231c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);margin:0 0 .4em;font-weight:600}h1{font-size:2rem}h2{font-size:1.35rem}h3{font-size:1.05rem}p{margin:0 0 1em}a{color:var(--teal)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .35em;font-size:.72rem}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body);font-size:.95rem}@media (width<=800px){input,select,textarea{font-size:16px}}::selection{background:var(--teal-dim);color:var(--ink)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:var(--radius);letter-spacing:.02em;align-items:center;gap:.4em;padding:.6em 1.1em;font-size:.85rem;font-weight:500;transition:transform .12s,background .12s;display:inline-flex}.btn:hover{background:var(--teal);border-color:var(--teal)}.btn:active{transform:translateY(1px)}.btn.secondary{color:var(--ink);border-color:var(--line);background:0 0}.btn.secondary:hover{background:var(--panel);border-color:var(--ink)}.btn.danger:hover{background:var(--red);border-color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem}.field{flex-direction:column;gap:.35em;margin-bottom:1em;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--input-bg);color:var(--ink);padding:.6em .7em}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal)}.error-text{font-family:var(--font-mono);color:var(--red);background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius);margin-bottom:1em;padding:.6em .8em;font-size:.82rem}.hairline{border:none;border-top:1px solid var(--line);margin:1.25rem 0}.tag{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius);background:var(--teal-dim);color:var(--teal);text-transform:uppercase;padding:.2em .5em;font-size:.7rem;display:inline-block}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--ink);padding:.5em .7em;font-size:.7rem}.data-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.65em .7em}.data-table tbody tr:hover{background:var(--teal-dim)}.notes-cell{color:var(--ink-soft);max-width:220px}.data-table .btn{padding:.35em .7em;font-size:.72rem}.log-grid{grid-template-columns:340px 1fr;align-items:start;gap:2rem;display:grid}@media (width<=750px){.log-grid{grid-template-columns:minmax(0,1fr)}}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;height:100vh;padding:1.5rem 1.25rem;display:flex;position:sticky;top:0}.sidebar-top{display:contents}.brand{font-family:var(--font-display);letter-spacing:.05em;align-items:center;gap:.6em;margin-bottom:2.5rem;font-size:1.15rem;display:flex}.menu-toggle{display:none}.brand-mark{background:var(--teal);width:1.9em;height:1.9em;color:var(--paper);border-radius:3px;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.sidebar nav{flex-direction:column;gap:.15rem;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-soft);border-radius:var(--radius);border-left:2px solid #0000;padding:.55em .6em;font-size:.82rem;text-decoration:none}.nav-link:hover{background:var(--teal-dim);color:var(--ink)}.nav-link.active{border-left-color:var(--teal);color:var(--teal);font-weight:600}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:1.5rem}.theme-toggle{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius);background:0 0;align-items:center;margin-bottom:1rem;padding:.5em .8em;font-size:.72rem;display:inline-flex}.theme-toggle:hover{border-color:var(--teal);color:var(--teal)}.sidebar-footer .eyebrow{word-break:break-all}.content{max-width:980px;padding:2.5rem 3rem}@media (width<=800px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:10;height:auto;position:sticky;top:0}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.brand{margin-bottom:0}.menu-toggle{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius);background:0 0;align-items:center;padding:.6em .9em;font-size:.72rem;display:inline-flex}.sidebar nav,.sidebar-footer{display:none}.sidebar.open nav{margin-top:1.25rem;display:flex}.sidebar.open .sidebar-footer{display:block}.nav-link{padding:.75em .6em;font-size:.88rem}.content{padding:1.5rem}}.auth-screen{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{width:100%;max-width:380px}.auth-brand{font-family:var(--font-display);letter-spacing:.05em;justify-content:center;align-items:center;gap:.6em;margin-bottom:2rem;font-size:1.4rem;display:flex}.auth-brand .brand-mark{background:var(--teal);width:1.9em;height:1.9em;color:var(--paper);border-radius:3px;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.auth-card form{margin-top:1rem}.auth-switch{text-align:center;color:var(--muted);margin-top:1.25rem;font-size:.85rem}.body-map{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.body-map-panel{width:140px}.body-svg{width:100%;height:auto}.silhouette path,.silhouette circle:first-child{fill:var(--line)}.site-dot{cursor:default}.site-dot[role=button]{cursor:pointer}.site-dot .ring{fill:none;stroke:var(--teal);stroke-width:2px;opacity:.55}.body-map-legend{font-family:var(--font-mono);color:var(--muted);flex-direction:column;align-self:center;gap:.5rem;font-size:.75rem;display:flex}.body-map-legend span{align-items:center;gap:.5em;display:flex}.body-map-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.hero-card{flex-wrap:wrap;align-items:center;gap:2.5rem;margin-bottom:2rem;display:flex}.countdown{color:var(--teal);font-size:3rem;font-weight:500;line-height:1}.countdown.overdue{color:var(--red)}.hero-meta{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;margin-top:1rem;display:grid}@media (width<=700px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.entry-list{margin:0;padding:0;list-style:none;overflow-x:auto}.entry-list li{border-bottom:1px solid var(--line);white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:.9rem;padding:.55em 0;font-size:.88rem;display:flex}.entry-num{color:var(--muted);min-width:2.6em}.chart-legend{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:1.25rem;margin-top:.6rem;font-size:.75rem;display:flex}.chart-legend span{align-items:center;gap:.5em;display:flex}.chart-legend-swatch{border-top-style:solid;border-top-width:2px;width:16px;height:0;display:inline-block}.chart-legend-swatch.dashed{border-top-style:dashed}
