:root{--red: #ef0107;--red-deep: #b00005;--gold: #c9a96b;--gold-dim: rgba(201, 169, 107, .28);--bone: #f3efe7;--muted: rgba(243, 239, 231, .5);--faint: rgba(243, 239, 231, .28);--card: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));--line: rgba(201, 169, 107, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:#07080b;color:var(--bone);font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100dvh;overscroll-behavior-y:none}button{font-family:inherit}.app{position:relative;max-width:460px;min-height:100dvh;margin:0 auto;padding:calc(env(safe-area-inset-top) + 30px) 20px calc(env(safe-area-inset-bottom) + 36px)}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 55% at 50% -8%,rgba(239,1,7,.3) 0%,transparent 62%),radial-gradient(90% 50% at 108% 34%,rgba(6,54,114,.42) 0%,transparent 70%),linear-gradient(180deg,#0a0b10,#07080b 62%)}.red{background:linear-gradient(180deg,#ff5247,#d1030a 55%,#940004);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);opacity:.9}.footnote{margin:26px 0 0;font-size:11px;line-height:1.75;color:var(--faint);text-align:center}.btn{height:54px;width:100%;border:0;border-radius:14px;font-size:16px;font-weight:700;letter-spacing:.5px;color:var(--bone);cursor:pointer;display:grid;place-items:center;text-decoration:none;transition:transform .15s ease,opacity .2s ease}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.55}.btn.primary{background:linear-gradient(135deg,#ff1a0f,#d00208 45%,#9c0004);box-shadow:0 14px 32px #ef010747,inset 0 1px #ffffff3d}.btn.ghost{background:#ffffff0a;border:1px solid var(--gold-dim);font-size:14px;font-weight:600;height:50px}.intro{display:flex;flex-direction:column}.crest{width:76px;height:76px;margin-bottom:24px}.crest-ring{position:relative;width:76px;height:76px;border-radius:50%;border:1.5px solid rgba(201,169,107,.55);display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,#ef010757,#07080b26 72%);box-shadow:inset 0 0 26px #ef010752,0 0 42px #ef01072e}.crest-ring:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:1px solid rgba(201,169,107,.16)}.crest-letter{font-size:34px;font-weight:900;letter-spacing:-1px;color:#fff;text-shadow:0 0 18px rgba(239,1,7,.7)}.intro-title{margin:14px 0 0;font-size:52px;line-height:1.1;font-weight:900;letter-spacing:-2px}.intro-lede{margin:20px 0 34px;font-size:15px;line-height:1.75;color:var(--muted)}.intro-cta{margin-top:auto}.quiz-top{display:flex;align-items:center;gap:12px;margin-bottom:26px}.icon-btn{flex:none;width:36px;height:36px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--bone);font-size:15px;cursor:pointer}.quiz-spacer{flex:none;width:36px}.progress-wrap{flex:1;height:2px;border-radius:2px;background:#ffffff1a;overflow:hidden}.progress{height:100%;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .35s ease}.counter{min-width:42px;text-align:right;font-size:11px;letter-spacing:1.5px;color:#f3efe773;font-variant-numeric:tabular-nums}.quiz-body{animation:fade-up .35s ease both}.q-index{margin-top:8px;font-size:10px;letter-spacing:3px;color:var(--gold);opacity:.85}.q-title{margin:14px 0 0;font-size:28px;line-height:1.36;font-weight:800;letter-spacing:-.5px}.q-hint{margin:10px 0 0;font-size:12px;color:var(--faint)}.options{display:grid;gap:12px;margin-top:34px}.option{display:flex;align-items:center;gap:14px;width:100%;padding:18px 16px;text-align:left;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0d,#ffffff05);color:var(--bone);font-size:15.5px;line-height:1.45;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease}.option:active{transform:scale(.985);border-color:#ef010780}.option.picked{border-color:var(--red);background:#ef010724}.option-key{flex:none;width:26px;height:26px;border-radius:8px;border:1px solid rgba(201,169,107,.3);color:var(--gold);font-size:11px;display:grid;place-items:center}.option.picked .option-key{background:var(--red);border-color:var(--red);color:#fff}.center{display:grid;place-items:center;text-align:center}.calc-rings{position:relative;width:150px;height:150px;margin:0 auto 34px}.calc-rings span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(239,1,7,.4);animation:pulse 2.1s ease-out infinite}.calc-rings span:nth-child(2){animation-delay:.7s;border-color:#c9a96b59}.calc-rings span:nth-child(3){animation-delay:1.4s}.calc-title{font-size:18px;font-weight:700;letter-spacing:.5px}.calc-sub{margin-top:10px;font-size:11px;letter-spacing:2px;color:var(--faint)}.result-head{text-align:center}.result-title{margin:12px 0 0;font-size:30px;font-weight:900;letter-spacing:-.5px}.result-sub{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.card{position:relative;overflow:hidden;margin-top:16px;padding:22px;border-radius:22px;border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.main-card{margin-top:20px;padding:30px 20px 24px;text-align:center}.card-glow{position:absolute;top:-130px;left:50%;width:240px;height:240px;transform:translate(-50%);background:radial-gradient(circle,rgba(239,1,7,.38) 0%,transparent 70%);pointer-events:none}.emblem{position:relative;width:74px;height:74px;margin:2px auto 16px;border-radius:50%;border:1.5px solid rgba(201,169,107,.55);display:grid;place-items:center;font-size:26px;font-weight:900;background:radial-gradient(circle at 50% 28%,#ef01077a,#0b0c10a6 74%);box-shadow:0 0 32px #ef010742,inset 0 0 18px #ef010752}.emblem:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1px solid rgba(201,169,107,.2)}.player-name{margin:0;font-size:38px;font-weight:900;letter-spacing:1px}.player-en{margin-top:8px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.85}.player-quote{max-width:286px;margin:18px auto 0;font-size:15px;line-height:1.8;color:#f3efe7c7}.meta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.meta-chip{padding:6px 11px;border-radius:999px;border:1px solid rgba(201,169,107,.25);font-size:10.5px;letter-spacing:.5px;color:#f3efe7a6}.meta-chip.solid{border-color:#ef010766;background:#ef010729;color:#ffb4ae}.meta-chip.gold{color:var(--gold)}.twin-badge{position:absolute;top:16px;right:16px;padding:5px 9px;border-radius:6px;background:var(--gold);color:#07080b;font-size:10px;font-weight:700;letter-spacing:2px}.secondary-card{display:flex;align-items:center;gap:16px}.secondary-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#c9a96b12;border:1px solid rgba(201,169,107,.18)}.secondary-label{font-size:10.5px;letter-spacing:1.5px;color:#f3efe76b}.secondary-name{margin-top:4px;font-size:19px;font-weight:800}.secondary-desc{margin-top:4px;font-size:12px;color:var(--muted)}.radar-card{padding:20px 14px 12px}.card-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 6px}.card-head h3{margin:0;font-size:14px;font-weight:700;letter-spacing:.5px}.card-head-note{font-size:10px;letter-spacing:1px;color:var(--faint)}.radar{display:block;margin:4px 0 -4px}.radar-shape{transform-box:view-box;transform-origin:center;animation:grow .75s cubic-bezier(.2,.8,.2,1) both}.vector-row{display:flex;justify-content:space-between;padding:0 10px 4px}.vector-item{display:flex;flex-direction:column;align-items:center;gap:3px}.vector-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.vector-label{font-size:10px;color:#f3efe766}.keywords{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.keyword{padding:7px 14px;border-radius:999px;font-size:12px;background:#ef01071f;border:1px solid rgba(239,1,7,.24);color:#ffc9c4}.keyword.ghost{background:transparent;border-color:#c9a96b40;color:var(--gold)}.read-card h3{margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:.5px}.read-text{margin:0;font-size:14px;line-height:1.9;color:#f3efe7b8}.compare{display:grid;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(201,169,107,.14)}.compare-title{margin-bottom:8px;font-size:11px;letter-spacing:1.5px;color:var(--gold)}.compare ul{margin:0;padding:0;list-style:none}.compare li{position:relative;padding-left:14px;font-size:13px;line-height:1.7;color:#f3efe7b3}.compare li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--red)}.compare p{margin:0;font-size:13px;line-height:1.7;color:#f3efe7b3}.actions{display:grid;gap:10px;margin-top:24px}.actions-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.all-title{flex:1;text-align:center;font-size:12px;letter-spacing:2px;color:#f3efe799}.all-group{margin:20px 0 10px;font-size:11px;letter-spacing:2px;color:var(--gold)}.all-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player-card{position:relative;overflow:hidden;padding:16px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:#ffffff08}.player-card-num{position:absolute;top:-4px;right:8px;font-size:44px;font-weight:900;line-height:1.1;color:#ffffff0d}.player-card-name{font-size:16px;font-weight:800}.player-card-en{margin-top:3px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}.player-card-tag{margin-top:10px;font-size:11px;color:#f3efe780}.poster{position:fixed;top:0;left:-2000px;width:360px;height:640px;padding:20px;overflow:hidden;color:var(--bone);background:radial-gradient(120% 70% at 50% 0%,#3a0b0d,#0a0b10 46%,#07080b);font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}.poster:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(201,169,107,.22);border-radius:4px;pointer-events:none}.poster-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2.2px;color:var(--gold);opacity:.9}.poster-title{margin-top:10px;text-align:center;font-size:24px;font-weight:900;letter-spacing:-.5px}.poster-emblem{width:58px;height:58px;margin:14px auto 0;border-radius:50%;border:1.5px solid rgba(201,169,107,.55);display:grid;place-items:center;font-size:22px;font-weight:900;background:radial-gradient(circle at 50% 28%,#ef010780,#0b0c10a6 74%);box-shadow:0 0 24px #ef010747}.poster-name{margin-top:10px;text-align:center;font-size:34px;font-weight:900;letter-spacing:1px}.poster-en{margin-top:4px;text-align:center;font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}.poster-quote{margin:10px 12px 0;text-align:center;font-size:13px;line-height:1.7;color:#f3efe7c7}.poster-radar{width:200px;margin:0 auto}.poster-keywords{display:flex;justify-content:center;gap:6px;margin-top:6px}.poster-keywords span{padding:4px 9px;border-radius:999px;border:1px solid rgba(201,169,107,.3);font-size:10px;color:var(--gold)}.poster-foot{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(201,169,107,.16)}.poster-qr{width:46px;height:46px;border-radius:4px;background:#f3efe7;padding:2px}.poster-qr.empty{background:#ffffff0f}.poster-match{font-size:12px;font-weight:700}.poster-hint{margin-top:3px;font-size:9.5px;color:#f3efe773}.poster-note{margin-top:8px;text-align:center;font-size:8.5px;color:#f3efe74d}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:#000000e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox-inner{width:100%;max-width:330px;display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox-inner img{width:100%;border-radius:12px;box-shadow:0 24px 60px #0009}.lightbox-hint{margin:0;font-size:12px;color:#fff9}.lightbox-actions{display:flex;gap:10px;width:100%}.lightbox-actions .btn{height:46px;font-size:13px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(.68);opacity:.85}to{transform:scale(1.32);opacity:0}}@keyframes grow{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
