*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ef;color:#20382e;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b88b4a;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-100px;z-index:10;background:#fff;padding:12px}.skip:focus{top:12px}.booking-header,.booking-footer{max-width:1180px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-header{border-bottom:1px solid #d8d9cd}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;font-weight:650;letter-spacing:.05em}.brand img{object-fit:contain}.brand b{display:block;letter-spacing:.14em;color:#b88b4a}.language{display:flex;gap:4px}.language button{border:0;background:transparent;min-height:44px;padding:8px 12px;color:#626a62;border-bottom:2px solid transparent}.language button[aria-pressed=true]{color:#183e31;border-bottom-color:#183e31;font-weight:700}.intro,.booking-layout,.admin-intro,.booking-workspace,.login-panel{max-width:1116px;margin:auto}.intro{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;padding:48px 0 40px;border-bottom:1px solid #d8d9cd}.eyebrow{color:#8a6232;font-size:12px;letter-spacing:.1em;font-weight:700;margin:0 0 16px}h1{font:normal 48px/1.16 Georgia,"Noto Serif KR",serif;letter-spacing:-.035em;margin:0 0 20px}h2{font:normal 30px/1.3 Georgia,"Noto Serif KR",serif;margin:0 0 16px}.intro-copy{font-size:18px;max-width:560px}.venue{font-weight:650;margin-bottom:4px}.booth-note,.fine{color:#626a62;font-size:14px;line-height:1.6}.intro figure{margin:0;align-self:center}.intro img{width:100%;height:auto;display:block;border:1px solid #e4e4d8}.intro figcaption{font-size:12px;color:#626a62;margin-top:4px}.booking-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:80px;padding:42px 0 64px}.experience-note{padding-top:8px}.experience-note p{max-width:340px}.schedule-summary{border-top:1px solid #d8d9cd;border-bottom:1px solid #d8d9cd;margin:24px 0;padding:6px 0;font-size:15px}.reservation-area{min-width:0}fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}legend{display:flex;align-items:center;gap:12px;font-weight:700;font-size:21px;padding:0;margin-bottom:18px}.step{color:#8a6232;font-size:14px;font-weight:500;letter-spacing:.08em}.date-tabs{display:flex;gap:8px}.date-tabs button{flex:1;min-height:52px;padding:10px;background:transparent;border:1px solid #a6afa5;color:#20382e}.date-tabs button[aria-pressed=true]{background:#183e31;color:#fff;border-color:#183e31;font-weight:650}.notice{font-size:15px;min-height:24px;margin:14px 0;color:#42614b}.notice.error{color:#a52d24}.session-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.session-option{position:relative}.session-option input{position:absolute;width:1px;height:1px;opacity:0}.session-option label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c2c9be;background:#fffefa;min-height:76px;padding:10px 5px;cursor:pointer}.session-option label b{font-size:17px}.session-option label small{font-size:12px;color:#626a62}.session-option input:checked+label{border:2px solid #183e31;background:#e9eee4;padding:9px 4px}.session-option input:focus-visible+label{outline:3px solid #b88b4a;outline-offset:2px}.session-option input:disabled+label{background:#ecece5;border-color:#deded5;color:#85877f;cursor:default}.session-option input:disabled+label small{color:#85877f}.contact-field label,form>label,.admin-tools label{display:block;font-size:15px;font-weight:600;margin:14px 0 6px}input:not([type=radio]),select{display:block;width:100%;min-height:52px;border:1px solid #a6afa5;border-radius:0;padding:11px 12px;background:#fffefa;color:#20382e;font-size:16px}input:invalid:not(:placeholder-shown):focus{border-color:#8a6232}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:52px;padding:12px 22px;gap:8px;border:1px solid #183e31;font-size:16px;font-weight:650}.primary{background:#183e31;color:#fff}.primary:disabled{background:#c8cfc1;border-color:#c8cfc1;color:#56634e}.secondary{background:transparent;color:#183e31}#reserve-button{width:100%}.text-link{background:none;border:none;text-decoration:underline;text-underline-offset:5px;padding:8px 0;display:inline-block;min-height:44px;font-size:15px}.booking-footer{border-top:1px solid #d8d9cd;font-size:13px;padding-top:24px;padding-bottom:24px}.booking-footer span{margin-right:auto;letter-spacing:.06em}.confirmation{border-top:3px solid #183e31;padding:28px;background:#fffefa}.confirmation dl{margin:24px 0}.confirmation dl>div{border-top:1px solid #d8d9cd;padding:14px 0}.confirmation dt{font-size:13px;color:#626a62}.confirmation dd{margin:4px 0;font-weight:650;font-size:18px}.receipt-actions{display:grid;gap:10px}.admin-intro{padding:42px 0 20px}.admin-intro h1{font:600 38px/1.25 system-ui,sans-serif;letter-spacing:-.03em}.login-panel{max-width:440px;padding:24px}.login-panel button{width:100%;margin-top:20px}#admin-message{max-width:1116px;margin:12px auto}.booking-workspace{padding:12px 0 64px}.admin-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.admin-tools label{flex:1 1 220px;margin:0}.admin-tools label>span{display:block;font-size:13px;margin-bottom:4px}.admin-tools input,.admin-tools select{font-weight:400}.admin-session-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.session-stat{padding:14px;border:1px solid #d8d9cd;background:#fffefa}.session-stat strong,.session-stat span{display:block}.session-stat span{font-size:14px;color:#626a62}.session-stat button{min-height:44px;padding:6px 0;display:block;font-size:13px}.session-stat.full{border-color:#b88b4a}#admin-total{font:600 22px system-ui,sans-serif;margin-top:26px}.admin-booking-list{display:grid;gap:12px}.booking-row{border:1px solid #d8d9cd;background:#fffefa;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;break-inside:avoid}.booking-row h3{margin:0;font-size:20px}.booking-row p{margin:3px 0;overflow-wrap:anywhere}.booking-row small{color:#626a62}.booking-row.cancelled{opacity:.65}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-actions button,.row-actions select{font-size:14px;min-height:44px;padding:8px 10px}.row-actions select{flex:1 1 160px}.row-actions .primary,.row-actions .secondary{flex:0 1 auto}.status-label{font-size:13px;font-weight:650;color:#8a6232}dialog{border:1px solid #c2c9be;background:#f7f5ef;max-width:520px;width:calc(100% - 32px);padding:24px;max-height:90dvh;overflow:auto;color:#20382e}dialog::backdrop{background:#10261d99}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-heading h2{font-size:26px}.dialog-heading button{min-height:44px;padding:8px 12px}#walkin-form>button{width:100%}
@media(max-width:1180px){.intro,.booking-layout,.admin-intro,.booking-workspace,#admin-message{margin-left:32px;margin-right:32px}.booking-layout{gap:40px}}
@media(max-width:700px){.booking-header{padding:12px 20px;gap:8px}.brand{font-size:10px;gap:7px}.brand img{width:42px;height:42px}.language button{padding:8px;font-size:14px}.intro,.booking-layout,.admin-intro,.booking-workspace,#admin-message{margin-left:20px;margin-right:20px}.intro{grid-template-columns:1fr;gap:0;padding:26px 0 22px}.intro h1{font-size:36px;margin-bottom:12px}.intro-copy{font-size:16px;margin:10px 0}.intro figure{display:none}.eyebrow{font-size:11px;letter-spacing:.06em;margin-bottom:12px}.venue{font-size:14px}.booth-note{font-size:13px;margin-bottom:0}.booking-layout{display:flex;flex-direction:column;gap:24px;padding:24px 0 40px}.reservation-area{order:0}.experience-note{order:1;border-top:1px solid #d8d9cd;padding-top:24px}.experience-note h2{font-size:27px}.experience-note h2 br{display:none}.experience-note p{max-width:none}.schedule-summary{margin:16px 0}.session-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.session-option label{min-height:74px}.session-option label b{font-size:16px}.session-option label small{font-size:11px}legend{font-size:19px}.confirmation{padding:22px 18px}.confirmation h2{font-size:30px}.booking-footer{padding:20px;flex-wrap:wrap;gap:12px}.booking-footer span{flex:1 0 100%}.admin-intro h1{font-size:30px}.admin-session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-row{grid-template-columns:1fr;padding:16px}.admin-tools>*{flex:1 1 140px}.session-stat{padding:12px}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.booking-header,.booking-footer,.admin-tools,.language,.row-actions,.admin-session-summary,.fine,.booking-admin-entry{display:none!important}.booking-row{padding:10px;grid-template-columns:1fr 1fr;font-size:12px}.booking-row h3{font-size:15px}.booking-workspace,.admin-intro{margin:0;padding:10px}body{background:#fff}.admin-intro h1{font-size:25px}}

[data-i18n]{white-space:pre-line}.allergy-note{border-left:3px solid #b88b4a;background:#eeeee2;padding:18px 20px;margin:4px 0 24px}.allergy-note h3{font-size:16px;line-height:1.5;margin:0 0 10px}.allergy-note p{font-size:15px;margin:0}.allergy-note .text-link{margin-top:4px}.session-overview{margin-top:22px}.session-overview summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}

.allergy-consent{display:flex!important;align-items:flex-start;gap:12px;margin:16px 0 0!important;font-weight:600;font-size:15px;cursor:pointer}.allergy-consent input[type=checkbox]{flex:0 0 22px;width:22px;min-height:22px;height:22px;padding:0;margin:2px 0 0;accent-color:#183e31}.allergy-consent span{flex:1}.allergy-consent:has(input:focus-visible){outline:3px solid #b88b4a;outline-offset:4px}

.booking-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.board-session{border:1px solid #d8d9cd;padding:22px;background:#fffefa;min-width:0}.board-session.available{border-top:3px solid #183e31}.board-session-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.board-session h2{font:650 23px/1.3 system-ui,sans-serif;margin:0}.board-session-heading strong{font-size:13px;color:#626a62}.board-session.available .board-session-heading strong{color:#183e31}.board-count{font-size:14px;color:#626a62;margin:12px 0}.masked-participants{width:100%;border-collapse:collapse;font-size:14px;text-align:left;table-layout:fixed}.masked-participants th,.masked-participants td{padding:9px 4px;border-top:1px solid #d8d9cd;overflow-wrap:anywhere}.masked-participants th{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.booking-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.booking-board{grid-template-columns:1fr}.board-session{padding:20px}}

.booth-map-section{border-top:1px solid #d8d9cd;padding:40px 0 48px;display:grid;grid-template-columns:1fr 1.2fr;gap:20px 48px}.map-intro h2{font-size:34px}.booth-closeup{margin:0;border:1px solid #d8d9cd;background:white}.booth-closeup svg{display:block;width:100%;max-height:420px;aspect-ratio:225/200}.booth-closeup figcaption{padding:12px 16px;font-size:14px;background:#f7f5ef}.full-map,.booth-map-section>.fine{grid-column:1/-1}.full-map summary{cursor:pointer;min-height:52px;padding:12px 0;font-weight:650}.map-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.map-tools button{min-height:44px;padding:10px 15px;font-size:14px}.map-scroll{overflow:auto;height:min(65dvh,560px);border:1px solid #a6afa5;background:#fff;overscroll-behavior:contain}.map-scroll svg{display:block;max-width:none;width:1738.5px;height:2037px}.roster-row{grid-template-columns:1fr 1.2fr 1fr}.roster-value{display:block;overflow-wrap:anywhere}.roster-row .fine{font-size:13px}@media(max-width:700px){.booth-map-section,.roster-row{grid-template-columns:1fr}.booth-map-section{gap:18px}.booth-closeup svg{max-height:340px}.map-intro h2{font-size:30px}}@media print{.full-map,.booth-map-section,.roster-row .fine{display:none}.roster-row{grid-template-columns:1fr 1.2fr 1fr}}

.booth-map-section>*{min-width:0}.full-map{min-width:0}.map-scroll{width:100%;max-width:100%;min-width:0}
