@import"https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{--brand-50: #eaf6f2;--brand-100: #cfede4;--brand-200: #9fdbc9;--brand-300: #63c2a8;--brand-400: #2ba78a;--brand-500: #12917a;--brand-600: #0b7d6b;--brand-700: #0a6b5b;--brand-800: #08574a;--brand-900: #063f36;--gray-0: #ffffff;--gray-50: #f7f8fa;--gray-100: #f2f3f5;--gray-150: #eef0f2;--gray-200: #e6e8eb;--gray-300: #d3d7dc;--gray-400: #b1b6bd;--gray-500: #8a9099;--gray-600: #686e77;--gray-700: #4e5560;--gray-800: #2a3038;--gray-900: #17191d}:root,[data-theme=light]{color-scheme:light;--color-bg: #ffffff;--color-bg-subtle: var(--gray-50);--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-fill: var(--gray-100);--color-fill-pressed: var(--gray-200);--color-inverse: var(--gray-800);--color-inverse-pressed: var(--gray-900);--color-dim: rgba(0, 0, 0, .45);--color-text-primary: var(--gray-900);--color-text-secondary: var(--gray-700);--color-text-tertiary: var(--gray-600);--color-text-disabled: var(--gray-400);--color-text-on-inverse: #ffffff;--color-text-on-primary: #ffffff;--color-on-inverse-accent: var(--brand-300);--color-on-inverse-warning: #f0b357;--color-divider: var(--gray-150);--color-border: var(--gray-200);--color-border-strong: var(--gray-300);--color-primary: var(--brand-600);--color-primary-pressed: var(--brand-700);--color-primary-weak: var(--brand-50);--color-primary-text: var(--brand-700);--color-primary-graphic: var(--brand-500);--color-success-text: var(--brand-700);--color-success-bg: var(--brand-50);--color-warning: #b86e00;--color-warning-text: #9a5200;--color-warning-bg: #fff3e2;--color-danger: #d93a3f;--color-danger-text: #c0262d;--color-danger-bg: #fdeeee;--aud-all-fg: #4a515b;--aud-all-bg: var(--gray-100);--aud-student-fg: #2d56c9;--aud-student-bg: #ecf1ff;--aud-visitor-fg: #6b3fc9;--aud-visitor-bg: #f3eeff;--color-focus: var(--brand-500);--shadow-float: 0 2px 10px rgba(0, 0, 0, .1);--shadow-sheet: 0 -2px 16px rgba(0, 0, 0, .08);--coupon-pattern-a: var(--brand-50);--coupon-pattern-b: #ddf1ea}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #131517;--color-bg-subtle: #0c0d0f;--color-surface: #1b1e22;--color-surface-raised: #22252a;--color-fill: #24282d;--color-fill-pressed: #2e3238;--color-inverse: #e9ebee;--color-inverse-pressed: #ffffff;--color-dim: rgba(0, 0, 0, .6);--color-text-primary: #f2f4f6;--color-text-secondary: #b4bac2;--color-text-tertiary: #8c939c;--color-text-disabled: #5a6068;--color-text-on-inverse: #131517;--color-text-on-primary: #04130f;--color-on-inverse-accent: var(--brand-700);--color-on-inverse-warning: #9a5200;--color-divider: #24272c;--color-border: #2c3036;--color-border-strong: #3a3f46;--color-primary: #34bc99;--color-primary-pressed: #4fd0ae;--color-primary-weak: #12302a;--color-primary-text: #4fd0ae;--color-primary-graphic: #34bc99;--color-success-text: #4fd0ae;--color-success-bg: #12302a;--color-warning: #f0b357;--color-warning-text: #f0b357;--color-warning-bg: #33270f;--color-danger: #ff6b6b;--color-danger-text: #ff8a8a;--color-danger-bg: #3a1d1f;--aud-all-fg: #c2c7ce;--aud-all-bg: #24282d;--aud-student-fg: #8ea9ff;--aud-student-bg: #1b2440;--aud-visitor-fg: #b89bff;--aud-visitor-bg: #271e3d;--color-focus: #4fd0ae;--shadow-float: 0 0 0 1px #2c3036;--shadow-sheet: 0 0 0 1px #2c3036}}[data-theme=dark]{color-scheme:dark;--color-bg: #131517;--color-bg-subtle: #0c0d0f;--color-surface: #1b1e22;--color-surface-raised: #22252a;--color-fill: #24282d;--color-fill-pressed: #2e3238;--color-inverse: #e9ebee;--color-inverse-pressed: #ffffff;--color-dim: rgba(0, 0, 0, .6);--color-text-primary: #f2f4f6;--color-text-secondary: #b4bac2;--color-text-tertiary: #8c939c;--color-text-disabled: #5a6068;--color-text-on-inverse: #131517;--color-text-on-primary: #04130f;--color-on-inverse-accent: var(--brand-700);--color-on-inverse-warning: #9a5200;--color-divider: #24272c;--color-border: #2c3036;--color-border-strong: #3a3f46;--color-primary: #34bc99;--color-primary-pressed: #4fd0ae;--color-primary-weak: #12302a;--color-primary-text: #4fd0ae;--color-primary-graphic: #34bc99;--color-success-text: #4fd0ae;--color-success-bg: #12302a;--color-warning: #f0b357;--color-warning-text: #f0b357;--color-warning-bg: #33270f;--color-danger: #ff6b6b;--color-danger-text: #ff8a8a;--color-danger-bg: #3a1d1f;--aud-all-fg: #c2c7ce;--aud-all-bg: #24282d;--aud-student-fg: #8ea9ff;--aud-student-bg: #1b2440;--aud-visitor-fg: #b89bff;--aud-visitor-bg: #271e3d;--color-focus: #4fd0ae;--shadow-float: 0 0 0 1px #2c3036;--shadow-sheet: 0 0 0 1px #2c3036}:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--t-display: 700 28px/38px var(--font-sans);--ls-display: -.02em;--t-title1: 700 24px/34px var(--font-sans);--ls-title1: -.02em;--t-title2: 700 20px/28px var(--font-sans);--ls-title2: -.015em;--t-title3: 600 18px/26px var(--font-sans);--ls-title3: -.01em;--t-body1-strong: 600 16px/24px var(--font-sans);--t-body1: 400 16px/24px var(--font-sans);--ls-body1: -.01em;--t-body2: 400 15px/22px var(--font-sans);--ls-body2: -.005em;--t-label: 500 14px/20px var(--font-sans);--ls-label: 0;--t-caption1: 400 13px/18px var(--font-sans);--ls-caption1: 0;--t-caption2: 600 12px/16px var(--font-sans);--ls-caption2: 0;--t-micro: 500 11px/14px var(--font-sans);--ls-micro: 0;--t-clock: 700 40px/48px var(--font-sans);--ls-clock: -.01em;--t-button-l: 600 17px/24px var(--font-sans);--t-button-m: 600 15px/22px var(--font-sans);--t-button-s: 600 13px/18px var(--font-sans);--space-0_5: 2px;--space-1: 4px;--space-1_5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--gutter: 20px;--section-gap: 32px;--section-band: 8px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-sheet: 24px;--radius-full: 9999px;--appbar-h: 56px;--tabbar-h: 56px;--btn-h-l: 52px;--btn-h-m: 44px;--btn-h-s: 32px;--chip-h: 36px;--input-h: 52px;--badge-h: 22px;--hit-min: 44px;--icon: 24px;--icon-s: 16px;--thumb-list: 64px;--content-max: 480px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--dur-press: .1s;--dur-fast: .15s;--dur-base: .2s;--dur-page: .25s;--dur-sheet: .3s;--dur-stamp: .42s;--dur-pattern: 8s;--hold-redeem: 1.5s;--ease-standard: cubic-bezier(.35, 0, .35, 1);--ease-enter: cubic-bezier(0, 0, .15, 1);--ease-exit: cubic-bezier(.35, 0, 1, 1);--ease-expressive: cubic-bezier(.03, .4, .1, 1);--ease-stamp: cubic-bezier(.2, 1.5, .4, 1);--z-sticky: 10;--z-tabbar: 20;--z-fab: 30;--z-dim: 40;--z-sheet: 50;--z-toast: 60;--z-top: 70}@media(prefers-reduced-motion:reduce){:root{--dur-press: 1ms;--dur-fast: 1ms;--dur-base: 1ms;--dur-page: 1ms;--dur-sheet: 1ms;--dur-stamp: .15s}}html{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}body{margin:0;word-break:keep-all;overflow-wrap:anywhere}.num{font-variant-numeric:tabular-nums!important}:root{--font-family: var(--font-sans);--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--letter-title: -.02em;--touch-min: var(--hit-min);--control-s: var(--btn-h-s);--control-m: var(--btn-h-m);--control-l: var(--btn-h-l);--control-chip: var(--chip-h);--radius-2xs: var(--radius-xs);--radius-s: var(--radius-md);--radius-m: var(--radius-lg);--duration-fast: var(--dur-fast);--duration-slow: var(--dur-page);--progress-thin: 3px;--toast-min-h: 48px;--textarea-min: 82px;--sheet-handle-w: 36px;--sheet-handle-h: 4px;--switch-w: 46px;--switch-h: 28px;--empty-copy-max: 280px;--gap-3: 3px;--layout-36: 36px;--layout-72: 72px;--t-title1-size: 26px;--t-title1-line: 34px;--t-title2-size: 22px;--t-title2-line: 30px;--t-title3-size: 18px;--t-title3-line: 26px;--t-body2-size: 15px;--t-body2-line: 22px;--t-label-size: 14px;--t-caption1-size: 13px;--t-caption2-size: 12px;--t-micro-size: 11px;--t-button-l-size: 17px;--t-button-m-size: 15px;--t-button-s-size: 13px;--aud-all-text: var(--aud-all-fg);--aud-student-text: var(--aud-student-fg);--aud-visitor-text: var(--aud-visitor-fg);--color-text-on-brand: var(--color-text-on-primary)}*{box-sizing:border-box}html{color-scheme:light dark;font-family:var(--font-family);background:var(--color-bg)}body{margin:0;color:var(--color-text-primary);background:var(--color-bg);font-size:var(--t-body2-size);line-height:var(--t-body2-line);word-break:keep-all;overflow-wrap:break-word}body,button,input,select,textarea{font-family:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}img,video{display:block;max-width:100%}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{letter-spacing:var(--letter-title)}ul{margin:0;padding:0;list-style:none}.num,time,input[type=number]{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{color:var(--color-primary-text);background:var(--color-primary-weak)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{width:min(100%,var(--content-max));min-height:100dvh;overflow-x:clip;margin-inline:auto;background:var(--color-bg)}.app__main{min-height:100dvh}.app--with-tabs .app__main{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom))}.screen{min-height:calc(100dvh - var(--appbar-h))}.screen__content{padding:var(--space-1_5) var(--gutter) var(--space-10)}.screen__title{margin-bottom:var(--space-0_5);font-size:var(--t-title1-size);line-height:var(--t-title1-line);font-weight:var(--weight-bold)}.screen__description{color:var(--color-text-secondary)}.section-band{height:var(--space-0_5);margin-inline:calc(var(--gutter) * -1);background:var(--color-bg-subtle);border:0}.offline-banner{min-height:var(--layout-36);display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding-inline:var(--gutter);color:var(--color-warning-text);background:var(--color-warning-bg);font-size:var(--t-caption1-size);font-weight:var(--weight-semibold)}.offline-banner button{text-decoration:underline}.presentation-pill{position:fixed;z-index:var(--z-top);top:calc(var(--safe-top) + var(--space-0_5));right:var(--space-0_5);padding:var(--space-1) var(--space-0_5);border-radius:var(--radius-full);color:var(--color-warning-text);background:var(--color-warning-bg);font-size:var(--t-micro-size);font-weight:var(--weight-semibold)}@media(min-width:721px){body{background:var(--color-bg-subtle)}.app{border-inline:1px solid var(--color-divider)}}.app-bar{position:sticky;z-index:var(--z-sticky);top:0;display:grid;grid-template-columns:var(--touch-min) 1fr var(--touch-min);align-items:center;min-height:calc(var(--appbar-h) + var(--safe-top));padding:var(--safe-top) var(--space-2) 0;background:var(--color-bg);border-bottom:1px solid transparent}.app-bar--root{grid-template-columns:1fr auto;padding-inline:var(--gutter) var(--space-2)}.app-bar__title{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-title3-size);line-height:var(--t-title3-line);font-weight:var(--weight-bold)}.app-bar--root .app-bar__title{text-align:left;font-size:var(--t-title2-size);line-height:var(--t-title2-line)}.app-bar__action{justify-self:end}.icon-button{display:grid;place-items:center;width:var(--touch-min);height:var(--touch-min);padding:0;border:0;border-radius:var(--radius-full);background:transparent}.icon-button:active{background:var(--color-fill)}.qualification-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-s);padding-inline:var(--space-3);border-radius:var(--radius-full);color:var(--color-primary-text);background:var(--color-primary-weak);text-decoration:none;font-size:var(--t-label-size);font-weight:var(--weight-semibold)}.tab-bar{position:fixed;z-index:var(--z-tabbar);right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--content-max);min-height:calc(var(--tabbar-h) + var(--safe-bottom));margin-inline:auto;padding-bottom:var(--safe-bottom);background:var(--color-bg);border-top:1px solid var(--color-divider)}.tab-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--touch-min);color:var(--color-text-tertiary);text-decoration:none;font-size:var(--t-micro-size);font-weight:var(--weight-medium)}.tab-bar a.active{color:var(--color-text-primary);font-weight:var(--weight-bold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-1);border:0;border-radius:var(--radius-m);font-weight:var(--weight-semibold);text-decoration:none;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.button:active:not(:disabled){transform:scale(.98)}.button--s{min-height:var(--control-s);padding-inline:var(--space-3);border-radius:var(--radius-s);font-size:var(--t-button-s-size)}.button--m{min-height:var(--control-m);font-size:var(--t-button-m-size)}.button--l{min-height:var(--control-l);padding-inline:var(--space-5);font-size:var(--t-button-l-size)}.button--full{width:100%}.button--primary{color:var(--color-text-on-brand);background:var(--color-primary)}.button--primary:active{background:var(--color-primary-pressed)}.button--secondary{color:var(--color-text-primary);background:var(--color-fill)}.button--secondary:active{background:var(--color-fill-pressed)}.button--outline{color:var(--color-text-primary);background:transparent;border:1px solid var(--color-border-strong)}.button--text{color:var(--color-primary-text);background:transparent}.button--inverse{color:var(--color-text-on-inverse);background:var(--color-inverse)}.button:disabled{color:var(--color-text-disabled);background:var(--color-fill)}.button-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.chip-row{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-3) var(--gutter);scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:var(--control-chip);padding-inline:var(--space-1);border:0;border-radius:var(--radius-full);color:var(--color-text-primary);background:var(--color-fill);font-size:var(--t-label-size);font-weight:var(--weight-semibold)}.chip[aria-pressed=true]{color:var(--color-text-on-inverse);background:var(--color-inverse)}.badge{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--badge-h);padding-inline:var(--space-2);border-radius:var(--radius-xs);font-size:var(--t-caption2-size);font-weight:var(--weight-semibold);white-space:nowrap}.badge--all{color:var(--aud-all-text);background:var(--aud-all-bg)}.badge--student,.badge--student_or_visitor{color:var(--aud-student-text);background:var(--aud-student-bg)}.badge--visitor{color:var(--aud-visitor-text);background:var(--aud-visitor-bg)}.field{display:grid;gap:var(--space-2)}.field__label{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-label-size);font-weight:var(--weight-semibold)}.field__label small{padding:var(--space-2) var(--space-1_5);border-radius:var(--radius-2xs);color:var(--color-primary-text);background:var(--color-primary-weak);font-size:var(--t-caption2-size)}.field :is(input,select,textarea){width:100%;min-height:var(--control-l);padding:var(--space-3) var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-m);color:var(--color-text-primary);background:var(--color-bg)}.field textarea{min-height:var(--textarea-min);resize:vertical}.field :is(input,select,textarea):focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);outline:0}.field__help{color:var(--color-text-tertiary);font-size:var(--t-caption1-size)}.field--error :is(input,select,textarea){border-color:var(--color-danger)}.field--error .field__help{color:var(--color-danger-text)}.form{display:grid;gap:var(--space-5)}.form>label{display:grid;gap:var(--space-2);font:var(--t-label);font-weight:var(--weight-semibold)}.form>label :is(input,select){width:100%;min-height:var(--input-h);padding-inline:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg)}.form__section{display:grid;gap:var(--space-1)}.form__section+.form__section{margin-top:var(--space-3)}.form__section h2{margin:0;font-size:var(--t-title3-size)}.form fieldset{display:grid;gap:var(--space-2);margin:0;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-m)}.club-picker{display:grid;gap:var(--space-2)}.club-picker__selected,.club-picker__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.club-picker .chip{padding-inline:var(--space-3)}.club-picker__search{width:100%;min-height:var(--control-m);padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-m);color:var(--color-text-primary);background:var(--color-bg);font:var(--t-body2)}.club-picker__group>summary{display:flex;align-items:center;justify-content:space-between;min-height:var(--hit-min);cursor:pointer;font:var(--t-label);font-weight:var(--weight-semibold)}.club-picker__group>summary small{color:var(--color-text-tertiary);font:var(--t-caption1)}.club-picker__chips{padding-block:var(--space-1) var(--space-2)}.club-picker__empty{margin:0;color:var(--color-text-tertiary);font:var(--t-caption1)}.sheet{position:fixed;z-index:var(--z-sheet);inset:0;display:flex;align-items:end;justify-content:center;background:var(--color-dim)}.sheet__panel{width:min(100%,var(--content-max));max-height:85dvh;overflow-y:auto;padding:var(--space-2) var(--gutter) calc(var(--space-5) + var(--safe-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--color-surface-raised);box-shadow:var(--shadow-sheet)}.sheet__handle{display:block;width:var(--sheet-handle-w);height:var(--sheet-handle-h);margin-inline:auto;border-radius:var(--radius-2xs);background:var(--color-border-strong)}.sheet__panel h2{margin:var(--space-5) 0 var(--space-1);font-size:var(--t-title2-size)}.toast{position:fixed;z-index:var(--z-toast);right:max(var(--gutter),calc((100vw - var(--content-max)) / 2 + var(--gutter)));bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-3));left:max(var(--gutter),calc((100vw - var(--content-max)) / 2 + var(--gutter)));display:flex;align-items:center;gap:var(--space-2);min-height:var(--toast-min-h);padding:var(--space-3) var(--space-1);border-radius:var(--radius-m);color:var(--color-text-on-inverse);background:var(--color-inverse);box-shadow:var(--shadow-float);font-size:var(--t-label-size);font-weight:var(--weight-semibold)}.empty-state{display:grid;justify-items:center;padding:var(--layout-72) var(--space-5) var(--space-2);color:var(--color-text-disabled);text-align:center}.empty-state h2{margin:var(--space-3) 0 var(--space-1_5);color:var(--color-text-primary);font-size:var(--t-title3-size)}.empty-state p{max-width:var(--empty-copy-max);margin-bottom:var(--space-5);color:var(--color-text-tertiary)}.stepper__track{height:var(--progress-thin);background:var(--color-fill)}.stepper__track span{display:block;height:100%;background:var(--color-primary-graphic);transition:width var(--duration-slow) var(--ease-standard)}.stepper p{margin:var(--space-5) var(--gutter) var(--space-1);color:var(--color-primary-text);font-size:var(--t-caption1-size);font-weight:var(--weight-semibold)}.fixed-cta{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;padding:var(--space-3) var(--gutter) calc(var(--space-3) + var(--safe-bottom));background:var(--color-bg);border-top:1px solid var(--color-divider)}.fixed-cta__inner{width:min(100%,calc(var(--content-max) - var(--gutter) * 2));margin-inline:auto}.screen--with-fixed-cta{padding-bottom:calc(var(--control-l) + var(--space-6) + var(--safe-bottom))}.status-box{display:flex;gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-m);color:var(--color-text-secondary);background:var(--color-bg-subtle)}.status-box--success{color:var(--color-success-text);background:var(--color-success-bg)}.status-box--warning{color:var(--color-warning-text);background:var(--color-warning-bg)}.status-box--danger{color:var(--color-danger-text);background:var(--color-danger-bg)}.list-item{border-bottom:1px solid var(--color-divider)}.toggle{position:relative;width:var(--switch-w);height:var(--switch-h);padding:0;border:0;border-radius:var(--radius-full);background:var(--color-fill-pressed)}.toggle:after{content:"";position:absolute;top:var(--space-2);left:var(--space-2);width:calc(var(--switch-h) - var(--space-1));height:calc(var(--switch-h) - var(--space-1));border-radius:var(--radius-full);background:var(--color-bg);transition:transform var(--duration-fast) var(--ease-standard)}.toggle[aria-pressed=true]{background:var(--color-primary)}.toggle[aria-pressed=true]:after{transform:translate(calc(var(--switch-w) - var(--switch-h)))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.benefits__heading{padding:var(--space-5) var(--gutter) var(--space-2)}.benefits__heading h1{margin-bottom:var(--space-1);font:var(--t-title1);letter-spacing:var(--ls-title1)}.benefits__heading p{margin:0;color:var(--color-text-secondary);font:var(--t-body2)}.verification-banner{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--gutter) var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);color:var(--color-primary-text);background:var(--color-primary-weak);text-decoration:none}.verification-banner__icon{display:grid;place-items:center;flex:0 0 var(--hit-min);height:var(--hit-min);border-radius:var(--radius-full);background:var(--color-bg)}.verification-banner span{display:grid;gap:var(--space-1)}.verification-banner strong{font:var(--t-label);font-weight:var(--weight-bold)}.verification-banner small{color:var(--color-text-secondary);font:var(--t-caption1)}.focus-shop{margin:var(--space-3) var(--gutter) var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.focus-shop__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.focus-shop__head h2{margin:0;font:var(--t-body1-strong)}.focus-shop__shop{margin:0 0 var(--space-3);color:var(--color-text-secondary);font:var(--t-caption1)}.chip-row--area{align-items:center;padding-top:0;border-bottom:1px solid var(--color-divider)}.benefit-row{border-bottom:1px solid var(--color-divider);margin-inline:var(--gutter)}.benefit-row>a{display:grid;grid-template-columns:var(--thumb-list) 1fr;gap:var(--space-3);margin-inline:calc(var(--gutter) * -1);padding:var(--space-4) var(--gutter);text-decoration:none;transition:background var(--dur-press) var(--ease-standard)}.benefit-row>a:active{background:var(--color-fill)}.benefit-row__thumb{display:grid;place-items:center;width:var(--thumb-list);height:var(--thumb-list);overflow:hidden;border-radius:var(--radius-lg);color:var(--color-text-tertiary);background:var(--color-fill)}.benefit-row__thumb img{width:100%;height:100%;object-fit:cover}.benefit-row__body{display:grid;min-width:0;gap:var(--space-1)}.benefit-row__meta{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--color-text-secondary);font:var(--t-label)}.benefit-row__meta i{color:var(--color-text-tertiary);font-style:normal}.benefit-row__body>strong{display:-webkit-box;overflow:hidden;font:var(--t-body1-strong);-webkit-line-clamp:2;-webkit-box-orient:vertical}.benefit-row__condition{display:flex;align-items:center;gap:var(--space-1_5);color:var(--color-text-tertiary);font:var(--t-caption1)}.benefit-row__status{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-tertiary);font:var(--t-caption1);font-weight:var(--weight-semibold)}.benefit-row__status--active{color:var(--color-primary-text)}.benefit-skeleton{display:grid;grid-template-columns:var(--thumb-list) 1fr;gap:var(--space-3);margin-inline:var(--gutter);padding-block:var(--space-4);border-bottom:1px solid var(--color-divider)}.benefit-skeleton>span,.benefit-skeleton i{display:block;border-radius:var(--radius-lg);background:var(--color-fill);animation:pulse 1.2s ease-in-out infinite alternate}.benefit-skeleton>span{height:var(--thumb-list)}.benefit-skeleton div{display:grid;align-content:center;gap:var(--space-2)}.benefit-skeleton i{height:var(--space-3)}.benefit-skeleton i:nth-child(1){width:60%}.benefit-skeleton i:nth-child(2){width:90%}.benefit-skeleton i:nth-child(3){width:40%}@keyframes pulse{to{background:var(--color-fill-pressed)}}.selection-row{display:grid;grid-template-columns:var(--hit-min) 1fr var(--icon);align-items:center;gap:var(--space-2);min-height:72px;padding-block:var(--space-3);border-bottom:1px solid var(--color-divider);text-decoration:none}.selection-row>svg:first-child{padding:var(--space-2);box-sizing:content-box;border-radius:var(--radius-lg);color:var(--color-primary-text);background:var(--color-primary-weak)}.selection-row span{display:grid;gap:var(--space-1)}.selection-row strong{font:var(--t-body1-strong)}.selection-row small{color:var(--color-text-tertiary);font:var(--t-caption1)}.verify__section{margin-top:var(--section-gap)}.verify__section h2{margin-bottom:var(--space-2);font:var(--t-title3)}.verify__section>p{color:var(--color-text-secondary);font:var(--t-body2)}.verify-code__form{margin-top:var(--space-6)}.verify-code__form input{min-height:var(--input-h);text-transform:uppercase;font-variant-numeric:tabular-nums}.coupon-detail__ticket{margin:var(--space-4) var(--gutter) var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-2xl)}.coupon-detail__ticket>p{margin-bottom:var(--space-1);color:var(--color-text-secondary);font:var(--t-label)}.coupon-detail__ticket h1{margin-bottom:var(--space-3);font:var(--t-title1);letter-spacing:var(--ls-title1)}.coupon-detail__badges{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.coupon-detail__badges>span:last-child{color:var(--color-primary-text);font:var(--t-caption1);font-weight:var(--weight-semibold)}.status-box span{display:grid;gap:var(--space-1)}.status-box strong{color:var(--color-text-primary);font:var(--t-label);font-weight:var(--weight-semibold)}.status-box small{color:var(--color-text-secondary);font:var(--t-caption1)}.coupon-detail__section{padding:var(--space-6) var(--gutter)}.coupon-detail__section h2{margin-bottom:var(--space-3);font:var(--t-title3)}.coupon-detail__section dl{margin:0}.coupon-detail__section dl div,.coupon-detail__section dt,.coupon-detail__section dd{min-height:var(--hit-min)}.coupon-detail__section dt{float:left;width:72px;padding-block:var(--space-3);color:var(--color-text-tertiary);font:var(--t-label)}.coupon-detail__section dd{margin:0;padding-block:var(--space-3);font:var(--t-label)}.coupon-detail__section>p,.coupon-detail__section>a{display:flex;align-items:center;gap:var(--space-2);min-height:var(--hit-min);margin:0;color:var(--color-text-secondary);text-decoration:none}.coupon-detail__section>a{color:var(--color-primary-text)}.coupon-use{position:relative;isolation:isolate;min-height:100dvh;overflow:hidden;padding:calc(var(--safe-top) + var(--space-3)) var(--gutter) calc(var(--control-l) + var(--space-14) + var(--safe-bottom));color:var(--gray-900);background:var(--gray-0)}.coupon-use__pattern{position:fixed;z-index:-1;inset:calc(var(--space-10) * -1);background-color:var(--coupon-pattern-a);background-image:repeating-linear-gradient(45deg,var(--coupon-pattern-a) 0,var(--coupon-pattern-a) var(--space-3),var(--coupon-pattern-b) var(--space-3),var(--coupon-pattern-b) var(--space-6));animation:coupon-pattern var(--dur-pattern) linear infinite}.coupon-use--complete .coupon-use__pattern{animation:none;filter:grayscale(1)}.coupon-use__close{display:grid;width:var(--hit-min);min-height:var(--hit-min);margin-left:calc(var(--space-3) * -1);place-items:center;border:0;border-radius:var(--radius-full);background:transparent}.coupon-use__clock{display:grid;justify-items:center;margin-top:var(--space-1);text-align:center}.coupon-use__clock time{font:var(--t-clock)}.coupon-use__clock>span{color:var(--gray-600);font:var(--t-caption1)}.coupon-use__live{display:inline-flex;align-items:center;gap:var(--space-1_5);margin-top:var(--space-1);color:var(--gray-700);font:var(--t-caption2)}.coupon-use__live .num{min-width:var(--space-8);color:var(--color-danger);letter-spacing:var(--space-0_5)}.coupon-use__content{margin-top:var(--space-6)}.coupon-use__guide{margin-bottom:var(--space-3);font:var(--t-title3)}.coupon-use__ticket{position:relative;overflow:hidden;border:1px solid var(--gray-200);border-radius:var(--radius-2xl);background:var(--gray-0)}.coupon-use__ticket:before,.coupon-use__ticket:after{position:absolute;top:calc(50% - var(--space-2));width:var(--space-4);height:var(--space-4);border:1px solid var(--gray-200);border-radius:var(--radius-full);background:var(--coupon-pattern-a);content:""}.coupon-use__ticket:before{left:calc(var(--space-2) * -1)}.coupon-use__ticket:after{right:calc(var(--space-2) * -1)}.coupon-use__ticket-top{padding:var(--space-6)}.coupon-use__ticket-top>p{margin-bottom:var(--space-1);color:var(--gray-600);font:var(--t-label)}.coupon-use__ticket h1{margin-bottom:var(--space-4);font:var(--t-title1)}.coupon-use__qualification{display:flex;align-items:center;gap:var(--space-2);color:var(--gray-600);font:var(--t-caption1)}.coupon-use__ticket-bottom{padding:var(--space-5) var(--space-6);border-top:1px dashed var(--gray-400)}.coupon-use__ticket-bottom>p:first-child{margin-bottom:0;font:var(--t-label)}.coupon-use__pin{display:grid;gap:var(--space-2);margin-top:var(--space-4);font:var(--t-label)}.coupon-use__pin input{height:var(--input-h);padding-inline:var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-lg);background:var(--gray-0)}.coupon-use__complete{margin-top:var(--space-5);text-align:center}.coupon-use__complete strong{display:grid;justify-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-primary-text);font:var(--t-display);animation:stamp var(--dur-stamp) var(--ease-stamp)}.coupon-use__complete p{color:var(--gray-600)}.fixed-cta--employee{color:var(--gray-900);background:var(--gray-0)}.fixed-cta--employee .fixed-cta__inner{display:grid;gap:var(--space-2)}.fixed-cta__help{margin:0;color:var(--gray-600);font:var(--t-caption1);text-align:center}.fixed-cta__help--warning{color:var(--color-warning-text)}.hold-button{position:relative;isolation:isolate;min-height:var(--space-14);overflow:hidden}.hold-button__fill{position:absolute;z-index:-1;inset:0;background:var(--color-primary);transform:scaleX(0);transform-origin:left}.hold-button--active .hold-button__fill{animation:hold-progress var(--hold-redeem) linear forwards}.hold-button:disabled,.hold-button[aria-disabled=true]{pointer-events:none}.hold-button:disabled .hold-button__fill,.hold-button[aria-disabled=true] .hold-button__fill{display:none;animation:none}.hold-button__label{position:relative}.hold-button small{position:relative;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--gray-600);font:var(--t-caption2)}@keyframes coupon-pattern{to{transform:translate3d(var(--space-10),var(--space-10),0)}}@keyframes hold-progress{to{transform:scaleX(1)}}@keyframes stamp{0%{transform:scale(1.3) rotate(-6deg);opacity:0}}.qualification,.history{margin-bottom:var(--section-gap)}.qualification h2,.history h2{margin-bottom:var(--space-3);font:var(--t-title3)}.qualification>div{display:flex;align-items:center;gap:var(--space-2);min-height:var(--hit-min);border-bottom:1px solid var(--color-divider);color:var(--color-text-secondary);font:var(--t-label)}.history li{display:grid;gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--color-divider)}.history li strong{font:var(--t-body1-strong)}.history li time{color:var(--color-text-tertiary);font:var(--t-caption1)}.owner-entry{display:grid;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-bg-subtle)}.owner-entry>svg{color:var(--color-primary-text)}.owner-entry h2{margin-bottom:var(--space-1);font:var(--t-title3)}.owner-entry p{margin:0;color:var(--color-text-secondary);font:var(--t-body2)}.settings-list{margin-top:var(--space-5)}.settings-list li{border-bottom:1px solid var(--color-divider)}.settings-list button,.settings-list a{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);width:100%;min-height:var(--appbar-h);padding:0;border:0;color:var(--color-text-primary);background:transparent;text-align:left;text-decoration:none}.settings-list small{color:var(--color-text-tertiary)}.version{min-height:var(--hit-min);margin-top:var(--space-5);padding:0;border:0;color:var(--color-text-tertiary);background:transparent;font:var(--t-caption1)}.more__credit{margin:0;color:var(--color-text-tertiary);font:var(--t-caption1)}.theme-options{display:grid}.theme-options button{min-height:var(--input-h);border:0;border-bottom:1px solid var(--color-divider);background:transparent;text-align:left}.owner{padding:var(--space-6) var(--gutter);background:var(--color-bg-subtle)}.owner>h1{font:var(--t-title1)}.owner__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4)}.owner__meta>p{margin:0;color:var(--color-text-secondary);font:var(--t-caption1)}.owner__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-block:var(--space-5)}.owner__stats article,.owner>form{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg)}.owner__stats article{display:grid;gap:var(--space-1)}.owner__stats b{font:var(--t-display);font-variant-numeric:tabular-nums}.owner>form{margin-block:var(--space-5)}.owner>form label{display:grid;gap:var(--space-2);font:var(--t-label)}.owner>form :is(input,select){min-height:var(--input-h);padding-inline:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg)}.owner>form button{min-height:var(--btn-h-l);border:0;border-radius:var(--radius-lg);color:var(--color-text-on-primary);background:var(--color-primary)}.owner__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.owner__chart{display:grid;gap:var(--space-3);margin-block:var(--space-5);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg)}.owner__chart-row{display:grid;grid-template-columns:3.5em 1fr;align-items:end;gap:var(--space-3);font:var(--t-caption1)}.owner__chart-bars{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:var(--space-2);height:72px}.owner__chart-bar{display:grid;align-items:end;justify-items:center;gap:var(--space-1);height:100%}.owner__chart-bar-fill{width:100%;min-height:2px;border-radius:var(--radius-xs);background:var(--color-primary)}.owner__chart-bar b{font:var(--t-caption2);font-variant-numeric:tabular-nums}.owner__chart-bar small{color:var(--color-text-tertiary);font:var(--t-caption2)}.shop-poster{display:grid;gap:var(--space-4);padding:var(--space-6) var(--gutter);background:var(--color-bg-subtle)}.shop-poster__toolbar{display:flex}.shop-poster__sheet{display:grid;justify-items:center;gap:var(--space-3);max-width:480px;margin-inline:auto;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-float);text-align:center}.shop-poster__wordmark{margin:0;color:var(--color-primary-text);font:var(--t-label)}.shop-poster__shop{margin:0;font:var(--t-title1)}.shop-poster__tagline{margin:0;color:var(--color-text-secondary);font:var(--t-body2)}.shop-poster__qr{margin-block:var(--space-4)}.shop-poster__coupons{display:grid;gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;text-align:left}.shop-poster__coupons li{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.shop-poster__coupons b{display:block;font:var(--t-body1-strong)}.shop-poster__coupons span{color:var(--color-text-secondary);font:var(--t-caption1)}.shop-poster__footer{margin:0;color:var(--color-text-tertiary);font:var(--t-caption1)}.shop-poster__actions{display:grid;gap:var(--space-3);max-width:480px;margin-inline:auto;width:100%}@media print{body *{visibility:hidden}.shop-poster__sheet,.shop-poster__sheet *{visibility:visible}.shop-poster__sheet{position:absolute;inset:0;margin:0;box-shadow:none}}.developer{min-height:100dvh;display:grid;align-content:start;gap:var(--space-3);padding:var(--space-6) var(--gutter)}.developer button{min-height:var(--btn-h-m);border:0;border-radius:var(--radius-lg);color:var(--color-text-on-primary);background:var(--color-primary)}progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:var(--radius-sm);background:var(--color-fill)}progress::-webkit-progress-bar{background:var(--color-fill)}progress::-webkit-progress-value{background:var(--color-primary)}progress::-moz-progress-bar{background:var(--color-primary)}.ocr-progress{display:grid;gap:var(--space-2);color:var(--color-text-tertiary);font:var(--t-caption1)}.ocr-progress img{width:100%;max-height:240px;object-fit:contain;border-radius:var(--radius-lg);background:var(--color-fill)}.auto-tag{margin-left:var(--space-1);padding:var(--space-0_5) var(--space-1_5);border-radius:var(--radius-xs);color:var(--color-primary-text);background:var(--color-primary-weak);font:var(--t-caption2)}.auto-tag--manual{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.location-result{display:grid;justify-items:center;gap:var(--space-1);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.location-result strong{font:var(--t-clock)}.location-result--success strong{color:var(--color-primary-text)}.location-result--danger strong{color:var(--color-danger-text)}.route-loading{display:grid;min-height:100dvh;place-items:center;color:var(--color-text-tertiary);font:var(--t-label)}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.capture-step,.flow-step{display:grid;align-content:start;gap:var(--space-4)}.camera-box{position:relative;width:100%;aspect-ratio:3 / 2;overflow:hidden;border-radius:var(--radius-xl);background:var(--gray-900)}.camera-box video{width:100%;height:100%;object-fit:cover}.camera-box__empty{position:absolute;inset:0;display:grid;justify-items:center;align-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--gray-0);text-align:center}.camera-box__empty p{color:var(--gray-0);opacity:.8;font:var(--t-caption1)}.scan-frame{position:absolute;inset:var(--space-4);pointer-events:none}.scan-frame--boxed{inset:50% auto auto 50%;width:220px;height:220px;transform:translate(-50%,-50%)}.scan-frame__corner{position:absolute;width:28px;height:28px;border:0 solid var(--color-primary);border-radius:2px}.scan-frame__corner--tl{top:0;left:0;border-width:3px 0 0 3px}.scan-frame__corner--tr{top:0;right:0;border-width:3px 3px 0 0}.scan-frame__corner--bl{bottom:0;left:0;border-width:0 0 3px 3px}.scan-frame__corner--br{bottom:0;right:0;border-width:0 3px 3px 0}.scan-status{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.scan-status--done{background:var(--color-primary-weak)}.scan-status__done{display:flex;align-items:center;gap:var(--space-1_5);color:var(--color-primary-text);font:var(--t-label);font-weight:var(--weight-semibold)}.live-status{display:flex;align-items:center;gap:5px;color:var(--color-text-secondary)}.live-status i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:live-dot 1s infinite alternate}.live-status i:nth-child(3){animation-delay:.2s}.live-status i:nth-child(4){animation-delay:.4s}.live-preview{color:var(--color-text-tertiary);font:var(--t-caption1);font-variant-numeric:tabular-nums}.student-card-hint{display:grid;justify-items:center;gap:var(--space-1_5)}.student-card-hint__card{width:54px;height:86px;display:grid;align-content:center;justify-items:center;gap:6px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.student-card-hint__card span{width:32px;height:2px;background:var(--color-border-strong)}.student-card-hint__caption{color:var(--color-text-tertiary);font:var(--t-caption1)}@keyframes live-dot{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.live-status i{animation:none}}.capture-preview{width:100%;height:160px;object-fit:contain;border-radius:var(--radius-lg);background:var(--color-fill)}.qr-guide{display:grid;gap:var(--space-1_5);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-subtle);color:var(--color-text-secondary);font:var(--t-body2)}.text-action{min-height:var(--hit-min);padding:0;border:0;color:var(--color-primary-text);background:transparent;font:var(--t-label);font-weight:var(--weight-semibold)}.text-action--warning{color:var(--color-warning-text)}.result-photo{display:grid;grid-template-columns:var(--tabbar-h) 1fr auto;align-items:center;gap:var(--space-3);margin-block:var(--space-5);color:var(--color-text-tertiary);font:var(--t-caption1)}.result-photo img{width:var(--tabbar-h);height:var(--tabbar-h);object-fit:cover;border-radius:var(--radius-md)}.result-photo button{min-height:var(--btn-h-s);padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:transparent}.radio-list{display:grid}.radio-list label{display:grid;grid-template-columns:var(--icon) 1fr;align-items:center;gap:var(--space-3);min-height:var(--thumb-list);border-bottom:1px solid var(--color-divider)}.radio-list span{display:grid;gap:var(--space-1)}.radio-list strong{font:var(--t-body1-strong)}.radio-list small{color:var(--color-text-tertiary);font:var(--t-caption1)}.radio-list__row{display:flex;align-items:center;gap:var(--space-3)}.radio-list__poster{flex-shrink:0;width:44px;height:60px;border-radius:var(--radius-md);object-fit:cover}.upcoming-events{display:grid;gap:var(--space-2)}.upcoming-events__label{color:var(--color-text-tertiary);font:var(--t-caption1);font-weight:var(--weight-semibold)}.upcoming-events__list{display:grid;gap:var(--space-3)}.upcoming-events__list span{color:var(--color-text-secondary);font:var(--t-caption1)}.location-placeholder{display:grid;justify-items:center;gap:var(--space-2);padding-block:var(--space-10);color:var(--color-text-tertiary)}.reference-segment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1);margin:var(--space-2) var(--gutter);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--color-fill)}.reference-segment button{min-height:var(--hit-min);padding:var(--space-1);border:0;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;font-size:var(--t-caption1-size);line-height:var(--t-caption1-line);white-space:nowrap}.reference-segment button[aria-pressed=true]{color:var(--color-text-primary);background:var(--color-bg);font-weight:var(--weight-semibold)}.reference-message,.distance-reference{margin:0 var(--gutter);color:var(--color-text-tertiary);font:var(--t-caption1)}.distance-reference{display:flex;align-items:center;gap:var(--space-1);padding-block:var(--space-3);border-bottom:1px solid var(--color-divider)}.benefit-row__distance{display:grid;justify-items:end;flex:0 0 auto}.benefit-row__distance small{color:var(--color-text-tertiary);font:var(--t-caption2)}.owner-login .form{margin-top:var(--space-6)}@media(prefers-reduced-motion:reduce){.benefit-skeleton>span,.benefit-skeleton i{animation:none}.coupon-use__pattern{animation:none;transform:translate3d(12px,12px,0)}}.ticket-list-region{--ticket-stub-width: 92px;--ticket-notch-size: var(--space-4);--color-primary-bg: var(--color-primary-weak);min-height:calc(100dvh - var(--appbar-h));padding:0 var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-6));background:var(--color-bg-subtle)}.ticket-list-region--loading{padding-top:var(--space-4)}.ticket-list-region .distance-reference{margin:0;border-bottom:0}.ticket-list{display:grid;gap:var(--space-3)}.ticket-card,.ticket-list__empty{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.ticket-card>a,.ticket-card--skeleton,.ticket-list__empty{display:grid;grid-template-columns:minmax(0,1fr) var(--ticket-stub-width)}.ticket-card>a{color:var(--color-text-primary);text-decoration:none;transition:transform var(--dur-press) var(--ease-standard)}.ticket-card>a:active{transform:scale(.98)}.ticket-card__body{display:grid;min-width:0;align-content:center;gap:var(--space-1);padding:var(--space-4)}.ticket-card__shop{overflow:hidden;color:var(--color-text-secondary);font:var(--t-caption1);text-overflow:ellipsis;white-space:nowrap}.ticket-card__title{display:-webkit-box;overflow:hidden;font:var(--t-title3);letter-spacing:var(--ls-title3);-webkit-box-orient:vertical;-webkit-line-clamp:2}.ticket-card__condition,.ticket-card__status{display:flex;min-width:0;align-items:center;gap:var(--space-1_5);color:var(--color-text-tertiary);font:var(--t-caption1)}.ticket-card__condition{flex-wrap:wrap;row-gap:var(--space-1)}.ticket-card__status{gap:var(--space-1);font-weight:var(--weight-semibold)}.ticket-card__status--active{color:var(--color-primary-text)}.ticket-card__stub,.ticket-list__empty-stub{position:relative;display:grid;align-content:center;justify-items:center;gap:var(--space-0_5);min-width:0;padding:var(--space-3) var(--space-2);border-left:1px dashed var(--color-border-strong);border-radius:0 var(--radius-xl) var(--radius-xl) 0;background:var(--color-bg-subtle);text-align:center}.ticket-card__stub:before,.ticket-card__stub:after,.ticket-list__empty-stub:before,.ticket-list__empty-stub:after{position:absolute;z-index:1;left:calc(var(--ticket-notch-size) / -2);width:var(--ticket-notch-size);height:var(--ticket-notch-size);border-radius:var(--radius-full);background:var(--color-bg-subtle);content:""}.ticket-card__stub:before,.ticket-list__empty-stub:before{top:calc(var(--ticket-notch-size) / -2 - 1px)}.ticket-card__stub:after,.ticket-list__empty-stub:after{bottom:calc(var(--ticket-notch-size) / -2 - 1px)}.ticket-card__stub--active{background:var(--color-primary-bg)}.ticket-card__stub>strong{font:var(--t-button-m);font-weight:var(--weight-bold)}.ticket-card__stub>small{color:var(--color-text-secondary);font:var(--t-caption2);white-space:nowrap}.ticket-card__stub>i{display:grid;width:var(--space-12);height:var(--space-12);margin-top:var(--space-2);place-items:center;border:1.5px solid var(--color-text-tertiary);border-radius:var(--radius-full);color:var(--color-text-tertiary);font:var(--t-caption2);font-style:normal;transform:rotate(-10deg)}.ticket-card--used .ticket-card__body,.ticket-card--used .ticket-card__title,.ticket-card--used .ticket-card__shop{color:var(--color-text-secondary)}.ticket-card--skeleton{min-height:calc(var(--space-12) * 3)}.ticket-card--skeleton i{display:block;height:var(--space-3);border-radius:var(--radius-xs);background:var(--color-fill);animation:ticket-pulse var(--duration-slow) var(--ease-standard) infinite alternate}.ticket-card--skeleton .ticket-card__body i:nth-child(1){width:55%}.ticket-card--skeleton .ticket-card__body i:nth-child(2){width:90%;height:var(--space-5)}.ticket-card--skeleton .ticket-card__body i:nth-child(3){width:72%}.ticket-card--skeleton .ticket-card__body i:nth-child(4){width:45%}.ticket-card--skeleton .ticket-card__stub i:first-child{width:70%}.ticket-card--skeleton .ticket-card__stub i:last-child{width:85%;height:var(--space-2)}.ticket-list__empty-body{min-width:0}.ticket-list__empty .empty-state{padding:var(--space-6) var(--space-4)}@keyframes ticket-pulse{to{background:var(--color-fill-pressed)}}@media(prefers-reduced-motion:reduce){.ticket-card--skeleton i{animation:none}}.ticket-card--locked{opacity:.6}.locked-benefits{margin-top:var(--space-6)}.locked-benefits summary{margin-bottom:var(--space-3);color:var(--color-text-primary);font:var(--t-body1-strong);cursor:pointer}.qualification--passes>div{display:block;padding:0}.pass-list{display:grid;gap:var(--space-3)}.pass-card{--pass-stub-width: calc(var(--space-12) * 2);display:grid;grid-template-columns:minmax(0,1fr) var(--pass-stub-width);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text-primary);text-decoration:none}.pass-card__body{display:grid;align-content:center;justify-items:start;gap:var(--space-1);min-width:0;padding:var(--space-4)}.pass-card__body>strong{font:var(--t-title3);letter-spacing:var(--ls-title3)}.pass-card__body>span:not(.badge),.pass-card__body>small{color:var(--color-text-secondary);font:var(--t-caption1)}.pass-card__stub{display:grid;align-content:center;justify-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-left:1px dashed var(--color-border-strong);background:var(--color-bg-subtle);text-align:center;font:var(--t-caption2)}.pass-card__stub>small{color:var(--color-text-secondary);font:var(--t-caption2)}.pass-card__stub>strong{font:var(--t-button-m)}.pass-card__stub--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.pass-card--empty .pass-card__stub{color:var(--color-primary-text)}
