/* v2.7 — approved mobile visual direction ---------------------------------- */
:root{
  --v27-navy:#0b3b57;--v27-navy-2:#075075;--v27-teal:#3f9f92;
  --v27-mint:#e5f3ef;--v27-blue:#e8f3f8;--v27-sand:#f5ead9;
  --v27-copper:#ae6140;--v27-photo:url("assets/desert-liwa-hero-v1.webp");
}
body{background:#f8f5ef}
body::before{content:"";position:fixed;inset:38% 0 0;z-index:-1;background:linear-gradient(180deg,rgba(248,245,239,.98),rgba(248,245,239,.78)),var(--v27-photo) center bottom/cover no-repeat;opacity:.32;pointer-events:none}
body.dark::before{background:linear-gradient(180deg,rgba(13,24,32,.98),rgba(13,24,32,.88)),var(--v27-photo) center bottom/cover no-repeat;opacity:.18}

/* Chrome */
.topbar{height:64px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.brand-home-btn{width:42px;height:42px;min-width:42px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.header-brand-mark{display:block;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,transparent 52%,rgba(9,59,87,.5)),var(--v27-photo) 62% 51%/210% auto no-repeat;box-shadow:0 0 0 1px rgba(16,47,67,.12),0 3px 10px rgba(16,47,67,.12)}
#homeBtn{display:none!important}
.topbar-end>#fontBtn,.topbar-end>#themeBtn{display:none!important}
#notifyBtn{position:relative;color:var(--v27-navy)}
#notifyBtn::after{content:"";position:absolute;top:8px;inset-inline-end:8px;width:6px;height:6px;border-radius:50%;background:#c29b5a;box-shadow:0 0 0 2px var(--surface)}
.topbar-title h1{font-size:clamp(.83rem,3.5vw,1rem);color:var(--v27-navy);font-weight:700}
body.dark .topbar-title h1,body.dark #notifyBtn{color:var(--ink)}
#backBtn{width:36px;height:36px;min-width:36px}
.tabbar{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:4px;background:color-mix(in srgb,var(--surface) 96%,transparent)}
.tab-item{min-width:0;min-height:56px;gap:1px;border-radius:10px}
.tab-item small{font-size:.65rem}
.tab-item.active{color:var(--v27-navy)}
.tab-item.active .tab-ico{background:transparent}
.tab-item.active::after{content:"";width:22px;height:3px;margin-top:2px;border-radius:999px;background:#bc9454}
body.dark .tab-item.active{color:#8ec7d0}
.rail .brand-mark{background:linear-gradient(180deg,transparent 52%,rgba(9,59,87,.55)),var(--v27-photo) 62% 51%/210% auto no-repeat;border-radius:50%}
.rail .brand-mark::before,.rail .brand-mark::after{display:none}
.rail-nav::after{content:""}

/* Reusable photographic banner */
.v27-photo-head,.v27-home-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #e3d8c7;background:var(--v27-photo) 50% 53%/cover no-repeat;box-shadow:var(--sh-1)}
.v27-photo-head::before,.v27-home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,254,250,.4),rgba(255,254,250,.9) 56%,rgba(255,254,250,.98))}
body.dark .v27-photo-head::before,body.dark .v27-home-hero::before{background:linear-gradient(90deg,rgba(13,24,32,.38),rgba(13,24,32,.84) 58%,rgba(13,24,32,.95))}
.v27-photo-head{min-height:128px;margin:-12px 0 14px;padding:20px 18px;display:flex;align-items:flex-end;border-radius:0 0 22px 22px}
.v27-photo-copy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;width:100%}
.v27-photo-copy .avatar{grid-row:1/3;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.9);border:3px solid rgba(255,255,255,.8);box-shadow:0 5px 14px rgba(16,47,67,.13);color:var(--v27-navy)}
.v27-photo-copy h2{font-size:1.35rem;color:var(--v27-navy);line-height:1.3}
.v27-photo-copy p{margin:0;color:#506878;font-size:.79rem;line-height:1.55}
body.dark .v27-photo-copy h2,body.dark .v27-photo-copy .avatar{color:var(--ink)}
body.dark .v27-photo-copy p{color:var(--ink-2)}
.v27-home-hero{min-height:124px;margin:0 0 10px;padding:18px 20px;display:flex;align-items:center;border-radius:20px}
.v27-home-hero>div{max-width:72%}
.v27-home-hero span{display:block;color:#7f6948;font-size:.68rem;font-weight:700}
.v27-home-hero h2{color:var(--v27-navy);font-size:1.4rem;line-height:1.25;margin:3px 0}
.v27-home-hero p{color:#37596d;font-size:.8rem;margin:0}
body.dark .v27-home-hero span,body.dark .v27-home-hero p{color:var(--ink-2)}
body.dark .v27-home-hero h2{color:var(--ink)}

/* Home */
.v27-primary-launch{margin-top:0}
.v27-module-tile{background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(4px)}
.v27-module-tile::before{background:linear-gradient(105deg,rgba(79,157,171,.3),rgba(79,157,171,.04))}
.v27-module-tile.personality::before{background:linear-gradient(105deg,rgba(70,154,139,.28),rgba(70,154,139,.04))}
.v27-module-tile.derailers::before{background:linear-gradient(105deg,rgba(47,116,104,.32),rgba(47,116,104,.04))}
.v27-module-tile.leadership::before{background:linear-gradient(105deg,rgba(182,108,72,.28),rgba(182,108,72,.04))}

/* Simulation progress strip */
.v27-progress-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;margin:0 0 10px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--sh-1)}
.v27-progress-copy strong{display:block;font-size:1rem}.v27-progress-copy p{margin:3px 0 0;color:var(--ink-2);font-size:.76rem}
.v27-ring{--p:0;width:82px;height:82px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--v27-teal) calc(var(--p)*3.6deg),#e8eceb 0);position:relative}
.v27-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}
.v27-ring>div{position:relative;z-index:1;text-align:center;line-height:1.15}
.v27-ring strong{display:block;color:var(--v27-navy);font-size:1.25rem}.v27-ring span{display:block;color:var(--v27-teal);font-size:.66rem;font-weight:700}.v27-ring small{display:block;color:var(--ink-3);font-size:.55rem}
body.dark .v27-ring{background:conic-gradient(var(--v27-teal) calc(var(--p)*3.6deg),var(--surface-3) 0)}body.dark .v27-ring strong{color:var(--ink)}
.v27-sim-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 11px;padding:8px 2px;direction:rtl}
.v27-sim-step{min-width:0;padding:0;border:0;background:transparent;color:var(--ink-3);cursor:pointer;text-align:center;font:inherit}
.v27-sim-step>span{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:50%;background:var(--surface-3);border:2px solid var(--line);font:700 .66rem/1 "Plex Arabic",sans-serif;color:var(--ink-2)}
.v27-sim-step>span .ico{width:16px;height:16px}
.v27-sim-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.55rem;line-height:1.2}
.v27-sim-step.done>span{background:var(--v27-teal);border-color:var(--v27-teal);color:#fff}.v27-sim-step.done small{color:var(--v27-teal)}
.v27-sim-step.active>span{background:var(--surface);border-color:var(--v27-navy-2);box-shadow:inset 0 0 0 3px var(--primary-soft);color:var(--v27-navy)}.v27-sim-step.active small{color:var(--v27-navy);font-weight:700}
body.dark .v27-sim-step.active>span,body.dark .v27-sim-step.active small{color:var(--ink)}
.v27-module-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;margin:-2px 0 12px}
.v27-module-actions .btn{min-height:48px}
.v27-wide-tool{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;padding:10px 14px;margin:3px 0 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;box-shadow:var(--sh-1);cursor:pointer}
.v27-wide-tool strong,.v27-wide-tool small{display:block}.v27-wide-tool small{color:var(--ink-2);font-size:.7rem}
.v27-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.v27-domain-card{position:relative;min-height:112px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-align:start;font:inherit;cursor:pointer;overflow:hidden;box-shadow:var(--sh-1)}
.v27-domain-card::before{content:"";position:absolute;inset:0 0 auto;height:38px;background:linear-gradient(105deg,rgba(67,145,160,.25),transparent)}
.v27-domain-card.sand::before{background:linear-gradient(105deg,rgba(180,133,70,.25),transparent)}.v27-domain-card.cognitive::before,.v27-domain-card.generator::before{background:linear-gradient(105deg,rgba(62,151,137,.25),transparent)}
.v27-domain-card .avatar{position:relative;align-self:flex-end;width:38px;height:38px;border-radius:50%}.v27-domain-card strong{font-size:.83rem;margin-top:auto}.v27-domain-card small{font-size:.64rem;color:var(--ink-2)}.v27-domain-card>.chev{position:absolute;inset-inline-end:10px;bottom:10px;width:16px;height:16px}
.v27-mini-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 10px}
.v27-mini-tools>button{min-width:0;min-height:78px;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;box-shadow:var(--sh-1);cursor:pointer}
.v27-mini-tools .avatar{width:36px;height:36px;border-radius:11px}.v27-mini-tools strong,.v27-mini-tools small{display:block}.v27-mini-tools strong{font-size:.78rem}.v27-mini-tools small{font-size:.6rem;color:var(--ink-2);line-height:1.4}.v27-mini-tools .chev{width:15px}
.v27-gcat-footer{grid-template-columns:repeat(3,minmax(0,1fr))}.v27-gcat-footer>button{grid-template-columns:auto minmax(0,1fr);min-height:67px}.v27-gcat-footer>button>.chev{display:none}
.v27-section-note{margin-top:4px;font-size:.76rem}
.v27-start-full{margin:2px 0 10px}
.v27-full-progress{padding:14px 16px;margin-bottom:12px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-full-progress .meter{margin:10px 0 0}
.v27-full-grid{margin-bottom:12px}
.v27-full-section{min-height:150px;padding:16px;grid-template-columns:auto minmax(0,1fr);align-content:center}.v27-full-section .avatar{width:48px;height:48px}.v27-full-section strong{font-size:.94rem}.v27-full-section small{font-size:.72rem}.v27-full-section>.badge{min-height:28px}

/* Guides */
.v27-kicker{margin:0 0 8px;text-align:center}
.v27-domain-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px}
.v27-domain-chips button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--v27-navy);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}
.v27-domain-chips button.active{background:var(--v27-navy);border-color:var(--v27-navy);color:#fff;box-shadow:0 4px 12px rgba(11,59,87,.16)}
.v27-domain-chips .ico{width:17px}
.v27-guide-notice{margin-bottom:9px;font-size:.78rem}.v27-guide-notice p{font-size:.78rem;line-height:1.65}
.v27-guide-list{display:grid;gap:7px}
.v27-guide-part{margin:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-guide-part>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 14px;font-size:.85rem;font-weight:700;color:var(--v27-navy);cursor:pointer}
.v27-guide-part>summary::after{display:none!important}.v27-guide-part>summary>.chev{width:17px;transition:transform .18s ease}.v27-guide-part[open]>summary>.chev{transform:rotate(90deg)}
.v27-guide-part[open]>summary{border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--surface),var(--primary-soft))}
.v27-guide-part .guide-part-body{padding:13px 14px;font-size:.8rem;line-height:1.7}.v27-guide-part .guide-part-body p{font-size:.8rem;line-height:1.75}
.v27-quick-guide-link{width:100%;min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--v27-navy);font:inherit;text-align:start;font-weight:700;cursor:pointer;box-shadow:var(--sh-1)}
.v27-quick-guide-link strong,.v27-quick-guide-link small{display:block}.v27-quick-guide-link small{margin-top:2px;color:var(--ink-2);font-size:.72rem;font-weight:500}.v27-quick-guide-link .avatar{width:34px;height:34px}.v27-quick-guide-link .chev{width:17px}
.v27-verbal-guide-note,.v27-quick-domain-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-verbal-guide-note h3{margin:0 0 6px;color:var(--v27-navy)}.v27-verbal-guide-note p{margin:0;color:var(--ink-2);line-height:1.8}
.v27-quick-domain-card{margin-bottom:10px}.v27-quick-domain-card .guide-list{margin-block:0 12px}.v27-quick-domain-card .guide-list:last-child{margin-bottom:0}
.v27-guide-cta{margin:10px 0 8px}.v27-guide-list+.v27-guide-cta{position:sticky;bottom:calc(var(--tabbar-h) + 5px);z-index:12;box-shadow:0 9px 24px rgba(10,59,87,.22)}

/* Review centre */
.v27-review-tabs{margin-bottom:8px}.v27-review-tabs button{min-width:0}
.v27-filter-chips{display:flex;gap:6px;overflow:auto;padding:1px 0 7px;scrollbar-width:none}.v27-filter-chips::-webkit-scrollbar{display:none}
.v27-filter-chips button{flex:0 0 auto;min-height:34px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer}.v27-filter-chips button.active{background:var(--v27-navy);border-color:var(--v27-navy);color:#fff}
.v27-review-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:11px 14px;margin-bottom:9px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(110deg,var(--surface),var(--primary-soft));box-shadow:var(--sh-1)}
.v27-review-progress .v27-ring{width:70px;height:70px}.v27-review-progress strong{font-size:.95rem}.v27-review-progress p{font-size:.7rem;color:var(--ink-2);margin:2px 0 0}
.v27-review-items{display:grid;gap:7px}
.v27-review-row{width:100%;min-height:68px;padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-align:start;font:inherit;box-shadow:var(--sh-1)}
button.v27-review-row{cursor:pointer}.v27-review-row .avatar{width:39px;height:39px;border-radius:11px}.v27-review-row strong,.v27-review-row small,.v27-review-row em{display:block}.v27-review-row strong{font-size:.76rem}.v27-review-row small{font-size:.62rem;line-height:1.4;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v27-review-row em{font-style:normal;font-size:.56rem;color:var(--ink-3)}.v27-review-row>.ico{width:16px}
.v27-review-start{margin-top:9px}

/* Results */
.v27-results-summary,.v27-detail-score{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-results-summary>div:last-child small,.v27-detail-score>div small{display:block;color:var(--ink-3);font-size:.66rem}.v27-results-summary>div:last-child strong,.v27-detail-score>div strong{display:block;font-size:1rem}.v27-results-summary p,.v27-detail-score p{font-size:.72rem;line-height:1.55;color:var(--ink-2);margin:3px 0}.v27-results-summary time{display:block;color:var(--ink-3);font-size:.62rem}
.v27-result-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px}
.v27-result-module{position:relative;min-width:0;min-height:105px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden;box-shadow:var(--sh-1)}
.v27-result-module::before{content:"";position:absolute;inset:0 0 auto;height:33px;background:linear-gradient(110deg,rgba(70,151,165,.28),transparent)}.v27-result-module.leadership::before{background:linear-gradient(110deg,rgba(174,97,64,.24),transparent)}
.v27-result-module .avatar{position:relative;width:37px;height:37px;border-radius:50%}.v27-result-module strong,.v27-result-module small{display:block}.v27-result-module strong{font-size:.75rem}.v27-result-module small{font-size:.6rem;color:var(--ink-2)}.v27-result-module>b{grid-column:1/-1;font-size:.9rem;justify-self:end}.v27-result-module>.meter{grid-column:1/-1;width:100%;height:5px}
.v27-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px}
.v27-insight{min-width:0;padding:11px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--sh-1)}.v27-insight>div{display:flex;align-items:center;gap:7px}.v27-insight .avatar{width:34px;height:34px;border-radius:50%}.v27-insight strong{font-size:.78rem}.v27-insight ul{margin:7px 0 0;padding-inline-start:17px}.v27-insight li,.v27-insight p{font-size:.63rem;line-height:1.55;color:var(--ink-2);margin:3px 0}.v27-insight li{display:flex;justify-content:space-between;gap:5px}.v27-insight li::marker{color:var(--v27-teal)}
.v27-detail-cta{margin:8px 0}.v27-results-links,.v27-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.v27-report-tabs{margin-bottom:9px}.v27-report-tabs button{min-width:0;padding-inline:5px;font-size:.7rem}
.v27-detail-score .v27-ring{width:96px;height:96px}.v27-integrated-detail{margin-top:10px}.v27-report-actions .btn{font-size:.8rem}

/* Settings */
.v27-settings-card,.v27-settings-group{margin-bottom:10px;padding:11px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-settings-card>header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.v27-settings-card>header .avatar{width:37px;height:37px;border-radius:50%}.v27-settings-card>header strong,.v27-settings-card>header small{display:block}.v27-settings-card>header strong{font-size:.9rem}.v27-settings-card>header small{font-size:.64rem;color:var(--ink-2)}
.v27-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v27-theme-grid button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:.72rem;cursor:pointer}.v27-theme-grid button .ico{width:21px;height:21px}.v27-theme-grid button.active{border-color:var(--v27-teal);background:var(--v27-mint);color:var(--v27-navy);box-shadow:inset 0 0 0 1px var(--v27-teal)}
body.dark .v27-theme-grid button.active{background:var(--accent-soft);color:var(--ink)}
.v27-font-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.v27-font-row>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 7px}.v27-font-row .avatar{grid-row:1/3;width:34px;height:34px;border-radius:50%}.v27-font-row b{font-size:.78rem}.v27-font-row small{font-size:.58rem;color:var(--ink-2)}.v27-font-row>div{display:grid;grid-template-columns:repeat(3,38px);gap:2px;padding:2px;border-radius:9px;background:var(--surface-3)}.v27-font-row>div button{height:32px;border:0;border-radius:7px;background:transparent;color:var(--ink-2);font:inherit;cursor:pointer}.v27-font-row>div button:nth-child(1){font-size:.7rem}.v27-font-row>div button:nth-child(3){font-size:1.05rem}.v27-font-row>div button.active{background:var(--v27-navy);color:#fff}
.v27-settings-group{padding:7px 10px}.v27-settings-group>h3{padding:3px 4px 5px;font-size:.82rem}.v27-setting-row{width:100%;min-height:58px;padding:7px 4px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer}.v27-settings-group>h3+.v27-setting-row{border-top:0}.v27-setting-row .avatar{width:35px;height:35px;border-radius:50%}.v27-setting-row strong,.v27-setting-row small{display:block}.v27-setting-row strong{font-size:.78rem}.v27-setting-row small{font-size:.6rem;color:var(--ink-2)}.v27-setting-row>.ico{width:17px}.v27-settings-group:nth-of-type(3) .v27-setting-row:nth-of-type(n+2) strong{color:#a2332d}
.v27-switch{position:relative;width:46px;height:26px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line);transition:.18s}.v27-switch b{position:absolute;width:20px;height:20px;top:2px;inset-inline-start:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}.v27-switch.on{background:var(--v27-teal);border-color:var(--v27-teal)}.v27-switch.on b{transform:translateX(-19px)}

/* Questions and compact abstract page */
.v27-abstract .abstract-direction-note{display:none!important}.v27-abstract .question-text{margin-bottom:7px}.v27-abstract .abstract-matrix,.v27-abstract .abstract-flow,.v27-abstract .abstract-relation{margin-top:5px;margin-bottom:7px}.v27-abstract .abstract-options{margin-top:5px}
body.session-active .question-card{background:color-mix(in srgb,var(--surface) 97%,transparent)}

/* A selected answer must be unmistakable without revealing correctness in
   exam mode.  Correct/wrong training colours continue to come from app.js. */
body.session-active .option-btn.selected{
  position:relative;border-color:var(--v27-teal)!important;border-width:2.5px;
  background:color-mix(in srgb,var(--v27-mint) 82%,var(--surface))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--v27-teal) 19%,transparent),0 5px 14px rgba(24,125,116,.12)!important;
}
body.session-active .option-btn.selected::after{
  content:"✓";position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--v27-teal);color:#fff;font-weight:800;font-size:.78rem;
}
body.session-active .option-btn.selected>span:nth-child(2){padding-inline-end:30px}
body.session-active .abstract-option.selected{
  position:relative;border-color:var(--v27-teal)!important;border-width:3px;
  background:color-mix(in srgb,var(--v27-mint) 78%,var(--surface))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--v27-teal) 22%,transparent),0 6px 16px rgba(24,125,116,.14)!important;
}
body.session-active .abstract-option.selected::after{
  content:"✓";position:absolute;inset-inline-end:7px;top:7px;width:25px;height:25px;display:grid;place-items:center;
  border-radius:50%;background:var(--v27-teal);color:#fff;font-weight:800;z-index:2;
}
body.session-active .rating-circle.active{outline:4px solid color-mix(in srgb,var(--v27-teal) 24%,transparent);outline-offset:3px}

/* Stable, generously tappable navigation on phones. */
body.session-active .session-nav.question-pagination{
  pointer-events:auto;isolation:isolate;touch-action:manipulation;-webkit-user-select:none;user-select:none;
  box-shadow:0 10px 30px rgba(9,46,67,.18);
}
body.session-active .session-nav .btn{position:relative;z-index:2;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.session-active .session-nav .btn:active:not(:disabled){transform:scale(.97)}

@media(min-width:768px){
  .v27-photo-head{min-height:164px;margin:0 0 18px;border-radius:24px;padding:28px 30px}.v27-photo-copy h2{font-size:1.7rem}.v27-photo-copy p{font-size:.9rem}
  .v27-home-hero{min-height:165px;padding:28px 34px}.v27-home-hero h2{font-size:1.9rem}
  .v27-sim-strip{max-width:760px;margin:0 auto 16px;gap:10px}.v27-sim-step>span{width:45px;height:45px;font-size:.76rem}.v27-sim-step small{font-size:.66rem}
  .v27-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v27-domain-card{min-height:145px}.v27-mini-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.v27-gcat-footer{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v27-review-items{grid-template-columns:repeat(2,minmax(0,1fr))}.v27-result-modules{grid-template-columns:repeat(4,minmax(0,1fr))}.v27-result-module{min-height:138px}
  .v27-settings-card,.v27-settings-group{max-width:760px;margin-inline:auto;margin-bottom:12px}.v27-photo-head+.v27-settings-card{margin-top:0}
  .v27-full-section{min-height:170px}
}
@media(max-width:640px){
  .main{padding-inline:12px}.footer{display:none}
  .module-entry-grid{gap:9px}.module-entry{min-height:116px;padding:10px}.module-entry strong{font-size:.84rem}.module-entry small{font-size:.66rem}
  .simulation-primary{min-height:64px}.before-start-card{min-height:55px}
  .v27-full-grid{gap:11px}.v27-full-section{min-height:158px;padding:13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}.v27-full-section>.badge{align-self:stretch;justify-content:center}.v27-full-section .avatar{width:46px;height:46px}.v27-full-section span:not(.avatar):not(.badge){width:100%}
}
@media(max-width:370px){
  .v27-photo-copy h2{font-size:1.17rem}.v27-photo-copy p{font-size:.7rem}.v27-photo-head{min-height:116px;padding-inline:13px}
  .v27-sim-strip{gap:2px}.v27-sim-step>span{width:31px;height:31px}.v27-sim-step small{font-size:.49rem}
  .v27-mini-tools strong{font-size:.72rem}.v27-mini-tools small{font-size:.56rem}.v27-gcat-footer{grid-template-columns:1fr}.v27-gcat-footer>button{min-height:56px}
  .v27-full-section{min-height:148px}.v27-full-section strong{font-size:.82rem}.v27-full-section small{font-size:.62rem}
  .v27-result-module{min-height:100px}.v27-insight-grid{grid-template-columns:1fr}.v27-results-links,.v27-report-actions{grid-template-columns:1fr}
}

/* v2.7.1 — readability and touch-target refinement ------------------------
   The approved visual language is unchanged. Text, cards and controls are
   enlarged modestly, while the seven simulations use a centred 4 + 3 grid. */
.topbar-title h1{font-size:clamp(.94rem,3.8vw,1.08rem)}
.section h3{font-size:.88rem;letter-spacing:.025em}
.btn{min-height:50px;font-size:.98rem}
.row{min-height:70px;padding:13px 16px}
.row-body strong{font-size:.99rem}.row-body small{font-size:.84rem}

.v27-photo-copy h2{font-size:clamp(1.42rem,4.7vw,1.82rem)}
.v27-photo-copy p{font-size:clamp(.84rem,2.5vw,.95rem)}
.v27-home-hero span{font-size:.75rem}.v27-home-hero h2{font-size:clamp(1.5rem,5vw,1.92rem)}.v27-home-hero p{font-size:.88rem}
.simulation-primary{min-height:76px;padding:12px 15px}.simulation-primary strong{font-size:1.08rem}.simulation-primary small{font-size:.76rem;line-height:1.45}
.before-start-card{min-height:64px;padding:10px 13px}.before-start-card strong{font-size:1rem}.before-start-card small{font-size:.77rem}
.module-entry{min-height:128px;padding:13px}.module-entry>.avatar{width:42px;height:42px}.module-entry>.avatar .ico{width:22px;height:22px}.module-entry strong{font-size:.96rem}.module-entry small{font-size:.75rem}

.v27-progress-card{padding:16px 17px;gap:16px}.v27-progress-copy strong{font-size:1.08rem}.v27-progress-copy p{font-size:.83rem}.v27-ring{width:88px;height:88px}.v27-ring strong{font-size:1.35rem}.v27-ring span{font-size:.71rem}.v27-ring small{font-size:.6rem}

.v27-sim-strip{
  --v27-sim-size:clamp(51px,16.5vw,63px);
  grid-template-columns:repeat(8,calc(var(--v27-sim-size) / 2));grid-auto-flow:row;
  width:max-content;max-width:100%;gap:4px 1px;margin:6px auto 10px;padding:2px 0 4px;
}
.v27-sim-step{grid-column:span 2;min-height:0;padding:0}
.v27-sim-step:nth-child(5){grid-column:2 / span 2}
.v27-sim-step:nth-child(6){grid-column:4 / span 2}
.v27-sim-step:nth-child(7){grid-column:6 / span 2}
.v27-sim-step>span{width:var(--v27-sim-size);height:var(--v27-sim-size);font-size:.78rem}
.v27-sim-step>span .ico{width:22px;height:22px}
.v27-sim-step small{margin-top:2px;min-height:0;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:.62rem;line-height:1.2}

.v27-module-actions .btn{min-height:54px}
.v27-wide-tool{min-height:70px;padding:12px 15px}.v27-wide-tool strong{font-size:.94rem}.v27-wide-tool small{font-size:.76rem}
.v27-domain-card{min-height:clamp(126px,18vw,150px);padding:14px}.v27-domain-card .avatar{width:43px;height:43px}.v27-domain-card strong{font-size:.92rem}.v27-domain-card small{font-size:.72rem;line-height:1.4}
.v27-mini-tools>button{min-height:88px;padding:11px}.v27-mini-tools .avatar{width:40px;height:40px}.v27-mini-tools strong{font-size:.87rem}.v27-mini-tools small{font-size:.67rem}
.v27-gcat-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
.v27-full-section{min-height:clamp(160px,20vw,178px)}.v27-full-section strong{font-size:1rem}.v27-full-section small{font-size:.77rem}

.v27-domain-chips button{min-height:46px;font-size:.82rem}
.v27-guide-notice,.v27-guide-notice p{font-size:.86rem}
.v27-guide-part>summary{padding:14px 15px;font-size:.94rem}
.v27-guide-part .guide-part-body,.v27-guide-part .guide-part-body p{font-size:.88rem;line-height:1.8}
.v27-quick-guide-link{min-height:60px;font-size:.94rem}

.v27-review-row{min-height:76px;padding:10px 11px}.v27-review-row .avatar{width:42px;height:42px}.v27-review-row strong{font-size:.84rem}.v27-review-row small{font-size:.69rem}.v27-review-row em{font-size:.62rem}
.v27-results-summary>div:last-child small,.v27-detail-score>div small{font-size:.72rem}.v27-results-summary>div:last-child strong,.v27-detail-score>div strong{font-size:1.08rem}.v27-results-summary p,.v27-detail-score p{font-size:.8rem}
.v27-result-module{min-height:116px;padding:12px}.v27-result-module .avatar{width:41px;height:41px}.v27-result-module strong{font-size:.83rem}.v27-result-module small{font-size:.68rem}
.v27-insight{padding:13px}.v27-insight strong{font-size:.86rem}.v27-insight li,.v27-insight p{font-size:.71rem}
.v27-report-tabs button{font-size:.77rem}

.v27-settings-card>header strong{font-size:.98rem}.v27-settings-card>header small{font-size:.72rem}
.v27-theme-grid button{min-height:70px;font-size:.8rem}
.v27-font-row b{font-size:.86rem}.v27-font-row small{font-size:.66rem}
.v27-settings-group>h3{font-size:.9rem}.v27-setting-row{min-height:66px}.v27-setting-row .avatar{width:39px;height:39px}.v27-setting-row strong{font-size:.87rem}.v27-setting-row small{font-size:.68rem}

body.session-active .question-card{padding:16px}
body.session-active .question-text{font-size:1.1rem;line-height:1.7}
body.session-active .option-btn{min-height:52px;padding:9px 11px;font-size:.99rem}
body.session-active .abstract-option{min-height:82px}
body.session-active .abstract-option svg{max-width:84px;max-height:84px}
body.session-active .session-nav .btn{min-height:50px;font-size:.9rem}

@media(max-width:370px){
  .v27-sim-strip{gap:4px 1px;padding-inline:0}
  .v27-sim-step small{font-size:.58rem}
  .module-entry{min-height:122px;padding:11px}.module-entry strong{font-size:.9rem}.module-entry small{font-size:.7rem}
}

@media print{.topbar,.tabbar,.rail,.v27-report-actions,.v27-results-links,.v27-guide-cta{display:none!important}.main{max-width:none;padding:0}.v27-photo-head{min-height:90px;background:#eef3f4!important}.v27-photo-head::before{display:none}.report-module-detail{break-inside:avoid}}

/* v2.7.15 — newly added GCAT source banks ------------------------------- */
.v27-new-files-alert{
  position:absolute;z-index:3;inset-block-start:8px;inset-inline-start:8px;
  display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 58px);
  min-height:25px;padding:3px 9px;border-radius:999px;background:linear-gradient(115deg,#ff6b57,#f7953e);
  color:#fff;font-style:normal;font-size:clamp(.52rem,2vw,.64rem);font-weight:800;line-height:1.2;
  box-shadow:0 5px 14px rgba(208,73,48,.27);white-space:nowrap;
}
.v27-new-bank-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 10px}
.v27-new-bank-card{
  position:relative;min-width:0;min-height:108px;padding:35px 12px 12px;display:grid;
  grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;gap:6px 9px;
  border:1px solid transparent;border-radius:17px;color:#fff;font:inherit;text-align:start;cursor:pointer;
  overflow:hidden;box-shadow:0 8px 22px rgba(16,58,79,.15);transition:transform .16s ease,box-shadow .16s ease;
}
.v27-new-bank-card:hover{transform:translateY(-1px);box-shadow:0 11px 26px rgba(16,58,79,.2)}
.v27-new-bank-card.numerical{background:linear-gradient(125deg,#f45f63 0%,#ff8b55 55%,#f7bd55 100%);border-color:#e87150}
.v27-new-bank-card.verbal{background:linear-gradient(125deg,#11a6a5 0%,#2683b8 53%,#554da1 100%);border-color:#258ba6}
.v27-new-bank-card>.avatar{position:relative;z-index:1;width:39px;height:39px;grid-column:1;background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.34)}
.v27-new-bank-card>span:not(.avatar):not(.v27-new-pill){grid-column:1/-1;align-self:end;min-width:0}
.v27-new-bank-card strong,.v27-new-bank-card small{display:block;color:#fff;text-shadow:0 1px 2px rgba(20,36,50,.16)}
.v27-new-bank-card strong{font-size:clamp(.84rem,3.7vw,1rem);line-height:1.45}.v27-new-bank-card small{margin-top:2px;font-size:.68rem;opacity:.94}
.v27-new-bank-card>.chev{position:absolute;inset-inline-end:10px;bottom:10px;width:17px;height:17px;color:#fff}
.v27-new-pill{position:absolute;inset-block-start:9px;inset-inline-start:10px;min-width:45px;padding:3px 9px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(96,28,32,.32);color:#fff;font-size:.62rem;font-weight:800;text-align:center;backdrop-filter:blur(5px)}
.v27-new-bank-card.verbal .v27-new-pill{background:rgba(20,47,102,.38)}

/* Dedicated bank landing pages and untimed player. */
.nb-loading{min-height:42dvh;display:grid;place-items:center;align-content:center;gap:13px;color:var(--ink-2)}
.nb-loading>span{width:38px;height:38px;border:4px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:nb-spin .85s linear infinite}
@keyframes nb-spin{to{transform:rotate(360deg)}}
.nb-hero,.nb-result-hero{position:relative;overflow:hidden;border-radius:22px;color:#fff;box-shadow:var(--sh-2)}
.nb-hero::after,.nb-result-hero::after{content:"";position:absolute;width:180px;height:180px;inset-inline-end:-70px;inset-block-start:-95px;border-radius:50%;background:rgba(255,255,255,.15)}
.nb-hero.numeric,.nb-result-hero.numeric{background:linear-gradient(120deg,#e9565e,#f4884f 58%,#e9af47)}
.nb-hero.verbal,.nb-result-hero.verbal{background:linear-gradient(120deg,#129f9e,#277fb0 55%,#4e4b99)}
.nb-hero{min-height:142px;padding:22px;display:flex;align-items:center;gap:15px;margin-bottom:12px}
.nb-hero>.avatar{position:relative;z-index:1;width:58px;height:58px;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.34)}
.nb-hero>div{position:relative;z-index:1}.nb-hero span{display:inline-block;margin-bottom:3px;font-size:.7rem;font-weight:800;letter-spacing:.04em}.nb-hero h2{margin:0;font-size:clamp(1.35rem,5vw,1.8rem)}.nb-hero p{margin:3px 0 0;font-size:.86rem;opacity:.92}
.nb-bank-meta,.nb-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.nb-bank-meta>div,.nb-result-stats>div{min-width:0;padding:12px 7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-1);text-align:center}
.nb-bank-meta strong,.nb-bank-meta span,.nb-result-stats strong,.nb-result-stats span{display:block}.nb-bank-meta strong,.nb-result-stats strong{color:var(--v27-navy);font-size:1rem}.nb-bank-meta span,.nb-result-stats span{margin-top:2px;color:var(--ink-2);font-size:.64rem}
body.dark .nb-bank-meta strong,body.dark .nb-result-stats strong{color:var(--ink)}
.nb-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.nb-mode-card{position:relative;min-width:0;min-height:174px;padding:13px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;box-shadow:var(--sh-1);cursor:pointer;overflow:hidden}
.nb-mode-card::before{content:"";position:absolute;inset:0 0 auto;height:51px}.nb-mode-card.training::before{background:linear-gradient(105deg,rgba(37,156,142,.3),rgba(37,156,142,.04))}.nb-mode-card.test::before{background:linear-gradient(105deg,rgba(226,145,59,.3),rgba(226,145,59,.04))}
.nb-mode-card>.avatar{position:relative;width:44px;height:44px;align-self:flex-end}.nb-mode-card>span:not(.avatar){margin-top:auto}.nb-mode-card em{display:inline-block;margin-bottom:4px;padding:2px 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-size:.58rem;font-style:normal}.nb-mode-card strong,.nb-mode-card small{display:block}.nb-mode-card strong{font-size:1rem}.nb-mode-card small{margin-top:4px;color:var(--ink-2);font-size:.69rem;line-height:1.55}.nb-mode-card>.chev{position:absolute;inset-inline-end:10px;bottom:10px;width:17px}
.nb-insight-card,.nb-analysis{padding:15px;border:1px solid color-mix(in srgb,var(--v27-teal) 32%,var(--line));border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--v27-mint) 68%,var(--surface)),var(--surface));box-shadow:var(--sh-1);margin-bottom:11px}
.nb-insight-card>header,.nb-analysis>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.nb-insight-card h3,.nb-analysis h3{margin:1px 0;font-size:1rem}.nb-insight-card header small,.nb-analysis header small{color:var(--ink-2);font-size:.65rem}.nb-insight-card header>strong{font-size:1.35rem;color:var(--v27-teal)}.nb-insight-card header>.ico{width:30px;color:var(--v27-teal)}.nb-insight-card p{margin:10px 0 4px;font-size:.8rem;line-height:1.7}.nb-insight-card>small{color:var(--ink-2);font-size:.65rem}
.nb-note{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink-2)}.nb-note>.ico{flex:0 0 auto;width:18px;color:var(--info)}.nb-note p{margin:0;font-size:.69rem;line-height:1.65}
.nb-page-intro{margin-bottom:10px}.nb-mock-list{display:grid;gap:9px;margin-bottom:11px}
.nb-mock-card{width:100%;min-height:82px;padding:11px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;box-shadow:var(--sh-1);cursor:pointer}.nb-mock-card.active{border-color:#e1a04b;background:color-mix(in srgb,#fff4da 60%,var(--surface))}.nb-mock-card.done{border-color:color-mix(in srgb,var(--v27-teal) 42%,var(--line))}.nb-mock-number{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:var(--surface-3);color:var(--v27-navy);font-weight:800;direction:ltr}.nb-mock-card.active .nb-mock-number{background:#f5c979}.nb-mock-card.done .nb-mock-number{background:var(--v27-mint);color:var(--v27-teal)}.nb-mock-card strong,.nb-mock-card small,.nb-mock-card em{display:block}.nb-mock-card strong{font-size:.91rem}.nb-mock-card small{margin-top:2px;color:var(--ink-2);font-size:.69rem}.nb-mock-card em{margin-top:3px;color:var(--v27-teal);font-size:.62rem;font-style:normal}.nb-mock-card>.chev{width:18px}

.nb-session-wrap{max-width:900px;margin-inline:auto}.nb-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.nb-session-head>div{display:flex;align-items:center;gap:8px}.nb-session-head>div>strong{font-size:.75rem;direction:ltr}.nb-session-head>small{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:.64rem}
.nb-table-card,.nb-passage-card,.nb-question-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh-1)}
.nb-table-card,.nb-passage-card{margin:10px 0;padding:13px}.nb-table-card>h3{margin:0 0 10px;font-size:.92rem;line-height:1.55}.nb-table-card>p{margin:9px 1px 0;color:var(--ink-2);font-size:.65rem;line-height:1.6}
.nb-table-scroll{max-width:100%;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:12px;-webkit-overflow-scrolling:touch}.nb-table-scroll:focus{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}.nb-table-group{display:block;position:sticky;inset-inline-start:0;padding:7px 10px;background:var(--surface-3);color:var(--v27-navy);font-size:.72rem}
.nb-data-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.7rem;direction:rtl}.nb-data-table th,.nb-data-table td{padding:8px 9px;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line);text-align:center;white-space:nowrap}.nb-data-table thead th{position:sticky;top:0;background:var(--v27-navy);color:#fff;font-weight:700}.nb-data-table tbody th{position:sticky;inset-inline-start:0;background:var(--surface-2);color:var(--ink);text-align:start}.nb-data-table tbody tr:last-child>*{border-bottom:0}
.nb-passage-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line)}.nb-passage-card>header span{font-size:.75rem;font-weight:700;color:var(--v27-teal)}.nb-passage-card>header small{font-size:.61rem;color:var(--ink-2);direction:ltr}.nb-passage-card>p{margin:11px 0 1px;font-size:.9rem;line-height:1.95;text-align:justify}
.nb-question-card{padding:15px;margin-bottom:10px}.nb-question-tags{display:flex;flex-wrap:wrap;gap:6px}.nb-question-tags span{padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-size:.61rem}.nb-question-card>h2{margin:12px 0 14px;font-size:1.04rem;line-height:1.75}.nb-options{display:grid;gap:8px}.nb-option{min-height:53px;padding:9px 11px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer}.nb-option>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface-3);color:var(--ink-2);font-size:.7rem;font-weight:800;direction:ltr}.nb-option>strong{font-size:.84rem;line-height:1.5}.nb-option.selected{border:2px solid var(--v27-teal);background:color-mix(in srgb,var(--v27-mint) 74%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--v27-teal) 14%,transparent)}.nb-option.correct{border-color:#389463;background:#edf8f0}.nb-option.wrong{border-color:#cf5b57;background:#fff0ef}.nb-option:disabled{opacity:1;cursor:default}
.nb-feedback{margin-top:14px;padding:13px;border:1px solid;border-radius:14px}.nb-feedback.good{border-color:#91c9a5;background:#eef9f1}.nb-feedback.bad{border-color:#e0aaa5;background:#fff2f1}.nb-verdict{font-size:.9rem;font-weight:800}.nb-feedback.good .nb-verdict{color:#247244}.nb-feedback.bad .nb-verdict{color:#a84440}.nb-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.nb-answer-compare>div{padding:9px;border:1px solid rgba(56,86,100,.16);border-radius:10px;background:rgba(255,255,255,.6)}.nb-answer-compare span,.nb-answer-compare strong{display:block}.nb-answer-compare span{font-size:.58rem;color:#596772}.nb-answer-compare strong{margin-top:2px;font-size:.74rem}.nb-teach{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.62)}.nb-teach span,.nb-teach strong{display:block}.nb-teach span{font-size:.59rem;color:#596772}.nb-teach strong{margin-top:2px;font-size:.76rem}.nb-feedback p,.nb-feedback li{font-size:.73rem;line-height:1.7}.nb-feedback ol{padding-inline-start:20px}.nb-distractor{padding:9px;border-radius:9px;background:#fff3dc}.nb-remember{padding:9px;border-radius:9px;background:#e7f2f7}
.nb-question-nav{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:14px}.nb-question-nav .btn{margin:0}

.nb-result-hero{min-height:148px;padding:19px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:11px}.nb-result-hero>div{position:relative;z-index:1}.nb-result-hero>div>span{font-size:.67rem;font-weight:800}.nb-result-hero h2{margin:3px 0;font-size:1.25rem}.nb-result-hero p{margin:0;font-size:.64rem;opacity:.88}.nb-result-hero>strong{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;border:7px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.14);font-size:1.45rem;direction:ltr}
.nb-analysis>header>span{padding:4px 8px;border-radius:999px;background:var(--surface);font-size:.6rem;color:var(--ink-2)}.nb-weak-list{display:grid;gap:8px;margin-top:11px}.nb-weak-list article{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.nb-weak-list article>div{display:flex;justify-content:space-between;gap:9px}.nb-weak-list article>div>strong{font-size:.76rem}.nb-weak-list article>div>span{color:#ac423e;font-size:.74rem;font-weight:800}.nb-weak-list p{margin:5px 0;font-size:.66rem}.nb-weak-list small{display:block;color:var(--ink-2);font-size:.64rem;line-height:1.6}.nb-cumulative{margin:11px 0 0;padding:9px;border-radius:10px;background:var(--surface);font-size:.7rem;line-height:1.6}
.nb-breakdown,.nb-review-list{margin:9px 0;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.nb-breakdown>summary,.nb-review-list>summary{list-style:none;min-height:56px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:.82rem;font-weight:800;cursor:pointer}.nb-breakdown>summary::-webkit-details-marker,.nb-review-list>summary::-webkit-details-marker{display:none}.nb-breakdown>summary>.ico,.nb-review-list>summary>.ico{width:18px;transition:transform .18s}.nb-breakdown[open]>summary>.ico,.nb-review-list[open]>summary>.ico{transform:rotate(90deg)}.nb-breakdown>div,.nb-review-list>div{padding:0 11px 11px}.nb-breakdown article{padding:9px 2px;border-top:1px solid var(--line)}.nb-breakdown article>header{display:flex;justify-content:space-between;gap:9px}.nb-breakdown article>header strong{font-size:.7rem}.nb-breakdown article>header span{font-size:.68rem;font-weight:800}.nb-breakdown article>small{font-size:.59rem;color:var(--ink-2)}.nb-meter{height:7px;margin:6px 0;border-radius:999px;background:var(--surface-3);overflow:hidden}.nb-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ed8d52,var(--v27-teal))}
.nb-result-actions{display:grid;gap:8px;margin:11px 0}.nb-result-actions .btn{margin:0}.nb-review-row{padding:11px 2px;border-top:1px solid var(--line)}.nb-review-row>header{display:flex;justify-content:space-between;gap:8px}.nb-review-row>header span{font-size:.62rem;color:var(--ink-2)}.nb-review-row>header strong{font-size:.68rem}.nb-review-row.good>header strong{color:#287145}.nb-review-row.bad>header strong{color:#a84440}.nb-review-row>p{margin:7px 0;font-size:.76rem;line-height:1.6}.nb-review-row>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.nb-review-row>div span{padding:7px;border-radius:8px;background:var(--surface-3);font-size:.62rem}.nb-review-row>small{display:block;margin-top:7px;color:var(--ink-2);font-size:.62rem;line-height:1.6}

body.dark .v27-new-bank-card,body.dark .nb-hero,body.dark .nb-result-hero{color:#fff}.dark .nb-feedback.good{background:#153227}.dark .nb-feedback.bad{background:#3b2020}.dark .nb-answer-compare>div,.dark .nb-teach{background:rgba(0,0,0,.16)}.dark .nb-option.correct{background:#173729}.dark .nb-option.wrong{background:#3b2020}.dark .nb-distractor{background:#3d301a}.dark .nb-remember{background:#18313d}.dark .nb-mock-card.active{background:#3b301d}

@media(min-width:768px){
  .v27-new-bank-row{gap:12px}.v27-new-bank-card{min-height:128px;padding:42px 16px 15px}.v27-new-bank-card strong{font-size:1.1rem}.v27-new-bank-card small{font-size:.78rem}
  .nb-mode-grid{gap:13px}.nb-mode-card{min-height:186px;padding:17px}.nb-mock-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nb-result-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.nb-table-card,.nb-passage-card,.nb-question-card{padding:18px}.nb-passage-card>p{font-size:1rem}.nb-question-card>h2{font-size:1.15rem}
}
@media(max-width:370px){
  .v27-new-files-alert{padding-inline:7px;font-size:.48rem}.v27-new-bank-row{gap:6px}.v27-new-bank-card{min-height:102px;padding:32px 8px 9px}.v27-new-bank-card>.avatar{width:34px;height:34px}.v27-new-bank-card strong{font-size:.77rem}.v27-new-bank-card small{font-size:.59rem}.v27-new-pill{inset-inline-start:7px;padding-inline:7px;font-size:.55rem}
  .nb-mode-grid{gap:7px}.nb-mode-card{min-height:166px;padding:10px}.nb-mode-card strong{font-size:.88rem}.nb-mode-card small{font-size:.62rem}.nb-bank-meta>div,.nb-result-stats>div{padding-inline:4px}.nb-bank-meta strong{font-size:.83rem}.nb-result-hero>strong{flex-basis:74px;width:74px;height:74px;font-size:1.18rem}.nb-answer-compare,.nb-review-row>div{grid-template-columns:1fr}
}
@media print{.nb-question-nav,.nb-result-actions{display:none!important}.nb-breakdown,.nb-review-list{break-inside:avoid}.nb-table-scroll{overflow:visible}.nb-data-table{min-width:0;font-size:9px}}

/* v2.7.6 — surgical layout, install guide and guide export ---------------- */
.v27-sim-strip{--v27-sim-size:clamp(44px,12.4vw,48px);gap:2px 0;margin:3px auto 5px;padding:1px 0 2px}
.v27-sim-step>span{width:var(--v27-sim-size);height:var(--v27-sim-size);font-size:.72rem}
.v27-sim-step>span .ico{width:19px;height:19px}.v27-sim-step small{font-size:.59rem;margin-top:1px}

.v27-gcat-simulations{margin:0 0 9px;padding:8px 10px 5px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--sh-1)}
.v27-gcat-simulations>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:1px}
.v27-gcat-simulations h3{margin:0;font-size:1rem;color:var(--v27-navy)}.v27-gcat-simulations p{margin:1px 0 0;font-size:.68rem;color:var(--ink-2)}
.v27-gcat-simulations>header>strong{display:grid;place-items:center;min-width:44px;height:28px;padding:0 8px;border-radius:999px;background:var(--primary-soft);color:var(--v27-navy);font-size:.73rem}
body.dark .v27-gcat-simulations h3,body.dark .v27-gcat-simulations>header>strong{color:var(--ink)}

.v27-reasoning-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 10px}
.v27-reasoning-row .v27-domain-card{min-width:0;min-height:120px;padding:10px 8px;align-items:stretch}
.v27-reasoning-row .v27-domain-card .avatar{align-self:flex-end;width:38px;height:38px}
.v27-reasoning-row .v27-domain-card strong{font-size:clamp(.72rem,2.8vw,.9rem);line-height:1.45;overflow-wrap:anywhere}
.v27-reasoning-row .v27-domain-card small{font-size:.64rem;white-space:nowrap}.v27-reasoning-row .v27-domain-card>.chev{inset-inline-end:7px;bottom:8px}

.v27-generator-list{display:grid;gap:8px;margin:0 0 10px}
.v27-generator-card{position:relative;width:100%;min-height:80px;padding:11px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:16px;color:var(--ink);font:inherit;text-align:start;cursor:pointer;overflow:hidden;box-shadow:var(--sh-1)}
.v27-generator-card.numerical{background:linear-gradient(105deg,color-mix(in srgb,var(--v27-sand) 88%,var(--surface)),var(--surface) 72%);border-color:color-mix(in srgb,#b58a4d 35%,var(--line))}
.v27-generator-card.abstract{background:linear-gradient(105deg,color-mix(in srgb,var(--v27-mint) 90%,var(--surface)),var(--surface) 72%);border-color:color-mix(in srgb,var(--v27-teal) 38%,var(--line))}
.v27-generator-card .avatar{width:44px;height:44px;border-radius:13px}.v27-generator-card strong,.v27-generator-card small{display:block}.v27-generator-card strong{font-size:.94rem}.v27-generator-card small{font-size:.72rem;color:var(--ink-2);margin-top:2px}.v27-generator-card>.chev{width:18px}
body.dark .v27-generator-card.numerical,body.dark .v27-generator-card.abstract{background:var(--surface)}

.v27-guide-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.v27-guide-actions .btn{font-size:.8rem;padding-inline:8px}.v27-all-guides-export{margin-top:10px}
.install-steps{padding-inline-start:20px}.install-steps li{margin-bottom:16px}.install-steps img,.onboarding-install img{display:block;width:100%;height:auto;object-fit:contain;margin:8px auto 0;border:1px solid var(--line);border-radius:12px;background:#fff}
.install-steps img{max-height:360px}.onboarding-install{margin:12px 0;text-align:start}.onboarding-install .install-steps{max-height:42dvh;overflow:auto;padding-inline-end:4px}.onboarding-install .install-steps img{max-height:210px}

@media(min-width:768px){
  .v27-sim-strip{--v27-sim-size:48px;max-width:none;margin-bottom:7px;gap:4px 3px}
  .v27-reasoning-row{gap:10px}.v27-reasoning-row .v27-domain-card{min-height:138px;padding:14px}.v27-reasoning-row .v27-domain-card strong{font-size:1rem}.v27-reasoning-row .v27-domain-card small{font-size:.74rem}
  .v27-generator-card{min-height:94px}
}
@media(max-width:370px){
  .v27-reasoning-row{gap:5px}.v27-reasoning-row .v27-domain-card{min-height:112px;padding:8px 6px}.v27-reasoning-row .v27-domain-card .avatar{width:34px;height:34px}.v27-reasoning-row .v27-domain-card strong{font-size:.67rem}.v27-reasoning-row .v27-domain-card small{font-size:.56rem}
  .v27-guide-actions{grid-template-columns:1fr}
}

/* v2.7.7 — surgical layout pass ------------------------------------------
   Scope: the seven simulation circles, the GCAT page after its two section
   headings and two instruction lines were removed, and the header font-size
   control. No colour, icon, component or navigation change.
   -------------------------------------------------------------------------- */

/* 1. The font-size control is part of the persistent header on every screen.
      The theme button stays where v2.7 put it, inside the settings page. */
.topbar-end>#fontBtn{display:inline-grid!important;width:42px;height:42px;min-width:42px;font-weight:700;font-size:.95rem;color:var(--v27-navy)}
/* The header now carries one more control, so the long page title is given a
   size that still fits beside it on a phone instead of being truncated. */
.topbar{gap:4px}
.topbar-title h1{font-size:clamp(.7rem,3.3vw,.9rem)}
body.dark .topbar-end>#fontBtn{color:var(--ink)}
.topbar-end>#fontBtn[aria-expanded="true"]{background:var(--primary-soft)}
.v27-font-menu{
  position:fixed;z-index:60;min-width:186px;padding:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-2);
}
.v27-font-menu>p{margin:2px 6px 6px;font-size:.78rem;font-weight:700;color:var(--ink-2)}
.v27-font-menu button{
  display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:6px 10px;
  border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);
  font:inherit;font-weight:600;text-align:start;cursor:pointer;
}
.v27-font-menu button:hover{background:var(--surface-3)}
.v27-font-menu button.on{background:var(--primary-soft);border-color:var(--primary);color:var(--v27-navy)}
body.dark .v27-font-menu button.on{color:var(--ink)}
.v27-font-menu i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-3);font-style:normal;line-height:1}
.v27-font-menu .fs-small{font-size:.8rem}.v27-font-menu .fs-medium{font-size:1rem}.v27-font-menu .fs-large{font-size:1.25rem}

/* 2. Seven simulations: same footprint, larger targets.  The circles grow into
      the space the removed instruction line and the trimmed gaps release, so
      the section is no taller than it was in v2.7.6.  The 4 + 3 grid, the
      centred second row and every state class are untouched. */
.v27-sim-strip{--v27-sim-size:clamp(52px,15.2vw,58px);--v27-sim-gap:8px;gap:0 var(--v27-sim-gap);margin:0 auto 2px;padding:0}
.v27-sim-step>span{font-size:.8rem;border-width:2px}
.v27-sim-step>span .ico{width:23px;height:23px}
.v27-sim-step small{font-size:.6rem;margin-top:1px}
.v27-gcat-simulations{padding:8px 10px 3px}
.v27-gcat-simulations>header{margin-bottom:2px}

/* 3. The GCAT page spends the space the two headings and two notes released on
      the cards themselves. */
.v27-reasoning-row{gap:8px;margin:0 0 11px}
.v27-reasoning-row .v27-domain-card{min-height:142px;padding:12px 9px}
.v27-reasoning-row .v27-domain-card .avatar{width:40px;height:40px}
.v27-reasoning-row .v27-domain-card strong{
  font-size:clamp(.95rem,4.3vw,1.16rem);line-height:1.5;
  overflow-wrap:break-word;word-break:normal;hyphens:none;
}
.v27-reasoning-row .v27-domain-card small{font-size:.7rem;padding-inline-end:20px}
.v27-reasoning-row .v27-domain-card>.chev{bottom:9px}
.v27-generator-list{gap:9px;margin:0 0 10px}
.v27-generator-card{min-height:92px;padding:13px 15px}
.v27-generator-card .avatar{width:48px;height:48px}
.v27-generator-card strong{font-size:1.02rem}
.v27-generator-card small{font-size:.76rem}
.v27-gcat-footer{margin-top:2px}

@media(min-width:768px){
  .v27-sim-strip{--v27-sim-size:60px;--v27-sim-gap:10px;gap:0 var(--v27-sim-gap);margin-bottom:6px}
  .v27-reasoning-row{gap:12px}
  .v27-reasoning-row .v27-domain-card{min-height:150px;padding:16px}
  .v27-reasoning-row .v27-domain-card strong{font-size:1.2rem}
  .v27-reasoning-row .v27-domain-card small{font-size:.78rem}
  .v27-generator-card{min-height:100px}
}
@media(max-width:370px){
  .v27-sim-strip{--v27-sim-size:clamp(46px,14.6vw,52px);--v27-sim-gap:6px}
  .v27-sim-step small{font-size:.56rem}
  .v27-reasoning-row{gap:6px}
  .v27-reasoning-row .v27-domain-card{min-height:126px;padding:9px 7px}
  .v27-reasoning-row .v27-domain-card .avatar{width:34px;height:34px}
  .v27-reasoning-row .v27-domain-card strong{font-size:clamp(.8rem,4.4vw,.98rem)}
  .v27-reasoning-row .v27-domain-card small{font-size:.62rem;padding-inline-end:17px}
}

/* 4. The question-type chooser in the numerical generator setup page. */
.numgen-types{display:block}
.numgen-select{
  width:100%;min-height:52px;padding:0 14px 0 40px;
  background:var(--surface) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b3b57' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat left 13px center/18px 18px;
  border:1px solid var(--line);border-radius:var(--r-md);
  color:var(--ink);font:inherit;font-size:.95rem;font-weight:600;
  -webkit-appearance:none;appearance:none;cursor:pointer;
}
.numgen-select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
body.dark .numgen-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eef2f7' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.numgen-note{margin-top:10px;font-size:.78rem;color:var(--ink-2)}

/* v2.7.10 — answer reports ------------------------------------------------
   The designed report surface. Tokens, fonts and the photographic banner are
   the app's own; nothing here changes any existing screen. */
.rep{padding-bottom:6px}
.rep-hero{position:relative;min-height:172px;margin:-12px -12px 11px;padding:18px 16px 0;border-radius:0 0 22px 22px;overflow:hidden;
  background:linear-gradient(200deg,rgba(255,253,248,.30),rgba(255,253,248,.86) 62%,rgba(255,253,248,.99)),var(--v27-photo) 50% 60%/cover no-repeat;border-bottom:1px solid var(--line)}
body.dark .rep-hero{background:linear-gradient(200deg,rgba(13,24,32,.35),rgba(13,24,32,.86) 62%,rgba(13,24,32,.97)),var(--v27-photo) 50% 60%/cover no-repeat}
.rep-hero h2{margin:2px 0 0;margin-inline-start:100px;font-size:clamp(1.2rem,5.1vw,1.5rem);line-height:1.25;color:var(--v27-navy)}
.rep-hero p{margin:5px 0 0;margin-inline-start:100px;font-size:.76rem;color:var(--ink-2)}
body.dark .rep-hero h2{color:var(--ink)}
.rep-motto{position:absolute;top:18px;inset-inline-start:16px;max-width:76px;font-size:.58rem;font-weight:700;color:#bb914f;line-height:1.5}
.rep-motto b{display:block;color:var(--v27-navy)}
body.dark .rep-motto b{color:var(--ink)}
.rep-rule{display:block;width:44px;height:2px;margin-top:7px;border-radius:2px;background:#bb914f}
.rep-conf{position:absolute;bottom:13px;inset-inline-start:16px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.72rem;font-weight:700}
.rep-conf .ico{width:14px;height:14px}
.rep-conf.hi{background:rgba(233,244,241,.95);color:#256b5f;border:1px solid #bfdfd7}
.rep-conf.mid{background:rgba(250,243,228,.95);color:#8a6412;border:1px solid #e8d6ab}
.rep-conf.low{background:rgba(250,233,230,.95);color:#9c3f34;border:1px solid #edc4bd}
.rep .card{padding:14px;border-radius:18px;margin-bottom:10px}
.rep-h{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.rep-h .avatar{width:30px;height:30px;border-radius:9px;flex:0 0 auto}
.rep-h .avatar .ico{width:17px;height:17px}
.rep-h h3{margin:0;font-size:1rem;color:var(--v27-navy)}
body.dark .rep-h h3{color:var(--ink)}
.rep-h p{margin:2px 0 0;font-size:.68rem;color:var(--ink-2);line-height:1.5}
.rep-meta{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.rep-meta>div{padding:0 4px;border-inline-start:1px solid var(--line)}
.rep-meta>div:first-child{border:0}
.rep-meta i{display:block;color:#bb914f;margin:0 auto 3px}
.rep-meta i .ico{width:16px;height:16px}
.rep-meta small{display:block;font-size:.58rem;color:var(--ink-3)}
.rep-meta b{display:block;font-size:.74rem;color:var(--v27-navy);margin-top:2px}
body.dark .rep-meta b{color:var(--ink)}
.rep-rings{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.rep-rings>div{padding:2px 1px;border-inline-start:1px solid var(--line)}
.rep-rings>div:first-child{border:0}
.rep-ring{width:60px;height:60px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--surface-3) 0)}
.rep-ring b{width:46px;height:46px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:.74rem;color:var(--v27-navy);font-variant-numeric:tabular-nums}
body.dark .rep-ring b{color:var(--ink)}
.rep-ring.big{width:104px;height:104px;margin:0;flex:0 0 auto}
.rep-ring.big b{width:82px;height:82px;font-size:1.45rem;line-height:1.1}
.rep-ring.big b span{display:block;font-size:.5rem;color:var(--ink-2);font-weight:400;margin-top:2px}
.rep-rings small{display:block;font-size:.62rem;font-weight:700;line-height:1.3}
.rep-rings em{display:block;font-style:normal;font-size:.56rem;color:var(--ink-3);margin-top:2px}
.rep-total{display:flex;align-items:center;gap:13px}
.rep-total b{font-size:.82rem;color:var(--v27-navy)}
body.dark .rep-total b{color:var(--ink)}
.rep-total p{margin:5px 0 0;font-size:.65rem;color:var(--ink-2);line-height:1.6}
.rep-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid var(--line)}
.rep-row:first-of-type{border-top:0}
.rep-row.flag{background:color-mix(in srgb,var(--warn-soft) 45%,transparent);border-radius:10px;padding-inline:8px}
.rep-nm{flex:1 1 auto;min-width:0;font-size:.79rem;font-weight:700;line-height:1.35}
.rep-nm small{display:block;font-weight:400;font-size:.59rem;color:var(--ink-3);margin-top:2px}
.rep-chip{flex:0 0 auto;min-width:56px;text-align:center;font-size:.62rem;font-weight:700;padding:4px 8px;border-radius:8px}
.rep-chip.g{background:var(--good-soft);color:var(--good)}
.rep-chip.w{background:var(--warn-soft);color:var(--warn)}
.rep-chip.b{background:var(--bad-soft);color:var(--bad)}
.rep-chip.n{background:var(--surface-3);color:var(--ink-2)}
.rep-bar{position:relative;flex:0 0 auto;width:104px;height:9px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.rep-bar span{position:absolute;inset-inline-start:0;top:0;bottom:0;border-radius:999px;background:var(--v27-navy-2)}
.rep-bar.g span{background:var(--good)}.rep-bar.w span{background:var(--warn)}.rep-bar.b span{background:var(--bad)}.rep-bar.t span{background:var(--v27-teal)}
.rep-val{flex:0 0 auto;width:40px;text-align:center;font-size:.79rem;font-weight:700;color:var(--v27-navy);font-variant-numeric:tabular-nums}
body.dark .rep-val{color:var(--ink)}
.rep-scale{position:relative;flex:0 0 auto;width:140px;height:14px}
.rep-scale i{font-style:normal}
.rep-scale .bg{position:absolute;inset:2px 0;border-radius:999px;background:var(--surface-3)}
.rep-scale .fl{position:absolute;top:2px;bottom:2px;inset-inline-start:0;border-radius:999px;background:var(--c)}
.rep-scale .dot{position:absolute;top:-2px;width:18px;height:18px;border-radius:50%;background:var(--c);color:#fff;font-size:.57rem;display:grid;place-items:center;font-weight:700;box-shadow:0 0 0 2px var(--surface)}
.rep-axis{display:flex;justify-content:space-between;width:140px;margin-inline-start:auto;font-size:.5rem;color:var(--ink-3);margin-bottom:2px}
.rep-sep{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:.68rem;font-weight:700;color:var(--ink-2)}
.rep-rank{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--v27-teal);color:#fff;font-size:.65rem;font-weight:700}
.rep-note{margin-top:10px;padding:9px 11px;border-radius:12px;background:var(--warn-soft);border:1px solid var(--warn-line);font-size:.65rem;line-height:1.65;color:var(--ink-2)}
.rep-note b{color:var(--ink)}
.rep-narr{margin:0;font-size:.77rem;line-height:1.85}
.rep-narr em{font-style:normal;font-weight:700;color:#256b5f}
body.dark .rep-narr em{color:#7fc9bb}
.rep-hl{background:var(--surface);border:1px solid #e8d3b4;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:var(--sh-1)}
.rep-badge{float:left;display:inline-flex;align-items:center;gap:4px;font-size:.6rem;font-weight:700;background:var(--warn-soft);color:var(--warn);padding:4px 9px;border-radius:999px}
.rep-badge .ico{width:12px;height:12px}
.rep-three{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:11px}
.rep-three>div{padding:0 8px;border-inline-start:1px solid var(--line)}
.rep-three>div:first-child{border:0}
.rep-three h4{margin:0 0 4px;font-size:.62rem;color:var(--v27-navy);display:flex;gap:4px;align-items:center}
.rep-three h4 .ico{width:13px;height:13px;flex:0 0 auto}
body.dark .rep-three h4{color:var(--ink)}
.rep-three p{margin:0;font-size:.59rem;color:var(--ink-2);line-height:1.55}
.rep-two{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}
.rep-env{border-radius:15px;padding:12px;border:1px solid var(--line);background:var(--surface)}
.rep-env.g{background:var(--good-soft);border-color:var(--good-line)}
.rep-env.w{background:var(--warn-soft);border-color:var(--warn-line)}
.rep-env h4{margin:0 0 7px;font-size:.73rem;color:var(--v27-navy);display:flex;align-items:center;gap:5px}
.rep-env h4 .ico{width:14px;height:14px;flex:0 0 auto}
body.dark .rep-env h4{color:var(--ink)}
.rep-env ul{margin:0;padding-inline-start:15px}
.rep-env li{font-size:.63rem;line-height:1.6;margin-bottom:4px;color:var(--ink-2)}
.rep-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rep-tile{border-radius:14px;padding:11px 9px;text-align:center;border:1px solid var(--line);background:var(--surface-2)}
.rep-tile.a{background:var(--v27-blue);border-color:#cfe4ec}
.rep-tile.b{background:var(--v27-mint);border-color:#cbe5dc}
.rep-tile.c{background:var(--v27-sand);border-color:#eddcc0}
body.dark .rep-tile.a,body.dark .rep-tile.b,body.dark .rep-tile.c{background:var(--surface-2);border-color:var(--line)}
.rep-tile strong{display:block;font-size:.71rem;color:var(--ink-2)}
.rep-tile b{display:block;font-size:1.18rem;color:var(--v27-navy);margin:3px 0 5px;font-variant-numeric:tabular-nums}
body.dark .rep-tile b{color:var(--ink)}
.rep-tile .rep-bar{width:100%}
.rep-tile em{display:block;font-style:normal;font-size:.57rem;color:var(--ink-3);margin-top:5px}
.rep-svg{width:100%;height:auto;display:block}
.rep-warn{display:flex;gap:9px;align-items:flex-start;background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:14px;padding:11px 13px;margin-bottom:10px}
.rep-warn .ico{width:18px;height:18px;color:var(--warn);flex:0 0 auto}
.rep-warn b{display:block;font-size:.75rem;color:var(--ink)}
.rep-warn p{margin:2px 0 0;font-size:.64rem;color:var(--ink-2);line-height:1.55}
.rep-star{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}
.rep-star>div{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:9px 4px;text-align:center}
.rep-star .ico{width:16px;height:16px;color:var(--v27-navy)}
body.dark .rep-star .ico{color:var(--ink)}
.rep-star b{display:block;font-size:.67rem;margin-top:3px}
.rep-star small{display:block;font-size:.52rem;color:var(--ink-3);margin-top:2px;line-height:1.4}
.rep-dims{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.rep-dim{border-radius:13px;padding:9px 3px;text-align:center;border:1px solid var(--line);background:var(--surface-2)}
.rep-dim.warn{background:var(--warn-soft);border-color:var(--warn-line)}
.rep-dim .ico{width:15px;height:15px;color:var(--v27-navy)}
body.dark .rep-dim .ico{color:var(--ink)}
.rep-dim strong{display:block;font-size:.55rem;margin-top:3px;line-height:1.3}
.rep-dim span{display:block;font-size:.48rem;color:var(--ink-3)}
.rep-dn{width:42px;height:42px;margin:6px auto 4px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--surface-3) 0)}
.rep-dn b{width:33px;height:33px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:.58rem;color:var(--v27-navy);text-align:center;line-height:1.1}
body.dark .rep-dn b{color:var(--ink)}
.rep-dim em{display:block;font-style:normal;font-size:.48rem;color:var(--ink-3);line-height:1.35}
.rep-checks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.rep-check{border-radius:13px;padding:10px 8px;border:1px solid var(--line);background:var(--surface-2)}
.rep-check.a{background:var(--v27-blue);border-color:#d3e2ee}
.rep-check.b{background:var(--v27-mint);border-color:#cde3d8}
.rep-check.c{background:var(--warn-soft);border-color:var(--warn-line)}
body.dark .rep-check.a,body.dark .rep-check.b,body.dark .rep-check.c{background:var(--surface-2);border-color:var(--line)}
.rep-check h4{margin:0 0 4px;font-size:.62rem;line-height:1.4}
.rep-check p{margin:0;font-size:.54rem;color:var(--ink-2);line-height:1.5}
.rep-pris{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.rep-pri{position:relative;border-radius:13px;padding:10px 8px;border:1px solid var(--line);background:var(--surface-2)}
.rep-pri.a{background:var(--v27-blue);border-color:#d3e2ee}
.rep-pri.b{background:var(--v27-mint);border-color:#cde3d8}
.rep-pri.c{background:var(--warn-soft);border-color:var(--warn-line)}
body.dark .rep-pri.a,body.dark .rep-pri.b,body.dark .rep-pri.c{background:var(--surface-2);border-color:var(--line)}
.rep-pri span{position:absolute;top:8px;inset-inline-start:8px;width:17px;height:17px;border-radius:5px;display:grid;place-items:center;font-size:.57rem;font-weight:700;color:#fff}
.rep-pri h4{margin:0 0 5px;font-size:.62rem;padding-inline-start:22px;line-height:1.4}
.rep-pri p{margin:0;font-size:.54rem;color:var(--ink-2);line-height:1.5}
.rep-fold{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:13px 14px;margin-bottom:8px;font-size:.83rem;color:var(--v27-navy)}
body.dark .rep-fold{color:var(--ink)}
.rep-fold .ico{width:17px;height:17px;color:#bb914f;flex:0 0 auto}
.rep-fold b{font-weight:700}
.rep-fold span{margin-inline-start:auto;color:var(--ink-3);font-weight:400;font-size:.67rem}
.rep-actions{display:grid;gap:9px;margin-top:13px}
.rep-actions .btn{justify-content:center}
.rep-confcard{background:linear-gradient(180deg,color-mix(in srgb,var(--warn-soft) 60%,var(--surface)),var(--surface));border-color:var(--warn-line)}
@media(min-width:768px){
  .rep-hero{min-height:190px;border-radius:0 0 26px 26px}
  .rep-hero h2{font-size:1.85rem}
  .rep .card,.rep-hl,.rep-fold,.rep-warn,.rep-two,.rep-actions{max-width:760px;margin-inline:auto}
}
@media(max-width:370px){
  .rep-hero h2{font-size:1.26rem;margin-inline-start:82px}
  .rep-hero p{margin-inline-start:82px;font-size:.67rem}
  .rep-three{grid-template-columns:1fr}
  .rep-three>div{border:0;border-top:1px solid var(--line);padding:7px 0 0}
  .rep-three>div:first-child{border-top:0;padding-top:0}
  .rep-checks,.rep-pris{grid-template-columns:1fr}
  .rep-scale{width:116px}.rep-axis{width:116px}
  .rep-bar{width:86px}
}
@media print{.rep-fold,.rep-actions{display:none!important}.rep .card{break-inside:avoid}}

/* v2.7.14 — ألوان بطاقتي المولّدين فقط.
   تدرّجان أدفأ وأوضح من السابق مع بقاء النص الكحلي مقروءًا: لا تتغير
   المقاسات ولا التخطيط ولا الأيقونات ولا أي بطاقة أخرى. */
.v27-generator-card.numerical{
  background:linear-gradient(118deg,#fbeacd 0%,#fdf3e2 46%,var(--surface) 92%);
  border-color:#d8ac68;
  box-shadow:0 1px 2px rgba(150,110,45,.10),0 6px 16px -10px rgba(150,110,45,.32);
}
.v27-generator-card.abstract{
  background:linear-gradient(118deg,#d9f0e7 0%,#eaf7f1 46%,var(--surface) 92%);
  border-color:#65b79c;
  box-shadow:0 1px 2px rgba(35,110,90,.10),0 6px 16px -10px rgba(35,110,90,.30);
}
.v27-generator-card.numerical .avatar{background:#f3dcb4;color:#8a5f22}
.v27-generator-card.abstract .avatar{background:#cfeade;color:#1f6b57}
body.dark .v27-generator-card.numerical{
  background:linear-gradient(118deg,color-mix(in srgb,#8a5f22 22%,var(--surface)),var(--surface) 78%);
  border-color:color-mix(in srgb,#d8ac68 45%,var(--line));box-shadow:var(--sh-1);
}
body.dark .v27-generator-card.abstract{
  background:linear-gradient(118deg,color-mix(in srgb,#1f6b57 22%,var(--surface)),var(--surface) 78%);
  border-color:color-mix(in srgb,#65b79c 45%,var(--line));box-shadow:var(--sh-1);
}
body.dark .v27-generator-card.numerical .avatar{background:color-mix(in srgb,#8a5f22 35%,var(--surface-3));color:#f0d3a3}
body.dark .v27-generator-card.abstract .avatar{background:color-mix(in srgb,#1f6b57 35%,var(--surface-3));color:#b6e6d4}

/* v2.7.16 — واجهة تفسير البيانات العددية.
   صفحة رأسية واحدة: الجدول كاملًا، ثم السؤال، مع حركة أفقية فقط داخل الجدول. */
body.new-bank-numeric-session{overflow:auto}
body.new-bank-numeric-session .frame{height:auto;min-height:100dvh;overflow:visible}
body.new-bank-numeric-session .main{
  flex:1;height:auto;padding:8px 12px calc(var(--tabbar-h) + 22px + env(safe-area-inset-bottom));overflow:visible;
}
body.new-bank-numeric-session .footer{display:none}
.nb-session-wrap.nb-numeric-session{height:auto;display:block}
.nb-numeric-flow-card{
  margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh-1);
}
.nb-numeric-flow-card .nb-table-card,
.nb-numeric-flow-card .nb-question-card{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.nb-numeric-flow-card .nb-table-card>h3{margin:0 0 3px;text-align:center}
.nb-numeric-flow-card .nb-table-card>.nb-table-note{margin:2px 1px 10px;color:var(--ink-2);font-size:.65rem;line-height:1.65;text-align:start}
.nb-numeric-flow-card .nb-table-card>.nb-table-note+.nb-table-viewport{margin-top:0}
.nb-numeric-flow-card .nb-table-scroll{overflow-x:auto;overflow-y:visible}
.nb-numeric-flow-divider{height:1px;margin:11px 2px 14px;background:var(--line)}
.nb-numeric-question-card{overflow:visible}

.nb-table-viewport{min-width:0;margin-top:8px}
.nb-table-scroll{margin-top:0;direction:ltr;scrollbar-width:none}
.nb-table-scroll::-webkit-scrollbar{display:none}
.nb-table-group{direction:rtl;text-align:start}
.nb-data-table{width:max-content;min-width:100%;table-layout:auto}
.nb-data-table th,.nb-data-table td{padding:7px 8px}
.nb-data-table thead th:not(.nb-category-cell),.nb-data-table td{width:1%;min-width:66px}
.nb-data-table .nb-category-cell{width:1%;min-width:116px;max-width:170px}
.nb-data-table thead .nb-category-cell{
  position:sticky;top:0;inset-inline-start:0;z-index:4;
  background:var(--v27-navy);color:#fff;box-shadow:-5px 0 9px rgba(9,46,67,.14);
}
.nb-data-table tbody .nb-category-cell{
  position:sticky;inset-inline-start:0;z-index:3;
  background:var(--surface-2);color:var(--ink);text-align:start;box-shadow:-5px 0 9px rgba(9,46,67,.14);
}
.nb-persistent-scroll{
  direction:ltr;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;
  min-height:22px;padding:4px 3px 0;color:var(--ink-3);
}
.nb-persistent-scroll>span{font-size:1rem;line-height:1}
.nb-persistent-scroll>input{
  width:100%;height:18px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;accent-color:var(--ink-3);
}
.nb-persistent-scroll>input::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--line-strong)}
.nb-persistent-scroll>input::-webkit-slider-thumb{
  width:72px;height:6px;margin-top:0;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:var(--ink-3);
}
.nb-persistent-scroll>input::-moz-range-track{height:6px;border:0;border-radius:999px;background:var(--line-strong)}
.nb-persistent-scroll>input::-moz-range-thumb{width:72px;height:6px;border:0;border-radius:999px;background:var(--ink-3)}
.nb-persistent-scroll>input:disabled{opacity:.58}

/* الجداول ذات المجموعتين: جدول واحد متصل يتحرك بكامل عناوينه وبياناته. */
.nb-dual-table-viewport{
  --nb-group-a-head:#197b74;--nb-group-a-label:#197b74;--nb-group-a-soft:#e7f5f2;--nb-group-a-cell:#f4faf8;
  --nb-group-b-head:#956737;--nb-group-b-label:#956737;--nb-group-b-soft:#f5eadc;--nb-group-b-cell:#fcf8f1;
}
body.dark .nb-dual-table-viewport{
  --nb-group-a-head:#236f6a;--nb-group-a-label:#7bd0c8;--nb-group-a-soft:#193a37;--nb-group-a-cell:#182d2c;
  --nb-group-b-head:#76502e;--nb-group-b-label:#e0b37d;--nb-group-b-soft:#3a2d21;--nb-group-b-cell:#2c271f;
}
.nb-dual-data-table{
  width:704px;min-width:704px;table-layout:fixed;border-collapse:separate;border-spacing:0;
}
.nb-dual-data-table col.nb-dual-category-col{width:92px}
.nb-dual-data-table col.nb-dual-number-col{width:52px}
.nb-dual-data-table th,.nb-dual-data-table td{
  position:static!important;inset:auto!important;width:auto!important;min-width:0!important;max-width:none!important;
  padding:6px 4px;white-space:normal;text-align:center;box-shadow:none!important;
}
.nb-dual-data-table .nb-dual-group-title{height:42px;font-size:.84rem;font-weight:800}
.nb-dual-data-table .nb-dual-column-head{height:64px;color:#fff;font-size:.62rem;font-weight:800;line-height:1.35;white-space:normal;overflow:hidden}
.nb-dual-data-table .nb-dual-header-label{
  display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center;text-wrap:balance;unicode-bidi:plaintext;
}
.nb-dual-data-table tbody th,.nb-dual-data-table tbody td{height:46px}
.nb-dual-data-table .nb-dual-category-cell{font-size:.68rem;font-weight:800;line-height:1.4;text-align:center}
.nb-dual-data-table .nb-dual-value-cell{font-size:.7rem}
.nb-dual-data-table .nb-dual-group-title.nb-group-a{color:var(--nb-group-a-label);background:var(--nb-group-a-soft)}
.nb-dual-data-table .nb-dual-group-title.nb-group-b{color:var(--nb-group-b-label);background:var(--nb-group-b-soft)}
.nb-dual-data-table tbody .nb-group-a{background:var(--nb-group-a-cell)}
.nb-dual-data-table tbody .nb-group-b{background:var(--nb-group-b-cell)}
.nb-dual-data-table .nb-dual-column-head.nb-group-a{background:var(--nb-group-a-head)}
.nb-dual-data-table .nb-dual-column-head.nb-group-b{background:var(--nb-group-b-head)}
.nb-dual-data-table .nb-dual-group-title.nb-group-b,
.nb-dual-data-table .nb-dual-category-cell.nb-group-b,
.nb-dual-data-table .nb-dual-column-head.nb-category-cell.nb-group-b{border-inline-start:3px solid var(--surface)}
.nb-dual-persistent-scroll{
  grid-template-columns:minmax(48px,94px) minmax(72px,1fr) minmax(48px,94px);min-height:32px;padding-top:5px;
}
.nb-dual-persistent-scroll .nb-scroll-group-label{
  overflow:hidden;color:var(--ink-3);font-size:.58rem;font-weight:800;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap;
}
.nb-dual-persistent-scroll .nb-scroll-left-group{color:var(--nb-group-b-label)}
.nb-dual-persistent-scroll .nb-scroll-right-group{color:var(--nb-group-a-label)}

@media(min-width:768px){
  body.new-bank-numeric-session .main{height:auto;padding:10px 24px 30px}
  .nb-numeric-flow-card{padding:14px}
}
@media(max-width:370px){
  .nb-data-table th,.nb-data-table td{padding:6px 7px}
  .nb-data-table .nb-category-cell{min-width:108px}
  .nb-dual-data-table{width:664px;min-width:664px}
  .nb-dual-data-table col.nb-dual-category-col{width:82px}
  .nb-dual-data-table col.nb-dual-number-col{width:50px}
  .nb-dual-data-table th,.nb-dual-data-table td{min-width:0!important;padding:5px 2px}
  .nb-dual-data-table .nb-dual-column-head{height:68px;font-size:.59rem}
}
@media print{
  body.new-bank-numeric-session{overflow:visible}
  body.new-bank-numeric-session .frame,body.new-bank-numeric-session .main{height:auto;overflow:visible}
  .nb-session-wrap.nb-numeric-session{display:block;height:auto}
  .nb-numeric-flow-card,.nb-numeric-question-card{overflow:visible}
  .nb-persistent-scroll{display:none}
}
