:root{--bg:#f4f5f7;--ink:#15181e;--muted:#6a7280;--line:#e3e6eb;--card:#fff;--brand:#3b5bfd;--brand-ink:#fff;--danger:#d93a3a;--ok:#1a9a5b;--warn:#b7791f;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--bg);-webkit-text-size-adjust:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer}code{background:#e9ecf3;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em}.shell{max-width:1040px;margin:0 auto;padding:18px 14px 40px}.top .eyebrow{color:var(--brand);letter-spacing:.02em;margin:0;font-size:12px;font-weight:600}.top h1{margin:4px 0 8px;font-size:22px;line-height:1.25}.top .lead{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.6}.tabs{gap:8px;margin-bottom:12px;padding-bottom:6px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:flex}.tabs button b{background:#e9ecf3;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tabs button.on b{color:var(--ink);background:#fff}.stage{gap:18px;display:grid}@media (min-width:900px){.stage{grid-template-columns:390px 1fr;align-items:start}.info-col{position:sticky;top:14px}}.phone-col{flex-direction:column;align-items:center;gap:10px;display:flex}.phone{background:#fff;border:1px solid #d5d9e0;border-radius:26px;width:100%;max-width:390px;height:720px;position:relative;overflow:hidden;box-shadow:0 10px 30px #141e3c1a}.chips{width:100%;max-width:390px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.chips button{background:0 0;border:1px dashed #b8bfcc;border-radius:8px;padding:5px 10px;font-size:12px}.chips button:active{background:#e9ecf3}.seg{background:#e6e9ef;border-radius:10px;gap:4px;margin-bottom:10px;padding:3px;display:flex}.seg button{background:0 0;border:0;border-radius:8px;flex:1;padding:8px 4px;font-size:13px}.seg button.on{background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px}.panel h2{margin:0 0 8px;font-size:16px}.panel h3{color:var(--muted);margin:12px 0 4px;font-size:13px}.panel p,.panel li{font-size:14px;line-height:1.65}.panel ul{margin:0;padding-left:18px}.panel .src,.output .src{color:var(--muted);margin-top:12px;font-size:12px}.stat{color:var(--muted)}pre.json{color:#d7dde8;background:#11151c;border-radius:10px;max-height:560px;margin:8px 0 0;padding:12px;font-size:11.5px;line-height:1.55;overflow:auto}pre.json code{font-size:inherit;background:0 0;padding:0}.cat{gap:8px;list-style:none;display:grid;padding:0!important}.cat li{border-bottom:1px solid var(--line);gap:2px;padding-bottom:8px;display:grid}.cat li span{color:var(--muted);font-size:13px}.output{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:22px;padding:14px 16px}.output h2{margin:0 0 8px;font-size:16px}.output table{border-collapse:collapse;width:100%;font-size:14px}.output th,.output td{text-align:right;border-bottom:1px solid var(--line);padding:7px 4px}.output th:first-child,.output td:first-child{text-align:left}.output .sum td{border-bottom:0;font-weight:700}.toast{color:#fff;text-align:center;z-index:5;background:#15181eeb;border-radius:10px;padding:10px 14px;font-size:14px;position:absolute;bottom:92px;left:16px;right:16px}.screen{--s-bg:#f4f5f7;--s-card:#fff;--s-ink:#15181e;--s-muted:#6a7280;--s-line:#e6e9ee;--s-fill:#eef0f4;background:var(--s-bg);height:100%;color:var(--s-ink);flex-direction:column;transition:background .2s,color .2s;display:flex}.screen.dark{--s-bg:#0f1218;--s-card:#1a1f29;--s-ink:#eef1f6;--s-muted:#98a1b2;--s-line:#2a3140;--s-fill:#252c39}.screen-head{align-items:center;gap:6px;padding:22px 18px 10px;display:flex}.screen-head h2{margin:0;font-size:24px;line-height:1.2}.screen-head p{color:var(--s-muted);margin:4px 0 0;font-size:14px}.back{background:var(--s-fill);color:var(--s-ink);border:0;border-radius:50%;width:34px;height:34px;margin-right:4px;padding:0 0 3px;font-size:24px;line-height:1}.screen-body{flex-direction:column;flex:1;gap:12px;padding:6px 16px 14px;display:flex;overflow-y:auto}.screen-foot{background:var(--s-bg);border-top:1px solid var(--s-line);flex-direction:column;gap:6px;padding:10px 16px 18px;display:flex}.screen-foot:empty{display:none}.text{margin:0;font-size:14px;line-height:1.6}.text.muted{color:var(--s-muted)}.text.title{font-size:18px;font-weight:700}.text.small{color:var(--s-muted);font-size:12px}.card{background:var(--s-card);border:1px solid var(--s-line);border-radius:14px;flex-direction:column;padding:4px 14px;display:flex}.card h3{color:var(--s-muted);letter-spacing:.04em;margin:12px 0 2px;font-size:12px;font-weight:600}.notice{border:1px solid;border-radius:12px;flex-direction:column;gap:2px;padding:11px 13px;font-size:13px;line-height:1.55;display:flex}.notice strong{font-size:14px}.notice.info{color:#1f3fb8;background:#eaf0ff;border-color:#c9d6ff}.notice.warning{color:#8a5a0a;background:#fff5e0;border-color:#f2d9a0}.notice.danger{color:#b32626;background:#ffecec;border-color:#f5c3c3}.notice.success{color:#11703f;background:#e7f7ee;border-color:#b8e6cc}.dark .notice.info{color:#a9bcff;background:#1b2748;border-color:#2e3f78}.dark .notice.warning{color:#f0cf84;background:#3a2f14;border-color:#5e4a1c}.dark .notice.danger{color:#ff9d9d;background:#3d1c1f;border-color:#6b2c31}.dark .notice.success{color:#8fe0b2;background:#14301f;border-color:#25573a}.field{flex-direction:column;gap:6px;padding:10px 0;display:flex}.card .field+.field{border-top:1px solid var(--s-line)}.flabel{color:var(--s-muted);font-size:13px}.field input{width:100%;color:var(--s-ink);font:inherit;background:0 0;border:0;outline:none;min-width:0;padding:2px 0;font-size:17px}.field input::placeholder{color:#a3abb8}.field.bad .flabel{color:var(--danger)}.ferr{color:var(--danger);font-size:12.5px}.pwrow{align-items:center;gap:8px;display:flex}.reveal{color:var(--brand);background:0 0;border:0;flex:none;padding:4px 2px;font-size:14px}.rules{border-top:1px solid var(--s-line);gap:4px;margin:0;padding:6px 0 10px;list-style:none;display:grid}.rules li{color:var(--s-muted);align-items:center;gap:8px;font-size:13px;display:flex}.rules li b{text-align:center;width:16px}.rules li.ok{color:var(--ok)}.profile{align-items:center;gap:12px;padding:6px 2px 4px;display:flex}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:22px;font-weight:600;display:grid}.profile strong{font-size:18px;display:block}.profile span:not(.avatar){color:var(--s-muted);font-size:14px}.nrow{text-align:left;width:100%;color:var(--s-ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.card .nrow+.nrow{border-top:1px solid var(--s-line)}.nrow:disabled{opacity:1;cursor:default}.sinfo{flex-direction:column;gap:2px;min-width:0;display:flex}.sinfo strong{font-size:16px;font-weight:500}.sinfo span{color:var(--s-muted);font-size:13px}.sright{color:var(--s-muted);flex:none;align-items:center;gap:6px;font-size:14px;display:flex}.chev{font-size:22px;font-style:normal;line-height:1}.switch{background:#c3c9d4;border:0;border-radius:999px;flex:none;width:50px;height:30px;padding:0;transition:background .15s;position:relative}.switch i{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on{background:var(--brand)}.switch.on i{transform:translate(20px)}.segmented{background:var(--s-fill);border-radius:11px;gap:4px;margin:10px 0;padding:3px;display:flex}.segmented button{color:var(--s-muted);background:0 0;border:0;border-radius:9px;flex:1;padding:9px 4px;font-size:14px}.segmented button.on{background:var(--s-card);color:var(--s-ink);font-weight:600;box-shadow:0 1px 3px #00000026}.btn{border:0;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600}.btn.primary{background:var(--brand);color:#fff}.btn.secondary{background:var(--s-fill);color:var(--s-ink)}.btn.danger{background:var(--danger);color:#fff}.btn.text{color:var(--brand);background:0 0;padding:10px;font-size:15px;font-weight:500}.btn:disabled{opacity:.4;cursor:not-allowed}.screen-body .btn.text{align-self:flex-start;width:auto;padding:2px 4px}
