:root{font-family:var(--dx-font-family,"Geist", system-ui, "Roboto", sans-serif);font-size:calc(16px * var(--dx-font-scale,1));color:var(--dx-color-text-primary);background:var(--dx-color-bg-canvas);--dx-font-mono:"Geist Mono", ui-monospace, "Roboto Mono", monospace;--dx-color-bg-canvas:#f5f7fa;--dx-color-bg-surface:#fff;--dx-color-bg-subtle:#eef0f4;--dx-color-bg-soft:#e6e9ee;--dx-color-bg-soft-pressed:#e6e9ee;--dx-color-accent:#2a6bff;--dx-color-accent-pressed:#1a4cc4;--dx-color-bg-accent-subtle:#e5ecfa;--dx-color-button-bg:#2a6bff;--dx-color-button-text:#fff;--dx-color-button-disabled:#e6e8eb;--dx-color-text-primary:#08090d;--dx-color-text-secondary:#5e626c;--dx-color-text-muted:#92959f;--dx-color-border-default:#0000001a;--dx-color-success:#16a36b;--dx-color-bg-success-subtle:#e5f4ed;--dx-color-critical:#e5484d;--dx-color-bg-critical-subtle:#fdebec;--dx-color-info:#087ac1;--dx-gradient-orb:linear-gradient(135deg, #7fc0ff, #2a6bff);--dx-color-on-orb:#fff;--dx-gradient-balance:linear-gradient(135deg, #1b2230, #2d3548 50%, #151a24);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dx-safe-area-top:0px;--dx-safe-area-right:0px;--dx-safe-area-bottom:0px;--dx-safe-area-left:0px}:root[data-theme=dark]{--dx-color-bg-canvas:#08090d;--dx-color-bg-surface:#111318;--dx-color-bg-subtle:#171b22;--dx-color-bg-soft:#171b22;--dx-color-bg-soft-pressed:#252b35;--dx-color-accent:#8ac4ff;--dx-color-accent-pressed:#6fb0f0;--dx-color-bg-accent-subtle:#1a232f;--dx-color-button-bg:#fff;--dx-color-button-text:#08090d;--dx-color-button-disabled:#17181c;--dx-color-text-primary:#fff;--dx-color-text-secondary:#92959f;--dx-color-text-muted:#5e626c;--dx-color-border-default:#ffffff14;--dx-color-success:#3ddc97;--dx-color-bg-success-subtle:#0f2720;--dx-color-critical:#ff6369;--dx-color-bg-critical-subtle:#2b161a;--dx-color-info:#8ac4ff;--dx-gradient-orb:linear-gradient(135deg, #8ac4ff, #40d8f4);--dx-color-on-orb:#08090d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:3px solid var(--dx-color-accent);outline-offset:3px}h1{letter-spacing:-.025em;margin:0;font-size:1.34rem;line-height:1.2}h2{letter-spacing:-.02em;margin:0;font-size:1.18rem;line-height:1.35}.app-shell{background:var(--dx-color-bg-canvas);min-height:100dvh;color:var(--dx-color-text-primary)}.page{width:min(100%,660px);padding:max(20px, var(--dx-safe-area-top)) max(16px, var(--dx-safe-area-right)) calc(88px + var(--dx-safe-area-bottom)) max(16px, var(--dx-safe-area-left));margin:0 auto}.page-header{align-items:center;gap:12px;margin:2px 0 24px;display:flex}.page-header h1{flex:1;min-width:0}.icon-button{appearance:none;color:var(--dx-color-text-primary);background:0 0;border:0;border-radius:12px;place-items:center;width:48px;height:48px;display:inline-grid}.icon-button svg{width:23px;height:23px}.icon-button:hover{background:var(--dx-color-bg-subtle)}.primary-button{background:var(--dx-color-button-bg);color:var(--dx-color-button-text);border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;font-weight:700;display:inline-flex}.primary-button:active:not(:disabled){opacity:.85}.secondary-button{background:var(--dx-color-bg-soft);min-height:48px;color:var(--dx-color-text-primary);border:0;border-radius:14px;padding:0 18px;font-weight:650}.secondary-button:active{background:var(--dx-color-bg-soft-pressed)}.empty-state{text-align:center;border:1px solid var(--dx-color-border-default);background:var(--dx-color-bg-surface);border-radius:18px;padding:36px 20px}.empty-symbol{background:var(--dx-gradient-orb);width:60px;height:60px;color:var(--dx-color-on-orb);border-radius:50%;place-items:center;margin:0 auto 17px;display:grid}.empty-symbol svg{width:27px;height:27px}.empty-state h2{margin:0 0 6px;font-size:1rem}.empty-state p{color:var(--dx-color-text-secondary);margin:0;font-size:.82rem;line-height:1.5}.empty-state .secondary-button{margin-top:18px}.standalone-note{text-align:center;color:var(--dx-color-text-secondary);margin:28px 0 0;font-size:.72rem}.startup-state{text-align:center;min-height:100dvh;color:var(--dx-color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:24px;display:flex}.startup-state p{margin:0}.startup-state h1{color:var(--dx-color-text-primary)}.startup-state .primary-button,.startup-state .secondary-button{width:min(100%,320px)}.spinner{border:3px solid var(--dx-color-border-default);border-top-color:var(--dx-color-accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-icon{background:var(--dx-color-bg-critical-subtle);width:54px;height:54px;color:var(--dx-color-critical);border-radius:16px;place-items:center;font-size:1.7rem;font-weight:800;display:grid}.tab-bar{z-index:5;padding:6px max(16px, var(--dx-safe-area-left)) max(8px, var(--dx-safe-area-bottom));background:var(--dx-color-bg-surface);border-top:1px solid var(--dx-color-border-default);grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar button{appearance:none;min-height:52px;color:var(--dx-color-text-muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:650;display:flex}.tab-bar button svg{width:24px;height:24px}.tab-bar button.active{color:var(--dx-color-accent)}.purchase-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:flex}.purchase-panel h2{margin:4px 0 0}.purchase-panel p{color:var(--dx-color-text-secondary);margin:0;font-size:.86rem;line-height:1.5}.purchase-panel .primary-button,.purchase-panel .secondary-button{width:100%;margin-top:8px}.purchase-panel .hint{font-size:.78rem}.purchase-panel .empty-symbol{margin:0;font-size:1.6rem;font-weight:800}.inline-error{background:var(--dx-color-bg-critical-subtle);width:100%;color:var(--dx-color-critical);border-radius:12px;margin:0;padding:12px 14px;font-size:.83rem}.search-field{background:var(--dx-color-bg-subtle);height:48px;color:var(--dx-color-text-muted);border-radius:14px;align-items:center;gap:10px;margin-bottom:14px;padding:0 14px;display:flex}.search-field svg{flex:none;width:20px;height:20px}.search-field input{min-width:0;color:var(--dx-color-text-primary);background:0 0;border:0;outline:none;flex:1;font-size:1rem}.tabs{background:var(--dx-color-bg-subtle);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:3px;margin:0 0 18px;padding:3px;display:grid}.tabs button{min-height:40px;color:var(--dx-color-text-secondary);background:0 0;border:0;border-radius:10px;font-weight:700}.tabs button.active{color:var(--dx-color-text-primary);background:var(--dx-color-bg-surface)}.list-section{margin-bottom:22px}.list-section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--dx-color-text-secondary);margin:0 0 8px 4px;font-size:.8rem}.row-list,.bundle-list{background:var(--dx-color-bg-surface);border:1px solid var(--dx-color-border-default);border-radius:18px;margin:0;padding:0;list-style:none;overflow:hidden}.row-list li+li,.bundle-list li+li{border-top:1px solid var(--dx-color-border-default)}.row,.bundle-row{appearance:none;width:100%;min-height:58px;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.row:active,.bundle-row:active{background:var(--dx-color-bg-subtle)}.row-icon{text-align:center;flex:none;width:32px;font-size:1.6rem}.row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.row-meta{color:var(--dx-color-text-secondary);white-space:nowrap;font-size:.8rem}.bundle-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.bundle-main strong{font-size:1.05rem}.bundle-main small{color:var(--dx-color-text-secondary);font-size:.8rem}.price-pill{background:var(--dx-color-bg-accent-subtle);color:var(--dx-color-accent);white-space:nowrap;border-radius:999px;flex:none;padding:8px 14px;font-size:.86rem;font-weight:700}.center-state{color:var(--dx-color-text-secondary);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:48px 0;display:flex}.center-state p{margin:0}.empty-line{text-align:center;color:var(--dx-color-text-secondary);margin:0;padding:32px 0}.text-row{appearance:none;color:var(--dx-color-accent);background:0 0;border:0;align-items:center;gap:8px;padding:8px 4px;font-weight:650;display:flex}.country-cloud{color:var(--dx-color-text-secondary);margin:4px 4px 0;font-size:.84rem;line-height:1.6}.plan-hero{background:var(--dx-gradient-balance);color:#fff;border-radius:20px;flex-direction:column;gap:6px;margin-bottom:16px;padding:22px;display:flex}.plan-place{color:#ffffffb3;margin:0;font-size:.86rem;font-weight:600}.plan-data{letter-spacing:-.04em;font-size:2.2rem}.plan-price{color:#ffffffd9;font-weight:700}.plan-facts{background:var(--dx-color-bg-surface);border:1px solid var(--dx-color-border-default);border-radius:18px;margin:0;padding:4px 16px}.plan-facts div{justify-content:space-between;gap:16px;padding:12px 0;display:flex}.plan-facts div+div{border-top:1px solid var(--dx-color-border-default)}.plan-facts dt{color:var(--dx-color-text-secondary);flex:none;font-size:.86rem}.plan-facts dd{text-align:right;margin:0;font-size:.9rem;font-weight:600}.plan-note{color:var(--dx-color-text-secondary);margin:12px 4px 0;font-size:.8rem;line-height:1.5}.toast{z-index:20;left:50%;bottom:calc(84px + var(--dx-safe-area-bottom));background:var(--dx-color-text-primary);max-width:calc(100% - 32px);color:var(--dx-color-bg-canvas);border-radius:14px;padding:12px 16px;font-size:.86rem;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.tabs.two{grid-template-columns:repeat(2,1fr)}.network-hint{background:var(--dx-color-bg-accent-subtle);color:var(--dx-color-text-primary);border-radius:14px;margin-bottom:14px;padding:12px 14px;font-size:.84rem;line-height:1.5}.network-hint p{margin:0}.esim-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.esim-card{appearance:none;border:1px solid var(--dx-color-border-default);background:var(--dx-color-bg-surface);width:100%;color:inherit;text-align:left;border-radius:18px;align-items:center;gap:12px;padding:16px;display:flex}.esim-card:active{background:var(--dx-color-bg-subtle)}.esim-main{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.esim-main small{color:var(--dx-color-text-secondary);font-size:.78rem}.chevron{color:var(--dx-color-text-muted);font-size:1.4rem}.state-chip{background:var(--dx-color-bg-subtle);color:var(--dx-color-text-secondary);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700}.state-chip.connected,.state-chip.in_use{background:var(--dx-color-bg-success-subtle);color:var(--dx-color-success)}.state-chip.not_installed,.state-chip.downloaded{background:var(--dx-color-bg-accent-subtle);color:var(--dx-color-accent)}.state-chip.depleted,.state-chip.expired{background:var(--dx-color-bg-critical-subtle);color:var(--dx-color-critical)}.usage-bar{background:var(--dx-color-bg-subtle);border-radius:3px;width:100%;height:6px;overflow:hidden}.usage-bar span{background:var(--dx-color-accent);border-radius:3px;height:100%;display:block}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--dx-color-text-secondary);margin:24px 0 8px 4px;font-size:.8rem}.install{flex-direction:column;gap:12px;display:flex}.install .section-title{margin-bottom:0}.tips{background:var(--dx-color-bg-subtle);border-radius:16px;padding:14px 16px;font-size:.84rem;line-height:1.5}.tips ul{color:var(--dx-color-text-secondary);margin:8px 0 10px;padding-left:18px}.tips-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-block{background:var(--dx-color-bg-surface);border:1px solid var(--dx-color-border-default);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.qr-title{margin:0;font-weight:650}.qr{background:#fff;border-radius:12px;width:min(240px,70vw);padding:8px}.qr svg{width:100%;height:auto;display:block}.qr-block .secondary-button{width:100%}.copy-value{appearance:none;color:var(--dx-color-accent);font:inherit;text-align:right;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:600}.detail-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.text-row.danger{color:var(--dx-color-critical);justify-content:center}.confirm-box{background:var(--dx-color-bg-critical-subtle);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.confirm-box p{margin:0;font-size:.86rem}.chips-field{cursor:text;flex-wrap:wrap;row-gap:6px;height:auto;min-height:48px;padding:7px 14px}.chips-field input{min-width:120px;height:34px}.trip-chip{background:var(--dx-color-bg-accent-subtle);height:34px;color:var(--dx-color-text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 4px 0 10px;font-size:.88rem;font-weight:600;display:inline-flex}.trip-chip.static{margin:0 6px 6px 0;padding-right:12px}.trip-chip button{appearance:none;color:var(--dx-color-text-secondary);background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.trip-chip button svg{width:14px;height:14px}.trip-chip button:active{background:var(--dx-color-bg-soft-pressed)}.field-hint{color:var(--dx-color-text-secondary);margin:-6px 4px 14px;font-size:.8rem}.trip-bar{z-index:4;left:0;right:0;bottom:calc(66px + max(8px, var(--dx-safe-area-bottom)));padding:10px max(16px, var(--dx-safe-area-left));background:linear-gradient(transparent, var(--dx-color-bg-canvas) 35%);position:fixed}.trip-bar .primary-button{width:min(100%,628px);margin:0 auto;display:flex}.store:has(.trip-bar){padding-bottom:72px}.trip-summary .country-cloud{flex-wrap:wrap;margin:0;display:flex}.filter-chips{scrollbar-width:none;gap:6px;margin:0 0 10px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-chips button{border:1px solid var(--dx-color-border-default);background:var(--dx-color-bg-surface);min-height:36px;color:var(--dx-color-text-secondary);border-radius:999px;flex:none;padding:0 14px;font-size:.84rem;font-weight:650}.filter-chips button.active{background:var(--dx-color-button-bg);color:var(--dx-color-button-text);border-color:#0000}.filter-chips+.bundle-list,.filter-chips+.empty-line{margin-top:6px}.coverage-list{margin:4px 0 0}.coverage-list .section-title{margin-top:18px}.coverage-list .text-row{margin-top:2px}.coverage-countries{background:var(--dx-color-bg-surface);border:1px solid var(--dx-color-border-default);columns:2;border-radius:18px;column-gap:16px;margin:0;padding:4px 16px;list-style:none}.coverage-countries li{break-inside:avoid;align-items:center;gap:8px;padding:7px 0;font-size:.88rem;display:flex}.coverage-countries li.trip{font-weight:700}@media (width<=360px){.coverage-countries{columns:1}}.row.picked{background:var(--dx-color-bg-accent-subtle)}.row-check{color:var(--dx-color-accent);padding:0 4px;font-size:1.1rem;font-weight:800}
