/*//// -- The public surface. Shares the app's palette, none of its chrome. */
body.pub{background:var(--paper);color:var(--ink);max-width:820px;margin:0 auto;padding:0 20px 60px}
.pubhead{display:flex;align-items:flex-start;gap:16px;padding:38px 0 26px;border-bottom:1px solid var(--rule)}
.pubhead h1{margin:0;font-size:27px;letter-spacing:-.015em}
.pubsub{margin:5px 0 0;color:var(--muted);font-size:15px}
.pubmark{margin-left:auto;font-family:var(--serif);font-weight:600;font-size:15px;color:var(--faint)}
.pubmain{padding-top:28px}
.pubsec{margin-bottom:34px}
.pubsec h2{font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}
.publist{display:flex;flex-direction:column;gap:9px}
.pubproj{display:flex;align-items:baseline;gap:14px;border:1px solid var(--rule);border-radius:8px;padding:13px 15px;background:var(--surface)}
.pubproj span{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--muted);white-space:nowrap}
.pubgroup{margin-bottom:22px}
.pubgroup h3{font-size:14px;margin:0 0 7px;display:flex;align-items:baseline;gap:8px}
.pubgroup h3 em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--faint)}
.pubtask{display:flex;align-items:baseline;gap:14px;padding:11px 2px;border-bottom:1px solid var(--rule-2)}
.pubtask.done b{color:var(--muted)}
.pubwhere{display:block;color:var(--faint);font-size:12.5px;margin-top:2px}
.pubwhen{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--muted);white-space:nowrap}
.pubempty{color:var(--muted);padding:20px 0}
.pubnote{color:var(--ink-2);max-width:60ch}
.pubfoot{margin-top:40px;padding-top:18px;border-top:1px solid var(--rule);color:var(--faint);font-size:12.5px}
.pubform{display:flex;flex-direction:column;gap:16px;max-width:560px}
.pubform label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2)}
.pubform input,.pubform textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:10px 12px}
.pubform input:focus,.pubform textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.pubrow{display:flex;gap:14px;flex-wrap:wrap}
.pubrow label{flex:1;min-width:200px}
.pubform button{align-self:flex-start;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:11px 20px;font:inherit;font-size:15px;font-weight:500;cursor:pointer}
:root[data-theme="dark"] .pubform button,:root:not([data-theme="light"]) .pubform button{color:#101512}
.pubform button:hover{filter:brightness(1.08)}

/*//// -- Sign in. One box, centered, nothing else on the page. */
body.signin{display:flex;min-height:100dvh;align-items:center;justify-content:center;max-width:none;padding:24px}
.signbox{width:100%;max-width:360px}
.signbox h1{font-family:var(--serif);font-size:30px;margin:0 0 18px;letter-spacing:-.02em}
.signbox .pubform{gap:12px}
.signbox .pubform button{align-self:stretch;text-align:center}
.signnote{color:var(--muted);font-size:14px;margin:0 0 14px;line-height:1.5}
.signerr{color:#fff;background:var(--rust);border-radius:8px;padding:9px 12px;font-size:14px;margin:0 0 14px}
