:root{--bg:#10131a;--panel:#191e27;--border:#333943;--text:#f2f1eb;--muted:#9fa5ad;--accent:#f0aa5b}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.skip-link{position:absolute;left:-1000px;top:8px;padding:10px;background:white;color:black;z-index:30}.skip-link:focus{left:8px}.site-header{min-height:88px;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:13px;letter-spacing:.14em;font-weight:800;line-height:1.1}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);color:#151515;font-size:24px;letter-spacing:-.08em}.brand-mark span{color:white}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.22em;margin-top:5px}.site-header nav a{text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em}.site-header nav a:hover{color:var(--accent)}.header-count{font-size:10px;font-weight:700;letter-spacing:.16em;color:#858c95}.hero{min-height:600px;display:grid;grid-template-columns:51% 49%;border-bottom:1px solid var(--border)}.hero-copy{padding:90px 8% 52px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--accent);display:flex;align-items:center;gap:10px}.eyebrow span{width:30px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(56px,6.8vw,110px);letter-spacing:-.075em;line-height:.99;margin:38px 0 26px}.hero h1 em{color:var(--accent);font-style:normal}.hero-lead{font-size:16px;line-height:1.7;color:#babdc0;max-width:540px}.hero-link{display:flex;gap:46px;align-items:center;text-decoration:none;border-bottom:1px solid var(--accent);padding:13px 0;margin-top:24px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em}.hero-link span{font-size:22px;color:var(--accent);font-weight:400}.hero-stats{display:flex;gap:42px;margin-top:auto;padding-top:45px}.hero-stats div{display:flex;flex-direction:column;gap:5px}.hero-stats b{font-size:28px;letter-spacing:-.05em}.hero-stats span{font-size:9px;letter-spacing:.14em;color:#8e969e;font-weight:700}.hero-art{position:relative;overflow:hidden;min-height:600px;background:radial-gradient(circle at 45% 45%,#303843,#1b222c 60%,#141922)}.hero-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:32px 32px}.hero-pixel{position:absolute;width:49%;height:65%;object-fit:contain;box-shadow:0 25px 55px #0006}.hero-pixel-back{left:1%;top:26%;transform:rotate(-8deg);opacity:.8}.hero-pixel-main{left:25%;top:12%;z-index:2;width:53%;height:78%}.hero-pixel-front{right:-7%;top:31%;transform:rotate(8deg);opacity:.85}.hero-art>span{position:absolute;bottom:20px;right:25px;color:#a8afb6;font-size:9px;letter-spacing:.15em;font-weight:700}.directory{padding:100px 5% 120px;max-width:1580px;margin:auto;scroll-margin-top:10px}.section-heading{display:grid;grid-template-columns:12% 1fr;gap:15px;margin-bottom:45px}.section-heading>span{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--accent);padding-top:12px}.section-heading h2{font-size:clamp(50px,5vw,76px);letter-spacing:-.07em;line-height:1;margin:0 0 15px}.section-heading h2 span{color:var(--accent)}.section-heading p{max-width:700px;color:#aab0b6;line-height:1.6;margin:0}.controls{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:12px}.search{display:flex;align-items:center;gap:14px;background:#1b2029;border:1px solid var(--border);padding:0 18px;min-width:320px;min-height:52px}.search:focus-within{border-color:var(--accent)}.search span{font-size:27px;color:var(--accent)}.search input{background:transparent;border:0;outline:0;color:white;width:100%;font-size:14px}.search input::placeholder{color:#858c95}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--border);color:#afb4ba;font-size:11px;font-weight:700;letter-spacing:.04em;padding:13px 15px}.filters button b{font-size:10px;color:#828a93;padding-left:6px}.filters button.active,.filters button:hover{background:var(--accent);border-color:var(--accent);color:#17191e}.filters button.active b,.filters button:hover b{color:#574534}.result-count{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#858d95;margin:18px 0 25px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.character-card{min-width:0;border:1px solid var(--border);background:#171c24;display:flex;flex-direction:column}.character-card[hidden]{display:none}.compare{display:grid;grid-template-columns:1fr 1fr;height:255px;border-bottom:1px solid var(--border)}.compare-side{position:relative;overflow:hidden;display:grid;place-items:center}.compare-side+div{border-left:1px solid var(--border)}.source-photo{background:#262831}.source-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.pixel-photo{background:radial-gradient(circle,#39434d,#242c36)}.pixel-photo img{width:100%;height:100%;object-fit:contain}.compare-side>span{position:absolute;left:9px;bottom:9px;background:#111720dd;padding:6px 7px;color:#eee;font-size:8px;letter-spacing:.12em;font-weight:700}.name-art{height:255px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:25px;color:#323d48;background:linear-gradient(130deg,#232b35,#171d26)}.name-art span{font-size:124px;font-weight:800;letter-spacing:-.15em}.name-art i{font-style:normal;font-size:60px;color:#ac7a47}.card-body{padding:22px 22px 18px;display:flex;flex-direction:column;flex:1}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-n,.status{font-size:9px;letter-spacing:.12em;font-weight:700;color:#86919b}.status-ready{color:var(--accent)}.card-body h3{font-size:27px;letter-spacing:-.045em;line-height:1.05;margin:19px 0 6px}.actor{font-size:13px;color:#b5b9be;margin-bottom:25px}.card-open{border:0;border-top:1px solid var(--border);background:transparent;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:17px 0 0;margin-top:auto;display:flex;justify-content:space-between;text-align:left}.card-open span{font-size:18px;font-weight:400}.card-open:hover{text-decoration:underline}.card-pending{border-top:1px solid var(--border);padding-top:17px;margin-top:auto;color:#838a91;font-size:10px;line-height:1.4}.no-results{text-align:center;color:#b5b9be;padding:60px}footer{border-top:1px solid var(--border);min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 5%;font-size:9px;letter-spacing:.12em;color:#9da4ab}footer i{color:var(--accent);font-style:normal}footer a{text-decoration:none;color:var(--accent)}dialog{border:1px solid #434a53;background:#171c24;color:var(--text);width:min(1050px,calc(100% - 24px));max-height:92vh;padding:0;box-shadow:0 40px 100px #000b}dialog::backdrop{background:#05080de0}.dialog-shell{padding:45px;position:relative}.dialog-close{position:absolute;right:20px;top:15px;background:none;border:0;color:var(--accent);font-size:32px}.dialog-eyebrow,.detail-kicker{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--accent)}.dialog-title{font-size:clamp(42px,5vw,68px);letter-spacing:-.06em;margin:13px 0 5px}.dialog-actor{font-size:17px;color:#b9bec4;margin-bottom:34px}.detail-section{border-top:1px solid var(--border);padding-top:25px;margin-top:30px}.detail-section h3{font-size:23px;letter-spacing:-.04em;margin:7px 0 20px}.detail-section p{color:#aeb5bc;line-height:1.5}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-gallery figure{margin:0;background:#262b33}.photo-gallery img{width:100%;height:280px;object-fit:cover}.photo-gallery figcaption{font-size:10px;color:#b9bdc2;padding:12px}.detail-pixel{width:100%;max-width:530px;background:#2d3540}.detail-concept{width:100%;background:#d2d0ca}.detail-model{height:460px;background:radial-gradient(circle,#35404c,#202733);position:relative;display:grid;place-items:center}.model-poster{width:100%;height:100%;background-position:center;background-size:contain;background-repeat:no-repeat;border:0;color:white;position:relative}.model-poster span{position:absolute;bottom:18px;left:18px;right:18px;padding:14px;background:#111720e8;border:1px solid #ffffff50;text-align:left;font-size:10px;letter-spacing:.16em;font-weight:700}.detail-model model-viewer{height:100%;width:100%}body.modal-open{overflow:hidden}@media(max-width:1000px){.header-count{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 6% 45px;min-height:520px}.hero-art{min-height:470px}.directory{padding:80px 5%}.controls{align-items:stretch;flex-direction:column}.search{min-width:0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.site-header{min-height:75px;padding:15px 5%}.brand{font-size:11px}.brand-mark{width:38px;height:38px}.hero-copy{min-height:510px;padding:65px 6% 32px}.hero h1{font-size:clamp(57px,13vw,84px)}.hero-lead{font-size:14px}.hero-stats{gap:22px}.hero-stats b{font-size:23px}.hero-stats span{font-size:8px}.hero-art{min-height:330px}.hero-pixel{height:65%}.section-heading{grid-template-columns:1fr;gap:18px}.directory{padding:65px 5%}.filters{display:grid;grid-template-columns:repeat(3,1fr)}.filters button{padding:10px 6px;font-size:9px}.filters button b{display:block;padding:3px 0 0}.card-grid{grid-template-columns:1fr;gap:18px}.compare,.name-art{height:250px}footer{flex-direction:column;align-items:flex-start;padding:30px 5%}.dialog-shell{padding:34px 18px}.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:330px}.detail-model{height:360px}}

/* Character cards and full-page role details */
.card-art{display:grid;place-items:center;height:290px;padding:8px;background:radial-gradient(circle,#39434d,#242c36);border-bottom:1px solid var(--border);overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
.card-art:hover img{transform:scale(1.04)}
.card-body h3 a{text-decoration:none}
.card-body h3 a:hover{color:var(--accent)}
.card-open{text-decoration:none}
.filters button:focus-visible,.card-open:focus-visible,.card-art:focus-visible,.role-back a:focus-visible,.role-bottom a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.role-page{max-width:1280px;margin:auto;padding:34px 5% 100px}
.role-back a,.role-bottom a{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.role-back a:hover,.role-bottom a:hover{text-decoration:underline}
.role-heading{padding:58px 0 55px;border-bottom:1px solid var(--border)}
.role-heading h1{font-size:clamp(55px,8vw,104px);line-height:1.02;letter-spacing:-.07em;margin:30px 0 15px}
.role-heading>p:last-child{font-size:22px;color:#b9bec4;margin:0}
.role-section{padding:60px 0;border-bottom:1px solid var(--border)}
.role-section-title{display:flex;align-items:baseline;gap:30px;margin-bottom:20px}
.role-section-title span{flex:0 0 170px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.16em}
.role-section-title h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.06em;line-height:1.1;margin:0}
.role-section>p{color:#b5bcc3;line-height:1.6;margin-left:200px;max-width:720px}
.role-section .photo-gallery,.role-section .role-pixel,.role-section .role-concept,.role-section .detail-model{margin-left:200px;width:calc(100% - 200px)}
.role-section .photo-gallery img{height:350px}
.role-pixel{display:block;max-width:650px;background:#2d3540}
.role-concept{display:block;max-width:800px}
.role-bottom{padding-top:40px}
@media(max-width:1000px){.role-section-title{display:block}.role-section-title span{display:block;margin-bottom:18px}.role-section>p,.role-section .photo-gallery,.role-section .role-pixel,.role-section .role-concept,.role-section .detail-model{margin-left:0;width:100%}}
@media(max-width:650px){.filters{display:flex;width:100%}.filters button{flex:1;font-size:11px;padding:12px 8px}.filters button b{display:inline;padding-left:5px}.card-art{height:280px}.role-page{padding:25px 5% 70px}.role-heading{padding:50px 0 45px}.role-heading h1{font-size:clamp(48px,12vw,72px)}.role-heading>p:last-child{font-size:18px}.role-section{padding:45px 0}.role-section .photo-gallery{display:grid;grid-template-columns:1fr}.role-section .photo-gallery img{height:auto;max-height:560px;object-fit:contain}.role-section .detail-model{height:370px}}
