/* boot splash */
.c95-boot{position:fixed;inset:0;background:#000;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;animation:bootFade .35s ease-out forwards;animation-delay:1.4s}
.c95-boot.hide{pointer-events:none}
@keyframes bootFade{from{opacity:1}to{opacity:0;visibility:hidden}}
.c95-boot .ring{width:80px;height:80px;border-radius:50%;background:var(--g);background-size:200% 100%;animation:gradPulse 2s ease-in-out infinite,bootSpin 1.6s linear infinite;position:relative}
.c95-boot .ring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#000}
@keyframes bootSpin{to{transform:rotate(360deg)}}
.c95-boot .lab{font:600 14px var(--sg);color:var(--white);letter-spacing:.06em}
.c95-boot .sub{font:10px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.12em}
.c95-boot .bar{width:200px;height:2px;background:#1a1a1a;border-radius:2px;overflow:hidden;margin-top:6px}
.c95-boot .bar i{display:block;height:100%;background:var(--g);background-size:200% 100%;animation:gradPulse 2s ease-in-out infinite,bootProgress 1.4s ease-out forwards}
@keyframes bootProgress{from{width:5%}to{width:100%}}

/* onboarding */
.c95-tour{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(10px);z-index:99996;display:flex;align-items:center;justify-content:center;padding:18px}
.c95-tour-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:26px;width:100%;max-width:420px;position:relative;overflow:hidden;text-align:center}
.c95-tour-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--g);opacity:.7}
.c95-tour-card .em{font-size:42px;margin-bottom:10px}
.c95-tour-card h2{font-size:18px;color:var(--white);margin-bottom:6px}
.c95-tour-card p{font-size:13px;color:var(--text);line-height:1.55}
.c95-tour-card .dots{display:flex;gap:6px;justify-content:center;margin-top:18px}
.c95-tour-card .dots i{width:6px;height:6px;border-radius:50%;background:var(--border)}
.c95-tour-card .dots i.on{background:var(--white)}
.c95-tour-card .ax{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}
.c95-tour-card button{background:var(--white);color:#000;border:none;padding:9px 18px;border-radius:6px;font:600 12px var(--sg);cursor:pointer}
.c95-tour-card button.skip{background:transparent;color:var(--sub);border:1px solid var(--border)}

/* spotlight v2 result groups */
.c95-spot-grp{padding:6px 16px;font:9px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--border);background:#080808}

/* notification center */
.c95-notif-btn{position:fixed;bottom:74px;right:14px;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--white);font-size:16px;cursor:pointer;z-index:9990;display:none;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.c95-notif-btn.show{display:flex;align-items:center;justify-content:center}
.c95-notif-btn .badge{position:absolute;top:-3px;right:-3px;background:#e74c3c;color:#fff;border-radius:99px;font:600 10px var(--jb);min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}
@media (min-width: 760px) { .c95-notif-btn{bottom:60px} }
.c95-notif-panel{position:fixed;bottom:130px;right:14px;width:340px;max-height:480px;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;z-index:9991;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.c95-notif-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--g);opacity:.7}
.c95-notif-panel .hd{padding:10px 14px;font:11px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.1em;display:flex;justify-content:space-between;align-items:center}
.c95-notif-panel .hd button{background:transparent;border:none;color:var(--sub);font:10px var(--jb);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.c95-notif-panel .list{flex:1;overflow:auto}
.c95-notif-panel .item{padding:10px 14px;border-top:1px solid var(--border);cursor:pointer}
.c95-notif-panel .item:hover{background:var(--hover)}
.c95-notif-panel .item.unread{background:rgba(255,255,255,.03)}
.c95-notif-panel .item .ti{color:var(--white);font-size:13px}
.c95-notif-panel .item .bd{color:var(--text);font-size:12px;margin-top:2px}
.c95-notif-panel .item .me{font:9px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.c95-notif-panel .empty{padding:30px 14px;text-align:center;color:var(--sub);font-size:12px}

/* cheat sheet */
.c95-cheat{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:99995;padding:18px}
.c95-cheat .card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:560px;position:relative;overflow:hidden}
.c95-cheat .card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--g);opacity:.7}
.c95-cheat h2{font-size:18px;color:var(--white);margin-bottom:14px}
.c95-cheat .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.c95-cheat dl{margin:0}
.c95-cheat dt{font:10px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.c95-cheat dd{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted var(--border);font-size:12px;color:var(--text)}
.c95-cheat dd kbd{background:#000;color:#fff;padding:2px 6px;border-radius:3px;font:600 10px var(--jb);border:1px solid var(--border)}
.c95-cheat .footer{margin-top:14px;font:10px var(--jb);color:var(--sub);text-transform:uppercase;letter-spacing:.08em;text-align:center}
