:root{--bg: #0b0e15;--bg-elev: #10141d;--panel: #121722;--line: rgba(148, 163, 184, .14);--line-strong: rgba(148, 163, 184, .26);--text: #eef1f7;--muted: #98a1b3;--faint: #6b7488;--accent: #d8b36a;--accent-bright: #e6c684;--accent-soft: rgba(216, 179, 106, .14);--danger: #ef8783;--font: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{max-width:100%;margin:0;padding:0}body{background:radial-gradient(1100px 700px at 50% -12%,rgba(216,179,106,.05),transparent 60%),var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px 30px 30px;display:grid;gap:20px;box-shadow:0 30px 80px #00000073}.brand{display:grid;gap:6px}.brand .overline{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.brand h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.01em}.brand .sub{margin:0;font-size:13px;color:var(--muted)}.auth-form{display:grid;gap:16px}.auth-alert{margin:0;font-size:13px;line-height:1.45;color:var(--danger);border:1px solid rgba(239,135,131,.3);background:#ef878312;border-radius:10px;padding:10px 12px}.field{display:grid;gap:6px}.field>.field-label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.control{position:relative;display:block}input[type=email],input[type=password],input[type=text]{width:100%;padding:11px 13px;font:inherit;font-size:14px;color:var(--text);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #d8b36a2e}select{appearance:none;-webkit-appearance:none;width:100%;min-width:176px;padding:10px 38px 10px 12px;font:inherit;font-size:14px;color:var(--text);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:10px;outline:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}select:disabled{opacity:.45;cursor:not-allowed}select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #d8b36a2e}.control .chevron{position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--faint)}.btn{font:inherit;font-size:14px;font-weight:600;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{width:100%;padding:12px 16px;background:var(--accent);color:#171207}.btn-primary:hover:not(:disabled){background:var(--accent-bright)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{padding:9px 16px;background:transparent;border-color:var(--line-strong);color:var(--muted)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:var(--bg-elev)}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-strong);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.iconbtn:hover{color:var(--text);background:var(--bg-elev)}.iconbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:18px 28px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.filters .field{min-width:0}.identity{display:flex;align-items:center;gap:14px}.identity .who{text-align:right;line-height:1.3}.identity .who .name{font-size:14px;font-weight:600}.identity .who .role{font-size:12px;color:var(--muted)}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 24px 34px}.chart-head{text-align:center;display:grid;gap:4px}.chart-head h2{margin:0;font-size:clamp(22px,3.2vw,30px);font-weight:600;letter-spacing:-.01em}.chart-head .dept{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.chart-wrap{position:relative;width:min(720px,100%);container-type:inline-size;border-radius:24px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chart-wrap[data-more=true]{cursor:pointer}.chart-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:24px}.chart-wrap svg{display:block;width:100%;height:auto}.trait-label{position:absolute;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:3px;width:max-content;max-width:92px;max-width:16.1cqw;text-align:center;pointer-events:none;color:#ccd3e2;font-size:12px;font-size:clamp(9px,2.5cqw,12.5px);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.trait-label .trait-icon{display:flex;align-items:center;justify-content:center;color:var(--accent);width:17px;height:17px;width:clamp(12px,4cqw,17px);height:clamp(12px,4cqw,17px)}.trait-label .trait-icon svg{width:100%;height:100%}.trait-label .trait-name{font-weight:500;line-height:1.2}.trait-score{position:absolute;translate:-50% -50%;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent-bright);pointer-events:none}.trait-score .of{color:var(--faint);font-weight:500;font-size:11px}.reveal-count{font-size:12px;letter-spacing:.1em;color:var(--faint);font-variant-numeric:tabular-nums}.state{display:grid;justify-items:center;gap:12px;text-align:center;color:var(--muted);font-size:14px}.state .state-title{color:var(--text);font-weight:500}.spinner{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.topbar{padding:14px 16px}.filters{width:100%;flex-direction:column;align-items:stretch}.filters select{width:100%;min-width:0}.identity{width:100%;justify-content:space-between}.identity .who{text-align:left}.stage{padding:18px 10px 26px}.trait-score{font-size:11.5px}.trait-score .of{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
