/*
Theme Name: AI動画ラボ
Theme URI: https://ai-douga-lab.com/
Author: AI動画ラボ
Description: AI動画・音声生成の比較メディア「AI動画ラボ」専用のブロックテーマ。warm-paper配色、和文長文向けの組版、更新日バッジ、読了プレイヘッドを備える。
Version: 1.4.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aidouga
Tags: blog, news, one-column, block-patterns, full-site-editing
*/

:root{
  --ease: cubic-bezier(.16, 1, .3, 1);
  --c-canvas: var(--wp--preset--color--canvas);
  --c-surface: var(--wp--preset--color--surface);
  --c-surface-2: var(--wp--preset--color--surface-2);
  --c-border: var(--wp--preset--color--border);
  --c-border-soft: var(--wp--preset--color--border-soft);
  --c-text: var(--wp--preset--color--text);
  --c-text-2: var(--wp--preset--color--text-2);
  --c-text-3: var(--wp--preset--color--text-3);
  --c-accent: var(--wp--preset--color--accent);
  --c-accent-bg: var(--wp--preset--color--accent-bg);
  --f-display: var(--wp--preset--font-family--display);
  --f-body: var(--wp--preset--font-family--body);
  --f-mono: var(--wp--preset--font-family--mono);
}

body{ text-rendering: optimizeLegibility; }
/* Home studio: code-drawn artwork, not a fabricated video preview. */
.aidl-studio{background:#1b1613;color:#fbf8f2;position:relative;box-shadow:12px 12px 0 #eae2d5;overflow:hidden}
.aidl-studio-top{display:flex;justify-content:space-between;padding:22px 26px;font:10px var(--f-mono);letter-spacing:.1em;border-bottom:1px solid #ffffff20}
.aidl-studio-top span:last-child{color:#efad88;font-family:var(--f-body)}
.aidl-studio-art{height:235px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 65% 80%,#b8431a50,transparent 65%)}
.aidl-orbit{position:absolute;width:280px;height:160px;border:1px solid #eea27970;border-radius:50%;transform:rotate(-30deg);animation:aidl-orbit-in 1.4s ease-out both}
.aidl-orbit-second{transform:rotate(35deg);width:210px;height:210px;border-color:#ffffff20}
.aidl-studio-word{font:500 clamp(44px,6vw,72px)/1 var(--f-mono);letter-spacing:-.06em;z-index:1}.aidl-studio-word span{display:block;font:9px var(--f-mono);letter-spacing:.35em;text-align:center;margin-top:18px;color:#dfcabc}
.aidl-wave{position:absolute;bottom:14px;display:flex;gap:5px;height:25px;align-items:center}.aidl-wave i{width:3px;height:8px;background:#d98659;animation:aidl-wave-on 1.8s ease-in-out 2}.aidl-wave i:nth-child(3n){height:22px;animation-delay:.2s}.aidl-wave i:nth-child(3n + 1){height:14px;animation-delay:.4s}
.aidl-studio-copy{padding:10px 28px 28px}.aidl-studio-copy h2{font:700 25px/1.55 var(--f-display);margin:0 0 12px;letter-spacing:-.02em}.aidl-studio-copy p{font-size:13px;color:#d1c3b8;line-height:1.9}.aidl-studio-copy a{display:flex;justify-content:space-between;color:#f0b492;font-size:12px;text-decoration:none;border-top:1px solid #ffffff25;padding-top:18px;margin-top:22px}
.aidl-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;background:var(--c-surface-2);padding:42px;margin-bottom:64px}.aidl-eyebrow{font:11px var(--f-mono);color:var(--c-accent);letter-spacing:.12em}.aidl-feature h2{font:900 38px/1.35 var(--f-display);margin:20px 0}.aidl-feature p{font-size:13px;color:var(--c-text-2)}.aidl-feature-links{display:flex;flex-direction:column;justify-content:center}.aidl-feature-links a{position:relative;padding:25px 26px 25px 0;text-decoration:none;color:var(--c-text);border-bottom:1px solid var(--c-border)}.aidl-feature-links span{display:block;font:10px var(--f-mono);color:var(--c-accent);margin-bottom:12px}.aidl-feature-links strong{font-size:17px}.aidl-feature-links b{position:absolute;right:0;top:50%;color:var(--c-accent)}.aidl-feature-links a:hover strong{text-decoration:underline;text-underline-offset:5px}.aidl-editorial a{color:var(--c-accent);white-space:nowrap;margin-left:8px}
@keyframes aidl-wave-on{50%{transform:scaleY(.35)}}
@keyframes aidl-orbit-in{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@media(max-width:760px){.aidl-studio{box-shadow:6px 6px 0 #eae2d5}.aidl-studio-art{height:210px}.aidl-feature{grid-template-columns:1fr;gap:6px;padding:28px 24px}.aidl-feature h2{font-size:32px}.aidl-feature-links strong{font-size:16px}}

/* ============================================================
   1. プレイヘッド（読了進捗）
   動画のサイトなので、進捗バーではなく「再生ヘッド」として設計
   ============================================================ */
.aidl-playhead{
  position: fixed; inset: 0 0 auto 0; height: 2px; z-index: 100;
  background: var(--c-border-soft);
}
.aidl-playhead__fill{
  height: 100%; width: 0%; background: var(--c-accent); will-change: width;
}
.aidl-playhead__head{
  position: absolute; top: -2px; left: 0; width: 2px; height: 6px;
  background: var(--c-accent); opacity: 0; transition: opacity .3s;
}
.aidl-playhead.is-on .aidl-playhead__head{ opacity: 1; }

/* ============================================================
   2. ヘッダー / フッター
   ============================================================ */
.aidl-chrome{ border-bottom: 1px solid var(--c-border); }
.aidl-brand{
  font-family: var(--f-display); font-weight: 900; font-size: 19px;
  letter-spacing: .04em; text-decoration: none; color: var(--c-text);
}
.aidl-brand em{ font-style: normal; color: var(--c-accent); }
.aidl-verified{
  font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .1em;
  color: var(--c-text-3); text-transform: uppercase;
}

/* ナビ：下線が左から伸びる */
.aidl-nav a{
  position: relative; text-decoration: none; color: var(--c-text-2);
  padding-bottom: 2px; font-size: 13px;
}
.aidl-nav a::after{
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%;
  background: var(--c-accent); transform: scaleX(0); transform-origin: left;
  transition: transform .32s var(--ease);
}
.aidl-nav a:hover{ color: var(--c-accent); }
.aidl-nav a:hover::after{ transform: scaleX(1); }

/* ============================================================
   3. 実測日バッジ — このサイト固有の装置
   腐りやすい数字を扱うので、鮮度を見た目で常時主張する
   ============================================================ */
.aidl-measured{
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500; letter-spacing: .08em;
  color: var(--c-accent); background: var(--c-accent-bg);
  border: 1px solid var(--c-accent); border-radius: 2px;
  padding: 3px 9px; white-space: nowrap;
}
.aidl-measured__dot{
  width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: none;
  animation: aidl-beat 2.6s ease-in-out infinite;
}
@keyframes aidl-beat{
  0%, 100%{ opacity: 1; transform: scale(1); }
  50%{ opacity: .35; transform: scale(.82); }
}
.aidl-since{ font-family: var(--f-mono); font-size: 11px; color: var(--c-text-3); }

/* ============================================================
   4. 記事
   ============================================================ */
.aidl-eyebrow{
  font-family: var(--f-mono); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--c-accent); margin: 0 0 16px;
}
.aidl-byline{
  display: flex; gap: 14px; flex-wrap: wrap; align-items: center;
  font-family: var(--f-mono); font-size: 11.5px; color: var(--c-text-3);
  padding-bottom: 26px; border-bottom: 1px solid var(--c-border); margin-bottom: 34px;
}

/* h2：静的な罫の上を、アクセントが左から引かれる（見出しは常に見えている） */
.aidl-article h2{
  position: relative; padding-top: 26px; border-top: 1px solid var(--c-border);
  text-wrap: balance;
}
.aidl-article h2::after{
  content: ""; position: absolute; top: -1px; left: 0; width: 56px; height: 1px;
  background: var(--c-accent); transform: scaleX(0); transform-origin: left;
  transition: transform .7s var(--ease);
}
.aidl-article h2.is-seen::after{ transform: scaleX(1); }
.aidl-article h1{ text-wrap: balance; }

.aidl-article p{ margin: 0 0 20px; }
.aidl-article code{
  font-family: var(--f-mono); font-size: .88em;
  background: var(--c-surface-2); border: 1px solid var(--c-border-soft);
  border-radius: 2px; padding: 1px 6px;
}

/* 結論ブロック（記事冒頭の .conclusion-box） */
.aidl-article .conclusion-box{
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-left: 2px solid var(--c-accent); border-radius: 2px;
  padding: 24px 26px 8px; margin: 0 0 40px;
}
.aidl-article .conclusion-box > p:first-child{
  font-family: var(--f-display); font-weight: 700; font-size: 14px;
  letter-spacing: .06em; color: var(--c-accent); margin-bottom: 12px;
}
.aidl-article .conclusion-box li{ margin-bottom: 11px; line-height: 1.9; }

/* 引用（規約原文の引用が多いサイトなので専用に組む） */
.aidl-article blockquote{
  margin: 26px 0; padding: 18px 24px; font-size: 15px;
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: 2px; color: var(--c-text-2);
}
.aidl-article blockquote p{ margin: 0; }
.aidl-article blockquote p + p{ margin-top: 8px; }
.aidl-article .src{
  font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .06em;
  color: var(--c-text-3); margin-top: 10px;
}

/* 注記 */
.aidl-article .note{
  font-size: 13px; color: var(--c-text-3); line-height: 1.85;
  border-top: 1px solid var(--c-border-soft); padding-top: 14px; margin-top: 30px;
}

/* ============================================================
   5. 比較表 — 数字は等幅、行hoverで左から罫
   ============================================================ */
.aidl-article figure.wp-block-table,
.aidl-article .tblwrap{
  margin: 26px 0 34px; border: 1px solid var(--c-border); border-radius: 2px;
  background: var(--c-surface); overflow-x: auto;
}
.aidl-article table{
  border-collapse: collapse; width: 100%; min-width: 460px;
  font-size: 14px; font-variant-numeric: tabular-nums;
}
.aidl-article th,
.aidl-article td{
  padding: 13px 16px; text-align: left; vertical-align: top; line-height: 1.7;
  border-bottom: 1px solid var(--c-border-soft);
}
.aidl-article th{
  font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--c-text-3); font-weight: 500;
  background: var(--c-surface-2); white-space: nowrap;
}
.aidl-article tbody tr{ transition: background .25s var(--ease); }
.aidl-article tbody td:first-child{ position: relative; }
.aidl-article tbody td:first-child::before{
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--c-accent); transform: scaleY(0); transform-origin: top;
  transition: transform .3s var(--ease);
}
.aidl-article tbody tr:hover{ background: var(--c-surface-2); }
.aidl-article tbody tr:hover td:first-child::before{ transform: scaleY(1); }
.aidl-article tbody tr:last-child td{ border-bottom: 0; }

/* 表の直後に置く実測日フッタ */
.aidl-tblfoot{
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap; margin: -26px 0 34px;
  font-family: var(--f-mono); font-size: 11.5px; color: var(--c-text-3);
}

/* ============================================================
   6. 一覧
   ============================================================ */
.aidl-card{ border-bottom: 1px solid var(--c-border); padding: 26px 0; }
.aidl-card__title a{
  font-family: var(--f-display); font-weight: 700; font-size: 18px;
  line-height: 1.6; color: var(--c-text); text-decoration: none;
}
.aidl-card__title a:hover{ color: var(--c-accent); }
.aidl-card__meta{
  font-family: var(--f-mono); font-size: 11px; color: var(--c-text-3);
  display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px;
}

/* ============================================================
   7. 読み込み時のせり上がり（休止状態は「見えている」）
   ============================================================ */
@keyframes aidl-rise{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: none; }
}
.aidl-r1, .aidl-r2, .aidl-r3, .aidl-r4{
  animation: aidl-rise .6s var(--ease) backwards;
}
.aidl-r1{ animation-delay: .02s; }
.aidl-r2{ animation-delay: .10s; }
.aidl-r3{ animation-delay: .18s; }
.aidl-r4{ animation-delay: .26s; }

/* ============================================================
   8. 動きを止める設定は必ず尊重する
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation: none !important; transition: none !important; }
  .aidl-article h2::after{ transform: scaleX(1); }
  .aidl-playhead{ display: none; }
}

/* フォーカスは必ず見える */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline: 2px solid var(--c-accent); outline-offset: 2px;
}

@media (max-width: 600px){
  .aidl-verified{ display: none; }
}
.aidl-home{max-width:1120px!important;margin:auto;padding-inline:28px;box-sizing:border-box}.aidl-home> *{max-width:none!important}.aidl-home-hero{padding:24px 0 66px}.aidl-home-kicker{font:12px var(--f-mono);letter-spacing:.14em;border-bottom:1px solid var(--c-border);padding-bottom:20px;display:flex;justify-content:space-between}.aidl-home-kicker span{font:12px var(--f-body);letter-spacing:.03em}.aidl-home-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:48px}.aidl-home h1{font:900 clamp(44px,5.8vw,76px)/1.2 var(--f-display);letter-spacing:-.05em;margin:0 0 28px}.aidl-home h1 em{font-style:normal;color:var(--c-accent)}.aidl-home-lead{font-size:17px;line-height:1.9;color:var(--c-text-2)}.aidl-home-cta{display:inline-flex;gap:32px;padding:15px 22px;margin-top:18px;background:var(--c-text);color:var(--c-canvas)!important;text-decoration:none;font-size:14px}.aidl-lab-note{background:var(--c-surface);padding:34px;border:1px solid var(--c-border);box-shadow:8px 8px 0 var(--c-surface-2);transform:rotate(1deg)}.aidl-note-label{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid var(--c-border);padding-bottom:18px}.aidl-note-label span{font:24px var(--f-mono);color:var(--c-accent)}.aidl-lab-note h2{font:700 32px/1.5 var(--f-display);letter-spacing:-.03em}.aidl-lab-note p{font-size:14px;color:var(--c-text-2)}.aidl-lab-note a{font-size:13px;color:var(--c-accent);text-underline-offset:4px}.aidl-note-track{height:24px;background:repeating-linear-gradient(90deg,var(--c-border) 0 1px,transparent 1px 12px);position:relative;overflow:hidden}.aidl-note-track i{position:absolute;left:45%;height:100%;width:2px;background:var(--c-accent);animation:aidl-scan 6s ease-in-out 2}.aidl-note-status{font-size:12px!important}.aidl-section-heading{display:flex;align-items:baseline;gap:24px;border-top:1px solid var(--c-text);padding-top:20px;margin-top:28px}.aidl-section-heading>span{font:11px var(--f-mono);letter-spacing:.1em;color:var(--c-accent)}.aidl-section-heading h2{font:700 23px var(--f-display);margin:0 0 24px}.aidl-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.aidl-start-grid>a{position:relative;display:block;padding:26px 24px 42px 0;color:var(--c-text);text-decoration:none;border-bottom:1px solid var(--c-border)}.aidl-start-grid>a+a{padding-left:24px;border-left:1px solid var(--c-border)}.aidl-start-grid span{font:10px var(--f-mono);color:var(--c-accent)}.aidl-start-grid h3{font:700 21px var(--f-display)}.aidl-start-grid p{font-size:13px;color:var(--c-text-2);max-width:230px}.aidl-start-grid b{position:absolute;right:24px;bottom:18px;color:var(--c-accent)}.aidl-start-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px}.aidl-editorial{display:flex;gap:30px;align-items:baseline;padding:24px 0;margin:24px 0 50px;border-bottom:1px solid var(--c-border)}.aidl-editorial strong{white-space:nowrap;font-size:13px}.aidl-editorial p{font-size:13px;color:var(--c-text-2);margin:0}.aidl-home .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;list-style:none;padding:0}.aidl-home .aidl-card{padding:0 0 25px}.aidl-home .aidl-card__title{font-size:20px;line-height:1.6;margin-top:16px}.aidl-home .wp-block-post-featured-image{margin:0;overflow:hidden}.aidl-home .wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;transition:transform .3s}.aidl-home .wp-block-post-featured-image a:hover img{transform:scale(1.025)}.aidl-home .wp-block-post-excerpt{font-size:13px;color:var(--c-text-2)}.aidl-home a:focus-visible{outline:2px solid var(--c-accent);outline-offset:5px}@keyframes aidl-scan{0%,100%{left:15%}50%{left:85%}}@media(max-width:760px){.aidl-home{padding-inline:20px}.aidl-home-grid{grid-template-columns:1fr;gap:36px;padding-top:32px}.aidl-home h1{font-size:52px}.aidl-home-kicker{font-size:10px}.aidl-home-kicker span{font-size:10px}.aidl-lab-note{transform:none}.aidl-start-grid{grid-template-columns:1fr}.aidl-start-grid>a+a{border-left:0;padding-left:0}.aidl-home .wp-block-post-template{grid-template-columns:1fr}.aidl-editorial{display:block}.aidl-editorial p{margin-top:10px}.aidl-home-hero{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.aidl-note-track i{animation:none}.aidl-home .wp-block-post-featured-image img{transition:none}}

/* Cyber opening: scoped to the home hero; reading surfaces retain the brand palette. */
.aidl-home-hero{position:relative;isolation:isolate;background:#07171d;color:#f4fcfc;padding:30px 36px 34px;margin-bottom:56px;border:1px solid #28454b;overflow:hidden;border-radius:3px}
.aidl-home-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 40%,#17667155,transparent 58%),linear-gradient(#64e8de08 1px,transparent 1px),linear-gradient(90deg,#64e8de08 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.aidl-home-hero .aidl-home-kicker{border-color:#36545a;color:#7ee9dd;font-size:11px;gap:14px;flex-wrap:wrap}
.aidl-home-hero .aidl-home-kicker span{color:#c1d2d6}
.aidl-home-hero .aidl-home-grid{grid-template-columns:1fr 1.12fr;gap:24px;padding-top:38px}
.aidl-home-hero h1{font-size:clamp(40px,4.9vw,64px);line-height:1.28}
.aidl-home-hero h1 em{color:#7ef5df}
.aidl-home-hero .aidl-home-lead{font-size:15px;color:#c7d8db;line-height:2}
.aidl-home-hero .aidl-home-cta{background:#8af1de;color:#07171d!important;font-weight:700;border:1px solid #8af1de;transition:background .2s,transform .2s}
.aidl-home-hero .aidl-home-cta:hover{background:#c6fff2;transform:translateY(-2px)}
.aidl-home-hero a:focus-visible,.aidl-home-hero button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.aidl-home-hero .aidl-studio{background:transparent;box-shadow:none;overflow:visible;color:#f4fcfc;min-width:0}
.aidl-home-hero .aidl-studio-top{padding:0 0 10px;border:0;color:#aec8cd;font-size:10px}
.aidl-home-hero .aidl-studio-top span:last-child{color:#a6f3dd}
.aidl-home-hero .aidl-studio-copy{padding:14px 0 0;border-top:1px solid #36545a}
.aidl-home-hero .aidl-studio-copy h2{font-size:20px;margin:0 0 8px}
.aidl-home-hero .aidl-studio-copy h2 br{display:none}
.aidl-home-hero .aidl-studio-copy p{font-size:12px;line-height:1.85;margin:0;color:#b8cdd1}
.aidl-home-hero .aidl-studio-copy a{color:#9cf4df;font-size:12px;margin-top:12px;padding-top:10px;border-color:#36545a}
.aidl-cyber-stage{height:auto;aspect-ratio:460/360;position:relative;background:transparent;overflow:hidden;container-type:inline-size}
.aidl-cyber-stage *{box-sizing:border-box}
.aidl-cyber-scene{position:absolute;inset:0;perspective:800px}
.aidl-cyber-grid{position:absolute;inset:48% -25% -42%;transform:rotateX(62deg);background:linear-gradient(#56d9d52e 1px,transparent 1px),linear-gradient(90deg,#56d9d52e 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(ellipse,#000,transparent 68%)}
.aidl-cyber-orbit{position:absolute;left:15%;top:22%;width:70%;height:65%;border:1px solid #6ce9de44;border-radius:50%;transform:rotate(-22deg)}
.aidl-cyber-orbit::after{content:"";position:absolute;inset:13%;border:1px dashed #6ce9de35;border-radius:50%}
.aidl-cyber-ring{position:absolute;left:50%;top:63%;width:60%;height:27%;margin-left:-30%;margin-top:-10%;border:1px solid #72ead3;border-radius:50%;box-shadow:0 0 25px #61dec533,inset 0 0 25px #61dec522;transform:scale(1);opacity:.7}
.aidl-cyber-core{position:absolute;left:50%;top:55%;width:22%;aspect-ratio:1;margin:-11% 0 0 -11%;z-index:3;border-radius:50%;background:radial-gradient(circle at 32% 24%,#f1fffa 0,#85eadc 7%,#369696 24%,#102f39 53%,#06161e 69%,#3b9da0 83%,#a7fff0 94%,#112d35 100%);box-shadow:0 0 0 1px #8ffff2aa,0 0 35px #4bf6d54d,inset -12px -15px 20px #010c17b3;display:grid;place-items:center}
.aidl-cyber-core::before{content:"";position:absolute;inset:10%;border:1px solid #c0fff380;border-radius:50%;transform:rotate(-35deg) scaleX(.5)}
.aidl-cyber-core::after{content:"";position:absolute;inset:10%;border:1px solid #c0fff360;border-radius:50%;transform:rotate(45deg) scaleX(.5)}
.aidl-cyber-core span{position:relative;z-index:1;font:700 clamp(14px,5cqw,23px) var(--f-mono);color:#eefffc;text-shadow:0 2px 8px #001116;letter-spacing:.04em}
.aidl-cyber-panel{position:absolute;width:35%;border:1px solid #66d9d577;border-radius:6px;background:linear-gradient(145deg,#123941,#091e29);box-shadow:0 14px 25px #0005;padding:10px;color:#d9fcf5;transform:translate(var(--x),var(--y)) rotate(var(--r));left:33%;top:35%;z-index:2}
.aidl-cyber-panel svg{display:block;width:100%;height:auto;margin:4px 0 0}
.aidl-cyber-panel small{font:9px var(--f-mono);letter-spacing:.12em;display:block;color:#9fe3e1}
.aidl-cyber-panel--video{--x:-80%;--y:-66%;--r:-9deg}
.aidl-cyber-panel--voice{--x:89%;--y:-20%;--r:10deg;width:30%}
.aidl-cyber-panel--edit{--x:-45%;--y:125%;--r:-5deg;width:38%}
.aidl-cyber-caption{position:absolute;right:3%;bottom:5%;font:9px var(--f-mono);letter-spacing:.15em;color:#97c7cb;writing-mode:vertical-rl}
.aidl-cyber-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 0 14px;flex-wrap:wrap}
.aidl-cyber-controls button{font:12px var(--f-body);padding:9px 12px;min-height:44px;background:#102d34;border:1px solid #477078;border-radius:3px;color:#d3f8f0;cursor:pointer}
.aidl-cyber-controls button:hover{background:#23454e}
.aidl-cyber-controls button:disabled{opacity:.65;cursor:default}
.aidl-cyber-status{font:11px var(--f-body);color:#aac4c8;margin-right:auto}
.aidl-cyber-scene.is-playing .aidl-cyber-core{animation:aidl-core-bounce 2.4s both cubic-bezier(.36,0,.66,1)}
.aidl-cyber-scene.is-playing .aidl-cyber-ring{animation:aidl-core-open 1.6s 1.35s both cubic-bezier(.16,1,.3,1)}
.aidl-cyber-scene.is-playing .aidl-cyber-panel{animation:aidl-panel-open 1.25s 1.65s both cubic-bezier(.16,1,.3,1)}
.aidl-cyber-scene.is-playing .aidl-cyber-panel--voice{animation-delay:1.8s}
.aidl-cyber-scene.is-playing .aidl-cyber-panel--edit{animation-delay:1.95s}
.aidl-cyber-scene.is-playing .aidl-cyber-orbit{animation:aidl-orbit-open 2s 1.4s both ease-out}
.aidl-cyber-scene.is-paused *{animation-play-state:paused!important}
@keyframes aidl-core-bounce{0%{transform:translateY(-180%) scale(.8);opacity:0}8%{opacity:1}26%{transform:translateY(25%) scale(1.12,.88)}44%{transform:translateY(-85%) scale(.96,1.04)}62%{transform:translateY(25%) scale(1.08,.92)}77%{transform:translateY(-30%) scale(1)}90%{transform:translateY(5%)}100%{transform:none}}
@keyframes aidl-core-open{0%{transform:scale(.08);opacity:0}20%{opacity:1}100%{transform:scale(1);opacity:.7}}
@keyframes aidl-panel-open{0%{transform:translate(0,20%) rotate(0) scale(.1);opacity:0}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:1}}
@keyframes aidl-orbit-open{0%{transform:rotate(-60deg) scale(.3);opacity:0}100%{transform:rotate(-22deg) scale(1);opacity:1}}
@media(max-width:760px){.aidl-home-hero{padding:23px 22px 26px;margin-bottom:36px}.aidl-home-hero .aidl-home-grid{grid-template-columns:1fr;gap:34px;padding-top:28px}.aidl-home-hero h1{font-size:clamp(36px,8vw,52px)}.aidl-home-hero .aidl-home-lead{font-size:14px}.aidl-home-hero .aidl-home-kicker span{font-size:10px}.aidl-cyber-stage{max-width:460px;width:100%;margin:auto}.aidl-home-hero .aidl-studio-copy h2{font-size:18px}.aidl-cyber-panel{padding:7px}.aidl-cyber-panel small{font-size:8px}.aidl-cyber-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){.aidl-cyber-scene *{animation:none!important}.aidl-home-hero .aidl-home-cta{transition:none}.aidl-home-hero .aidl-home-cta:hover{transform:none}}

/* Immersive field: the visual language extends across the entire home page. */
body:has(.aidl-home){background:#07171d;background-image:radial-gradient(ellipse at 90% 10%,#13596855,transparent 38%),linear-gradient(#69caba0a 1px,transparent 1px),linear-gradient(90deg,#69caba0a 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}
body:has(.aidl-home) .wp-site-blocks>header{background:#07171de8;color:#ecfbf7;border-bottom:1px solid #49736d}
body:has(.aidl-home) .aidl-brand,body:has(.aidl-home) .aidl-nav a,body:has(.aidl-home) .wp-block-navigation{color:#e8fff7}
body:has(.aidl-home) .aidl-brand em{color:#8af1de}
body:has(.aidl-home) .aidl-verified{color:#a3c8c5}
body:has(.aidl-home) .wp-block-navigation__responsive-container.is-menu-open{background:#07171d;color:#e8fff7}
.aidl-home{max-width:none!important;padding:0!important;position:relative}
.aidl-home>section,.aidl-home>.wp-block-query,.aidl-home>.aidl-section-heading{max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
.aidl-home>.aidl-home-hero{max-width:none!important;margin-top:-52px!important;padding:48px max(28px,calc((100% - 1200px)/2)) 80px;border:0;border-radius:0;background:radial-gradient(ellipse at 70% 55%,#15576177,transparent 55%),linear-gradient(145deg,#051419,#092932);overflow:visible;min-height:680px}
.aidl-home-hero::before{background-size:auto,64px 64px,64px 64px;mask-image:linear-gradient(#000,transparent)}
.aidl-home-hero::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#7af0d9,transparent);box-shadow:0 0 30px #71eedf}
.aidl-home-hero .aidl-home-grid{grid-template-columns:1fr 1.16fr;gap:50px;padding-top:38px}
.aidl-home-hero h1{font-size:clamp(42px,5.2vw,76px)}
.aidl-home-hero .aidl-studio-art{overflow:visible}
.aidl-home-hero .aidl-studio-top{color:#a5d8d0}
.aidl-home-hero .aidl-studio-copy{max-width:510px}
.aidl-home .aidl-section-heading{color:#eefff9;border-color:#3a6d69;padding-top:24px;position:relative;margin-top:66px}
.aidl-home .aidl-section-heading>span{color:#8af1de}
.aidl-home .aidl-section-heading::before{content:"";position:absolute;width:48px;height:3px;background:#82f5da;top:-2px;left:0;box-shadow:0 0 20px #82f5da88}
.aidl-home .aidl-start-grid{gap:18px}
.aidl-home .aidl-start-grid>a{padding:28px 26px 52px;background:#f4f5ed;border:1px solid #c3d8cf;border-top:3px solid #69d9c3;border-radius:4px;transition:transform .25s,box-shadow .25s}
.aidl-home .aidl-start-grid>a:hover{transform:translateY(-5px);box-shadow:0 8px 32px #63edce25}
.aidl-home .aidl-start-grid span{color:#24655b}
.aidl-home .aidl-editorial{color:#d7eae3;border-color:#315c58;padding:26px 0}
.aidl-home .aidl-editorial p{color:#b9d3cb}.aidl-home .aidl-editorial a{color:#8af1de}
.aidl-home .aidl-feature{background:#eaf3ed;border:1px solid #74bdad;border-left:4px solid #7ce8ce;border-radius:4px;position:relative}
.aidl-home .aidl-feature::after{content:"+";position:absolute;right:18px;top:8px;font:24px var(--f-mono);color:#337c6b}
.aidl-home .wp-block-post-template{gap:24px}
.aidl-home .aidl-card{background:#fbf8f2;border:1px solid #c4d7ce;padding:0 0 24px;border-radius:5px;height:100%;overflow:hidden;box-sizing:border-box;transition:transform .25s,box-shadow .25s}
.aidl-home .aidl-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #63edce20}
.aidl-home .aidl-card>:not(.wp-block-post-featured-image){margin-left:22px;margin-right:22px}
.aidl-home .wp-block-query-pagination{padding:35px 0;color:#e8fff7}
.aidl-home .wp-block-query-pagination a{color:#9af0d9}
body:has(.aidl-home) .wp-site-blocks>footer{color:#b9d1c8;border-top:1px solid #3c655d;margin-top:65px}
body:has(.aidl-home) .wp-site-blocks>footer a{color:#9af0d9}
.aidl-site-wave{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden;contain:strict}
.aidl-site-wave i{position:absolute;left:var(--wave-x,70%);top:var(--wave-y,45%);width:100px;height:100px;margin:-50px;border:1px solid #9afce2;border-radius:50%;box-shadow:0 0 20px #7efada66,inset 0 0 25px #7efada33;opacity:0}
.aidl-site-wave.is-active i{animation:aidl-world-expand 2.2s 1.35s both cubic-bezier(.16,1,.3,1)}
.aidl-site-wave.is-active i:nth-child(2){animation-delay:1.6s}.aidl-site-wave.is-active i:nth-child(3){animation-delay:1.85s}
.aidl-site-wave.is-paused i{animation-play-state:paused}
@keyframes aidl-world-expand{0%{transform:scale(.3);opacity:0}12%{opacity:.6}75%{opacity:.18}100%{transform:scale(var(--wave-scale,30));opacity:0}}
.aidl-home .aidl-section-heading.is-arriving::before{animation:aidl-section-connect 1s ease-out both}
@keyframes aidl-section-connect{from{width:0}to{width:48px}}
@media(max-width:1200px){.aidl-home>section:not(.aidl-home-hero),.aidl-home>.wp-block-query,.aidl-home>.aidl-section-heading{margin-left:28px!important;margin-right:28px!important}}
@media(max-width:760px){.aidl-home>.aidl-home-hero{padding:28px 24px 46px;min-height:0}.aidl-home-hero .aidl-home-grid{grid-template-columns:1fr;gap:24px;padding-top:26px}.aidl-home-hero h1{font-size:clamp(40px,9vw,58px)}.aidl-home>section:not(.aidl-home-hero),.aidl-home>.wp-block-query,.aidl-home>.aidl-section-heading{margin-left:20px!important;margin-right:20px!important}.aidl-home .aidl-section-heading{margin-top:42px}.aidl-home .aidl-start-grid{gap:14px}.aidl-home .aidl-editorial{padding:10px 0 24px}.aidl-home .aidl-feature{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.aidl-site-wave{display:none}.aidl-home .aidl-card,.aidl-home .aidl-start-grid>a{transition:none}.aidl-home .aidl-card:hover,.aidl-home .aidl-start-grid>a:hover{transform:none}}


.aidl-cyber-scene.is-playing .aidl-cyber-orbit{animation-duration:2.7s}

.aidl-home>.aidl-home-hero{margin-top:0!important;overflow:clip}.aidl-home-hero .aidl-studio-art{max-width:490px;margin-inline:auto;width:100%}.aidl-home .aidl-feature::after{content:'';width:10px;height:10px;border-top:1px solid #337c6b;border-right:1px solid #337c6b}

body:has(.aidl-home) .wp-site-blocks>footer p{color:#b9d1c8!important}

.aidl-home .aidl-card>:not(.wp-block-post-featured-image){margin-left:22px!important;margin-right:22px!important}

/* Decorative artwork must never intercept the controls or article links below it. */
.aidl-home-hero .aidl-studio-art,.aidl-home-hero .aidl-studio-art *{pointer-events:none}
.aidl-cyber-controls{position:relative;z-index:4}
