@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7ecdc;--cream:#fff8ed;--wine:#652539;--deep-wine:#461b29;--muted:#75534d;--rule:#d7b5a4;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}body{min-height:100vh;min-height:100svh;color:var(--deep-wine);font:400 15px/1.5 var(--sans);background:radial-gradient(at 19% 16%,#fff7e8 0,#0000 54%),#edddc7;margin:0}button,input{font:inherit}button,a[href]{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}a{color:inherit}:focus-visible{outline-offset:4px;outline:2px solid #91465d}.event-shell{width:min(100%,1030px);margin:0 auto;padding:clamp(18px,5vw,44px) clamp(17px,4vw,42px) 40px}.back-link{min-height:44px;color:var(--wine);align-items:center;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover,.text-link:hover{text-decoration:underline}.event-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(28px,6vw,78px);margin-top:19px;display:grid}.event-header{padding:16px 0 25px}.eyebrow{color:var(--wine);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.event-header h1{font:400 clamp(65px, 9.5vw, 112px)/.83 var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:11px 0 13px}.event-header h1 em{color:var(--wine);font-weight:400}.event-details{color:var(--muted);margin:0;font-weight:600}.event-divider{background:#b7897a;width:36px;height:1px;margin:23px 0 15px}.event-quote{max-width:260px;color:var(--wine);font:italic 400 25px/1.1 var(--serif);margin:0}.response-card{border:1px solid var(--rule);background:var(--paper);border-radius:15px;min-width:0;padding:clamp(18px,4vw,32px);box-shadow:0 14px 36px #653d3220,inset 0 0 0 5px #fff7ea9c}.response-card h2{color:var(--wine);font:400 clamp(31px, 4vw, 43px)/1.02 var(--serif);margin:0}.form-intro{color:var(--muted);margin:5px 0 19px;font-size:14px}.field-label,.day-field legend{color:var(--deep-wine);font-size:13px;font-weight:700}.field-label{margin-bottom:5px;display:block}.name-input{background:var(--cream);width:100%;min-height:46px;color:var(--deep-wine);border:1px solid #ac8179;border-radius:7px;padding:9px 12px;font-size:16px}.name-input::placeholder{color:var(--muted)}.day-field{border:0;min-width:0;margin:17px 0;padding:0}.day-field legend{flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin-bottom:6px;padding:0;display:flex}.day-field legend span{color:var(--muted);font-size:12px;font-weight:500}.attendance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.attendance-options label{background:var(--cream);cursor:pointer;border:1px solid #ac8179;border-radius:7px;align-items:center;gap:7px;min-height:46px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.attendance-options label:has(:checked){border-color:var(--wine);background:#f0dade}.attendance-options input{accent-color:var(--wine);margin:0}.companion-card{border:1px solid var(--rule);background:#f4e3d9;border-radius:8px;margin:0 0 16px}.companion-toggle{cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:8px 11px;font-size:13px;font-weight:700;display:flex}.companion-toggle input{accent-color:var(--wine);flex:none;margin:0}.companion-toggle small{color:var(--muted);margin-inline-start:auto;font-size:11px;font-weight:500}.companion-fields{border-top:1px solid var(--rule);margin-inline:11px;padding-top:12px}.companion-day{color:var(--deep-wine);margin:8px 0 12px;font-size:13px}.action{border:1px solid var(--wine);text-align:center;border-radius:7px;justify-content:center;align-items:center;width:100%;min-height:47px;padding:9px 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.action-primary{background:var(--wine);color:var(--cream)}.action-primary:hover:not(:disabled){background:var(--deep-wine)}.action-secondary{background:var(--cream);color:var(--wine);margin-top:12px}.action-secondary:hover{background:#f1dfd7}.form-error{color:#8b2340;margin:0 0 10px;font-size:13px;font-weight:600}.result-card .eyebrow{margin-bottom:9px}.result-summary{overflow-wrap:anywhere;margin:10px 0 17px}.playlist-section{border:1px solid var(--rule);background:#f2e2d5;border-radius:8px;margin-top:18px;padding:14px}.playlist-section h3{color:var(--wine);font:400 29px/1.05 var(--serif);margin:0}.playlist-section p{margin:5px 0 12px;font-size:13px}.text-link{min-height:44px;color:var(--wine);align-items:center;margin-top:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.organizer{max-width:800px}.organizer .response-card{margin-top:12px}.organizer h1{color:var(--wine);font:400 clamp(36px, 6vw, 55px)/1 var(--serif);margin:7px 0 16px}.organizer-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.organizer-tabs a{border:1px solid var(--wine);min-height:44px;color:var(--wine);border-radius:100px;align-items:center;padding:8px 17px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.organizer-tabs a[aria-current=page]{background:var(--wine);color:var(--cream)}.teacher-responses{border-inline-start:3px solid var(--wine);background:#f4e3d9;border-radius:4px;margin:0 0 14px;padding:11px 14px}.teacher-responses h2{font-size:clamp(26px,4vw,34px)}.teacher-responses p{color:var(--deep-wine);margin:4px 0 0;font-size:13px}.attendance-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.attendance-totals div{border:1px solid var(--rule);background:var(--cream);border-radius:7px;padding:8px}.attendance-totals dt{color:var(--muted);font-size:12px}.attendance-totals dd{color:var(--wine);margin:0;font-size:23px;font-weight:700}.table-scroll{overflow-x:auto}.organizer table{border-collapse:collapse;width:100%;font-size:13px}.organizer th,.organizer td{border-bottom:1px solid var(--rule);text-align:left;padding:8px 5px}.organizer th:first-child{overflow-wrap:anywhere}.organizer .companion-row{background:#f4e3d9}.organizer .companion-row th{padding-left:14px}.organizer th small{color:var(--muted);font-size:11px;font-weight:500;display:block}@media (max-width:700px){.event-grid{grid-template-columns:1fr;gap:14px;margin-top:6px}.event-header{padding:3px 0 4px}.event-header h1{margin:8px 0 10px;font-size:clamp(58px,13vw,78px)}.event-details{font-size:13px}.event-divider{margin:12px 0 8px}.event-quote{max-width:none;font-size:20px}}
