.feature-tour-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,30px);box-sizing:border-box;background:rgba(15,23,42,.72);backdrop-filter:blur(5px);animation:ftFadeIn .2s ease both}
.feature-tour{--ft-accent:#2563eb;--ft-soft:#eff6ff;width:min(960px,100%);max-height:min(760px,calc(100dvh - 24px));overflow:hidden;display:flex;flex-direction:column;background:var(--card-bg,#fff);color:var(--text,#0f172a);border:1px solid rgba(148,163,184,.35);border-radius:22px;box-shadow:0 30px 90px rgba(15,23,42,.38);animation:ftEnter .32s cubic-bezier(.2,.8,.2,1) both}
.feature-tour[data-preset="optic_scan"]{--ft-accent:#16a34a;--ft-soft:#f0fdf4}.feature-tour[data-preset="ai_question"]{--ft-accent:#7c3aed;--ft-soft:#f5f3ff}.feature-tour[data-preset="test_builder"]{--ft-accent:#ea580c;--ft-soft:#fff7ed}
.feature-tour-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border,#e2e8f0)}
.feature-tour-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--ft-soft);color:var(--ft-accent)}
.feature-tour-kicker{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ft-accent)}
.feature-tour-head h2{margin:2px 0 0;font-size:clamp(1rem,2vw,1.18rem);line-height:1.25}.feature-tour-close{margin-left:auto;width:38px;height:38px;border:1px solid var(--border,#e2e8f0);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--text-secondary,#64748b);cursor:pointer}.feature-tour-close:hover{background:var(--ft-soft);color:var(--ft-accent)}
.feature-tour-main{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:30px;padding:24px}
.feature-tour-stage{position:relative;min-height:340px;overflow:hidden;border:1px solid #dbe4f0;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 14px 30px rgba(15,23,42,.09)}
.feature-tour-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:18px 18px;opacity:.5}.ft-browser{position:absolute;inset:22px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.12);overflow:hidden}.ft-browser-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.ft-browser-bar i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.ft-scene{position:relative;height:calc(100% - 34px);padding:18px;box-sizing:border-box}
.ft-question-card{height:54px;margin-bottom:10px;display:flex;align-items:center;gap:12px;padding:0 14px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05)}.ft-question-card b{font-size:12px}.ft-question-card span{height:7px;flex:1;border-radius:8px;background:#e8edf5}.ft-question-card:nth-child(2){animation:ftCardMove 4s ease-in-out infinite;box-shadow:0 10px 24px rgba(37,99,235,.18);border-color:#60a5fa}.ft-grip{color:#94a3b8;letter-spacing:-1px}.ft-cursor{position:absolute;left:47%;top:50%;width:20px;height:25px;color:var(--ft-accent);animation:ftCursor 4s ease-in-out infinite;filter:drop-shadow(0 2px 2px #fff)}
.ft-paper{position:absolute;inset:14px 24px 18px;border:2px solid #1e293b;border-radius:8px;background:#fff;padding:12px;box-sizing:border-box;display:grid;grid-template-columns:1fr .58fr;gap:12px}.ft-answer-lines{display:grid;gap:8px;align-content:start}.ft-answer-row{display:flex;gap:7px;align-items:center}.ft-answer-row em{font-style:normal;font-size:9px;font-weight:800;width:14px}.ft-bubble{width:14px;height:14px;border:1.6px solid #0f172a;border-radius:50%;box-sizing:border-box}.ft-bubble.good{background:#22c55e;box-shadow:0 0 0 3px #bbf7d0}.ft-bubble.bad{background:#ef4444;box-shadow:0 0 0 3px #fecaca}.ft-bubble.expected{border:2px dashed #2563eb}.ft-student-box{border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;padding:8px}.ft-student-box strong{display:block;font-size:8px;margin-bottom:8px}.ft-student-dots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ft-student-dots i{width:10px;height:10px;border:1px solid #334155;border-radius:50%;background:#fff}.ft-scanline{position:absolute;left:24px;right:24px;height:3px;top:22%;background:linear-gradient(90deg,transparent,#22c55e,transparent);box-shadow:0 0 12px #22c55e;animation:ftScan 3.2s ease-in-out infinite}.ft-result-pill{position:absolute;right:38px;bottom:28px;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:10px;font-weight:800;animation:ftResult 3.2s ease-in-out infinite}
.ft-ai-card{position:absolute;inset:28px 32px;background:#fff;border:1px solid #ddd6fe;border-radius:14px;padding:18px;box-shadow:0 12px 28px rgba(124,58,237,.13)}.ft-ai-label{font-size:9px;font-weight:800;color:#7c3aed;letter-spacing:.08em}.ft-ai-line{height:8px;margin-top:12px;border-radius:8px;background:#e9e5f8;animation:ftType 3.2s ease-in-out infinite}.ft-ai-line.short{width:68%}.ft-ai-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.ft-ai-options i{height:28px;border:1px solid #e2e8f0;border-radius:8px;background:#fafafa}.ft-ai-options i:nth-child(3){animation:ftAiAnswer 3.2s ease-in-out infinite}.ft-spark{position:absolute;color:#7c3aed;font-size:22px;animation:ftSpark 2s ease-in-out infinite}.ft-spark.one{right:18px;top:14px}.ft-spark.two{left:15px;bottom:18px;animation-delay:.6s}
.ft-builder-page{position:absolute;left:26px;top:18px;bottom:18px;width:57%;border:1px solid #cbd5e1;background:#fff;box-shadow:0 8px 20px #0f172a1a;padding:12px;box-sizing:border-box}.ft-builder-page b{display:block;height:10px;width:58%;margin:0 auto 13px;background:#1e40af}.ft-builder-page i{display:block;height:7px;margin:7px 0;border-radius:5px;background:#e2e8f0}.ft-builder-panel{position:absolute;right:24px;top:30px;width:29%;display:grid;gap:9px}.ft-builder-panel span{height:38px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;animation:ftBuilder 3.6s ease-in-out infinite}.ft-builder-panel span:nth-child(2){animation-delay:.45s}.ft-builder-panel span:nth-child(3){animation-delay:.9s}
.feature-tour-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.feature-tour-step{width:max-content;padding:5px 10px;border-radius:999px;background:var(--ft-soft);color:var(--ft-accent);font-size:.68rem;font-weight:800}.feature-tour-copy h3{margin:14px 0 10px;font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.12;letter-spacing:-.035em}.feature-tour-copy p{margin:0;color:var(--text-secondary,#64748b);font-size:.92rem;line-height:1.72;white-space:pre-line}.feature-tour-replay{width:max-content;margin-top:18px;padding:8px 0;border:0;background:none;color:var(--ft-accent);font-size:.76rem;font-weight:800;cursor:pointer}.feature-tour.replay .feature-tour-stage *{animation:none!important}.feature-tour-footer{display:flex;align-items:center;gap:14px;padding:15px 20px;border-top:1px solid var(--border,#e2e8f0);background:var(--card-bg,#fff)}.feature-tour-dismiss{display:flex;align-items:center;gap:8px;color:var(--text-secondary,#64748b);font-size:.78rem;cursor:pointer}.feature-tour-dismiss input{width:17px;height:17px;accent-color:var(--ft-accent)}.feature-tour-actions{margin-left:auto;display:flex;gap:9px}.feature-tour-button{border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:11px 18px;background:#fff;color:#475569;font-family:inherit;font-size:.82rem;font-weight:800;line-height:1;cursor:pointer}.feature-tour-button.primary{border-color:var(--ft-accent);background:var(--ft-accent);color:#fff}.feature-tour-button:hover{filter:brightness(.97)}
@keyframes ftFadeIn{from{opacity:0}to{opacity:1}}@keyframes ftEnter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes ftCardMove{0%,22%,100%{transform:none}45%,72%{transform:translateY(64px)}}@keyframes ftCursor{0%,18%,100%{transform:translate(40px,62px);opacity:0}25%,45%{transform:translate(0,0);opacity:1}68%{transform:translate(0,64px);opacity:1}76%{opacity:0}}@keyframes ftScan{0%,100%{top:20%;opacity:0}18%{opacity:1}75%{top:78%;opacity:1}90%{opacity:0}}@keyframes ftResult{0%,65%{opacity:0;transform:translateY(6px)}80%,100%{opacity:1;transform:none}}@keyframes ftType{0%,20%{width:0}60%,100%{width:100%}}@keyframes ftAiAnswer{0%,60%{background:#fafafa;border-color:#e2e8f0}75%,100%{background:#ede9fe;border-color:#8b5cf6}}@keyframes ftSpark{0%,100%{transform:scale(.7) rotate(0);opacity:.35}50%{transform:scale(1.2) rotate(18deg);opacity:1}}@keyframes ftBuilder{0%,100%{transform:none;box-shadow:none}45%,65%{transform:translateX(-22px);box-shadow:0 8px 18px #fb923c42}}
@media(max-width:760px){.feature-tour-overlay{align-items:flex-end;padding:0}.feature-tour{max-height:94dvh;border-radius:22px 22px 0 0}.feature-tour-head{padding:15px 16px}.feature-tour-main{grid-template-columns:1fr;gap:18px;padding:16px}.feature-tour-stage{min-height:260px}.feature-tour-copy{justify-content:flex-start}.feature-tour-copy h3{margin:10px 0 8px;font-size:1.55rem}.feature-tour-copy p{font-size:.84rem;line-height:1.6}.feature-tour-replay{margin-top:10px}.feature-tour-footer{padding:13px 16px calc(13px + env(safe-area-inset-bottom));flex-wrap:wrap}.feature-tour-actions{width:100%;order:-1}.feature-tour-button{flex:1}.feature-tour-dismiss{font-size:.74rem}}
@media(min-width:761px) and (max-width:1024px){.feature-tour{width:min(900px,96vw)}.feature-tour-main{gap:22px;padding:20px}.feature-tour-stage{min-height:320px}}
@media(max-width:420px){.feature-tour-stage{min-height:220px}.ft-browser{inset:13px}.ft-paper{inset:10px 14px 14px}.feature-tour-icon{width:36px;height:36px}.feature-tour-head h2{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){.feature-tour-overlay,.feature-tour,.feature-tour *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
