/* ===== v7.2 guided tour: a director strip that owns its own space under the app ===== */
body.touring #stage{bottom:148px}
.t-card{display:none!important}
#tour .t-spot{position:fixed;border-radius:16px;pointer-events:none;box-shadow:0 0 0 9999px rgba(12,12,16,.30),0 0 0 2px #e11d48,0 0 0 8px rgba(225,29,72,.16);transition:all .45s cubic-bezier(.2,.8,.2,1);animation:tsPulse 2.4s ease-in-out infinite}
@keyframes tsPulse{50%{box-shadow:0 0 0 9999px rgba(12,12,16,.30),0 0 0 2px #e11d48,0 0 0 14px rgba(225,29,72,.06)}}
.t-dir{position:fixed;left:0;right:0;bottom:0;height:148px;pointer-events:auto;background:#0e0e11;color:#fff;font-family:Inter,system-ui,sans-serif;box-shadow:0 -20px 50px rgba(0,0,0,.22);transition:opacity .25s}
.t-dir.busy .td-tx{opacity:.35}
.td-prog{position:absolute;left:0;right:0;top:0;display:flex;gap:3px;height:5px;padding:0 3px;background:#0e0e11}
.td-prog i{flex:1;background:rgba(255,255,255,.14);border-radius:0 0 3px 3px;cursor:pointer;position:relative;overflow:hidden}
.td-prog i:hover{background:rgba(255,255,255,.3)}
.td-prog i.done{background:#e11d48}.td-prog i.cur{background:rgba(225,29,72,.35)}
.td-prog i em{position:absolute;inset:0;width:0;background:#e11d48}.td-prog i.cur em{width:100%}.td-prog i em.run{width:0;animation:tdFill linear forwards}
@keyframes tdFill{to{width:100%}}
.td-in{height:100%;box-sizing:border-box;padding:22px 34px 18px;display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:34px;align-items:center;max-width:1600px;margin:0 auto}
.td-ch{display:flex;flex-direction:column;gap:6px;border-right:1px solid rgba(255,255,255,.1);padding-right:28px;height:100%;justify-content:center}
.td-ch span{font:700 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#fb7185}
.td-ch b{font:600 34px 'Playfair Display',Georgia,serif;line-height:1;color:#fff}.td-ch b small{font:500 14px Inter,sans-serif;color:#8b8b95}
.td-ch .td-tt{font-size:11.5px;color:#8b8b95;line-height:1.35}
.td-tx{transition:opacity .3s;min-width:0}
.td-tx h4{margin:0 0 6px;font:600 26px 'Playfair Display',Georgia,serif;color:#fff;letter-spacing:-.01em;animation:tdIn .5s both}
.td-tx p{margin:0;font-size:15px;line-height:1.5;color:#c4c4cc;max-width:880px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;animation:tdIn .5s .08s both}
@keyframes tdIn{from{opacity:0;transform:translateY(8px)}}
.td-ctl{display:flex;align-items:center;gap:10px}
.td-ctl button{border:0;cursor:pointer;font:600 14px Inter,sans-serif;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .15s}
.td-ctl button:active{transform:scale(.97)}
.td-b{height:46px;min-width:46px;justify-content:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;padding:0 14px}.td-b:hover{background:rgba(255,255,255,.16)}.td-b[disabled]{opacity:.3;cursor:default}
.td-play{height:46px;border-radius:12px;padding:0 18px;background:rgba(255,255,255,.08);color:#fff}.td-play:hover{background:rgba(255,255,255,.16)}
.td-next{background:#e11d48!important;padding:0 20px}.td-next:hover{background:#be123c!important}
.td-x{width:40px;height:40px;border-radius:50%;justify-content:center;background:transparent;color:#8b8b95;margin-left:6px}.td-x:hover{color:#fff;background:rgba(255,255,255,.08)}
body.touring:not(.tour-carol) .cl-fab{opacity:0;pointer-events:none}
@media (max-width:900px){body.touring #stage{bottom:190px}.t-dir{height:190px}.td-in{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 18px}.td-ch{flex-direction:row;align-items:baseline;border:0;padding:0;height:auto}.td-ch b{font-size:20px}.td-ch .td-tt{display:none}.td-tx h4{font-size:20px}.td-tx p{font-size:13.5px}}
body.touring #carol{bottom:170px}body.touring .cl-p{height:min(560px,calc(100vh - 260px))}
.g-sheet canvas{max-width:440px!important}
