:root{--ink:#14140f;--panel:#1c1c15;--line:#3a3b2c;--olive:#93995e;--rust:#c4451f;--paper:#ede7d8;--muted:#93938a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ink);color:var(--paper);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--olive)}.auth-page{max-width:360px;margin:60px auto;padding:0 16px}.auth-page h1{font-size:22px;margin-bottom:16px}.auth-page form{gap:12px}.auth-page form,.auth-page label{display:flex;flex-direction:column}.auth-page label{gap:4px;font-size:13px;color:var(--muted)}.notice{color:var(--olive);font-size:13px}.error{color:var(--rust);font-size:13px}input,select,textarea{background:#0f0f0a;border:1px solid var(--line);padding:8px 10px;border-radius:4px}button,input,select,textarea{color:var(--paper);font-size:14px}button{background:var(--rust);border:none;padding:10px 14px;border-radius:4px;cursor:pointer}button:disabled{opacity:.6;cursor:default}.dashboard{max-width:600px;margin:0 auto;padding:24px 16px 60px}.dashboard header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.muted{color:var(--muted);font-size:13px}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:16px}.card h2{font-size:15px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em;color:var(--olive)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.card label,.grid{margin-bottom:10px}.card label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.history{list-style:none;margin:0;padding:0}.history li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.history li:last-child{border-bottom:none}.history .date{color:var(--olive);font-family:monospace;white-space:nowrap}.history .meta{flex:1 1;color:var(--muted);padding-left:8px}.history button{background:transparent;border:1px solid var(--line);color:var(--rust);padding:4px 8px;font-size:11px}.header-actions{display:flex;align-items:center;gap:12px}.navlink{color:var(--olive);font-size:13px;text-decoration:underline}table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}th{text-align:left;font-family:monospace;text-transform:uppercase;font-size:10px;letter-spacing:.04em;color:var(--olive)}td,th{border-bottom:1px solid var(--line);padding:5px 6px}td{color:var(--paper);vertical-align:top}details.section{border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:4px;margin-bottom:9px;background:var(--panel);overflow:hidden}details.section summary{padding:12px 14px;font-size:14px;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;list-style:none}details.section summary::-webkit-details-marker{display:none}.section-body{padding:2px 14px 14px;font-size:13px;line-height:1.55}.subday{border:1px solid var(--line);border-radius:4px;margin:8px 0;background:#161610}.subday summary{font-size:12.5px;padding:9px 12px;cursor:pointer;list-style:none}.subday summary::-webkit-details-marker{display:none}.subday .section-body{padding:0 12px 10px}.tag{display:inline-block;font-family:monospace;font-size:10px;color:var(--olive);border:1px solid var(--line);padding:2px 6px;border-radius:3px;margin-top:6px}.callout{border:1px dashed var(--rust);border-radius:4px;padding:12px 14px;margin-top:14px;text-align:center;color:var(--rust)}.plainlist{margin:0;padding-left:18px}.plainlist li{margin-bottom:6px}.exercises{margin:10px 0}.exercise-row{border-top:1px dashed var(--line);padding:9px 0}.exercise-row:first-child{border-top:none}.ex-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ex-name{font-size:13px}.ex-presc{font-size:11px;color:var(--muted);white-space:nowrap}.set-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:5px;gap:5px;margin:5px 0}.set-row input{font-size:12.5px;padding:6px 7px}.set-row button{padding:4px 8px;font-size:12px}button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);padding:5px 9px;border-radius:4px;font-size:11.5px}button.addset{border-color:var(--olive);color:var(--olive);margin-top:4px;width:100%;padding:7px}