:root{--bg: #0b0b0c;--surface: #141416;--border: #26262a;--text: #ededed;--text-dim: #a1a1a6;--good: #4c8dff;--bad: #ff5a5f;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100vh}h1,h2,p{margin:0}button{font:inherit}.tone-good{color:var(--good)}.tone-bad{color:var(--bad)}.tone-neutral{color:var(--text-dim)}.home{max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 28px) 16px calc(env(safe-area-inset-bottom) + 32px)}.block+.block{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.block-title{font-size:13px;font-weight:500;color:var(--text-dim);letter-spacing:.02em;margin-bottom:8px}.figure-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.figure{font-size:40px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.rate,.cap{font-size:15px;font-variant-numeric:tabular-nums}.cap{color:var(--text-dim)}.since{font-size:14px;margin-top:6px}.since.tone-neutral{color:var(--text)}.hint,.empty,.source-note,.loading{font-size:14px;color:var(--text-dim);line-height:1.4}.hint,.source-note{margin-top:6px}.loading{padding-top:40px;text-align:center}.load-error{padding-top:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.chart{display:block;width:100%;height:auto;margin-top:12px}.chart-axis{stroke:var(--border);stroke-width:1}.chart-line{fill:none;stroke:var(--text-dim);stroke-width:1.5;stroke-linejoin:round}.chart-dot{fill:var(--text)}.chart-trend{stroke-width:2.5;stroke-linecap:round}.tone-stroke-good{stroke:var(--good)}.tone-stroke-bad{stroke:var(--bad)}.tone-stroke-neutral{stroke:var(--text-dim)}.chart-label{fill:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums}.splash{min-height:100vh;display:grid;place-items:center;font-size:22px;font-weight:600;color:var(--text-dim)}.auth-screen{max-width:360px;margin:0 auto;padding:72px 16px 32px;display:flex;flex-direction:column}.auth-brand{font-size:32px;font-weight:700;letter-spacing:-.02em}.auth-sub{color:var(--text-dim);font-size:14px;margin:4px 0 32px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-hint{font-size:13px;color:var(--text-dim);line-height:1.4}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.field input{height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px}.field input:focus{outline:2px solid var(--text-dim);outline-offset:1px}.form-error{color:var(--bad);font-size:14px}.btn-primary{height:46px;padding:0 20px;border:0;border-radius:10px;background:var(--text);color:var(--bg);font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6}.btn-link{margin-top:20px;min-height:44px;background:none;border:0;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.crash-screen{max-width:420px;margin:0 auto;padding:64px 16px;display:flex;flex-direction:column;gap:12px}.crash-title{font-size:22px}.crash-text,.crash-detail{color:var(--text-dim);font-size:14px;line-height:1.4}.crash-actions{display:flex;gap:12px;margin-top:8px}.crash-actions .btn{height:46px;padding:0 16px;border-radius:10px;border:1px solid var(--border);background:none;color:var(--text)}
