/* Dia-inspired character entrance; approved product bands are unchanged. */
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.footer-links a:hover{color:#ffcc19}
.footer-links a:focus-visible{outline:2px solid #ffcc19;outline-offset:4px}
@media(max-width:650px){.footer-links{width:100%;justify-content:space-between;gap:8px 16px}}
.reference-site .nav[data-theme="characters"]{background:#101311;border-bottom-color:#ffffff18}
.character-hero{height:100svh;min-height:680px;background:#101311;color:white;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding:90px 24px 14px;text-align:center}
.character-heading{z-index:2;flex:none}
.character-heading h1{font-size:clamp(118px,12vw,184px);font-weight:900;letter-spacing:-.065em;line-height:1}
.character-heading p{font-size:clamp(23px,2.25vw,34px);font-weight:650;margin:10px 0 20px;line-height:1.25}
.character-heading .button{font-size:17px;border-radius:10px;padding:10px 38px;min-height:44px}
.role-portrait{flex:1;min-height:0;width:min(520px,90vw);position:relative;margin-top:10px}
.role-portrait img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 53%,transparent 74%)}
#spark-stage .live-pin{min-height:0;height:100%;background:transparent}
#spark-stage .live-stage{inset:0}
#spark-stage .live-shadow{left:22%;width:56%;top:88%;height:2%;opacity:.15}
#spark-stage .live-stage canvas{touch-action:none;cursor:grab}
#spark-stage .live-stage canvas.is-grabbing{cursor:grabbing}
#spark-stage .live-stage canvas:focus{outline:none;box-shadow:none}
#spark-stage:has(canvas:focus-visible)::after{content:'方向键选择 · 回车确认 · Esc 返回';position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;font-size:12px;color:#181a19;background:#ffcc19;padding:4px 10px;border-radius:20px;pointer-events:none}
.desk-scene{margin:0}
.desk-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.product-intro{max-width:1160px;margin:0 auto;text-align:left}
.intro-heading h2{font-size:clamp(44px,5.4vw,76px);line-height:1.12;letter-spacing:-.045em;margin:0 0 22px}
.intro-heading h2 span{color:#ffcc19}
.intro-heading>p{font-size:22px;line-height:1.5;color:#c0c5c1;margin:0}
.intro-products{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,88px);margin:48px 0 52px}
.intro-visual{height:280px;display:flex;align-items:center;justify-content:center;margin:0 0 28px}
.intro-visual img{display:block;width:100%;height:100%;object-fit:contain}
.intro-box .intro-visual img{max-width:340px}
.intro-agent .intro-visual img{height:auto;max-height:100%;border:1px solid #ffffff24}
.product-intro h3{font-size:20px;line-height:1.3;font-weight:650;margin:0 0 12px;color:#c0c5c1;letter-spacing:-.025em}
.intro-purpose{font-size:clamp(27px,2.7vw,38px);line-height:1.25;font-weight:700;letter-spacing:-.035em;margin:0 0 18px;color:white}
.intro-description{font-size:17px;line-height:1.8;color:#c0c5c1;margin:0 0 22px}
.product-intro .inline-action{font-size:17px;min-height:44px;color:#ffcc19;border-color:#ffcc1970;display:inline-flex;align-items:center;gap:24px}
.intro-closing{border-top:1px solid #ffffff24;padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.intro-closing p{font-size:23px;line-height:1.4;font-weight:600;margin:0}
.intro-closing p span{display:block;font-size:15px;line-height:1.6;font-weight:400;color:#c0c5c1;margin-top:8px}
.intro-closing .button{font-size:18px;white-space:nowrap;flex-shrink:0}
.try-section details{max-width:1160px;margin-top:36px;border-top:0}
.try-section summary{text-align:left;font-size:13px;padding:12px 0;min-height:44px}
.product-intro a:focus-visible{outline:2px solid #fff;outline-offset:6px}
@media(max-width:767px){.intro-heading h2{font-size:44px}.intro-heading>p{font-size:19px}.intro-products{grid-template-columns:1fr;gap:48px;margin:32px 0 36px}.intro-visual{height:230px;margin-bottom:22px}.intro-agent .intro-visual{height:auto}.intro-purpose{font-size:30px}.intro-description{font-size:16px}.intro-closing{align-items:flex-start;flex-direction:column}.intro-closing p{font-size:21px}.intro-closing .button{font-size:17px}}
.demo-hint{font-size:13px!important;line-height:1.6!important;opacity:.7;margin:20px 0 0!important}
.demo-access{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.demo-access:focus-within{position:relative;clip-path:none;width:auto;height:auto;padding:12px;display:flex;gap:10px;flex-wrap:wrap;background:#ffcc19}
.demo-access button{border:1px solid #181a19;background:transparent;padding:10px;font-size:15px}
@media(max-width:650px){.character-hero{padding-top:96px;min-height:640px}.character-heading h1{font-size:102px}.character-heading p{font-size:24px}.role-portrait{width:min(420px,100vw)}.spark-chapter .chapter-copy p{margin:20px 0}.spark-chapter .demo-hint{font-size:12px!important}.spark-chapter .product-stage{height:460px}}
