@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-mono-300.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-500.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/dm-sans-variable.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ibm-plex-mono-300.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/syne-variable.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--void:#090708;--surface:#0f0c0e;--surface-raised:#151314;--text-primary:#eae7e9;--text-secondary:#928e90;--text-recessive:#585456;--accent:#f0a830;--accent-dim:#d4880a80;--accent-faint:#d4880a26;--accent-ghost:#d4880a12;--border:#d4880a1f;--border-strong:#d4880a47;--font-display:"Syne", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"DM Mono", "IBM Plex Mono", monospace}@supports (color:lab(0% 0 0)){:root{--void:lab(1.95762% .636168 -.253633);--surface:lab(3.65914% .962049 -.383422);--surface-raised:lab(6.13824% 1.35506 -.539923);--text-primary:lab(91.8255% 1.27658 -.508118);--text-secondary:lab(59.3182% 1.91337 -.761735);--text-recessive:lab(36.1181% 1.91201 -.761396)}}[data-theme=joel]{--accent:#88a8c9;--accent-dim:#88a8c980;--accent-faint:#88a8c91f;--accent-ghost:#88a8c90f;--void:#08090c;--surface:#0f0f13;--border:#88a8c91f;--border-strong:#88a8c947}@supports (color:lab(0% 0 0)){[data-theme=joel]{--accent:lab(67.4013% -5.23141 -20.8518);--accent-dim:lab(67.4013% -5.23141 -20.8518/.5);--accent-faint:lab(67.4013% -5.23141 -20.8518/.12);--accent-ghost:lab(67.4013% -5.23141 -20.8518/.06);--void:lab(2.44808% .284389 -1.47417);--surface:lab(4.39375% .404723 -2.14621);--border:lab(67.4013% -5.23141 -20.8518/.12);--border-strong:lab(67.4013% -5.23141 -20.8518/.28)}}[data-theme=angela]{--accent:#98a8ad;--accent-dim:#98a8ad80;--accent-faint:#98a8ad1a;--accent-ghost:#98a8ad0d;--void:#050607;--surface:#0a0b0c;--border:#98a8ad1f;--border-strong:#98a8ad40}@supports (color:lab(0% 0 0)){[data-theme=angela]{--accent:lab(67.6405% -5.05638 -4.89416);--accent-dim:lab(67.6405% -5.05638 -4.89416/.5);--accent-faint:lab(67.6405% -5.05638 -4.89416/.1);--accent-ghost:lab(67.6405% -5.05638 -4.89416/.05);--void:lab(1.55741% -.0477061 -.391665);--surface:lab(3.04332% -.0769869 -.60792);--border:lab(67.6405% -5.05638 -4.89416/.12);--border-strong:lab(67.6405% -5.05638 -4.89416/.25)}}[data-theme=peter]{--accent:#f1944f;--accent-dim:#f1944f80;--accent-faint:#f1944f1f;--accent-ghost:#f1944f0f;--void:#090706;--surface:#100c0b;--border:#f1944f24;--border-strong:#f1944f4d}@supports (color:lab(0% 0 0)){[data-theme=peter]{--accent:lab(70.3223% 31.7954 50.8464);--accent-dim:lab(70.3223% 31.7954 50.8464/.5);--accent-faint:lab(70.3223% 31.7954 50.8464/.12);--accent-ghost:lab(70.3223% 31.7954 50.8464/.06);--void:lab(1.96911% .634968 .559527);--surface:lab(3.67672% .9543 .854823);--border:lab(70.3223% 31.7954 50.8464/.14);--border-strong:lab(70.3223% 31.7954 50.8464/.3)}}[data-theme=jonathan]{--accent:#c1a057;--accent-dim:#c1a05780;--accent-faint:#c1a0571f;--accent-ghost:#c1a0570f;--void:#090705;--surface:#0f0d0b;--border:#c1a0571f;--border-strong:#c1a05747}@supports (color:lab(0% 0 0)){[data-theme=jonathan]{--accent:lab(67.7189% 6.35219 42.3242);--accent-dim:lab(67.7189% 6.35219 42.3242/.5);--accent-faint:lab(67.7189% 6.35219 42.3242/.12);--accent-ghost:lab(67.7189% 6.35219 42.3242/.06);--void:lab(1.97918% .425451 .74071);--surface:lab(3.69215% .635333 1.13429);--border:lab(67.7189% 6.35219 42.3242/.12);--border-strong:lab(67.7189% 6.35219 42.3242/.28)}}html{-webkit-font-smoothing:antialiased;font-size:16px}body{background-color:var(--void);color:var(--text-primary);font-family:var(--font-body);min-height:100dvh;transition:background-color .4s,color .4s}.sch-page{flex-direction:column;justify-content:center;align-items:center;gap:48px;min-height:100dvh;padding:48px 20px;display:flex}.sch-header{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.sch-sigil{opacity:.85;width:44px;height:44px}.sch-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:.65rem}.sch-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.1}.sch-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:420px;margin-top:8px;font-size:.9rem;line-height:1.65}.sch-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);background:#ffffff06;border-radius:2px;flex-direction:column;width:100%;max-width:800px;display:flex;overflow:hidden}@media (min-width:640px){.sch-panel{flex-direction:row}}.sch-info{border-bottom:1px solid var(--border);background:var(--accent-ghost);flex-shrink:0;padding:32px 28px}@media (min-width:640px){.sch-info{border-bottom:none;border-right:1px solid var(--border);width:240px}}.sch-info-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:1rem;font-weight:600}.sch-meta-row{color:var(--text-secondary);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:.82rem;line-height:1.5;display:flex}.sch-meta-row svg{color:var(--accent-dim);flex-shrink:0;margin-top:1px}.sch-meta-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-recessive);margin-bottom:4px;font-size:.6rem}.sch-slot-confirmed{border-top:1px solid var(--border);margin-top:16px;padding-top:20px}.sch-slot-value{font-family:var(--font-mono);color:var(--accent);font-size:.78rem;line-height:1.5}.sch-content{flex:1;padding:32px 28px;overflow-y:auto}.cal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.cal-month{font-family:var(--font-display);color:var(--text-primary);font-size:.9rem;font-weight:600}.cal-month span{color:var(--text-recessive);margin-left:4px;font-weight:400}.cal-nav{gap:4px;display:flex}.cal-nav-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:4px 6px;transition:border-color .15s,color .15s;display:flex}.cal-nav-btn:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.cal-nav-btn:disabled{opacity:.3;cursor:default}.cal-dow-headers{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.cal-dow{text-align:center;font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-recessive);padding:8px 0;font-size:.58rem}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-day{aspect-ratio:1;font-family:var(--font-mono);cursor:default;color:var(--text-recessive);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;font-size:.78rem;transition:background-color .12s,color .12s;display:flex;position:relative}.cal-day.available{color:var(--text-primary);background:var(--accent-ghost);cursor:pointer;border:1px solid var(--border)}.cal-day.available:hover{background:var(--accent-faint);border-color:var(--accent-dim);color:var(--accent)}.cal-day.today:after{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.times-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.times-back{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;align-items:center;padding:4px 6px;transition:border-color .15s,color .15s;display:flex}.times-back:hover{border-color:var(--accent-dim);color:var(--accent)}.times-date{font-family:var(--font-display);color:var(--text-primary);font-size:.9rem;font-weight:600}.times-grid{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.time-slot{text-align:left;border:1px solid var(--border);background:var(--accent-ghost);width:100%;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;border-radius:2px;padding:10px 14px;font-size:.82rem;transition:border-color .15s,color .15s,background-color .15s}.time-slot:hover{border-color:var(--accent-dim);color:var(--accent);background:var(--accent-faint)}.time-slot.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-faint)}.times-continue{justify-content:flex-end;margin-top:24px;display:flex}.form-section-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:.6rem}.form-section-sub{color:var(--text-secondary);margin-bottom:24px;font-size:.83rem;line-height:1.5}.form-fields{flex-direction:column;gap:16px;display:flex}.form-field label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-recessive);margin-bottom:6px;font-size:.64rem;display:block}.form-field input[type=text],.form-field input[type=email],.form-field textarea{background:var(--surface);border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text-primary);resize:vertical;border-radius:2px;outline:none;padding:10px 12px;font-size:.85rem;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent-dim)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-recessive)}.form-checkbox-row{cursor:pointer;align-items:center;gap:10px;display:flex}.form-checkbox-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;border-radius:2px}.form-checkbox-row span{color:var(--text-secondary);font-size:.82rem}.form-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;display:flex}.form-back{color:var(--text-recessive);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.form-back:hover{color:var(--text-secondary)}.btn-primary{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);cursor:pointer;border:none;border-bottom:1px solid var(--accent-dim);background:0 0;padding:0 0 2px;font-size:.78rem;font-weight:700;line-height:1.4;transition:color .15s,border-color .15s}.btn-primary:hover{color:var(--text-primary);border-color:var(--border-strong)}.btn-primary:disabled{opacity:.35;cursor:default}.confirm-wrap{flex-direction:column;justify-content:center;gap:20px;min-height:240px;display:flex}.confirm-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:.6rem}.confirm-message{color:var(--text-secondary);max-width:380px;font-size:.9rem;line-height:1.7}.skeleton-line{background:var(--surface-raised);border-radius:2px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-text{color:#db6656;color:lab(58.0266% 45.8038 32.4474);font-size:.83rem}.error-retry{color:var(--text-recessive);cursor:pointer;background:0 0;border:none;margin-top:8px;font-size:.8rem;text-decoration:underline;transition:color .15s;display:block}.error-retry:hover{color:var(--text-secondary)}.no-slots-hint{color:var(--text-recessive);text-align:center;font-size:.8rem;font-family:var(--font-mono);margin-top:24px}.cal-hint{font-family:var(--font-mono);color:var(--text-recessive);text-align:center;letter-spacing:.08em;margin-top:20px;font-size:.62rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.25s ease-out forwards fadeUp}.sch-footer{font-family:var(--font-mono);letter-spacing:.15em;color:var(--text-recessive);text-transform:uppercase;font-size:.6rem}
