:root{--bg: #0a0817;--bg-2: #130e2a;--surface: rgba(31, 24, 61, .78);--surface-solid: #1c1638;--surface-muted: rgba(255, 255, 255, .05);--primary: #8b7bff;--primary-light: #b9afff;--primary-dark: #5c43e6;--accent: #ff4d8d;--accent-2: #38e1d4;--text: #f4f1ff;--text-muted: #a79ecb;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--danger: #ff6b6b;--success: #4ade80;--warn: #ffd166;--highlight: rgba(255, 209, 102, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 14px 40px -14px rgba(0, 0, 0, .8);--shadow-lg: 0 30px 70px -18px rgba(0, 0, 0, .85);--glow: 0 0 44px -10px rgba(139, 123, 255, .65);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px}@property --pct{syntax: "<percentage>"; inherits: false; initial-value: 0%;}*{margin:0;padding:0;box-sizing:border-box}html{background:#000;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:transparent;min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:clip}body:before{content:"";position:fixed;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:-1;pointer-events:none;background:radial-gradient(38% 38% at 18% 22%,rgba(139,123,255,.28),transparent 70%),radial-gradient(32% 32% at 82% 16%,rgba(255,77,141,.2),transparent 70%),radial-gradient(42% 42% at 72% 86%,rgba(56,225,212,.16),transparent 70%);filter:blur(24px);animation:aurora 20s ease-in-out infinite alternate}@keyframes aurora{0%{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(3%,3%,0) scale(1.18)}}button,input{font-family:inherit}.container{max-width:640px;margin:0 auto;padding:1rem 1rem 1.5rem;min-height:100vh;display:flex;flex-direction:column;gap:1rem}.app-header{position:sticky;top:0;z-index:10;background:#0a0817b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);margin:-1rem calc(50% - 50vw) 0}.app-header-inner{display:flex;align-items:center;justify-content:flex-end;width:100%;max-width:640px;margin:0 auto;padding:.75rem 1rem}.code-chip{font-family:SFMono-Regular,ui-monospace,Roboto Mono,Menlo,Consolas,monospace;font-weight:700;font-size:.8rem;letter-spacing:.18em;color:var(--primary-light);background:#8b7bff24;border:1px solid rgba(139,123,255,.4);padding:.32rem .7rem;border-radius:999px;box-shadow:0 0 20px -6px #8b7bffb3}.card{position:relative;background:linear-gradient(180deg,#29204ee0,#16112de6);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow-md),inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:cardIn .5s cubic-bezier(.16,1,.3,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.title{font-size:1.6rem;font-weight:800;text-align:center;color:var(--text);letter-spacing:-.02em;margin-bottom:.4rem}.hero{text-align:center;margin-bottom:1.25rem}.hero .title{font-size:2rem;margin-bottom:.3rem;background:linear-gradient(120deg,var(--primary-light) 0%,var(--accent) 55%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 24px rgba(139,123,255,.45))}.form-group{margin-bottom:1rem}.label{display:block;font-weight:600;margin-bottom:.45rem;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.input{width:100%;padding:.8rem .9rem;font-size:1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input::placeholder{color:#a79ecb99}.input:focus{outline:none;border-color:var(--primary);background:#8b7bff14;box-shadow:0 0 0 3px #8b7bff40}.code-input{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.4em;font-weight:700;text-align:center;text-transform:uppercase}.button{position:relative;width:100%;padding:.9rem 1rem;font-size:.95rem;font-weight:700;letter-spacing:.01em;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 65%,#4a2fd0 100%);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;margin-bottom:.75rem;box-shadow:0 10px 28px -10px #8b7bffe6,inset 0 1px #ffffff4d;overflow:hidden}.button:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-18deg);transition:left .5s ease}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 40px -12px #8b7bff,inset 0 1px #ffffff4d}.button:hover:not(:disabled):after{left:120%}.button:active:not(:disabled){transform:translateY(1px) scale(.995);box-shadow:0 6px 16px -8px #8b7bffe6}.button:focus-visible{outline:none;box-shadow:0 0 0 3px #8b7bff73}.button:disabled{opacity:.4;cursor:not-allowed;filter:saturate(.6)}.button.secondary{background:#ffffff0f;color:var(--text);border:1px solid var(--border-strong);box-shadow:none}.button.secondary:after{display:none}.button.secondary:hover:not(:disabled){background:#ffffff1f}.button.ghost{background:#8b7bff24;color:var(--primary-light);border:1px solid rgba(139,123,255,.4);box-shadow:none}.button.ghost:after{display:none}.button.ghost:hover:not(:disabled){background:#8b7bff3d}.divider{text-align:center;margin:.75rem 0;color:var(--text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.divider:before,.divider:after{content:"";display:inline-block;width:32px;height:1px;margin:0 .75rem;vertical-align:middle;background:var(--border-strong)}.section-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;margin:1rem 0 .5rem}.count-pill{background:#8b7bff2e;color:var(--primary-light);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:700}.code-display{font-size:2.4rem;font-weight:800;letter-spacing:.3em;text-align:center;padding:1.1rem 1.1rem 1.1rem 1.4rem;background:#8b7bff14;border:1px solid rgba(139,123,255,.4);border-radius:var(--radius-lg);color:var(--text);margin:.5rem 0;font-family:SFMono-Regular,ui-monospace,Roboto Mono,Menlo,Consolas,monospace;box-shadow:var(--glow),inset 0 0 30px -12px #8b7bffcc;animation:codeGlow 3s ease-in-out infinite alternate}@keyframes codeGlow{0%{box-shadow:0 0 28px -12px #8b7bffb3,inset 0 0 24px -14px #8b7bffb3}to{box-shadow:0 0 44px -8px #8b7bff,inset 0 0 30px -10px #8b7bff}}.player-list{list-style:none;margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.5rem}.player-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem .95rem;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-md);font-weight:600;color:var(--text);animation:cardIn .4s ease both}.player-item em{font-style:normal;color:var(--primary-light);font-weight:600;font-size:.85rem}.online-dot{width:.6rem;height:.6rem;border-radius:999px;background:var(--success);box-shadow:0 0 0 3px #4ade802e;animation:pulse 1.8s ease-in-out infinite}.online-dot.offline{background:#ffffff40;box-shadow:none;animation:none}@keyframes pulse{0%,to{box-shadow:0 0 #4ade8066}50%{box-shadow:0 0 0 6px #4ade8000}}.prompt-card{position:relative;background:linear-gradient(180deg,#29204eb3,#16112dcc);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.1rem 1.1rem 1.35rem;margin-bottom:1rem;overflow:hidden;animation:cardIn .5s cubic-bezier(.16,1,.3,1) both}.prompt-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary) 0%,var(--accent) 100%)}.category-name{font-size:.7rem;font-weight:800;color:var(--primary-light);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem}.prompt-text{font-size:1.05rem;line-height:1.55;color:var(--text);font-weight:500;margin-bottom:.9rem}.rating-slider{display:flex;flex-direction:column;padding:.25rem 0 0}.rating-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2.5rem;cursor:pointer;background:transparent;border-radius:var(--radius-sm)}.rating-slider input[type=range]:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:0}.rating-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(139,123,255,.5) 0,var(--primary) calc(9px + (100% - 18px) * var(--ratio, 0)),rgba(255,255,255,.1) calc(9px + (100% - 18px) * var(--ratio, 0)),rgba(255,255,255,.1) 100%);box-shadow:inset 0 0 0 1px #ffffff0f}.rating-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:18px;height:18px;margin-top:-5px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 0 14px -1px #8b7bffe6;cursor:pointer}.rating-slider input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff0f}.rating-slider input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(139,123,255,.5) 0%,var(--primary) 100%)}.rating-slider input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 0 14px -1px #8b7bffe6;cursor:pointer}.rating-ticks{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem}.rating-ticks .tick,.rating-ticks .tick-label{flex:0 0 8px;width:8px}.rating-ticks .tick{height:8px;border-radius:50%;background:var(--border-strong)}.rating-ticks .tick-label{overflow:visible;text-align:left;white-space:nowrap;font-size:.62rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.rating-ticks .tick-label:last-child{position:relative;right:27px}.status{text-align:center;padding:.85rem 1rem;background:var(--highlight);border:1px solid rgba(255,209,102,.3);border-radius:var(--radius-md);color:var(--warn);font-weight:600;font-size:.9rem;margin:.75rem 0;animation:cardIn .4s ease both}.score-wrap{display:flex;flex-direction:column;align-items:center;margin:.5rem 0 1.25rem}.score-ring{--pct: 0%;position:relative;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from -90deg,var(--primary) 0 var(--pct),rgba(255,255,255,.08) var(--pct) 100%);box-shadow:var(--glow);animation:popIn .6s cubic-bezier(.16,1,.3,1) both}.score-ring:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:var(--bg-2);box-shadow:inset 0 0 24px -8px #000000e6}.score-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1}.score-value{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(120deg,var(--primary-light) 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.score-label{margin-top:.35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}@keyframes popIn{0%{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.comparison-card{position:relative;background:linear-gradient(180deg,#29204eb3,#16112dcc);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem;margin-bottom:1rem;animation:cardIn .5s cubic-bezier(.16,1,.3,1) both}.comparison-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.comparison-category{font-weight:800;color:var(--primary-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.match-badge{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.match-badge.perfect{color:#7bf0b0;background:#4ade8024;border-color:#4ade8066}.match-badge.close{color:var(--accent-2);background:#38e1d424;border-color:#38e1d466}.match-badge.split{color:var(--warn);background:#ffd16624;border-color:#ffd16666}.match-badge.opposites{color:var(--accent);background:#ff4d8d24;border-color:#ff4d8d66}.comparison-sliders{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.comparison-slider-row{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.slider-player{font-weight:600;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comparison-axis{margin-top:-.15rem}.comparison-axis .rating-ticks{width:100%;padding:0 5px}.slider-track{position:relative;width:100%;height:8px;border-radius:999px;background:#ffffff1a}.slider-fill{position:absolute;top:0;bottom:0;left:0;border-radius:999px;transition:width .7s cubic-bezier(.16,1,.3,1)}.slider-fill.p1{background:linear-gradient(90deg,rgba(139,123,255,.5) 0%,var(--primary) 100%);box-shadow:0 0 16px -2px #8b7bffe6}.slider-fill.p2{background:linear-gradient(90deg,rgba(255,77,141,.5) 0%,var(--accent) 100%);box-shadow:0 0 16px -2px #ff4d8de6}.slider-thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--primary);transform:translate(-50%,-50%);box-shadow:0 0 14px -1px #8b7bffe6}.slider-thumb.p2{border-color:var(--accent);box-shadow:0 0 14px -1px #ff4d8de6}.footer{margin-top:auto;padding-top:1rem;text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted)}.view{display:flex;flex-direction:column;flex:1;animation:viewIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes viewIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}body:before{animation:none}}@media(min-width:640px){.container{padding:1.5rem;gap:1.25rem}.app-header{margin-top:-1.5rem}.app-header-inner{padding-left:1.5rem;padding-right:1.5rem}.title{font-size:1.8rem}.hero .title{font-size:2.4rem}.prompt-text{font-size:1.1rem}}
