:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f8f9fb;--surface:#fff;--ink:#181b20;--muted:#5f6672;--line:#e7e9ed;--control-line:#8b929e;--accent:#3559d8;--accent-soft:#eef2ff;--danger:#a52d32;--danger-soft:#fff1f2;--success:#087968;--success-soft:#eaf7f3;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--target:44px;--action:52px;--radius:16px;--control-radius:10px;--badge-radius:6px;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--motion:.14s}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;font-size:var(--text-sm);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0;line-height:1.57143}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.04em;font-weight:650;line-height:1.28572}h2{font-size:var(--text-lg);letter-spacing:-.025em;font-weight:650;line-height:1.4}h3{font-size:var(--text-md);letter-spacing:-.02em;font-weight:600;line-height:1.5}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{min-height:var(--s16);max-width:960px;padding-inline:var(--s5);justify-content:space-between;align-items:center;gap:var(--s4);margin-inline:auto;display:flex}.brand{min-height:var(--target);align-items:center;gap:var(--s3);font-size:var(--text-md);letter-spacing:-.02em;font-weight:700;display:inline-flex}.brand-divider{height:var(--s4);background:var(--line);width:1px}.local-label{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--line);padding:var(--s1) var(--s2);border-radius:var(--badge-radius);white-space:nowrap}.site-shell{max-width:960px;padding:var(--s10) var(--s5) var(--s6);min-height:calc(100dvh - var(--s16));margin-inline:auto}.home-shell{padding-block:var(--s16)}.home-shell .brand{margin-bottom:var(--s12)}.home-shell h1{margin-block:var(--s3)}.project-heading{max-width:760px;margin:0 auto var(--s8)}.eyebrow{color:var(--accent);font-size:var(--text-xs);margin-bottom:var(--s3);font-weight:600}.project-description{margin-top:var(--s4);white-space:pre-wrap;max-width:100%;min-height:1lh}.project-caption{color:var(--muted);margin-top:var(--s3)}.description{color:var(--muted)}.booking-workspace{max-width:760px;margin-inline:auto}.booking-tabs{padding:var(--s1);gap:var(--s1);background:var(--line);border-radius:var(--control-radius);margin-bottom:var(--s5);display:flex}.booking-tabs button{min-height:var(--target);border-radius:var(--badge-radius);color:var(--muted);background:0 0;border:0;flex:1;font-weight:600}.booking-tabs button[aria-pressed=true]{color:var(--accent);background:var(--surface)}.booking-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5);background:var(--surface)}.section-heading{gap:var(--s2);margin-bottom:var(--s6);display:grid}.step-heading{align-items:flex-start;gap:var(--s3);margin-bottom:var(--s6);display:flex}.step-heading h2{font-size:var(--text-md);font-weight:600;line-height:1.5}.step-number{flex:0 0 var(--s6);height:var(--s6);border:1px solid var(--line);border-radius:var(--badge-radius);color:var(--accent);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid}.booking-button{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--target);padding:var(--s3) var(--s4);border-radius:var(--control-radius);transition:opacity var(--motion);border:1px solid #0000;font-weight:600;line-height:1.57143;display:inline-flex}.button-primary{color:var(--surface);background:var(--accent);min-height:var(--action)}.button-secondary{color:var(--ink);background:var(--surface);border-color:var(--control-line)}.button-danger{color:var(--surface);background:var(--danger)}.booking-button:disabled{opacity:.55}.booking-button:active:not(:disabled),.booking-tabs button:active{transform:scale(.98)}.full-width{width:100%}.booking-field{align-content:start;gap:var(--s2);min-width:0;display:grid}.booking-field label,.number-label{font-size:var(--text-sm);font-weight:600}.booking-field input{width:100%;min-width:0;min-height:var(--s12);padding:var(--s3);border:1px solid var(--control-line);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font-size:var(--text-md);line-height:1.5}.booking-field input[type=date]{font-variant-numeric:tabular-nums}.booking-field input:disabled{background:var(--canvas);color:var(--muted)}.booking-field input[aria-invalid=true]{border-color:var(--danger)}.field-help,.field-error,.form-footnote{font-size:var(--text-xs);color:var(--muted);line-height:1.5}.field-error{color:var(--danger)}.help-line{display:block}.date-navigation{align-items:end;gap:var(--s2);margin-bottom:var(--s6);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.date-navigation .booking-button{min-height:var(--s12);padding-inline:var(--s3)}.slot-fieldset{border:0;min-width:0;margin:0;padding:0}.slot-fieldset legend{margin-bottom:var(--s1);font-weight:600;font-size:var(--text-sm);padding:0}.slot-list{gap:var(--s2);margin-top:var(--s4);display:grid}.booking-slot{align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--control-line);border-radius:var(--control-radius);cursor:pointer;min-height:var(--s16);display:flex}.booking-slot input{accent-color:var(--accent);width:var(--s4);height:var(--s4);flex-shrink:0;margin:0}.booking-slot:has(input:checked){border-color:var(--accent);background:var(--accent-soft);outline:1px solid var(--accent);outline-offset:-2px}.booking-slot:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.booking-slot input:focus-visible{outline:none}.slot-content{justify-content:space-between;align-items:center;gap:var(--s3);flex:1;min-width:0;display:flex}.slot-main{gap:var(--s1);min-width:0;display:grid}.slot-main strong{font-weight:600}.slot-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--text-xs)}.slot-capacity{font-size:var(--text-xs);color:var(--accent);flex-shrink:0}.slot-full{background:var(--canvas);border-color:var(--line);cursor:default}.slot-full .slot-capacity,.slot-full strong{color:var(--muted)}.slot-pagination{margin-top:var(--s4);justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.slot-pagination>span{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.text-button{min-height:var(--target);color:var(--muted);font-size:var(--text-xs);text-underline-offset:var(--s1);padding:var(--s3) 0;background:0 0;border:0;text-decoration:underline}.availability-picker>.text-button{margin-top:var(--s2)}.selection-hint{margin-top:var(--s4);padding-top:var(--s5);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs)}.booking-form{margin-top:var(--s5);padding-top:var(--s6);border-top:1px solid var(--line);gap:var(--s5);display:grid}.booking-form .step-heading{margin-bottom:0}.selected-summary{gap:var(--s1);border-left:2px solid var(--accent);padding-left:var(--s3);font-size:var(--text-xs);color:var(--muted);display:grid}.selected-summary strong{font-size:var(--text-sm);color:var(--ink)}.form-grid{gap:var(--s5);display:grid}.form-footnote{text-align:center}.notice{background:var(--canvas);padding:var(--s4);border-radius:var(--control-radius);color:var(--muted)}.notice-error{color:var(--danger);background:var(--danger-soft)}.slot-fieldset>.notice{margin-top:var(--s4)}.availability-loading{align-content:center;min-height:240px;display:grid}.availability-error,.lookup-form{gap:var(--s5);display:grid}.lookup-form .section-heading{margin-bottom:var(--s1)}.receipt{gap:var(--s6);display:grid}.receipt-heading{gap:var(--s3);justify-items:start;display:grid}.status-badge{font-size:var(--text-xs);padding:var(--s1) var(--s2);border-radius:var(--badge-radius);color:var(--accent);background:var(--accent-soft);align-items:center;font-weight:600;display:inline-flex}.status-confirmed{color:var(--success);background:var(--success-soft)}.status-cancelled{color:var(--muted);background:var(--line)}.status-waiting{color:var(--muted);background:var(--canvas);border:1px solid var(--line)}.booking-number-box{gap:var(--s3);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--canvas);padding:var(--s4);display:grid}.booking-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);min-width:0;min-height:var(--target);color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-weight:600;display:block}.booking-number-box .booking-button{justify-self:start}.receipt-details{gap:var(--s4);margin:0;display:grid}.receipt-details>div{grid-template-columns:var(--s16) minmax(0, 1fr);gap:var(--s4);display:grid}.receipt-details dt{color:var(--muted)}.receipt-details dd{margin:0}.receipt-details small{color:var(--muted);font-size:var(--text-xs);margin-top:var(--s1);display:block}.action-row{gap:var(--s2);flex-wrap:wrap;display:flex}.action-row>.booking-button{flex:180px}.cancel-confirmation{gap:var(--s3);border-top:1px solid var(--line);padding-top:var(--s6);display:grid}.cancel-confirmation p{color:var(--muted)}.site-footer{justify-content:center;gap:var(--s3);margin-top:var(--s8);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.site-footer>span:first-child{font-weight:700}@media (hover:hover){.booking-button:hover:not(:disabled){opacity:.88}.booking-slot:hover:not(.slot-full){border-color:var(--accent)}.text-button:hover{color:var(--accent)}}@media (min-width:768px){.header-inner{padding-inline:var(--s8)}.site-shell{padding:var(--s12) var(--s8) var(--s8)}.booking-card{padding:var(--s8)}.date-navigation{grid-template-columns:var(--s16) minmax(0, 1fr) var(--s16)}}@media (min-width:900px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.booking-button:active:not(:disabled),.booking-tabs button:active{transform:none}}
