:root{--bg:#0b0d14;--lit:#f4ecd8;--dark:#1a1d27;--text:#e8eaef;--dim:#e8eaef8c;--dimmer:#e8eaef4d;--accent:#c99b5f;--surface:#f4ecd808;--border:#f4ecd814;--border-strong:#f4ecd82e;--serif:ui-serif, Georgia, "Iowan Old Style", "Apple Garamond", Garamond, "Times New Roman", serif;--mono:ui-monospace, "SF Mono", "Menlo", "Consolas", monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;font-size:14px;line-height:1.5;overflow-x:hidden}#root{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:2px}.app{max-width:960px;min-height:100vh;margin:0 auto;padding:48px 24px 64px;position:relative}.starfield{z-index:0;pointer-events:none;opacity:.85;width:100vw;height:100vh;position:fixed;inset:0}.app-head,.app-main,.app-foot{z-index:1;position:relative}.app-head{text-align:center;margin-bottom:48px}.app-title{font-family:var(--serif);letter-spacing:.02em;color:var(--lit);margin:0 0 6px;font-size:clamp(40px,7vw,64px);font-style:italic;font-weight:400}.app-sub{color:var(--dim);margin:0;font-size:13px}.app-main{grid-template-columns:1fr;gap:56px;display:grid}.hero{grid-template-columns:minmax(280px,360px) 1fr;justify-content:center;align-items:center;gap:48px;display:grid}@media (width<=720px){.hero{text-align:center;grid-template-columns:1fr;justify-items:center;gap:24px}}.hero svg[role=img]{filter:drop-shadow(0 0 40px #f4ecd814);display:block}.hero-info{flex-direction:column;gap:20px;min-width:0;display:flex}.phase-name{font-family:var(--serif);color:var(--lit);letter-spacing:.01em;font-size:clamp(26px,4vw,36px);font-weight:400}.phase-stats{flex-wrap:wrap;gap:28px;margin:0;display:flex}.phase-stats>div{flex-direction:column;gap:2px;display:flex}.phase-stats dt{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0;font-size:10px}.phase-stats dd{font-family:var(--serif);color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:22px}.datenav{border:1px solid var(--border);background:var(--surface);border-radius:3px;align-items:center;gap:12px;max-width:360px;margin-top:4px;padding:10px 12px;display:flex}@media (width<=720px){.datenav{margin:4px auto 0}}.datenav-label{color:var(--text);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:12px;display:flex}.today-btn{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);border-bottom:1px dotted #0000;font-size:10px}.today-btn:hover{border-bottom-color:var(--accent)}.nav-btn{width:28px;height:28px;color:var(--dim);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:color .12s,border-color .12s;display:inline-flex}.nav-btn:hover{color:var(--accent);border-color:var(--accent)}.calendar{flex-direction:column;gap:14px;display:flex}.calendar-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-title{font-family:var(--serif);color:var(--lit);letter-spacing:.01em;margin:0;font-size:22px;font-style:italic;font-weight:400}.calendar-dow{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dow-cell{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--dimmer);padding:4px 0;font-size:10px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{aspect-ratio:1;border:1px solid var(--border);color:var(--dim);font-variant-numeric:tabular-nums;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;transition:background .12s,border-color .12s,color .12s;display:flex}.cal-cell:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface)}.cal-cell.empty{pointer-events:none;background:0 0;border:0}.cal-cell.today{border-color:var(--accent);color:var(--accent)}.cal-cell.selected{border-color:var(--accent);color:var(--text);background:#c99b5f14}.cal-date{letter-spacing:.04em;font-size:10px}.events{flex-direction:column;gap:14px;display:flex}.section-title{font-family:var(--serif);color:var(--lit);letter-spacing:.01em;margin:0;font-size:22px;font-style:italic;font-weight:400}.events-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.event-card{border:1px solid var(--border);background:var(--surface);border-radius:3px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .12s;display:flex}.event-card:hover{border-color:var(--border-strong)}.event-glyph{flex-shrink:0;justify-content:center;align-items:center;display:flex}.event-body{flex-direction:column;gap:2px;min-width:0;display:flex}.event-name{font-family:var(--serif);color:var(--lit);font-size:16px}.event-when{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.event-date{color:var(--dim);font-size:11px}.app-foot{border-top:1px solid var(--border);text-align:center;color:var(--dimmer);letter-spacing:.14em;text-transform:uppercase;margin-top:48px;padding-top:24px;font-size:10px}
