:root{--ink:#0c1218;--paper:#141c24;--paper-2:#1b2530;--text:#e8eef4;--muted:#8a97a4;--line:#2a3540;--gold:#e0b04a;--gold-dim:#e0b04a29;--teal:#3ecfc0;--coral:#e88a5a;--violet:#9b8cff;--danger:#e07070;--focus-ring:#e0b04a61;color:var(--text);background:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,Avenir Next,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--ink);min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}button{cursor:pointer}input,select,textarea{color:var(--text)}.app{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 72px}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.brand{align-items:center;gap:12px;display:flex}.mark{flex:none;width:48px;height:48px}h1{letter-spacing:-.03em;margin:0;font-family:Palatino,Iowan Old Style,Times New Roman,serif;font-size:1.9rem;font-weight:650}.tag{color:var(--muted);margin:2px 0 0;font-size:.98rem}.tools{flex-wrap:wrap;gap:8px;display:flex}.ghost,.tiny,.solid{color:var(--text);border:1px solid var(--line);background:0 0;border-radius:999px;padding:7px 14px;font-size:.86rem}.ghost:hover,.tiny:hover{background:var(--paper)}.ghost.danger,.tiny.danger{color:var(--danger)}.ghost.warn,.tiny.warn{color:var(--danger);background:#e070701f;border-color:#e0707073}.ghost:disabled,.tiny:disabled,.solid:disabled{opacity:.4;cursor:not-allowed}.solid{background:var(--gold);border-color:var(--gold);color:#1a140c;font-weight:650}.solid:hover:not(:disabled){filter:brightness(1.05)}.blurb{color:var(--muted);max-width:52rem;margin:14px 0 0;font-size:.92rem}.board{border:1px solid var(--line);background:var(--paper);border-radius:16px;margin-top:22px;overflow-x:auto}.canvas{min-height:180px;position:relative}.axis{border-bottom:1px solid var(--line);background:var(--paper-2);z-index:2;display:flex;position:sticky;top:0}.axis-side{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--line);flex:none;align-items:flex-end;padding:0 12px 8px;font-size:.7rem;display:flex}.axis-days{display:flex}.tick{color:var(--muted);border-right:1px solid #2a354073;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;padding-bottom:6px;font-size:.7rem;display:flex}.tick.weekend{background:#ffffff05}.tick.today{color:var(--gold);background:var(--gold-dim)}.tick .mon{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;line-height:1.1}.tick .num{font-weight:650}.lanes{position:relative}.today-line{background:var(--gold);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #e0b04a33}.today-cap{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);white-space:nowrap;font-size:.62rem;font-weight:700;position:absolute;top:4px;left:6px}.empty-lanes{color:var(--muted);padding:28px 16px}.lane{display:flex}.lane+.lane{border-top:1px solid var(--line)}.lane-side{border-right:1px solid var(--line);background:#0c121859;flex-direction:column;flex:none;gap:8px;padding:12px;display:flex}.swatch{border-radius:999px;width:18px;height:6px}.lane-meta{align-items:baseline;gap:6px;display:flex}.lane-meta strong{font-size:.95rem}.count{color:var(--muted);font-size:.75rem}.tiny{align-self:flex-start;padding:4px 10px;font-size:.74rem}.lane-body{flex:none;position:relative}.bar{color:#0c1218;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-radius:8px;padding:0 8px;font-size:.78rem;font-weight:650;position:absolute;overflow:hidden;box-shadow:0 1px #00000040}.bar:hover{filter:brightness(1.08)}.bar.on{outline:2px solid var(--gold);outline-offset:1px;box-shadow:0 0 0 3px var(--focus-ring)}.bar span{text-overflow:ellipsis;display:block;overflow:hidden}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:0 0 8px;font-size:.72rem}.detail{background:var(--paper);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:16px;padding:16px 18px;display:flex}.detail h2{margin:0 0 4px;font-family:Palatino,Iowan Old Style,Times New Roman,serif;font-size:1.35rem;font-weight:600}.dates{color:var(--muted);margin:0 0 10px;font-size:.9rem}.detail textarea{background:var(--paper-2);border:1px solid var(--line);resize:vertical;border-radius:10px;width:min(520px,100%);padding:8px 10px;display:block}.composer{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:10px;margin-top:16px;padding:16px;display:grid}.composer-row{gap:8px;display:flex}.composer-grid{grid-template-columns:160px 1fr 150px 150px;gap:8px;display:grid}.composer-grid label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:4px;font-size:.72rem;display:grid}.composer-grid label.grow{min-width:0}input[type=text],input[type=date],select,textarea{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;width:100%;min-width:0;padding:9px 12px;font-size:1rem}.composer-row input[type=text]{flex:1}input:focus,select:focus,textarea:focus,.ghost:focus,.tiny:focus,.solid:focus,.bar:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--focus-ring);outline:none}@media (width<=860px){.composer-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.composer-row,.composer-grid{flex-direction:column;grid-template-columns:1fr}.detail{flex-direction:column}}
