:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-void:#050608;--bg-primary:#090b0f;--bg-secondary:#101319;--bg-tertiary:#171b21;--surface:#0d1015;--surface-hover:#151a21;--surface-active:#1b222b;--neon-cyan:#00f0ff;--neon-cyan-dim:#00a8b5;--neon-magenta:#ff2bd6;--neon-magenta-dim:#b51a98;--neon-green:#a6ff00;--neon-green-dim:#75b800;--warning:#ffd000;--error:#ff3150;--text-primary:#f2f7f7;--text-secondary:#9aa5ad;--text-tertiary:#59636b;--text-disabled:#343b41;--border:#1c252c;--border-strong:#26323a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:2px;--radius-md:4px;--glow-cyan:0 0 12px #00f0ff33;--glow-magenta:0 0 12px #ff2bd633;--font-sans:"Noto Sans SC", "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-display:"Space Grotesk", "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;--header-height:52px;--tabbar-height:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background-color:var(--bg-void);width:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;font-size:15px;line-height:1.6;position:fixed;inset:0}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#root{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;overflow:hidden auto}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer}.tech-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-tertiary);font-size:11px;line-height:16px;display:block}.numeric,.telemetry{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em}.telemetry{color:var(--text-tertiary);font-size:11px;line-height:16px}.section-title{margin:0 0 var(--space-1);font-size:18px;font-weight:600}.divider{height:1px;margin:var(--space-4) 0;background-color:var(--border);border:0}.panel{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface)}.panel-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);letter-spacing:.04em;background-color:#0000;font-size:13px;font-weight:500;transition:border-color .12s linear,color .12s linear,background-color .12s linear;display:inline-flex}.btn:focus-visible{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);outline:none}.btn-primary{border-color:var(--neon-cyan);background-color:var(--neon-cyan);color:var(--bg-void);font-weight:700}.btn-secondary:active{border-color:var(--neon-cyan-dim);color:var(--neon-cyan)}.btn-ghost{color:var(--text-secondary);border-color:#0000}.btn-danger{border-color:var(--error);color:var(--error)}.btn:disabled{border-color:var(--border);color:var(--text-disabled);cursor:not-allowed;background-color:#0000}.btn-block{width:100%}.field{margin-bottom:var(--space-5);display:block}.field-label{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--text-secondary);font-size:13px;font-weight:500;display:flex}.field-label .tech-label{display:inline}.input{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text-primary);font-size:15px;transition:border-color .12s linear,box-shadow .12s linear}.input:focus{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);outline:none}.notice{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text-secondary);font-size:12px;line-height:18px;display:flex}.notice-warning{border-color:var(--warning);color:var(--warning)}.notice-error{border-color:var(--error);color:var(--error)}.notice-mark{font-family:var(--font-mono);flex:none}.app-shell{background-color:var(--bg-primary);flex-direction:column;min-height:100%;display:flex}.app-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-3);height:calc(var(--header-height) + var(--safe-top));padding:var(--safe-top) var(--space-4) 0;border-bottom:1px solid var(--border);background-color:var(--bg-secondary);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);min-width:0;display:flex}.brand-mark{font-family:var(--font-mono);color:var(--neon-cyan);font-size:20px;line-height:1}.brand-name{font-family:var(--font-display);letter-spacing:.16em;font-size:15px;font-weight:600}.brand-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-status{align-items:center;gap:var(--space-2);flex:none;display:flex}.status-dot{font-family:var(--font-mono);color:var(--neon-green);font-size:11px}.status-dot[data-state=locked]{color:var(--error)}.status-dot[data-state=off]{color:var(--text-tertiary)}.app-content{min-height:0;padding:var(--space-4) var(--space-4) var(--space-6);overscroll-behavior:contain;flex:1;overflow-y:auto}.app-tabbar{z-index:10;height:calc(var(--tabbar-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid var(--border);background-color:color-mix(in srgb, var(--bg-secondary) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.tab-item{min-height:44px;color:var(--text-tertiary);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;transition:color .12s linear;display:flex;position:relative}.tab-item[data-active=true]{color:var(--neon-cyan)}.tab-icon{font-family:var(--font-mono);font-size:18px;line-height:1}.tab-label{font-size:13px;line-height:18px}.tab-label-en{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px;line-height:12px}.tab-item[data-active=true]:after{content:"";background-color:var(--neon-cyan);width:16px;height:2px;position:absolute;bottom:4px}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:40vh;color:var(--text-tertiary);flex-direction:column;display:flex}.empty-mark{font-family:var(--font-mono);color:var(--neon-cyan-dim);font-size:24px}.empty-title{color:var(--text-secondary);font-size:15px}.splash{justify-content:space-between;gap:var(--space-6);min-height:100%;padding:calc(var(--safe-top) + var(--space-7)) var(--space-5) calc(var(--safe-bottom) + var(--space-6));background-color:var(--bg-void);flex-direction:column;display:flex}.splash-core{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;flex:1;display:flex}.splash-mark{font-family:var(--font-mono);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:32px}.splash-name{font-family:var(--font-display);letter-spacing:.24em;font-size:32px;font-weight:600}.splash-boot{align-items:center;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:.08em;color:var(--neon-cyan-dim);font-size:11px;display:flex}.boot-caret{animation:.9s steps(2,start) infinite caret-blink}@keyframes caret-blink{50%{opacity:.2}}.splash-telemetry{gap:2px var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-tertiary);grid-template-columns:96px 1fr;font-size:11px;line-height:18px;display:grid}.splash-telemetry b{color:var(--text-secondary);font-weight:500}.fullscreen{background-color:var(--bg-primary);flex-direction:column;min-height:100%;display:flex}.fullscreen-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(var(--safe-top) + var(--space-4)) var(--space-4) var(--space-3);border-bottom:1px solid var(--border);display:flex}.fullscreen-body{padding:var(--space-5) var(--space-4) var(--space-4);flex-direction:column;flex:1;display:flex}.fullscreen-footer{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) calc(var(--safe-bottom) + var(--space-4));border-top:1px solid var(--border);background-color:var(--bg-secondary);display:flex}.fullscreen-footer .btn{flex:1}.center-block{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;flex:1;display:flex}.pin-dots{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);display:flex}.pin-dot{border:1.5px solid var(--border-strong);border-radius:50%;width:16px;height:16px;transition:background-color .1s linear,border-color .1s linear,box-shadow .1s linear}.pin-dot[data-filled=true]{border-color:var(--neon-cyan);background-color:var(--neon-cyan);box-shadow:var(--glow-cyan)}.pin-dots[data-error=true]{animation:.18s linear pin-shake}.pin-dots[data-error=true] .pin-dot{border-color:var(--error);background-color:var(--error);box-shadow:none;border-radius:1px}.pin-dots[data-disabled=true] .pin-dot{border-color:var(--text-disabled)}@keyframes pin-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.keypad{gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.keypad-key{border-radius:var(--radius-sm);height:56px;min-height:44px;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;font-size:24px;transition:background-color .1s linear,border-color .1s linear,color .1s linear;display:flex}.keypad-key:not(:disabled):active{border-color:var(--neon-cyan);background-color:var(--surface-active);color:var(--neon-cyan)}.keypad-key:focus-visible{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);outline:none}.keypad-key:disabled{color:var(--text-disabled);cursor:not-allowed}.keypad-key[data-role=delete]{font-size:20px}.keypad-key[data-role=empty]{cursor:default;background:0 0;border:0}.settings-group{margin-bottom:var(--space-5)}.settings-group-title{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.settings-list{border-top:1px solid var(--border)}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--border);text-align:left;color:var(--text-primary);background:0 0;display:flex}.settings-row:disabled{color:var(--text-disabled);cursor:not-allowed}.settings-row-label{flex-direction:column;gap:2px;display:flex}.settings-row-value{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:14px;display:flex}.settings-row[data-tone=danger] .settings-row-value,.settings-row[data-tone=danger] .settings-row-title{color:var(--error)}.chevron{font-family:var(--font-mono);color:var(--text-tertiary)}.chip-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.04em;background-color:#0000;font-size:13px}.chip[data-active=true]{border-color:var(--neon-cyan);color:var(--neon-cyan)}.chip:disabled{color:var(--text-disabled);border-color:var(--border)}.dialog-backdrop{z-index:50;padding:var(--space-4);background-color:#050608b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);width:100%;max-width:360px;max-height:86vh;overflow-y:auto}.dialog-title{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);margin:0;font-size:12px;font-weight:500}.dialog-body{padding:var(--space-4)}.dialog-actions{gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--border);display:flex}.dialog-actions .btn{flex:1}.toast{left:50%;bottom:calc(var(--safe-bottom) + var(--tabbar-height) + var(--space-4));z-index:60;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);align-items:center;font-size:13px;animation:.18s linear toast-in;display:flex;position:fixed;transform:translate(-50%)}.toast-mark{font-family:var(--font-mono);color:var(--neon-green)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.update-prompt{right:var(--space-4);bottom:calc(var(--safe-bottom) + var(--space-4));z-index:40;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);align-items:center;font-size:13px;display:flex;position:fixed}.update-prompt .btn{min-height:32px;padding:0 var(--space-3);font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
