:root{--tc-purple:#8c5ee8;--tc-green:#20c990;--tc-navy:#030d22}
html{scroll-behavior:smooth}.tc-shell{overflow:hidden;background:#f4f9ff;color:#0a2441}.tc-shell .te-header{background:rgba(3,13,34,.9);border-bottom-color:rgba(89,202,255,.22);backdrop-filter:blur(16px)}
.tc-character-brand{display:flex;align-items:center;gap:8px;color:#fff;font-size:.95rem;font-weight:1000;text-decoration:none;white-space:nowrap}.tc-character-brand span:first-child{color:#c6a9ff}.tc-character-brand span:last-child{color:#69e4bd}.tc-character-brand i{color:#6e98b9;font-style:normal;font-size:.72rem}
.tc-hero{position:relative;display:grid;align-items:center;min-height:760px;background:radial-gradient(circle at 83% 35%,rgba(32,201,144,.22),transparent 29%),radial-gradient(circle at 66% 52%,rgba(150,79,223,.34),transparent 38%),linear-gradient(115deg,#020b1f 20%,#071d3e);color:#fff;isolation:isolate}.tc-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,10,28,.98) 0 32%,transparent 66%)}.tc-rings{position:absolute;right:-8vw;top:13%;width:min(62vw,820px);aspect-ratio:1;border:2px solid rgba(60,212,255,.2);border-radius:50%;box-shadow:0 0 0 70px rgba(50,187,246,.05),0 0 0 140px rgba(131,79,227,.05);animation:tcPulse 5s ease-in-out infinite}.tc-hero-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;gap:30px}.tc-hero-inner{position:relative;z-index:4}.tc-hero h1{max-width:760px;margin:12px 0 24px;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.98;letter-spacing:-.055em}.tc-hero h1 span{color:#55d9ff}.tc-hero p:not(.te-kicker){max-width:620px;color:#cae2f3;font-weight:700}.tc-hero .te-button{margin-top:26px}.tc-hero-pair{position:relative;height:620px;z-index:2}.tc-hero-pair img{position:absolute;width:390px;aspect-ratio:1/1.12;object-fit:cover;border-radius:32px;box-shadow:0 35px 80px rgba(0,0,0,.42);animation:tcPortraitFloat 6s ease-in-out infinite alternate}.tc-hero-pair img:first-child{left:0;top:38px;object-position:62% center;transform:rotate(-5deg)}.tc-hero-pair img:last-child{right:-36px;bottom:20px;object-position:34% center;transform:rotate(5deg);animation-delay:-3s}
.tc-intro{padding:100px 0;text-align:center;background:#fff}.tc-intro h2,.tc-gallery h2,.tc-terms h2{margin:8px auto 18px;max-width:900px;font-size:clamp(2rem,4.8vw,4.2rem);line-height:1.15}.tc-intro>div>p:last-child{max-width:780px;margin:auto;color:#49647d}
.tc-origin{max-width:780px;margin:38px auto 0;padding:22px 26px;border:1px solid #cfe7f4;border-radius:16px;background:#f3faff;text-align:left}.tc-origin strong{display:block;margin-bottom:5px;color:#0a5b86}.tc-origin p{margin:0;color:#496a82;line-height:1.8}
.tc-character{position:relative;padding:110px 0;isolation:isolate}.tc-character:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.75}.tc-saya{background:#090f28;color:#fff}.tc-saya:before{background:radial-gradient(circle at 72% 30%,rgba(150,77,224,.4),transparent 36%),linear-gradient(110deg,#06152e,#130d2b)}.tc-aoi{background:#eafdf8}.tc-aoi:before{background:radial-gradient(circle at 18% 42%,rgba(30,201,145,.36),transparent 34%),linear-gradient(110deg,#dff8fa,#eefcf4)}.tc-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(44px,8vw,105px);align-items:center}.tc-character-copy h2{margin:0 0 20px;font-size:clamp(3rem,7vw,6.5rem);line-height:1}.tc-character-copy>p:not(.te-eyebrow):not(.tc-number){max-width:580px;font-size:1.05rem;line-height:2;color:inherit;opacity:.78}.tc-number{font-size:.75rem;font-weight:900;letter-spacing:.22em;opacity:.55}.tc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tc-tags span{padding:8px 13px;border:1px solid currentColor;border-radius:999px;font-size:.74rem;font-weight:900;opacity:.8}.tc-portrait{position:relative;margin:0;transform:perspective(1000px) rotateY(-5deg)}.tc-aoi .tc-portrait{transform:perspective(1000px) rotateY(5deg)}.tc-portrait:before{content:"";position:absolute;inset:8% -4% -5% 5%;border:1px solid rgba(104,220,255,.4);border-radius:36px;transform:rotate(4deg)}.tc-portrait img{position:relative;display:block;width:100%;border-radius:30px;box-shadow:0 35px 80px rgba(0,0,0,.3);transition:transform .55s cubic-bezier(.16,.8,.2,1)}.tc-portrait:hover img{transform:translateY(-14px) scale(1.02)}.tc-portrait figcaption{position:absolute;right:18px;bottom:18px;padding:9px 13px;border-radius:10px;background:rgba(2,12,31,.76);color:#fff;font-size:.72rem;font-weight:900;backdrop-filter:blur(10px)}
.tc-gallery{padding:110px 0;background:linear-gradient(180deg,#fff,#edf7ff)}.tc-gallery-lead{max-width:720px;color:#506d86}.tc-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:46px}.tc-gallery-card{overflow:hidden;border:1px solid #cee6f4;border-radius:26px;background:#fff;box-shadow:0 22px 55px rgba(9,57,94,.13)}.tc-gallery-card>a:first-child{display:block;overflow:hidden}.tc-gallery-card img{display:block;width:100%;aspect-ratio:1/.82;object-fit:cover;transition:transform .7s cubic-bezier(.16,.8,.2,1)}.tc-gallery-card:hover img{transform:scale(1.045)}.tc-gallery-card>div{padding:25px}.tc-gallery-card span{color:#168ab8;font-size:.7rem;font-weight:1000;letter-spacing:.16em}.tc-gallery-card h3{margin:5px 0;font-size:1.5rem}.tc-gallery-card p{margin:0;color:#617c91;font-size:.86rem}.tc-download{display:inline-flex;margin-top:18px;color:#087fab;font-weight:900;text-decoration:none}.tc-download:hover{text-decoration:underline}
.tc-reference{padding:110px 0;background:linear-gradient(145deg,#eaf5ff,#f9fcff)}.tc-reference h2{margin:8px 0 16px;font-size:clamp(2rem,4.8vw,4.2rem);line-height:1.15}.tc-reference-lead{max-width:760px;color:#506d86;line-height:1.8}.tc-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}.tc-reference-grid article{padding:26px;border:1px solid #cce3f1;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 16px 38px rgba(13,74,111,.09)}.tc-reference-grid article>span{color:#1595c3;font-size:.72rem;font-weight:1000;letter-spacing:.16em}.tc-reference-grid h3{margin:7px 0 14px;color:#0b4f76}.tc-reference-grid p{margin:0;color:#4e6c83;line-height:1.8}.tc-reference-grid dl{margin:0}.tc-reference-grid dl div{display:grid;grid-template-columns:90px 1fr;padding:8px 0;border-top:1px solid #daeaf3}.tc-reference-grid dt{color:#7891a5;font-size:.8rem}.tc-reference-grid dd{margin:0;font-weight:900}.tc-reference-note{margin:24px 0 0;padding:16px 19px;border-left:4px solid #1bbd8b;background:#e5f8f1;color:#355f54}
.tc-terms{padding:105px 0;background:#06142e;color:#fff}.tc-terms-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.tc-terms h2{margin-left:0}.tc-rule-list{display:grid;gap:12px}.tc-rule-list p{display:grid;grid-template-columns:150px 1fr;gap:22px;margin:0;padding:20px 22px;border:1px solid rgba(108,207,244,.2);border-radius:14px;background:rgba(255,255,255,.045)}.tc-rule-list strong{color:#6de1ff}.tc-rule-list span,.tc-rule-list small{color:#bdd4e6;line-height:1.75}.tc-rule-list small{padding:16px 8px 0}
.tc-motion .tc-reveal{opacity:0;transform:translateY(55px) scale(.97);transition:opacity .85s ease,transform 1s cubic-bezier(.16,.8,.2,1)}.tc-motion .tc-reveal.is-visible{opacity:1;transform:none}@keyframes tcPulse{50%{transform:scale(1.06);opacity:.58}}@keyframes tcPortraitFloat{to{margin-top:-14px}}
@media(max-width:960px){.tc-hero{padding:80px 0}.tc-hero-layout{grid-template-columns:1fr}.tc-hero-pair{height:500px;max-width:700px;width:100%;margin:auto}.tc-hero-pair img{width:min(48vw,340px)}.tc-hero-pair img:last-child{right:0}.tc-hero-inner{text-align:center}.tc-hero p:not(.te-kicker){margin-left:auto;margin-right:auto}}
@media(max-width:820px){.tc-hero{min-height:680px}.tc-hero:after{background:linear-gradient(90deg,rgba(2,10,28,.93),rgba(2,10,28,.48))}.tc-character-grid,.tc-terms-grid,.tc-reference-grid{grid-template-columns:1fr}.tc-aoi .tc-portrait{order:2}.tc-character-copy{order:1}.tc-portrait{max-width:620px;margin:auto}.tc-gallery-grid{grid-template-columns:1fr}.tc-rule-list p{grid-template-columns:1fr;gap:7px}}
@media(max-width:560px){.tc-character-brand{font-size:.78rem}.tc-hero{min-height:620px;padding-bottom:45px}.tc-hero h1{font-size:clamp(3rem,16vw,5.2rem)}.tc-hero-pair{height:360px}.tc-hero-pair img{width:220px;border-radius:20px}.tc-hero-pair img:first-child{left:-15px;top:20px}.tc-hero-pair img:last-child{right:-15px;bottom:0}.tc-intro,.tc-character,.tc-reference,.tc-gallery,.tc-terms{padding:72px 0}.tc-character-grid{gap:34px}.tc-character-copy h2{font-size:3.6rem}.tc-portrait img{border-radius:20px}.tc-gallery-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.tc-rings{animation:none}.tc-motion .tc-reveal{opacity:1;transform:none;transition:none}}

/* Creator-reference expansion: assets copied from the current pokeTV character files. */
.tc-hero-pair img{width:390px;height:590px;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 35px 45px rgba(0,0,0,.42))}
.tc-hero-pair img:first-child{top:5px;object-position:center}.tc-hero-pair img:last-child{bottom:0;object-position:center}
.tc-portrait{display:grid;place-items:center;min-height:650px}.tc-portrait img{width:auto;max-width:100%;height:650px;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 35px 45px rgba(0,0,0,.28))}
.tc-profile-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0;padding:0;list-style:none}.tc-profile-data li{display:grid;gap:3px;padding:13px 15px;border:1px solid currentColor;border-radius:12px;opacity:.78}.tc-profile-data b{font-size:.68rem;letter-spacing:.08em;opacity:.7}
.tc-style-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:42px}.tc-style-gallery figure{position:relative;margin:0;overflow:hidden;min-height:380px;border:1px solid #cde4f1;border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 18px 42px rgba(13,74,111,.1)}.tc-style-gallery img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.tc-style-gallery figure:hover img{transform:translateY(-8px) scale(1.025)}.tc-style-gallery figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:9px;background:rgba(4,26,52,.78);color:#fff;font-size:.7rem;font-weight:900;text-align:center;backdrop-filter:blur(8px)}
@media(max-width:820px){.tc-style-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-portrait{min-height:560px}.tc-portrait img{height:560px}}
@media(max-width:560px){.tc-hero-pair img{width:220px;height:350px;border-radius:0}.tc-profile-data{grid-template-columns:1fr 1fr}.tc-style-gallery{gap:8px}.tc-style-gallery figure{min-height:270px;border-radius:14px}.tc-portrait{min-height:470px}.tc-portrait img{height:470px}}
