.entry-qr{width:min(100%,22rem);aspect-ratio:1;margin-inline:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden}.entry-qr img{display:block;width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none}.mine-qr{display:flex;flex-direction:column;gap:var(--s-2)}.mine-qr h2{font-size:var(--text-small);font-weight:600;color:var(--ink-2)}.escan-hit{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-box);text-align:center}.escan-hit .no{font-size:var(--text-lead);font-weight:700;color:var(--ink-2)}.escan-hit .no b{margin-left:var(--s-2);font-size:2.5rem;color:var(--ink)}.escan-hit .meta{margin-top:var(--s-2);color:var(--ink-2);line-height:1.6}.escan-hit strong{font-size:var(--text-lead);color:var(--ink)}.escan{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.escan-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2);align-items:end}.escan-form>.field{min-width:0}.escan-cam{display:flex;flex-direction:column;gap:var(--s-3)}.escan-view{position:relative;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface);overflow:hidden}.escan-view video{display:block;width:100%;height:100%;object-fit:cover}.escan-frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid #fff;border-radius:var(--r-sm);box-shadow:0 0 0 1px #00000040;pointer-events:none}.escan-state{margin:0;font-size:var(--text-small);color:var(--ink-2)}.escan-acts{display:flex;flex-wrap:wrap;gap:var(--s-2)}.escan-acts>.btn{flex:1 1 8rem}.kiosk .icon{stroke-width:1.5}.kiosk .icon :is(path,circle,rect){vector-effect:none}.kiosk :is(.kiosk-input,.keypad button,.kpick,.kiosk-when,.kiosk-title.ticket){font-variant-numeric:tabular-nums}.kiosk .pad-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);width:min(100%,64rem);margin:0 auto;padding:var(--s-4) clamp(16px,4vw,40px)}.kiosk .pad-head .wordmark{flex:none;font-size:clamp(18px,2.4vmin,24px)}.kiosk .pad-head .logo{width:36px;height:36px;border-radius:10px}.kiosk .kiosk-gym{min-width:0;margin:0;font-size:var(--k-text);font-weight:800;line-height:1.3;letter-spacing:-.035em;text-align:right;text-wrap:balance}.kiosk-pad{flex:1;display:flex;flex-direction:column}.pad-left{display:flex;flex-direction:column;padding:var(--s-2) clamp(16px,4vw,40px) 0}.pad-info{display:flex;flex-direction:column;gap:clamp(12px,2.4vmin,24px);width:100%;max-width:760px;margin:0 auto;animation:rise var(--t-enter) var(--ease-out) both}.pad-info:empty{display:none}.pad-right{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,2.4vmin,24px);width:100%;max-width:760px;margin:0 auto;padding:clamp(16px,3vmin,32px) clamp(16px,4vw,40px);text-align:center;animation:rise var(--t-enter) var(--ease-out) both}.pad-right>.kbtn:last-child:not(:first-child){margin-top:var(--s-4)}.kiosk-pad .keypad+.kiosk-acts{margin-top:var(--s-2)}.pad-left .kiosk-q,.pad-left .kiosk-ask{text-align:left;text-wrap:balance}.pad-hero{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vmin,16px);padding:clamp(24px,4vmin,40px);border-radius:var(--r-panel);background:var(--bg);box-shadow:var(--shadow-float);text-align:center}.pad-hero .kiosk-title.ticket+.kiosk-sub{display:inline-flex;align-items:center;min-height:1.8em;padding:0 .8em;border-radius:var(--r-pill);font-weight:700}.pad-hero.ok .kiosk-title.ticket+.kiosk-sub{background:var(--ok-bg);color:var(--ok-ink)}.pad-hero.wait .kiosk-title.ticket+.kiosk-sub{background:var(--warn-bg);color:var(--warn-ink)}.pad-right>.kiosk-sub{font-weight:700}.kiosk.is-home .pad-head{flex-direction:column;justify-content:center;gap:clamp(14px,2.5vmin,24px);padding-top:clamp(24px,4vh,48px)}.kiosk.is-home .pad-head .logo{width:44px;height:44px;border-radius:12px}.kiosk.is-home .kiosk-gym{font-size:clamp(28px,4vmin,44px);text-align:center}.kiosk.is-home .kiosk-pad{display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vmin,32px);width:min(100% - 2 * clamp(20px,4vw,48px),64rem);margin:0 auto;padding:clamp(24px,4vh,48px) 0 clamp(32px,6vh,72px)}.kiosk.is-home .pad-left{flex:none;padding:0}.kiosk.is-home .pad-info{flex:none;max-width:none;gap:var(--s-3)}.kiosk.is-home .pad-left .kiosk-q{margin:0;font-size:clamp(20px,2.8vmin,28px);font-weight:600;text-align:center;color:var(--ink-2)}.kiosk.is-home .pad-right{flex:none;position:static;max-width:none;max-height:none;padding:0}.kiosk.is-home .kiosk-picks{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.5vmin,28px);width:100%}.kiosk.is-home .kiosk-picks .kpick{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center;min-width:0;min-height:clamp(190px,24vh,270px);padding:clamp(20px,3vmin,32px);gap:clamp(16px,2.4vmin,28px);border-radius:var(--r-panel);box-shadow:none}.kiosk.is-home .kpick-time{font-size:clamp(32px,5.5vmin,54px);font-weight:800;letter-spacing:-.04em}.kiosk.is-home .kpick-state{font-size:clamp(28px,4.4vmin,42px);font-weight:800}.kiosk.is-home .kpick-left{font-size:clamp(16px,2.3vmin,24px);font-weight:500}.kiosk.is-home .kpick-courts{font-size:clamp(16px,2.3vmin,24px);font-weight:600}.kiosk.is-home .kpick.before{background:var(--mute-bg)}@media (orientation: landscape) and (min-width: 900px){.kiosk.is-home .kiosk-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.kiosk.is-home .kiosk-picks:has(>:only-child){grid-template-columns:minmax(0,1fr);max-width:38rem;margin:0 auto}.kiosk.is-home .kiosk-picks .kpick{min-height:clamp(250px,36vh,360px)}}@media (max-width: 599px){.kiosk .pad-head{gap:var(--s-2)}.kiosk:not(.is-home) .pad-head{flex-direction:column}.kiosk:not(.is-home) .kiosk-gym{text-align:center}}@media (orientation: portrait) and (min-width: 600px){.kiosk-pad .keypad button{min-height:clamp(72px,8.6vh,104px)}.kiosk-pad:has(.pad-hero) .pad-left{flex:1}.kiosk-pad:has(.pad-hero) .pad-info{flex:1;justify-content:center}.kiosk-pad:has(.pad-hero) .pad-right{flex:none}.pad-hero .kiosk-title.ticket b{font-size:2.2em}}@media (orientation: landscape) and (min-width: 900px){.kiosk-pad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s-8);width:min(100% - 2 * clamp(16px,4vw,40px),64rem);margin:0 auto}.pad-left,.pad-right{padding:var(--s-3) 0 var(--s-4)}.pad-right{position:sticky;top:0;max-width:none;max-height:100vh;max-height:100dvh;gap:clamp(8px,1.4vmin,12px)}.kiosk.is-home .pad-right{max-height:none}.pad-info{flex:1;justify-content:center}.pad-hero .kiosk-title.ticket b{font-size:1.65em}.pad-left .kiosk-q{font-size:clamp(2rem,5.6vmin,3rem);line-height:1.25}.kiosk-pad .keypad+.kiosk-acts{margin-top:0}.kiosk-pad:has(.pad-info:empty){grid-template-columns:minmax(0,1fr)}.kiosk-pad:has(.pad-info:empty) .pad-left{display:none}}@media (orientation: landscape) and (min-width: 900px) and (max-height: 800px){.kiosk-pad .keypad button{min-height:clamp(64px,10.5vh,96px)}}body:has(:is(.console,.desk)){background:var(--cream)}.console,.desk{--surface: var(--cream);--hover: rgb(28 28 30 / .05);--line-ui: rgb(28 28 30 / .2)}@media (prefers-contrast: more){.console,.desk{--line: rgb(28 28 30 / .4);--line-ui: rgb(28 28 30 / .65);--hover: rgb(28 28 30 / .1)}}@media (hover: hover){:is(.console,.desk) :is(.btn,.tabs button,.seg label,.cal-day):hover{transform:none;filter:none}:is(.console,.desk) .btn:not(.primary,.danger,:disabled):hover{background:var(--hover)}:is(.console,.desk) .tabs button:not(.on):hover{color:var(--ink)}.console .seg label:not(.on):hover{background:var(--hover)}.console .cal-day:not(.pinned):hover{background:var(--hover)}}:is(.console,.desk) .btn{border-radius:var(--r-sm)}:is(.console,.desk) .btn:not(.primary,.danger){background:transparent}:where(.console,.desk) .btn:not(.primary,.danger,.ghost){border-color:var(--line-ui)}:is(.console,.desk) :is(input,select,textarea):not([type=checkbox],[type=radio]){border-radius:var(--r-sm)}:where(.console,.desk) :where(input,select,textarea):not([type=checkbox],[type=radio]){border-color:var(--line-ui)}:is(.console,.desk) :is(.msg,.confirm){border-radius:var(--r-sm)}:is(.console,.desk) .confirm,.page.desk>.confirm{background:none}:is(.console,.desk) .badge.gray{background:none}:is(.console,.desk) .tabs{align-self:stretch;gap:0;padding:0;border-radius:0;background:none;box-shadow:inset 0 -1px 0 var(--line)}:is(.console,.desk) .tabs button{padding:0 var(--s-4);border-radius:0;color:var(--ink-2);font-weight:600}:is(.console,.desk) .tabs button.on{background:none;box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent-ink)}:is(.console,.desk) .tabs button:focus-visible{outline-offset:-2px}:is(.console,.desk) .erow{min-height:calc(var(--tap) + 2 * var(--s-3))}:is(.console,.desk) :is(.facts dd,.tno,.l4,.count,.cal-day,.day-count,.rec-table,h2,h3){font-variant-numeric:tabular-nums}.console .acts{flex-wrap:wrap}.console .side,.console .drawer{background:var(--surface)}.console .drawer{box-shadow:none}.console .drawer::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.console .console-top{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.console .menu-btn{margin-left:-10px}.console-col{--body-w: calc(72rem + 2 * var(--s-6))}.console-col:has(.page[data-menu=today]){--body-w: calc(64rem + 2 * var(--s-6))}.console-col:has(.page:is([data-menu=settings],[data-menu=devices])){--body-w: calc(42rem + 2 * var(--s-6))}@media (min-width: 768px){.console .console-top{padding-left:calc(max(0px,(100% - var(--body-w)) / 2) + max(var(--s-6),env(safe-area-inset-left)))}.console .console-top h1{margin-left:0}}.console .side-head{padding:0 var(--s-3) 0 var(--s-6)}.console .side-head>a{text-align:left;font-weight:800}.console .side-nav>div{margin-bottom:var(--s-3);border-bottom:0}.console .nav-title{padding:12px var(--s-3)}.console .nav-link{border-radius:var(--r-sm)}@media (hover: hover){.console .nav-link:hover{transform:none;filter:none;background:var(--hover)}}.console .nav-link:active{transform:none;filter:none;background:var(--hover)}.console .nav-link[aria-current=page],.console .nav-link[aria-current=page]:hover{background:none;color:var(--accent-ink);font-weight:700}.console .side-foot>.btn{min-height:var(--tap)}.console .page{padding-bottom:max(var(--s-8),calc(var(--s-4) + env(safe-area-inset-bottom)))}.console .page[data-menu]{gap:var(--s-5)}.console .page[data-menu]>.card{gap:var(--s-4);padding:var(--s-5) 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}.console .page:is([data-menu=settings],[data-menu=devices])>.card{gap:var(--s-5)}.connect-code{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3)}.connect-code .code-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3)}.connect-code .device-code{font-size:var(--text-display);font-weight:800;line-height:1.2;letter-spacing:.08em;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}.connect-code>.msg{align-self:stretch}.console .page[data-menu]>.card:first-child{padding-top:0;border-top:0}.console .page[data-menu]>.card.time.dim{padding-top:var(--s-3)}.console .page[data-menu]>.card.empty{padding:var(--s-8) 0;font-weight:600}.console .save-bar{background:var(--surface)}.console .page[data-menu=today]{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--s-5) var(--s-6);align-items:start}.console .page[data-menu=today]>:not(.card.time),.console .page[data-menu=today]>.card.time.dim{grid-column:1 / -1}.console .page[data-menu=today]>p.muted:first-child{font-size:var(--text-body);font-weight:600;color:var(--ink)}.console .card.time .stat:is(.open,.almost,.full) b{font-size:var(--text-num-s);font-weight:800}.console .card.time .stat.open b{color:var(--accent-ink)}.console .card.time .stat.before b{font-size:clamp(1.5rem,7vw,var(--text-big));font-weight:800}.console .facts dd{font-weight:800}@container console (min-width: 40rem){.console .page[data-menu]>.card:not(.time) .facts dd{font-size:var(--text-big);line-height:1.15;letter-spacing:-.025em}}@container console (min-width: 48rem){.console .facts.six{grid-template-columns:repeat(6,minmax(0,1fr))}.console .facts.six>div:nth-child(3n+1){padding-left:var(--s-3);border-left:1px solid var(--line)}.console .facts.six>div:first-child{padding-left:0;border-left:0}}.console .cal-grid{margin:0}.console .cal-head .btn{width:var(--tap);min-height:var(--tap);border-color:var(--line-ui)}@container console (min-width: 45rem){.console .day-panel{padding-left:var(--s-6);border-left:1px solid var(--line)}}.console .day-count{padding:0;border-radius:0;background:none;color:var(--ink)}.console .day-count .total{color:var(--accent-ink)}.console .day-count .total b{font-size:var(--text-big);font-weight:800}.console .day-count li{padding:var(--s-1) 0;border-top:1px solid var(--line)}.console .seg{display:flex;flex-wrap:wrap}.console .seg label{flex:1 1 var(--seg-min, 4.5rem);border-radius:var(--r-sm)}.console .seg label:not(.on){box-shadow:inset 0 0 0 1px var(--line-ui)}.console .basic .stack{max-width:32rem}.console .basic .field>input{max-width:20rem}.console .basic+.row,.console .trows+.row{padding:var(--s-3) 0;border-top:1px solid transparent}.console .basic+.row.save-bar,.console .trows+.row.save-bar{padding-bottom:max(var(--s-3),env(safe-area-inset-bottom));border-top-color:var(--line)}@media (max-width: 560px){.console .basic+.row>.btn.primary,.console .trows+.row>.btn.primary{flex:1;min-height:52px;font-size:var(--text-body)}}@container console (min-width: 40rem){.console .rec-range>.btn{margin-left:auto}}.console .table-scroll{margin:0;border-top:0}.console .rec-table thead th{background:none}.console .rec-table :is(th,td):first-child{padding-left:0}.console .rec-table :is(th,td):last-child{padding-right:0}@media (min-width: 1024px){.page.desk{padding-top:var(--s-8)}}.page.desk{gap:var(--s-5);padding-bottom:max(var(--s-8),calc(var(--s-4) + env(safe-area-inset-bottom)))}.desk .desk-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-5) var(--s-8);padding-bottom:var(--s-3)}.desk .desk-head .wordmark{flex:none;font-size:20px}.desk .desk-head .logo{width:40px;height:40px;border-radius:11px}.desk .desk-head h1{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-3);font-size:clamp(24px,2.5vw,32px);font-weight:800;line-height:1.3;letter-spacing:-.035em}.desk .desk-head h1>span{font-size:var(--text-ui);font-weight:500;letter-spacing:0;color:var(--ink-2);white-space:nowrap}.desk .desk-account:empty{display:none}.desk .desk-account{margin-left:auto}.desk .desk-dates{margin-bottom:0}.desk .desk-sessions{gap:var(--s-2);padding-bottom:var(--s-2)}.desk .desk-sessions button{flex:1 0 auto;padding-inline:var(--s-4);font-variant-numeric:tabular-nums}.page.desk .card{gap:var(--s-3);padding:var(--s-4) 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}.page.desk .card.empty{padding:var(--s-8) 0;font-weight:600}.page.desk details.card{padding-top:0}.page.desk details.card>summary{margin:0}.page.desk .desk-cols{gap:var(--s-5) var(--s-8)}.page.desk .desk-cols>.col{gap:var(--s-5)}.desk .facts dd{font-size:var(--text-big);font-weight:800;line-height:1.15;letter-spacing:-.025em}.page.desk :is(.tno,.l4){font-weight:800}.desk .count{align-self:baseline;font-size:var(--text-small)}.page.desk>.note{padding:var(--s-1) var(--s-3);border:0;border-left:2px solid var(--accent);border-radius:0;background:none;box-shadow:none}.page.desk .desk-overview{gap:var(--s-3);padding-block:var(--s-4);border-top:0;border-bottom:1px solid var(--line)}.desk .desk-overview h2{font-size:var(--text-big);font-weight:800;font-variant-numeric:tabular-nums}.desk .desk-overview .facts dd{font-size:clamp(28px,3.3vw,40px)}.desk .desk-overview .facts dt{font-size:var(--text-ui)}.desk .desk-overview .facts>div{gap:var(--s-2)}.page.desk .tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--s-4);padding-block:var(--s-2)}.page.desk .tools>.row{min-width:0}.page.desk .tools .desk-search{width:100%}.page.desk .desk-search .search{flex:1;min-width:0;width:100%}.page.desk .tools .btn{min-height:48px;white-space:nowrap}.page.desk .desk-cols .card>h3{display:flex;align-items:baseline;gap:var(--s-2);font-size:var(--text-title)}@media (max-width: 899px){.page.desk .tools{grid-template-columns:repeat(2,minmax(0,1fr))}.page.desk .tools>.desk-search{grid-column:1 / -1}.page.desk .tools>.row>.btn{flex:1}}@media (max-width: 640px){.desk .desk-head{gap:var(--s-3)}.desk .desk-head h1{flex-basis:100%}.desk .desk-head .wordmark{font-size:18px}.desk .desk-head .logo{width:36px;height:36px}.desk .desk-account{margin-left:0}.page.desk .tools{grid-template-columns:minmax(0,1fr)}.desk .desk-overview .facts dt{font-size:var(--text-small)}}:root{color-scheme:light;--bg: #ffffff;--surface: #f6f7f8;--cream: #efede7;--surface-strong: #e9eceb;--ink: rgb(28 28 30 / .92);--ink-2: rgb(28 28 30 / .64);--ink-3: #62666d;--ink-4: rgb(28 28 30 / .18);--ink-off: #9aa39e;--line: rgb(28 28 30 / .1);--line-dash: #c9cfcc;--line-strong: #8a938e;--accent: #0a7556;--accent-ink: #086148;--accent-soft: rgb(10 117 86 / .1);--on-accent: #ffffff;--on-accent-soft: rgb(255 255 255 / .16);--ok-bg: var(--accent-soft);--ok-ink: var(--accent-ink);--warn-bg: #fffbeb;--warn-ink: #b45309;--danger-bg: #fef2f2;--danger-ink: #b91c1c;--mute-bg: #f3f4f6;--mute-ink: #4b5563;--danger: #dc2626;--danger-line: rgb(239 68 68 / .3);--kakao: #fee500;--kakao-ink: #191919;--font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--text-caption: .75rem;--text-small: .875rem;--text-ui: .875rem;--text-body: 1rem;--text-lead: 1.125rem;--text-title: 1.125rem;--text-big: 1.5rem;--text-h1: 1.5rem;--text-display: 1.875rem;--text-num-s: 2.25rem;--text-num: 3rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-12: 3rem;--r-sm: 12px;--r-md: 16px;--r-field: 20px;--r-btn: 20px;--r-btn-l: 20px;--r-box: 20px;--r-card: 16px;--r-panel: 20px;--r-pill: 999px;--shadow-hair: 0 .5px 1px rgb(28 28 30 / .06), 0 2px 6px rgb(28 28 30 / .05);--shadow-float: 0 1px 2px rgb(28 28 30 / .06), 0 10px 24px -10px rgb(28 28 30 / .22);--shadow-sm: 0 1px 3px rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 12px 32px rgb(0 0 0 / .1), 0 4px 8px rgb(0 0 0 / .06);--shadow-sheet: 0 -12px 40px rgb(0 0 0 / .18);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1);--t-key: 75ms;--t-press: .12s;--t-fast: .16s;--t-enter: .18s;--t-state: .2s;--t-sheet: .42s;--tap: max(44px, 2.5rem);--page-w: 35rem;--bar-h: 4rem;--icon-l: 1.5rem;--z-bar: 2;--heart: var(--accent);--material: rgb(255 255 255 / .62);--material-filter: blur(20px) saturate(180%);--material-top: rgb(255 255 255 / .85);--material-top-filter: blur(24px);--scrim: rgb(17 24 39 / .42);--scrim-blur: blur(3px);--scrim-drawer: rgb(0 0 0 / .4);--scrim-drawer-blur: blur(8px)}.kiosk,.page.auth{--surface: var(--cream);--r-card: 24px;--r-panel: 30px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (max-width: 640px){html{font-size:14px}}@media (min-width: 1024px){html{font-size:19px}}@media (min-width: 1600px){html{font-size:21px}}body{margin:0;background:var(--surface);color:var(--ink);font:500 var(--text-body)/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;word-break:keep-all;overflow-wrap:anywhere}body:has(:is(.kiosk,.page.auth)){background:var(--cream)}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}#root ::-webkit-scrollbar{width:10px;height:10px}#root ::-webkit-scrollbar-track{background:transparent}#root ::-webkit-scrollbar-thumb{border-radius:5px;background:linear-gradient(180deg,#0a755659,#08614859)}#root ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0a755699,#08614899)}h1,h2,h3,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}a{color:var(--accent);text-underline-offset:3px;-webkit-tap-highlight-color:transparent}::selection{background:var(--accent-soft)}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{width:1.25em;height:1.25em;flex:none;stroke-width:2}.icon :is(path,circle,rect){vector-effect:non-scaling-stroke}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{width:100%;max-width:var(--page-w);margin:0 auto;padding:var(--s-6) max(var(--s-4),env(safe-area-inset-right)) var(--s-6) max(var(--s-4),env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--s-4)}.page.wide{max-width:72rem}.page.center{flex:1;align-items:center;justify-content:center;text-align:center;padding-bottom:16vh}.page.auth{flex:none;width:calc(100% - 2 * var(--s-5));max-width:calc(28rem - 2 * var(--s-5));margin:auto;padding:1.75rem;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--bg);box-shadow:var(--shadow-hair)}.page.auth h1{font-size:var(--text-h1);text-align:center}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-3)}.row.gap{justify-content:flex-start;gap:var(--s-2)}.wrap{flex-wrap:wrap}@media (min-width: 640px){.page.auth{padding:2.25rem}}@media (min-width: 768px){.page{padding-left:max(var(--s-6),env(safe-area-inset-left));padding-right:max(var(--s-6),env(safe-area-inset-right))}}h1{font-size:var(--text-lead);font-weight:700;line-height:1.4;letter-spacing:0;text-wrap:balance}h2{font-size:var(--text-title);font-weight:700;line-height:1.4;text-wrap:balance}h3,.card h2{font-size:var(--text-body);font-weight:700;line-height:1.4}h2 small,h3 small{margin-left:var(--s-1);font-size:var(--text-small);font-weight:500;letter-spacing:0;color:var(--ink-2)}.muted{color:var(--ink-2)}.small{font-size:var(--text-caption)}.big{font-size:var(--text-big);font-weight:700;line-height:1.2;letter-spacing:-.02em}.msg{padding:var(--s-3) var(--s-4);border:1px solid var(--danger-line);border-radius:var(--r-box);background:var(--danger-bg);color:var(--danger-ink);font-size:var(--text-small);font-weight:500;text-align:left}.note{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface);font-size:13px;text-align:left}.page>.note{background:var(--bg)}.stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .3em;font-size:var(--text-small);font-weight:500;line-height:1.2;color:var(--ink-2)}.stat b{font-size:var(--text-num);font-weight:900;line-height:1;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:normal}.stat.before b{font-size:clamp(1.75rem,9vw,var(--text-num-s))}.stat.none b,.stat.ended b{font-size:var(--text-big);line-height:1.2;color:var(--ink-2);font-weight:700}.courts{font-size:var(--text-small);font-weight:500;line-height:1.4;color:var(--ink-2);font-variant-numeric:tabular-nums}.stat.almost b{color:var(--warn-ink)}.loading:before{content:"";display:inline-block;width:1em;height:1em;margin-right:.5em;vertical-align:-.15em;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.btn,.kbtn,.keypad button,.tabs button,.seg label,.cal-day,.demobar button{position:relative;border:0;transition:transform var(--t-press) var(--ease-out),filter var(--t-fast) var(--ease-standard),box-shadow var(--t-state) var(--ease-standard)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-btn);background:var(--bg);color:var(--ink);font-size:var(--text-ui);font-weight:500;line-height:1.2;white-space:nowrap;text-decoration:none}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn.danger{border-color:var(--danger);background:var(--danger);color:var(--on-accent)}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2);padding:0 var(--s-3)}.btn.huge{width:100%;min-height:52px}.btn.kakao{width:100%;min-height:52px;border-color:var(--kakao);background:var(--kakao);color:var(--kakao-ink);font-size:var(--text-body)}.btn.kakao svg{width:1.125em;height:1.125em}@media (hover: hover){.btn:hover,.tabs button:hover,.seg label:hover,.cal-day:hover,.demobar button:hover{transform:translateY(-1.5px);filter:brightness(1.07)}.btn:where(:not(.primary,.danger,.kakao,:disabled)):hover{background:var(--surface)}.card.link:hover{box-shadow:var(--shadow-float)}}.btn:active,.tabs button:active,.seg label:active,.cal-day:active,.demobar button:active{transform:scale(.97);filter:brightness(.97)}.card.link:active{transform:scale(.99)}@media (hover: hover){.page.auth .btn:not(:disabled):hover{transform:none;filter:none;opacity:.9}}.page.auth .btn:not(:disabled):active{transform:scale(.98);filter:none}.kbtn,.keypad button{transition-duration:var(--t-key)}.kbtn:not(:disabled):active,.keypad button:active{transform:scale(.93)}.kbtn:not(.primary):not(.danger):active,.keypad button:active{background:var(--surface)}.btn:disabled{opacity:.5;transform:none;filter:none}input,select,textarea{min-width:0;min-height:var(--tap);padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg);color:var(--ink);font-size:var(--text-small);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}textarea{width:100%;min-height:5.5rem;padding:.625rem var(--s-3);line-height:1.5;resize:vertical}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:where(:not([type=checkbox],[type=radio])):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}@media (hover: hover){select:not(:focus,:disabled):hover{border-color:#0a755673}}input:disabled,select:disabled,textarea:disabled{border-color:var(--line);background:var(--surface);color:var(--ink-2)}input[aria-invalid=true],input[aria-invalid=true]:focus{border-color:var(--danger-ink);box-shadow:inset 0 0 0 1px var(--danger-ink)}.form label,.login label{display:flex;flex-direction:column;gap:.375rem;font-size:var(--text-caption);font-weight:500;color:var(--ink-2);text-align:left}.search{width:9.5rem}.num{width:7rem}label.check{display:flex;flex-direction:row;align-items:center;gap:var(--s-2);min-height:var(--tap);font-size:var(--text-small);font-weight:500;color:var(--ink);cursor:pointer}.check input{flex:none;width:20px;height:20px;min-height:0;padding:0;accent-color:var(--accent);cursor:pointer}.check input:focus-visible{outline-offset:2px}label.changed{color:var(--warn-ink);font-weight:700}.changed input{border-color:var(--warn-ink);background:var(--warn-bg);box-shadow:inset 0 0 0 1px var(--warn-ink);accent-color:var(--warn-ink)}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0;margin:0;padding:0;border:0;font-size:var(--text-caption);font-weight:500;color:var(--ink-2)}fieldset.field{display:block}.field>legend{padding:0;margin-bottom:.375rem}.hint{margin-top:.375rem;font-size:var(--text-caption);font-weight:500;color:var(--ink-2)}.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--seg-min, 4.5rem),1fr));gap:var(--s-2);max-width:32rem}.seg label{display:grid;place-items:center;min-height:var(--tap);padding:0 var(--s-2);border-radius:var(--r-field);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:var(--text-small);font-weight:500;white-space:nowrap;cursor:pointer}.seg label.on{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent-ink);font-weight:600}.seg input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}.seg label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 640px){input,select,textarea{font-size:max(1rem,16px)}}.card{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);box-shadow:var(--shadow-hair)}.card.center{align-items:center;text-align:center}.card.link{position:relative;gap:var(--s-1);color:inherit;text-decoration:none;transition:transform var(--t-press) var(--ease-out),box-shadow var(--t-state) var(--ease-standard)}.card.link strong{font-size:var(--text-body);font-weight:700}.card.link .muted{font-size:var(--text-small)}.card.link>.row:last-child{align-items:flex-end}.card.link>.row:last-child>.icon{margin-bottom:var(--s-2);color:var(--ink-3)}.card.dim{background:transparent;box-shadow:none;color:var(--ink-2)}.card.dim .stat b,.card.dim .facts dd{color:var(--ink-2)}.card.dim .stat b{font-size:var(--text-h1);line-height:1.2}.card.time.dim{padding:var(--s-3) var(--s-5)}.card.time.dim h2{font-size:var(--text-body);font-weight:600}.card.empty{align-items:center;padding:2.5rem var(--s-5);color:var(--ink);font-size:var(--text-body);font-weight:600;text-align:center}.badge{display:inline-flex;align-items:center;flex:none;padding:var(--s-1) .625rem;border-radius:var(--r-pill);font-size:var(--text-caption);font-weight:500;line-height:1rem;white-space:nowrap}.badge.green{background:var(--ok-bg);color:var(--ok-ink)}.badge.orange{background:var(--warn-bg);color:var(--warn-ink)}.badge.red{background:var(--danger-bg);color:var(--danger-ink)}.badge.gray{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.facts>div{display:flex;flex-direction:column;gap:var(--s-1);padding:0 var(--s-3);border-left:1px solid var(--line)}.facts>div:first-child{padding-left:0;border-left:0}.facts dt{font-size:var(--text-caption);font-weight:500;color:var(--ink-2)}.facts dd{font-size:var(--text-lead);font-weight:700;line-height:1.3}.list{display:flex;flex-direction:column}.erow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--line)}.list>li.muted{padding:var(--s-3) 0;border-top:1px solid var(--line);font-size:var(--text-small)}.l4{min-width:4rem;font-size:var(--text-big);font-weight:900;line-height:1.2;letter-spacing:-.025em}.tno{min-width:3.25rem;font-size:var(--text-big);font-weight:900;line-height:1.1;letter-spacing:-.025em}.who{display:flex;flex-direction:column;flex:1 1 7.5rem;min-width:0;font-size:var(--text-small);line-height:1.4}.who b{font-weight:600}.acts{display:flex;gap:var(--s-2);margin-left:auto}.count{margin-left:var(--s-2);font-weight:600;color:var(--ink-2)}.erow>.msg{flex-basis:100%}.tabs{display:flex;flex-wrap:wrap;gap:2px;align-self:flex-start;max-width:100%;padding:var(--s-1);border-radius:var(--r-box);background:var(--ink-4)}.tabs button{flex:none;min-height:var(--tap);padding:0 var(--s-5);border-radius:var(--r-md);background:transparent;color:var(--ink);font-size:var(--text-small);font-weight:500;white-space:nowrap}.tabs button.on{background:var(--bg);box-shadow:var(--shadow-sm)}.confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface);font-size:var(--text-small)}.confirm>span:first-child{flex:1 1 16rem}.glyph{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border-radius:50%;background:var(--surface);color:var(--ink-2);font-size:var(--text-title)}.page.center>.glyph,.card.center>.glyph{margin-bottom:calc(var(--s-1) * -1)}.back{display:inline-flex;align-items:center;gap:2px;align-self:flex-start;min-height:var(--tap);margin:calc(var(--s-3) * -1) 0 calc(var(--s-3) * -1) -6px;padding:0;border:0;background:none;color:var(--ink-2);font-size:var(--text-ui);font-weight:500;text-decoration:none}.page>h1+.muted{margin-top:calc(var(--s-3) * -1);margin-bottom:var(--s-2);font-size:var(--text-small)}.page>h2{margin-top:var(--s-2);letter-spacing:.01em}.notice{padding:0 0 0 var(--s-4);border-left:2px solid var(--ink-4);font-size:var(--text-small);white-space:pre-line;line-height:1.6}body:has(:is(.home-page,.gym-page,.member-page,.page.mine)){background:var(--cream)}.home-page,.gym-page,.member-page,.page.mine{--surface: var(--cream);--cap: max(12px, var(--text-caption))}@media (min-width: 1024px){.home-page,.gym-page,.member-page,.page.mine{padding-top:var(--s-8)}}:is(.home-page,.gym-page,.member-page) .badge{font-size:var(--cap)}.home-page>h2{margin:var(--s-2) 0 calc(var(--s-2) * -1);font-size:var(--text-small);font-weight:600;letter-spacing:0;color:var(--ink-2)}.gym{position:relative;border-top:1px solid var(--line)}.gym+.gym{margin-top:calc(var(--s-4) * -1)}.gym-link{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-5) 0;border-radius:var(--r-sm);color:inherit;text-decoration:none;transition:opacity var(--t-press) ease-out}.gym-link:active{opacity:.5;transition-duration:0ms}@media (hover: hover){.gym-link:hover strong{text-decoration:underline;text-underline-offset:3px}}.gym-link>.row:first-child{justify-content:flex-start;padding-right:40px}.gym>.heart{position:absolute;top:calc(var(--s-5) + (1.125rem * 1.5 - var(--tap)) / 2);right:-10px}.gym>.msg{margin:calc(var(--s-2) * -1) 0 var(--s-5)}.gym-link strong{font-size:var(--text-lead);font-weight:700}.gym-link .muted{font-size:var(--text-small)}.gym-link .stat{margin-top:var(--s-2)}.gym-link .stat b{font-size:var(--text-big);font-weight:800;font-variant-numeric:tabular-nums}.gym-link .stat.open b{color:var(--accent-ink)}.gym-link .stat.none b,.gym-link .stat.ended b{font-size:var(--text-title)}.gym-link>.row:not(:first-child){align-items:center}.gym-link>.row:not(:first-child)>.icon{color:var(--ink-3)}.gym .badge.gray,.slot .badge.gray{background:none}.gym-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.gym-head>.heart{flex:none;margin-right:-10px}.gym-head h1{font-size:var(--text-big);letter-spacing:-.02em}.gym-acts{display:flex;flex-wrap:wrap;gap:var(--s-2)}.gym-acts .btn{flex:1 1 8rem;border-radius:var(--r-sm);background:transparent}:is(.gym-page,.member-page) .tabs.views{align-self:stretch;gap:0;padding:0;border-radius:0;background:none;border-bottom:1px solid var(--line)}:is(.gym-page,.member-page) .tabs.views button{flex:1;padding:0 var(--s-4);border-radius:0;color:var(--ink-2)}:is(.gym-page,.member-page) .tabs.views button.on{background:none;box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent-ink);font-weight:700}@media (hover: hover){:is(.gym-page,.member-page) .tabs.views button:not(.on):hover{transform:none;filter:none;color:var(--ink)}}:is(.gym-page,.member-page) .tabs.views button:active{transform:none;filter:none;opacity:.5}.gym-page .tabs.views+:is(.slot,.gym-empty),.member-page .tabs.views+:is(.card.link,.card.empty,.visits){margin-top:calc(var(--s-4) * -1);border-top:0}.slot{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5) 0;border-top:1px solid var(--line)}.slot+.slot{margin-top:calc(var(--s-4) * -1)}.slot.dim{padding:var(--s-3) 0;color:var(--ink-2)}.slot.dim h2{font-size:var(--text-body);font-weight:600;color:var(--ink-2)}.slot .stat:is(.open,.almost,.full) b{font-size:var(--text-num-s);font-weight:800;font-variant-numeric:tabular-nums}.slot .stat.open b{color:var(--accent-ink)}.slot .stat.before b{font-size:clamp(1.5rem,7vw,var(--text-big))}.slot .facts{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5)}.slot .facts>div{flex-direction:row;align-items:baseline;gap:var(--s-2);padding:0;border-left:0}.slot .facts dt,.slot .facts dd{font-size:var(--text-small)}.slot .facts dd{font-weight:700}.gym-empty{padding:var(--s-8) 0;border-top:1px solid var(--line);font-weight:600;text-align:center}.week{--ppm: .055rem;--axis-w: 2.75rem;display:flex;flex-direction:column;gap:var(--s-4)}.week-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4)}.week-range{font-size:var(--text-lead);font-weight:700;letter-spacing:-.01em}.week-nav{display:flex;flex:1 1 100%;gap:var(--s-2)}.week-nav .btn{flex:1;gap:var(--s-1);padding:0 var(--s-2);border-radius:var(--r-sm);background:transparent}.week-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);min-height:14rem;border-top:1px solid var(--line);text-align:center}.week-retry{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.week-retry .btn{flex:none;border-radius:var(--r-sm);background:transparent}.week-state .btn{border-radius:var(--r-sm);background:transparent}.week-pick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.week-pick button,.week-table th button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;min-height:3.75rem;padding:var(--s-1) 0;border:0;border-radius:0;background:none;color:var(--ink-2);font-size:var(--text-small);line-height:1.25}.week-pick .wd,.week-table .wd{font-weight:600}.week-pick .dd,.week-table .dd{font-size:var(--text-caption);font-variant-numeric:tabular-nums}.week-pick .tag,.week-table .tag{min-height:1.1em;font-size:var(--text-caption);font-weight:700;color:var(--accent-ink)}.week-pick button[aria-pressed=true],.week-table th button[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent-ink);font-weight:700}@media (hover: hover){.week-pick button[aria-pressed=false]:hover,.week-table th button[aria-pressed=false]:hover{color:var(--ink)}}.week-pick button:active,.week-table th button:active{opacity:.5}.week-day{display:flex;flex-direction:column;gap:var(--s-2)}.week-day h3{font-size:var(--text-body);font-weight:700}.week-wide{display:none}.week-plot{position:relative;height:calc(var(--span) * var(--ppm) + 1rem)}.week-col .week-plot{background:linear-gradient(var(--line) 1px,transparent 1px) 0 .5rem / 100% calc(60 * var(--ppm))}.week-axis .tick{position:absolute;top:calc(.5rem + var(--top) * var(--ppm));right:var(--s-2);transform:translateY(-50%);font-size:var(--text-caption);line-height:1;font-variant-numeric:tabular-nums;color:var(--ink-2)}.week-plot ul{position:absolute;top:0;right:.1875rem;bottom:0;left:.1875rem}.week-slot{position:absolute;top:calc(.5rem + var(--top) * var(--ppm));height:calc(var(--len) * var(--ppm));left:calc(100% * var(--lane, 0) / var(--lanes, 1));width:calc(100% / var(--lanes, 1));box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1px;padding:var(--s-1);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;background:var(--bg);font-size:var(--text-caption);line-height:1.2;text-align:center}.week-slot b{font-size:var(--text-caption);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.week-slot .cap{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%;margin-block:auto;color:var(--ink-2);overflow-wrap:anywhere}.week-slot .lead{font-size:11px}.week-slot .val{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.week-slot .courts{font-size:11px;line-height:1.2}.week-slot.multi{padding-inline:2px;border-left-width:2px}.week-slot.tab-on{outline:3px solid var(--accent);outline-offset:-3px}.week-slot.tab-soon{outline:2px solid rgb(10 117 86 / .4);outline-offset:-2px}.week .past .week-slot{border-left-color:var(--ink-4)}.week .past :is(.off,.week-slot b){color:var(--ink-2)}.week-plot .off{position:absolute;inset:.5rem 0 auto;text-align:center;font-size:var(--text-small);font-weight:600;color:var(--ink-2)}.week-dayplot{display:grid;grid-template-columns:var(--axis-w) minmax(0,1fr);border-top:1px solid var(--line)}.week-dayplot .week-plot .off{text-align:left;padding-left:var(--s-2)}.week-dayplot .week-slot b{font-size:14px}.week-dayplot .week-slot .lead{font-size:12px}.week-dayplot .week-slot .val{font-size:13px}.week-dayplot .week-slot .courts{font-size:12px}@media (min-width: 641px){.week-wide{display:block}.week-nav{flex:none}.week-pick,.week-day{display:none}.week-table{width:100%;border-collapse:collapse;table-layout:fixed}.week-axis-col{width:var(--axis-w)}.week-table th{padding:0;border-bottom:1px solid var(--line);font-weight:500}.week-table td{padding:0;vertical-align:top}.week-table td.week-col{border-left:1px solid var(--line)}.week-table td.week-col.on{background:var(--accent-soft)}}.info{display:flex;flex-direction:column;gap:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.info table{width:100%;border-collapse:collapse;table-layout:fixed}.info caption{padding-bottom:var(--s-2);text-align:left;font-size:var(--text-small);font-weight:600;color:var(--ink-2)}.info :is(th,td){padding:var(--s-3) 0;border-top:1px solid var(--line);text-align:left;vertical-align:baseline;overflow-wrap:anywhere;word-break:keep-all}.info thead :is(th,td){border-top:0;padding-top:0}.info th{font-size:var(--text-small);font-weight:500;color:var(--ink-2)}.info-fees{font-variant-numeric:tabular-nums}.info-fees :is(th[scope=col],td){text-align:right}.info-fees td{font-size:var(--text-body);font-weight:700}.info-fees tbody th{width:40%;padding-right:var(--s-3);color:var(--ink);font-weight:600}.info-rows th{width:5.5rem;padding-right:var(--s-3)}.info-rows td{font-size:var(--text-body);line-height:1.5;white-space:pre-line}.info a{color:var(--accent-ink);font-weight:600}.countdown{font-size:var(--text-num-s);font-weight:900;line-height:1.1;letter-spacing:-.02em;text-align:center}.countdown small{font-size:var(--text-lead);font-weight:600;letter-spacing:0}.countdown .u{font-size:.5em;font-weight:700;letter-spacing:0}.pair>.btn.ghost,.btn.ghost.line,.otp .btn.ghost{border-color:var(--line);background:var(--bg);color:var(--ink)}.otp .btn.ghost:disabled{opacity:1;color:var(--ink-3)}.login input.otp-phone::placeholder{font-weight:400}.login{display:flex;flex-direction:column;gap:var(--s-4);width:100%;max-width:20rem}.loginbox{display:flex;flex-direction:column;gap:var(--s-4);width:100%}.loginbox>.btn{width:100%;min-height:52px;font-size:var(--text-body)}.sheet .login,.page>.login{max-width:none}.or{display:flex;align-items:center;gap:var(--s-3);color:var(--ink-2);font-size:var(--text-small)}.or:before,.or:after{content:"";flex:1;border-top:1px solid var(--line)}.otp>.btn{width:100%}.otp>.btn.primary{min-height:3.5rem;font-size:var(--text-body)}.otp>div[role=status]:empty{position:absolute}.login input{min-height:max(3.375rem,50.5px);padding:0 var(--s-4);font-size:max(var(--text-body),16px);font-weight:500}.login input.otp-code{letter-spacing:.35em}.page:not(.auth)>:is(.loginbox,form.login,.join){padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);box-shadow:var(--shadow-hair)}.join{display:flex;flex-direction:column;gap:var(--s-1)}:is(.join,.my-mk) .check input{margin:0}.join>.check.all{min-height:3.25rem;margin-bottom:var(--s-2);padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface);font-size:13px;font-weight:600}.agree{display:flex;align-items:center}.agree>.check{flex:1;min-width:0;padding-left:calc(var(--s-4) + 1px)}.agree>a{display:grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);color:var(--ink-3)}.join>.btn{margin-top:var(--s-3)}.page.mine{align-items:stretch;text-align:center}.page.mine>.btn{align-self:center}.page.mine>.muted{font-size:var(--text-small)}.page.mine strong{color:var(--ink)}.pass{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);overflow:hidden}.pass-top{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-5) var(--s-6)}.pass-no{display:flex;flex-direction:column;align-items:center;gap:var(--s-1)}.pass-no span,.pass-label{font-size:var(--text-lead);font-weight:700;letter-spacing:0;color:var(--ink-2)}.pass-no b{font-size:clamp(5rem,30vw,7.5rem);font-weight:900;line-height:1;letter-spacing:-.04em;font-variant-numeric:normal}.pass-time{font-size:var(--text-num-s);font-weight:900;line-height:1.1}.pass-meta{font-size:var(--text-body);font-weight:500;line-height:1.45;color:var(--ink-2);text-wrap:balance}.pass-status{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-5) var(--s-8);border-top:1px solid var(--line);background:var(--mute-bg)}.pass-title{font-size:var(--text-display);font-weight:700;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.pass-title .glyph{width:3.5rem;height:3.5rem;margin:0 auto var(--s-3);background:var(--bg);font-size:var(--text-big)}.pass-title .glyph .icon{width:var(--icon-l);height:var(--icon-l)}.pass-status .sub{font-size:var(--text-body);line-height:1.5;text-wrap:balance}.pass-status .countdown{font-size:clamp(2.5rem,14vw,var(--text-num))}.pass-status.ok{background:var(--ok-bg)}.pass-status.ok .glyph{color:var(--ok-ink)}.pass-status.wait{background:var(--warn-bg)}.pass-status.wait .glyph{color:var(--warn-ink)}.pass-status.bad{background:var(--danger-bg)}.pass-status.bad .glyph{color:var(--danger-ink)}.pass-status.done .glyph{color:var(--mute-ink)}.pay{width:100%;padding:var(--s-3) var(--s-4);border-radius:var(--r-box);background:var(--bg);font-size:var(--text-small);white-space:pre-line;line-height:1.6;text-align:left}.pair{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--s-2)}.pair>.btn{min-height:52px;padding:0 var(--s-2);white-space:normal;text-align:center}.member-page .card.link{gap:var(--s-1);padding:var(--s-5) 0;border-width:1px 0 0;border-radius:0;background:none;box-shadow:none;transition:opacity var(--t-press) ease-out}.member-page .card.link+.card.link{margin-top:calc(var(--s-4) * -1)}.member-page .card.link:active{transform:none;opacity:.5;transition-duration:0ms}@media (hover: hover){.member-page .card.link:hover strong{text-decoration:underline;text-underline-offset:3px}}.member-page .card.link strong{font-size:var(--text-lead)}.member-page .card.link>.row:last-child{align-items:center}.member-page .card.link>.row:last-child>.icon{margin-bottom:0}.member-page .card.empty{padding:var(--s-8) 0;border-width:1px 0 0;border-radius:0;background:none;box-shadow:none}.visits{display:flex;flex-direction:column;border-top:1px solid var(--line)}.visits>h2{padding:var(--s-3) 0;font-size:var(--text-ui);font-weight:700;letter-spacing:0;color:var(--ink-2)}.card.visit{gap:var(--s-1);padding:var(--s-4) 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}.card.visit strong{font-size:var(--text-body);font-weight:700}.card.visit .muted{font-size:var(--text-small)}.my-phone{font-size:var(--text-big);font-weight:700;line-height:1.2;letter-spacing:-.02em}.my-mk{padding:var(--s-3) 0 var(--s-4);border-top:1px solid var(--line)}.my-mk>p{padding-left:calc(20px + var(--s-2));font-size:var(--cap)}.my-links{display:flex;flex-direction:column;border-top:1px solid var(--line)}.my-links a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0;color:var(--ink);font-size:var(--text-small);font-weight:500;text-decoration:none}.my-links a+a{border-top:1px solid var(--line)}.my-links .icon{color:var(--ink-3)}.wordmark{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--accent);font-size:var(--text-lead);font-weight:900;line-height:1;letter-spacing:-.02em}.logo{width:28px;height:28px;flex:none;border-radius:8px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bar);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding:0 max(0px,(100% - var(--page-w)) / 2) env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--material);-webkit-backdrop-filter:var(--material-filter);backdrop-filter:var(--material-filter);box-shadow:var(--shadow-float)}.tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);min-width:0;color:var(--ink-3);font-size:12px;font-weight:500;line-height:1;text-decoration:none}.tabbar .icon{width:var(--icon-l);height:var(--icon-l);stroke-width:1.8}.tabbar a[aria-current=page]{color:var(--accent);font-weight:600}.tabbar a[aria-current=page] .icon{transform:translateY(-2px)}.tabbar a[aria-current=page] .icon :is(path,circle,rect){fill:currentColor}.tabbar a[aria-current=page]:before{content:"";position:absolute;top:-1px;left:50%;width:32px;height:3px;margin-left:-16px;border-radius:var(--r-pill);background:var(--accent)}.page.has-bar{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + var(--s-4))}.site-foot{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);color:var(--ink-2);font-size:max(12px,var(--text-caption));line-height:1.6;overflow-wrap:anywhere}.site-foot-name{color:var(--ink);font-weight:600}.site-foot .tel{white-space:nowrap}.home-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.home-top h1{display:flex;align-items:center}.home-top .menu-btn{display:grid;margin-right:-10px}.page>.home-top+.muted{margin-top:calc(var(--s-3) * -1);margin-bottom:var(--s-2);font-size:var(--text-small)}.home-menu{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.home-join{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.home-join>.btn{flex:1 1 11rem;width:auto;min-height:var(--tap);border-radius:var(--r-sm);font-size:var(--text-body)}.home-join>.msg{flex-basis:100%}.btn.kakao small{margin-left:var(--s-2);font-size:var(--text-caption);font-weight:500}.home-join>.btn.kakao:disabled{opacity:1;border-color:var(--line);background:transparent;color:var(--ink-2)}.legal{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);color:var(--ink);font-size:10px;line-height:1.6}.legal h2{font-size:12px;line-height:1.4;font-weight:700}.legal h3{margin:var(--s-3) 0 var(--s-1);font-size:11px;line-height:1.4;font-weight:700}.legal p,.legal ul,.legal ol,.legal table{margin:0 0 8px}.legal ul,.legal ol{padding-left:1.5em}.legal ul{list-style:disc}.legal ol{list-style:decimal}.legal ul ul{margin-top:4px;margin-bottom:0}.legal li{margin-bottom:4px}.legal .muted{color:var(--ink-2)}.legal .nw{white-space:nowrap}.legal table{width:100%;border-collapse:collapse}.legal th,.legal td{padding:4px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.legal th{width:7em;background:var(--surface);font-weight:600}.legal a{color:var(--accent-ink)}@media (prefers-reduced-transparency: reduce){.tabbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}.heart{position:relative;display:grid;place-items:center;align-content:center;gap:2px;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:var(--r-btn);background:transparent;color:var(--ink-2)}.heart .icon{width:var(--icon-l);height:var(--icon-l);transition:transform .36s cubic-bezier(.34,1.56,.64,1)}.heart[aria-pressed=true] .icon{color:var(--heart)}.heart:active .icon{transform:scale(.8);transition-duration:var(--t-press);transition-timing-function:ease-out}.sheet{position:fixed;inset:auto 0 0;z-index:calc(var(--z-bar) + 1);width:100%;max-width:var(--page-w);max-height:90dvh;margin:0 auto;padding:0 var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom));border:0;border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--bg);color:var(--ink);text-align:left;overflow:auto;overscroll-behavior:contain;animation:sheet-up var(--t-sheet) var(--ease-sheet);box-shadow:var(--shadow-sheet)}.sheet::backdrop{background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);animation:fade var(--t-state) ease-out}.sheet:not(:modal){box-shadow:var(--shadow-sheet),0 0 0 100vmax var(--scrim)}html:has(.sheet:modal){overflow:hidden}.sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--s-1);min-height:4rem;margin:0 calc(var(--s-5) * -1);padding:0 var(--s-2);border-bottom:1px solid var(--line);background:var(--bg)}.sheet-head h2{flex:1;min-width:0;padding:0 var(--s-3);font-size:var(--text-title);font-weight:700}.sheet-head h2:focus{outline:none}.sheet-x+h2{padding-left:0}.sheet-x{display:grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink-3)}.sheet-x .icon{width:24px;height:24px}.sheet-body{display:flex;flex-direction:column;gap:var(--s-4);padding-top:var(--s-4)}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (min-width: 640px){.sheet{top:0;right:0;bottom:0;left:0;max-width:28rem;max-height:88dvh;margin:auto;padding-bottom:var(--s-5);border-radius:var(--r-card);box-shadow:var(--shadow-float);animation:scale-in var(--t-fast) var(--ease-out)}.sheet:not(:modal){box-shadow:var(--shadow-float),0 0 0 100vmax var(--scrim)}}.sheet.alert{top:0;right:0;bottom:0;left:0;width:calc(100% - 2.5rem);max-width:340px;max-height:88dvh;margin:auto;padding:0;border-radius:30px;box-shadow:var(--shadow-float);text-align:center;animation:scale-in var(--t-fast) var(--ease-out)}.sheet.alert .sheet-head{position:static;display:block;min-height:0;margin:0;padding:1.5rem calc(var(--tap) + var(--s-2)) 0;border-bottom:0}.sheet.alert .sheet-head h2{padding:0;font-size:17px;font-weight:700;line-height:1.4}.sheet.alert .sheet-x{position:absolute;top:var(--s-2);right:var(--s-2)}.sheet.alert .sheet-body{gap:0;padding:0}.sheet.alert .sheet-body>p{padding:.375rem 1.5rem 0;font-size:15px;line-height:1.625;color:var(--ink-2)}.sheet.alert .pair{gap:0;margin-top:1.25rem;border-top:1px solid var(--line)}.sheet.alert .pair>.btn{min-height:52px;border:0;border-radius:0;background:transparent;color:var(--ink-2);font-size:16px}.sheet.alert .pair>.btn+.btn{border-left:1px solid var(--line)}.sheet.alert .pair>.btn.danger{color:var(--danger-ink)}.sheet.alert .pair>.btn:focus-visible{outline-offset:-2px}@media (hover: hover){.sheet.alert .pair>.btn:not(:disabled):hover{transform:none;filter:none;background:var(--surface)}:is(.pair>.btn.ghost,.btn.ghost.line,.otp .btn.ghost):not(:disabled):hover{background:var(--surface)}}.tabbar a,.back,.my-links a,.agree>a,.sheet-x{transition:opacity var(--t-press) ease-out}.tabbar a:active,.back:active,.my-links a:active,.agree>a:active,.sheet-x:active{opacity:.5;transition-duration:0ms}.kiosk{--k-text: clamp(1.25rem, 3.2vmin, 1.75rem);--k-q: clamp(1.5rem, 4.4vmin, 2.25rem);--k-btn: clamp(1.5rem, 4.2vmin, 2.25rem);--k-num: clamp(2.25rem, 6.6vmin, 3.75rem);--k-display: clamp(2.5rem, 8.4vmin, 4.75rem);--k-h: clamp(64px, 11.5vmin, 104px);flex:1;display:flex;flex-direction:column;background:var(--surface);user-select:none;-webkit-user-select:none}.kiosk-q,.kiosk-note{font-size:var(--k-q);line-height:1.2;letter-spacing:-.02em;text-align:center}.kiosk-q{color:var(--accent);font-weight:900}.kiosk-note{padding:var(--s-4) 0;font-weight:700}.kbtn{display:flex;align-items:center;justify-content:center;min-height:var(--k-h);padding:0 var(--s-6);border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);box-shadow:var(--shadow-hair);color:var(--ink);font-size:var(--k-btn);font-weight:500;line-height:1.2;letter-spacing:-.02em}.kbtn.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.kbtn.ghost{background:transparent;font-size:var(--k-text)}.kbtn:disabled{border-color:var(--line);background:var(--surface);color:var(--ink-3)}.kiosk .msg{padding:var(--s-4) var(--s-6);border-radius:var(--r-card);font-size:var(--k-text)}.kiosk-acts{display:flex;gap:var(--s-3)}.kiosk-acts>.kbtn{flex:1}.kiosk-acts>.kbtn.primary{flex:2}.kiosk-input{min-height:1.5em;padding:.75rem 1.5rem;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);font-size:var(--k-num);font-weight:900;line-height:1.2;letter-spacing:.02em;text-align:center;white-space:nowrap}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.4vmin,12px)}.keypad button{display:grid;place-items:center;min-height:clamp(64px,10.5vmin,96px);border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg);box-shadow:var(--shadow-hair);color:var(--ink);font-size:clamp(1.75rem,4.8vmin,2.5rem);font-weight:500}.keypad button.fn{font-size:var(--k-text);color:var(--ink-2)}.keypad button.fn:last-child{color:var(--accent)}.keypad button.fn .icon{width:1.5em;height:1.5em}.kiosk-picks{display:flex;flex-direction:column;gap:clamp(12px,2.4vmin,24px)}.kiosk-picks.many{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.kbtn.kpick{flex-direction:column;gap:.1em;padding:var(--s-3) var(--s-4);font-variant-numeric:tabular-nums}.kpick>span{max-width:100%;text-wrap:balance;overflow-wrap:anywhere}.kpick-time{font-size:var(--k-num);font-weight:900;line-height:1.15}.kpick-state{font-size:var(--k-q);font-weight:700;line-height:1.2}.kpick-left{font-size:var(--k-text);font-weight:500;line-height:1.25}.kpick-courts{font-size:var(--k-text);font-weight:600;line-height:1.25}.kbtn.kpick.before{border-color:var(--line);background:var(--surface);color:var(--ink-3);cursor:not-allowed}.kbtn.kpick.wait{border-color:var(--warn-ink);background:var(--warn-bg);color:var(--warn-ink)}.kbtn.kpick.now{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.kbtn.kpick.wait:not(:disabled):active{background:var(--warn-bg);filter:brightness(.95)}.kbtn.kpick.now:not(:disabled):active{background:var(--accent-ink)}.kiosk-picks.many .kpick-time{font-size:var(--k-q)}.kiosk-picks.many .kpick-state{font-size:var(--k-text)}.kiosk-picks.many .kpick-left,.kiosk-picks.many .kpick-courts{font-size:calc(var(--k-text) * .85)}.kiosk-when{align-self:flex-start;padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--k-text);font-weight:900;line-height:1.25;letter-spacing:-.02em;text-align:left;text-wrap:balance}.kiosk-mode{font-size:var(--k-q);font-weight:900;line-height:1.2;letter-spacing:-.02em;text-align:left}.kiosk-mode.now{color:var(--accent-ink)}.kiosk-mode.wait{color:var(--warn-ink)}.kiosk-courts{font-size:var(--k-text);font-weight:700;line-height:1.25;text-align:left}.kiosk-title{font-size:var(--k-display);font-weight:900;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.kiosk-sub{font-size:var(--k-q);line-height:1.4;text-wrap:balance}.kiosk-title.ticket b{font-size:1.5em;line-height:1;letter-spacing:-.03em}.kiosk-text{font-size:var(--k-text);line-height:1.4;color:var(--ink-2);text-wrap:balance}.result .glyph{width:clamp(72px,13vmin,112px);height:clamp(72px,13vmin,112px);font-size:clamp(2.25rem,6.5vmin,3.5rem)}.result.ok .glyph{background:var(--ok-bg);color:var(--ok-ink)}.result.wait .glyph{background:var(--warn-bg);color:var(--warn-ink)}.result.err .glyph{background:var(--danger-bg);color:var(--danger-ink)}.result.err .kiosk-title{font-size:var(--k-num)}@media (orientation: landscape) and (min-width: 900px){.keypad button{min-height:clamp(72px,12.5vh,104px)}}.staff-gate>.muted{font-size:var(--text-small)}.staff-gate .msg{font-size:var(--text-big);line-height:1.35}.desk .card{gap:var(--s-3);padding:var(--s-4)}.desk .card h3,details.card>summary{display:flex;align-items:baseline}.desk .card h3{flex-wrap:wrap}.desk .who{flex-basis:6rem}.desk .acts{flex-wrap:wrap;justify-content:flex-end}.btn.sq{min-width:var(--tap);padding:0}.desk .list{margin-bottom:calc(var(--s-2) * -1)}.desk .facts{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:var(--s-3)}.tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4)}.desk-cols{display:grid;align-items:start;gap:var(--s-4)}.desk-cols>.col{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}@media (min-width: 900px){.desk-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.desk>.confirm{background:var(--bg)}.desk>.msg{position:sticky;top:var(--s-2);z-index:1}.desk>.note{border-left:4px solid var(--accent);box-shadow:var(--shadow-lg);font-size:var(--text-small)}details.card>summary{align-items:center;min-height:var(--tap);margin:calc(var(--s-3) * -1) 0;font-size:var(--text-body);font-weight:700;cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary:after{content:"";width:8px;height:8px;margin:0 4px 4px auto;border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:rotate(45deg);transition:transform var(--t-state) var(--ease-out)}details.card[open]>summary:after{transform:translateY(4px) rotate(225deg)}@media (max-width: 520px){.desk .facts{grid-template-columns:repeat(3,minmax(0,1fr))}.desk .facts>div:nth-child(3n+1){padding-left:0;border-left:0}.tools>.search,.tools>.row{flex:1 1 100%;width:auto}.tools>.row>.btn{flex:1}.tools>.row>select,.tools>.row>.num{flex:none;width:7rem}}.settings .card>h3:not(:first-child){margin-top:var(--s-2)}.basic{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:var(--s-6) var(--s-8)}.stack{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.save-bar{position:sticky;bottom:0;z-index:1;padding:var(--s-3) 0;border-top:1px solid var(--line);background:var(--bg)}.tpl{display:flex;flex-direction:column;gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--line);container-type:inline-size}.tpl>.field{max-width:20rem}.leads{display:flex;flex-direction:column;gap:var(--s-3)}.lead{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);font-size:var(--text-ui)}.lead>span:first-child{min-width:7rem;font-weight:600}.lead>span:last-child{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--ink-2)}.lead select{color:var(--ink)}.trows{display:flex;flex-direction:column;gap:var(--s-2)}.trow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line)}.trow>label{display:flex;flex-direction:column;gap:.375rem;flex:1 1 4.5rem;min-width:0;font-size:var(--text-caption);font-weight:500;color:var(--ink-2)}.trow>label:nth-child(-n+2){flex-basis:calc(50% - var(--s-1))}.trow>label>input{width:100%;color:var(--ink)}.trow>.del{flex:none;width:var(--tap);padding:0;color:var(--ink-2)}.trow.thead{display:none}.trows>.add{align-self:flex-start}@container (min-width: 47rem){.trow{display:grid;grid-template-columns:minmax(9.5rem,1fr) minmax(9.5rem,1fr) repeat(3,minmax(7.5rem,1fr)) var(--tap);align-items:center;padding-top:0;border-top:0}.trow:not(:has(>label:nth-child(5))):not(:has(>span:nth-child(5))){grid-template-columns:minmax(9.5rem,1fr) minmax(9.5rem,1fr) repeat(2,minmax(7.5rem,1fr)) var(--tap)}.trow.thead{display:grid;padding-bottom:var(--s-1);border-bottom:1px solid var(--line);font-size:var(--text-caption);font-weight:600;line-height:1.3;color:var(--ink-2)}.trow:not(.thead)>label>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.weekdays{display:grid;gap:var(--s-2)}.weekdays>label{display:grid;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:var(--s-3);font-size:var(--text-caption);font-weight:600;color:var(--ink-2)}.weekdays select{width:100%;font-weight:500}@container console (min-width: 40rem){.weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays>label{grid-template-columns:minmax(0,1fr);gap:var(--s-2);text-align:center}}.cal-layout{display:grid;align-items:start;gap:var(--s-6)}@container console (min-width: 45rem){.cal-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.cal{position:sticky;top:calc(var(--top-h) + var(--s-4))}}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-2)}.cal-head strong{font-size:var(--text-lead);font-weight:700}.cal-head .btn{width:44px;min-height:44px;padding:0;border-color:var(--line);border-radius:var(--r-md);background:var(--bg);color:var(--ink-2)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.dow{padding:var(--s-1) 0 var(--s-2);font-size:var(--text-caption);font-weight:600;color:var(--ink-2);text-align:center}.cal-day{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:3.75rem;padding:var(--s-2) 2px .875rem;border-radius:var(--r-sm);background:transparent;color:var(--ink)}.cal-day .n{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:var(--text-ui);font-weight:600;line-height:1}.cal-day .t{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);line-height:1.3;color:var(--ink-2)}.cal-day.closed .t,.cal-day.past{color:var(--ink-3)}.cal-day.pinned{background:var(--accent-soft)}.cal-day.pinned .t{color:var(--accent-ink);font-weight:700}.cal-day.today .n{background:var(--accent);color:var(--on-accent);font-weight:800}.cal-day.on{box-shadow:inset 0 0 0 2px var(--accent)}.cal-day .dot{position:absolute;bottom:5px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--warn-ink)}.cal-day .c{max-width:100%;font-size:var(--text-caption);font-weight:700;line-height:1.2;color:var(--accent-ink);white-space:nowrap}.cal-day .c.zero{font-weight:400;color:var(--ink-3)}@media (min-width: 768px){.cal-day{min-height:4.25rem}}.cal-jump{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-4)}.cal-jump input{color:var(--ink)}.day-count{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-ink)}.day-count .total{display:flex;align-items:baseline;gap:var(--s-2);font-size:var(--text-ui);font-weight:600}.day-count .total b{font-size:var(--text-title);font-weight:800}.day-count ul{display:flex;flex-direction:column;gap:var(--s-1);margin:0;padding:0;list-style:none}.day-count li{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--text-ui)}@media (max-width: 480px){.cal-grid{margin:0 calc(var(--s-4) * -1)}}.day-panel{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.day-panel>h3{font-size:var(--text-title);font-weight:700;line-height:1.4}.day-form{display:flex;flex-direction:column;gap:var(--s-3)}.day-form select{width:100%;max-width:22rem}.memo{display:flex;align-items:flex-end;gap:var(--s-2);max-width:30rem}.memo>.field{flex:1}.session-edit{display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:var(--s-3)}.addr{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);font-size:var(--text-caption);color:var(--ink-2)}.addr>span:last-child{font-weight:600;color:var(--ink);overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}.page[data-menu=today]>p.muted{font-size:var(--text-small)}.calls h2 .icon{color:var(--accent)}.calls p{font-size:var(--text-small)}.calls b{font-size:var(--text-lead);font-weight:900}.rec-range{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-3)}.rec-range>label{display:flex;flex-direction:column;gap:.375rem;font-size:var(--text-caption);font-weight:500;color:var(--ink-2)}.rec-range input{color:var(--ink)}.facts.six{row-gap:var(--s-4)}.facts.six>div:nth-child(3n+1){padding-left:0;border-left:0}.table-scroll{margin:0 calc(var(--s-5) * -1);overflow-x:auto;border-top:1px solid var(--line)}.table-scroll:focus-visible{outline-offset:-2px}.rec-table{width:100%;min-width:760px;border-collapse:collapse;font-size:var(--text-small)}.rec-table th,.rec-table td{padding:var(--s-2);border-top:1px solid var(--line);font-weight:500;text-align:right;white-space:nowrap}.rec-table thead th{padding:.625rem var(--s-2);border-top:0;background:var(--surface);font-size:var(--text-caption);font-weight:600;color:var(--ink-2);vertical-align:bottom}.rec-table :is(th,td):first-child{padding-left:var(--s-5)}.rec-table :is(th,td):last-child{padding-right:var(--s-5)}.rec-table :is(th,td):nth-child(-n+2){text-align:left}.demobar{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--s-5);padding:0 var(--s-3);border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--text-caption);line-height:1.4}.demobar>.row{flex-wrap:nowrap;justify-content:flex-start;gap:var(--s-2);max-width:100%;min-height:var(--tap);padding-right:var(--s-6);overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.demobar>.row::-webkit-scrollbar{display:none}.demobar>nav.row{gap:var(--s-2);margin-left:calc(var(--s-2) * -1)}.demobar strong{margin-right:2px;color:var(--ink);font-weight:700}.demobar button{flex:none;height:28px;padding:0 var(--s-3);border-radius:var(--r-pill);background:var(--bg);color:var(--ink);font-size:var(--text-caption);font-weight:500;box-shadow:inset 0 0 0 1px var(--line)}.demobar button:before{content:"";position:absolute;top:-8px;right:-3px;bottom:-8px;left:-3px}.demobar a{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);color:var(--ink-2);text-decoration:none}.demobar a:hover{color:var(--ink);text-decoration:underline}.demobar a:focus-visible{outline-offset:-2px}.demobar button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}@media (max-width: 560px){.demobar>div.row{flex-wrap:wrap;row-gap:var(--s-1);padding:6px 0;overflow:visible;white-space:normal;-webkit-mask-image:none;mask-image:none}}.demobar>p{flex-basis:100%;padding-bottom:var(--s-2);color:var(--ink)}.inbox{flex-basis:100%;max-height:16.5rem;margin-bottom:var(--s-3);padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-btn);background:var(--bg);color:var(--ink);font-size:var(--text-small);overflow:auto}.inbox li{padding:var(--s-3) 0;border-top:1px solid var(--line);white-space:normal}.inbox li:first-child{border-top:0}.inbox li>div{white-space:pre-line}.inbox a{min-height:var(--tap);margin:-12px 0;padding:0 var(--s-3);color:var(--accent);font-weight:700;text-decoration:underline}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes enter{0%{opacity:0;transform:translateY(4px)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}}@keyframes spin{to{transform:rotate(360deg)}}main{animation:enter var(--t-enter) var(--ease-out) backwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover,.btn:active,.tabs button:hover,.tabs button:active,.seg label:hover,.seg label:active,.cal-day:hover,.cal-day:active,.demobar button:hover,.demobar button:active,.kbtn:not(:disabled):active,.keypad button:active,.page.auth .btn:not(:disabled):active,.card.link:active,.heart:active .icon{transform:none;filter:none}.sheet,.sheet::backdrop{animation:fade .2s ease-out!important}}.console{--side-w: 240px;--top-h: 4.3rem;flex:1;display:flex;align-items:flex-start}.console-col{flex:1;min-width:0;display:flex;flex-direction:column}.console .page{container:console / inline-size}.page[data-menu]{max-width:calc(72rem + 2 * var(--s-6))}.page[data-menu=today]{max-width:calc(64rem + 2 * var(--s-6))}.page:is([data-menu=settings],[data-menu=devices]){max-width:calc(42rem + 2 * var(--s-6));gap:var(--s-5)}.page:is([data-menu=settings],[data-menu=devices])>.card{padding:var(--s-6);gap:var(--s-5)}.console-top{position:sticky;top:0;z-index:var(--z-bar);display:flex;align-items:center;gap:var(--s-1);min-height:var(--top-h);padding:0 max(var(--s-4),env(safe-area-inset-right)) 0 max(var(--s-4),env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--material-top);-webkit-backdrop-filter:var(--material-top-filter);backdrop-filter:var(--material-top-filter)}.console-top h1{min-width:0;overflow:hidden;font-size:var(--text-title);text-overflow:ellipsis;white-space:nowrap}.menu-btn{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink);transition:opacity var(--t-press) ease-out}.menu-btn .icon{width:24px;height:24px}.menu-btn:active{opacity:.5;transition-duration:0ms}.menu-btn:focus-visible{outline-offset:-2px}.side{display:none}.side-head{display:flex;align-items:center;gap:var(--s-1);height:var(--top-h);padding:0 var(--s-4);border-bottom:1px solid var(--line)}.side-head>a{flex:1;min-width:0;overflow:hidden;color:var(--accent);font-size:var(--text-lead);font-weight:900;line-height:var(--tap);letter-spacing:-.02em;text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.side-nav{flex:1;display:flex;flex-direction:column;padding:var(--s-3);overflow-y:auto;overscroll-behavior:contain}.side-nav>div{margin-bottom:var(--s-1);border-bottom:1px solid var(--line)}.nav-title{display:flex;align-items:center;height:44px;padding:12px 8px;font-size:12px;font-weight:600;color:var(--ink-2)}.side-nav ul{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--s-2)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--s-3);min-height:var(--tap);padding:0 var(--s-3);border-radius:var(--r-btn);color:var(--ink);font-size:var(--text-ui);font-weight:500;text-decoration:none;transition:transform var(--t-press) var(--ease-out),filter var(--t-fast) var(--ease-standard)}.nav-link .icon{width:1.5rem;height:15px;opacity:.7}@media (hover: hover){.nav-link:hover{transform:translateY(-1.5px);filter:brightness(1.07);background:var(--surface)}}.nav-link:active{transform:scale(.97);filter:brightness(.97)}.nav-link:focus-visible{outline-offset:-2px}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-link[aria-current=page] .icon{opacity:1}.nav-link[aria-current=page]:before{content:"";position:absolute;top:var(--s-2);bottom:var(--s-2);left:0;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.side-foot{padding:var(--s-3);border-top:1px solid var(--line)}.side-foot>.btn{width:100%;min-height:44px;justify-content:flex-start;font-size:var(--text-caption)}.side-foot .icon{width:16px;height:16px}@media (min-width: 768px){.side{position:sticky;top:0;display:flex;flex-direction:column;flex:none;width:var(--side-w);height:100vh;height:100dvh;border-right:1px solid var(--line);background:var(--bg)}.menu-btn{display:none}.console-top{padding-left:max(var(--s-6),env(safe-area-inset-left));padding-right:max(var(--s-6),env(safe-area-inset-right))}.console-top h1{margin-left:var(--s-3)}}.drawer{position:fixed;inset:0 auto 0 0;width:min(300px,78vw);max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-right:1px solid var(--line);background:var(--bg);color:var(--ink);box-shadow:var(--shadow-float);animation:drawer-in var(--t-sheet) var(--ease-sheet)}.drawer::backdrop{background:var(--scrim-drawer);-webkit-backdrop-filter:var(--scrim-drawer-blur);backdrop-filter:var(--scrim-drawer-blur);animation:fade .2s ease-out}.drawer .side-head{height:6rem}.drawer .side-head>a{font-weight:700}.drawer .sheet-x .icon{width:1.25rem;height:1.25rem}.drawer .nav-link:not([aria-current]){font-weight:400}html:has(.drawer:modal){overflow:hidden}.drawer-body{display:flex;flex-direction:column;height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) env(safe-area-inset-left)}@keyframes drawer-in{0%{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.drawer{animation:fade .2s ease-out!important}.nav-link:hover,.nav-link:active{transform:none;filter:none}}@media (prefers-reduced-transparency: reduce){.console-top{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}
