/* Lamplight: first-Trial guide (spec docs/reference/mockups-v3/15-first-trial-guide.webp) */
.lamp-guide { position: absolute; inset: 0; z-index: 720; font-family: var(--f-body); color: var(--cream); }
.lamp-guide .spot { position: absolute; border-radius: 28px; pointer-events: none;
  box-shadow: 0 0 0 3px rgba(255,214,120,.95), 0 0 26px 6px rgba(255,190,90,.65), 0 0 0 4000px rgba(16,6,20,.74);
  transition: left .55s cubic-bezier(.3,1.25,.5,1), top .55s cubic-bezier(.3,1.25,.5,1), width .55s cubic-bezier(.3,1.25,.5,1), height .55s cubic-bezier(.3,1.25,.5,1); }
.lamp-guide .spot::after { content: ""; position: absolute; inset: -14px; border-radius: 40px; box-shadow: 0 0 0 2px rgba(255,214,120,.55); animation: guide-ping 2s ease-out infinite; }
@keyframes guide-ping { 0% { opacity: .9; transform: scale(.96); } 80%, 100% { opacity: 0; transform: scale(1.06); } }
.lamp-guide .spot.full { box-shadow: 0 0 0 4000px rgba(16,6,20,.6); }
.lamp-guide .spot.full::after { display: none; }
.lamp-guide .coach { position: absolute; width: 520px; box-sizing: border-box; padding: 26px 30px 24px; border-radius: 30px; background: #fff4dc; color: #2a1838;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); transition: left .55s cubic-bezier(.3,1.25,.5,1), top .55s cubic-bezier(.3,1.25,.5,1); }
.lamp-guide .who { display: flex; align-items: center; gap: 14px; }
.lamp-guide .ava { flex: none; width: 68px; height: 68px; border-radius: 50%; background: #7a3fb0 url("../../../assets/chars/hermes.webp?v=matte4") 50% 7%/217% auto no-repeat; box-shadow: 0 0 0 4px #fff4dc, 0 6px 12px -4px rgba(0,0,0,.5); }
.lamp-guide .who b { display: block; font: 800 22px/1 var(--f-chunk); color: #7a3fb0; }
.lamp-guide .who small { display: block; margin-top: 5px; font: 800 14px/1 var(--f-body); letter-spacing: .3px; color: rgba(42,24,56,.6); }
.lamp-guide h2 { margin: 18px 0 0; font: 800 34px/1.05 var(--f-chunk); color: #2a1838; }
.lamp-guide p { margin: 10px 0 0; font: 600 21px/1.4 var(--f-body); color: #3d2a4c; }
.lamp-guide p .k { color: #a8560c; } .lamp-guide p .p { color: #1478c8; } .lamp-guide p .f { color: #d8382a; } .lamp-guide p .g { color: #a8740c; }
.lamp-guide .foot { display: flex; align-items: center; gap: 12px; margin-top: 22px; }
.lamp-guide .dots { display: flex; gap: 7px; margin-right: auto; }
.lamp-guide .dots i { width: 10px; height: 10px; border-radius: 50%; background: rgba(42,24,56,.2); transition: background .2s, width .2s; }
.lamp-guide .dots i.on { width: 26px; border-radius: 6px; background: #f2ad1c; }
.lamp-guide .dots i.done { background: rgba(42,24,56,.45); }
.lamp-guide .back { height: 48px; padding: 0 16px; border: 0; border-radius: 16px; background: rgba(42,24,56,.08); color: #2a1838; font: 800 20px/1 var(--f-chunk); cursor: pointer; }
.lamp-guide .back:hover { background: rgba(42,24,56,.16); }
.lamp-guide .back:disabled { opacity: .35; cursor: default; }
.lamp-guide .next { height: 56px; padding: 0 24px 3px; font-size: 24px; white-space: nowrap; }
.lamp-guide .skip { position: absolute; right: 40px; top: 30px; display: flex; align-items: center; gap: 10px; padding: 10px 18px; border: 0; border-radius: 20px; background: rgba(16,6,20,.72); color: rgba(255,244,220,.9); font: 800 18px/1 var(--f-body); cursor: pointer; }
.lamp-guide .skip:hover { color: #fff4dc; background: rgba(16,6,20,.9); }
.lamp-guide .skip .kbd { font-size: 13px; background: rgba(255,244,220,.16); vertical-align: 0; }
.lamp-guide .arrow { position: absolute; width: 0; height: 0; border: 14px solid transparent; transition: left .55s cubic-bezier(.3,1.25,.5,1), top .55s cubic-bezier(.3,1.25,.5,1); }
.lamp-guide .arrow.up { border-bottom-color: #fff4dc; border-top: 0; }
.lamp-guide .arrow.down { border-top-color: #fff4dc; border-bottom: 0; }
.lamp-guide .arrow.left { border-right-color: #fff4dc; border-left: 0; }
.lamp-guide .arrow.right { border-left-color: #fff4dc; border-right: 0; }
.lamp-guide .arrow.none { display: none; }
@media (prefers-reduced-motion: reduce) { .lamp-guide .spot, .lamp-guide .coach, .lamp-guide .arrow { transition: none; } .lamp-guide .spot::after { animation: none; } }
