:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f3;--ink:#1c2430;--muted:#5e6b7c;--line:#e3e7ec;--primary:#3e68ae;--primary-ink:var(--surface);--danger:#b8443f;--danger-ink:var(--surface);--success:#4c7836;--info:var(--primary);--gold:#f5be3b;--primary-soft:color-mix(in srgb, var(--primary) 8%, var(--surface));--danger-soft:color-mix(in srgb, var(--danger) 8%, var(--surface));--success-soft:color-mix(in srgb, var(--success) 8%, var(--surface));--info-soft:color-mix(in srgb, var(--info) 8%, var(--surface));--radius:14px;--radius-s:10px;--shadow:0 2px 8px #1c243014, 0 1px 2px #1c24300f;--shadow-raised:0 10px 28px #1c24302e, 0 3px 8px #1c24301a;--text-xs:.75rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:2rem;--space-0:4px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--icon-size:20px;--font:system-ui, "Segoe UI", Roboto, sans-serif;--focus-ring:3px solid color-mix(in srgb, var(--primary) 35%, transparent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171c;--surface:#1d2129;--surface-2:#262b35;--ink:#ebeef2;--muted:#93a0b0;--line:#313845;--primary:#7ea0d6;--primary-ink:var(--bg);--danger:#e0817d;--danger-ink:var(--bg);--success:#85ae72;--shadow:0 2px 10px #0006, 0 1px 3px #0000004d;--shadow-raised:0 10px 30px #0000008c, 0 3px 10px #0006}}:root[data-theme=light]{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f3;--ink:#1c2430;--muted:#5e6b7c;--line:#e3e7ec;--primary:#3e68ae;--primary-ink:var(--surface);--danger:#b8443f;--danger-ink:var(--surface);--success:#4c7836;--shadow:0 2px 8px #1c243014, 0 1px 2px #1c24300f;--shadow-raised:0 10px 28px #1c24302e, 0 3px 8px #1c24301a}:root[data-theme=dark]{--bg:#14171c;--surface:#1d2129;--surface-2:#262b35;--ink:#ebeef2;--muted:#93a0b0;--line:#313845;--primary:#7ea0d6;--primary-ink:var(--bg);--danger:#e0817d;--danger-ink:var(--bg);--success:#85ae72;--shadow:0 2px 10px #0006, 0 1px 3px #0000004d;--shadow-raised:0 10px 30px #0000008c, 0 3px 10px #0006}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100svh;font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}#root{min-height:100svh}h1,h2,h3{color:var(--ink);margin:0;font-weight:700;line-height:1.25}h1{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:800}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}:where(a,button,input,select,textarea):focus-visible{outline:var(--focus-ring);outline-offset:2px}label{font-size:var(--text-sm);color:var(--muted);font-weight:600}input,select,textarea{font:inherit;width:100%;min-height:48px;padding:0 var(--space-2);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s)}textarea{padding:var(--space-2);resize:vertical;min-height:96px}button{font:inherit;min-height:44px;padding:0 var(--space-3);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);display:flex}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list>*{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) 0;border-bottom:1px solid var(--line);display:flex}.list>:last-child{border-bottom:none}.list-row{row-gap:var(--space-1);flex-wrap:wrap}.amount{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.list-label{flex-direction:column;flex:160px;gap:2px;font-weight:500;display:flex}.list-meta{font-size:var(--text-sm);color:var(--muted);font-weight:400}.list-actions{justify-content:flex-start;align-items:center;gap:var(--space-1);flex-wrap:wrap;flex-basis:100%;display:flex}.btn-group{gap:2px;display:inline-flex}.form-error{color:var(--danger)}.form-success{color:var(--success);font-weight:600}.hint{color:var(--muted)}.stale-notice{font-size:var(--text-sm);color:var(--muted)}.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.chip{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.chip-open{background:var(--primary-soft);color:var(--primary)}.chip-paid{background:var(--success-soft);color:var(--success)}.chip-info{background:var(--info-soft);color:var(--info)}.chip-active{background:var(--success-soft);color:var(--success)}.chip-inactive{background:var(--surface-2);color:var(--muted)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-neutral{background:var(--surface-2);color:var(--muted)}.disclosure{border-top:1px solid var(--line);padding-top:var(--space-3)}.disclosure-summary{align-items:center;gap:var(--space-1);cursor:pointer;color:var(--muted);font-weight:600;list-style:none;display:inline-flex}.disclosure-summary::-webkit-details-marker{display:none}.disclosure-summary:before{content:"";width:var(--icon-size);height:var(--icon-size);background-color:currentColor;flex-shrink:0;transition:transform .15s;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.disclosure[open] .disclosure-summary{color:var(--ink)}.disclosure[open] .disclosure-summary:before{transform:rotate(180deg)}.disclosure-content{margin-top:var(--space-3)}.auth-page{justify-content:center;align-items:center;gap:var(--space-3);min-height:100svh;padding:var(--space-4);flex-direction:column;display:flex}.auth-page>*{width:100%;max-width:360px}.auth-page nav{gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.card-skeleton{min-height:var(--skeleton-height,180px);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);animation:1.6s ease-in-out infinite card-skeleton-pulse;display:block}.card-skeleton-hero{--skeleton-height:180px}.card-skeleton-card{--skeleton-height:210px}.card-skeleton-form{--skeleton-height:280px}.card-skeleton-row{--skeleton-height:64px}@keyframes card-skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sw-update-toast{left:var(--space-3);right:var(--space-3);bottom:calc(56px + var(--space-2) + env(safe-area-inset-bottom));z-index:20;align-items:center;gap:var(--space-2);max-width:420px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-raised);margin:0 auto;display:flex;position:fixed}.sw-update-toast button{font:inherit;min-height:40px;padding:0 var(--space-2);color:var(--primary-ink);background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-s);cursor:pointer}.sw-update-toast .dismiss{min-height:auto;color:var(--ink);background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-3);font:inherit;border-radius:var(--radius-s);cursor:pointer;border:1px solid #0000;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{cursor:default;opacity:.45;box-shadow:none;transform:none}.btn[aria-busy=true]{opacity:.75}.btn-block{width:100%}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);box-shadow:var(--shadow)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-danger{background:var(--danger);color:var(--danger-ink);border-color:var(--danger);box-shadow:var(--shadow)}.btn-ghost{color:var(--primary);background:0 0;border-color:#0000}.btn-spinner{background:currentColor;border-radius:50%;width:.7em;height:.7em;animation:.8s ease-in-out infinite btn-pulse}@keyframes btn-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation:none}}.auth-field{flex-direction:column;gap:4px;margin:0;display:flex}.auth-field input[aria-invalid=true]{border-color:var(--danger)}.auth-field-error{color:var(--danger);font-size:.85rem}.auth-form-error{color:var(--danger)}.auth-form-success{color:var(--success);font-weight:600}.card{gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex}.card-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.card-title{font-size:var(--text-lg);font-weight:700}.card-header-action{align-items:center;gap:var(--space-1);color:var(--muted);flex-shrink:0;display:inline-flex}.balance-warning-dialog{background:var(--danger-soft);border-color:var(--danger);scroll-margin-top:calc(56px + env(safe-area-inset-top) + var(--space-2));scroll-margin-bottom:calc(72px + env(safe-area-inset-bottom))}.period-filter-bar{gap:var(--space-1);margin-bottom:var(--space-2);padding-bottom:2px;display:flex;overflow-x:auto}.period-filter-bar .btn{flex-shrink:0}.booking-day-heading{margin-bottom:var(--space-1)}.booking-row-chip{margin-left:var(--space-1)}.booking-cancellable-row{flex-wrap:wrap;justify-content:space-between}.icon-button{width:40px;height:40px;min-height:40px;color:var(--muted);border-radius:var(--radius-s);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.icon-button:hover{color:var(--ink);background:var(--surface-2)}.icon-button:active{transform:scale(.98)}.icon-button:disabled{opacity:.45;cursor:default;transform:none}.drink-list-empty,.drink-price{color:var(--muted)}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);align-items:stretch;height:36px;display:inline-flex;overflow:hidden}.stepper-btn{width:40px;min-height:0;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.stepper-btn:hover:not(:disabled){background:var(--surface-2)}.stepper-btn:disabled{color:var(--muted);opacity:.5;cursor:default}.stepper-value{min-width:40px;padding:0 var(--space-1);font-variant-numeric:tabular-nums;border-inline:1px solid var(--line);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.booking-toast{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--success-soft);color:var(--ink);border-radius:var(--radius-s);display:flex}.booking-error{color:var(--danger)}.queue-notice{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--ink);background:var(--info-soft);border:1px solid var(--line);border-radius:var(--radius-s);margin:0}.confirm-inline-row{color:var(--muted);flex-basis:100%}.confirm-inline-row p{margin:0 0 var(--space-1)}.drink-price-edit{align-items:flex-end;gap:var(--space-2);flex:220px;display:flex}.drink-price-edit .auth-field{flex:1}.balance-card{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 22%, var(--primary-soft))}.balance-hero{gap:var(--space-0);flex-direction:column;display:flex}.balance-hero-figure{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.balance-total{font-size:var(--text-2xl);letter-spacing:-.01em;margin-left:0;font-weight:800;line-height:1.1}.balance-total-negative{color:var(--danger)}.balance-total-positive{color:var(--success)}.balance-breakdown{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.balance-breakdown-row{align-items:baseline;gap:var(--space-2);min-height:32px;padding:var(--space-0) 0;border-top:1px solid color-mix(in srgb, var(--primary) 16%, transparent);display:flex}.balance-breakdown-label{color:var(--muted);font-size:var(--text-sm);font-weight:600}.membership-confirmation{padding-top:var(--space-2);border-top:1px solid var(--line)}.membership-prepay-total{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-weight:600;display:flex}.membership-prepay-total .amount{font-size:var(--text-lg)}.fee-year-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.fee-year-title{font-variant-numeric:tabular-nums}.fee-month-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}.fee-month-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:48px;padding:0 var(--space-2);text-align:left;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);display:flex}.fee-month-toggle-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.top-up-request-list{margin-top:var(--space-2)}.top-up-request-row{row-gap:var(--space-1);flex-wrap:wrap}.top-up-request-row .list-label{flex-direction:column;gap:2px;display:flex}.top-up-request-meta{color:var(--muted);font-size:.85rem}.top-up-request-note{color:var(--muted);flex-basis:100%;font-size:.85rem}.page-header{flex-direction:column;gap:4px;display:flex}.page-header-back{min-height:44px;color:var(--muted);font-size:var(--text-sm);align-self:flex-start;align-items:center;gap:4px;font-weight:600;display:inline-flex}.page-header-back:hover{color:var(--ink);text-decoration:none}.page-header-desc{color:var(--muted)}.member-detail-row{row-gap:var(--space-1);flex-wrap:wrap}.member-detail-row-cancelled{opacity:.6}.member-detail-row-note{color:var(--muted);font-weight:400}.member-pending-list{margin:0;padding:0;list-style:none}.member-pending-card{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 35%, transparent)}.member-pending-info{flex-direction:column;gap:2px;display:flex}.member-pending-name{font-weight:700}.member-pending-email{color:var(--muted);font-size:.9rem}.member-row{row-gap:var(--space-1);flex-wrap:wrap;position:relative}.member-row-link{position:absolute;inset:0}.member-row-chevron{color:var(--muted);flex-shrink:0}.member-row-actions,.member-row .confirm-inline-row{position:relative}.member-blocked-note{color:var(--muted);flex-basis:100%}.penalty-row-cancelled{opacity:.6}.poll-options{border:1px solid var(--line);border-radius:var(--radius-s);padding:var(--space-2);margin:0}.poll-options legend{padding:0 4px}.poll-row{row-gap:var(--space-1);flex-wrap:wrap}.poll-row .list-label{flex-direction:column;gap:2px;display:flex}.poll-status{color:var(--muted);font-size:.85rem;font-weight:400}.poll-results-empty{color:var(--muted)}.poll-result-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.poll-result-label{justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:600;display:flex}.poll-result-votes{font-variant-numeric:tabular-nums}.poll-result-winning{color:var(--primary)}.poll-result-track{background:var(--primary-soft);border-radius:999px;height:8px;margin-top:4px;overflow:hidden}.poll-result-fill{background:var(--primary);border-radius:inherit;height:100%}.poll-voters{margin-top:var(--space-2)}.poll-voters-summary{color:var(--muted);cursor:pointer;font-size:.85rem}.poll-voter-list{gap:var(--space-1);padding:var(--space-2) 0 0;flex-direction:column;margin:0;list-style:none;display:flex}.poll-voter{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:.9rem;display:flex}.poll-voter-own{color:var(--primary);font-size:.75rem;font-weight:600}.poll-empty{color:var(--muted)}.poll-voted-note{color:var(--muted);font-size:.9rem}.poll-ended-summary{color:var(--muted);cursor:pointer;font-weight:600}.poll-ended-list{margin-top:var(--space-3)}.poll-ended-note{color:var(--muted);font-size:.85rem}.poll-options{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.poll-legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0;font-size:.8rem;font-weight:600}.poll-option{min-height:48px;padding:0 var(--space-3);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer;align-items:center;font-weight:600;display:flex;position:relative}.poll-option:has(.poll-option-input:checked){color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}.poll-option:has(.poll-option-input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.poll-option-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.post-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-list-empty{color:var(--muted)}.post-date{color:var(--muted);font-size:var(--text-sm)}.reminder-banner{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.reminder-banner-text{color:var(--ink)}.reminder-banner-text .amount{color:var(--danger);margin-left:0}.reminder-banner-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.reminder-banner-pay,.reminder-banner-pay:hover{text-decoration:none}.admin-statement-row{row-gap:var(--space-1);flex-wrap:wrap}.admin-statement-offset{color:var(--muted);font-size:var(--text-sm);flex-basis:100%}.admin-statement-revert,.admin-statement-confirm{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.admin-statement-confirm .auth-field{width:100%;max-width:220px}.admin-statement-revert label{font-size:var(--text-sm);color:var(--muted)}.payment-queue-row{row-gap:var(--space-1);flex-wrap:wrap}.top-up-confirmation{padding-top:var(--space-2);border-top:1px solid var(--line)}.settle-result-list{gap:var(--space-2)}.settle-result-row{align-items:stretch;gap:var(--space-1);flex-direction:column}.statement-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.statement-empty{color:var(--muted)}.statement-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.statement-month{font-weight:700}.statement-row{justify-content:space-between}.statement-till{color:var(--muted)}.statement-amount{font-size:1.5rem}.statement-note{font-size:var(--text-sm);color:var(--muted)}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:56px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:600;display:flex;position:relative}.bottom-nav a:hover{text-decoration:none}.bottom-nav a>*{z-index:1;position:relative}.bottom-nav a[aria-current=page]{color:var(--primary)}.bottom-nav a[aria-current=page]:before{content:"";background:var(--primary-soft);border-radius:999px;position:absolute;inset:6px 12px}.nav-tab-icon{display:inline-flex;position:relative}.nav-tab-dot{background:var(--danger);border:1px solid var(--surface);border-radius:999px;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.app-shell{min-height:100svh}.app-topbar{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:56px;padding:env(safe-area-inset-top) var(--space-3) 0;background:var(--surface);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.app-topbar{background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.app-brand{align-items:center;gap:var(--space-1);display:inline-flex}.app-topbar-actions{align-items:center;gap:var(--space-0);display:inline-flex}.app-logo{border-radius:6px;display:block}.app-title{color:var(--ink);font-size:1.05rem;font-weight:700}.app-content{max-width:560px;padding:var(--space-3) var(--space-3) calc(72px + env(safe-area-inset-bottom));margin:0 auto}.offline-banner{top:calc(56px + env(safe-area-inset-top));z-index:9;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--muted);text-align:center;background:var(--surface-2);border-bottom:1px solid var(--line);margin:0;position:sticky}.auth-brand{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.auth-brand img{border-radius:var(--radius-s)}.auth-brand-title{color:var(--ink);font-size:1.5rem;font-weight:700}.nav-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.nav-card{align-items:center;gap:var(--space-2);min-height:64px;padding:var(--space-2) var(--space-3);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:600;transition:border-color .15s,transform .15s;display:flex;position:relative}.nav-card-icon{color:var(--primary);flex-shrink:0}.nav-card-label{flex:1}.nav-card:hover{border-color:var(--primary);text-decoration:none}.nav-card:active{transform:scale(.99)}.nav-badge{background:var(--danger);min-width:22px;height:22px;color:var(--danger-ink);font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex;position:absolute;top:6px;right:6px}.install-hint{inset-inline:var(--space-3);top:calc(56px + env(safe-area-inset-top) + var(--space-2));z-index:20;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;position:fixed}.install-hint p{text-align:left;flex:1;margin:0}.install-hint button{min-height:44px;padding:0 var(--space-1);color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}
