:root{--navy:#303584;--ink:#24284f;--yellow:#ffd21a;--red:#a91c22;--sky:#f4f5ff;--muted:#69708d;--line:#dde0f0;--bg:#f8f8fc;--white:#fff;--shadow:0 14px 38px rgba(48,53,132,.11);--r:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans Thai',sans-serif}.shell{min-height:100vh}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid #edf1f5}.brand{font-size:18px;font-weight:700;color:var(--navy);letter-spacing:-.4px}.brand small{display:block;color:#8a99a9;font-size:11px;font-weight:600;letter-spacing:.2px}.main{max-width:1160px;margin:auto;padding:48px 24px 80px}.hero{min-height:calc(100vh - 72px);display:grid;align-content:center;justify-items:center;text-align:center;padding:28px 0}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#667a8e}.hero h1{max-width:760px;margin:14px 0 12px;color:var(--navy);font-size:clamp(40px,6vw,76px);letter-spacing:-.055em;line-height:1.03}.hero p{font-size:clamp(17px,2vw,21px);line-height:1.55;max-width:620px;margin:0;color:#52657a}.skill-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:min(700px,100%);margin:36px 0 30px}.skill-pill{background:#fff;border:1px solid #e7edf3;border-radius:18px;padding:17px 9px;box-shadow:0 5px 13px rgba(16,42,67,.04);font-weight:700;color:var(--navy)}.skill-pill span{display:block;font-size:25px;margin-bottom:6px}.button{border:0;border-radius:14px;background:var(--red);color:#fff;padding:16px 25px;font:700 16px inherit;cursor:pointer;box-shadow:0 8px 18px rgba(223,64,86,.22);transition:.2s}.button:hover{transform:translateY(-1px);filter:brightness(.98)}.button.secondary{background:#fff;color:var(--navy);box-shadow:none;border:1px solid var(--line)}.button.yellow{background:var(--yellow);color:var(--navy);box-shadow:none}.fine{font-size:13px;color:var(--muted);margin:12px 0 0}.how{margin-top:65px;width:100%;max-width:860px}.how h2,.section-title{color:var(--navy);font-size:25px;letter-spacing:-.03em}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}.step{padding:22px;background:#fff;border-radius:18px}.step b{display:block;width:30px;height:30px;border-radius:50%;background:var(--yellow);text-align:center;padding-top:5px;color:var(--navy);margin-bottom:12px}.step strong{display:block;color:var(--navy)}.card{background:#fff;border:1px solid #e7edf3;border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(22px,4vw,42px)}.pretest{max-width:780px;margin:20px auto}.pretest h1,.test-title{color:var(--navy);font-size:clamp(30px,4vw,45px);letter-spacing:-.045em;margin:0 0 10px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0}.timeline div{border-left:3px solid var(--yellow);padding:8px 12px;background:#f8fafc;border-radius:0 10px 10px 0}.timeline b{display:block;color:var(--navy)}.timeline small{color:var(--muted)}.notice{background:#fff8d8;border-radius:12px;padding:14px 17px;color:#66551c;font-size:14px}.target-row{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 28px}.choice{border:1px solid var(--line);background:#fff;color:var(--navy);padding:12px 17px;border-radius:12px;cursor:pointer;font:600 15px inherit}.choice.active,.choice:hover{border-color:var(--navy);background:var(--navy);color:#fff}.progress-wrap{position:sticky;top:0;z-index:4;background:rgba(246,248,251,.94);backdrop-filter:blur(10px);padding:12px 0 18px}.progress-meta{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:9px}.progress{height:8px;border-radius:8px;background:#dfe8f0;overflow:hidden}.progress i{display:block;background:var(--yellow);height:100%;border-radius:inherit;transition:width .25s}.test-shell{max-width:1000px;margin:auto}.test-head{margin:20px 0 24px}.test-head p{color:var(--muted);margin:0}.audio-box{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:22px;background:#102a43;border-radius:18px;color:#fff}.play{width:52px;height:52px;border:none;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:19px;cursor:pointer}.audio-box b{display:block}.audio-box small{opacity:.72}.questions{display:grid;gap:14px}.question{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.question b{color:var(--navy)}.options{display:grid;gap:9px;margin-top:13px}.option{border:1px solid var(--line);padding:12px 14px;border-radius:11px;cursor:pointer;background:#fff;text-align:left;font:500 15px inherit;color:var(--ink)}.option.selected{border-color:var(--navy);background:#edf5fb}.inline-blank{display:inline-block;inline-size:clamp(7.5rem,18vw,11.5rem);max-inline-size:100%;margin:0 4px;padding:1px 5px 3px;border:0;border-bottom:2px dotted var(--navy);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;line-height:1.25;vertical-align:baseline;outline:none}.inline-blank:focus{border-bottom-style:solid;border-bottom-color:var(--red);box-shadow:0 3px 0 -1px rgba(169,28,34,.15)}textarea{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit;color:var(--ink);outline:none}textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(16,42,67,.1)}.nav-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.passage{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;line-height:1.72;align-self:start}.passage h3{color:var(--navy);margin-top:0}.collapse{display:none}.writing-box{max-width:780px;margin:auto}.prompt{background:#fff8d8;padding:20px;border-radius:16px;color:#45390f;line-height:1.55}.wordcount{color:var(--muted);text-align:right;margin:8px 2px}.writing-area{min-height:255px;resize:vertical;line-height:1.6}.speaking-layout{max-width:780px;margin:auto}.speak-q{margin:18px 0;padding:23px;background:#fff;border:1px solid var(--line);border-radius:18px}.speak-q h3{color:var(--navy);font-size:20px;margin:0 0 8px}.mode-toggle{display:flex;gap:8px;margin:16px 0}.record-box{padding:22px;background:#f0f6fa;border-radius:16px;text-align:center}.mic-button{width:82px;height:82px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:34px;cursor:pointer;box-shadow:0 10px 22px rgba(48,53,132,.22);transition:.2s}.mic-button:hover{transform:translateY(-2px)}.mic-button.recording{background:var(--red);animation:micPulse 1.1s infinite}.mic-button.complete{background:#24734d}.record-status{font-weight:700;color:var(--navy);margin:13px 0 0}@keyframes micPulse{50%{box-shadow:0 0 0 12px rgba(169,28,34,.12)}}.record-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.mini{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font:600 14px inherit;background:var(--navy);color:#fff}.mini.stop{background:var(--red)}.hidden{display:none!important}.analyze{min-height:100vh;display:grid;place-items:center;text-align:center}.analyze .card{width:min(530px,100%)}.spinner{width:68px;height:68px;border-radius:50%;border:7px solid #e4ebf0;border-top-color:var(--yellow);animation:spin .8s linear infinite;margin:28px auto}@keyframes spin{to{transform:rotate(360deg)}}.checks{display:grid;gap:9px;text-align:left;margin:22px auto;width:min(260px,100%)}.checks div{color:#557061}.band-preview{text-align:center;background:var(--navy);color:#fff;padding:28px;border-radius:18px;margin:22px 0}.band-preview b{display:block;font-size:46px;letter-spacing:-.05em;color:var(--yellow);margin-top:5px}.lead{max-width:550px;margin:auto}.field-label{font-size:14px;font-weight:700;color:var(--navy);display:block;margin:18px 0 7px}.result{max-width:1000px;margin:auto}.result-hero{text-align:center;padding:34px}.estimated{font-size:clamp(58px,10vw,94px);line-height:1;color:var(--red);font-weight:700;letter-spacing:-.08em;margin:15px 0}.band-journey{margin:24px 0;background:#fff;padding:25px;border:1px solid var(--line);border-radius:18px}.journey-line{position:relative;display:flex;justify-content:space-between;align-items:center;margin:36px 6px 10px;border-top:5px solid #dbe5ec}.journey-line span{position:relative;top:-17px;background:#fff;border:2px solid var(--navy);width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.journey-line span.you{background:var(--yellow);outline:4px solid #fff}.journey-note{font-size:13px;color:var(--muted);text-align:center}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.score-card{border-radius:18px;padding:20px;background:#fff;border:1px solid var(--line)}.score-card small{color:var(--muted)}.score-card b{font-size:34px;color:var(--navy);display:block;margin:6px 0}.tag{font-size:12px;border-radius:20px;padding:5px 9px;display:inline-block;font-weight:700}.strong{background:#e1f4ea;color:#17663f}.almost{background:#fff6d6;color:#806319}.needs{background:#eef2ff;color:#4850a4}.priority{background:#fde8e9;color:#b23343}.insights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.insight{padding:23px;border-radius:18px;background:#fff;border:1px solid var(--line)}.insight h3{color:var(--navy);margin-top:0}.priority-list{display:grid;gap:9px}.priority-row{display:flex;justify-content:space-between;padding:13px;border-radius:11px;background:#f7f9fb}.rank{font-size:12px;font-weight:700;padding:4px 8px;border-radius:10px}.high{background:#fde8e9;color:#b23343}.medium{background:#fff6d6;color:#806319}.low{background:#e1f4ea;color:#17663f}.course{margin-top:22px;background:var(--navy);color:#fff}.course h2{color:#fff;margin-top:0}.course li{margin:9px 0}.course .button{margin:10px 8px 0 0}.share-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:25px}.admin-tabs{display:flex;gap:8px;overflow:auto;margin:23px 0}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
/* KruJeab Interhub brand treatment: indigo structure, learning yellow, restrained red. */
.nav{border-bottom:3px solid var(--yellow)}
.brand{display:flex;align-items:center;gap:10px;line-height:1.05}.brand img{width:44px;height:44px;object-fit:cover;object-position:center;border-radius:10px;display:block}.brand span{display:block}.brand small{margin-top:4px;color:var(--red);font-size:10px;letter-spacing:.13em}.hero:before{content:'';position:absolute;width:min(560px,88vw);height:260px;background:radial-gradient(ellipse at center,rgba(255,210,26,.17),rgba(255,210,26,0) 68%);z-index:-1}.hero{position:relative}.eyebrow{color:var(--red)}.skill-pill{border-top:4px solid var(--yellow);border-radius:14px}.step{border-top:4px solid var(--navy);border-radius:14px}.step:nth-child(2){border-top-color:var(--yellow)}.step:nth-child(3){border-top-color:var(--red)}.button{box-shadow:0 9px 18px rgba(169,28,34,.2)}.audio-box{background:var(--navy)}.option.selected{background:#f0f1ff}.record-box{background:var(--sky)}.course{background:var(--navy);border-left:7px solid var(--yellow)}.estimated{color:var(--red)}
@media(max-width:700px){.brand{font-size:15px}.brand img{width:38px;height:38px;border-radius:8px}.nav{height:64px}.main{padding:28px 16px 50px}.hero{min-height:calc(100vh - 64px);padding:10px 0}.skill-row{gap:8px;margin:25px 0}.skill-pill{font-size:12px;padding:12px 4px}.skill-pill span{font-size:20px}.steps,.timeline,.score-grid{grid-template-columns:1fr 1fr}.reading-grid,.insights{grid-template-columns:1fr}.passage{max-height:none}.collapse{display:inline-block;margin:10px 0 0}.passage.collapsed p{display:none}.audio-box{padding:16px}.test-title{font-size:30px}.journey-line{margin-top:32px}.result-hero{padding:24px 12px}.estimated{font-size:60px}.card{padding:24px}.timeline div{padding:8px}.how{margin-top:45px}}
/* First-two-screen redesign: desktop is deliberately a compact 100vh experience. */
.nav{height:64px}.brand img{width:38px;height:38px;border-radius:8px}.main{padding:0 24px}.landing-page,.before-page{height:100dvh;overflow:hidden}.landing-page .main,.before-page .main{height:calc(100dvh - 64px);display:grid;place-items:center;padding:20px 24px}.landing-page .hero{min-height:0;width:min(720px,100%);padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.landing-page .hero:before{width:min(500px,85vw);height:220px}.landing-page .eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:12px}.landing-page .hero h1{font-size:clamp(42px,5.2vw,68px);margin:0 0 14px;line-height:1.04}.landing-page .hero p{font-size:clamp(16px,1.6vw,19px);line-height:1.45}.landing-page .skill-row{width:min(600px,100%);margin:26px 0 13px;gap:10px}.landing-page .skill-pill{border:1px solid var(--line);border-top:3px solid var(--yellow);border-radius:13px;padding:13px 8px;box-shadow:0 6px 16px rgba(48,53,132,.06);font-size:14px}.hero-time{font-size:13px!important;color:var(--muted);margin:0 0 17px!important}.hero-cta{min-width:210px;padding:14px 24px}.before-page .pretest{width:min(780px,100%);margin:0;padding:clamp(24px,3vw,34px);box-shadow:0 14px 36px rgba(48,53,132,.09)}.pretest-intro h1{font-size:clamp(30px,3.6vw,42px);line-height:1.1;margin:0 0 8px}.pretest-intro p{margin:0;color:var(--muted);font-size:15px}.before-page .timeline{margin:22px 0 16px;gap:8px}.before-page .timeline div{padding:10px 12px;border-left-width:3px;background:#fafaff}.before-page .timeline b{font-size:14px}.before-page .notice{font-size:12px;line-height:1.4;padding:11px 14px}.before-page .field-label{margin:17px 0 8px}.before-page .target-row{margin:0 0 19px;gap:7px}.before-page .choice{min-width:57px;padding:9px 12px;border-radius:10px;font-size:14px}.pretest-cta{min-width:218px;padding:14px 24px}
@media(max-width:700px){.landing-page,.before-page{height:auto;min-height:100dvh;overflow:visible}.landing-page .main,.before-page .main{height:auto;min-height:calc(100dvh - 64px);padding:22px 16px}.landing-page .hero{padding:16px 0}.landing-page .hero h1{font-size:clamp(40px,12vw,54px)}.landing-page .hero p{font-size:16px}.landing-page .skill-row{grid-template-columns:repeat(2,1fr);margin:23px 0 13px}.landing-page .skill-pill{padding:12px 8px}.before-page .pretest{padding:24px 18px}.pretest-intro h1{font-size:30px}.before-page .timeline{grid-template-columns:repeat(2,1fr);margin:19px 0 14px}.before-page .target-row{display:grid;grid-template-columns:repeat(3,1fr)}.before-page .choice{width:100%;min-width:0}.before-page .notice{font-size:12px}.pretest-cta{width:100%}}
/* Single entry screen: Target selection is part of the start decision, not a second page. */
.landing-target{width:min(860px,100%);margin:16px 0 10px}.landing-target .field-label{text-align:left;margin:0 0 8px;font-size:15px}.landing-target .target-row{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;margin:0}.landing-target .choice{min-width:0;width:100%;padding:12px 8px;border-radius:12px;font-size:16px}.landing-target .choice.active{background:var(--navy);border-color:var(--navy);color:#fff}.landing-page .hero-time{margin:2px 0 15px!important}.landing-page .hero h1{font-size:clamp(40px,4.8vw,62px)}.landing-page .skill-row{margin:20px 0 0}@media(max-width:700px){.landing-target{margin:16px 0 9px}.landing-target .target-row{grid-template-columns:repeat(3,1fr);gap:8px}.landing-target .choice{padding:10px 7px;font-size:15px}.landing-target .field-label{font-size:14px}.landing-page .skill-row{margin:18px 0 0}}@media(max-height:720px) and (min-width:701px){.landing-target{margin:10px 0 7px}.landing-target .choice{padding:9px 7px}.landing-page .hero-time{margin:0 0 10px!important}}
/* Landing conversion refinement: the sole CTA is deliberately dominant. */
.landing-page .hero-cta{width:min(360px,100%);min-height:60px;padding:16px 30px;font-size:17px;font-weight:800;letter-spacing:.01em;box-shadow:0 14px 26px rgba(169,28,34,.28),0 0 0 4px rgba(255,210,26,.42)}
.landing-page .hero-cta:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 18px 30px rgba(169,28,34,.34),0 0 0 4px rgba(255,210,26,.58)}
@media(max-width:700px){.landing-page .hero-cta{width:min(340px,100%);min-height:58px;font-size:16px}}
/* Modern landing: restrained depth and quick-scan proof without adding a second CTA. */
.landing-page{background:linear-gradient(145deg,#f9faff 0%,#f3f4ff 54%,#fffaf0 100%);overflow-x:hidden}
.landing-page .hero{isolation:isolate}
.landing-page .hero:before{width:min(680px,94vw);height:440px;background:radial-gradient(ellipse at center,rgba(255,210,26,.23),rgba(255,210,26,0) 67%)}
.landing-page .eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--navy);letter-spacing:.14em}.landing-page .eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(169,28,34,.12)}
.landing-page .hero h1 em{font-style:normal;color:var(--red);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:8px;text-underline-offset:5px}.landing-page .hero>p{color:#566078;font-weight:500}
.landing-page .hero-time{margin:12px 0 14px!important;font-size:13px!important;color:var(--muted);font-weight:600}
.landing-page .landing-target{padding:14px 16px 16px;background:rgba(255,255,255,.8);border:1px solid rgba(48,53,132,.11);border-radius:17px;box-shadow:0 12px 34px rgba(48,53,132,.07)}.landing-page .landing-target .field-label{font-weight:800;color:var(--navy)}.landing-page .landing-target .choice{background:#fff;transition:transform .16s,background .16s,border-color .16s}.landing-page .landing-target .choice:hover{transform:translateY(-2px);border-color:var(--navy)}.landing-page .hero-cta{margin-top:18px;display:inline-flex;justify-content:center;align-items:center;gap:10px}.landing-page .hero-cta span{font-size:22px;line-height:0}
@media(max-width:700px){.landing-page .hero:before{height:360px}.landing-page .hero-time{margin:10px 0 12px!important}.landing-page .landing-target{padding:13px 12px}.landing-page .hero-cta{margin-top:16px}}
@media(max-height:650px) and (min-width:701px){.landing-page .main{padding:7px 24px}.landing-page .eyebrow{margin-bottom:4px}.landing-page .hero h1{font-size:clamp(38px,4.2vw,52px);margin-bottom:7px}.landing-page .hero>p:not(.hero-time){font-size:15px;line-height:1.32}.landing-page .hero-time{margin:5px 0 7px!important}.landing-page .landing-target{margin:0;padding:9px 13px 11px}.landing-page .landing-target .field-label{margin-bottom:5px;font-size:13px}.landing-page .landing-target .choice{padding:8px 6px;font-size:14px}.landing-page .hero-cta{min-height:50px;margin-top:10px;padding:11px 25px;font-size:15px}}
/* Quick Diagnostic content surfaces. */
.question small{display:block;color:var(--muted);margin:8px 0;font-weight:500}.question-instruction{background:#fff8d8;border-radius:13px;padding:15px;color:#5f511b;font-size:14px}.speak-meta{color:var(--red);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.speak-q ul{margin:8px 0 16px;padding-left:22px;color:var(--muted)}.detailed-scores{grid-template-columns:repeat(2,1fr);margin:20px 0}.detailed-scores .score-card p{font-size:13px;line-height:1.45;color:var(--muted)}.detailed-scores .score-card strong{color:var(--navy);font-size:12px}.result-report{padding-top:22px}.result-report h1{margin:8px 0;color:var(--navy);font-size:clamp(30px,5vw,46px)}.result-report .result-hero>p:not(.fine){margin:0;color:var(--muted)}.result-label{display:block;margin-top:25px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}.target-gap{margin:0 auto!important;max-width:680px;font-weight:600;color:var(--ink)!important}.result-id{display:block;margin-top:14px;color:var(--muted)}.skills-summary{margin:28px 0}.skills-summary h2{margin:0;color:var(--navy);font-size:22px}.detailed-scores .score-card{position:relative}.detailed-scores .score-card .tag{position:absolute;right:16px;top:16px}.detailed-scores .score-card p{margin:13px 0 0}.insight-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.insight h2,.diagnostic-insight h2,.line-cta h2,.recommendation h2{margin:7px 0 10px;color:var(--navy);font-size:23px}.insight p,.diagnostic-insight p,.line-cta p,.recommendation p{margin:0;line-height:1.55;color:var(--muted)}.priority-insight{border-top:4px solid var(--red)}.diagnostic-insight{margin:18px 0;border-left:5px solid var(--yellow)}.line-cta{margin:22px 0;background:var(--navy);border-left:7px solid var(--yellow);color:#fff}.line-cta h2,.line-cta p{color:#fff}.line-cta p{opacity:.86}.line-primary{margin-top:20px;min-width:min(100%,340px);font-size:17px}.recommendation{margin:18px 0}.recommendation ul{margin:14px 0 20px;padding-left:21px;color:var(--muted);line-height:1.6}.retake{font-size:14px;padding:11px 15px}@media(max-width:700px){.detailed-scores{grid-template-columns:1fr}.insight-pair{grid-template-columns:1fr}.line-primary{width:100%;min-width:0}}
/* Reading scan support: paragraph references and TFNG explanations stay compact and aligned. */
.passage p{position:relative}.paragraph-label{display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;width:24px;height:24px;margin:0 8px 0 0;border-radius:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;line-height:1;transform:translateY(-1px)}
.tfng-instruction dl{display:grid;gap:7px;margin:12px 0 0}.tfng-instruction dl>div{display:flex;align-items:baseline;gap:8px}.tfng-instruction dt{min-width:82px;font-weight:800;color:var(--navy)}.tfng-instruction dd{margin:0;line-height:1.35}
@media(max-width:520px){.tfng-instruction dl>div{align-items:flex-start;gap:6px}.tfng-instruction dt{min-width:76px}.tfng-instruction dd{font-size:13px}.paragraph-label{width:22px;height:22px;margin-right:6px;border-radius:6px}}

.timed-toolbar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:9px 12px;border:1px solid rgba(48,53,132,.1);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(48,53,132,.07);backdrop-filter:blur(10px)}
.skill-position,.speaking-step,.nav-timed{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.02em}.nav-timed{padding:7px 10px;border-radius:999px;background:var(--sky);color:var(--navy)}.skill-timer{min-width:170px;text-align:right;color:var(--navy);font-size:14px;font-weight:800;transition:color .2s}.skill-timer small{display:block;min-height:16px;margin-top:1px;color:inherit;font-size:11px;font-weight:700}.skill-timer.timer-warning{color:#a65a12}.timed-test-shell .progress-wrap{margin-bottom:10px}.single-action{justify-content:flex-end}
.timed-intro,.timeout-transition{min-height:calc(100dvh - 160px);display:grid;place-items:center;position:relative}.timed-intro>.skill-position{position:absolute;top:0;right:0}.timed-intro-card,.timeout-transition .card{width:min(620px,100%);padding:clamp(28px,5vw,48px);text-align:center}.timed-intro-card h1{margin:10px 0 4px}.timed-intro-card h2{margin:0 0 14px;color:var(--navy);font-size:clamp(20px,3vw,28px)}.timed-intro-card p{margin:7px auto;color:var(--muted);line-height:1.55}.intro-time{width:min(280px,100%);display:flex;align-items:center;justify-content:space-between;margin:24px auto;padding:12px 16px;border-radius:12px;background:var(--sky);color:var(--navy)}.intro-time span{font-size:13px;font-weight:700}.intro-time b{font-size:20px;font-variant-numeric:tabular-nums}.timeout-check{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:#eef8f0;color:#287546;font-size:24px;font-weight:900}.timeout-transition h1{margin:0;color:var(--navy)}.timeout-transition p{margin:10px 0 24px;color:var(--muted)}
.wordcount{display:flex;justify-content:space-between;align-items:center;font-variant-numeric:tabular-nums}.wordcount span{font-size:12px;color:var(--muted);font-weight:600}
.mic-fallback h4{margin:0;color:var(--red);font-size:18px}.mic-fallback p{margin:8px 0 16px;color:var(--muted)}.fallback-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.text-fallback-toggle{border:0;background:transparent;color:var(--navy);font:700 14px inherit;text-decoration:underline;cursor:pointer}.typed-speaking{display:none;margin-top:18px;text-align:left}.mic-fallback.show-text .typed-speaking{display:block}.typed-speaking .writing-area{min-height:130px}.typed-speaking .button{display:block;margin-left:auto}
@media(max-width:700px){.timed-toolbar{top:7px;margin-bottom:17px;padding:8px 10px}.skill-timer{min-width:146px;font-size:13px}.skill-timer small{font-size:10px}.timed-intro{min-height:calc(100dvh - 130px);padding-top:28px}.timed-intro>.skill-position{top:4px}.timed-intro-card,.timeout-transition .card{padding:28px 20px}.wordcount{align-items:flex-start;gap:8px}.fallback-actions{display:grid}}

/* Premium compact Listening diagnostic — content, audio asset and scoring remain unchanged. */
.listening-page{background:linear-gradient(180deg,#f6f8fc 0%,#f9faff 38%,#f7f8fc 100%)}
.listening-page .main{max-width:1160px;padding:18px 24px 72px}
.listening-test{width:100%}
.listening-progress{margin-bottom:13px;color:var(--muted)}
.listening-progress-meta{display:flex;justify-content:flex-end;align-items:center;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.04em}
.listening-progress-meta b{color:var(--navy);font-variant-numeric:tabular-nums}
.listening-skill-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px}
.listening-skill-steps span{display:flex;align-items:center;gap:7px;min-width:0;color:#8990a6;font-size:12px;font-weight:700;white-space:nowrap}
.listening-skill-steps i{width:22px;height:22px;display:grid;place-items:center;flex:none;border:1px solid #d9ddeb;border-radius:50%;background:#fff;color:#7b829a;font-size:10px;font-style:normal}
.listening-skill-steps .active{color:var(--navy)}
.listening-skill-steps .active i{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 0 0 3px rgba(48,53,132,.08)}
.listening-progress-line{height:3px;overflow:hidden;border-radius:99px;background:#e5e8f1}
.listening-progress-line i{display:block;width:25%;height:100%;border-radius:inherit;background:var(--yellow)}
.listening-title{margin:0 0 12px}
.listening-title h1{margin:0 0 4px;color:var(--navy);font-size:clamp(30px,3.2vw,36px);line-height:1.08;letter-spacing:-.035em}
.listening-title p{margin:0;color:var(--ink);font-size:15px;font-weight:650}
.listening-title small{display:block;font-size:12px}
.listening-title .listening-read-first{margin-top:4px;color:#66758d;font-weight:400;line-height:1.4}
.listening-title .listening-estimate{margin-top:2px;color:var(--muted);font-weight:400}
.listening-sticky{position:sticky;top:8px;z-index:30;display:grid;grid-template-columns:minmax(100px,1fr) auto;align-items:center;gap:11px;min-height:36px;margin:0 0 10px;padding:6px 10px;border:1px solid rgba(48,53,132,.09);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 4px 13px rgba(38,43,97,.055);backdrop-filter:blur(12px)}
.listening-sticky>span{color:var(--muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.listening-answer-progress{height:3px;overflow:hidden;border-radius:99px;background:#e7e9f2}
.listening-answer-progress i{display:block;height:100%;border-radius:inherit;background:var(--navy);transition:width .2s ease}
.listening-player{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:72px;margin-bottom:18px;padding:9px 15px;border:1px solid rgba(48,53,132,.18);border-left:4px solid var(--yellow);border-radius:14px;background:linear-gradient(105deg,#f2f4ff 0%,#fafbff 62%,#fffdf4 100%);box-shadow:0 8px 22px rgba(48,53,132,.075)}
.listening-player-control{width:48px;height:48px;display:grid;place-items:center}
.listening-play{width:46px;height:46px;display:grid;place-items:center;padding:0 0 0 3px;border:0;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:18px;cursor:pointer;box-shadow:0 6px 16px rgba(205,161,0,.2);transition:transform .18s,box-shadow .18s}
.listening-play:hover{transform:translateY(-1px);box-shadow:0 8px 19px rgba(205,161,0,.27)}
.listening-play:focus-visible,.listening-option:focus-visible,.listen-inline-input:focus-visible{outline:3px solid rgba(48,53,132,.22);outline-offset:2px}
.listening-play:disabled{cursor:wait;opacity:.72}
.listening-play[hidden]{display:none!important}
.listening-track{min-width:0}
.listening-track b{display:block;overflow:hidden;color:var(--navy);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.listening-track small{display:block;margin-top:1px;color:#66708a;font-size:11px;font-weight:700}
.audio-status{padding:5px 9px;border-radius:999px;background:#f0f2f7;color:#6f768b;font-size:10px;font-weight:800;letter-spacing:.04em}
.audio-status.playing{background:#fff7d5;color:#735d00}
.audio-status.completed{background:#eef7f1;color:#2f7350}
.audio-activity{width:44px;height:44px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:50%;background:#f1f2fb;color:var(--navy)}
.audio-activity i{width:3px;height:12px;border-radius:3px;background:currentColor;animation:listening-wave .85s ease-in-out infinite}
.audio-activity i:nth-child(2){height:21px;animation-delay:.12s}.audio-activity i:nth-child(3){height:16px;animation-delay:.24s}
.audio-activity.completed:before{content:'✓';font-size:18px;font-weight:900}.audio-activity.completed i{display:none}
@keyframes listening-wave{0%,100%{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}
.listening-audio-note{margin:3px 0 0;color:#747c91;font-size:10px;line-height:1.3}
.listening-questions{display:grid;gap:8px}
.listening-question{padding:13px 15px;border:1px solid #e2e5ef;border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(48,53,132,.03)}
.listening-question-head{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px}
.listening-question-number{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#f0f2fa;color:var(--navy);font-size:11px;font-weight:850}
.listening-question-head strong{display:block;padding-top:2px;color:var(--ink);font-size:14px;line-height:1.48}
.listening-question-head small{display:block;margin-top:5px;color:#59627b;font-size:10px;font-weight:700;letter-spacing:.035em;text-transform:none}
.listen-inline-input{height:32px;margin:0 3px;padding:3px 9px;border:1px solid #cbd1e0;border-radius:7px;background:#fff;color:var(--navy);font:750 14px inherit;text-align:center;vertical-align:middle;transition:border-color .16s,box-shadow .16s,background .16s}
.listen-inline-input.short{width:92px}.listen-inline-input.medium{width:138px}
.listen-inline-input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(48,53,132,.08)}
.listening-options{display:grid;gap:6px;margin:9px 0 0 35px}
.listening-option{width:100%;min-height:39px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #e0e3ee;border-radius:9px;background:#fff;color:#424760;font:600 13px/1.35 inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.listening-option:hover{border-color:#bfc4df;background:#f7f8ff}
.listening-choice-indicator{position:relative;width:18px;height:18px;display:grid;place-items:center;flex:none;border:1px solid #c8ccdd;border-radius:50%;background:#fff}
.listening-option.selected{border-color:rgba(48,53,132,.68);background:#f2f3ff;box-shadow:none;color:var(--navy);font-weight:700}
.listening-option.selected .listening-choice-indicator{border-color:var(--navy);background:#fff}.listening-option.selected .listening-choice-indicator:after{content:'';width:10px;height:10px;border-radius:50%;background:var(--navy)}
.listening-action{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:15px;padding-top:2px}
.listening-action small{color:var(--muted);font-size:11px}
.listening-action .button{width:35%;min-width:250px;padding:13px 22px;border-radius:11px;background:var(--red);color:#fff;box-shadow:0 7px 17px rgba(169,28,34,.16)}
.listening-action .button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}
.listening-confirm{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:18px;background:rgba(25,30,66,.2);backdrop-filter:blur(3px)}.listening-confirm[hidden]{display:none!important}.listening-confirm>div{width:min(390px,100%);padding:18px;border:1px solid rgba(48,53,132,.14);border-radius:14px;background:#fff;box-shadow:0 20px 50px rgba(36,40,79,.2)}.listening-confirm p{margin:0 0 14px;color:var(--ink);font-size:14px;line-height:1.5}.listening-confirm-actions{display:flex;gap:8px}.listening-confirm-actions .button{flex:1;min-height:42px;padding:10px 12px;border-radius:9px}
@media(max-width:700px){.listening-page .main{padding:12px 14px 116px}.listening-progress{margin-bottom:11px}.listening-skill-steps{gap:5px}.listening-skill-steps span{display:grid;justify-items:center;gap:4px;font-size:10px}.listening-skill-steps i{width:21px;height:21px}.listening-title{margin-bottom:11px}.listening-title h1{font-size:29px}.listening-title p{font-size:14px}.listening-sticky{top:5px;grid-template-columns:minmax(55px,1fr) auto;gap:8px;margin-bottom:9px}.listening-sticky>span{font-size:10px}.listening-player{grid-template-columns:44px minmax(0,1fr) auto;gap:9px;min-height:66px;margin-bottom:15px;padding:8px 11px}.listening-player-control{width:44px;height:44px}.listening-play{width:43px;height:43px}.audio-activity{width:42px;height:42px}.audio-status{padding:5px 7px;font-size:9px}.listening-audio-note{max-width:210px}.listening-question{padding:12px;border-radius:10px}.listening-question-head{grid-template-columns:25px minmax(0,1fr);gap:8px}.listening-question-number{width:23px;height:23px}.listening-question-head strong{font-size:13px;line-height:1.5}.listen-inline-input{height:31px;margin:3px 2px}.listen-inline-input.short{width:86px}.listen-inline-input.medium{width:124px}.listening-options{margin:8px 0 0;gap:6px}.listening-option{min-height:44px;padding:9px 10px}.listening-action{position:fixed;z-index:25;left:14px;right:14px;bottom:8px;display:grid;grid-template-columns:1fr;justify-content:stretch;gap:6px;margin:0;padding:9px;border:1px solid rgba(48,53,132,.1);border-radius:13px;background:rgba(255,255,255,.95);box-shadow:0 8px 25px rgba(38,43,97,.12);backdrop-filter:blur(12px)}.listening-action small{text-align:center}.listening-action .button{width:100%;min-width:0;min-height:48px;justify-self:stretch}}
@media(prefers-reduced-motion:reduce){.audio-activity i{animation:none}}

/* Premium sequential diagnostic processing transition. */
.analyzing-page{height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.94) 0 18%,rgba(241,244,251,.9) 54%,#f4f6fa 100%)}
.analyzing-page .nav{background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}
.analyzing-page .main{position:relative;display:grid;place-items:center;height:calc(100dvh - 64px);padding:18px 20px;overflow:hidden}
.analyze{position:relative;isolation:isolate;width:100%;min-height:0;display:grid;place-items:center}
.analysis-decor{position:absolute;z-index:-1;border:1px solid rgba(48,53,132,.06);border-radius:50%;pointer-events:none}.analysis-decor-one{width:560px;height:560px}.analysis-decor-two{width:710px;height:240px;transform:rotate(-9deg)}
.analysis-card{width:min(700px,100%);padding:31px 38px 25px;text-align:center;border:1px solid rgba(48,53,132,.13);border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 24px 65px rgba(35,45,89,.12);transition:box-shadow .5s,transform .5s}
.analysis-card.analysis-complete{transform:translateY(-2px);box-shadow:0 28px 72px rgba(35,45,89,.15),0 0 0 1px rgba(255,210,26,.16)}
.analysis-label{display:flex;align-items:center;justify-content:center;gap:10px;color:#914046;font-size:10px;font-weight:850;letter-spacing:.16em}.analysis-label span{width:26px;height:2px;border-radius:99px;background:var(--yellow)}
.analysis-card h1{margin:13px 0 6px;color:var(--navy);font-size:clamp(27px,4vw,36px);letter-spacing:-.035em}.analysis-support{margin:0;color:#687086;font-size:14px;line-height:1.5}
.analysis-ring{--analysis-progress:25;position:relative;width:108px;height:108px;margin:18px auto 17px}.analysis-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.analysis-ring circle{fill:none;stroke-width:7}.analysis-ring-base{stroke:#e8eaf1}.analysis-ring-value{stroke:var(--yellow);stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:calc(326.73 - (326.73 * var(--analysis-progress) / 100));transition:stroke-dashoffset .55s ease}.analysis-ring>span{position:absolute;inset:0;display:grid;place-content:center;color:var(--navy)}.analysis-ring b{font-size:22px;line-height:1}.analysis-ring small{display:block;margin-top:4px;color:#687086;font-size:10px;font-weight:800}
.analysis-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;text-align:left}.analysis-skill{display:grid;grid-template-columns:38px minmax(0,1fr) 10px;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border:1px solid #e5e8f0;border-radius:12px;background:#fbfcfe;transition:border-color .35s,background .35s}.analysis-skill-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f0f2fa;color:var(--navy)}.analysis-skill-icon svg{width:18px;height:18px}.analysis-skill b,.analysis-skill small{display:block}.analysis-skill b{color:var(--navy);font-size:13px}.analysis-skill small{margin-top:2px;color:#969cad;font-size:10px;font-weight:700}.analysis-skill>i{width:8px;height:8px;border:1px solid #cfd3df;border-radius:50%}.analysis-skill.complete>i{border-color:#d2b000;background:var(--yellow);box-shadow:inset 0 0 0 2px #fff}.analysis-skill.analyzing{border-color:rgba(169,28,34,.18);background:#fffafa}.analysis-skill.analyzing small{color:#9e363c}.analysis-skill.analyzing>i{border:0;background:var(--red);animation:analysis-pulse 1.15s ease-in-out infinite}.analysis-helper{margin:16px 0 0;color:#6e768b;font-size:12px;font-weight:700}.analysis-trust{display:block;margin-top:7px;color:#9ba1b0;font-size:10px}
@keyframes analysis-pulse{50%{transform:scale(1.45);opacity:.38}}
@media(max-width:700px){.analyzing-page .main{padding:12px 14px}.analysis-card{padding:24px 16px 20px;border-radius:20px}.analysis-card h1{margin-top:11px}.analysis-support br{display:none}.analysis-ring{width:92px;height:92px;margin:15px auto}.analysis-skills{grid-template-columns:1fr;gap:7px}.analysis-skill{min-height:51px;padding:7px 10px}.analysis-skill-icon{width:33px;height:33px}.analysis-helper{margin-top:12px}.analysis-trust{max-width:280px;margin-right:auto;margin-left:auto}}
@media(max-height:700px) and (min-width:701px){.analysis-card{padding:22px 34px 19px}.analysis-card h1{margin-top:9px}.analysis-ring{width:92px;height:92px;margin:12px auto}.analysis-skill{min-height:51px}.analysis-helper{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.analysis-ring-value,.analysis-card,.analysis-skill{transition:none}.analysis-skill.analyzing>i{animation:none}}

/* Premium Reading workspace — scoped layout only; existing typography sizes stay untouched. */
.reading-page{height:100dvh;overflow:hidden;background:linear-gradient(145deg,#f7f8fc 0%,#f2f5f9 100%)}
.reading-page .main{height:calc(100dvh - 64px);max-width:1280px;padding:12px 24px 16px}
.reading-test{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:9px;width:100%;max-width:none;height:100%;min-height:0}
.reading-progress.progress-wrap{margin:0;padding:0 0 6px;border-bottom:0}
.reading-skill-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:7px;color:#8b91a8}
.reading-skill-steps span{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.reading-skill-steps i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #d8dcec;border-radius:50%;background:#fff;color:inherit;font-style:normal;font-weight:800}
.reading-skill-steps .complete{color:#6e7693}.reading-skill-steps .complete i{border-color:rgba(48,53,132,.24);background:#f2f3ff;color:var(--navy)}
.reading-skill-steps .active{color:var(--navy);font-weight:800}.reading-skill-steps .active i{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 0 0 3px rgba(255,210,26,.42)}
.reading-progress-line{height:3px;overflow:hidden;border-radius:999px;background:#e5e8f1}.reading-progress-line i{display:block;width:50%;height:100%;border-radius:inherit;background:var(--navy)}
.reading-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0;padding:0 1px}
.reading-head .test-title{margin:0;color:var(--navy);line-height:1}
.reading-head .fine{display:grid;gap:2px;margin:0;text-align:right;color:var(--muted)}
.reading-head .fine b{color:var(--navy)}
.reading-status{z-index:22;display:grid;grid-template-columns:auto minmax(90px,1fr) auto auto;align-items:center;gap:12px;min-height:43px;padding:7px 11px;border:1px solid rgba(48,53,132,.11);border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(48,53,132,.06);backdrop-filter:blur(10px)}
.reading-status>b{color:var(--navy)}.reading-status .skill-timer{min-width:54px;color:var(--navy);text-align:right}.reading-status .skill-timer.timer-warning{color:#a65a12}
.reading-answer-progress{height:4px;overflow:hidden;border-radius:999px;background:#e7e9f2}.reading-answer-progress i{display:block;height:100%;border-radius:inherit;background:var(--yellow);transition:width .2s ease}
.reading-status #readingAnswered{color:var(--muted);white-space:nowrap}
.reading-mobile-tabs{display:none}
.reading-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0}
.reading-pane{min-width:0;min-height:0;border:1px solid rgba(48,53,132,.12);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(48,53,132,.065)}
.reading-passage-pane.passage{height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:21px 24px;scrollbar-gutter:stable}
.reading-passage-pane h3{margin-top:0;color:var(--navy)}
.reading-passage-pane p{line-height:1.75}
.reading-passage-pane .paragraph-label{border:1px solid rgba(48,53,132,.16);background:#f0f2ff;color:var(--navy);box-shadow:none}
.reading-questions-pane.questions{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;overflow:hidden;background:#f7f8fc}
.reading-question-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px;scrollbar-gutter:stable}
.reading-question-scroll .question-group{display:grid;gap:7px;margin:0 0 11px}.reading-question-scroll .question-group:last-child{margin-bottom:0}
.reading-question-scroll .question{margin:0;padding:12px 14px;border:1px solid rgba(48,53,132,.1);border-radius:11px;background:#fff;box-shadow:0 3px 9px rgba(48,53,132,.03)}
.reading-group-head.question-instruction{display:grid;gap:2px;margin:0;padding:8px 11px;border:1px solid rgba(48,53,132,.09);border-left:3px solid var(--navy);border-radius:9px;background:#f5f7fb;color:var(--ink)}
.reading-group-head>span{color:var(--muted);font-weight:700}.reading-group-head>b{color:var(--navy)}.reading-group-head p{margin:2px 0 0;line-height:1.4}.reading-group-head small{color:var(--muted);font-weight:700}
.reading-help-toggle{justify-self:start;margin:2px 0 0;padding:0;border:0;background:transparent;color:#626c86;font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:#bbc1d2;text-underline-offset:3px;cursor:pointer}
.tfng-instruction dl{margin:7px 0 0;padding:8px 9px;border:1px solid rgba(48,53,132,.1);border-radius:8px;background:#fff}.tfng-instruction dl[hidden]{display:none!important}
.reading-segments{display:grid!important;gap:6px;margin-top:11px}.reading-segments.tfng-segments{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-segments.paragraph-segments{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}
.reading-segment-option.option{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:7px 8px;border:1px solid #d9ddea;border-radius:9px;background:#fff;color:var(--ink);text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.reading-segment-option.option:hover{border-color:rgba(48,53,132,.55);background:#f5f6ff}.reading-segment-option.option.selected{border-color:var(--navy);background:#eef0ff;color:var(--navy);font-weight:800;box-shadow:inset 0 0 0 1px rgba(48,53,132,.1)}
.reading-segment-option.option:before{content:"";width:10px;height:10px;flex:none;border:1px solid #c7ccdc;border-radius:50%;background:#fff}.reading-segment-option.option.selected:before{border-color:var(--navy);background:var(--navy);box-shadow:inset 0 0 0 2px #eef0ff}
.reading-passage-pane,.reading-question-scroll{scrollbar-width:thin;scrollbar-color:#bcc2d1 transparent}.reading-passage-pane::-webkit-scrollbar,.reading-question-scroll::-webkit-scrollbar{width:7px}.reading-passage-pane::-webkit-scrollbar-thumb,.reading-question-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:#bcc2d1;background-clip:padding-box}

.reading-question-scroll .question>b{display:block;line-height:1.65}.reading-question-scroll .inline-blank{inline-size:150px;min-width:132px;max-width:100%;height:32px;margin:0 5px;padding:3px 9px;border:1px solid #cdd2e2;border-radius:8px;background:#fff;color:var(--ink);line-height:1.5;outline:none;vertical-align:middle}
.reading-question-scroll .inline-blank:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(48,53,132,.1)}
.reading-panel-action{padding:10px 12px;border-top:1px solid rgba(48,53,132,.1);background:rgba(255,255,255,.97);text-align:right}.reading-panel-action .button{min-height:44px;padding:12px 20px;border-radius:10px}
.reading-confirm{position:absolute;z-index:30;right:12px;bottom:68px;left:12px;padding:14px;border:1px solid rgba(48,53,132,.16);border-radius:12px;background:#fff;box-shadow:0 15px 36px rgba(36,40,79,.2)}.reading-confirm[hidden]{display:none!important}.reading-confirm p{margin:0 0 11px;color:var(--ink)}.reading-confirm>div{display:flex;gap:8px}.reading-confirm .button{flex:1;min-height:42px;padding:10px 12px;border-radius:9px}
@media(max-width:820px){.reading-page .main{padding:8px 12px 10px}.reading-test{grid-template-rows:auto auto auto auto minmax(0,1fr);gap:7px}.reading-progress.progress-wrap{padding-bottom:5px}.reading-progress .progress-meta{margin-bottom:5px}.reading-skill-steps{gap:4px;margin-bottom:5px}.reading-skill-steps span{justify-content:center;gap:4px}.reading-skill-steps i{flex-basis:20px;width:20px;height:20px}.reading-head{gap:10px}.reading-head .fine{max-width:55%}.reading-status{grid-template-columns:auto minmax(40px,1fr) auto;gap:8px;min-height:40px;padding:6px 9px}.reading-status #readingAnswered{display:none}.reading-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid rgba(48,53,132,.1);border-radius:10px;background:#eceef5}.reading-mobile-tabs button{min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.reading-mobile-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(48,53,132,.09)}.reading-workspace{display:block;min-height:0}.reading-workspace.reading-mobile-view-passage .reading-questions-pane,.reading-workspace.reading-mobile-view-questions .reading-passage-pane{display:none}.reading-pane{height:100%}.reading-passage-pane.passage{padding:18px 19px}.reading-question-scroll{padding:10px}.reading-panel-action{padding:8px 10px}.reading-panel-action .button{width:100%;min-height:44px}.reading-confirm{right:10px;bottom:62px;left:10px}}
@media(max-width:430px){.reading-progress-label{display:none}.reading-skill-steps span{overflow:hidden;text-overflow:ellipsis}.reading-skill-steps i{display:none}.reading-head .fine span{display:none}.reading-segments.tfng-segments{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-segment-option.option{padding-right:5px;padding-left:5px}.reading-question-scroll .question{padding:13px 12px}.reading-passage-pane.passage{padding:17px 16px}}

/* Continuous skill progress for Writing and Speaking, matching Listening/Reading. */
.section-progress.progress-wrap{margin:0 0 13px;padding:0 0 7px;border-bottom:0}.section-progress .progress-meta{display:flex;justify-content:space-between;align-items:center;margin:0 0 7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.section-progress .progress-meta span:first-child{color:var(--navy)}.section-skill-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:7px}.section-skill-steps span{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;color:#9ba0b1;font-size:11px;font-weight:700}.section-skill-steps i{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #d5d8e5;border-radius:50%;background:#fff;color:#9197aa;font-style:normal;font-size:10px}.section-skill-steps span.complete{color:#626a80}.section-skill-steps span.complete i{border-color:rgba(48,53,132,.2);background:#eef0fb;color:var(--navy)}.section-skill-steps span.active{color:var(--navy);font-weight:850}.section-skill-steps span.active i{border-color:var(--navy);background:var(--navy);color:#fff}.section-progress-line{height:3px;overflow:hidden;border-radius:999px;background:#e5e8f1}.section-progress-line i{display:block;height:100%;border-radius:inherit;background:var(--navy);transition:width .35s ease}

/* Short Task 2-style Writing diagnostic: prompt + editor, no graph and no hard word limit. */
.writing-page{background:linear-gradient(180deg,#f4f6fa 0%,#f8f8fc 100%)}
.writing-page .main{max-width:1180px;padding-top:7px;padding-bottom:12px}
.writing-test.writing-box{width:100%;max-width:none;margin:0}
.writing-section-progress.progress-wrap{margin-bottom:5px;padding-bottom:4px}
.writing-section-progress .section-skill-steps{margin-bottom:5px}
.writing-test>.timed-toolbar{justify-content:flex-end;margin-bottom:7px;padding:5px 9px;border-radius:9px;box-shadow:0 4px 13px rgba(48,53,132,.055)}
.writing-test>.timed-toolbar .skill-timer{min-width:0}
.writing-test>.timed-toolbar .skill-timer small:empty{display:none}
.writing-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 9px;padding:0 2px}
.writing-head .test-title{margin:0;line-height:1}
.writing-head .fine{margin:0;white-space:nowrap}

.writing-workspace{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:stretch;gap:16px;min-height:clamp(350px,calc(100dvh - 240px),540px)}
.writing-prompt-card,.writing-editor-card{min-width:0;border:1px solid rgba(48,53,132,.12);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(48,53,132,.07)}
.writing-prompt-card{display:flex;flex-direction:column;padding:clamp(18px,2.2vw,27px)}
.writing-topic{padding:0 0 20px;border-bottom:1px solid rgba(48,53,132,.1)}
.writing-topic p,.writing-topic h2{color:var(--navy);font-size:clamp(20px,1.8vw,23px);font-weight:700;line-height:1.42;letter-spacing:-.012em}
.writing-topic p{margin:0 0 10px}.writing-topic h2{margin:0}
.writing-task-guidance{display:grid;gap:5px;margin-top:19px;color:var(--muted);font-size:14px;font-weight:400;line-height:1.45}
.writing-task-guidance p{margin:0}
.writing-helper{display:block;width:max-content;max-width:100%;margin:auto 0 0;padding:7px 10px;border:1px solid rgba(224,181,0,.16);border-radius:8px;background:#fffdf4;color:#747b8d;font-size:12px;font-weight:400;line-height:1.35}
.writing-helper span{color:#7b8291}.writing-helper b{color:#626a7f;font-weight:600}
.writing-editor-card{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;padding:13px}
.writing-editor-card .writing-area{width:100%;height:100%;min-height:285px;margin:0;padding:17px 18px;border:1px solid #cfd4e2;border-radius:11px;background:#fff;color:var(--ink);font:inherit;line-height:1.65;resize:vertical;box-shadow:inset 0 1px 2px rgba(36,40,79,.025);outline:none;transition:border-color .18s,box-shadow .18s}
.writing-editor-card .writing-area:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(48,53,132,.1)}
.writing-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding-top:9px;border-top:1px solid rgba(48,53,132,.09);background:#fff}
.writing-editor-card .wordcount{display:block;margin:0;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.writing-action.nav-actions{flex:0 0 auto;justify-content:flex-end;margin:0}
.writing-action .button{width:auto;min-width:220px;min-height:49px;padding:13px 20px;border-color:#982027;border-radius:11px;background:#a91c22;color:#fff;box-shadow:0 7px 16px rgba(169,28,34,.15)}
.writing-action .button:hover{border-color:#7f171d;background:#8f191f;box-shadow:0 9px 19px rgba(169,28,34,.2)}
.writing-result-point{margin-top:8px!important}.writing-result-point strong{color:var(--navy)}
@media(max-height:700px) and (min-width:901px){.writing-page .main{padding-top:4px;padding-bottom:6px}.writing-section-progress.progress-wrap{margin-bottom:3px}.writing-test>.timed-toolbar{margin-bottom:5px;padding-top:4px;padding-bottom:4px}.writing-head{margin-bottom:6px}.writing-workspace{min-height:clamp(330px,calc(100dvh - 238px),430px)}.writing-prompt-card{padding:17px 19px}.writing-topic{padding-bottom:14px}.writing-topic p{margin-bottom:9px}.writing-task-guidance{margin-top:13px;gap:3px}.writing-editor-card{padding:10px}.writing-editor-card .writing-area{min-height:235px;padding-top:12px;padding-bottom:12px}.writing-editor-footer{padding-top:6px}.writing-action .button{min-height:45px;padding-top:11px;padding-bottom:11px}}
@media(max-width:900px){.writing-page .main{padding:8px 16px 28px}.writing-head{display:block}.writing-head .fine{margin-top:5px;white-space:normal}.writing-workspace{grid-template-columns:1fr;min-height:0}.writing-prompt-card,.writing-editor-card{width:min(760px,100%);margin:0 auto}.writing-helper{margin-top:18px}.writing-editor-card .writing-area{height:300px;min-height:260px}}
@media(max-width:700px){.writing-page .main{padding:8px 14px 24px}.writing-section-progress.progress-wrap{margin-bottom:7px}.writing-test>.timed-toolbar{top:7px;margin-bottom:9px}.writing-head{margin-bottom:10px;padding:0}.writing-workspace{gap:12px}.writing-prompt-card{padding:17px}.writing-topic{padding-bottom:15px}.writing-topic p,.writing-topic h2{font-size:19px}.writing-task-guidance{margin-top:14px;font-size:13px}.writing-helper{margin-top:15px}.writing-editor-card{gap:8px;padding:10px}.writing-editor-card .writing-area{height:290px;min-height:250px;padding:14px}.writing-editor-footer{display:grid;grid-template-columns:1fr;justify-content:stretch;gap:9px;padding-top:8px}.writing-action.nav-actions{width:100%;justify-content:stretch}.writing-action .button{width:100%;min-width:0;min-height:51px}}

/* Premium Speaking test — a single focused question and direct recording control. */
.speaking-page{background:#f5f7fb}
.speaking-page .main{max-width:1040px;padding-top:8px;padding-bottom:24px}
.speaking-test.speaking-layout{width:100%;max-width:900px;margin:0 auto}
.speaking-section-progress{margin-bottom:7px;padding-bottom:5px}
.speaking-heading-row{width:min(840px,100%);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 10px}
.speaking-question-status{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;margin:0 0 5px;color:var(--navy);font-size:12px;line-height:1.4}
.speaking-question-status b{color:var(--navy);font-weight:750}

.speaking-head{max-width:none;margin:0}
.speaking-head .test-title{margin:0 0 2px;font-size:clamp(28px,3.4vw,40px);line-height:1.15}
.speaking-head .fine{margin:0;color:var(--muted);line-height:1.5}
.speaking-question-card.speak-q{width:min(840px,100%);max-width:none;margin:0 auto;padding:20px 22px;border:1px solid rgba(48,53,132,.12);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(48,53,132,.085)}
.speaking-style-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid rgba(169,28,34,.1);border-radius:999px;background:#fff1f2;color:#9d242b;font-size:11px;font-weight:800;letter-spacing:.035em}
.speaking-question{max-width:720px;margin:10px 0 0;color:var(--navy);font-size:clamp(23px,2.6vw,30px);font-weight:750;letter-spacing:-.025em;line-height:1.28}
.speaking-question>span{display:block}
.speaking-cue-lead{margin:16px 0 5px;color:var(--muted);font-size:13px;font-weight:700}
.speaking-cues{display:grid;gap:4px;margin:0;padding-left:21px;color:var(--ink);line-height:1.45}
.speaking-cues li::marker{color:#d6ac00}
.speaking-recorder{position:relative;display:grid;justify-items:center;margin-top:12px;padding:12px 20px 10px;overflow:hidden;border:1px solid #e5eaf3;border-radius:14px;background:#f7f9fc;text-align:center}
.speaking-idle{gap:5px}
.speaking-idle:before,.speaking-idle:after{content:'';position:absolute;top:55px;width:clamp(62px,13vw,128px);height:25px;opacity:.48;background:repeating-linear-gradient(90deg,#9da9bf 0 3px,transparent 3px 10px);clip-path:polygon(0 43%,8% 43%,8% 25%,16% 25%,16% 63%,24% 63%,24% 36%,32% 36%,32% 52%,40% 52%,40% 20%,48% 20%,48% 71%,56% 71%,56% 39%,64% 39%,64% 58%,72% 58%,72% 29%,80% 29%,80% 48%,88% 48%,88% 39%,100% 39%,100% 61%,0 61%)}
.speaking-idle:before{right:calc(50% + 80px)}.speaking-idle:after{left:calc(50% + 80px);transform:scaleX(-1)}
.speaking-idle .record-status:empty{display:none}
.speaking-idle>b{margin-top:5px;color:var(--navy);font-size:15px}
.speaking-idle>span{color:var(--muted);font-size:12px;font-weight:650}
.speaking-mic-button{position:relative;z-index:1;width:116px;height:116px;display:grid;place-items:center;padding:0;border:2px solid rgba(48,53,132,.28);border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 0 0 8px rgba(48,53,132,.065),0 14px 30px rgba(48,53,132,.19);cursor:pointer;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
button.speaking-mic-button:hover{transform:translateY(-3px) scale(1.02);border-color:rgba(48,53,132,.52);background:#fff;box-shadow:0 0 0 10px rgba(48,53,132,.08),0 18px 34px rgba(48,53,132,.23)}
button.speaking-mic-button:active{transform:translateY(0) scale(.97)}
.speaking-mic-button svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.record-status{min-height:18px;margin-top:2px;color:var(--muted);font-size:12px}
.speaking-starting,.speaking-saving{min-height:165px;align-content:center;gap:12px;color:var(--navy)}
.speaking-mic-button.is-loading{width:72px;height:72px;animation:speaking-breathe 1.2s ease-in-out infinite}
.speaking-saving{min-height:165px}
.speaking-save-spinner{width:34px;height:34px;border:3px solid #e3e5f0;border-top-color:var(--navy);border-radius:50%;animation:speaking-spin .75s linear infinite}
.speaking-recording{gap:7px}
.recording-label{display:flex;align-items:center;gap:8px;color:var(--red);font-size:13px}
.recording-label i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(169,28,34,.09)}
.recording-label #speakClock{font-variant-numeric:tabular-nums;letter-spacing:.02em}.recording-label.last-seconds #speakClock{color:#a65a12}
.recording-limit{color:var(--muted);font-size:12px;font-weight:650}
.speaking-waveform{height:30px;display:flex;align-items:center;justify-content:center;gap:4px;margin:1px 0 2px}
.speaking-waveform i{width:4px;height:24px;border-radius:999px;background:#bcc0d8;transform:scaleY(.35);transform-origin:center;transition:transform .1s ease;animation:speaking-wave 1.15s ease-in-out infinite}
.speaking-waveform i:nth-child(2n){animation-delay:-.28s}.speaking-waveform i:nth-child(3n){animation-delay:-.52s}.speaking-waveform.live i{animation:none;background:#aeb3d2}
.finish-speaking.button.secondary{min-width:210px;margin-top:5px;padding:12px 20px;border-color:rgba(169,28,34,.35);color:var(--red);font-size:15px;font-weight:800}
.finish-speaking.button.secondary:hover{border-color:var(--red);background:#fff8f8}
.speaking-question-card .mic-fallback.record-box{margin-top:23px;padding:21px;border:1px solid rgba(169,28,34,.14);border-radius:12px;background:#fff8f8;box-shadow:none}
.speaking-question-card .fallback-actions{align-items:center}
.speaking-question-card .text-fallback-toggle{padding:11px 12px;text-underline-offset:3px}
.speaking-question-card .typed-speaking .writing-area{width:100%;margin:0 0 10px;border:1px solid #cfd4e2;border-radius:10px;background:#fff;outline:none}
.speaking-question-card .typed-speaking .writing-area:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(48,53,132,.1)}
.speaking-transition{width:min(800px,100%);min-height:230px;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto;border:1px solid rgba(48,53,132,.1);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(48,53,132,.07);color:var(--navy);text-align:center}
.speaking-transition span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eef8f0;color:#287546;font-size:18px;font-weight:900}
.speaking-transition b{font-size:20px}
@keyframes speaking-breathe{50%{transform:scale(1.04);box-shadow:0 12px 25px rgba(48,53,132,.19)}}
@keyframes speaking-spin{to{transform:rotate(360deg)}}
@keyframes speaking-wave{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(.8)}}
@media(prefers-reduced-motion:reduce){.speaking-mic-button,.speaking-waveform i,.speaking-save-spinner{animation:none!important;transition:none!important}}
@media(max-height:700px) and (min-width:701px){.speaking-page .main{padding-top:6px;padding-bottom:14px}.speaking-section-progress{margin-bottom:6px;padding-bottom:4px}.speaking-heading-row{margin-bottom:7px}.speaking-head .test-title{font-size:34px}.speaking-head .fine{font-size:12px}.speaking-question-card.speak-q{padding:16px 22px}.speaking-style-badge{min-height:22px;padding:3px 8px}.speaking-question{margin-top:7px;font-size:26px;line-height:1.23}.speaking-cue-lead{margin:7px 0 3px;font-size:12px}.speaking-cues{gap:1px;font-size:14px;line-height:1.3}.speaking-recorder{margin-top:10px;padding:11px 18px 10px}.speaking-idle:before,.speaking-idle:after{top:52px}.speaking-recording{gap:4px}.speaking-waveform{height:22px;margin:0}.speaking-waveform i{height:17px}.finish-speaking.button.secondary{min-height:42px;margin-top:2px;padding:9px 18px}.speaking-starting,.speaking-saving{min-height:132px}}
@media(max-width:700px){.speaking-page .main{padding:8px 14px 26px}.speaking-section-progress{margin-bottom:7px;padding-bottom:5px}.section-skill-steps{gap:4px}.section-skill-steps span{gap:4px;font-size:10px}.section-skill-steps i{flex-basis:20px;width:20px;height:20px}.speaking-heading-row{align-items:flex-start;gap:10px;margin-bottom:9px}.speaking-question-status{margin-top:5px;margin-bottom:0;white-space:nowrap}.speaking-head .test-title{font-size:27px}.speaking-head .fine{font-size:12px}.speaking-question-card.speak-q{width:100%;padding:17px;border-radius:14px}.speaking-question{font-size:23px;line-height:1.34}.speaking-cues{font-size:14px}.speaking-recorder{margin-top:13px;padding:15px 12px 13px}.speaking-idle:before,.speaking-idle:after{width:52px;top:53px}.speaking-idle:before{right:calc(50% + 76px)}.speaking-idle:after{left:calc(50% + 76px)}.speaking-mic-button{width:112px;height:112px}.finish-speaking.button.secondary{width:100%;min-width:0;min-height:50px}.speaking-question-card .fallback-actions{display:grid;width:100%}.speaking-question-card .fallback-actions .button,.speaking-question-card .text-fallback-toggle{width:100%}.speaking-question-card .typed-speaking .button{width:100%}.speaking-transition{min-height:230px}}
@media(max-width:430px){.section-progress .progress-meta span:last-child{display:none}.section-skill-steps span{overflow:hidden;text-overflow:ellipsis}.section-skill-steps i{display:none}}

/* Diagnostic-first Result report: personal result before recommendation. */
.result-report{width:min(960px,100%);margin:0 auto;padding:22px 0 56px}
.result-report .card{border:1px solid #e2e6ef;box-shadow:0 12px 34px rgba(35,45,79,.07)}
.result-report .result-hero{position:relative;padding:42px 56px 30px;overflow:hidden;background:#fff}
.result-report .result-hero:before{content:"";position:absolute;inset:0 auto auto 50%;width:72px;height:4px;transform:translateX(-50%);border-radius:0 0 8px 8px;background:var(--yellow)}
.result-report .result-hero .eyebrow{font-size:11px;letter-spacing:.15em;color:#737b91}
.result-report .result-hero h1{margin:8px 0 16px;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.025em}
.result-report .estimated{margin:5px 0 17px;color:var(--navy);font-size:clamp(64px,10vw,92px);font-weight:800;letter-spacing:-.075em}
.result-context{display:flex;align-items:center;justify-content:center;gap:14px;color:#555e76;font-size:15px}
.result-context b{color:var(--navy);font-weight:800}.result-context i{width:4px;height:4px;border-radius:50%;background:#b8bfd0}
.result-guidance{margin:12px 0 0!important;color:#5e667a!important;font-size:15px}
.result-disclaimer{max-width:700px;margin:26px auto 0!important;padding-top:17px;border-top:1px solid #edf0f5;color:#7c8496!important;font-size:12px;line-height:1.5}
.focus-consultation{margin:18px 0 22px;padding:28px;border:1px solid #e2e6ef;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(35,45,79,.06)}
.focus-section>h2,.consultation-card h2,.recommendation>h2{margin:0;color:var(--navy);font-size:22px;letter-spacing:-.015em}
.focus-section .insight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.insight-card{min-height:140px;padding:18px 19px;border:1px solid #e7eaf1;border-radius:14px;background:#fbfcfe}
.insight-card>span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fdf0f0;color:#9d3036;font-size:11px;font-weight:800}
.insight-card:nth-child(2)>span{background:#fff8d8;color:#766118}
.insight-card h3{margin:9px 0 5px;color:var(--navy);font-size:20px}.insight-card p{margin:0;color:#5f687d;font-size:14px;line-height:1.48}
.consultation-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:18px;padding:23px 24px;border:1px solid #dfe4ef;border-radius:15px;background:#f6f8fc}
.consultation-card h2{font-size:clamp(20px,2.5vw,26px)}.consultation-card p{margin:8px 0 0;color:#636c80;font-size:14px;line-height:1.5}
.consultation-card .line-primary{min-width:300px;min-height:54px;margin:0;padding:14px 20px;border-radius:12px;background:#a91c22;box-shadow:0 10px 22px rgba(169,28,34,.18);font-size:16px;font-weight:800}
.consultation-card .line-primary:hover{background:#94191e;transform:translateY(-1px)}
.result-report .recommendation{margin:0;padding:28px;background:#fff}
.recommend-label{display:block;margin-bottom:7px;color:#7c8496;font-size:11px;font-weight:750;letter-spacing:.055em}
.course-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-top:20px}
.course-layout h3{margin:0 0 8px;color:var(--navy);font-size:21px}.course-layout p{margin:0;color:#616a7f;font-size:14px;line-height:1.5}
.course-layout ul{display:grid;gap:7px;margin:18px 0 0;padding:0;list-style:none}.course-layout li{position:relative;padding-left:24px;color:#4f586e;font-size:14px;line-height:1.45}.course-layout li:before{content:"✓";position:absolute;left:0;color:var(--navy);font-weight:900}
.course-secondary{min-width:210px;min-height:48px;border:1.5px solid var(--navy);border-radius:11px;background:#fff;color:var(--navy);box-shadow:none;font-size:15px}
.course-secondary:hover{background:#f4f5ff;transform:translateY(-1px)}
.result-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4px 0}.retake-link{appearance:none;padding:7px 0;border:0;background:transparent;color:#66708a;font:700 13px 'DM Sans','Noto Sans Thai',sans-serif;cursor:pointer;text-decoration:underline;text-decoration-color:#c6cada;text-underline-offset:4px}.retake-link:hover{color:var(--navy)}.result-footer small{color:#969dae;font-size:11px}
@media(max-width:700px){.result-report{padding-top:8px}.result-report .result-hero{padding:34px 20px 24px;border-radius:16px}.result-report .result-hero h1{margin-bottom:13px}.result-report .estimated{margin-bottom:15px;font-size:64px}.result-context{gap:10px;font-size:14px}.result-guidance{font-size:14px}.result-disclaimer{margin-top:21px!important;padding-top:15px;font-size:11px}.focus-consultation{margin:14px 0;padding:20px 16px;border-radius:16px}.focus-section>h2,.recommendation>h2{font-size:20px}.focus-section .insight-list{grid-template-columns:1fr;gap:10px;margin-top:13px}.insight-card{min-height:0;padding:15px 16px}.consultation-card{grid-template-columns:1fr;gap:17px;margin-top:16px;padding:20px 16px}.consultation-card .line-primary{width:100%;min-width:0}.result-report .recommendation{padding:22px 18px;border-radius:16px}.course-layout{grid-template-columns:1fr;gap:21px;margin-top:17px}.course-secondary{width:100%}.result-footer{align-items:flex-start;flex-direction:column;gap:10px;padding:19px 3px 0}.result-footer small{max-width:290px}}

/* Premium Reading intro: open split hero, with the timer represented once in the visual. */
.reading-intro-page{background:linear-gradient(118deg,#fbfcff 0%,#f4f6fb 58%,#fbf9f1 100%)}
.reading-intro-page .main{width:100%;max-width:940px;height:calc(100dvh - 64px);padding:0 20px}
.reading-intro{height:100%;min-height:0}.reading-intro-layout{height:100%;display:grid;grid-template-columns:minmax(0,54fr) minmax(360px,46fr);grid-template-areas:"content visual" "action visual";grid-template-rows:auto auto;align-content:center;align-items:end;column-gap:24px}
.reading-intro-content{grid-area:content;align-self:end;justify-self:end;width:min(430px,100%)}.reading-intro-content .eyebrow{margin-bottom:18px;color:#737b91;font-size:11px;letter-spacing:.15em}.reading-intro-content .eyebrow:before{content:"";display:inline-block;width:25px;height:3px;margin-right:10px;border-radius:99px;background:var(--yellow);vertical-align:middle}
.reading-intro-content h1{margin:0;color:var(--navy);font-size:clamp(64px,7vw,90px);font-weight:800;letter-spacing:-.065em;line-height:.96}
.reading-intro-meta{display:flex;align-items:center;gap:13px;margin:24px 0 0;color:#59637b;font-size:16px;font-weight:750}.reading-intro-meta i{width:4px;height:4px;border-radius:50%;background:#b4bbcb}
.reading-intro-instruction{margin:17px 0 0;color:#626b7f;font-size:17px;line-height:1.5}
.reading-intro-action{grid-area:action;align-self:start;justify-self:end;width:min(430px,100%);display:flex;flex-direction:column;align-items:flex-start;margin-top:30px}.reading-intro-action .button{min-width:230px;min-height:54px;padding:14px 26px;border-radius:12px;background:#a91c22;box-shadow:0 9px 20px rgba(169,28,34,.16);font-size:16px}.reading-intro-action .button:hover{background:#94191e}.reading-intro-action small{margin:10px 0 0 4px;color:#8a92a5;font-size:11px}
.reading-intro-visual{grid-area:visual;position:relative;align-self:center;width:min(410px,100%);height:455px;display:grid;place-items:center;justify-self:start}
.reading-visual-orbit{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.98) 0 25%,rgba(224,229,244,.76) 56%,rgba(224,229,244,0) 72%)}
.reading-visual-orbit:before{content:"";position:absolute;inset:35px;border:1px solid rgba(48,53,132,.09);border-radius:46% 54% 52% 48%;transform:rotate(15deg)}
.reading-document{position:relative;width:292px;height:366px;padding:23px 25px;border:1px solid rgba(48,53,132,.12);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 28px 55px rgba(48,53,132,.15);transform:rotate(-2.2deg);backdrop-filter:blur(10px)}
.reading-document:before{content:"";position:absolute;inset:8px -14px -11px 16px;z-index:-1;border:1px solid rgba(48,53,132,.08);border-radius:19px;background:rgba(255,255,255,.42);transform:rotate(4deg)}
.reading-document-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.reading-document-top>span{width:35px;height:7px;border-radius:99px;background:#303584}.reading-document-top b{padding:7px 10px;border:1px solid #e1e5ef;border-radius:9px;background:#f7f8fc;color:var(--navy);font-size:12px;letter-spacing:.07em}
.reading-document-title{width:59%;height:10px;margin-bottom:20px;border-radius:99px;background:#858da8}.reading-document-line{height:6px;margin-top:13px;border-radius:99px;background:#d9deea}.reading-document-line.line-long{width:100%}.reading-document-line.line-medium{width:79%}.reading-document-line.line-short{width:53%}
.reading-document-highlight{margin:23px -8px 8px;padding:13px 9px;border-left:3px solid var(--yellow);border-radius:3px 9px 9px 3px;background:#fff9db}.reading-document-highlight i{display:block;width:93%;height:6px;border-radius:99px;background:#aaa477}.reading-document-highlight i+i{width:67%;margin-top:9px}
.reading-focus-mark{position:absolute;right:-24px;bottom:34px;width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(48,53,132,.12);border-radius:50%;background:#fff;box-shadow:0 13px 25px rgba(48,53,132,.12)}.reading-focus-mark:before{content:"";width:23px;height:23px;border:3px solid var(--navy);border-radius:50%}.reading-focus-mark span{position:absolute;width:13px;height:3px;margin:23px 0 0 22px;border-radius:99px;background:var(--navy);transform:rotate(46deg)}
@media(max-height:700px) and (min-width:701px){.reading-intro-layout{column-gap:24px}.reading-intro-content .eyebrow{margin-bottom:12px}.reading-intro-content h1{font-size:62px}.reading-intro-meta{margin-top:17px}.reading-intro-instruction{margin-top:11px}.reading-intro-action{margin-top:21px}.reading-intro-visual{height:355px}.reading-visual-orbit{width:300px;height:300px}.reading-document{width:240px;height:300px;padding:18px 20px}.reading-document-top{margin-bottom:21px}.reading-document-highlight{margin-top:17px;padding:10px 8px}.reading-focus-mark{width:52px;height:52px;right:-20px;bottom:28px}}
@media(max-width:700px){.reading-intro-page .main{height:calc(100dvh - 64px);min-height:0;padding:0 18px}.reading-intro-layout{grid-template-columns:1fr;grid-template-areas:"content" "visual" "action";grid-template-rows:auto minmax(180px,1fr) auto;align-content:stretch;align-items:center;gap:0;padding:24px 0 22px}.reading-intro-content{align-self:start}.reading-intro-content .eyebrow{margin-bottom:11px;font-size:10px}.reading-intro-content h1{font-size:53px}.reading-intro-meta{gap:10px;margin-top:14px;font-size:14px}.reading-intro-instruction{margin-top:10px;font-size:14px}.reading-intro-visual{align-self:center;justify-self:center;width:100%;height:255px}.reading-visual-orbit{width:230px;height:230px}.reading-document{width:174px;height:218px;padding:14px 15px;border-radius:13px;box-shadow:0 18px 34px rgba(48,53,132,.14)}.reading-document:before{inset:6px -9px -8px 11px;border-radius:13px}.reading-document-top{margin-bottom:16px}.reading-document-top>span{width:23px;height:5px}.reading-document-top b{padding:5px 7px;border-radius:7px;font-size:9px}.reading-document-title{height:7px;margin-bottom:12px}.reading-document-line{height:4px;margin-top:8px}.reading-document-highlight{margin:14px -4px 5px;padding:8px 6px}.reading-document-highlight i{height:4px}.reading-document-highlight i+i{margin-top:6px}.reading-focus-mark{right:-17px;bottom:21px;width:42px;height:42px}.reading-focus-mark:before{width:16px;height:16px;border-width:2px}.reading-focus-mark span{width:9px;height:2px;margin:16px 0 0 16px}.reading-intro-action{align-self:end;width:100%;margin:0}.reading-intro-action .button{width:100%;min-width:0;min-height:52px}.reading-intro-action small{align-self:center;margin:8px 0 0}}
@media(max-height:700px) and (max-width:700px){.reading-intro-layout{grid-template-rows:auto minmax(130px,1fr) auto;padding:14px 0 13px}.reading-intro-content h1{font-size:45px}.reading-intro-visual{height:165px}.reading-visual-orbit{width:160px;height:160px}.reading-document{width:124px;height:153px;padding:10px}.reading-document-top{margin-bottom:9px}.reading-document-title{margin-bottom:7px}.reading-document-highlight{margin-top:9px;padding:5px}.reading-focus-mark{display:none}.reading-intro-action .button{min-height:47px;padding:11px 20px}}

/* Writing companion intro: same split system as Reading, with a neutral short-writing page visual. */
.writing-intro-page{height:100dvh;overflow:hidden;background:linear-gradient(118deg,#fbfcff 0%,#f4f6fb 58%,#fbf9f1 100%)}.writing-intro-page .main{width:100%;max-width:940px;height:calc(100dvh - 64px);padding:0 20px}.writing-intro{height:100%;min-height:0}.writing-intro-layout{height:100%;display:grid;grid-template-columns:minmax(0,54fr) minmax(360px,46fr);grid-template-areas:"content visual" "action visual";grid-template-rows:auto auto;align-content:center;align-items:end;column-gap:24px}.writing-intro-content{grid-area:content;align-self:end;justify-self:end;width:min(430px,100%)}.writing-intro-content .eyebrow{margin-bottom:18px;color:#737b91;font-size:11px;letter-spacing:.15em}.writing-intro-content .eyebrow:before{content:"";display:inline-block;width:25px;height:3px;margin-right:10px;border-radius:99px;background:var(--yellow);vertical-align:middle}.writing-intro-content h1{margin:0;color:var(--navy);font-size:clamp(64px,7vw,90px);font-weight:800;letter-spacing:-.065em;line-height:.96}.writing-intro-meta{display:flex;align-items:center;gap:13px;margin:24px 0 0;color:#59637b;font-size:16px;font-weight:750}.writing-intro-meta i{width:4px;height:4px;border-radius:50%;background:#b4bbcb}.writing-intro-length{margin:13px 0 0;color:#747d91;font-size:14px}.writing-intro-length b{color:#555f77}.writing-intro-instruction{margin:13px 0 0;color:#626b7f;font-size:16px;line-height:1.5}.writing-intro-helper{display:block;margin-top:7px;color:#9299aa;line-height:1.45}.writing-intro-action{grid-area:action;align-self:start;justify-self:end;width:min(430px,100%);display:flex;flex-direction:column;align-items:flex-start;margin-top:26px}.writing-intro-action .button{min-width:230px;min-height:54px;padding:14px 26px;border-radius:12px;background:#a91c22;box-shadow:0 9px 20px rgba(169,28,34,.16);font-size:16px}.writing-intro-action .button:hover{background:#94191e}.writing-intro-action small{margin:10px 0 0 4px;color:#8a92a5;font-size:11px}
.writing-intro-visual{grid-area:visual;position:relative;align-self:center;justify-self:start;width:min(410px,100%);height:455px;display:grid;place-items:center}.writing-visual-orbit{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.98) 0 25%,rgba(224,229,244,.76) 56%,rgba(224,229,244,0) 72%)}.writing-visual-orbit:before{content:"";position:absolute;inset:35px;border:1px solid rgba(48,53,132,.09);border-radius:46% 54% 52% 48%;transform:rotate(-14deg)}.writing-task-board{position:relative;width:292px;height:348px;padding:22px 24px;border:1px solid rgba(48,53,132,.12);border-radius:21px;background:rgba(255,255,255,.91);box-shadow:0 28px 55px rgba(48,53,132,.15);transform:rotate(1.4deg);backdrop-filter:blur(10px)}.writing-task-board:before{content:"";position:absolute;z-index:-1;inset:10px -14px -13px 15px;border:1px solid rgba(48,53,132,.08);border-radius:21px;background:rgba(255,255,255,.5)}.writing-board-top{display:flex;align-items:center;justify-content:space-between}.writing-board-top>span{width:35px;height:7px;border-radius:99px;background:var(--navy)}.writing-board-top b{padding:7px 10px;border:1px solid rgba(48,53,132,.09);border-radius:9px;background:#f5f6fb;color:#68708f;font-size:12px}.writing-topic-lines{margin-top:25px;padding:17px 15px;border:1px solid #e3e6f0;border-radius:12px;background:#fff}.writing-topic-lines strong,.writing-topic-lines span{display:block;height:6px;border-radius:99px;background:#d3d7e4}.writing-topic-lines strong{width:72%;height:8px;margin-bottom:12px;background:var(--navy)}.writing-topic-lines span{width:92%;margin-top:8px}.writing-topic-lines span:last-child{width:68%}.writing-page-preview{position:relative;margin-top:17px;padding:9px 12px 10px;border-radius:10px;background:#f4f5fa}.writing-page-preview strong,.writing-page-preview span,.writing-page-preview em{display:block;height:5px;border-radius:99px;background:#cdd1df}.writing-page-preview strong{width:43%;height:6px;margin-bottom:8px;background:var(--navy)}.writing-page-preview span{width:88%;margin-top:6px}.writing-page-preview span:nth-of-type(2){width:67%}.writing-page-preview em{width:76%;height:15px;margin:8px 0 0;background:rgba(255,210,26,.34)}.writing-pencil{position:absolute;right:22px;bottom:17px;width:12px;height:76px;border-radius:8px 8px 3px 3px;background:var(--navy);transform:rotate(34deg);box-shadow:0 8px 14px rgba(48,53,132,.18)}.writing-pencil:before{content:"";position:absolute;top:-13px;border-right:6px solid transparent;border-bottom:14px solid var(--yellow);border-left:6px solid transparent}.writing-pencil i{position:absolute;right:2px;bottom:7px;left:2px;height:20px;border-radius:3px;background:#fff}.writing-sample-chip{position:absolute;right:4px;bottom:52px;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(48,53,132,.1);border-radius:999px;background:#fff;box-shadow:0 13px 25px rgba(48,53,132,.12);transform:rotate(-2deg)}.writing-sample-chip span{width:8px;height:8px;border-radius:50%;background:var(--yellow)}.writing-sample-chip b{color:var(--navy);font-size:10px}
@media(max-height:700px) and (min-width:701px){.writing-intro-content .eyebrow{margin-bottom:12px}.writing-intro-content h1{font-size:62px}.writing-intro-meta{margin-top:17px}.writing-intro-length,.writing-intro-instruction{margin-top:8px}.writing-intro-action{margin-top:17px}.writing-intro-visual{height:355px}.writing-visual-orbit{width:300px;height:300px}.writing-task-board{width:240px;height:296px;padding:18px 20px}.writing-topic-lines{margin-top:13px;padding:13px}.writing-page-preview{margin-top:10px}.writing-sample-chip{right:17px;bottom:26px}}
@media(max-width:700px){.writing-intro-page{height:auto;min-height:100dvh;overflow:visible}.writing-intro-page .main{height:calc(100dvh - 64px);min-height:0;padding:0 18px}.writing-intro-layout{grid-template-columns:1fr;grid-template-areas:"content" "visual" "action";grid-template-rows:auto minmax(170px,1fr) auto;align-content:stretch;align-items:center;gap:0;padding:21px 0 20px}.writing-intro-content{align-self:start;justify-self:stretch;width:100%}.writing-intro-content .eyebrow{margin-bottom:9px;font-size:10px}.writing-intro-content h1{font-size:51px}.writing-intro-meta{gap:10px;margin-top:12px;font-size:14px}.writing-intro-length{margin-top:7px;font-size:13px}.writing-intro-instruction{margin-top:7px;font-size:13px}.writing-intro-visual{align-self:center;justify-self:center;width:100%;height:235px}.writing-visual-orbit{width:220px;height:220px}.writing-task-board{width:172px;height:203px;padding:12px 14px;border-radius:14px}.writing-task-board:before{inset:6px -9px -8px 11px;border-radius:14px}.writing-board-top>span{width:23px;height:5px}.writing-board-top b{padding:5px 7px;border-radius:7px;font-size:9px}.writing-topic-lines{margin-top:10px;padding:9px;border-radius:8px}.writing-topic-lines strong{margin-bottom:7px}.writing-topic-lines span{margin-top:5px}.writing-page-preview{margin-top:9px;padding:6px 8px}.writing-page-preview strong{margin-bottom:5px}.writing-page-preview span{margin-top:4px}.writing-page-preview em{height:9px;margin-top:5px}.writing-pencil{right:12px;bottom:9px;width:8px;height:51px}.writing-pencil:before{top:-9px;border-right-width:4px;border-bottom-width:10px;border-left-width:4px}.writing-pencil i{bottom:5px;height:14px}.writing-sample-chip{right:calc(50% - 113px);bottom:15px;padding:7px 10px}.writing-sample-chip b{font-size:8px}.writing-intro-action{align-self:end;justify-self:stretch;width:100%;margin:0}.writing-intro-action .button{width:100%;min-width:0;min-height:52px}.writing-intro-action small{align-self:center;margin:8px 0 0}}
@media(max-height:700px) and (max-width:700px){.writing-intro-layout{grid-template-rows:auto minmax(108px,1fr) auto;padding:12px 0}.writing-intro-content h1{font-size:43px}.writing-intro-visual{height:135px}.writing-visual-orbit{width:130px;height:130px}.writing-task-board{width:105px;height:125px;padding:7px 8px}.writing-board-top b{padding:2px 4px}.writing-topic-lines{margin-top:5px;padding:5px}.writing-topic-lines span{display:none}.writing-topic-lines strong{height:5px;margin:0}.writing-page-preview{margin-top:4px;padding:4px}.writing-page-preview span,.writing-page-preview em{display:none}.writing-pencil{right:6px;bottom:5px;height:32px}.writing-sample-chip{display:none}.writing-intro-action .button{min-height:46px;padding:10px 20px}}

/* Premium Listening intro: the Reading intro's split rhythm with an audio-specific visual. */
.listening-intro-page{height:100dvh;overflow:hidden;background:linear-gradient(118deg,#fbfcff 0%,#f4f6fb 58%,#fbf9f1 100%)}
.listening-intro-page .main{width:100%;max-width:940px;height:calc(100dvh - 64px);padding:0 20px}
.listening-intro{height:100%;min-height:0}.listening-intro-layout{height:100%;display:grid;grid-template-columns:minmax(0,54fr) minmax(360px,46fr);grid-template-areas:"content visual" "action visual";grid-template-rows:auto auto;align-content:center;align-items:end;column-gap:24px}
.listening-intro-content{grid-area:content;align-self:end;justify-self:end;width:min(430px,100%)}.listening-intro-content .eyebrow{margin-bottom:18px;color:#737b91;font-size:11px;letter-spacing:.15em}.listening-intro-content .eyebrow:before{content:"";display:inline-block;width:25px;height:3px;margin-right:10px;border-radius:99px;background:var(--yellow);vertical-align:middle}
.listening-intro-content h1{margin:0;color:var(--navy);font-size:clamp(64px,7vw,90px);font-weight:800;letter-spacing:-.065em;line-height:.96}.listening-intro-meta{display:flex;align-items:center;gap:13px;margin:24px 0 0;color:#59637b;font-size:16px;font-weight:750}.listening-intro-meta i{width:4px;height:4px;border-radius:50%;background:#b4bbcb}.listening-intro-instruction{margin:17px 0 0;color:#626b7f;font-size:17px;line-height:1.5}
.listening-intro-action{grid-area:action;align-self:start;justify-self:end;width:min(430px,100%);display:flex;flex-direction:column;align-items:flex-start;margin-top:30px}.listening-intro-action .button{min-width:230px;min-height:54px;padding:14px 26px;border-radius:12px;background:#a91c22;box-shadow:0 9px 20px rgba(169,28,34,.16);font-size:16px}.listening-intro-action .button:hover{background:#94191e}.listening-intro-action small{margin:10px 0 0 4px;color:#8a92a5;font-size:11px}
.listening-intro-visual{grid-area:visual;position:relative;align-self:center;justify-self:start;width:min(410px,100%);height:455px;display:grid;place-items:center}.listening-visual-orbit{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.98) 0 25%,rgba(224,229,244,.76) 56%,rgba(224,229,244,0) 72%)}.listening-visual-orbit:before{content:"";position:absolute;inset:35px;border:1px solid rgba(48,53,132,.09);border-radius:46% 54% 52% 48%;transform:rotate(-14deg)}
.listening-console{position:relative;width:292px;height:348px;padding:22px 24px;border:1px solid rgba(48,53,132,.12);border-radius:21px;background:rgba(255,255,255,.91);box-shadow:0 28px 55px rgba(48,53,132,.15);transform:rotate(1.6deg);backdrop-filter:blur(10px)}.listening-console:before{content:"";position:absolute;z-index:-1;inset:10px -14px -13px 15px;border:1px solid rgba(48,53,132,.08);border-radius:21px;background:rgba(255,255,255,.5)}.listening-console-top{display:flex;align-items:center;justify-content:space-between}.listening-console-top>span{width:35px;height:7px;border-radius:99px;background:var(--navy)}.listening-console-top b{padding:7px 10px;border:1px solid rgba(48,53,132,.09);border-radius:9px;background:#f5f6fb;color:#68708f;font-size:12px}
.listening-headphones{position:relative;width:112px;height:75px;margin:27px auto 16px;border:10px solid var(--navy);border-bottom:0;border-radius:60px 60px 0 0}.listening-headphones:before,.listening-headphones:after{content:"";position:absolute;top:43px;width:22px;height:45px;border-radius:8px;background:var(--navy)}.listening-headphones:before{left:-16px}.listening-headphones:after{right:-16px}.listening-headphones i{position:absolute;inset:12px 13px 0;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#f2f4fb,#fff)}
.listening-waveform{height:42px;display:flex;align-items:center;justify-content:center;gap:5px;margin:12px 0 17px}.listening-waveform i{display:block;width:5px;border-radius:99px;background:var(--navy)}.listening-waveform i:nth-child(1),.listening-waveform i:nth-child(11){height:10px}.listening-waveform i:nth-child(2),.listening-waveform i:nth-child(10){height:18px}.listening-waveform i:nth-child(3),.listening-waveform i:nth-child(9){height:28px}.listening-waveform i:nth-child(4),.listening-waveform i:nth-child(8){height:20px}.listening-waveform i:nth-child(5),.listening-waveform i:nth-child(7){height:36px}.listening-waveform i:nth-child(6){height:42px;background:var(--yellow)}
.listening-player-preview{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;background:#f3f5fb}.listening-player-preview>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}.listening-player-preview div{display:grid;gap:2px}.listening-player-preview b{color:var(--navy);font-size:12px}.listening-player-preview small{color:#8b92a5;font-size:9px;font-weight:800;letter-spacing:.12em}.listening-preview-progress{height:4px;margin-top:12px;overflow:hidden;border-radius:99px;background:#e4e7f0}.listening-preview-progress i{display:block;width:38%;height:100%;border-radius:inherit;background:var(--yellow)}
.listening-sound-chip{position:absolute;right:4px;bottom:49px;display:flex;align-items:center;gap:4px;padding:11px 13px;border:1px solid rgba(48,53,132,.1);border-radius:999px;background:#fff;box-shadow:0 13px 25px rgba(48,53,132,.12);transform:rotate(-2deg)}.listening-sound-chip>span{width:7px;height:7px;margin-right:2px;border-radius:50%;background:var(--yellow)}.listening-sound-chip i{width:3px;border-radius:99px;background:var(--navy)}.listening-sound-chip i:nth-of-type(1){height:9px}.listening-sound-chip i:nth-of-type(2){height:16px}.listening-sound-chip i:nth-of-type(3){height:11px}.listening-sound-chip b{margin-left:4px;color:var(--navy);font-size:10px}
@media(max-height:700px) and (min-width:701px){.listening-intro-layout{column-gap:24px}.listening-intro-content .eyebrow{margin-bottom:12px}.listening-intro-content h1{font-size:62px}.listening-intro-meta{margin-top:17px}.listening-intro-instruction{margin-top:11px}.listening-intro-action{margin-top:21px}.listening-intro-visual{height:355px}.listening-visual-orbit{width:300px;height:300px}.listening-console{width:240px;height:300px;padding:18px 20px}.listening-headphones{width:91px;height:59px;margin:19px auto 12px;border-width:8px}.listening-headphones:before,.listening-headphones:after{top:33px;width:18px;height:36px}.listening-headphones:before{left:-13px}.listening-headphones:after{right:-13px}.listening-waveform{height:34px;margin:8px 0 12px}.listening-player-preview{padding:8px 9px}.listening-sound-chip{right:17px;bottom:23px}}
@media(max-width:700px){.listening-intro-page{height:auto;min-height:100dvh;overflow:visible}.listening-intro-page .main{height:calc(100dvh - 64px);min-height:0;padding:0 18px}.listening-intro-layout{grid-template-columns:1fr;grid-template-areas:"content" "visual" "action";grid-template-rows:auto minmax(180px,1fr) auto;align-content:stretch;align-items:center;gap:0;padding:24px 0 22px}.listening-intro-content{align-self:start;justify-self:stretch;width:100%}.listening-intro-content .eyebrow{margin-bottom:11px;font-size:10px}.listening-intro-content h1{font-size:53px}.listening-intro-meta{gap:10px;margin-top:14px;font-size:14px}.listening-intro-instruction{margin-top:10px;font-size:14px}.listening-intro-visual{align-self:center;justify-self:center;width:100%;height:250px}.listening-visual-orbit{width:230px;height:230px}.listening-console{width:174px;height:213px;padding:13px 14px;border-radius:14px}.listening-console:before{inset:6px -9px -8px 11px;border-radius:14px}.listening-console-top>span{width:23px;height:5px}.listening-console-top b{padding:5px 7px;border-radius:7px;font-size:9px}.listening-headphones{width:67px;height:45px;margin:13px auto 7px;border-width:6px}.listening-headphones:before,.listening-headphones:after{top:25px;width:14px;height:28px}.listening-headphones:before{left:-10px}.listening-headphones:after{right:-10px}.listening-headphones i{inset:8px 8px 0}.listening-waveform{height:27px;gap:3px;margin:5px 0 7px}.listening-waveform i{width:3px;max-height:27px}.listening-player-preview{gap:7px;padding:6px 7px;border-radius:8px}.listening-player-preview>span{width:24px;height:24px;font-size:9px}.listening-player-preview b{font-size:9px}.listening-player-preview small{font-size:7px}.listening-preview-progress{height:3px;margin-top:7px}.listening-sound-chip{right:calc(50% - 113px);bottom:15px;padding:7px 9px}.listening-sound-chip b{font-size:8px}.listening-intro-action{align-self:end;justify-self:stretch;width:100%;margin:0}.listening-intro-action .button{width:100%;min-width:0;min-height:52px}.listening-intro-action small{align-self:center;margin:8px 0 0}}
@media(max-height:700px) and (max-width:700px){.listening-intro-layout{grid-template-rows:auto minmax(128px,1fr) auto;padding:14px 0 13px}.listening-intro-content h1{font-size:45px}.listening-intro-visual{height:160px}.listening-visual-orbit{width:155px;height:155px}.listening-console{width:119px;height:146px;padding:8px}.listening-console-top b{padding:3px 5px}.listening-headphones{width:45px;height:30px;margin:7px auto 3px;border-width:4px}.listening-headphones:before,.listening-headphones:after{top:17px;width:9px;height:18px}.listening-headphones:before{left:-7px}.listening-headphones:after{right:-7px}.listening-waveform{height:19px;margin:2px 0 4px}.listening-waveform i{max-height:19px}.listening-player-preview{padding:4px}.listening-player-preview>span{width:18px;height:18px}.listening-preview-progress{margin-top:4px}.listening-sound-chip{display:none}.listening-intro-action .button{min-height:47px;padding:11px 20px}}

/* Reference-matched Result: pale estimate hero, paired focus cards, navy next-step banner, and clean recommendation. */
.result-page{width:100%;background:#fff}
.result-page .main{width:100%;max-width:none;padding:0}
.result-page .result-report{width:100%;max-width:none;margin:0;padding:0 0 52px}
.result-report .card,.focus-consultation{border-radius:0;box-shadow:none}
.result-report .result-hero{isolation:isolate;min-height:324px;padding:42px max(5.5vw,38px) 32px;overflow:hidden;border:0;border-bottom:1px solid #e8edf6;border-radius:0;background:linear-gradient(120deg,#fbfdff 0%,#f4f8ff 58%,#eaf3ff 100%);text-align:center}
.result-report .result-hero:before{content:'';position:absolute;z-index:0;top:-165px;right:-115px;width:300px;height:300px;border:1px solid rgba(38,55,137,.055);border-radius:50%;background:radial-gradient(circle at center,#4777dd 0 13px,rgba(96,147,235,.14) 14px 25px,rgba(255,255,255,.5) 26px 60px,rgba(53,89,171,.035) 61px 102px,rgba(255,255,255,.25) 103px 133px,rgba(66,112,203,.045) 134px 100%);box-shadow:0 0 0 34px rgba(91,145,231,.03),0 0 0 70px rgba(91,145,231,.02)}
.result-report .result-hero:after{content:'';position:absolute;z-index:0;top:56px;right:2px;width:96px;height:96px;border-top:3px solid #f1c400;border-radius:50%;transform:rotate(14deg)}
.result-report .result-hero>*{position:relative;z-index:1;max-width:1120px;margin-left:auto;margin-right:auto}
.result-report .result-hero .eyebrow{margin:0;color:#4e618d;font-size:10px;font-weight:850;letter-spacing:.24em}
.result-report .result-hero h1{position:absolute;width:1px;max-width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);word-break:break-all;border:0}
.result-report .estimated{display:block;margin:10px 0 9px;color:#122a83;font-size:clamp(72px,10vw,98px);font-weight:850;letter-spacing:-.075em;line-height:.94;text-shadow:none}
.result-report .estimated:after{display:none}
.result-context{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:15px;color:#555e76;font-size:14px}
.result-context>span{display:inline-flex;align-items:center;gap:5px;min-width:124px;justify-content:center;padding:8px 14px;border:0;border-radius:999px;font-weight:750}
.result-context .target-chip{background:#e7edff;color:#42517d}.result-context .target-chip b{color:#142b7b}
.result-context .priority-chip{background:#fde8ea;color:#bb1f34}.result-context .priority-chip b{color:#bb1f34}
.result-guidance{margin:18px 0 0!important;color:#11275f!important;font-size:18px;font-weight:800}
.result-disclaimer{max-width:630px;margin:17px auto 0!important;padding-top:15px;border-top:1px solid #dfe7f3;color:#68758f!important;font-size:11px;line-height:1.55}
.result-report .result-hero .eyebrow,.result-report .result-hero .estimated,.result-report .result-hero .result-context,.result-report .result-hero .result-guidance{width:min(1120px,100%);margin-left:auto!important;margin-right:auto!important}
.focus-consultation{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:25px 0 0;border:0;background:#fff}
.focus-section{padding:0}
.focus-section>h2{position:relative;margin:0 0 17px;color:#122a72;font-size:22px;font-weight:850;letter-spacing:-.025em}
.focus-section>h2:after{content:'';position:absolute;left:0;bottom:-7px;width:42px;height:3px;border-radius:99px;background:#f0c400}
.focus-section .insight-list{display:grid;gap:18px;margin:0}.insight-list.insight-count-1{grid-template-columns:minmax(0,720px)}.insight-list.insight-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-list.insight-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.insight-card{position:relative;min-height:148px;padding:21px 20px 20px 94px;overflow:hidden;border:1px solid;border-radius:14px;box-shadow:none}
.insight-card:before{position:absolute;left:20px;top:25px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;font:850 25px 'DM Sans',sans-serif}
.insight-card.priority-focus{border-color:#f4cfd3;background:linear-gradient(145deg,#fffafa,#fff4f6)}.insight-card.priority-focus:before{content:'!';background:#ffe0e4;color:#c51f3a}
.insight-card.watch-focus{border-color:#f0e1a4;background:linear-gradient(145deg,#fffef9,#fffbed)}.insight-card.watch-focus:before{content:'✦';background:#fff0b9;color:#132b71}
.insight-card.strength-focus{border-color:#cfe5dc;background:linear-gradient(145deg,#fbfffd,#f1faf6)}.insight-card.strength-focus:before{content:'✓';background:#dff3e9;color:#176a4b}
.insight-card:after{display:none}
.insight-card>span{display:inline-flex;padding:4px 9px;border:0;border-radius:999px;font-size:10px;font-weight:850}
.insight-card.priority-focus>span{background:#ffe1e4;color:#b51e33}.insight-card.watch-focus>span{background:#ffedac;color:#6d5812}.insight-card.strength-focus>span{background:#def2e8;color:#176a4b}
.insight-card h3{margin:8px 0 5px;color:#10286f;font-size:19px;line-height:1.25}.insight-card p{max-width:none;margin:0;color:#5c6983;font-size:12px;line-height:1.5}
.consultation-card{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,620px) minmax(290px,320px);align-items:center;justify-content:start;gap:clamp(24px,3vw,40px);margin-top:23px;padding:28px 26px;overflow:hidden;border:0;border-radius:14px;background:linear-gradient(118deg,#082860 0%,#073678 63%,#0c2d69 100%);box-shadow:0 14px 28px rgba(8,35,86,.16);color:#fff}
.consultation-card:before{content:'';position:absolute;z-index:-1;right:-84px;top:-112px;width:230px;height:230px;border:25px solid rgba(255,255,255,.035);border-radius:50%}
.consultation-card:after{content:'';position:absolute;z-index:-1;right:82px;bottom:-128px;width:190px;height:190px;border:1px solid rgba(255,255,255,.055);border-radius:50%}
.consultation-copy,.next-step-action{position:relative;z-index:1}
.next-step-label{display:inline-flex;align-items:center;gap:9px;margin:0 0 10px;padding:0;border:0;background:transparent;color:#fff;font-size:11px;font-weight:750;letter-spacing:.08em;box-shadow:none}.next-step-label:after{content:'';width:42px;height:2px;margin-left:4px;background:#e7c100}.next-step-label i{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f1ca00;color:#10285e;font-size:17px;font-style:normal}
.consultation-card h2{margin:0;color:#fff;font-size:clamp(23px,3vw,30px);font-weight:800;line-height:1.22;letter-spacing:-.025em}.consultation-card p{margin:9px 0 0;color:#d8e3f7;font-size:13px;line-height:1.5}
.result-id{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin-top:15px;color:#d4dff1;font-size:10px}.result-id span{padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.045)}.result-id b{color:#fff;letter-spacing:.04em}.result-id button{padding:4px 0;border:0;background:transparent;color:#fff;font:700 10px inherit;text-decoration:none;cursor:pointer}.result-id button:before{content:'▣';margin-right:6px}.result-id small{flex-basis:100%;color:#aebdd6;font-size:9px}
.next-step-action{display:flex;width:100%;flex-direction:column;align-items:stretch}.consultation-card .line-primary{width:100%;min-width:290px;min-height:56px;margin:0;padding:13px 18px;border:0;border-radius:11px;background:#a91c22;color:#fff;box-shadow:0 10px 22px rgba(2,17,52,.25);font-size:14px;font-weight:800}.consultation-card .line-primary b{margin-left:8px;font-size:18px}.consultation-card .line-primary:hover{background:#94191e;transform:translateY(-1px)}.consultation-card .line-primary:focus-visible{outline:3px solid #f3cf23;outline-offset:3px}
.result-report .recommendation{position:relative;width:min(1120px,calc(100% - 64px));margin:0 auto;padding:25px 0 0;overflow:visible;border:0;border-radius:0;background:#fff;box-shadow:none}
.recommendation-heading{position:relative;z-index:1}.recommend-label{display:inline-flex;margin:0 0 9px;padding:5px 10px;border:0;border-radius:999px;background:#fff0ac;color:#55450b;font-size:9px;font-weight:850;letter-spacing:.025em}
.recommendation-heading>h2{margin:0;color:#122a72;font-size:23px;font-weight:850;letter-spacing:-.02em}.recommendation-heading>p{max-width:650px;margin:5px 0 0;color:#68758b;font-size:12px}
.product-recommendations{position:relative;z-index:1;display:grid;gap:12px;margin-top:18px}.product-card{overflow:hidden;border:1px solid #e0e6ef;border-radius:13px;background:#fff}.product-card.primary-product{padding:20px 28px;box-shadow:0 10px 24px rgba(30,50,95,.07)}.product-card.primary-product.has-image{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);align-items:center;gap:29px}.product-visual{align-self:stretch;min-height:220px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#fff}.product-visual img{width:100%;height:100%;max-height:250px;object-fit:contain}.product-card-copy{min-width:0}.product-tier{display:inline-flex;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#eef2fb;color:#49588f;font-size:9px;font-weight:850}.primary-product .product-tier{background:#fff1b9;color:#685515}.product-card h3{margin:0;color:#10286f;font-size:21px}.product-reason{margin:6px 0 0;color:#4f5d77;font-size:12px;font-weight:600;line-height:1.5}.product-card ul{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none}.product-card li{position:relative;padding-left:22px;color:#58647d;font-size:12px;line-height:1.45}.product-card li:before{content:'✓';position:absolute;left:0;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#fff0b0;color:#173071;font-size:10px;font-weight:900}.product-cta{width:max-content;min-width:220px;margin-top:16px}.course-secondary,.product-link{position:relative;z-index:1;min-height:45px;border:1.5px solid #10286f;border-radius:9px;background:#fff;color:#10286f;box-shadow:none;font-size:13px}.course-secondary:hover,.product-link:hover{background:#f2f6ff}.product-card.secondary-product{margin-left:28px;padding:17px 20px;border-color:#e4e8ef;background:#fafbfe}.secondary-product h3{font-size:18px}.secondary-product .product-reason{font-size:12px}.secondary-product ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.secondary-product .product-link{min-width:190px}
.result-report .product-browse-action{margin-top:13px;padding-top:0;border-top:0}.result-report .product-browse-button{font-size:12px}
.result-footer{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:19px 0 0}.retake-link{font-size:12px}.result-footer small{font-size:10px}
@media(min-width:701px) and (max-width:980px){.consultation-card{grid-template-columns:1fr;gap:20px}.next-step-action{width:min(320px,100%)}}
@media(max-width:700px){.result-report .result-hero{min-height:0;padding:31px 20px 26px}.result-report .result-hero:before{top:-135px;right:-155px;width:250px;height:250px}.result-report .result-hero:after{top:12px;right:6px;width:60px;height:60px}.result-report .estimated{font-size:64px}.result-context{flex-wrap:wrap;gap:8px}.result-context>span{min-width:0;padding:7px 11px}.result-guidance{font-size:15px}.result-disclaimer{max-width:76%;font-size:10px}.focus-consultation,.result-report .recommendation,.result-footer{width:calc(100% - 28px)}.focus-consultation{padding-top:22px}.focus-section>h2,.recommendation-heading>h2{font-size:20px}.focus-section .insight-list{grid-template-columns:1fr;gap:10px}.insight-card{min-height:0;padding:17px 16px 17px 76px}.insight-card:before{left:15px;top:20px;width:45px;height:45px;font-size:20px}.consultation-card{grid-template-columns:1fr;gap:17px;margin-top:17px;padding:22px 18px}.consultation-card h2{font-size:23px}.next-step-action{min-width:0}.consultation-card .line-primary{width:100%;min-width:0;min-height:54px}.result-report .recommendation{padding-top:22px}.product-card.primary-product,.product-card.primary-product.has-image{display:grid;grid-template-columns:1fr;gap:14px;padding:17px}.product-visual{min-height:0;height:190px}.product-visual img{max-height:190px}.product-card h3{font-size:20px}.product-card.secondary-product{margin-left:0;padding:16px}.secondary-product ul{grid-template-columns:1fr;gap:6px}.product-cta{width:100%;min-width:0}.result-footer{align-items:flex-start;flex-direction:column;gap:9px}}


/* Reference-led desktop scene: focused controls beside a clean performance-board still life. */
.landing-page{background:#f8f9fd}
.landing-page .main{max-width:100%;height:calc(100dvh - 64px);padding:0 clamp(34px,4.6vw,74px);background:linear-gradient(90deg,#fbfbff 0%,#f6f7fc 47%,#e9eef6 100%)}
.landing-page .landing-hero{width:100%;height:100%;min-height:0;padding:0;display:block;text-align:left}.landing-page .landing-hero:before{display:none}
.landing-layout{width:100%;max-width:1500px;height:100%;margin:0 auto;display:grid;grid-template-columns:minmax(520px,.98fr) minmax(500px,1.02fr);align-items:center;gap:clamp(18px,2.8vw,48px)}.landing-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;max-width:650px}
.landing-page .eyebrow{margin:0 0 18px;font-size:12px;font-weight:800;letter-spacing:.14em}.landing-page .hero h1{max-width:none;margin:0;color:#263789;font-size:clamp(58px,5.25vw,78px);font-weight:800;line-height:.96;letter-spacing:-.055em}.landing-page .hero h1 em{display:inline-block;margin-top:6px;color:#b5202a;text-decoration-thickness:7px;text-underline-offset:6px}
.landing-page .landing-target{width:100%;margin:30px 0 0;padding:19px 20px 20px;border:1px solid rgba(48,53,132,.08);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 15px 36px rgba(48,53,132,.09)}.landing-page .landing-target .field-label{margin:0 0 11px;color:#263789;font-size:16px;font-weight:800}.landing-page .landing-target .target-row{gap:9px}.landing-page .landing-target .choice{min-height:43px;padding:9px 5px;border-color:#e4e7f0;border-radius:11px;background:#fff;font-size:15px;box-shadow:0 3px 9px rgba(48,53,132,.03)}
.landing-page .landing-target .choice:not(.active):hover{border-color:var(--navy);background:#f4f5ff;color:var(--navy)}.landing-page .landing-target .choice.active{border-color:var(--navy);background:var(--navy);color:#fff}
.landing-page .hero-cta{align-self:center;width:min(430px,78%);min-height:58px;margin-top:22px;border-radius:13px;background:linear-gradient(135deg,#b8202b,#d23f48);box-shadow:0 15px 28px rgba(169,28,34,.27)}.landing-page .hero .hero-trust{align-self:center;display:flex;align-items:center;justify-content:center;gap:13px;width:min(560px,100%);max-width:calc(100vw - 40px);margin:28px 0 0;color:#778296;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.35;white-space:nowrap}.landing-page .hero-trust .trust-item{display:inline-flex;align-items:center;gap:7px}.landing-page .hero-trust .trust-item b{font-weight:500}.landing-page .hero-trust svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:#6e7c91;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.landing-page .hero-trust .trust-separator{display:block;width:1px;height:19px;margin:0 1px;background:#d6dae3}
.landing-visual{position:relative;width:100%;height:min(540px,calc(100dvh - 86px));min-height:410px}.performance-scene{position:relative;width:100%;height:100%;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.scene-window{display:none}.performance-scene:after{display:none}
.scene-book{position:absolute;z-index:2;top:42px;right:0;width:270px;height:420px;border:1px solid rgba(4,17,47,.42);border-radius:8px 22px 22px 8px;background:radial-gradient(ellipse at 68% 9%,rgba(118,164,231,.25),transparent 36%),linear-gradient(103deg,rgba(255,255,255,.045) 0 1px,transparent 1px 9px),linear-gradient(90deg,#091d44 0 13%,#1a4280 24%,#315b9e 54%,#183b77 82%,#071a35 100%);box-shadow:-22px 28px 42px rgba(16,31,62,.27),0 7px 12px rgba(20,34,61,.1),inset 0 2px 1px rgba(255,255,255,.2),inset 12px 0 18px rgba(255,255,255,.055),inset -14px 0 22px rgba(0,0,0,.22),inset 0 -3px 5px rgba(3,13,33,.3);transform:rotate(-1.2deg)}.scene-book:before{content:'';position:absolute;left:0;top:0;bottom:0;width:49px;border-right:1px solid rgba(1,10,28,.34);border-radius:8px 3px 3px 8px;background:linear-gradient(90deg,#06142f 0 12%,#102d5e 27%,#214a89 57%,#0c2858 88%,#061732 100%);box-shadow:inset 5px 0 6px rgba(255,255,255,.06),inset -3px 0 5px rgba(0,0,0,.3),6px 0 12px rgba(0,0,0,.19)}.scene-book:after{content:'';position:absolute;z-index:-1;left:-15px;top:13px;width:16px;height:calc(100% - 26px);border:1px solid rgba(117,128,148,.22);border-right:0;border-radius:6px 0 0 6px;background:repeating-linear-gradient(180deg,#fff 0 2px,#e6e9ef 2px 3px,#cdd3df 3px 4px);box-shadow:inset -4px 0 5px rgba(48,59,82,.2),-5px 7px 12px rgba(31,43,69,.11)}
.performance-board{position:absolute;z-index:4;left:9%;top:20%;width:min(470px,80%);height:300px;display:grid;align-content:center;gap:16px;padding:28px 34px;border:1px solid rgba(46,65,119,.1);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(245,247,252,.98));box-shadow:0 24px 48px rgba(29,48,94,.17),inset 0 1px 0 #fff;transform:rotate(-.6deg)}.performance-row{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:17px}.performance-row>i{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(38,55,137,.07);border-radius:13px;background:#f7f9fd;box-shadow:0 7px 15px rgba(48,53,132,.07)}.performance-row svg{width:28px;height:28px;fill:none;stroke:#1d377d;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.performance-row>span{height:16px;overflow:hidden;border-radius:999px;background:#e6eaf1;box-shadow:inset 0 1px 3px rgba(50,62,92,.08)}.performance-row b{display:block;height:100%;border-radius:inherit}.row-listening b{width:66%;background:linear-gradient(90deg,#5570bb,#213f8e)}.row-reading b{width:49%;background:linear-gradient(90deg,#8a9cbd,#5d7097)}.row-writing b{width:42%;background:linear-gradient(90deg,#efd365,#d5aa24)}.row-speaking b{width:63%;background:linear-gradient(90deg,#c75e6c,#a82d3e)}
.scene-pen{position:absolute;z-index:5;right:-32px;bottom:61px;width:322px;height:20px;border:1px solid rgba(3,13,34,.46);border-radius:4px 5px 5px 4px;background:linear-gradient(180deg,#527fc1 0 7%,#2c5da5 8% 28%,#153f80 29% 53%,#08285f 54% 74%,#123873 75% 91%,#061a42 92% 100%);box-shadow:0 11px 16px rgba(13,27,55,.3),0 2px 2px rgba(5,14,32,.18),inset 0 2px 1px rgba(255,255,255,.28),inset 0 -3px 4px rgba(0,0,0,.3);transform:rotate(-10deg)}.scene-pen:before{content:'';position:absolute;left:-72px;top:0;width:74px;height:20px;background:linear-gradient(90deg,#242b34 0 9%,#9f6238 10% 13%,#d99a59 14% 35%,#efc382 36% 72%,#f7d8a4 73% 100%);clip-path:polygon(0 50%,100% 0,100% 100%);filter:drop-shadow(-2px 3px 2px rgba(24,31,45,.2))}.scene-pen:after{content:'';position:absolute;left:18px;right:20px;top:3px;height:4px;border-radius:99px;background:linear-gradient(90deg,rgba(255,255,255,.45),rgba(255,255,255,.17) 64%,rgba(255,255,255,.04));box-shadow:0 7px 0 rgba(2,15,40,.16)}.scene-pen i{position:absolute;right:-40px;top:-1px;width:42px;height:20px;border:1px solid rgba(82,31,38,.38);border-radius:0 11px 11px 0;background:linear-gradient(180deg,#dc7a82 0 12%,#c45a65 13% 58%,#99313e 59% 86%,#711d2a 87% 100%);box-shadow:inset 0 2px 2px rgba(255,255,255,.28),inset 0 -2px 3px rgba(66,13,23,.25)}.scene-pen i:before{content:'';position:absolute;left:-17px;top:-1px;width:18px;height:20px;border:1px solid rgba(69,80,94,.3);background:repeating-linear-gradient(90deg,#929daa 0 2px,#dbe1e7 2px 4px,#b1bbc5 4px 6px);box-shadow:inset 0 2px 2px rgba(255,255,255,.5),inset 0 -2px 2px rgba(57,69,83,.2)}.scene-pen i:after{content:'';position:absolute;left:5px;right:7px;top:3px;height:4px;border-radius:99px;background:rgba(255,255,255,.24)}
@media(max-height:650px) and (min-width:801px){.landing-page .main{padding-block:4px}.landing-layout{grid-template-columns:minmax(470px,1.07fr) minmax(420px,.93fr);gap:20px}.landing-copy{transform:translateY(-4px)}.landing-page .eyebrow{margin-bottom:10px}.landing-page .hero h1{font-size:clamp(50px,4.8vw,64px)}.landing-page .landing-target{margin-top:19px;padding:11px 14px 12px}.landing-page .landing-target .field-label{margin-bottom:7px;font-size:14px}.landing-page .landing-target .choice{min-height:36px;padding:6px 4px;font-size:14px}.landing-page .hero-cta{min-height:49px;margin-top:15px;padding:9px 24px}.landing-page .hero .hero-trust{margin-top:23px;gap:8px;font-size:11px}.landing-page .hero-trust .trust-item{gap:6px}.landing-page .hero-trust svg{width:16px;height:16px}.landing-page .hero-trust .trust-separator{height:16px;margin:0}.landing-visual{height:calc(100dvh - 86px);min-height:0}.performance-board{top:17%;height:66%;gap:10px;padding:20px 27px}.performance-row{grid-template-columns:40px 1fr;gap:12px}.performance-row>i{width:40px;height:40px}.performance-row svg{width:24px;height:24px}.performance-row>span{height:15px}.scene-book{top:3%;right:0;width:250px;height:88%}.scene-book:after{height:calc(100% - 24px)}}
@media(max-width:800px){.landing-page{height:auto;min-height:100dvh;overflow:visible}.landing-page .main{height:auto;min-height:calc(100dvh - 64px);overflow:visible;padding:0 16px}.landing-page .landing-hero{min-height:calc(100dvh - 64px);display:grid;align-items:center;padding:22px 0}.landing-layout{height:auto;display:block}.landing-copy{align-items:center;max-width:650px;margin:auto;text-align:center}.landing-page .eyebrow{margin-bottom:14px}.landing-page .hero h1{font-size:clamp(42px,12vw,56px)}.landing-page .landing-target{margin-top:24px;text-align:left;padding:15px 14px 16px}.landing-page .landing-target .target-row{grid-template-columns:repeat(3,1fr);gap:8px}.landing-page .landing-target .choice{min-height:42px;padding:8px 5px;font-size:15px}.landing-page .hero-cta{width:min(340px,100%);margin-top:18px}.landing-page .hero .hero-trust{display:grid;grid-template-columns:1fr;gap:8px;width:min(340px,100%);max-width:340px;margin-top:24px;font-size:12px;white-space:normal;text-align:left}.landing-page .hero-trust .trust-item{justify-content:flex-start;gap:9px}.landing-page .hero-trust svg{width:18px;height:18px}.landing-page .hero-trust .trust-separator{display:none}.landing-visual{display:none}}

/* Result product browser — keeps personalised recommendations focused while allowing catalogue discovery. */
.product-browse-action{position:relative;z-index:1;display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid rgba(40,57,138,.09)}
.product-browse-button,.product-browser-back{border:0;background:transparent;color:#28398a;font-family:inherit;font-size:14px;font-weight:750;cursor:pointer;text-underline-offset:4px}.product-browse-button:hover,.product-browser-back:hover{text-decoration:underline}
.product-browser-open{overflow:hidden}.product-browser{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:22px;background:rgba(24,29,65,.42);backdrop-filter:blur(6px)}.product-browser[hidden]{display:none!important}
.product-browser-panel{position:relative;width:min(1060px,100%);max-height:min(820px,calc(100dvh - 44px));overflow:auto;padding:30px;border:1px solid rgba(40,57,138,.12);border-radius:20px;background:#fbfbfe;box-shadow:0 28px 70px rgba(24,29,65,.25)}
.product-browser-close{position:sticky;z-index:3;top:0;float:right;width:40px;height:40px;display:grid;place-items:center;margin:-8px -8px 0 16px;border:1px solid #dde1ef;border-radius:50%;background:#fff;color:#28398a;font-family:inherit;font-size:25px;font-weight:500;line-height:1;cursor:pointer;box-shadow:0 5px 14px rgba(40,57,138,.08)}
.product-browser-head span,.product-detail-copy>span{display:block;margin-bottom:7px;color:#9f2026;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.product-browser-head h2,.product-detail-copy h2{margin:0;color:#28398a;font-size:clamp(25px,3vw,34px);line-height:1.15}.product-browser-head p{max-width:650px;margin:8px 0 0;color:#68728a;line-height:1.55}
.product-browser-grid{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:23px}.product-browser-item{min-width:0;overflow:hidden;display:grid;grid-template-rows:170px 1fr;padding:0;border:1px solid rgba(40,57,138,.11);border-radius:15px;background:#fff;color:inherit;font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 6px 17px rgba(40,57,138,.045);transition:transform .16s,border-color .16s,box-shadow .16s}.product-browser-item:hover{transform:translateY(-2px);border-color:rgba(40,57,138,.3);box-shadow:0 11px 24px rgba(40,57,138,.09)}
.product-browser-art{min-width:0;display:grid;place-items:center;overflow:hidden;padding:9px;background:#f4f5fa}.product-browser-art img{width:100%;height:100%;object-fit:contain}.product-browser-copy{display:flex;min-width:0;flex-direction:column;padding:14px}.product-browser-copy b{color:#28398a;font-size:16px;line-height:1.3}.product-browser-copy small{display:-webkit-box;overflow:hidden;margin-top:6px;color:#68728a;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.product-browser-copy em{margin-top:auto;padding-top:12px;color:#28398a;font-size:12px;font-style:normal;font-weight:800}
.product-artwork-placeholder{width:100%;height:100%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#eef1fa,#fff8d9);color:#28398a}.product-artwork-placeholder b{font-size:21px}.product-artwork-placeholder span{margin-top:3px;color:#9f2026;font-size:11px;font-weight:850;letter-spacing:.13em}
.product-browser-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px}.product-browser-detail{clear:both;display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);gap:30px;align-items:center}.product-detail-art{height:clamp(250px,calc(100dvh - 180px),420px);display:grid;place-items:center;overflow:hidden;padding:18px;border:1px solid rgba(40,57,138,.09);border-radius:15px;background:#f4f5fa}.product-detail-art img{display:block;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.product-detail-copy p{margin:11px 0 0;color:#58627b;line-height:1.6}.product-detail-copy ul{display:grid;gap:9px;margin:20px 0;padding:0;list-style:none}.product-detail-copy li{position:relative;padding-left:22px;color:#505a72;line-height:1.5}.product-detail-copy li:before{content:'✓';position:absolute;left:0;color:#b98400;font-weight:900}.product-detail-link{margin-top:4px}
.product-detail-gallery{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}.product-detail-gallery figure{position:relative;min-width:0;min-height:0;overflow:hidden;margin:0;border:1px solid rgba(40,57,138,.1);border-radius:11px;background:#fff}.product-detail-gallery figure:first-child{grid-row:1/3}.product-detail-gallery img{display:block;width:100%;height:100%;object-fit:contain}.product-detail-gallery figcaption{position:absolute;right:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(24,29,65,.74);color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em}
@media(max-width:700px){.product-browse-action{justify-content:center}.product-browse-button{min-height:44px}.product-browser{padding:0;place-items:stretch}.product-browser-panel{width:100%;max-height:100dvh;padding:20px 14px 28px;border:0;border-radius:0}.product-browser-close{top:4px;margin:-2px 0 0 10px}.product-browser-head h2,.product-detail-copy h2{font-size:25px}.product-browser-head p{font-size:13px}.product-browser-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.product-browser-item{grid-template-rows:118px 1fr;border-radius:12px}.product-browser-art{padding:5px}.product-browser-copy{padding:11px}.product-browser-copy b{font-size:13px}.product-browser-copy small{font-size:10px;-webkit-line-clamp:2}.product-browser-copy em{padding-top:9px;font-size:11px}.product-browser-detail{grid-template-columns:1fr;gap:17px}.product-detail-art{height:270px;padding:10px}.product-browser-detail.has-gallery .product-detail-art{height:350px;padding:9px}.product-detail-gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.product-detail-gallery figure{flex:0 0 min(72vw,245px);scroll-snap-align:center}.product-detail-gallery figure:first-child{grid-row:auto}.product-detail-copy p{font-size:14px}.product-detail-copy li{font-size:14px}.product-detail-link{width:100%}}
.product-card.secondary-product.has-image{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:18px}.secondary-product .product-visual{min-height:0;height:150px;border:1px solid rgba(40,57,138,.07)}
@media(max-width:700px){.product-card.secondary-product.has-image{grid-template-columns:1fr;gap:13px}.secondary-product .product-visual{height:170px}}

/* Mobile-first Result handoff with an auto-generated, shareable summary card. */
.result-next-step.consultation-card{grid-template-columns:minmax(480px,500px) minmax(0,1fr);gap:32px;padding:28px}.result-next-step .consultation-copy{align-self:center}.result-next-step .consultation-copy h2{font-size:clamp(23px,2.35vw,28px);white-space:nowrap}.result-next-step .consultation-copy>p:not(.screenshot-helper){max-width:410px}.screenshot-helper{margin-top:14px!important;color:#fff2b2!important;font-size:12px!important;font-weight:650}.result-share-panel{display:grid;grid-template-columns:220px minmax(250px,1fr);align-items:center;gap:22px}.result-card-preview{position:relative;overflow:hidden;width:220px;aspect-ratio:4/5;padding:15px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:linear-gradient(145deg,#fff,#edf3fc);box-shadow:0 15px 30px rgba(0,13,43,.28);color:#172f78}.result-card-preview:before{content:'';position:absolute;top:-60px;right:-54px;width:130px;height:130px;border:18px solid rgba(43,75,153,.06);border-radius:50%}.result-card-preview header{position:relative;display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #e1e6f0}.result-card-preview header img{width:34px;height:34px;border-radius:8px;object-fit:cover}.result-card-preview header b{display:block;font-size:11px}.result-card-preview header small{display:block;margin-top:2px;color:#a91c22;font-size:6px;font-weight:850;letter-spacing:.08em}.result-card-preview>span{position:relative;display:block;margin-top:18px;color:#858da0;font-size:7px;font-weight:850;letter-spacing:.12em}.result-card-preview>strong{position:relative;display:block;margin-top:3px;color:#132c7b;font-size:31px;line-height:1;letter-spacing:-.05em}.result-card-facts{position:relative;display:grid;grid-template-columns:1fr 1.4fr;gap:7px;margin-top:18px}.result-card-facts p,.result-card-id{margin:0!important;padding:9px!important;border-radius:8px;background:#f1f5fc;color:#172f78!important;line-height:1.2!important}.result-card-facts p:last-child{background:#fff0f1;color:#9b2530!important}.result-card-facts small,.result-card-id small{display:block;color:#858da0;font-size:6px}.result-card-facts b,.result-card-id b{display:block;overflow:hidden;margin-top:4px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.result-card-id{position:relative;margin-top:7px!important}.result-card-preview footer{position:absolute;right:15px;bottom:13px;left:15px;padding-top:9px;border-top:1px solid #e1e6ef;color:#8a92a3;font-size:6px;line-height:1.35}.result-next-step .next-step-action{gap:10px}.result-next-step .line-primary{min-width:0}.result-share-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-image-action{min-height:42px;padding:9px 8px;border:1px solid rgba(255,255,255,.42);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font:700 11px 'DM Sans','Noto Sans Thai',sans-serif;cursor:pointer}.result-image-action:hover{background:rgba(255,255,255,.15)}.result-image-action:focus-visible{outline:2px solid #f3cf23;outline-offset:2px}.result-share-feedback{min-height:15px;color:#becce2;font-size:9px;line-height:1.4;text-align:center}
@media(max-width:1180px){.result-next-step.consultation-card{grid-template-columns:1fr}.result-share-panel{grid-template-columns:220px minmax(260px,320px);justify-content:start}}
@media(max-width:700px){.result-next-step.consultation-card{gap:20px;padding:22px 18px}.result-share-panel{grid-template-columns:1fr;gap:16px}.result-card-preview{width:min(270px,82vw);margin:0 auto}.result-next-step .next-step-action{width:100%}.result-share-secondary{grid-template-columns:1fr 1fr}.result-image-action{min-height:46px;font-size:12px}.screenshot-helper{font-size:12px!important}.result-share-feedback{font-size:10px}}
@media(max-width:480px){.result-next-step .consultation-copy h2{white-space:normal}}

/* Retake eligibility is intentionally quiet and secondary to the assessment result. */
.result-footer{display:grid;justify-items:center;gap:10px;text-align:center}.result-footer>p{max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.result-footer.retake-locked{width:min(760px,calc(100% - 32px));margin:28px auto;padding:22px;border:1px solid rgba(48,53,132,.14);border-radius:16px;background:#f4f6fb}.result-footer.retake-locked>b{color:var(--navy);font-size:16px}.result-footer.retake-checking>span{color:var(--muted);font-size:14px}
@media(max-width:700px){.result-footer.retake-locked{width:calc(100% - 20px);padding:18px 15px}.result-footer.retake-locked>b{font-size:15px}}
