:root{--text:#1f1d2b;--muted:#5d5a72;--accent-a:#5a4ae3;--accent-b:#c2366f;--danger:#b3261e;--danger-soft:#fdecea;--accent-soft:#efedff;--surface:#fff;--bg:#f7f6fc;--border:#8e8aa8;--border-soft:#e4e2ee;--track:#dedbeb;--focus:#5a4ae3;--ring:#5a4ae329;--spoke:#5a4ae324;--radar-bg-inner:#fff;--radar-bg-outer:#f1efff;--shadow-sm:0 1px 2px #1f1d2b0f, 0 2px 8px #5a4ae314;--shadow-md:0 2px 4px #1f1d2b0a, 0 8px 28px #5a4ae31a;--radius:16px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:100%;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(900px 500px at 10% -10%, #5a4ae312, transparent 60%), radial-gradient(800px 500px at 100% 0%, #c2366f0d, transparent 60%), var(--bg);background-attachment:fixed;min-height:100vh;margin:0}h1,h2{letter-spacing:-.01em;line-height:1.25}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:#5a4ae333}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--surface);color:var(--accent-a);box-shadow:var(--shadow-md);transition:transform .2s var(--ease-out);border-radius:10px;padding:10px 16px;font-weight:600;position:absolute;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes radar-grow{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #5a4ae373}70%{box-shadow:0 0 0 12px #5a4ae300}to{box-shadow:0 0 #5a4ae300}}.layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:40px;max-width:1000px;margin:0 auto;padding:40px 24px;display:grid}.radar-wrap{animation:fade-in .5s var(--ease-out) both;position:relative}.radar{width:100%;height:auto;overflow:visible}.radar-ring{fill:none;stroke:var(--ring);stroke-width:1px;stroke-dasharray:2 4}.radar-ring-outer{stroke-dasharray:none;stroke-width:1.25px}.radar-spoke{stroke:var(--spoke);stroke-width:1px;transition:stroke .25s,stroke-width .25s}.radar-spoke.is-active{stroke:var(--accent-a);stroke-opacity:.6;stroke-width:1.5px}.radar-glow{fill:var(--accent-a);opacity:.3}.radar-area,.radar-glow{transform-box:view-box;transform-origin:50%;animation:radar-grow .7s var(--ease-out) both}.radar-area{fill:url(#radar-fill);stroke:url(#radar-stroke);stroke-width:2.5px;stroke-linejoin:round}.radar-dot{fill:var(--surface);stroke:var(--accent-a);stroke-width:2.5px;filter:drop-shadow(0 2px 4px #5a4ae359);transition:r .25s var(--ease-spring), fill .2s, stroke .2s}.radar-dot.is-active{fill:var(--accent-a);stroke:var(--surface);stroke-width:3px}.radar-label{fill:var(--muted);cursor:default;font-size:13px;font-weight:500;transition:fill .2s}.radar-label.is-active{fill:var(--text)}.radar-label-value{fill:var(--accent-a);font-size:15px;font-weight:600}.radar-label-max{fill:var(--muted);font-size:12px;font-weight:500}.sliders{flex-direction:column;gap:6px;display:flex}.slider{cursor:pointer;transition:background .2s, box-shadow .25s var(--ease-out), transform .25s var(--ease-out);border-radius:14px;flex-direction:column;gap:8px;padding:12px 16px;font-size:15px;display:flex}.slider.is-active{background:var(--surface);box-shadow:var(--shadow-sm);transform:translate(2px)}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-value{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;color:var(--accent-a);animation:pop .3s var(--ease-out);font-weight:600;display:inline-block}.slider input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px;margin:0}.slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent-a), var(--accent-b)) 0 / var(--fill) 100% no-repeat, var(--track);border-radius:3px;height:6px}.slider input[type=range]::-moz-range-track{background:var(--track);border-radius:3px;height:6px}.slider input[type=range]::-moz-range-progress{background:linear-gradient(90deg, var(--accent-a), var(--accent-b));border-radius:3px;height:6px}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:3px solid var(--accent-a);width:22px;height:22px;transition:transform .2s var(--ease-spring), box-shadow .2s;border-radius:50%;margin-top:-8px;box-shadow:0 2px 6px #5a4ae34d}.slider input[type=range]::-moz-range-thumb{background:var(--surface);border:3px solid var(--accent-a);width:16px;height:16px;transition:transform .2s var(--ease-spring), box-shadow .2s;border-radius:50%;box-shadow:0 2px 6px #5a4ae34d}.slider:hover input[type=range]::-webkit-slider-thumb{transform:scale(1.1)}.slider:hover input[type=range]::-moz-range-thumb{transform:scale(1.1)}.slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}.slider input[type=range]:active::-moz-range-thumb{transform:scale(1.25)}.slider input[type=range]:focus-visible{outline:none}.slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--focus)}.slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--focus)}@media (width<=760px){.layout{grid-template-columns:1fr;gap:16px;padding:16px}}.nav{max-width:1000px;animation:fade-in .4s var(--ease-out) both;justify-content:space-between;align-items:center;margin:0 auto;padding:20px 24px 0;display:flex}.nav-brand{background:linear-gradient(90deg, var(--accent-a), var(--accent-b));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{min-height:40px;color:var(--muted);border-radius:999px;align-items:center;padding:8px 14px;font-size:15px;text-decoration:none;transition:color .2s,background .2s,box-shadow .25s;display:inline-flex;position:relative}.nav-link:hover{color:var(--text);background:#ffffffb3}.nav-link.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:500}.nav-user{border-left:1px solid var(--border-soft);color:var(--text);margin-left:8px;padding-left:12px;font-size:15px;font-weight:500}.nav-logout{font:inherit;cursor:pointer;background:0 0;border:none;font-size:15px}.status{max-width:1000px;color:var(--muted);margin:0 auto;padding:24px;animation:.3s both fade-in}.status-error{color:var(--danger)}.status-loading{align-items:center;gap:10px;display:flex}.status-loading:before{content:"";border:2px solid var(--track);border-top-color:var(--accent-a);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.login-card .status-loading{margin:0;padding:0}.admin{max-width:1000px;margin:0 auto;padding:32px 24px}.admin-header{animation:rise .5s var(--ease-out) both}.admin-header h1{margin:0 0 6px;font-size:28px;font-weight:600}.admin-header p{max-width:60ch;color:var(--muted);margin:0 0 24px;font-size:15px}.admin-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.admin-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-md);animation:rise .5s 80ms var(--ease-out) both;padding:12px}.admin-grid>:nth-child(2){animation:rise .5s .16s var(--ease-out) both}.admin-preview h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.category-list{margin:0;padding:0;list-style:none}.category-row{animation:rise .35s var(--ease-out) both;border-radius:12px;align-items:center;gap:10px;padding:6px;transition:background .2s;display:flex}.category-row:hover,.category-row:focus-within{background:var(--bg)}.category-move{gap:2px;display:flex}.category-label{flex:1}.category-add{border-top:1px solid var(--border-soft);gap:10px;margin-top:8px;padding:12px 6px 6px;display:flex}.category-add .text-input{flex:1}.text-input{border:1px solid var(--border);min-width:0;min-height:44px;font:inherit;color:var(--text);background:var(--surface);border-radius:10px;padding:10px 12px;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.text-input::placeholder{color:var(--muted)}.text-input:hover{border-color:var(--accent-a)}.text-input:focus{border-color:var(--accent-a);box-shadow:0 0 0 4px var(--ring);outline:none}.text-input:focus-visible{outline:2px solid var(--focus);outline-offset:0}.category-row .text-input{border-color:var(--border-soft);background:0 0}.category-row .text-input:hover,.category-row .text-input:focus{border-color:var(--accent-a);background:var(--surface)}.button,.icon-button{font:inherit;cursor:pointer;transition:background .2s, background-position .4s var(--ease-out), color .2s, opacity .2s, box-shadow .25s var(--ease-out), transform .2s var(--ease-out);border:none;font-size:15px;font-weight:500}.button{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;display:inline-flex}.button:not(:disabled):active,.icon-button:not(:disabled):active{transform:scale(.97)}.button:disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed}.button-primary{color:#fff;background:linear-gradient(90deg, var(--accent-a), var(--accent-b), var(--accent-a));background-size:200% 100%;box-shadow:0 2px 10px #5a4ae340}.button-primary:not(:disabled):hover{background-position:100% 0;transform:translateY(-1px);box-shadow:0 6px 18px #5a4ae352}.button-primary:not(:disabled):active{transform:translateY(0)scale(.98)}.button-ghost{color:var(--muted);background:0 0}.button-ghost:not(:disabled):hover{color:var(--danger);background:var(--danger-soft)}.button-danger{color:#fff;background:var(--danger);animation:.2s both fade-in}.button-danger:not(:disabled):hover{box-shadow:0 4px 14px #b3261e4d}.icon-button{width:40px;height:40px;color:var(--muted);background:0 0;border-radius:10px;place-items:center;font-size:18px;display:inline-grid}.icon-button:not(:disabled):hover{color:var(--accent-a);background:var(--accent-soft)}@media (width<=760px){.admin-grid{grid-template-columns:1fr}.nav,.admin{padding-left:16px;padding-right:16px}}.admin-preview .radar-wrap{padding:0 48px}.field{color:var(--text);flex-direction:column;gap:6px;font-size:15px;font-weight:500;display:flex}.form-error{border-left:3px solid var(--danger);color:var(--danger);background:var(--danger-soft);animation:rise .3s var(--ease-out) both;border-radius:8px;margin:0;padding:10px 12px;font-size:15px}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border-soft);width:100%;max-width:400px;box-shadow:var(--shadow-md);animation:rise .5s var(--ease-out) both;border-radius:20px;flex-direction:column;gap:16px;padding:36px 32px;display:flex}.login-card h1{margin:0;font-size:28px}.login-card p{color:var(--muted);margin:0 0 8px;font-size:15px}.login-card p strong{color:var(--text)}.login-card .button{margin-top:8px}.login-card .button+.button{margin-top:0}.user-form{flex-direction:column;gap:14px;padding:20px;display:flex}.user-form h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:13px;font-weight:600}.user-info{flex-direction:column;flex:1;min-width:0;padding-left:6px;font-size:15px;display:flex}.user-email{text-overflow:ellipsis;color:var(--muted);font-size:14px;overflow:hidden}.user-self{color:var(--muted)}.user-role{color:var(--accent-a);background:var(--accent-soft);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:500}@media (width<=760px){.nav{flex-wrap:wrap;gap:8px}.nav-links{flex-wrap:wrap}}.field-hint{color:var(--muted);font-size:14px;font-weight:400}.form-hint{color:var(--muted);animation:rise .3s var(--ease-out) both;margin:0;font-size:15px}.link-button{min-height:32px;font:inherit;color:var(--accent-a);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;padding:0;font-size:15px;text-decoration:underline;text-decoration-thickness:1px}.login-switch a{color:var(--accent-a);text-underline-offset:3px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-thickness .15s}.link-button:hover,.login-switch a:hover{text-decoration-thickness:2px}.login-card .login-switch{text-align:center;margin:0}.login-card-section{animation:rise .35s var(--ease-out) both;flex-direction:column;gap:12px;display:flex}.radar-overlay .radar-area.radar-series-0{fill:var(--accent-a);fill-opacity:.18;stroke:var(--accent-a)}.radar-overlay .radar-area.radar-series-1{fill:var(--accent-b);fill-opacity:.16;stroke:var(--accent-b);stroke-dasharray:7 5;animation-delay:.12s}.radar-dot.radar-series-1{stroke:var(--accent-b);filter:drop-shadow(0 2px 4px #c2366f59)}.radar-dot.radar-series-1.is-active{fill:var(--accent-b);stroke:var(--surface)}.radar-label-value.radar-series-1{fill:var(--accent-b)}.radar-legend{flex-wrap:wrap;justify-content:center;gap:24px;margin:8px 0 0;padding:0;font-size:15px;font-weight:500;list-style:none;display:flex}.radar-legend-item{align-items:center;gap:8px;display:flex}.radar-legend-item:before{content:"";border-top:3px solid var(--accent-a);border-radius:2px;width:22px}.radar-legend-item.radar-series-1:before{border-top-style:dashed;border-top-color:var(--accent-b)}.rating-step{max-width:1000px;margin:0 auto;padding:40px 24px 0}.rating-step-head{text-align:center;max-width:560px;animation:rise .5s var(--ease-out) both;margin:0 auto}.rating-step-head h1{margin:0 0 8px;font-size:28px}.rating-step-head p{color:var(--muted);margin:0 0 12px;line-height:1.6}.rating-step-head .rating-step-note{color:var(--text);background:var(--accent-soft);border-radius:10px;padding:8px 14px;font-weight:500;display:inline-block}.waiting-indicator{background:var(--accent-a);width:12px;height:12px;animation:pulse 2s var(--ease-out) infinite;border-radius:50%;margin:0 auto 16px;display:block}.rating-step .layout{padding-top:24px}.rating-step-chart{max-width:480px;margin:16px auto 0}.rating-step-form{animation:rise .5s .1s var(--ease-out) both;flex-direction:column;gap:16px;display:flex}.results{max-width:1000px;margin:0 auto;padding:32px 24px}.tabs{background:var(--track);width:fit-content;animation:rise .4s var(--ease-out) both;border-radius:999px;justify-content:center;gap:4px;margin:0 auto 24px;padding:4px;display:flex}.tab{min-height:40px;color:var(--text);font:inherit;cursor:pointer;transition:background .25s var(--ease-out), box-shadow .25s var(--ease-out), color .2s;background:0 0;border:0;border-radius:999px;padding:8px 20px;font-size:15px;font-weight:500}.tab:not(.is-active):hover{background:#ffffff8c}.tab.is-active{background:var(--surface);color:var(--accent-a);box-shadow:var(--shadow-sm)}.results-overlay{max-width:560px;margin:0 auto}.results-separate{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.results-person{animation:rise .45s var(--ease-out) both}.results-person+.results-person{animation-delay:80ms}.results-person h2{text-align:center;margin:0;font-size:20px}@media (width<=760px){.results-separate{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.status-loading:before{border-top-color:var(--track)}}@media (forced-colors:active){.nav-brand{color:canvastext;background:0 0}.nav-link.is-active,.tab.is-active{outline:2px solid highlight}.button,.tab{border:1px solid buttontext}}
