
/* ============================================================
   SIGNAL FOR ALL V17 — AI ASSISTIVE MEDIA EDITION
   Progressive enhancement. Core content never depends on AI.
   ============================================================ */

:root{
  --v17-ai:#7258ff;
  --v17-ai2:#35d6dd;
  --v17-ai3:#73e4bc;
  --v17-warn:#a56a00;
  --v17-danger:#a72c4f;
}

.v17-ai-trigger{
  position:fixed;right:22px;bottom:92px;z-index:720;
  min-width:54px;min-height:54px;border-radius:999px;border:1px solid rgba(114,88,255,.32);
  background:linear-gradient(135deg,#1a2254,#7258ff 62%,#2e9fa5);color:#fff;
  box-shadow:0 18px 45px rgba(43,33,115,.22);font-weight:900;padding:10px 16px;
}
.v17-ai-panel{
  position:fixed;right:22px;bottom:158px;z-index:721;width:min(430px,calc(100vw - 28px));
  max-height:min(720px,calc(100vh - 190px));overflow:auto;border:1px solid var(--line);
  border-radius:26px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px) saturate(145%);
  box-shadow:0 30px 90px rgba(31,24,80,.25);padding:18px;
}
.v17-ai-panel[hidden]{display:none!important}
.v17-ai-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.v17-ai-head h2{font-size:1.35rem;margin:.1rem 0 .25rem}.v17-ai-head p{font-size:.84rem;color:var(--muted);margin:0}
.v17-ai-close{width:44px;height:44px;border-radius:50%;padding:0;font-size:1.4rem}
.v17-ai-badges{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.v17-ai-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:850;background:#fff}
.v17-ai-badge[data-state="ready"]::before{content:"●";color:#168363}
.v17-ai-badge[data-state="fallback"]::before{content:"●";color:#b57a00}
.v17-ai-badge[data-state="off"]::before{content:"●";color:#8a8e9e}
.v17-ai-form{display:grid;gap:9px}
.v17-ai-form textarea{min-height:88px;resize:vertical}
.v17-ai-actions{display:flex;gap:8px;flex-wrap:wrap}
.v17-ai-actions button{min-height:44px}
.v17-ai-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.v17-ai-quick button{text-align:left}
.v17-ai-output{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:#faf9ff;padding:14px}
.v17-ai-output strong{display:block;margin-bottom:5px}.v17-ai-output p{margin:.35rem 0;color:var(--ink-2)}
.v17-ai-note{font-size:.8rem;color:var(--muted);margin-top:10px;line-height:1.45}
.v17-ai-status{min-height:1.4em;font-size:.82rem;font-weight:750;color:#5d4ac9;margin-top:8px}

.v17-visual-tools{margin:10px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.v17-describe-btn{min-height:42px!important;border-radius:999px!important;padding:8px 12px!important}
.v17-visual-dialog{border:0;border-radius:26px;max-width:720px;width:min(720px,calc(100% - 24px));padding:0;box-shadow:0 30px 100px rgba(31,24,80,.30)}
.v17-visual-dialog::backdrop{background:rgba(20,17,45,.45);backdrop-filter:blur(4px)}
.v17-visual-dialog-inner{padding:24px;background:#fff}
.v17-visual-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.v17-visual-dialog-head h2{margin:.1rem 0}.v17-visual-dialog-close{width:44px;height:44px;border-radius:50%;padding:0}
.v17-description{font-size:1.02rem;line-height:1.72}
.v17-visual-ask{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:14px}
.v17-visual-answer{margin-top:10px;padding:12px;border-radius:16px;background:#f7f5ff;border:1px solid #e1dbff}

.v17-page-hero{padding:72px 0 44px}
.v17-page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}
.v17-page-hero h1{font-size:clamp(3.2rem,7vw,7rem);line-height:.9;letter-spacing:-.065em;margin:.3rem 0 1rem}
.v17-page-hero p{font-size:1.08rem;max-width:58ch}
.v17-ai-orb{
  min-height:440px;border-radius:38px;border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 45%,rgba(114,88,255,.17),transparent 22%),
    radial-gradient(circle at 30% 25%,rgba(53,214,221,.16),transparent 25%),
    radial-gradient(circle at 70% 70%,rgba(255,120,199,.14),transparent 24%),
    linear-gradient(145deg,#fff,#f5f1ff 58%,#effdfa);
  position:relative;overflow:hidden;box-shadow:var(--shadow-soft)
}
.v17-orb-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(135deg,#17204f,#7258ff 65%,#168a8e);box-shadow:0 24px 60px rgba(55,43,145,.25)}
.v17-orb-node{position:absolute;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:12px;background:rgba(255,255,255,.88);border:1px solid var(--line);font-weight:900;box-shadow:0 16px 36px rgba(45,36,105,.10)}
.v17-orb-node:nth-of-type(1){left:9%;top:12%}.v17-orb-node:nth-of-type(2){right:8%;top:14%}.v17-orb-node:nth-of-type(3){left:10%;bottom:12%}.v17-orb-node:nth-of-type(4){right:10%;bottom:12%}
.v17-orb-line{position:absolute;left:50%;top:50%;width:36%;height:2px;background:linear-gradient(90deg,rgba(114,88,255,.06),rgba(53,214,221,.55),rgba(255,120,199,.05));transform-origin:left center}
.v17-orb-line.l1{transform:rotate(-138deg)}.v17-orb-line.l2{transform:rotate(-42deg)}.v17-orb-line.l3{transform:rotate(138deg)}.v17-orb-line.l4{transform:rotate(42deg)}

.v17-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v17-feature{border:1px solid var(--line);border-radius:24px;background:#fff;padding:20px;min-height:190px}
.v17-feature h3{margin:.25rem 0 .5rem}.v17-feature p{color:var(--muted)}
.v17-tag{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900;border:1px solid var(--line)}
.v17-tag.prod{background:#edfff8;color:#11684f}.v17-tag.beta{background:#fff7da;color:#8a6200}.v17-tag.exp{background:#f3efff;color:#5f49c8}

.v17-lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v17-lab-card{border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,#fbfaff);padding:22px;box-shadow:var(--shadow-soft)}
.v17-lab-card h2{font-size:1.7rem}.v17-lab-card h3{font-size:1.2rem}
.v17-control-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.v17-control-row.triple{grid-template-columns:1fr 1fr auto}
.v17-result{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff;min-height:62px}
.v17-result[aria-live]{outline:none}
.v17-cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.v17-cap{padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;justify-content:space-between;gap:8px;font-size:.86rem}
.v17-cap b.ready{color:#14765a}.v17-cap b.fallback{color:#9b6c00}.v17-cap b.off{color:#777d91}

.v17-media-stage{position:relative;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#1c245a,#7258ff 57%,#16898f);color:#fff;min-height:300px;padding:26px;display:grid;align-content:space-between}
.v17-media-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}
.v17-media-node{padding:14px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);text-align:center}
.v17-media-caption{background:rgba(0,0,0,.72);color:#fff;border-radius:12px;padding:11px 14px;font-weight:800;line-height:1.45}
.v17-media-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v17-transcript{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;max-height:260px;overflow:auto}
.v17-transcript p{padding:8px;border-radius:10px;margin:0 0 6px}.v17-transcript p.is-current{background:#eeeaff;outline:2px solid #a497ff}

.v17-sonify-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.v17-sonify-grid button{min-height:64px}
.v17-live-caption-box{min-height:84px;border:1px dashed #b7b1d1;border-radius:16px;padding:12px;background:#fff}
.v17-live-caption-box.is-listening{border-style:solid;border-color:#7258ff;background:#faf8ff}

.v17-sign-stage{border:1px solid var(--line);border-radius:22px;background:#f7f6fb;padding:18px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}
.v17-sign-avatar{width:120px;height:150px;border-radius:60px 60px 30px 30px;background:linear-gradient(180deg,#e9e5ff,#cdeff0);position:relative;margin:auto}
.v17-sign-avatar:before{content:"";position:absolute;left:36px;top:15px;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid #cfc9ea}
.v17-sign-avatar:after{content:"LSR";position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-weight:950;color:#5d4bc2}
.v17-sign-copy strong{font-size:1.08rem}.v17-sign-copy p{color:var(--muted)}

.v17-agent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v17-agent-action{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}
.v17-agent-action code{font-size:.78rem;color:#6853ce}

body.v16-dark .v17-ai-panel,body.v16-dark .v17-visual-dialog-inner,body.v16-dark .v17-feature,body.v16-dark .v17-lab-card,body.v16-dark .v17-result,body.v16-dark .v17-transcript,body.v16-dark .v17-cap,body.v16-dark .v17-agent-action{background:#161a2c;color:#f7f7ff}
body.v16-dark .v17-ai-output{background:#1d2034}
body.v16-low-glare .v17-ai-panel,body.v16-low-glare .v17-lab-card{background:#f1ead9}
body.sfa-contrast .v17-ai-trigger{background:#000;border:2px solid #fff}
body.sfa-contrast .v17-ai-panel,body.sfa-contrast .v17-lab-card,body.sfa-contrast .v17-feature{border:2px solid #000}

body.sfa-calm .v17-ai-orb .v17-orb-line,body.v16-zero-motion .v17-ai-orb .v17-orb-line{display:none}
body.v16-zero-motion .pulse,body.sfa-calm .pulse{animation:none!important}
@media(max-width:900px){
  .v17-page-hero-grid,.v17-lab-grid{grid-template-columns:1fr}
  .v17-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .v17-ai-trigger{right:12px;bottom:82px}
  .v17-ai-panel{right:12px;bottom:146px;width:calc(100vw - 24px)}
  .v17-ai-quick,.v17-feature-grid,.v17-cap-grid,.v17-agent-actions,.v17-sonify-grid{grid-template-columns:1fr}
  .v17-control-row,.v17-control-row.triple{grid-template-columns:1fr}
  .v17-page-hero{padding-top:46px}.v17-ai-orb{min-height:360px}
  .v17-orb-node{width:96px;height:96px;font-size:.82rem}
  .v17-sign-stage{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .v17-ai-orb .v17-orb-line{display:none}
}
.v17-ai-human{margin-top:14px;padding:14px 16px;border:1px solid var(--line,#dfe3ee);border-radius:16px;background:#f7f9ff;display:grid;gap:6px}.v17-ai-human strong{font-size:.82rem}.v17-ai-human a{font-size:.85rem;font-weight:850;text-decoration:none;color:#4a3bc9}.v17-ai-human a.v17-ai-limits{font-weight:700;color:var(--muted,#69709a);font-size:.78rem}
