*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer}:root{--brand: #ec9a2c;--brand-strong: #c8821e;--on-brand: #ffffff;--bg: #fcfaf6;--surface: #ffffff;--surface-2: #f1f0ed;--ink: #1f1b18;--ink-2: #6f6b66;--ink-3: #a39c92;--line: #ece8e2;--detour-near-bg: #efede9;--detour-near-ink: #5e5852;--detour-far-bg: #fce6dd;--detour-far-ink: #d6402a;--pin-near: #56504a;--pin-far: #e5462b;--status-open: #1e9e4a;--status-closed: #6f6b66;--route-casing: #ffffff;--destructive: #d6402a;--font-system: -apple-system, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--r-card: 18px;--r-sheet: 24px;--r-button: 14px;--r-fab: 13px;--r-pill: 999px;--r-chip: 999px;--r-photo: 16px;--shadow-card: 0 4px 16px rgba(60, 40, 25, .08);--shadow-sheet: 0 -10px 32px rgba(60, 40, 25, .15);--shadow-float: 0 6px 20px rgba(60, 40, 25, .15);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--gutter: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=dark]{--brand: #f0a537;--brand-strong: #f0a537;--on-brand: #1f1b18;--bg: #141210;--surface: #211e1a;--surface-2: #2b2723;--ink: #f5f1ea;--ink-2: #a8a29a;--ink-3: #6f6a62;--line: #322e29;--detour-near-bg: #2b2723;--detour-near-ink: #bdb7ae;--detour-far-bg: #3a201a;--detour-far-ink: #ff7a5c;--pin-near: #9a938b;--pin-far: #ff5b3d;--status-open: #3fd27b;--status-closed: #a8a29a;--route-casing: #141210;--destructive: #ff7a5c;--shadow-card: 0 4px 16px rgba(0, 0, 0, .35);--shadow-sheet: 0 -10px 32px rgba(0, 0, 0, .4);--shadow-float: 0 6px 20px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:-webkit-fill-available}body{font-family:var(--font-system);background:var(--bg);color:var(--ink);min-height:100vh;min-height:-webkit-fill-available;margin:0;padding:0;overflow:hidden;position:fixed;width:100%;height:100%}body.photo-bg{background-color:#eee8d3}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.phone-container{width:100%;height:100vh;height:-webkit-fill-available;background:var(--surface);overflow:hidden;position:relative;display:flex;flex-direction:column}.screen{display:flex;flex-direction:column;flex:1;min-height:0;max-height:100%;background:var(--surface);overflow:hidden}.nav-bar{background:var(--surface);padding-top:max(8px,var(--safe-top));padding-bottom:8px;position:relative;flex-shrink:0}.nav-title{font-size:34px;font-weight:700;color:var(--ink);letter-spacing:.4px;margin-top:44px;padding:0 20px}.back-btn{position:absolute;left:0;top:max(8px,var(--safe-top));background:none;border:none;color:var(--brand);font-size:17px;cursor:pointer;padding:12px 20px;font-weight:400;z-index:100}.back-btn:active{opacity:.3}.theme-toggle{display:none!important}.theme-toggle{position:absolute;right:20px;top:max(12px,calc(var(--safe-top) + 4px));background:var(--surface-2);border:none;width:51px;height:31px;border-radius:16px;cursor:pointer;padding:0;z-index:100;display:flex;align-items:center;transition:background .3s ease}.theme-toggle-circle{width:27px;height:27px;background:#fff;border-radius:50%;position:absolute;right:2px;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.theme-toggle-icon{font-size:16px;transition:opacity .3s ease}.theme-toggle[data-theme=dark]{background:#7676805c}.theme-toggle[data-theme=dark] .theme-toggle-circle{transform:translate(-20px)}.content{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;padding-top:20px;padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right));padding-bottom:max(20px,calc(var(--safe-bottom) + 20px));background:var(--surface)}.content::-webkit-scrollbar{display:none}.intro-text{text-align:center;margin-bottom:32px;padding:0 48px}.intro-text p{font-size:15px;color:var(--ink-2);line-height:1.4}.section-header{font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:-.08px;margin:20px 0 8px}.card{background:var(--surface);border-radius:10px;overflow:hidden;margin-bottom:16px}.input-row{padding:11px 16px;background:var(--surface);border-bottom:.33px solid var(--line)}.input-row:last-child{border-bottom:none}.input-row label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:2px}.input-row input{width:100%;padding:4px 0;border:none;background:transparent;color:var(--ink);font-size:17px;outline:none}.input-row input::placeholder{color:var(--ink-3)}.autocomplete{position:relative;background:var(--surface);border:none;border-radius:var(--r-button);padding:11px 16px 11px 34px;margin-bottom:var(--sp-3)}.field-dot{position:absolute;left:14px;top:50%;transform:translateY(-50%)}.autocomplete:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent);z-index:5}.autocomplete--action .text-input{padding-right:44px}.field-action{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:var(--surface-2);color:var(--brand-strong);font-size:19px;line-height:1;display:grid;place-items:center;cursor:pointer}.field-action:active{opacity:.7}.field-action:disabled{cursor:default}.field-action--clear{background:transparent;color:var(--ink-3)}.field-action-spin{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--brand-strong) 35%,transparent);border-top-color:var(--brand-strong);border-radius:50%;animation:field-action-rotate .7s linear infinite}@keyframes field-action-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.field-action-spin{animation:none}}.input-label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:2px}.text-input{width:100%;padding:4px 0;border:none;background:transparent;color:var(--ink);font-size:17px;outline:none}.text-input::placeholder{color:var(--ink-3)}.text-input:-webkit-autofill,.text-input:-webkit-autofill:hover,.text-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--ink)}.autocomplete-hint{font-size:13px;color:var(--ink-3);margin-top:4px}.autocomplete-error{display:inline-block;font-size:13px;color:var(--destructive);background:var(--surface);border-radius:var(--r-pill);padding:6px 14px;box-shadow:var(--shadow-card);margin:0 0 10px}.autocomplete .autocomplete-error,.time-card .autocomplete-error{display:block;background:none;border-radius:0;padding:0;box-shadow:none;margin:6px 0 10px}.autocomplete-list{list-style:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border-radius:10px;box-shadow:0 4px 20px #00000026;overflow:hidden;z-index:50;max-height:50vh;overflow-y:auto}.autocomplete-item{width:100%;text-align:left;background:transparent;border:none;padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:.33px solid var(--line)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item:focus{background:var(--surface-2);outline:none}.autocomplete-main{font-size:17px;color:var(--ink)}.autocomplete-secondary{font-size:13px;color:var(--ink-2)}.lock-screen{align-items:center;justify-content:center;padding:24px}.lock-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-float);padding:var(--sp-6) var(--sp-5);width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;text-align:center}.lock-title{font-size:28px;font-weight:700;color:var(--ink)}.lock-text{font-size:15px;color:var(--ink-2);line-height:1.4}.lock-input{border:1px solid var(--line);border-radius:var(--r-button);padding:12px 14px;font-size:17px;background:var(--surface);color:var(--ink);text-align:center;outline:none}.lock-input:focus{border-color:var(--brand)}.time-question{font-size:20px;font-weight:700;color:var(--ink);text-align:center;margin-bottom:6px}.route-total{font-size:13px;color:var(--ink-2);text-align:center;margin-top:16px}.time-window{background:var(--surface);border-radius:10px;padding:20px 16px 24px;margin-bottom:24px}.time-window-hint{font-size:13px;color:var(--ink-3);margin:0 0 18px;text-align:center}.time-target-value{font-size:26px;font-weight:700;color:var(--ink);text-align:center;margin-bottom:14px}.time-slider{position:relative;height:32px}.time-slider-track{position:absolute;top:50%;left:0;right:0;height:4px;background:var(--surface-2);border-radius:2px;transform:translateY(-50%)}.time-slider-track:after{content:"";position:absolute;top:0;bottom:0;left:0;right:calc(100% - var(--fill, 0%));background:var(--brand);border-radius:2px}.time-slider input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;background:transparent;margin:0}.time-slider input[type=range]:disabled{opacity:.5}.time-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--brand);box-shadow:0 3px 8px #0000002e;cursor:pointer}.time-slider input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--brand);box-shadow:0 3px 8px #0000002e;cursor:pointer}.time-slider input[type=range]::-webkit-slider-runnable-track{background:transparent}.btn-primary{width:100%;min-height:44px;padding:14px;background:var(--brand);color:var(--on-brand);border:none;border-radius:var(--r-button);font:600 17px/1.2 var(--font-system);letter-spacing:-.01em;cursor:pointer}.btn-primary:active{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.detour-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);font:600 11.5px/1.2 var(--font-system);white-space:nowrap}.detour-pill--near{background:var(--detour-near-bg);color:var(--detour-near-ink)}.detour-pill--far{background:var(--detour-far-bg);color:var(--detour-far-ink)}.detour-pin{position:relative;padding:4px 8px;border-radius:var(--r-pill);font:600 11.5px/1 var(--font-system);color:var(--on-brand);box-shadow:var(--shadow-float);transform:translateY(-4px);transition:transform .15s ease}.detour-pin--near{background:var(--pin-near)}.detour-pin--far{background:var(--pin-far)}.detour-pin:after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:inherit;transform:translate(-50%) rotate(45deg);border-radius:1px}.detour-pin--selected{transform:translateY(-6px) scale(1.18);outline:2px solid var(--brand);outline-offset:2px;z-index:2}@media (prefers-reduced-motion: reduce){.detour-pin{transition:none}}.route-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 14px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);border-radius:var(--r-fab);box-shadow:var(--shadow-float)}.route-chip-points{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0}.route-chip-origin,.route-chip-dest{font:600 13px/1.2 var(--font-system);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-chip-dest{color:var(--ink-3)}.route-marker{display:block;flex-shrink:0}.route-marker--origin{color:var(--brand)}.route-marker--dest{color:var(--ink)}.route-chip-time{font:600 12px/1.2 var(--font-system);color:var(--ink-2);white-space:nowrap}.filter-chips{display:flex;gap:var(--sp-2);overflow-x:auto;padding:var(--sp-2) var(--gutter);scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:32px;padding:6px 14px;border:none;border-radius:var(--r-chip);background:var(--surface-2);color:var(--ink-2);font:600 11.5px/1.2 var(--font-system);cursor:pointer}.filter-chip--active{background:var(--brand);color:var(--on-brand)}.bottom-sheet{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow-sheet);transition:height .28s cubic-bezier(.32,.72,0,1);z-index:10;overflow:hidden}.bottom-sheet--dragging{transition:none}.sheet-grip{flex:0 0 auto;display:grid;place-items:center;height:44px;width:100%;border:none;background:transparent;cursor:grab;touch-action:none}.sheet-grip-bar{width:38px;height:5px;border-radius:var(--r-pill);background:var(--line)}.sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(var(--sp-5),calc(var(--safe-bottom) + var(--sp-5)))}@media (prefers-reduced-motion: reduce){.bottom-sheet{transition:none}}.map-view{position:relative;width:100%;height:100%}.map-view .gm-style{font-family:var(--font-system)}.map-fab{position:absolute;right:var(--gutter);bottom:calc(var(--sheet-height, 30%) + var(--sp-3));transition:bottom var(--sheet-anim, .28s) cubic-bezier(.32,.72,0,1);width:44px;height:44px;border:none;border-radius:50%;background:var(--surface);color:var(--brand-strong);box-shadow:var(--shadow-float);display:grid;place-items:center;cursor:pointer;z-index:5}.rcard{display:flex;gap:var(--sp-3);width:100%;text-align:left;padding:0;margin:0 0 var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;cursor:pointer}.rcard--selected{border-color:var(--brand);box-shadow:var(--shadow-card)}.rcard-photo{position:relative;flex:0 0 96px;width:96px;align-self:stretch;min-height:96px;background:var(--surface-2);display:grid;place-items:center}.rcard-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rcard-photo-fallback{font-size:28px;opacity:.5}.rcard-rating{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:var(--r-pill);background:#1f1b18b8;color:#fff;font:600 11.5px/1.2 var(--font-system)}.rcard-body{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;min-width:0;align-items:flex-start}.rcard-name{font:600 14.5px/1.2 var(--font-system);letter-spacing:-.01em;color:var(--ink)}.rcard-meta{font:500 12px/1.4 var(--font-system);color:var(--ink-2)}.detail-hero{position:relative;height:280px;background:var(--surface-2) center/cover no-repeat;flex-shrink:0}.hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,#0009,#0000 55%)}.hero-back{position:absolute;top:max(var(--sp-3),var(--safe-top));left:var(--sp-3);width:44px;height:44px;border:none;border-radius:50%;background:#0006;color:#fff;font-size:24px;cursor:pointer;z-index:2}.hero-rating{position:absolute;top:max(var(--sp-3),var(--safe-top));right:var(--sp-3);display:inline-flex;align-items:center;gap:4px;padding:6px 11px;border-radius:var(--r-pill);background:#00000075;color:#fff;font:600 14px/1 var(--font-system);z-index:2}.hero-rating-star{color:#ffc83d}.hero-text{position:absolute;left:var(--gutter);right:var(--gutter);bottom:var(--sp-4);z-index:2}.hero-title{margin:0;font:700 24px/1.2 var(--font-system);letter-spacing:-.01em;color:#fff}.hero-sub{font:500 13px/1.4 var(--font-system);color:#ffffffd9}.action-sheet-backdrop{position:absolute;inset:0;background:#00000059;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--sp-2);padding-bottom:max(var(--sp-2),var(--safe-bottom));z-index:50}.action-sheet-group,.action-sheet-cancel{border-radius:var(--r-card);background:var(--surface);overflow:hidden}.action-sheet-row{display:block;text-align:center;min-height:44px;line-height:44px;color:var(--brand-strong);font:500 17px/44px var(--font-system);border-bottom:1px solid var(--line);text-decoration:none}.action-sheet-row:last-child{border-bottom:none}.action-sheet-cancel{width:100%;margin-top:var(--sp-2);min-height:44px;border:none;color:var(--ink);font:600 17px/1.2 var(--font-system);cursor:pointer}.screen--results{position:relative;overflow:hidden}.screen--results>.nav-bar{position:relative;z-index:2}.results-map{position:absolute;inset:0;z-index:0}.nav-bar--compact .nav-title{margin-top:0;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:36px;padding:0 76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-bar--compact .back-btn{top:max(8px,var(--safe-top));padding:0 16px;line-height:36px}.nav-bar--compact .theme-toggle{top:max(4px,var(--safe-top))}.results-routechip{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(var(--safe-top) + 60px);z-index:5}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter) var(--sp-2)}.sheet-title{font:600 16.5px/1.2 var(--font-system);letter-spacing:-.02em;color:var(--ink)}.sort-control{position:relative}.sort-btn{border:none;background:transparent;color:var(--ink-2);font:500 12px/1.2 var(--font-system);cursor:pointer}.sort-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-button);box-shadow:var(--shadow-float);z-index:20;overflow:hidden}.sort-menu-item{display:block;width:100%;text-align:left;min-width:120px;padding:10px 14px;border:none;background:transparent;color:var(--ink);font:500 14px/1.2 var(--font-system);cursor:pointer}.sort-menu-item:hover{background:var(--surface-2)}.sheet-list{padding:0 var(--gutter)}.sheet-empty{padding:40px var(--gutter);text-align:center;color:var(--ink-2);font:400 14px/1.5 var(--font-system)}.sheet-error p{margin:0 0 var(--sp-3)}.retry-btn{padding:8px 18px;border:none;border-radius:var(--r-button);background:var(--brand);color:var(--on-brand);font:600 14px/1.2 var(--font-system);cursor:pointer}.screen--detail{position:relative}.detail-body{flex:1;overflow-y:auto;padding:var(--sp-4) var(--gutter) 96px}.detail-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5)}.meta-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font:600 11.5px/1.2 var(--font-system)}.detail-section{margin-bottom:var(--sp-6)}.detail-label{display:block;margin-bottom:var(--sp-2);font:600 11px/1.2 var(--font-system);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.status-open{color:var(--status-open);font:600 14px/1.4 var(--font-system)}.status-closed{color:var(--status-closed);font:600 14px/1.4 var(--font-system)}.opening-hours{list-style:none;margin:var(--sp-2) 0 0;padding:0}.opening-hours li{font:400 14px/1.6 var(--font-system);color:var(--ink-2)}.eat-status{display:flex;flex-direction:column;gap:3px;margin-bottom:var(--sp-6)}.eat-status-main{font:600 15px/1.4 var(--font-system);color:var(--ink)}.eat-status-closed{color:var(--ink-2)}.eat-status-sub{font:500 13.5px/1.4 var(--font-system);color:var(--ink-2)}.eat-status-warn{font:700 14px/1.4 var(--font-system);color:var(--destructive)}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-3);margin-bottom:var(--sp-3)}.review-head{display:flex;justify-content:space-between;margin-bottom:4px}.review-author{font:600 14px/1.2 var(--font-system);color:var(--ink)}.review-rating{font:600 12px/1.2 var(--font-system);color:var(--brand-strong)}.review-text{font:400 14px/1.5 var(--font-system);color:var(--ink-2)}.detail-cta{position:absolute;left:0;right:0;bottom:0;padding:var(--sp-3) var(--gutter) max(var(--sp-3),calc(var(--safe-bottom) + var(--sp-3)));background:linear-gradient(to top,var(--bg) 70%,transparent)}.screen--photo,.screen--photo .nav-bar,.screen--photo .content{background:transparent}.screen--photo:before{content:"";position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background-image:url(/bilmat-bg-01.jpg);background-size:auto 125%;background-position:center 72%;background-repeat:no-repeat;z-index:0;pointer-events:none}.screen--photo>*{position:relative;z-index:1}.screen--photo .nav-title{text-shadow:0 1px 16px rgba(252,250,246,.9),0 1px 3px rgba(252,250,246,.85)}.screen--start .content{display:flex;flex-direction:column;padding-bottom:max(18vh,calc(var(--safe-bottom) + var(--sp-5)));overflow:visible}.screen--start .intro-text{margin-bottom:auto}.screen--start .intro-text p{color:var(--ink);font-weight:500;text-shadow:0 0 10px rgba(252,250,246,.95),0 1px 2px rgba(252,250,246,.9)}.screen--start .autocomplete{box-shadow:var(--shadow-float)}.screen--time .content{display:flex;flex-direction:column;justify-content:center;overflow:visible}.time-card{display:flex;flex-direction:column;gap:var(--sp-5);background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-float);padding:var(--sp-6) var(--sp-5)}.time-card .time-window{background:transparent;border-radius:0;padding:0;margin:0}.cta-slot{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;pointer-events:none;visibility:hidden;transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1),opacity .28s ease,margin-top .42s cubic-bezier(.22,.61,.36,1),visibility 0s linear .42s}.cta-slot.is-visible{grid-template-rows:1fr;opacity:1;margin-top:var(--sp-3);pointer-events:auto;visibility:visible;transition-delay:0s}.cta-slot-inner{overflow:hidden;min-height:0;transform:translateY(10px);transition:transform .42s cubic-bezier(.22,.61,.36,1)}.cta-slot.is-visible .cta-slot-inner{transform:translateY(0)}.cta-error{display:block;margin-bottom:var(--sp-2);text-align:center}@media (prefers-reduced-motion: reduce){.cta-slot,.cta-slot-inner{transition:opacity .2s ease}.cta-slot-inner{transform:none}}.install-modal-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:var(--sp-4);padding-bottom:max(var(--sp-4),calc(var(--safe-bottom) + var(--sp-3)));animation:install-fade .2s ease}.install-modal{position:relative;width:100%;max-width:360px;background:var(--surface);border-radius:var(--r-sheet);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-4) var(--sp-4);text-align:center;animation:install-rise .28s cubic-bezier(.22,.61,.36,1)}.install-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--ink-3);font-size:22px;line-height:1;padding:4px;cursor:pointer}.install-modal-icon{width:56px;height:56px;border-radius:13px;box-shadow:var(--shadow-card)}.install-modal-title{margin:var(--sp-3) 0 4px;font:700 19px/1.2 var(--font-system);color:var(--ink)}.install-modal-sub{margin:0 0 var(--sp-4);font:400 13.5px/1.4 var(--font-system);color:var(--ink-2)}.install-steps{list-style:none;margin:0 0 var(--sp-4);padding:0;text-align:left;display:flex;flex-direction:column;gap:var(--sp-3)}.install-steps li{display:flex;align-items:center;gap:var(--sp-3);font:400 14px/1.35 var(--font-system);color:var(--ink)}.install-steps strong{font-weight:600}.install-step-n{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:600 13px/24px var(--font-system);text-align:center}.install-share{vertical-align:-3px;color:var(--brand-strong)}.install-modal-btn{width:100%;padding:14px;border:none;border-radius:var(--r-button);background:var(--brand);color:var(--on-brand);font:600 16px/1 var(--font-system);cursor:pointer;margin-bottom:var(--sp-2)}.install-modal-later{background:none;border:none;color:var(--ink-2);font:500 14px/1 var(--font-system);padding:8px;cursor:pointer}.install-arrow{display:block;margin:var(--sp-2) auto 0;color:var(--brand);animation:install-bounce 1.1s ease-in-out infinite}@keyframes install-fade{0%{opacity:0}}@keyframes install-rise{0%{transform:translateY(16px);opacity:0}}@keyframes install-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media (prefers-reduced-motion: reduce){.install-modal-backdrop,.install-modal,.install-arrow{animation:none}}
