:root{--bg:#080e19;--panel:#101c2d;--line:#29394d;--muted:#a6b5c8;--cyan:#68edcf}
body{background:radial-gradient(ellipse at 75% 5%,#193244 0,transparent 45%),var(--bg)}
.topbar{max-width:1240px;height:82px}.brand{font-size:1rem;font-weight:700}.brand-mark{transform:none;border-radius:50%;background:#142d34}
.shell{width:min(1160px,calc(100% - 48px))}.view{padding:56px 0}.view#startView.active{grid-template-columns:1fr 1fr;gap:48px;min-height:690px}
.hero-card h1{font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.22;letter-spacing:-.055em}.hero-card h1 span{display:block}.hero-copy{max-width:440px;line-height:1.85;font-size:1rem}
.eyebrow,.step-label,.small-label,.question-tag{font-size:.875rem;letter-spacing:.12em}.feature-row{gap:36px;margin:28px 0}.feature-row strong{color:#fff;font-size:1.5rem}.feature-row span{font-size:.875rem}
.primary-btn,.secondary-btn{border-radius:12px;min-height:58px;transition:background .2s,transform .2s}.primary-btn:hover{background:#94f5de;transform:translateY(-1px)}.hero-card>.primary-btn{min-width:260px}.micro,.muted,.unofficial{font-size:.875rem}.micro{text-align:left}
.champion-showcase{height:480px;display:flex;align-items:center;position:relative;gap:12px;padding-bottom:42px}.showcase-card{position:relative;margin:0;flex:1;min-width:0;height:340px;overflow:hidden;border-radius:18px;border:1px solid #4a6467;box-shadow:0 24px 45px #0007;background:#172637;transform:translateY(18px)}.showcase-card:nth-child(2){height:410px;transform:none;border-color:var(--cyan)}.showcase-card:nth-child(3){transform:translateY(-4px)}.showcase-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.showcase-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#07111fee)}.showcase-card figcaption{position:absolute;bottom:20px;left:18px;z-index:1;font-size:1.2rem;font-weight:700}.showcase-card figcaption span{display:block;font-size:.7rem;letter-spacing:.16em;color:#a9c6cb;margin-bottom:3px}.showcase-caption{position:absolute;bottom:0;width:100%;text-align:center;color:var(--muted);font-size:.875rem}
.panel,.question-card{box-shadow:0 16px 40px #0002;border-radius:20px;background:linear-gradient(135deg,#142135,#0d1727)}.setup-panel{max-width:860px}.setup-panel .step-label{margin-top:24px}.choice{font-size:1rem;padding:14px;border-radius:12px}.choice.selected{box-shadow:inset 0 0 0 1px var(--cyan);background:#163b3c;color:#b2ffe9}.choice.selected:after{content:" ✓"}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.question-card{padding:36px 40px}.question-card h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.55}.question-card>.muted{line-height:1.7}.question-tag{border-bottom:1px solid var(--line);padding-bottom:16px}.option{font-size:1rem;min-height:76px;padding:18px;border-color:#2d4058;background:#101c2d;line-height:1.65}.option-key{border:0;border-radius:50%;background:#203449;color:#b5c9df;flex-basis:36px;height:36px}.option.selected .option-key{background:var(--cyan);color:#08251f}.progress-meta{font-size:.875rem}.progress-track{height:7px}
.result-top{position:relative;overflow:hidden;border:1px solid #345b60;background:linear-gradient(120deg,#143b3b,#111e32 65%);border-radius:24px;padding:38px;gap:24px}.result-top>div:first-child{min-width:0}.result-top h1{font-size:clamp(2rem,4.5vw,3.75rem);line-height:1.25;word-break:keep-all}.type-emblem{transform:none;flex:0 0 120px;width:120px;height:120px;border-radius:50%;border:1px solid #639689;background:#153437;font-size:3rem}.type-emblem span{transform:none}.result-grid{gap:20px}.result-grid .panel{padding:30px}.panel-title{flex-wrap:wrap}.panel h3{font-size:1.2rem;margin-bottom:12px}#similarity{font-size:.875rem;color:var(--cyan);background:#183537;padding:5px 10px;border-radius:30px}.score-meta{font-size:.94rem}.score-row{margin:20px 0}.score-track{height:7px}.description{line-height:1.9}.two-col ul{font-size:.94rem;line-height:1.85}.secondary{font-size:.875rem}
.champion-panel{padding:30px;margin-top:22px}.champion-panel>.panel-title{margin-bottom:22px}.champion-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.champion-card{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;border:1px solid #2a4055;border-radius:16px;background:#0b1727;transition:transform .2s,border-color .2s}.champion-card:hover{transform:translateY(-4px);border-color:#5c9d92}.champion-card:first-child{border-color:var(--cyan)}.champion-portrait{position:relative;aspect-ratio:1;background:#182b40;overflow:hidden}.champion-portrait img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.champion-card:hover img{transform:scale(1.05)}.champion-portrait .portrait-fallback{display:none;place-items:center;height:100%;font-size:2.5rem;color:var(--gold)}.champion-portrait.failed img{display:none}.champion-portrait.failed .portrait-fallback{display:grid}.champion-rank{position:absolute;top:10px;left:10px;border-radius:7px;background:#07121ce6;color:#e5fff8;padding:4px 9px;font-size:.875rem}.champion-detail{padding:16px}.champion-card h4{font-size:1.13rem;margin:0}.champion-card p{font-size:.875rem;line-height:1.7;margin:7px 0 12px}.match-score{font-size:.875rem;color:var(--cyan);border-top:1px solid #263a4d;padding-top:10px;display:flex;justify-content:space-between;gap:4px}.match-score strong{font-size:1rem}.result-actions{margin:30px 0 20px}.disclaimer,footer{font-size:.8125rem;line-height:1.8;color:#a0aec0}footer{margin-top:24px}
@media(max-width:900px){.view#startView.active{gap:24px}.champion-showcase{height:390px}.showcase-card{height:270px}.showcase-card:nth-child(2){height:330px}.champion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.shell{width:calc(100% - 32px);max-width:680px}.topbar{height:64px}.view{padding:28px 0 36px}.view#startView.active{display:flex;flex-direction:column;gap:8px;min-height:0}.hero-card{width:100%;padding:8px 0}.hero-card h1{font-size:clamp(2.3rem,7vw,3.4rem);margin:14px 0}.hero-copy{max-width:none}.hero-card>.primary-btn{width:100%}.micro{text-align:center}.feature-row{margin:20px 0;gap:10px}.feature-row div{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 12px}.feature-row span{font-size:.875rem}.champion-showcase{width:100%;height:280px;max-width:460px;padding:0 12px 32px;gap:12px}.showcase-card{height:200px;transform:none}.showcase-card:nth-child(2){height:235px}.showcase-card:nth-child(3){transform:none}.showcase-card figcaption{bottom:12px;left:12px;font-size:1rem}.showcase-caption{font-size:.8125rem;bottom:-8px}.question-card,.setup-panel{padding:24px 20px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.option{padding:15px;min-height:74px}.result-top{padding:26px 22px;align-items:center}.type-emblem{display:grid;flex-basis:72px;width:72px;height:72px;font-size:2rem}.result-top h1{font-size:2.15rem}.result-grid .panel,.champion-panel{padding:24px 20px}.champion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.champion-card{display:flex;padding:0}.champion-card h4,.champion-card p{grid-area:auto;align-self:auto}.champion-card h4{margin:0}.champion-card p{margin:6px 0 10px}.champion-detail{padding:14px}.champion-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(110px,.7fr) 1fr;align-items:center}.champion-card:first-child .champion-portrait{height:100%;min-height:160px;aspect-ratio:auto}.champion-card:first-child .champion-detail{padding:18px}.result-actions{grid-template-columns:1fr 1fr}.result-actions .primary-btn{order:0;grid-column:1/-1}.result-actions .secondary-btn{font-size:.875rem;padding:12px}}
@media(max-width:400px){.shell{width:calc(100% - 24px)}.brand{font-size:.9rem}.hero-card h1{font-size:2.2rem}.result-top{padding:22px 16px}.result-top h1{font-size:1.85rem}.type-emblem{flex-basis:52px;width:52px;height:52px;font-size:1.6rem}.question-card,.setup-panel{padding:22px 16px}.choice-grid.compact{grid-template-columns:1fr}.champion-detail{padding:12px}.match-score{font-size:.8125rem}.result-actions{grid-template-columns:1fr}.champion-showcase{gap:8px}.showcase-card figcaption span{font-size:.625rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
