@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root { --ink:#51301f; --muted:#806956; --paper:#f9f0d8; --line:#cdbb99; --accent:#73422c; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); font-family:'Alegreya Sans', sans-serif; background:#79603b url('assets/supper-background.jpg') center top / cover fixed no-repeat; }
.builder-page { min-height:100svh; padding:clamp(30px,5vw,70px) 20px var(--page-bottom-space); }
.builder-card { position:relative; width:min(930px,100%); margin:auto; padding:clamp(28px,5vw,62px) clamp(24px,6vw,82px); background:rgba(249,240,216,.91); box-shadow:0 20px 55px rgba(63,35,17,.22); display:grid; gap:18px; }
.builder-header { display:flex; align-items:end; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(81,48,31,.3); padding-bottom:18px; }
.builder-header a { color:var(--muted); font-size:12px; }
.eyebrow { margin:0; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
h1,h2 { margin:7px 0 0; font-family:'DM Serif Display', Georgia, serif; font-weight:400; letter-spacing:-.025em; } h1 { font-size:clamp(40px,5vw,66px); } h2 { font-size:36px; }
label { display:grid; gap:8px; font-size:12px; font-weight:700; } small { color:var(--muted); font-size:10px; font-weight:400; line-height:1.5; }
input,select { width:100%; border:1px solid var(--line); border-radius:2px; background:rgba(255,253,239,.75); color:var(--ink); font:13px 'Libre Baskerville', Georgia, serif; padding:13px 14px; outline:none; } input:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,66,44,.12); }
.field-label { margin-top:8px; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.04em; }
.location-picker { position:relative; }
.location-menu { position:absolute; z-index:5; top:calc(100% + 4px); left:0; right:0; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 25px rgba(63,35,17,.2); } .location-option { display:grid; width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); padding:11px; text-align:left; } .location-option:hover { background:#efe1c5; }
.location-status { color:var(--accent); font-style:italic; }
.schedule-editor { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; } .schedule-editor-row { display:grid; gap:12px; min-width:0; padding:15px; border:1px solid var(--line); background:rgba(255,250,237,.66); } .schedule-times { display:grid; gap:8px; } .schedule-times-heading { display:flex; justify-content:space-between; gap:8px; color:var(--accent); font-size:11px; } .schedule-times-heading small { text-align:right; } .schedule-time-list { display:grid; gap:7px; } .time-row { display:flex; gap:6px; } .time-row input { min-width:0; } .remove-time { flex:0 0 34px; border:1px solid var(--line); background:transparent; color:var(--muted); } .add-time { border:0; background:transparent; color:var(--accent); cursor:pointer; font-size:11px; font-weight:700; padding:0; text-align:left; }
.add-date { grid-column:1/-1; border:1px dashed var(--accent); background:transparent; color:var(--accent); cursor:pointer; font:700 11px 'Libre Baskerville',Georgia,serif; padding:14px; }
.topic-list { display:grid; gap:8px; } .topic-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 14px; border:1px solid var(--line); background:rgba(255,250,237,.66); } .topic-check { display:flex; align-items:center; gap:10px; } .topic-check input { width:auto; } .topic-check span { display:grid; gap:3px; } .topic-check strong { font-size:13px; } .topic-check small { font-size:10px; } .topic-open { border:0; background:transparent; color:var(--accent); cursor:pointer; font-weight:700; }
.submit-button,.done-button { border:1px solid #4e2c1c; background:var(--accent); color:#fff8e7; cursor:pointer; font:700 12px 'Libre Baskerville', Georgia, serif; padding:15px 18px; } .submit-button { margin-top:10px; } .builder-message { color:var(--muted); font-size:12px; line-height:1.5; text-align:center; } .builder-message a { color:var(--accent); }
.question-drawer { position:fixed; z-index:10; inset:0; background:rgba(41,35,31,.46); display:grid; place-items:center; padding:20px; } .drawer-panel { width:min(450px,100%); max-height:90vh; overflow:auto; position:relative; padding:32px; background:var(--paper); box-shadow:0 20px 60px rgba(0,0,0,.25); } .drawer-panel > p:not(.eyebrow) { color:var(--muted); font-size:12px; line-height:1.5; } .drawer-close { position:absolute; top:12px; right:15px; border:0; background:transparent; color:var(--muted); font-size:25px; } .option-toggle-list { display:grid; gap:7px; margin:20px 0; } .option-toggle { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); font-size:12px; } .option-toggle input { width:auto; } .option-toggle span { flex:1; } .hidden { display:none !important; }
@media (max-width:700px) { body { background:var(--paper); }.builder-page { padding:15px 10px var(--page-bottom-space); } .builder-card { padding:25px 18px 35px; } .builder-header { align-items:start; flex-direction:column; } .builder-header a { display:flex; min-height:44px; align-items:center; } .schedule-editor { grid-template-columns:1fr; } .schedule-editor-row { padding:13px; } .submit-button,.done-button { min-height:48px; width:100%; } }
.submit-button,.done-button { min-height:52px; padding:15px 20px; font-family:'Alegreya Sans',sans-serif; font-size:13px; letter-spacing:.04em; }
.done-button { border-color:var(--accent); background:transparent; color:var(--accent); }
input,select,button { font-family:'Alegreya Sans',sans-serif; }
.back-link { display:inline-flex; min-height:44px; align-items:center; }
.back-link:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.back-link:focus-visible { outline:3px solid rgba(115,66,44,.35); outline-offset:3px; }
.add-date { font-family:'Alegreya Sans',sans-serif; }
