:root{--color-bg-primary:#141414;--color-bg-secondary:#1a1a1a;--color-bg-elevated:#222;--color-surface:#1e1e1e;--color-surface-hover:#ffffff0f;--color-surface-pressed:#ffffff1a;--color-surface-secondary:#ffffff0f;--color-surface-raised:#ffffff0d;--color-text-primary:#fff;--color-text-secondary:#9b9b9b;--color-text-tertiary:var(--color-text-secondary);--color-text-muted:#8a8a8a;--color-text-faint:#555;--color-text-disabled:#6b6b6b;--color-text-inverse:#141414;--color-border-primary:#ffffff1a;--color-border-secondary:#ffffff0f;--color-border-focus:#fff6;--color-border:var(--color-border-primary);--color-accent:#f2864e;--color-accent-hover:#f79a68;--color-accent-pressed:#e0733a;--color-accent-bg:#f2864e1f;--color-accent-border:#f2864e40;--color-focus-ring:var(--color-accent);--color-button-primary-bg:var(--color-accent);--color-button-primary-text:#141414;--color-button-primary-pressed:var(--color-accent-pressed);--color-button-disabled-bg:#ffffff14;--color-button-disabled-text:#ffffff6b;--color-button-secondary-bg:#ffffff14;--color-button-secondary-text:#fff;--color-button-secondary-pressed:#ffffff24;--color-button-danger-bg:#f871711f;--color-button-danger-text:#f87171;--color-button-danger-pressed:#f8717133;--color-success:#4ade80;--color-success-bg:#4ade801f;--color-success-border:#4ade803d;--color-warning:#fb923c;--color-warning-bg:#fb923c1f;--color-warning-border:#fb923c3d;--color-danger:#f87171;--color-danger-bg:#f871711f;--color-danger-border:#f871713d;--color-info:#4da3e8;--color-info-bg:#4da3e81f;--color-info-border:#4da3e840;--color-neutral-progress:#6b7480;--color-scrim-strong:#000000b8;--color-on-scrim:#fff;--font-family:-apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-display:32px;--font-size-page-title:24px;--font-size-section-title:18px;--font-size-card-title:16px;--font-size-body:15px;--font-size-body-secondary:14px;--font-size-label:13px;--font-size-input:16px;--font-size-button:15px;--font-size-button-lg:17px;--font-size-caption:12px;--font-size-micro:12px;--font-size-numeric:28px;--tracking-caps:.06em;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.45;--line-height-loose:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-md:8px;--radius-field:12px;--radius-card:16px;--radius-chip:8px;--radius-button:12px;--radius-modal:20px;--radius-badge:6px;--radius-avatar:50%;--border-width:1px;--border-default:var(--border-width) solid var(--color-border-primary);--border-secondary:var(--border-width) solid var(--color-border-secondary);--border-focus:var(--border-width) solid var(--color-border-focus);--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:32px;--tap-target:44px;--shadow-card:0 1px 3px #0006, 0 1px 2px #00000080;--shadow-elevated:0 4px 16px #0009;--shadow-modal:0 8px 32px #000000b3;--duration-fast:.12s;--duration-default:.18s;--duration-slow:.3s;--easing-default:cubic-bezier(.4, 0, .2, 1);--easing-spring:cubic-bezier(.34, 1.56, .64, 1);--z-base:0;--z-raised:10;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400;--layout-max-width:480px;--layout-padding-x:16px;--layout-padding-top:16px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--bottom-bar-height:64px;--bottom-bar-total:calc(var(--bottom-bar-height) + var(--safe-area-bottom))}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:contain;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;text-rendering:optimizelegibility;margin:0}#root{width:100%;max-width:100%;min-height:100svh;min-height:var(--tg-viewport-height,100svh);flex-direction:column;display:flex}p,h1,h2,h3,h4,h5,h6{margin:0}button,[role=button],a,label,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}:where(a,button,input,select,textarea,[tabindex]):focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-screen{width:100%;max-width:var(--layout-max-width);min-height:100svh;min-height:var(--tg-viewport-height,100svh);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-normal);padding:calc(var(--layout-padding-top) + var(--safe-area-top)) var(--layout-padding-x) calc(var(--space-6) + var(--safe-area-bottom));box-sizing:border-box;-webkit-overflow-scrolling:touch;margin:0 auto;overflow-x:hidden}.app-screen--has-bar{padding-bottom:calc(var(--bottom-bar-total) + var(--space-3))}.page-header{align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:var(--border-secondary);display:flex}.page-header__left,.page-header__right{flex-shrink:0}.page-header__center{flex:1;min-width:0}.page-header__title-row{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.page-header__title{min-width:0;font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.page-header__subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:2px 0 0}.page-header__badge{padding:2px var(--space-2);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);border-radius:var(--radius-badge);white-space:nowrap;flex-shrink:0;line-height:1.5}.section-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.section-header__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.section-header__action{flex-shrink:0}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-button);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--easing-default), opacity var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);border:none;outline:none;line-height:1;display:inline-flex}.btn--full{width:100%}.btn--sm{height:36px;padding:0 var(--space-3);font-size:var(--font-size-label)}.btn--md{height:var(--tap-target);padding:0 var(--space-4)}.btn--lg{height:52px;padding:0 var(--space-6);font-size:var(--font-size-button-lg)}.btn--primary{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}@media (hover:hover){.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}}.btn--primary:active:not(:disabled){background:var(--color-button-primary-pressed);transform:scale(.98)}.btn--secondary{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text)}@media (hover:hover){.btn--secondary:hover:not(:disabled){background:#ffffff1f}}.btn--secondary:active:not(:disabled){background:var(--color-button-secondary-pressed);transform:scale(.98)}.btn--outline{color:var(--color-text-primary);border:var(--border-default);background:0 0}@media (hover:hover){.btn--outline:hover:not(:disabled){background:var(--color-surface-hover)}}.btn--outline:active:not(:disabled){background:var(--color-surface-pressed);transform:scale(.98)}.btn--text{color:var(--color-text-secondary);padding:0 var(--space-2);height:auto;min-height:var(--tap-target);background:0 0}@media (hover:hover){.btn--text:hover:not(:disabled){color:var(--color-text-primary)}}.btn--text-accent{color:var(--color-accent);padding:0 var(--space-2);height:auto;min-height:var(--tap-target);text-transform:uppercase;letter-spacing:.04em;background:0 0}@media (hover:hover){.btn--text-accent:hover:not(:disabled){color:var(--color-accent-hover)}}.btn--text-accent:active:not(:disabled){color:var(--color-accent-pressed);transform:scale(.98)}.btn--text-accent:disabled{color:var(--color-text-muted);background:0 0}.btn--danger{background:var(--color-button-danger-bg);color:var(--color-button-danger-text);border:1px solid var(--color-danger-border)}@media (hover:hover){.btn--danger:hover:not(:disabled){background:#f871712e}}.btn--danger:active:not(:disabled){background:var(--color-button-danger-pressed);transform:scale(.98)}.btn:disabled{background:var(--color-button-disabled-bg);color:var(--color-button-disabled-text);cursor:not-allowed;border-color:#0000;transform:none}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__spinner{width:var(--icon-size-md);height:var(--icon-size-md);flex-shrink:0;animation:.7s linear infinite btn-spin}.btn__icon{flex-shrink:0;align-items:center;display:inline-flex}.btn__icon svg{width:var(--icon-size-md);height:var(--icon-size-md)}.btn-icon{border-radius:var(--radius-chip);cursor:pointer;color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--easing-default), background var(--duration-fast) var(--easing-default);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon--sm{width:32px;height:32px}.btn-icon--md{width:var(--tap-target);height:var(--tap-target)}.btn-icon--lg{width:52px;height:52px}.btn-icon svg{width:var(--icon-size-lg);height:var(--icon-size-lg)}@media (hover:hover){.btn-icon:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-hover)}}.btn-icon:active:not(:disabled){background:var(--color-surface-pressed)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn,.btn-icon{transition:none}.btn__spinner{animation-duration:1.4s}}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.field__input-wrap{align-items:center;display:flex;position:relative}.field__icon{color:var(--color-text-muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.field__icon svg{width:var(--icon-size-md);height:var(--icon-size-md)}.field__icon--left{left:var(--space-3)}.field__icon--right{right:var(--space-3)}.field__input{width:100%;height:var(--tap-target);padding:0 var(--space-3);background:var(--color-surface);color:var(--color-text-primary);border:var(--border-default);border-radius:var(--radius-field);font-family:var(--font-family);font-size:var(--font-size-input);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);box-sizing:border-box;appearance:none;transition:border-color var(--duration-fast) var(--easing-default), background var(--duration-fast) var(--easing-default);outline:none}.field__input--icon-left{padding-left:calc(var(--icon-size-md) + var(--space-3) + var(--space-2))}.field__input--icon-right{padding-right:calc(var(--icon-size-md) + var(--space-3) + var(--space-2))}.field__input::placeholder{color:var(--color-text-muted)}.field__input:not(:placeholder-shown){border-color:var(--color-border-primary)}.field__input:focus{border-color:var(--color-border-focus);background:var(--color-bg-elevated)}.field__input--float{background:var(--color-surface);border-color:#0000;height:56px;padding-top:22px;padding-bottom:8px}.field__float-label{left:var(--space-3);font-size:var(--font-size-input);color:var(--color-text-muted);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - var(--space-3) * 2);transition:top var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default), font-size var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default);position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.field__input-wrap--float:focus-within .field__float-label,.field__input-wrap--filled .field__float-label,.field__input-wrap--float .field__input--float:not(.field__input--picker):not(:placeholder-shown)~.field__float-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);top:9px;transform:translateY(0)}.field__input-wrap--float .field__input--float:not(.field__input--picker):-webkit-autofill~.field__float-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);top:9px;transform:translateY(0)}.field__input-wrap--float .field__input--float:not(:focus){border-color:#0000}.field__input-wrap--float:focus-within .field__input--float{border-color:var(--color-border-focus);background:var(--color-bg-elevated)}.field__input-wrap--float:not(:focus-within) .field__input--float::placeholder{color:#0000}.field__input-wrap--float:has(.field__input--icon-left) .field__float-label{left:calc(var(--icon-size-md) + var(--space-3) + var(--space-2))}.field__input-wrap--float .field__picker-overlay--empty{display:none}.field__input-wrap--float .field__picker-overlay{top:auto;bottom:9px;transform:none}.field--invalid .field__input--float,.field--invalid .field__input-wrap--float .field__input--float:not(:focus){border-color:var(--color-danger)}.field__input:-webkit-autofill{-webkit-text-fill-color:var(--color-text-primary);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text-primary);transition:background-color 9999s ease-out}.field__input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text-primary);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text-primary);transition:background-color 9999s ease-out}.field__input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text-primary);transition:background-color 9999s ease-out}.field__input:disabled{opacity:.4;cursor:not-allowed}.field__input:read-only{background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:default}.field--invalid .field__input{border-color:var(--color-danger);background:var(--color-danger-bg)}.field--invalid .field__input:focus{border-color:var(--color-danger)}.field__textarea{height:auto;min-height:96px;padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical;line-height:var(--line-height-loose)}.field__input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.4);cursor:pointer}.field__input[type=time]::-webkit-calendar-picker-indicator{filter:invert()opacity(.4);cursor:pointer}.field__input--picker{color:#0000;-webkit-text-fill-color:transparent}.field__input--picker::-webkit-datetime-edit{color:#0000;-webkit-text-fill-color:transparent}.field__input--picker::-webkit-date-and-time-value{color:#0000;-webkit-text-fill-color:transparent}.field__picker-overlay{left:var(--space-3);pointer-events:none;font-size:var(--font-size-input);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - var(--space-3) - var(--space-8,32px));position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.field__picker-overlay--empty{color:var(--color-text-muted)}.field__hint{font-size:var(--font-size-caption);color:var(--color-text-muted);line-height:var(--line-height-normal);margin:0}.field__error{font-size:var(--font-size-caption);color:var(--color-danger);line-height:var(--line-height-normal);margin:0}@media (prefers-reduced-motion:reduce){.field__input{transition:none}}.divider{border:none;border-top:var(--border-secondary);margin:0}.divider--sm{margin-block:var(--space-2)}.divider--md{margin-block:var(--space-4)}.divider--lg{margin-block:var(--space-6)}.divider--labeled{align-items:center;gap:var(--space-3);border:none;display:flex}.divider--labeled:before,.divider--labeled:after{content:"";background:var(--color-border-secondary);flex:1;height:1px}.divider__label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap}.state{text-align:center;padding:var(--space-10) var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.state__icon{color:var(--color-text-muted);margin-bottom:var(--space-1)}.state__icon svg{width:56px;height:56px}.state__icon--danger{color:var(--color-danger)}.state__icon--muted{color:var(--color-text-muted)}.state__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.state__description{font-size:var(--font-size-body-secondary);color:var(--color-text-secondary);max-width:260px;line-height:var(--line-height-loose);margin:0}.state__action{margin-top:var(--space-2)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-chip);background:linear-gradient(90deg, var(--color-bg-elevated) 25%, #ffffff0f 50%, var(--color-bg-elevated) 75%);background-size:800px 100%;animation:1.4s linear infinite shimmer}.loading-skeleton-list{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.loading-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-3);border:var(--border-secondary);flex-direction:column;display:flex}.loading-skeleton-detail{gap:var(--space-3);width:100%;padding-top:var(--space-2);flex-direction:column;display:flex}.skeleton--title{width:60%;height:20px}.skeleton--line{width:100%;height:14px}.skeleton--line-short{width:40%}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.5;animation:none}}.empty-create-plus{width:64px;height:64px;margin-top:var(--space-2);background:var(--color-accent);color:#141414;border-radius:var(--radius-card);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);border:none;justify-content:center;align-items:center;display:inline-flex}.empty-create-plus svg{width:28px;height:28px}@media (hover:hover){.empty-create-plus:hover{background:var(--color-accent-hover)}}.empty-create-plus:active{background:var(--color-accent-pressed);transform:scale(.96)}.empty-create-plus:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.toast-container{bottom:calc(var(--bottom-bar-total) + var(--space-3));left:var(--layout-padding-x);right:var(--layout-padding-x);max-width:calc(var(--layout-max-width) - var(--layout-padding-x) * 2);gap:var(--space-2);z-index:var(--z-toast);pointer-events:none;flex-direction:column-reverse;margin:0 auto;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);font-size:var(--font-size-body-secondary);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-elevated);border:var(--border-default);box-shadow:var(--shadow-elevated);pointer-events:auto;animation:toast-in var(--duration-default) var(--easing-default);display:flex}.toast--hidden{animation:toast-out var(--duration-default) var(--easing-default) forwards}.toast--success{border-color:var(--color-success-border)}.toast--error{border-color:var(--color-danger-border)}.toast__icon{flex-shrink:0;display:inline-flex}.toast__icon svg{width:var(--icon-size-md);height:var(--icon-size-md)}.toast--success .toast__icon{color:var(--color-success)}.toast--error .toast__icon{color:var(--color-danger)}.toast--info .toast__icon{color:var(--color-text-secondary)}.toast__message{flex:1}.toast__close{width:var(--tap-target);height:var(--tap-target);margin:calc((28px - var(--tap-target)) / 2);border-radius:var(--radius-chip);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast__close svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.toast__close:hover{color:var(--color-text-primary)}.toast__close:active{color:var(--color-text-primary);background:var(--color-surface-pressed)}.toast__close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-6px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast,.toast--hidden{animation:none}}.progress-segments{gap:3px;width:100%;display:flex}.progress-segments__seg{background:var(--color-neutral-progress);height:4px;transition:background var(--duration-default) var(--easing-default);border-radius:2px;flex:1}.progress-segments__seg--filled{background:var(--color-success)}.progress-steps{gap:var(--space-1);width:100%;display:flex}.progress-steps__step{background:var(--color-neutral-progress);height:3px;transition:background var(--duration-default) var(--easing-default);border-radius:2px;flex:1}.progress-steps__step--done{background:var(--color-text-secondary)}.progress-steps__step--current{background:var(--color-accent)}@media (prefers-reduced-motion:reduce){.progress-segments__seg,.progress-steps__step{transition:none}}.chip{cursor:pointer;display:inline-flex;position:relative}.chip:after{content:"";height:var(--tap-target);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.chip__input{opacity:0;width:0;height:0;position:absolute}.chip__body{align-items:center;gap:var(--space-1);height:36px;padding:0 var(--space-3);border-radius:var(--radius-chip);border:var(--border-default);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default);background:0 0;line-height:1;display:inline-flex}.chip__icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.chip__input:checked+.chip__body{background:var(--color-button-primary-bg);color:var(--color-button-primary-text);border-color:#0000}.chip__input:focus-visible+.chip__body{outline:2px solid var(--color-border-focus);outline-offset:2px}.chip__input:disabled+.chip__body{opacity:.4;cursor:not-allowed}@media (hover:hover){.chip:hover .chip__input:not(:checked):not(:disabled)+.chip__body{background:var(--color-surface-hover);color:var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){.chip__body{transition:none}}.bottom-bar{z-index:var(--z-sticky);background:var(--color-bg-primary);border-top:var(--border-secondary);padding-bottom:var(--safe-area-bottom);transition:transform var(--duration-default) var(--easing-default);position:fixed;bottom:0;left:0;right:0}.bottom-bar__inner{max-width:var(--layout-max-width);padding:var(--space-3) var(--layout-padding-x);gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.bottom-bar__label{font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center;margin:0}.bottom-bar__actions{gap:var(--space-2);display:flex}.bottom-bar__actions>*{flex:1}.bottom-bar--keyboard{pointer-events:none;transform:translateY(110%)}@media (prefers-reduced-motion:reduce){.bottom-bar{transition:none}}.game-card-ds{background:var(--color-surface);border-radius:var(--radius-card);border:var(--border-secondary);padding:var(--space-4);gap:var(--space-3);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.game-card-ds[role=button]{cursor:pointer;transition:background var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default)}.game-card-ds[role=button]:active{background:var(--color-bg-elevated);transform:scale(.985)}.game-card-ds[role=button]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (hover:hover){.game-card-ds[role=button]:hover{background:var(--color-bg-elevated)}}.game-card-ds--cancelled,.game-card-ds--completed{background:var(--color-bg-secondary)}.game-card-ds--cancelled .game-card-ds__title,.game-card-ds--completed .game-card-ds__title{color:var(--color-text-secondary)}.game-card-ds--cancelled .game-card-ds__row-icon,.game-card-ds--completed .game-card-ds__row-icon{opacity:.5}.game-card-ds__banner{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-chip);text-align:center}.game-card-ds__banner--completed{background:var(--color-surface-hover);color:var(--color-text-secondary)}.game-card-ds__banner--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.game-card-ds__head{align-items:flex-start;gap:var(--space-2);display:flex}.game-card-ds__repeat{width:16px;height:16px;color:var(--color-text-secondary);flex-shrink:0;margin-top:2px}.game-card-ds__title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);flex:1;margin:0}.game-card-ds__badge{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-badge);background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);white-space:nowrap;flex-shrink:0}.game-card-ds__meta{gap:var(--space-2);flex-direction:column;display:flex}.game-card-ds__row{align-items:center;gap:var(--space-2);font-size:var(--font-size-body-secondary);display:flex}.game-card-ds__row-icon{color:var(--color-text-muted);flex-shrink:0;display:inline-flex}.game-card-ds__row-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.game-card-ds__row-value{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.game-card-ds__row--when{font-size:var(--font-size-card-title)}.game-card-ds__row--when .game-card-ds__row-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.game-card-ds__row--when .game-card-ds__row-icon{color:var(--color-accent)}.game-card-ds__players-count{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.game-card-ds__actions{gap:var(--space-2);padding-top:var(--space-1);border-top:var(--border-secondary);flex-direction:column;display:flex}.cdialog-overlay{z-index:var(--z-overlay);padding:var(--space-4);padding-bottom:calc(var(--space-6) + var(--safe-area-bottom));box-sizing:border-box;background:#000000a6;align-items:flex-end;display:flex;position:fixed;inset:0}.cdialog{width:100%;max-width:var(--layout-max-width);background:var(--color-bg-elevated);border-radius:var(--radius-modal);padding:var(--space-5);gap:var(--space-4);box-shadow:var(--shadow-modal);border:var(--border-default);flex-direction:column;margin:0 auto;display:flex}.cdialog__title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-normal);margin:0}.cdialog__message{font-size:var(--font-size-body-secondary);color:var(--color-text-secondary);line-height:var(--line-height-loose);margin:0}.cdialog__actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.cdialog__btn{height:var(--tap-target);border-radius:var(--radius-button);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--duration-fast) var(--easing-default);-webkit-tap-highlight-color:transparent;border:none}.cdialog__btn:active{opacity:.8}.cdialog__btn:disabled{opacity:.5;cursor:not-allowed}.cdialog__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cdialog__btn--cancel{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text)}.cdialog__btn--confirm{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.cdialog__btn--danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}@media (hover:hover){.cdialog__btn--cancel:hover:not(:disabled){background:var(--color-button-secondary-pressed)}.cdialog__btn--confirm:hover:not(:disabled){background:var(--color-accent-hover)}.cdialog__btn--danger:hover:not(:disabled){background:var(--color-button-danger-pressed)}}@media (prefers-reduced-motion:reduce){.cdialog__btn{transition:none}}.bot-start-dialog__overlay{z-index:var(--z-overlay);padding:var(--space-4);padding-bottom:calc(var(--space-6) + var(--safe-area-bottom));box-sizing:border-box;background:#000000a6;align-items:flex-end;display:flex;position:fixed;inset:0}.bot-start-dialog:focus{outline:none}.bot-start-dialog{width:100%;max-width:var(--layout-max-width);background:var(--color-bg-elevated);border:var(--border-default);border-radius:var(--radius-modal);box-shadow:var(--shadow-modal);padding:var(--space-5);align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;margin:0 auto;display:flex}.bot-start-dialog__icon{width:52px;height:52px;margin-bottom:var(--space-1);background:var(--color-accent-bg);color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.bot-start-dialog__icon svg{width:26px;height:26px}.bot-start-dialog__done{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-success);margin:0}.bot-start-dialog__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.bot-start-dialog__body{margin:0 0 var(--space-2);font-size:var(--font-size-body-secondary);color:var(--color-text-secondary);line-height:var(--line-height-loose)}.bot-start-dialog__later{padding:var(--space-2);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.number-stepper{gap:var(--space-2);flex-direction:column;display:flex}.number-stepper__label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.number-stepper__control{background:var(--color-bg-elevated);border:var(--border-default);border-radius:var(--radius-field);height:44px;transition:border-color var(--duration-fast);align-items:stretch;display:flex;overflow:hidden}.number-stepper__control--error{border-color:var(--color-danger)}.number-stepper__btn{height:100%;color:var(--color-text-primary);font-size:20px;font-weight:var(--font-weight-regular);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:0 0 48px;justify-content:center;align-items:center;display:flex}.number-stepper__btn:not(:disabled):active{background:var(--color-surface-pressed)}.number-stepper__btn:disabled{color:var(--color-text-disabled);cursor:default}.number-stepper__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.number-stepper__btn--dec{border-right:var(--border-default)}.number-stepper__btn--inc{border-left:var(--border-default)}.number-stepper__center{flex:1;justify-content:center;align-items:center;display:flex}.number-stepper__value-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;height:100%;padding:0;display:flex}.number-stepper__value-btn:active{background:var(--color-surface-pressed)}.number-stepper__num{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1}.number-stepper__unit{font-size:var(--font-size-micro);color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.number-stepper__input{text-align:center;width:100%;height:100%;font-size:var(--font-size-input);font-weight:var(--font-weight-semibold);font-family:var(--font-family);color:var(--color-text-primary);-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:0}.number-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-stepper__error{font-size:var(--font-size-caption);color:var(--color-danger);margin:0}.swipe-row{position:relative;overflow:hidden}.swipe-row__actions{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex;position:absolute;top:0;bottom:0;right:0}.swipe-row__fg{background:var(--color-bg-primary);touch-action:pan-y;will-change:transform;position:relative}.swipe-row__fg--animated{transition:transform var(--duration-slow,.22s) var(--easing-default,ease)}@media (prefers-reduced-motion:reduce){.swipe-row__fg--animated{transition:none}}.nav-tabs{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.nav-tabs>*{flex:1}.games-list{gap:var(--space-2);flex-direction:column;display:flex}.games-tabs{background:var(--color-bg-secondary);border-radius:var(--radius-button);margin-bottom:var(--space-4);padding:3px;display:flex}.games-tab{cursor:pointer;min-height:38px;font-size:var(--font-size-body-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.games-tab--active{background:var(--color-bg-elevated);color:var(--color-text-primary)}.games-grid{gap:var(--space-3);flex-direction:column;display:flex}.chat-group{margin-bottom:var(--space-6)}.chat-group__header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-chip);margin-bottom:var(--space-3);border-left:2px solid #0000;flex-wrap:wrap;display:flex}.chat-group__title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.chat-group__label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-badge);background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);white-space:nowrap}.chat-group__label--organizer{background:var(--color-accent-bg);color:var(--color-accent);border-color:var(--color-accent-border)}.chat-group__role{font-size:var(--font-size-caption);color:var(--color-text-muted);margin-left:auto}.chat-group--current .chat-group__header{border-left-color:var(--color-success);background:var(--color-success-bg)}.chat-group--current .chat-group__title{color:var(--color-success)}.chat-group--organizer .chat-group__header{border-left-color:var(--color-accent);background:var(--color-accent-bg)}.chat-group--ungrouped .chat-group__header{border-left-color:var(--color-border-primary)}.participants{gap:var(--space-2);flex-direction:column;display:flex}.participants-title{font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.participants-title--waiting{color:var(--color-text-muted)}.waiting-position{font-size:var(--font-size-caption);color:var(--color-text-muted);font-weight:var(--font-weight-medium);flex-shrink:0;min-width:18px}.participants-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.participants-list li{min-height:32px}.participant-row{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-body-secondary);color:var(--color-text-primary);min-height:32px;display:flex}.swipe-row__fg .participant-row{padding-right:var(--space-1)}.participant-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.participant-name--expanded{white-space:normal;text-overflow:clip;word-break:break-word;overflow:visible}.participant-name--tappable{cursor:pointer;-webkit-tap-highlight-color:transparent}.participant-name--tappable:active{opacity:.6}.participant-actions{gap:var(--space-2);flex-shrink:0;display:flex}.payment-badge{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);white-space:nowrap;padding:2px var(--space-2);border-radius:var(--radius-badge);border:1px solid #0000;flex-shrink:0}.payment-badge--needs-payment{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.payment-badge--paid{color:var(--color-info);background:var(--color-info-bg);border-color:var(--color-info-border)}.payment-badge--confirmed{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.payment-badge--waiting{color:var(--color-text-secondary);border-color:var(--color-border-primary);background:0 0}.payment-badge--neutral{color:var(--color-text-muted);background:0 0;border-color:#0000}.payment-badge--registered{color:var(--color-text-secondary);background:var(--color-surface-hover);border-color:#0000}.payment-block{padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-field);border:var(--border-secondary);gap:var(--space-2);flex-direction:column;display:flex}.payment-status{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.payment-status--credited{color:var(--color-success);align-items:center;gap:6px;display:inline-flex}.payment-status--credited:before{content:"✓";font-weight:var(--font-weight-bold)}.payment-details-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:var(--line-height-normal);word-break:break-word}.waiting-row{font-size:var(--font-size-body-secondary);color:var(--color-text-secondary);padding:var(--space-1) 0;align-items:center;display:flex}.join-banner{background:var(--color-success-bg);color:var(--color-success);border-bottom:1px solid var(--color-success-border,var(--color-success));padding:var(--space-3) var(--space-4);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-align:center}.role-hint{margin:var(--space-1) var(--space-4) 0;font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.45}.bot-start-banner{align-items:center;gap:var(--space-3);width:calc(100% - 2 * var(--space-4));margin:var(--space-2) var(--space-4) 0;padding:var(--space-3) var(--space-4);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);border-radius:var(--radius-card);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;display:flex}.bot-start-banner:active{transform:scale(.99)}.bot-start-banner__icon{color:var(--color-accent);flex-shrink:0;display:flex}.bot-start-banner__icon svg{width:22px;height:22px}.bot-start-banner__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bot-start-banner__title{font-size:var(--font-size-body-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.bot-start-banner__sub{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.35}.bot-start-banner__cta{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);flex-shrink:0}.no-group-screen{text-align:center;padding:var(--space-10) var(--space-4) var(--space-8);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:50vh;display:flex}.no-group-icon{-webkit-user-select:none;user-select:none;font-size:56px;line-height:1}.no-group-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.no-group-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-loose);max-width:280px}.no-group-hint{font-size:var(--font-size-body-secondary);color:var(--color-text-muted);background:var(--color-surface);border:var(--border-secondary);border-radius:var(--radius-field);padding:var(--space-3) var(--space-4);line-height:var(--line-height-normal)}.not-found-actions{gap:var(--space-2);width:100%;max-width:280px;margin-top:var(--space-2);flex-direction:column;display:flex}.chat-picker{gap:var(--space-2);flex-direction:column;display:flex}.chat-picker__item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--color-surface);border:var(--border-secondary);border-radius:var(--radius-card);cursor:pointer;text-align:left;transition:background .15s;display:flex}.chat-picker__item:active{background:var(--color-bg-secondary)}.chat-picker__icon{background:var(--color-accent-bg);width:36px;height:36px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.chat-picker__title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chat-picker__role{font-size:var(--font-size-caption);color:var(--color-text-muted);flex-shrink:0}.page-header-actions{align-items:center;gap:var(--space-2);display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.refresh-failed-banner{background:var(--color-warning-bg);color:var(--color-warning);border-bottom:1px solid var(--color-warning-border,var(--color-warning));padding:var(--space-3) var(--space-4);font-size:var(--font-size-body-secondary);text-align:center}.history-more{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-6);flex-direction:column;display:flex}.history-more__hint{font-size:var(--font-size-caption);color:var(--color-text-muted);text-align:center;margin:0}.history-clear{align-items:center;gap:var(--space-1);padding:0 var(--space-4) var(--space-6);flex-direction:column;display:flex}.history-clear__hint,.history-clear__notice{font-size:var(--font-size-caption);color:var(--color-text-muted);text-align:center;margin:0}.history-clear__notice{color:var(--color-text-secondary)}
