:root{--bue-navy: #002B49;--bue-deep-blue: #0B2545;--bue-royal-blue: #1D4ED8;--bue-primary-blue: #2563EB;--bue-light-blue: #3B82F6;--bue-sky-soft: #EFF6FF;--bue-red: #C8102E;--bue-red-accent: #DC2626;--bue-red-soft: #FEE2E2;--bg-page: #F1F5F9;--bg-app: #F8FAFC;--surface-card: #FFFFFF;--surface-elevated: #F8FAFC;--surface-chip: #F1F5F9;--border-card: #E2E8F0;--border-subtle: #F1F5F9;--text-primary: #0B2545;--text-secondary: #64748B;--text-muted: #94A3B8;--radius-small: 8px;--radius-medium: 12px;--radius-card: 18px;--radius-banner: 20px;--radius-pill: 999px;--shadow-card: 0 4px 16px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .02);--shadow-card-hover: 0 8px 24px rgba(37, 99, 235, .12), 0 2px 6px rgba(15, 23, 42, .04);--shadow-banner: 0 8px 24px rgba(11, 37, 69, .18);--shadow-nav: 0 -4px 20px rgba(15, 23, 42, .08);--shadow-modal: 0 20px 40px rgba(15, 23, 42, .25);--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}body.theme-dark{--bg-page: #0B1120;--bg-app: #0F172A;--surface-card: #1E293B;--surface-elevated: #283548;--surface-chip: #273549;--border-card: #334155;--border-subtle: #1E293B;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #64748B;--shadow-card: 0 4px 16px rgba(0, 0, 0, .25);--shadow-card-hover: 0 8px 24px rgba(37, 99, 235, .25);--shadow-banner: 0 8px 24px rgba(0, 0, 0, .4);--shadow-nav: 0 -4px 20px rgba(0, 0, 0, .35);--shadow-modal: 0 20px 40px rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font-family);background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}#app-shell{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;background-color:var(--bg-page)}.app-container{width:100%;max-width:520px;min-height:100vh;background-color:var(--bg-app);display:flex;flex-direction:column;position:relative;box-shadow:0 0 40px #00000014}.app-header{position:sticky;top:0;z-index:40;background-color:var(--bg-app);height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid transparent;transition:border-color .2s}.app-header.scrolled{border-bottom-color:var(--border-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-branding{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.header-logo{width:36px;height:36px;border-radius:var(--radius-small);object-fit:contain}.header-title-box{display:flex;flex-direction:column}.header-title{font-size:19px;font-weight:800;letter-spacing:-.3px;color:var(--text-primary);line-height:1.1}.header-badge{font-size:11px;font-weight:600;color:var(--bue-primary-blue);letter-spacing:.2px}.header-actions{display:flex;align-items:center;gap:6px}.icon-btn{width:40px;height:40px;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background-color:var(--surface-chip);color:var(--text-primary)}.icon-btn svg{width:22px;height:22px}.main-content{flex:1;padding-bottom:96px;overflow-y:auto}.welcome-section{padding:4px 16px 14px}.welcome-title{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary);line-height:1.2}.welcome-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary);margin-top:4px}.search-trigger-container{padding:0 16px 16px}.search-trigger-bar{height:52px;background-color:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-pill);display:flex;align-items:center;padding:0 16px;gap:12px;box-shadow:var(--shadow-card);cursor:pointer;transition:all .2s ease}.search-trigger-bar:hover{border-color:var(--bue-primary-blue);box-shadow:0 4px 12px #2563eb14}.search-icon-box{color:var(--text-muted);display:flex;align-items:center}.search-icon-box svg{width:20px;height:20px}.search-placeholder{flex:1;font-size:14px;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none}.search-action-pill{font-size:11.5px;font-weight:700;color:var(--bue-primary-blue);background-color:var(--bue-sky-soft);padding:4px 10px;border-radius:var(--radius-pill)}body.theme-dark .search-action-pill{background-color:#2563eb2e}.hero-banner-container{padding:0 16px 20px}.hero-banner-card{position:relative;width:100%;aspect-ratio:1073 / 443;border-radius:var(--radius-banner);overflow:hidden;box-shadow:var(--shadow-banner);background:linear-gradient(135deg,var(--bue-navy) 0%,var(--bue-deep-blue) 100%);cursor:pointer}.hero-banner-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.hero-banner-card:hover .hero-banner-img{transform:scale(1.02)}.section-header{padding:0 16px 12px;display:flex;align-items:center;justify-content:space-between}.section-title{font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--text-primary)}.section-link-btn{font-size:13px;font-weight:700;color:var(--bue-primary-blue);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-small);transition:background-color .2s}.section-link-btn:hover{background-color:var(--surface-chip)}.services-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 16px}.service-card{background-color:var(--surface-card);border:.8px solid var(--border-card);border-radius:var(--radius-card);padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow-card);cursor:pointer;position:relative;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s;-webkit-user-select:none;user-select:none;min-height:126px}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:#2563eb4d}.service-card:active{transform:scale(.97)}.service-card-fav-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.6;transition:all .2s ease}.service-card:hover .service-card-fav-btn,.service-card-fav-btn.active{opacity:1}.service-card-fav-btn.active{color:var(--bue-red-accent)}.service-card-fav-btn svg{width:15px;height:15px}.service-icon-box{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;transition:transform .2s ease}.service-card:hover .service-icon-box{transform:scale(1.05)}.service-icon-box svg{width:30px;height:30px}.service-card-title{font-size:12px;font-weight:700;line-height:1.15;letter-spacing:-.2px;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:28px}.category-filter-bar{display:flex;gap:8px;overflow-x:auto;padding:0 16px 16px;scrollbar-width:none}.category-filter-bar::-webkit-scrollbar{display:none}.category-pill{padding:8px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;white-space:nowrap;background-color:var(--surface-chip);color:var(--text-secondary);border:1px solid var(--border-card);cursor:pointer;transition:all .2s ease}.category-pill.active{background-color:var(--bue-primary-blue);color:#fff;border-color:var(--bue-primary-blue);box-shadow:0 2px 8px #2563eb40}.service-list-tile{margin:0 16px 10px;background-color:var(--surface-card);border:.8px solid var(--border-card);border-radius:var(--radius-card);padding:12px 14px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-card);cursor:pointer;transition:all .2s ease}.service-list-tile:hover{transform:translate(2px);box-shadow:var(--shadow-card-hover);border-color:#2563eb4d}.service-list-tile .tile-icon-box{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-list-tile .tile-icon-box svg{width:26px;height:26px}.tile-content{flex:1;min-width:0}.tile-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.tile-title{font-size:15px;font-weight:700;letter-spacing:-.2px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-category-tag{font-size:10.5px;font-weight:600;text-transform:capitalize;padding:2px 8px;border-radius:var(--radius-pill);background-color:var(--surface-chip);color:var(--text-secondary);flex-shrink:0}.tile-desc{font-size:12.5px;font-weight:400;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-actions{display:flex;align-items:center;gap:4px}.tile-fav-btn{width:32px;height:32px;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tile-fav-btn.active{color:var(--bue-red-accent)}.tile-fav-btn svg{width:18px;height:18px}.tile-chevron svg{width:18px;height:18px;color:var(--text-muted)}.empty-state-view{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px}.empty-state-icon-box{width:80px;height:80px;border-radius:var(--radius-pill);background-color:var(--surface-chip);color:var(--text-muted);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.empty-state-icon-box svg{width:40px;height:40px}.empty-state-title{font-size:18px;font-weight:800;color:var(--text-primary);margin-bottom:6px}.empty-state-subtitle{font-size:13.5px;color:var(--text-secondary);max-width:280px;margin-bottom:20px;line-height:1.4}.empty-state-btn{padding:10px 22px;border-radius:var(--radius-pill);background-color:var(--bue-primary-blue);color:#fff;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:background-color .2s}.empty-state-btn:hover{background-color:var(--bue-royal-blue)}.settings-group{margin:0 16px 20px;background-color:var(--surface-card);border:.8px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.settings-group-header{padding:12px 16px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:.8px solid var(--border-card);cursor:pointer;transition:background-color .2s}.settings-row:last-child{border-bottom:none}.settings-row:hover{background-color:var(--surface-chip)}.settings-label-box{display:flex;align-items:center;gap:12px}.settings-icon{width:32px;height:32px;border-radius:8px;background-color:var(--surface-chip);color:var(--bue-primary-blue);display:flex;align-items:center;justify-content:center}.settings-icon svg{width:18px;height:18px}.settings-text{font-size:14.5px;font-weight:600;color:var(--text-primary)}.settings-subtext{font-size:12px;color:var(--text-secondary)}.bottom-navigation{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:72px;background-color:var(--surface-card);border-top:.8px solid var(--border-card);box-shadow:var(--shadow-nav);display:flex;align-items:center;justify-content:space-around;z-index:50;padding-bottom:env(safe-area-inset-bottom,0px)}.nav-item{flex:1;height:100%;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);cursor:pointer;position:relative;transition:all .2s ease}.nav-item.active{color:var(--bue-primary-blue)}.nav-icon{width:24px;height:24px}.nav-icon svg{width:24px;height:24px}.nav-label{font-size:11.5px;font-weight:600;letter-spacing:-.1px}.nav-item.active .nav-label{font-weight:800}.nav-indicator{position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background-color:transparent;transition:background-color .2s ease}.nav-item.active .nav-indicator{background-color:var(--bue-primary-blue)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-sheet{width:100%;max-width:520px;max-height:85vh;background-color:var(--surface-card);border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.modal-overlay.active .modal-sheet{transform:translateY(0)}.modal-drag-handle{width:36px;height:4px;border-radius:var(--radius-pill);background-color:var(--border-card);margin:12px auto 6px}.modal-header{padding:12px 20px;display:flex;align-items:flex-start;justify-content:space-between}.modal-close-btn{width:36px;height:36px;border-radius:var(--radius-pill);border:none;background-color:var(--surface-chip);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.modal-close-btn svg{width:18px;height:18px}.modal-body{padding:0 20px 24px;overflow-y:auto}.service-detail-hero{display:flex;align-items:center;gap:16px;margin-bottom:16px}.detail-icon-box{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon-box svg{width:34px;height:34px}.detail-title-info{flex:1}.detail-service-name{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.detail-tags-row{display:flex;align-items:center;gap:8px;margin-top:4px}.badge-tag{font-size:11px;font-weight:600;text-transform:capitalize;padding:3px 8px;border-radius:var(--radius-pill);background-color:var(--surface-chip);color:var(--text-secondary)}.badge-tag.secure{background-color:#dcfce7;color:#16a34a}.badge-tag.insecure{background-color:#fef3c7;color:#d97706}.detail-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.shortcuts-header{font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.shortcuts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background-color:var(--surface-chip);border-radius:var(--radius-medium);cursor:pointer;transition:all .2s ease;text-decoration:none;color:var(--text-primary)}.shortcut-item:hover{background-color:var(--bue-sky-soft);color:var(--bue-primary-blue)}body.theme-dark .shortcut-item:hover{background-color:#2563eb2e}.shortcut-title{font-size:13.5px;font-weight:600}.btn-launch-primary{width:100%;height:52px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--bue-primary-blue) 0%,var(--bue-royal-blue) 100%);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;box-shadow:0 4px 16px #2563eb59;transition:all .2s ease;text-decoration:none}.btn-launch-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.btn-launch-primary svg{width:20px;height:20px}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background-color:var(--bue-deep-blue);color:#fff;padding:10px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;box-shadow:0 8px 24px #0003;display:flex;align-items:center;gap:8px;animation:toastIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.search-modal-view{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-app);z-index:80;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.search-modal-view.active{transform:translateY(0)}.search-modal-header{padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:.8px solid var(--border-card)}.search-input-wrapper{flex:1;height:48px;background-color:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-pill);display:flex;align-items:center;padding:0 16px;gap:10px}.search-input-field{flex:1;border:none;background:transparent;font-family:inherit;font-size:15px;color:var(--text-primary);outline:none}.search-input-field::placeholder{color:var(--text-muted)}.search-modal-results{flex:1;overflow-y:auto;padding:16px 0}@media (min-width: 641px){#app-shell{padding:24px 0}.app-container{border-radius:28px;overflow:hidden;min-height:calc(100vh - 48px);border:1px solid var(--border-card)}.bottom-navigation{border-bottom-left-radius:28px;border-bottom-right-radius:28px}}
