:root{--bg:#f4f5f8;--card:#fff;--fg:#141821;--mute:#6b7385;--line:#e3e6ed;--acc:#1d4ed8;--acc-fg:#fff;--soft:#eef1f7;--ok:#15803d;--bad:#c2410c;--warn:#b45309;--sub:#92400e;--sub-bg:#fef6e7}@media (prefers-color-scheme:dark){:root{--bg:#0b0f17;--card:#151b27;--fg:#e8ecf3;--mute:#8a94a7;--line:#232b3b;--acc:#3b82f6;--acc-fg:#fff;--soft:#1d2433;--ok:#4ade80;--bad:#fb923c;--warn:#fbbf24;--sub:#f5c46a;--sub-bg:#2a2214}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--fg);margin:0}body{font:16px/1.5 -apple-system,PingFang SC,Helvetica Neue,sans-serif}#app{max-width:720px;padding:max(12px, env(safe-area-inset-top)) 16px calc(84px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:8px 0 12px;font-size:24px}h2{color:var(--mute);margin:20px 0 8px;font-size:15px;font-weight:600}p{margin:6px 0}.mute{color:var(--mute)}.small{font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.grow{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:14px}.card.tap{cursor:pointer}.stack>*+*{margin-top:10px}button,.btn{font:inherit;background:var(--soft);color:var(--fg);cursor:pointer;white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;text-decoration:none;display:inline-flex}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--acc);color:var(--acc-fg);font-weight:600}button.danger{color:var(--bad)}button.big{flex:1;padding:18px 0;font-size:20px}button.full{width:100%}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--soft);border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:14px}.chip.sel{border-color:var(--acc);color:var(--acc);font-weight:600}input[type=text],input[type=password],textarea,select{font:inherit;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:84px}label.field{margin-top:10px;display:block}label.field>span{color:var(--mute);margin-bottom:4px;font-size:13px;display:block}label.check{align-items:center;gap:6px;display:inline-flex}.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{text-align:center;color:var(--mute);flex:1;padding:10px 0 12px;font-size:13px;text-decoration:none}.tabs a.on{color:var(--acc);font-weight:600}.tabs .ico{font-size:20px;line-height:1.2;display:block}.steps{gap:4px;margin:8px 0 14px;display:flex;overflow-x:auto}.steps button{white-space:nowrap;border-radius:10px;flex:1;padding:8px 4px;font-size:13px}.steps button.on{background:var(--acc);color:var(--acc-fg)}.badge{background:var(--soft);color:var(--mute);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.progress{background:var(--soft);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--acc);height:100%;transition:width .3s}.error{color:var(--bad)}.notice{background:var(--sub-bg);color:var(--sub);border-radius:12px;margin-bottom:12px;padding:10px 12px}.line{border-bottom:1px solid var(--line);padding:10px 0}.line:last-child{border-bottom:0}.line.cur{background:var(--soft);margin:0 -14px;padding:10px 14px}.who{color:var(--mute);font-size:12px;font-weight:600}.who.client{color:var(--acc)}.en{font-size:17px}.zh{color:var(--mute);margin-top:2px;font-size:15px}.subtext{background:var(--sub-bg);color:var(--sub);border-radius:8px;margin-top:6px;padding:4px 8px;font-size:14px}.chunk{background:var(--soft);border-radius:6px;margin:4px 4px 0 0;padding:2px 6px;font-size:13px;display:inline-block}.diff{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.diff .ok{color:var(--fg)}.diff .miss{color:var(--bad);text-underline-offset:4px;font-weight:600;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.diff .typed{color:var(--mute);font-size:13px;text-decoration:line-through}.big-text{min-height:3em;font-size:22px;line-height:1.45}.car-btns{gap:10px;margin-top:14px;display:flex}.car-btns button{border-radius:16px;flex:1;padding:26px 0;font-size:22px}.resume{width:100%;margin-bottom:12px;padding:22px;font-size:20px}
