@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap");:root{--bg:#0b0b0c;--panel:#121214;--line:#29292d;--text:#f4f4f1;--muted:#8d8d96;--dim:#5d5d65;--lime:#c9ff4a;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);color-scheme:dark}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif;letter-spacing:-.015em}button,input,textarea{font:inherit}::selection{background:var(--lime);color:#0b0b0c}nav{border-bottom:1px solid var(--line)}.navin{height:64px;max-width:1152px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.brand,.model{font:11px DM Mono,monospace;letter-spacing:.13em}.brand span{padding:0 8px;color:#54545c}.model{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.model i{width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 10px var(--lime)}.shell{max-width:1152px;margin:auto;padding:78px 32px 42px}header{max-width:700px;margin-bottom:54px}.kicker,label>span,legend{font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.15em}.kicker{color:var(--lime);margin-bottom:18px}h1{margin:0;font-size:64px;line-height:.98;letter-spacing:-.058em;font-weight:500}h1 span{color:#606068}header p{max-width:580px;margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.app{display:grid;grid-template-columns:1.08fr .92fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}form{padding:40px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}fieldset{padding:0;margin:0;border:0}label>span,legend{display:flex;width:100%;justify-content:space-between;color:#74747d;margin-bottom:12px}label>span i{font-style:normal;text-transform:none;letter-spacing:0;color:#55555d}.segments{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;padding:4px;border-radius:9px;background:rgba(0,0,0,.28)}.segments button{min-height:40px;border:0;border-radius:6px;background:transparent;color:#96969e;font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .14s var(--ease)}.segments button:hover{background:rgba(255,255,255,.05);color:#fff}.segments button[aria-pressed=true]{background:#f2f2ef;color:#111}.segments button:active,.submit:active{transform:scale(.98)}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.2);color:#fff;padding:0 16px;outline:0;transition:border-color .16s ease,box-shadow .16s ease}input{height:48px}textarea{min-height:208px;padding-top:14px;line-height:1.55;resize:vertical}input::placeholder,textarea::placeholder{color:#55555d}input:focus,textarea:focus{border-color:#5c5c64;box-shadow:0 0 0 3px rgba(201,255,74,.12)}.submit{height:48px;border:0;border-radius:8px;background:var(--lime);color:#090909;font:500 11px DM Mono;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .14s var(--ease),filter .14s ease}.submit:hover{filter:brightness(.94)}.submit:disabled{opacity:.6;cursor:wait}.submit i{width:12px;height:12px;border:1px solid rgba(0,0,0,.35);border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite}.error{margin:0;border:1px solid #702d2d;background:rgba(90,20,20,.25);color:#f3a9a9;border-radius:8px;padding:12px;font-size:13px}.result{padding:40px;min-height:448px}.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty>div{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:18px DM Mono;color:#67676f;margin-bottom:20px}.empty p{font-size:14px;margin:0 0 8px;color:#ccc}.empty small{max-width:290px;font-size:12px;line-height:1.65;color:#5c5c64}.score{animation:enter .22s var(--ease)}.scorehead{padding-bottom:28px;border-bottom:1px solid var(--line)}.scorehead>p{margin:0 0 12px;font:10px DM Mono;text-transform:uppercase;letter-spacing:.14em;color:#74747d}.scorehead>div{display:flex;align-items:flex-end;gap:8px}.scorehead strong{font-size:72px;line-height:.9;letter-spacing:-.06em;font-weight:500}.scorehead small{font:10px DM Mono;color:#5c5c64;margin-bottom:8px}.scorehead span{margin:0 0 5px auto;padding:6px 10px;border:1px solid rgba(201,255,74,.25);border-radius:100px;background:rgba(201,255,74,.08);color:var(--lime);font-size:11px}.signals{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px 32px;gap:24px 32px;padding:32px 0}.signal>div{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:#bbb}.signal b{font:10px DM Mono;color:#fff}.signal i{height:4px;background:#252529;overflow:hidden}.signal em,.signal i{display:block;border-radius:8px}.signal em{height:100%;background:var(--lime);transition:width .5s var(--ease)}.score footer{border-top:1px solid var(--line);padding-top:18px;font:10px/1.6 DM Mono;color:#55555d}aside{display:flex;justify-content:space-between;gap:24px;margin-top:18px;color:#5d5d65;font-size:12px;line-height:1.65}aside p{max-width:720px;margin:0}aside a{color:#777780;text-decoration:none;white-space:nowrap;font:10px DM Mono;letter-spacing:.08em}aside a:hover{color:#fff}@keyframes spin{to{transform:rotate(1turn)}}@keyframes enter{0%{opacity:0;filter:blur(2px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:none}}@media(max-width:800px){.navin{padding:0 20px}.shell{padding:44px 20px 32px}header{margin-bottom:36px}h1{font-size:44px}header p{font-size:14px}.app{display:block}.app form{padding:24px;border-right:0;border-bottom:1px solid var(--line)}.result{padding:24px;min-height:380px}.signals{gap:22px 20px}.scorehead strong{font-size:64px}aside{display:block}aside a{display:inline-block;margin-top:12px}}@media(max-width:420px){h1{font-size:40px}.segments button{font-size:12px}.app form,.result{padding:20px}.signals{grid-template-columns:1fr}.scorehead span{font-size:10px}.scorehead strong{font-size:58px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}