:root{
  --navy:#19243A; --navy2:#222D48; --purple:#4F329A; --purple2:#7150C7;
  --pink:#E72D76; --pink2:#F04B8D; --bg:#F8F6FB; --surface:#FFFFFF;
  --ink:#1F2940; --text:#6F7487; --line:#E9E4F0; --lav:#F1EBF8;
  --shadow:0 24px 70px rgba(39,28,71,.10); --shadow2:0 16px 42px rgba(79,50,154,.13);
}
.fshtyping-page{background:var(--bg);color:var(--ink);overflow:hidden}.fshtyping-page *{box-sizing:border-box}
.fshkicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #E7DDF4;background:#F5F0FA;color:var(--purple);border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}.fshkicker.dark{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);color:#fff}
.fshbtn-primary,.fshbtn-ghost,.fshbtn-light,.fshbtn-darkghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:14px;font-weight:800;font-size:14px;text-decoration:none!important;transition:.25s ease}.fshbtn-primary{background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff!important;box-shadow:0 12px 28px rgba(79,50,154,.22)}.fshbtn-primary:hover{transform:translateY(-2px);color:#fff}.fshbtn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)!important}.fshbtn-light{background:#fff;color:var(--navy)!important}.fshbtn-darkghost{border:1px solid rgba(255,255,255,.25);color:#fff!important;background:rgba(255,255,255,.08)}

.fshtyping-masthead{padding:74px 0 66px;background:radial-gradient(circle at 15% 10%,rgba(231,45,118,.12),transparent 26%),radial-gradient(circle at 85% 20%,rgba(79,50,154,.15),transparent 28%),linear-gradient(180deg,#fff 0%,#FAF7FD 100%)}
.fshmast-copy{max-width:920px;margin:0 auto}.fshmast-copy h1{font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-2.3px;font-weight:900;margin:18px 0;color:var(--navy)}.fshmast-copy h1 span{background:linear-gradient(90deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.fshmast-copy p{max-width:760px;margin:0 auto;color:var(--text);font-size:16px;line-height:1.75}.fshmast-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.fshcommand-deck{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) 250px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:14px;box-shadow:var(--shadow)}
.fshcommand-main{padding:26px;border-radius:22px;background:linear-gradient(180deg,#FBF9FD,#F7F3FB)}.fshcommand-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.fshcommand-head small{display:block;font-size:10px;letter-spacing:.14em;color:var(--purple);font-weight:900}.fshcommand-head strong{display:block;margin-top:5px;font-size:22px}.fshstatus{font-size:12px;font-weight:800;color:#198754;background:#ECF8F1;padding:7px 10px;border-radius:999px}.fshstatus i{display:inline-block;width:7px;height:7px;background:#22A66F;border-radius:50%;margin-right:5px}
.fshcommand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.fshcommand-cell{position:relative;padding:18px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:150px}.fshcommand-cell.active{background:linear-gradient(145deg,var(--navy),var(--purple));border-color:transparent;color:#fff;transform:translateY(-4px);box-shadow:var(--shadow2)}.fshcell-no{position:absolute;top:12px;right:12px;font-size:10px;font-weight:900;opacity:.42}.fshcommand-cell>i{width:42px;height:42px;border-radius:13px;background:#F0E9FA;color:var(--purple);display:flex;align-items:center;justify-content:center;margin-bottom:22px}.fshcommand-cell.active>i{background:rgba(255,255,255,.13);color:#fff}.fshcommand-cell strong,.fshcommand-cell small{display:block}.fshcommand-cell strong{font-size:14px}.fshcommand-cell small{margin-top:5px;color:#8A8FA0;font-size:11.5px;line-height:1.5}.fshcommand-cell.active small{color:rgba(255,255,255,.72)}
.fshtarget-panel{border-radius:22px;padding:24px;background:linear-gradient(160deg,var(--navy),#2E285C 55%,var(--purple));color:#fff;display:flex;flex-direction:column}.fshtarget-panel>span{font-size:10px;letter-spacing:.13em;font-weight:900;color:#D8C8F0}.fshtarget-score{display:flex;align-items:end;gap:6px;margin:26px 0 18px}.fshtarget-score strong{font-size:64px;line-height:.8}.fshtarget-score small{font-size:13px;margin-bottom:4px;color:#D9CFF0}.fshtarget-rule{padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}.fshtarget-rule b,.fshtarget-rule small{display:block}.fshtarget-rule b{font-size:16px}.fshtarget-rule small{font-size:11px;color:rgba(255,255,255,.65);margin-top:2px}.fshtarget-panel a{margin-top:auto;padding-top:18px;color:#fff;text-decoration:none;font-weight:800;font-size:12px;display:flex;justify-content:space-between;align-items:center}

.fshmode-showcase{padding:50px 0;background:#fff}.fshsection-heading{max-width:820px;margin:0 auto 28px}.fshsection-heading h2{font-size:clamp(26px,3.2vw,36px);line-height:1.1;letter-spacing:-1px;font-weight:900;margin:12px 0 8px;color:var(--navy)}.fshsection-heading p{color:var(--text);font-size:14px;line-height:1.6;margin:0}.fshheading-split{max-width:none;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end}.fshheading-split p{padding-bottom:4px}
.fshmode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1040px;margin:0 auto}
.fshmode-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 15px rgba(0,0,0,0.03);transition:.3s ease}
.fshmode-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(25,36,58,.08);}
.fshmode-image{position:relative;aspect-ratio:16/10;overflow:hidden}
.fshmode-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s ease}
.fshmode-card:hover img{transform:scale(1.04)}
.fshmode-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 50%);pointer-events:none;}
.fshmode-image>span{position:absolute;left:20px;bottom:16px;z-index:2;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff !important;box-shadow:none;font-size:20px;}
.fshmode-body{padding:18px 20px 24px;background:#fff;display:flex;flex-direction:column;}
.fshmode-body small{display:none;}
.fshmode-body h3{font-size:18px;font-weight:600;margin:0 0 6px 0;line-height:1.3;color:#111;}
.fshmode-body p{display:none;}
.fshmode-body a{margin-top:12px;padding:10px 16px;border-top:none;background:#4F329A;color:#fff !important;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-transform:none;letter-spacing:normal;border-radius:8px;transition:all 0.25s ease;box-shadow:0 4px 12px rgba(79,50,154,0.2);}
.fshmode-body a:hover{background:#392273;transform:translateY(-2px);box-shadow:0 6px 15px rgba(79,50,154,0.3);}
.fshmode-body a i{display:inline-block;margin-left:8px;font-size:11px;}

.fshtest-library{padding:88px 0;background:linear-gradient(180deg,#F6F2FA 0%,#FBF9FD 100%)}.fshlibrary-toolbar{max-width:980px;margin:0 auto 34px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;grid-template-columns:1fr 190px 220px;gap:10px;box-shadow:0 10px 28px rgba(38,30,63,.05)}.fshsearch-wrap{display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:12px}.fshsearch-wrap i{color:#9C95AA}.fshsearch-wrap input,.fshlibrary-toolbar select{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 13px;color:var(--ink);font-size:13px;outline:none}.fshsearch-wrap input{border:0;padding:0}.fshsearch-wrap:focus-within,.fshlibrary-toolbar select:focus{border-color:#C6B4E6;box-shadow:0 0 0 3px rgba(79,50,154,.08)}
.fshtest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fshtest-card{min-height:215px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;transition:.25s ease;box-shadow:0 9px 25px rgba(38,30,63,.04)}.fshtest-card:hover{transform:translateY(-5px);border-color:#D8CAE9;box-shadow:var(--shadow2)}.fshtest-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.fshtest-type,.fshaccess{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;border-radius:999px;padding:6px 8px}.fshtest-type{color:var(--purple);background:#F3EDFA}.fshaccess.free{color:#168A59;background:#ECF8F1}.fshaccess.premium{color:#C24A72;background:#FFF0F5}.fshtest-card h3{font-size:15px;line-height:1.42;font-weight:850;margin:17px 0 12px;color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.fshtest-meta{display:flex;gap:6px;flex-wrap:wrap}.fshtest-meta span{font-size:9.8px;background:#FAF8FC;border:1px solid #EFEAF4;border-radius:999px;padding:5px 7px;color:#73788A}.fshtest-meta i{color:var(--purple)}.fshtest-foot{margin-top:auto;padding-top:16px;border-top:1px solid #F0ECF3;display:flex;justify-content:space-between;align-items:center}.fshtest-foot>span{font-size:10px;color:#9992A5;font-weight:700}.fshtest-foot a{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none}

.fshcoach-story{padding:90px 0;background:#fff}.fshcoach-panel{display:grid;grid-template-columns:1fr 1fr;min-height:430px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,var(--navy),#272650 58%,var(--purple));box-shadow:var(--shadow)}.fshcoach-copy{padding:58px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.fshcoach-copy h2{font-size:clamp(34px,4.2vw,52px);line-height:1.02;letter-spacing:-1.5px;font-weight:900;margin:18px 0}.fshcoach-copy p{color:rgba(255,255,255,.72);line-height:1.7;max-width:560px}.fshcoach-copy .fshbtn-light{margin-top:20px}.fshcoach-visual{padding:32px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 20%,rgba(231,45,118,.32),transparent 35%)}.fshcoach-screen{width:100%;max-width:500px;padding:30px;border-radius:28px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}.fshkey-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.fshkey-row span{height:58px;border-radius:14px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.12)}.fshkey-row .active{background:linear-gradient(135deg,#FF7BAE,var(--pink));color:#fff;transform:translateY(-6px)}.fshfinger-guide{margin-top:20px;background:#fff;border-radius:18px;padding:16px;display:flex;gap:14px;align-items:center;color:var(--navy)}.fshfinger-guide>i{width:44px;height:44px;border-radius:13px;background:#F3EDFA;color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:19px}.fshfinger-guide small,.fshfinger-guide strong{display:block}.fshfinger-guide small{font-size:9px;color:#9A93A7;font-weight:900}.fshfinger-guide strong{font-size:14px;margin-top:2px}.fshcoach-notes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fshcoach-notes span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.10);font-size:10px;color:#fff}

.fshinsight-section{padding:90px 0;background:#F8F5FB}.fshinsight-grid{display:grid;grid-template-columns:1.15fr .95fr .9fr;gap:18px}.fshresult-card,.fshnext-move,.fshsignal-list{border-radius:26px}.fshresult-card{background:#fff;border:1px solid var(--line);padding:24px;box-shadow:0 12px 34px rgba(38,30,63,.05)}.fshresult-head{display:flex;justify-content:space-between;align-items:center}.fshresult-head>span{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--purple)}.fshresult-head b{font-size:10px;color:#168A59;background:#ECF8F1;border-radius:999px;padding:6px 8px}.fshresult-primary{margin:28px 0 22px}.fshresult-primary small,.fshresult-primary strong,.fshresult-primary span{display:block}.fshresult-primary small{font-size:10px;color:#9A93A7;font-weight:900}.fshresult-primary strong{font-size:58px;line-height:1;color:var(--navy);margin:4px 0}.fshresult-primary strong em{font-style:normal;font-size:16px;color:var(--purple)}.fshresult-primary span{font-size:11px;color:#168A59}.fshresult-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fshresult-mini>div{padding:12px;background:#FAF8FC;border-radius:14px}.fshresult-mini small,.fshresult-mini b{display:block}.fshresult-mini small{font-size:9px;color:#9A93A7}.fshresult-mini b{font-size:14px;margin-top:3px}.fshnext-move{padding:28px;background:linear-gradient(150deg,#2B2350,var(--purple) 55%,#7C3F8D);color:#fff}.fshnext-icon{width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;margin-bottom:28px}.fshnext-move>small{font-size:9px;letter-spacing:.14em;font-weight:900;color:#DDCFF3}.fshnext-move h3{font-size:25px;line-height:1.1;margin:8px 0 10px;font-weight:900}.fshnext-move p{font-size:12px;line-height:1.65;color:rgba(255,255,255,.72)}.fshnext-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.fshnext-tags span{font-size:9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 8px}.fshsignal-list{padding:8px;background:#fff;border:1px solid var(--line)}.fshsignal-list>div{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:16px;border-bottom:1px solid #F0ECF3}.fshsignal-list>div:last-child{border-bottom:0}.fshsignal-list>div>span{width:34px;height:34px;border-radius:11px;background:#F2ECFA;color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}.fshsignal-list p{margin:0}.fshsignal-list strong,.fshsignal-list small{display:block}.fshsignal-list strong{font-size:13px}.fshsignal-list small{font-size:10.5px;line-height:1.55;color:var(--text);margin-top:4px}

.fshfinal-cta{padding:0 0 90px;background:#F8F5FB}.fshfinal-card{padding:38px 42px;border-radius:30px;background:linear-gradient(110deg,var(--navy) 0%,#273056 45%,var(--purple) 100%);color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:var(--shadow)}.fshfinal-card>div:first-child{max-width:700px}.fshfinal-card span{font-size:10px;letter-spacing:.14em;color:#D8C9F0;font-weight:900}.fshfinal-card h2{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:7px 0 0;font-weight:900;color:#fff}.fshfinal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:320px}

@media(max-width:1199px){.fshtest-grid{grid-template-columns:repeat(3,1fr)}.fshcommand-grid{grid-template-columns:repeat(2,1fr)}.fshinsight-grid{grid-template-columns:1fr 1fr}.fshsignal-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.fshsignal-list>div{border-bottom:0;border-right:1px solid #F0ECF3}.fshsignal-list>div:last-child{border-right:0}}
@media(max-width:991px){.fshcommand-deck{grid-template-columns:1fr}.fshtarget-panel{min-height:280px;margin-top:12px}.fshheading-split{grid-template-columns:1fr;gap:12px}.fshmode-grid{grid-template-columns:1fr 1fr}.fshtest-grid{grid-template-columns:repeat(2,1fr)}.fshcoach-panel{grid-template-columns:1fr}.fshinsight-grid{grid-template-columns:1fr}.fshsignal-list{grid-column:auto;display:block}.fshsignal-list>div{border-right:0;border-bottom:1px solid #F0ECF3}.fshfinal-card{flex-direction:column;align-items:flex-start}.fshfinal-actions{justify-content:flex-start;min-width:0}}
@media(max-width:767px){.fshtyping-masthead,.fshmode-showcase,.fshtest-library,.fshcoach-story,.fshinsight-section{padding:62px 0}.fshmast-copy h1{font-size:44px}.fshcommand-main{padding:18px}.fshcommand-grid{grid-template-columns:1fr}.fshmode-grid,.fshtest-grid{grid-template-columns:1fr}.fshlibrary-toolbar{grid-template-columns:1fr}.fshcoach-copy{padding:34px 24px}.fshcoach-visual{padding:22px}.fshkey-row span{height:48px}.fshfinal-card{padding:30px 24px}.fshfinal-actions{width:100%}.fshfinal-actions a{width:100%}}
@media(max-width:480px){.fshmast-actions{flex-direction:column}.fshmast-actions a{width:100%}.fshcommand-head{flex-direction:column}.fshmast-copy h1{font-size:38px}.fshtarget-score strong{font-size:54px}.fshresult-mini{grid-template-columns:1fr}.fshkey-row{grid-template-columns:repeat(3,1fr)}.fshsection-heading h2{font-size:34px}}

/* ===== V6 DISTINCT HERO ===== */
.fshv6-hero{padding:18px 0 46px;background:radial-gradient(circle at 18% 0,rgba(79,50,154,.12),transparent 32%),radial-gradient(circle at 90% 22%,rgba(233,38,119,.10),transparent 28%),#fff;position:relative;overflow:hidden}
.fshv6-hero-copy{max-width:860px;margin:0 auto 42px;text-align:center}
.fshv6-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #e7e5ee;border-radius:999px;background:#fff;color:#4f329a;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(25,36,58,.06)}
.fshv6-hero h1{max-width:800px;margin:17px auto 15px;color:#19243a;font-size:clamp(38px,6vw,70px);line-height:.98;letter-spacing:-2.7px;font-weight:900}
.fshv6-hero h1 span{display:block;background:linear-gradient(90deg,#4f329a,#e92677);-webkit-background-clip:text;color:transparent}
.fshv6-hero-copy>p{max-width:690px;margin:0 auto;color:#747490;font-size:16px;line-height:1.75}
.fshv6-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px;flex-wrap:wrap}
.fshv6-primary{display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:12px;background:#19243a;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 12px 26px rgba(25,36,58,.18)}
.fshv6-link{color:#4f329a!important;text-decoration:none;font-weight:800}
.fshv6-stage{max-width:1060px;margin:auto;border:1px solid #e7e5ee;border-radius:30px;background:#fff;box-shadow:0 30px 80px rgba(25,36,58,.12);overflow:hidden}
.fshv6-stage-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #e7e5ee;background:#f9f8fa;color:#747490;font-size:11px;font-weight:800;letter-spacing:.08em}
.fshv6-stage-top span i{font-size:7px;color:#e92677;margin-right:6px}
.fshv6-stage-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:380px}
.fshv6-route{padding:30px;background:#fff}.fshv6-route-label{font-size:11px;font-weight:900;color:#747490;letter-spacing:.12em;margin-bottom:14px}
.fshv6-route-item{display:grid;grid-template-columns:42px 1fr 42px;gap:15px;align-items:center;padding:18px;border:1px solid #eceaf1;border-radius:18px;margin-top:11px;transition:.25s}
.fshv6-route-item.active{border-color:rgba(79,50,154,.25);background:linear-gradient(90deg,#f8f5ff,#fff)}
.fshv6-route-item b{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f0e5ed;color:#4f329a;font-size:12px}.fshv6-route-item strong{display:block;color:#19243a;font-size:15px}.fshv6-route-item small{display:block;color:#747490;margin-top:4px;line-height:1.4}.fshv6-route-item>i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#19243a;color:#fff}
.fshv6-focus{padding:38px;background:linear-gradient(145deg,#19243a 0%,#342462 55%,#4f329a 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}.fshv6-focus-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:20px;margin-bottom:25px}.fshv6-focus>small{font-size:10px;letter-spacing:.15em;font-weight:900;color:#e9cfe1}.fshv6-focus h2{font-size:clamp(28px,3vw,40px);line-height:1.05;margin:9px 0 14px;color:#fff;font-weight:900}.fshv6-focus p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.72);margin:0}.fshv6-focus-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.fshv6-focus-chips span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:800}
@media(max-width:767px){.fshv6-hero{padding:48px 0}.fshv6-hero h1{letter-spacing:-1.5px}.fshv6-stage-grid{grid-template-columns:1fr}.fshv6-stage-top small{display:none}.fshv6-route{padding:18px}.fshv6-focus{padding:28px}.fshv6-route-item{grid-template-columns:38px 1fr}.fshv6-route-item>i{display:none}}


/* ============================================================
   V7 — DISTINCT MODE ACTIONS + SESSION SHELF
   ============================================================ */

/* Practice mode cards: make action unmistakable and dark */
.fshmode-body a{
    margin-top:18px;
    min-height:46px;
    padding:0 15px;
    border-radius:13px;
    background:var(--navy);
    color:#fff!important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    box-shadow:0 10px 22px rgba(25,36,58,.15);
    transition:.25s ease;
}
.fshmode-body a:hover{
    background:#10192b;
    color:#fff!important;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(25,36,58,.22);
}
.fshmode-body a i{
    width:30px;
    height:30px;
    border-radius:9px;
    background:rgba(255,255,255,.1);
    display:grid;
    place-items:center;
}

/* Replace old filter/dashboard-looking test library entirely */
.fshv7-library{
    padding:96px 0 104px;
    background:
      radial-gradient(circle at 9% 10%,rgba(79,50,154,.08),transparent 24%),
      radial-gradient(circle at 94% 90%,rgba(231,45,118,.07),transparent 22%),
      #F8F6FB;
    position:relative;
}
.fshv7-library-head{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);
    gap:60px;
    align-items:end;
    margin-bottom:44px;
}
.fshv7-library-copy h2{
    max-width:780px;
    margin:14px 0 14px;
    color:var(--navy);
    font-size:clamp(38px,5.4vw,66px);
    line-height:.98;
    letter-spacing:-2.4px;
    font-weight:900;
}
.fshv7-library-copy h2 span{
    background:linear-gradient(90deg,var(--purple),var(--pink));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.fshv7-library-copy p{
    max-width:700px;
    margin:0;
    color:var(--text);
    font-size:15px;
    line-height:1.75;
}
.fshv7-library-note{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:16px;
    align-items:center;
    padding:20px;
    border-radius:22px;
    background:var(--navy);
    color:#fff;
    box-shadow:0 18px 42px rgba(25,36,58,.16);
}
.fshv7-note-icon{
    width:58px;
    height:58px;
    border-radius:17px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--purple),var(--pink));
    font-size:21px;
}
.fshv7-library-note small,
.fshv7-library-note strong{display:block}
.fshv7-library-note small{
    margin-bottom:5px;
    color:#CFC8E3;
    font-size:9px;
    letter-spacing:.14em;
    font-weight:900;
}
.fshv7-library-note strong{
    font-size:13px;
    line-height:1.55;
}

.fshv7-test-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.fshv7-test-card{
    min-height:290px;
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    border:1px solid #E7E2ED;
    border-radius:24px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 30px rgba(35,27,58,.055);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.fshv7-test-card:hover{
    transform:translateY(-6px);
    border-color:#D4C6E7;
    box-shadow:0 20px 44px rgba(79,50,154,.12);
}
.fshv7-card-rail{
    padding:18px 0;
    background:linear-gradient(180deg,#202A43 0%,#19243A 100%);
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
}
.fshv7-card-rail span{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    font-size:10px;
    letter-spacing:.18em;
    color:rgba(255,255,255,.55);
    font-weight:900;
}
.fshv7-card-rail i{
    width:38px;
    height:38px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.09);
    color:#fff;
}
.fshv7-card-main{
    min-width:0;
    padding:20px;
    display:flex;
    flex-direction:column;
}
.fshv7-card-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}
.fshv7-mode-label{
    max-width:68%;
    color:var(--purple);
    font-size:9.5px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:900;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.fshv7-access{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 8px;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
}
.fshv7-access.free{background:#ECF8F1;color:#168A59}
.fshv7-access.premium{background:#FFF0F5;color:#C24A72}
.fshv7-card-main h3{
    min-height:54px;
    margin:24px 0 20px;
    color:var(--navy);
    font-size:19px;
    line-height:1.42;
    font-weight:900;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fshv7-card-facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:18px;
}
.fshv7-card-facts>span{
    min-width:0;
    position:relative;
    padding:12px 10px 11px 36px;
    border-radius:13px;
    background:#F8F5FB;
    border:1px solid #EEE8F3;
}
.fshv7-card-facts i{
    position:absolute;
    left:11px;
    top:15px;
    color:var(--purple);
    font-size:12px;
}
.fshv7-card-facts b,
.fshv7-card-facts small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fshv7-card-facts b{color:var(--navy);font-size:11px}
.fshv7-card-facts small{margin-top:2px;color:#9690A0;font-size:8.5px}
.fshv7-start-btn{
    margin-top:auto;
    min-height:46px;
    padding:0 8px 0 15px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:var(--navy);
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:900;
    transition:.25s ease;
}
.fshv7-start-btn i{
    width:32px;
    height:32px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--purple),var(--pink));
}
.fshv7-start-btn:hover{
    background:#10192B;
    color:#fff!important;
    transform:translateY(-1px);
}

@media(max-width:1199px){
  .fshv7-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991px){
  .fshv7-library-head{grid-template-columns:1fr;gap:24px;align-items:start}
  .fshv7-library-note{max-width:520px}
}
@media(max-width:767px){
  .fshv7-library{padding:68px 0 76px}
  .fshv7-library-copy h2{font-size:44px;letter-spacing:-1.5px}
  .fshv7-test-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .fshv7-library-copy h2{font-size:36px}
  .fshv7-test-card{grid-template-columns:50px minmax(0,1fr);min-height:270px}
  .fshv7-card-main{padding:16px}
  .fshv7-card-facts{grid-template-columns:1fr}
  .fshv7-card-main h3{min-height:auto}
}

/* ============================================================
   V8 TEST CARDS — cleaner, stronger contrast, no side rail
============================================================ */
.fshv7-test-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.fshv8-test-card{
    min-height:300px;
    padding:20px;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid #E7E2ED;
    border-radius:24px;
    box-shadow:0 12px 32px rgba(25,36,58,.07);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.fshv8-test-card::before{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-54px;
    top:-54px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(79,50,154,.10),rgba(236,38,119,.08));
    pointer-events:none;
}
.fshv8-test-card:hover{
    transform:translateY(-6px);
    border-color:#CFC0E3;
    box-shadow:0 22px 46px rgba(79,50,154,.13);
}
.fshv8-card-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.fshv8-mode-mark{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
}
.fshv8-number{
    min-width:32px;
    height:32px;
    padding:0 7px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#19243A;
    color:#fff!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
}
.fshv8-icon{
    width:32px;
    height:32px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:#F2ECFA;
    color:#4F329A!important;
    font-size:12px;
}
.fshv8-mode-mark small,
.fshv8-mode-mark strong{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fshv8-mode-mark small{
    color:#9A92A8!important;
    font-size:8px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
}
.fshv8-mode-mark strong{
    margin-top:5px;
    color:#4F329A!important;
    font-size:10px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.fshv8-access{
    flex:0 0 auto;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:9px;
    font-weight:900;
}
.fshv8-access.free{background:#EDF8F3;color:#147A52!important}
.fshv8-access.premium{background:#FFF0F5;color:#C43A6D!important}
.fshv8-card-body{
    position:relative;
    z-index:1;
    padding:25px 0 18px;
}
.fshv8-card-body h3{
    margin:0;
    min-height:52px;
    color:#19243A!important;
    font-size:20px;
    line-height:1.32;
    font-weight:900;
    letter-spacing:-.25px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fshv8-card-body p{
    margin:8px 0 0;
    color:#747490!important;
    font-size:11px;
    line-height:1.55;
}
.fshv8-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #EEE9F2;
}
.fshv8-meta-row span{
    min-height:32px;
    padding:0 10px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:#F8F5FB;
    border:1px solid #EEE8F3;
    color:#19243A!important;
}
.fshv8-meta-row i{color:#4F329A!important;font-size:10px}
.fshv8-meta-row b{color:#19243A!important;font-size:10px;font-weight:850;text-transform:capitalize}
.fshv8-start-btn{
    margin-top:14px;
    min-height:56px;
    padding:7px 8px 7px 16px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:linear-gradient(135deg,#19243A 0%,#222E49 100%);
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:0 10px 22px rgba(25,36,58,.17);
    transition:.25s ease;
}
.fshv8-start-btn span{display:block;min-width:0}
.fshv8-start-btn small,
.fshv8-start-btn b{display:block;color:#fff!important}
.fshv8-start-btn small{
    margin-bottom:2px;
    color:rgba(255,255,255,.58)!important;
    font-size:7.5px;
    font-weight:850;
    letter-spacing:.12em;
}
.fshv8-start-btn b{font-size:12px;font-weight:900}
.fshv8-start-btn>i{
    flex:0 0 auto;
    width:40px;
    height:40px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#4F329A,#EC2677);
    color:#fff!important;
    transition:transform .25s ease;
}
.fshv8-start-btn:hover{
    background:#111A2C;
    color:#fff!important;
    transform:translateY(-1px);
}
.fshv8-start-btn:hover>i{transform:translateX(2px)}

@media(max-width:1199px){.fshv7-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.fshv7-test-grid{grid-template-columns:1fr}.fshv8-test-card{min-height:auto}}
@media(max-width:480px){
    .fshv8-test-card{padding:16px;border-radius:20px}
    .fshv8-card-head{gap:8px}
    .fshv8-number,.fshv8-icon{width:28px;height:28px;min-width:28px}
    .fshv8-mode-mark{gap:6px}
    .fshv8-card-body{padding:20px 0 14px}
    .fshv8-card-body h3{min-height:auto;font-size:18px}
}


/* SUPERCHARGED V8 CARDS OVERRIDE */
.fshv8-test-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    text-decoration: none !important;
    box-shadow: 0 8px 16px -4px rgba(15,23,42,0.03);
    min-height: auto;
}
.fshv8-test-card::before { display: none !important; }

/* Gradients & Top Borders */
.fshv8-test-card.fshcard-typing { background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%); border-top: 3px solid #60a5fa; }
.fshv8-test-card.fshcard-audio { background: linear-gradient(135deg, #ffffff 0%, #faf5ff 100%); border-top: 3px solid #c084fc; }
.fshv8-test-card.fshcard-pitman { background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%); border-top: 3px solid #34d399; }
.fshv8-test-card.fshcard-ahc { background: linear-gradient(135deg, #ffffff 0%, #fff7ed 100%); border-top: 3px solid #fbbf24; }

/* Buttons inside the cards */
.fshv8-start-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.2s ease;
    margin-top: auto;
    text-decoration: none !important;
}

/* Typing Button */
.fshv8-test-card.fshcard-typing .fshv8-start-btn { background: #2563eb; color: #fff; box-shadow: 0 2px 8px rgba(37,99,235,0.2); border: none; }
.fshv8-test-card.fshcard-typing:hover .fshv8-start-btn { background: #1d4ed8; color: #fff; box-shadow: 0 4px 12px rgba(37,99,235,0.3); }

/* Audio Button */
.fshv8-test-card.fshcard-audio .fshv8-start-btn { background: #c026d3; color: #fff; box-shadow: 0 2px 8px rgba(192,38,211,0.2); border: none; }
.fshv8-test-card.fshcard-audio:hover .fshv8-start-btn { background: #a21caf; color: #fff; box-shadow: 0 4px 12px rgba(192,38,211,0.3); }

/* Pitman Button */
.fshv8-test-card.fshcard-pitman .fshv8-start-btn { background: #059669; color: #fff; box-shadow: 0 2px 8px rgba(5,150,105,0.2); border: none; }
.fshv8-test-card.fshcard-pitman:hover .fshv8-start-btn { background: #047857; color: #fff; box-shadow: 0 4px 12px rgba(5,150,105,0.3); }

/* AHC Button */
.fshv8-test-card.fshcard-ahc .fshv8-start-btn { background: #ea580c; color: #fff; box-shadow: 0 2px 8px rgba(234,88,12,0.2); border: none; }
.fshv8-test-card.fshcard-ahc:hover .fshv8-start-btn { background: #c2410c; color: #fff; box-shadow: 0 4px 12px rgba(234,88,12,0.3); }

.fshv8-test-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -8px rgba(15,23,42,0.08); }

/* ===== CLEAN TYPING PAGE OVERRIDES ===== */
.fshtyping-page{background:#fff}
.fshv6-hero{padding:54px 0 48px!important;background:linear-gradient(180deg,#fff 0%,#faf8fc 100%)}
.fshv6-hero-copy{margin:0 auto!important}
.fshv6-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.02;letter-spacing:-2px}
.fshv6-hero h1 span{display:inline}
.fshv6-hero-copy>p{font-size:15.5px;line-height:1.65;max-width:650px}
.fshv6-actions{gap:14px;margin-top:22px}
.fshv6-primary{background:var(--purple);box-shadow:none}
.fshv6-link{padding:12px 4px}

.fshmode-showcase{padding:58px 0 64px}
.fshheading-split{grid-template-columns:1fr;gap:8px;text-align:center;max-width:760px}
.fshheading-split p{padding:0}
.fshmode-grid{gap:18px;max-width:980px}
.fshmode-card{border-radius:16px;box-shadow:none}
.fshmode-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(25,36,58,.08)}
.fshmode-body{padding:16px 18px 18px}
.fshmode-body h3{font-size:17px;font-weight:800}
.fshmode-body a{min-height:42px;margin-top:10px;border-radius:10px;background:var(--navy);box-shadow:none}

.fshv7-library{padding:64px 0 70px;background:#faf8fc}
.fshv7-library-head{grid-template-columns:1fr auto;gap:32px;align-items:center;margin-bottom:26px}
.fshv7-library-copy h2{font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-1.4px;margin:10px 0}
.fshv7-library-copy p{line-height:1.6}
.fshv7-library-note{max-width:330px;padding:15px 17px;border-radius:16px;box-shadow:none}
.fshv7-note-icon{width:46px;height:46px;border-radius:13px}
.fshv7-library-controls{padding:12px!important;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:22px!important}
.fshv7-library-controls .btn{border-radius:10px!important;font-size:12px;font-weight:700}
.fshshowcase-grid{gap:16px!important}
.fsh-card{box-shadow:none!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:14px!important}
.fsh-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 28px rgba(25,36,58,.07)!important}
.fsh-card-thumb{margin-bottom:12px!important;border-radius:10px!important}
.fsh-card-head{margin-bottom:10px!important}
.fsh-card-title{margin-bottom:10px!important;min-height:0!important}
.fsh-card-meta{gap:10px!important;margin-bottom:14px!important;flex-wrap:wrap}
.fsh-card-btn{height:40px!important;background:var(--purple)!important;color:#fff!important}
.fsh-clean-viewall{text-align:center;margin-top:26px}
.fsh-clean-viewall a{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-weight:800;text-decoration:none;padding:11px 16px;border:1px solid #dcd3e8;border-radius:11px;background:#fff}

.fsh-continue-practice{padding:32px 0!important}
.fsh-exam-discovery{padding:42px 0!important;background:#fff!important}
.fsh-exam-discovery .fshsection-heading{margin-bottom:18px!important}
.fsh-exam-discovery .btn{border-radius:999px!important;padding:8px 15px}

.fsh-faq-section{padding:60px 0;background:#faf8fc;border-top:1px solid var(--line)}
.fsh-faq-accordion{max-width:820px;margin:26px auto 0;display:flex;flex-direction:column;gap:10px}
.fsh-faq-acc-item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fsh-faq-acc-trigger{width:100%;padding:16px 18px;background:none;border:0;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;font-size:15px;font-weight:800;color:var(--navy)}
.fsh-faq-acc-trigger span{display:flex;align-items:center;gap:9px}.fsh-faq-acc-trigger span i,.fsh-faq-icon{color:var(--purple)}
.fsh-faq-icon{transition:transform .25s}.fsh-faq-acc-item.active .fsh-faq-icon{transform:rotate(180deg)}
.fsh-faq-acc-panel{display:none;padding:0 18px 17px 42px}.fsh-faq-acc-panel p{margin:0;color:var(--text);font-size:14px;line-height:1.65}

.fshfinal-cta{padding:0 0 64px;background:#faf8fc}
.fshfinal-card{padding:30px 34px;border-radius:22px;box-shadow:none}
.fshfinal-card h2{font-size:clamp(26px,3vw,36px);color:#fff}

@media(max-width:991px){.fshv7-library-head{grid-template-columns:1fr}.fshv7-library-note{max-width:none}.fshv7-library-controls .ms-auto{margin-left:0!important}}
@media(max-width:767px){.fshv6-hero{padding:42px 0!important}.fshv6-hero h1{font-size:38px;letter-spacing:-1.2px}.fshmode-showcase,.fshv7-library,.fsh-faq-section{padding:48px 0}.fshv7-library-controls{align-items:stretch!important}.fshv7-library-controls>.input-group{max-width:none!important;width:100%}.fshv7-library-controls>.d-flex{width:100%}.fshv7-library-controls .btn{flex:auto;white-space:nowrap}.fshfinal-card{padding:26px 22px}.fsh-faq-acc-panel{padding-left:18px}}
.tbe-cat-card-lg { display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: #ffffff; border: 2px solid #E8E5ED; border-radius: 20px; text-decoration: none !important; transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 10px 30px rgba(25, 36, 58, 0.03); }
.tbe-cat-card-lg:hover { transform: translateY(-4px); border-color: rgba(79, 50, 154, 0.4); box-shadow: 0 16px 40px rgba(79, 50, 154, 0.1); }
.tbe-cat-card-lg.active { border-color: #4F329A; background: #F8F5FF; box-shadow: 0 16px 40px rgba(79, 50, 154, 0.12); }
.tbe-cat-icon-wrapper { width: 56px; height: 56px; border-radius: 14px; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: #F4F1F8; color: #4F329A; font-size: 22px; }
.tbe-cat-icon-wrapper img { width: 100%; height: 100%; object-fit: cover; }
