:root{color-scheme:light;--c-azure-700: #1A56C8;--c-azure-600: #2468E5;--c-azure-500: #3B7DF0;--c-azure-400: #6B9DF5;--c-azure-50: #EBF2FE;--c-mint-600: #0E9E73;--c-mint-500: #12B381;--c-mint-400: #2EC798;--c-mint-50: #E7F8F2;--c-coral-500: #E5483C;--c-coral-400: #F0685E;--c-amber-500: #E89B1C;--c-amber-50: #FDF3E3;--c-violet-500: #6E59D9;--c-success: var(--c-mint-500);--c-warning: var(--c-amber-500);--c-danger: var(--c-coral-500);--c-info: var(--c-azure-500);--t-0: #1B2330;--t-1: #38445A;--t-2: #6B7790;--t-3: #9AA4B8;--line: #ECEFF4;--bg: #F4F6F9;--bg-tint: #F4F6F9;--glass-bg: #FFFFFF;--glass-bg-strong: #FFFFFF;--glass-border: #E6EAF1;--glass-blur: none;--glass-edge: linear-gradient(#E6EAF1, #E6EAF1);--op-mobile: #2468E5;--op-unicom: #E5483C;--op-telecom: #1B7FE0;--op-cbn: #0FA886;--grad-azure: linear-gradient(135deg, #2468E5, #3B7DF0);--grad-mint: linear-gradient(135deg, #0E9E73, #12B381);--grad-aurora: linear-gradient(135deg, #2468E5, #3B7DF0);--grad-text: linear-gradient(135deg, #1B2330, #38445A);--grad-hero: linear-gradient(165deg, #0B2A6B 0%, #1D5BD8 58%, #3D8BFD 100%);--grad-flame: linear-gradient(135deg, #FF4D2E, #FF8A2A);--grad-gold: linear-gradient(135deg, #FFD894, #F7B733);--c-flame-600: #F23A2F;--c-flame-50: #FFF0EC;--sh-flame: 0 6px 16px rgba(255, 77, 46, .32);--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-pill: 999px;--sh-sm: 0 1px 4px rgba(27, 35, 48, .06);--sh-md: 0 4px 14px rgba(27, 35, 48, .08);--sh-lg: 0 10px 30px rgba(27, 35, 48, .12);--sh-azure: 0 4px 12px rgba(36, 104, 229, .28);--sh-mint: 0 4px 12px rgba(18, 179, 129, .25);--glow-ring: 0 0 0 3px rgba(36, 104, 229, .14);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--fs-cap: 12px;--fs-sm: 13px;--fs-body: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-display: 30px;--ff-base: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--ff-display: var(--ff-base);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur: .25s;--z-nav: 50;--z-modal: 100;--z-toast: 1000}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--ff-base);color:var(--t-0);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.display{font-family:var(--ff-display)}.text-grad{color:var(--t-0)}.app-shell{max-width:460px;margin:0 auto;min-height:100dvh;position:relative;background:var(--bg);box-shadow:0 0 0 1px var(--line);overflow-x:hidden}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;font-weight:600;border-radius:var(--r-md);padding:13px 18px;font-size:var(--fs-body);transition:transform var(--dur-fast),box-shadow var(--dur),opacity var(--dur)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;pointer-events:none}.btn-block{width:100%}.btn-primary{background:var(--c-azure-600);color:#fff;box-shadow:var(--sh-azure)}.btn-mint{background:var(--c-mint-500);color:#fff;box-shadow:var(--sh-mint)}.btn-flame{background:var(--grad-flame);color:#fff;box-shadow:var(--sh-flame)}.btn-glass{background:#fff;color:var(--t-1);border:1px solid var(--glass-border)}.card{background:#fff;border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:var(--r-pill);font-size:var(--fs-cap);font-weight:700}.pill-ok{background:var(--c-mint-50);color:var(--c-mint-600)}.pill-wait{background:var(--c-amber-50);color:var(--c-amber-500)}.pill-no{background:#fdeceb;color:var(--c-coral-500)}.pill-info{background:var(--c-azure-50);color:var(--c-azure-600)}.field{margin-bottom:var(--sp-4)}.field .label{font-size:var(--fs-sm);font-weight:600;color:var(--t-1);margin-bottom:7px;display:flex;gap:4px}.field .label .req{color:var(--c-danger)}.input{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px 14px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input:focus-within{border-color:var(--c-azure-500);box-shadow:var(--glow-ring)}.input input{all:unset;flex:1;color:var(--t-0);font-size:var(--fs-body);min-width:0}.input input::placeholder{color:var(--t-3)}.field .help{font-size:var(--fs-cap);color:var(--t-3);margin-top:6px}.field .err{font-size:var(--fs-cap);color:var(--c-danger);margin-top:6px}.navbar{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) 16px 12px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:var(--z-nav)}.navbar .title{font-size:var(--fs-md);font-weight:700}.navbar .back{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:none;color:var(--t-0)}.op-badge{font-size:11px;font-weight:700;color:#fff;padding:3px 9px;border-radius:var(--r-pill)}.sim{width:46px;height:34px;border-radius:7px;background:linear-gradient(160deg,#fdfeff,#dce4f5);box-shadow:var(--sh-sm);position:relative}.sim:before{content:"";position:absolute;top:7px;right:8px;bottom:7px;left:8px;border-radius:4px;background:linear-gradient(135deg,#fcd34d,#f59e0b)}.op-m{background:linear-gradient(135deg,#2468e5,#4d87f0)}.op-u{background:linear-gradient(135deg,#d8453a,#f0685e)}.op-t{background:linear-gradient(135deg,#1b7fe0,#4d9eea)}.op-c{background:linear-gradient(135deg,#0fa886,#2ec798)}.empty{text-align:center;color:var(--t-3);padding:60px 24px;font-size:var(--fs-sm)}.loading{text-align:center;color:var(--t-3);padding:50px;font-size:var(--fs-sm)}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);background:#1b2330eb;color:#fff;padding:11px 18px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;z-index:var(--z-toast);box-shadow:var(--sh-lg);animation:toastIn .25s var(--ease-out)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur),transform var(--dur)}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
