.portrait{isolation:isolate;min-height:610px;max-height:760px;background:radial-gradient(ellipse at 50% 35%,#322126,#17171c 72%)}.portrait:before{inset:42px 25px 90px;border-color:#e31b2315}.portrait canvas{object-fit:fill;animation:none;filter:none;touch-action:none;cursor:grab}.portrait canvas:active{cursor:grabbing}.portrait-top,.portrait-bottom{pointer-events:none}.portrait-top{font-size:12px}.portrait-bottom{padding-top:65px}.portrait-bottom h2{font-size:27px}.portrait-tools{display:none}.viewer-toolbar{position:absolute;z-index:4;top:68px;left:20px;right:20px;display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.viewer-toolbar button{padding:6px 9px;font-size:12px;background:#18181ed9;backdrop-filter:blur(8px);border-color:#95444b55}.brand{letter-spacing:-1.5px}.brand span{font-size:12px;letter-spacing:2.2px;margin-top:0}.nav{gap:4px}.sidebar footer{line-height:1.8}.pagehead{margin:28px 0 22px}.pagehead h1{font-size:30px}.panel{padding:24px}.badge.loss{color:#eaa995;background:#eaa99514}.badge.rare{color:#c5b3fa;background:#332d45}.badge.uncommon{background:#44242a}.grid{align-items:start}.market-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(350px,1.3fr);gap:24px;align-items:start}.sticky-viewer{position:sticky;top:20px}.sticky-viewer .portrait{height:620px;min-height:620px}.viewer-hint{text-align:center;margin:12px 0}.preview-strip{margin-top:12px;padding:18px}.market-search{display:grid;grid-template-columns:1fr 155px;gap:10px;margin-bottom:20px}.market-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product{padding:0}.product-image{height:190px;position:relative;background:radial-gradient(#36272d,#1c1b20)}.product-image canvas{width:100%;height:100%;background:none;border-radius:0}.product-image .badge{position:absolute;top:10px;left:10px;font-size:10px}.product-info{padding:15px}.product-info h3{margin:6px 0}.product-info p{min-height:35px}.product-info .eyebrow{font-size:10px}.product-info button{padding:8px 10px;font-size:12px}.power-surge{animation:surge .7s ease}.gym-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gym-grid .action{padding:14px}.gym-grid .action b{margin:4px 0}.gym-grid .symbol{font-size:20px}.workout-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;align-items:center}.workout-view .portrait{height:490px;min-height:490px;max-height:490px}.workout-view .portrait-bottom{display:none}.workout-view .portrait:before{display:none}.workout-layout .meter{margin-top:25px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison .portrait{height:470px;min-height:470px;margin-top:10px}.comparison .portrait-bottom{display:none}.comparison .viewer-toolbar{top:55px}.milestone{padding:15px;background:#e31b2311;color:var(--accent);border-radius:8px}.duel-stage{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.duel-stage .portrait{height:530px;min-height:530px}.duel-vs{position:absolute;z-index:5;top:48%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);width:65px;height:65px;border-radius:50%;background:var(--accent);color:#ffffff;display:grid;place-items:center;font-size:25px;font-weight:900;box-shadow:0 0 40px #0008}.duel-preview{display:grid;grid-template-columns:minmax(450px,1.6fr) minmax(250px,.7fr);gap:20px}.matchup{display:flex;flex-direction:column;justify-content:center;gap:18px}.matchup h2{font-size:27px;margin:8px 0}.match-projection{display:flex;justify-content:space-between;align-items:center}.match-projection b{font-size:30px;color:var(--accent)}.match-projection span{font-size:10px;letter-spacing:1px;color:var(--muted)}.matchup>p{margin:0}.matchup .small{font-size:13px}.rival-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.rival-card{text-align:left;padding:12px}.rival-card canvas{height:170px}.rival-card h3{margin:12px 0 6px;font-size:14px}.rival-card .small{font-size:11px}.match-history{display:grid;gap:10px}.match-history>div{display:flex;align-items:center;gap:15px;font-size:14px}.match-history b{margin-left:auto}.battle .portrait{height:350px;min-height:350px}.battle .portrait-bottom h2{font-size:23px}.battle .portrait-top .small{display:none}.battle .portrait-bottom{padding:35px 20px 16px}.battle .portrait-bottom>.small{font-size:12px}.final-scores{display:flex;align-items:center;justify-content:center;gap:35px}.final-scores b{font-size:48px;color:var(--accent);font-variant-numeric:tabular-nums}.final-scores span{color:var(--muted);font-weight:bold}.defeat{color:#eaa995}.battle-stats{font-size:14px;padding:5px}.camera-layout{display:grid;grid-template-columns:1.25fr .85fr;gap:24px;align-items:start}.camera-stage{position:relative}.camera-stage .portrait{height:720px;max-height:780px}.camera-stage .portrait-top,.camera-stage .portrait-bottom{display:none}.camera-stage .viewer-toolbar{top:auto;bottom:20px}.camera-frame{position:absolute;inset:20px;pointer-events:none;display:flex;justify-content:space-between;align-items:start;font-size:10px;letter-spacing:1.5px;color:#e31b23aa}.camera-frame:after{content:'';position:absolute;inset:45px 0 65px;border:1px solid #ffffff16}.camera-layout .tabs button{font-size:12px}.camera-layout .panel{padding:22px}.camera-layout label{margin-top:12px}.photo-result{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.photo-result img{width:100%;max-height:560px;object-fit:contain;background:#131b16;border-radius:12px}.photo-result button{display:block}.generation{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.generation .trait{padding:9px 0}.scan-stage{min-height:460px;background:radial-gradient(#3d2329,#17171c);border-radius:12px;position:relative;overflow:hidden;display:grid;place-items:center}.scan-stage>.portrait{width:100%;height:520px;min-height:520px}.scan-line{position:absolute;left:0;right:0;height:2px;background:var(--accent);box-shadow:0 0 30px var(--accent);animation:scan 2s infinite}.rare-reveal{animation:surge 1s}.elite-reveal,.legendary-reveal{animation:surge 1.5s}.menu .portrait{max-height:none}.menu-copy h1{font-size:76px;letter-spacing:-5px}.render-error{position:absolute;top:40%;padding:30px;z-index:5;text-align:center}.modal{max-height:calc(100vh - 48px);overflow-y:auto}.modal.wide{width:min(1040px,100%)}@keyframes scan{from{top:0}to{top:100%}}@keyframes surge{40%{box-shadow:inset 0 0 120px #e31b2344,0 0 35px #e31b2344}} @media(max-width:1200px){.market-grid{grid-template-columns:1fr 1fr}.market-layout{grid-template-columns:minmax(230px,.8fr) minmax(300px,1fr)}.duel-preview{grid-template-columns:1fr}.duel-stage .portrait{height:470px;min-height:470px}.matchup{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px 25px}.rival-grid{grid-template-columns:repeat(3,1fr)}.camera-layout{grid-template-columns:1fr 1fr}.camera-stage .portrait{height:750px}.workout-layout{grid-template-columns:1fr 1fr}} @media(max-width:760px){.market-layout,.camera-layout,.workout-layout{grid-template-columns:1fr}.market-layout{gap:18px}.sticky-viewer{position:relative;top:0}.sticky-viewer .portrait{height:470px;min-height:470px}.portrait{min-height:510px}.market-search{grid-template-columns:1fr 125px}.market-search select{font-size:12px;padding:8px}.product-image{height:195px}.product-info{padding:12px}.camera-stage .portrait{height:580px;min-height:580px}.workout-view .portrait{height:340px;min-height:340px}.comparison{gap:8px}.comparison .portrait{height:350px;min-height:350px}.comparison .viewer-toolbar button{font-size:10px;padding:4px}.comparison .portrait-top{left:10px;right:10px}.comparison .portrait-top .small{display:none}.duel-stage{gap:12px}.duel-stage .portrait{height:390px;min-height:390px}.duel-stage .portrait-bottom{padding:35px 12px 15px}.duel-stage .portrait-bottom h2{font-size:21px}.duel-stage .portrait-bottom>.small{display:none}.duel-stage .portrait-top{left:12px;right:12px}.duel-stage .portrait-top .small{display:none}.duel-stage .viewer-toolbar{left:8px;right:8px}.duel-stage .viewer-toolbar button{font-size:10px;padding:4px}.matchup{display:flex}.rival-grid{grid-template-columns:repeat(2,1fr)}.generation{grid-template-columns:1fr}.scan-stage{min-height:320px}.scan-stage>.portrait{height:340px;min-height:340px}.photo-result{grid-template-columns:1fr}.photo-result img{max-height:390px}.battle .portrait{height:280px;min-height:280px}.battle .portrait-bottom h2{font-size:18px}.battle .portrait-bottom>.small{display:none}.battle .portrait-bottom{padding:35px 10px 15px}.battle .portrait-top{left:10px;right:10px}.battle .portrait-top .badge{font-size:9px}.final-scores b{font-size:38px}.result{font-size:27px}.menu-copy h1{font-size:65px;letter-spacing:-4px}}