/* Every rule is LAB-only. Existing content, status colors and controls remain. */
html[data-theme="lab"] {
  --bg:#f5f6fc; --bg2:#fff; --bg3:#f0edfa; --bg4:#fff;
  --tx:#28344e; --tx2:#53617b; --tx3:#65728b;
  --accent:#7055c6; --accent2:#bd70a5; --accent3:#eee8fb;
  --glass:#ffffffed; --glass-strong:#fff;
  --border:#e4e6f2; --border2:#dedfec; --border3:#e4e6f2;
  --shadow:0 5px 22px #434d7410; --shadow2:0 10px 32px #69559d20;
  color-scheme:light; background:#f5f6fc; scroll-padding-top:16px;
}
html[data-theme="lab"] body {
  background:radial-gradient(ellipse at 100% 0%,#eee5fa 0%,transparent 45%),linear-gradient(180deg,#f6f7fc,#edf4fb);
  color:var(--tx); background-attachment:fixed;
  font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Hiragino Sans',sans-serif;
  -webkit-text-size-adjust:100%;
}
html[data-theme="lab"] body::before,
html[data-theme="lab"] body::after,
html[data-theme="lab"] .ambient-orbs,
html[data-theme="lab"] .bg-orb { display:none; }
html[data-theme="lab"] [hidden] { display:none!important; }
html[data-theme="lab"] :focus-visible { outline:3px solid #785ac8; outline-offset:3px; }
html[data-theme="lab"] #lab-top {
  box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:12px;
  max-width:800px; width:100%; margin:0 auto; padding:16px 16px 14px; position:relative; z-index:2;
  font-family:inherit; line-height:1.4;
}
html[data-theme="lab"] #lab-top a { color:#37435f; text-decoration:none; }
html[data-theme="lab"] .lab-brand { display:flex; align-items:center; gap:9px; font-size:16px; font-weight:850; letter-spacing:.09em; }
html[data-theme="lab"] .lab-brand small { display:block; margin-top:3px; font-size:9px; font-weight:500; letter-spacing:.04em; color:#64718b; }
html[data-theme="lab"] .lab-brand-mark { display:grid; place-items:center; flex-shrink:0; box-sizing:border-box; width:44px; height:48px; border:1px solid #b7a2d6; border-radius:14px; background:#eee7f8; box-shadow:0 3px 9px #8166c41a; }
html[data-theme="lab"] .lab-top-actions { display:flex; gap:5px; }
html[data-theme="lab"] .lab-top-actions a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 9px; font-size:11px; font-weight:700; border:1px solid #e2e1ee; border-radius:14px; background:#ffffffb3; white-space:nowrap; }
html[data-theme="lab"] .lab-intro { box-sizing:border-box; position:relative; display:flex; justify-content:space-between; align-items:center; gap:8px; width:calc(100% - 32px); max-width:768px; min-height:130px; margin:0 auto 16px; padding:22px 18px; border:1px solid #ffffff; border-radius:24px; background:radial-gradient(ellipse at right,#f9e7f1,transparent 70%),linear-gradient(120deg,#ede8fc,#e8f2fc); box-shadow:0 8px 28px #6b598c0a; overflow:hidden; }
html[data-theme="lab"] .lab-intro>div { position:relative; z-index:1; flex:1; }
html[data-theme="lab"] .lab-eyebrow { display:block; color:#746195; font-size:10px; font-weight:800; letter-spacing:.16em; margin-bottom:8px; }
html[data-theme="lab"] .lab-intro-title { color:#34405d; font-size:21px; font-weight:800; line-height:1.4; margin:0 0 7px; }
html[data-theme="lab"] .lab-intro-desc { color:#5c6983; font-size:12px; line-height:1.7; margin:0; max-width:30em; }
html[data-theme="lab"] .lab-intro>img { object-fit:contain; width:100px; height:105px; flex-shrink:0; align-self:flex-end; filter:drop-shadow(0 5px 9px #78628b15); }
html[data-theme="lab"] :is(.p-wrap,.wiki-wrap,.ac-wrap,.syn-wrap,.ab-wrap,.gd-wrap,.nw-wrap,.ci-wrap,.tm-wrap) { max-width:800px; margin-inline:auto; padding-inline:16px; }
html[data-theme="lab"] :is(.page-header,.page-hdr,.ac-hero,.syn-hero,.ab-hero,.gd-hero,.nw-hero) { margin-bottom:20px; }
html[data-theme="lab"] :is(.page-title,.page-hdr h1,.ac-hero h1,.syn-hero h1,.ab-hero h1,.gd-hero h1,.nw-hero h1) { color:var(--tx); -webkit-text-fill-color:var(--tx); font-size:clamp(21px,5.4vw,30px); line-height:1.5; }
html[data-theme="lab"] :is(.page-desc,.page-sub) { color:var(--tx2); line-height:1.8; }
html[data-theme="lab"] :is(.glass,.glass-card,.p-card,.ac-card,.ab-card,.gd-card,.ci-card,.result-card,.wiki-section,.wiki-toc,.syn-stat,.input-box,.g-card) { background:#fff; border:1px solid #e3e5f0; border-radius:20px; box-shadow:0 5px 20px #38476808; backdrop-filter:none; }
html[data-theme="lab"]:not([data-lab-section="immersive"]):not([data-lab-section="play"]) :is(.card,.memo-card) { border-radius:20px; border-color:#e1e4f0; box-shadow:0 5px 20px #3847680c; }
html[data-theme="lab"] :is(.analyze-btn,.ac-btn.primary,.syn-btn,.conv-btn) { border-radius:16px; box-shadow:0 5px 15px #7456bb20; }
html[data-theme="lab"] :is(.fbtn,.fchip,.choice-btn,.purpose-btn,.filter-chip,.p-chip,.ac-tab-btn) { min-height:44px; border-radius:12px; }
html[data-theme="lab"] :is(.fbtn.on,.fchip.on,.choice-btn.active,.purpose-btn.active,.filter-chip.active) { outline:1px solid #9678d5; outline-offset:-1px; }
html[data-theme="lab"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="color"]),select,textarea) { font-size:16px; border-radius:12px; }
html[data-theme="lab"] :is(.wiki-hero,.w2-hero) { background:linear-gradient(125deg,#465377,#7163a3); box-shadow:0 10px 30px #4d578b1a; border-radius:24px; }
html[data-theme="lab"] .wiki-hero-title { font-size:clamp(22px,5.5vw,32px); line-height:1.5; }
html[data-theme="lab"] :is(.wiki-p,.wiki-ul li,.wiki-ol li) { font-size:14px; line-height:1.95; color:#3d4961; }
html[data-theme="lab"] .wiki-section { padding:22px 20px; margin-bottom:16px; }
html[data-theme="lab"] .wiki-section-title { font-size:18px; line-height:1.6; border-bottom-color:#e9e5f4; }
html[data-theme="lab"] .wiki-toc-list li a { min-height:44px; align-items:center; }
html[data-theme="lab"] :is(.wiki-table-wrap,.table-wrap) { overflow-x:auto; overscroll-behavior-inline:contain; }
html[data-theme="lab"] .wiki-table { font-size:13px; }
html[data-theme="lab"] .wiki-breadcrumb { font-size:12px; line-height:1.8; }
html[data-theme="lab"] :is(.w2-card,.w2-sec) { border-radius:20px; border-color:#e2e5f0; }
html[data-theme="lab"][data-lab-section="ranking"] .live-tile { border-radius:24px; box-shadow:0 8px 24px #35345822; }
html[data-theme="lab"][data-lab-section="info"] :is(.wrap,.box) { line-height:1.95; }
html[data-theme="lab"][data-lab-section="info"] h2 { margin-top:28px; }
html[data-theme="lab"] .lab-footer { box-sizing:border-box; max-width:800px; margin:32px auto 12px; padding:24px 16px; text-align:center; border-top:1px solid #dedfed; color:#64718b; font-size:11px; }
html[data-theme="lab"] .lab-footer>span { font-size:10px; letter-spacing:.12em; }
html[data-theme="lab"] .lab-footer nav { display:flex; flex-wrap:wrap; gap:4px 16px; justify-content:center; margin:10px 0; }
html[data-theme="lab"] .lab-footer a { color:#5c6483; padding-block:12px; text-decoration:none; }
html[data-theme="lab"] .lab-footer button { min-height:44px; padding:8px 18px; border:1px solid #dedbed; background:#fff; color:#64567d; border-radius:24px; font:inherit; cursor:pointer; }
/* No invented progress percentage in LAB. Existing requests are untouched. */
html[data-theme="lab"] :is(.ai-prog-outer,.ai-prog-label,#progressPct,.progress-track) { display:none!important; }
/* Fullscreen games retain their layout and their existing exit controls. */
html[data-theme="lab"][data-lab-section="immersive"] #lab-top { display:none; }
html[data-theme="lab"][data-lab-section="immersive"] body { padding-bottom:0!important; }
html[data-theme="lab"][data-lab-section="immersive"] :is(.field,.panel) { border-color:#d8d2ec; box-shadow:0 8px 24px #6c568f14; }
@media(max-width:430px) {
  html[data-theme="lab"] .lab-intro { padding:18px 14px; }
  html[data-theme="lab"] .lab-intro>img { width:82px; height:96px; }
  html[data-theme="lab"] .lab-intro-title { font-size:19px; }
  html[data-theme="lab"] .wiki-section { padding:18px 15px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme="lab"] { scroll-behavior:auto!important; }
  html[data-theme="lab"] :is(.lab-intro,.lab-brand-mark) { animation:none!important; transition:none!important; }
}
html[data-theme="lab"][data-lab-section="home"] #lab-top { max-width:480px; }
html[data-theme="lab"] .lab-home-hero { position:relative; min-height:330px; margin:0 12px 18px; border-radius:24px; overflow:hidden; background:linear-gradient(90deg,#faf7ffe8 0%,#faf7ffb3 43%,#eef5ff24 100%),url('/assets/lab-reference/lab-room-bg.webp') center/cover; box-shadow:0 8px 28px #51587513; }
html[data-theme="lab"] .lab-home-copy { position:relative; z-index:2; padding:25px 18px; }
html[data-theme="lab"] .lab-home-copy>span { color:#776194; font-size:9px; font-weight:800; letter-spacing:.12em; }
html[data-theme="lab"] .lab-home-copy h1 { color:#36405e; font-size:23px; line-height:1.6; margin:7px 0; letter-spacing:-.04em; }
html[data-theme="lab"] .lab-home-copy p { color:#55617d; font-size:12px; line-height:1.8; margin:0; }
html[data-theme="lab"] .lab-home-cast { position:absolute; right:3px; bottom:12px; width:65%; height:175px; pointer-events:none; }
html[data-theme="lab"] .lab-home-cast img { position:absolute; height:100%; width:auto; object-fit:contain; filter:drop-shadow(0 8px 8px #454b6826); }
html[data-theme="lab"] .lab-home-cast .lab-home-mira { left:0; z-index:1; transform:rotate(-5deg); }
html[data-theme="lab"] .lab-home-cast .lab-home-rei { right:0; height:92%; bottom:0; }
html[data-theme="lab"] .lab-home-account { position:absolute; bottom:22px; left:16px; z-index:3; display:flex; align-items:center; min-height:44px; max-width:145px; padding:9px 12px; border-radius:14px; border:1px solid #dfd7ef; background:#fffffff0; color:#60527a; font-size:11px; font-weight:700; box-shadow:0 3px 12px #66577f15; }
html[data-theme="lab"] .lab-home-extra { margin-bottom:16px; padding:18px; }
html[data-theme="lab"] .lab-home-extra p { font-size:12px; color:#606d85; margin:8px 0 12px; line-height:1.8; }
html[data-theme="lab"] .lab-home-extra small { color:#6b748a; font-size:10px; }
html[data-theme="lab"] .lab-home-links { display:grid; gap:8px; margin-bottom:12px; }
html[data-theme="lab"] .lab-home-links a { border:1px solid #e2dfee; padding:12px; border-radius:13px; background:#f8f6fe; color:#65528f; font-size:12px; font-weight:700; min-height:44px; }
html[data-theme="lab"].is-native-app #labSupport { display:none; }
html[data-theme="lab"] .lh-pill { cursor:pointer; font-family:inherit; }
html[data-theme="lab"][data-lab-section="info"] body:has(>.box) { display:block; }
html[data-theme="lab"][data-lab-section="info"] body>.box { margin:24px auto; }
html[data-theme="lab"][data-lab-section="info"] body>.box p { color:#5d6980; }
html[data-theme="lab"][data-lab-section="info"] body>.box a.btn:not(.main) { color:#5f4e89; background:#fff; }
/* Standalone retirement notices used a centered flex body and global anchors. */
html[data-theme="lab"][data-lab-section="info"] body:has(>.card) { display:block; padding:0 0 80px; }
html[data-theme="lab"][data-lab-section="info"] body>.card { box-sizing:border-box; width:calc(100% - 32px); margin:24px auto; }
html[data-theme="lab"] #lab-top .lab-brand { background:transparent; padding:0; border-radius:0; text-align:left; }
html[data-theme="lab"] .lab-footer a { background:transparent; border-radius:0; font-weight:500; }
html[data-theme="lab"][data-lab-section="wiki"] h2:has(.chara-chip) { flex-wrap:wrap; }
html[data-theme="lab"] body>.section { box-sizing:border-box; max-width:800px; margin-inline:auto; padding-inline:16px; }
html[data-theme="lab"] body>.page-header { max-width:768px; margin-inline:auto; }

/* Existing approved AI laboratory background; only AI page introductions. */
html[data-theme="lab"][data-lab-section="ai"] .lab-intro {
  min-height:180px;
  background:linear-gradient(90deg,rgba(247,249,255,.96),rgba(247,249,255,.88) 48%,rgba(240,245,255,.12) 100%),
    url('/assets/lab-reference/ai-room-bg.webp') center 44% / cover;
  box-shadow:0 8px 28px rgba(74,91,139,.12);
}

html[data-theme="lab"] .lab-brand-mark img { display:block; width:40px; height:44px; object-fit:contain; }
