:root{--navy:#101b32;--navy2:#1d3150;--ink:#1b2941;--muted:#66758b;--line:#dfe5eb;--paper:#f7f9f9;--white:#fff;--mint:#d5f4dc;--green:#137a61;--coral:#fb8068;--gold:#e9a83b;--lav:#e9e2fb;--blue:#dbe9ff;--shadow:0 22px 60px rgba(19,38,62,.09);font-family:'DM Sans','Noto Sans Devanagari',sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e9a83b;outline-offset:2px}.skip{position:absolute;left:12px;top:-100px;background:white;z-index:20;padding:10px}.skip:focus{top:12px}.wrap{width:min(1250px,calc(100% - 48px));margin:auto}.site-header{background:var(--navy);color:white;position:relative;z-index:5}.header-main{display:flex;align-items:center;gap:22px;min-height:86px}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand-mark{width:41px;height:41px;border:2px solid var(--gold);border-radius:12px 12px 12px 4px;display:grid;place-items:center;font-weight:800;font-size:22px;color:var(--gold);transform:rotate(-6deg)}.brand-name{font-size:25px;letter-spacing:-.055em;font-weight:800;color:#f7bc59;line-height:1}.brand-tag{font-size:14px;letter-spacing:.05em;color:#b7c9de;margin-top:5px;white-space:nowrap}.nav{display:flex;gap:18px;margin-left:auto;align-items:center}.nav a{white-space:nowrap;font-size:14px;font-weight:700;color:#e4eaf0;transition:color .2s}.nav a:hover,.nav a.active{color:#f6bb60}.head-tools{display:flex;gap:9px;align-items:center;margin-left:10px}.search-mini{display:flex;align-items:center;background:#fff;border-radius:12px;width:195px;height:42px;overflow:hidden}.search-mini input{border:0;min-width:0;width:100%;padding:0 10px;color:var(--ink);outline:0;font-size:14px}.search-mini button{border:0;background:transparent;padding:8px 11px;color:var(--navy);font-size:20px}.lang{display:flex;border:1px solid #556780;border-radius:11px;padding:3px;gap:2px;flex:0 0 auto}.lang button{border:0;background:transparent;color:#d7e3f1;border-radius:8px;padding:6px 8px;font-size:14px;font-weight:800}.lang button.active{background:var(--mint);color:var(--navy)}.login-btn{background:var(--coral);border-radius:11px;padding:11px 14px;font-size:14px;font-weight:800;white-space:nowrap;color:var(--navy)}.profile-btn{background:#243c5c;border-radius:11px;padding:11px 14px;font-weight:700;font-size:14px}.menu-btn{display:none;background:transparent;color:white;border:1px solid #58708e;border-radius:10px;padding:8px}.footer{background:var(--navy);color:#cbd7e3;padding:35px 0;margin-top:75px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer strong{color:#f8bf68}.footer small{display:block;margin-top:9px;color:#9fb0c4}.footer a{color:white;text-decoration:underline;text-underline-offset:4px}
.hero{background:var(--navy);color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px;min-height:555px;padding:65px 0 90px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:14px}.hero .eyebrow{color:#f7bd6d}.eyebrow:before{content:'';width:18px;height:2px;background:currentColor}.hero h1{font-size:clamp(48px,5.3vw,78px);line-height:1.04;letter-spacing:-.07em;max-width:700px;margin:22px 0}.hero h1 em{font-style:normal;color:#9be2b3}.hero p{font-size:17px;line-height:1.7;color:#bed0df;max-width:540px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:12px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover,.card:hover{transform:translateY(-3px)}.btn.primary{background:var(--coral);color:var(--navy)}.btn.light{background:white;color:var(--navy)}.btn.outline{background:transparent;border:1px solid #58708e;color:white}.btn.dark{background:var(--navy);color:white}.btn.subtle{background:#eef2f6;color:var(--ink)}.btn.small{padding:8px 12px;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.hero-art{position:relative;min-height:410px;display:grid;place-items:center}.orbit{border:1px solid rgba(255,255,255,.14);width:420px;height:420px;border-radius:50%;position:absolute}.orbit:after{content:'';position:absolute;inset:45px;border:1px dashed rgba(255,255,255,.15);border-radius:50%}.paper-stack{width:300px;transform:rotate(-8deg);position:relative;z-index:1}.paper{background:#faf7ec;border-radius:22px;box-shadow:0 24px 36px #080f1b80;padding:30px;color:var(--navy);min-height:335px;position:relative}.paper:before{content:'';position:absolute;inset:10px -13px -10px 13px;background:#b9eac8;border-radius:21px;z-index:-1;transform:rotate(8deg)}.paper:after{content:'';position:absolute;inset:15px -24px -16px 24px;background:#e9a83b;border-radius:21px;z-index:-2;transform:rotate(13deg)}.paper-head{font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:#60718b;font-weight:800}.paper-title{font-size:34px;font-weight:800;line-height:1.1;margin:22px 0}.paper-line{height:8px;border-radius:10px;background:#d5dfe1;margin:17px 0;width:90%}.paper-line.short{width:57%}.paper-line.mid{width:74%}.paper-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px}.paper-stamp{background:#e4f4db;color:#26715a;padding:10px;border-radius:10px;font-size:14px;font-weight:800}.paper-pen{font-size:32px;transform:rotate(25deg)}.float-label{position:absolute;z-index:2;background:white;color:var(--navy);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow);font-size:14px;font-weight:800}.float-label.a{top:24px;right:14px}.float-label.b{bottom:12px;left:0;background:#fbd8cc}
.section{padding:75px 0}.section.tight{padding:50px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head h2,.page-title{font-size:clamp(30px,3vw,43px);letter-spacing:-.05em;line-height:1.1;margin:12px 0 0}.section-head p,.page-intro{color:var(--muted);line-height:1.6;max-width:620px}.text-link{font-weight:800;color:var(--green);font-size:14px;white-space:nowrap}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 30px rgba(20,40,60,.035);transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow)}.feature{padding:28px;min-height:258px;display:flex;flex-direction:column}.feature .icon{font-size:28px;width:51px;height:51px;border-radius:13px;display:grid;place-items:center;background:var(--mint)}.feature:nth-child(2) .icon{background:var(--lav)}.feature:nth-child(3) .icon{background:#ffeadb}.feature h3{font-size:22px;letter-spacing:-.04em;margin:25px 0 8px}.feature p{color:var(--muted);line-height:1.6;margin:0 0 25px}.feature .text-link{margin-top:auto}.feature.orange{background:#fff4e9}.feature.mint{background:#eaf7ed}.feature.blue{background:#eaf2ff}.stripe{background:#e9f3ec;border-block:1px solid #d9e9df}.course-card{padding:28px;display:flex;flex-direction:column;gap:13px}.course-card .overline{color:var(--green);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.course-card h3{margin:0;font-size:24px}.course-card p{margin:0;color:var(--muted);line-height:1.5}.pills{display:flex;flex-wrap:wrap;gap:7px}.pill{border-radius:20px;background:#f0f4f5;color:#3a516a;padding:7px 10px;font-size:14px;font-weight:700}.course-card .text-link{margin-top:auto}.home-updates{display:grid;grid-template-columns:1fr 1fr;gap:18px}.update-panel{padding:25px;min-height:220px}.update-panel h3{margin:0 0 16px;font-size:21px}.update-panel ul{list-style:none;margin:0;padding:0}.update-panel li{border-top:1px solid var(--line);padding:11px 0;color:var(--muted);font-size:14px}.update-panel li a{color:var(--ink);font-weight:700}.update-panel li small{display:block;color:var(--muted);margin-top:4px}.empty{background:white;border:1px dashed #c7d4db;border-radius:18px;padding:30px;color:var(--muted);line-height:1.6}.empty strong{display:block;color:var(--ink);font-size:19px;margin-bottom:5px}.callout{background:var(--navy);border-radius:26px;color:white;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.callout h2{margin:0;font-size:31px;letter-spacing:-.04em}.callout p{color:#b7c9dc;margin-bottom:0}
.page{padding:45px 0 80px;min-height:62vh}.page-top{margin-bottom:34px}.crumb{font-size:14px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subject-card{padding:24px;min-height:150px;border-top:5px solid var(--green)}.subject-card:nth-child(3n+2){border-top-color:var(--coral)}.subject-card:nth-child(3n){border-top-color:#a48acc}.subject-card h3{font-size:21px;margin:0 0 15px}.subject-card span{font-size:14px;color:var(--muted)}.topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-weight:700}.topic-row:hover{border-color:var(--green)}.topic-row small{color:var(--muted);font-weight:700}.note{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(25px,4vw,56px);max-width:890px}.note-body{white-space:pre-wrap;line-height:1.9;font-size:17px}.note-tag{display:inline-block;background:var(--mint);color:var(--green);padding:6px 10px;border-radius:20px;font-size:14px;font-weight:800}.locked{background:#fff7df;border:1px solid #e8ca81;border-radius:16px;padding:22px;color:#654a12}.locked .lock{color:#b57800;font-weight:800}.auth-card{max-width:455px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.auth-card h1{font-size:33px;letter-spacing:-.05em;margin:0 0 5px}.auth-card p{color:var(--muted);line-height:1.5}.field{display:block;font-size:14px;font-weight:800;margin:17px 0 0}.field input,.field select,.field textarea,select.control,input.control,textarea.control{display:block;width:100%;margin-top:7px;border:1px solid #cdd9e0;background:white;border-radius:10px;padding:12px;color:var(--ink);font-size:14px}.field textarea{min-height:140px;resize:vertical}.auth-card .btn{width:100%;margin-top:24px}.error{color:#b13636;font-size:14px;margin-top:12px}.muted{color:var(--muted)}.meta{font-size:14px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:20px 0}
.tabs{display:flex;gap:7px;overflow-x:auto;padding:3px 0 13px;scrollbar-width:thin}.tab{flex:0 0 auto;border:1px solid var(--line);background:white;padding:11px 14px;border-radius:12px;color:var(--ink);font-size:14px;font-weight:800}.tab.active{background:var(--navy);color:white;border-color:var(--navy)}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin:12px 0 22px}.filter-label{font-size:14px;font-weight:800;color:var(--muted)}.filter-label select{margin-top:6px;width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.test-card{padding:23px;display:flex;flex-direction:column;gap:9px;min-height:210px}.test-card h3{margin:0;font-size:21px}.test-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.test-card .btn{margin-top:auto;align-self:flex-start}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:20px;background:#e8f6ec;color:#137a61;font-size:14px;font-weight:800;width:max-content}.badge.locked-badge{background:#fff1dc;color:#9a6614}.test-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:18px}.question-panel,.palette-panel,.result-panel{background:white;border:1px solid var(--line);border-radius:22px;padding:25px}.test-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.timer{font-weight:800;background:#fff0dc;padding:9px 13px;border-radius:10px;color:#925f12}.question-title{font-size:20px;line-height:1.5;font-weight:800}.choices{display:grid;gap:10px;margin:20px 0 30px}.choice{border:1px solid #d9e2e7;border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .2s}.choice:hover,.choice.selected{border-color:var(--green);background:#eff9f2}.choice input{accent-color:var(--green)}.test-actions{display:flex;gap:8px;flex-wrap:wrap}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.palette button{height:38px;border:1px solid var(--line);border-radius:9px;background:#f3f5f7;font-weight:800}.palette button.active{border:2px solid var(--navy)}.palette button.answered{background:#caefd6}.palette button.review{background:#eee2ff}.palette-panel h3{margin-top:0}.palette-legend{font-size:14px;color:var(--muted);line-height:1.7;margin-top:15px}.score{font-size:54px;font-weight:800;letter-spacing:-.07em;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:15px;background:#f1f6f5;border-radius:12px}.stat strong{display:block;font-size:20px}.review-item{border-top:1px solid var(--line);padding:18px 0}.review-item h3{font-size:17px}.correct{color:var(--green)}.incorrect{color:#bd4c3f}.review-item p{line-height:1.6}
.ca-top{background:#e9f4ee;border-radius:22px;padding:22px;margin-bottom:20px}.ca-top h1{font-size:31px;margin:0 0 6px}.ca-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}.ca-controls .tab{background:#fff}.ca-controls .tab.active{background:var(--navy)}.ca-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px}.ca-main,.ca-side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.ca-side{align-self:start;max-height:75vh;overflow:auto;position:sticky;top:12px}.ca-side h3{margin-top:0}.ca-side button{display:block;background:none;border:0;text-align:left;width:100%;padding:10px 3px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}.ca-side button:hover{color:var(--green)}.date-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.date-list .tab{padding:7px 11px}.story{border-top:1px solid var(--line);padding:28px 0}.story:first-of-type{border-top:0}.story h2{font-size:24px;letter-spacing:-.035em;margin:8px 0}.story p{line-height:1.7}.story table{width:100%;border-collapse:collapse;margin:17px 0;font-size:14px}.story th,.story td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.story th{width:30%;background:#f3f7f7}.story .revision{background:#e9f5ec;border-radius:12px;padding:12px}.story .sources{font-size:14px}.story .sources a{color:var(--green);text-decoration:underline}.story .mcq-preview{margin-top:15px;background:#f8f8fb;border-radius:14px;padding:12px 17px}.story details summary{cursor:pointer;font-weight:800}.answer-box{padding:10px;background:white;margin-top:10px;border-radius:10px}.small-note{font-size:14px;color:var(--muted)}
.control-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:19px}.control-menu{display:grid;align-content:start;gap:8px}.control-menu button{border:1px solid var(--line);background:white;border-radius:11px;padding:11px;text-align:left;font-weight:800}.control-menu button.active{background:var(--navy);color:white}.control-main{background:white;border:1px solid var(--line);border-radius:20px;padding:25px}.json-editor{min-height:380px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px;line-height:1.5;resize:vertical}.control-main code{word-break:break-word}.control-list{display:grid;gap:8px;margin-top:18px}.control-list button{border:1px solid var(--line);background:#f7faf9;border-radius:10px;padding:10px;text-align:left}.profile-card{background:white;border:1px solid var(--line);border-radius:20px;padding:25px;max-width:650px}.entitlement{border-top:1px solid var(--line);padding:12px 0}.search-results{display:grid;gap:10px;max-width:800px}.search-results a{background:white;border:1px solid var(--line);padding:17px;border-radius:12px;font-weight:800}#toast{position:fixed;bottom:20px;right:20px;z-index:40;background:var(--navy);color:white;padding:12px 18px;border-radius:11px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}
@media(max-width:1100px){.header-main{gap:12px}.nav{gap:11px}.nav a{font-size:14px}.search-mini{width:140px}.brand-tag{display:none}.hero-inner{gap:20px}.subject-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.header-main{min-height:72px;flex-wrap:wrap;padding:12px 0}.menu-btn{display:block}.nav{order:3;display:none;width:100%;margin:0;padding:10px 0 4px;flex-wrap:wrap}.nav.open{display:flex}.head-tools{margin-left:auto}.search-mini{width:175px}.hero-inner{grid-template-columns:1fr;min-height:0;padding:55px 0 75px}.hero-art{min-height:370px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-layout,.test-layout{grid-template-columns:1fr}.ca-side{position:static;max-height:320px}.control-grid{grid-template-columns:1fr}.control-menu{display:flex;overflow-x:auto}.control-menu button{white-space:nowrap}}
@media(max-width:580px){.wrap{width:min(100% - 30px,1250px)}.brand-name{font-size:21px}.brand-mark{width:35px;height:35px}.head-tools{gap:5px}.search-mini{order:5;width:100%;flex-basis:100%}.login-btn,.profile-btn{padding:9px;font-size:14px}.lang button{padding:5px}.hero-inner{padding:38px 0 55px}.hero h1{font-size:46px}.hero p{font-size:15px}.hero-art{min-height:320px}.orbit{width:315px;height:315px}.paper-stack{width:235px}.paper{min-height:275px;padding:22px}.paper-title{font-size:28px}.float-label.a{right:0}.float-label.b{left:0}.section{padding:52px 0}.section-head{align-items:start;flex-direction:column}.grid.three,.grid.two,.home-updates,.subject-grid,.topic-list,.filters{grid-template-columns:1fr}.callout{display:block;padding:28px}.callout .btn{margin-top:15px}.page{padding-top:30px}.stats{grid-template-columns:repeat(2,1fr)}.ca-main,.ca-side,.question-panel,.palette-panel{padding:17px}.test-actions .btn{flex:1}.footer{margin-top:35px}}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:13px;background:#eaf0f4;margin:22px 0}.auth-switch a{text-align:center;padding:10px 6px;border-radius:9px;color:var(--ink);font-weight:750;text-decoration:none}.auth-switch a.active{background:#fff;box-shadow:0 2px 8px #10263a18}.owner-setup{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.owner-setup summary{cursor:pointer;font-weight:700;color:var(--ink)}.owner-setup[open] summary{margin-bottom:14px}.auth-card .field[hidden]{display:none}.auth-card button:disabled{opacity:.6;cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.preview-banner{background:#e4f4ef;color:#143e3a;border-bottom:1px solid #bfdfd4;font-size:14px;font-weight:700;padding:9px 0}

/* Current Affairs reading and account controls */
.owner-link{color:var(--green);font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
.ca-top{background:#e9f4ee;padding:24px 28px}.ca-top h1{font-size:clamp(28px,3vw,39px);margin:0}.ca-top p{margin:3px 0 14px;color:var(--muted)}
.ca-controls.periods{margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.ca-controls.periods .period-choice{display:flex;min-height:72px;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 10px;border:1px solid #c8ddcf;border-radius:15px;line-height:1.3;white-space:normal}
.period-choice strong{font-size:15px}.period-choice span:not(.gold-lock){font-size:14px}.period-choice small{color:#075c43;font-weight:900;font-size:14px}.period-choice.active small{color:#b4f3d5}.gold-lock{color:#ce9a38;font-size:15px}
.ca-controls.editions{margin-bottom:2px}.ca-controls.region-choices{margin:4px 0 20px}.ca-controls.region-choices .tab{font-size:14px}
.ca-main h2{font-size:24px;margin:0 0 14px}.issue>h2{font-size:21px;padding-top:10px}.issue.archive{border-top:2px solid #d9e9df;margin-top:35px;padding-top:12px}
.archive-label{font-size:14px;font-weight:800;color:#53636c}.date-list{max-height:110px;overflow:auto;padding-bottom:7px}.date-list .tab{font-size:14px}
.ca-side{max-height:78vh;overflow:hidden;display:flex;flex-direction:column}.ca-side h3{flex:none}.ca-topic-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:170px;scrollbar-color:#8cb8a4 transparent}.ca-side button{font-size:15px;line-height:1.4;padding:12px 8px;border-radius:7px}.ca-side button.active{background:#e7f4ed;color:#13523d;font-weight:800}
.story h2{font-size:clamp(22px,2.2vw,28px)}.story p{font-size:16px}.story table{font-size:15px}.story .sources{font-size:14px}.story .sources a{overflow-wrap:anywhere}.story .mcq-preview{padding:17px}
.answer-box{border:1px solid #d9e4e5;margin-top:16px;padding:17px}.answer-box legend{padding:0 6px;line-height:1.5}.question-options{display:grid;gap:8px;margin:13px 0}.question-options button{text-align:left;background:#f4f8f9;border:1px solid #d5e1e3;border-radius:10px;padding:12px;font:inherit;cursor:pointer}.question-options button:hover:not(:disabled){border-color:#195d8d;transform:translateX(2px)}.question-options button.correct{border-color:#168458;background:#e2f6e9;color:#105236;font-weight:800}.question-options button.incorrect{border-color:#be5353;background:#fff1ef;color:#83272e}.question-options button:disabled{cursor:default}.answer-feedback{font-weight:700;line-height:1.75}.story .answer-explanation,.review-item .answer-explanation{font-size:.875rem;font-weight:700;line-height:1.75;margin-top:.75rem;padding:.75rem;border-inline-start:3px solid var(--line);background:color-mix(in srgb,var(--line) 22%,transparent);border-radius:0 .5rem .5rem 0;overflow-wrap:anywhere}.answer-explanation-label{display:block;font-size:inherit;font-weight:700;margin-block:.375rem .25rem}.story .answer-explanation p,.review-item .answer-explanation p{font-size:inherit;font-weight:700;line-height:inherit;margin-block:.25rem 0;white-space:pre-line}.answer-feedback-result{font-size:inherit;font-weight:700}.answer-explanation[hidden]{display:none}
.settings-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0 22px}.settings-row label{font-size:14px;font-weight:800}.settings-row input{display:block;margin-top:7px;width:170px;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit}.control-list button{font-size:14px;line-height:1.45}.control-list button:hover{border-color:var(--green)}
.settings-row label:has(textarea){flex:1 1 250px}.settings-row textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit;line-height:1.5;resize:vertical}
.period-reveal{display:block;margin:16px 0;background:#132b45;color:white;border:0;border-radius:10px;padding:10px 17px;font-weight:800;font-size:14px;cursor:pointer}.period-reveal[hidden],.ca-top[hidden],.ca-topic-scroll [hidden]{display:none!important}
.rail-tabs{display:flex;gap:6px;margin-bottom:10px}.ca-side .rail-tabs button{flex:1;border:1px solid #d2e4d9;border-radius:8px;padding:9px;font-size:14px;text-align:center;font-weight:700}.ca-side .rail-tabs button.active{background:#163e57;color:white}.ca-topic-scroll{flex:1}
@media(max-width:850px){.ca-controls.periods{grid-template-columns:repeat(3,minmax(0,1fr))}.ca-side{max-height:340px}}
@media(max-width:580px){.ca-top{padding:18px}.ca-controls.periods{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-controls.periods .period-choice{min-height:68px}.ca-controls.region-choices{overflow-x:auto;flex-wrap:nowrap}.ca-controls.region-choices .tab{white-space:nowrap}.story table{display:block;overflow-x:auto}.ca-main h2{font-size:22px}}

/* Owner-only, on-page layout editor. Published design is rendered for every visitor. */
#app{position:relative}
.owner-design-launch{position:fixed;right:20px;bottom:20px;z-index:30}
.edit-page-toggle{border:2px solid #fff;background:#f5bf65;color:#132b45;border-radius:14px;padding:13px 19px;font-weight:900;font-size:15px;white-space:nowrap;box-shadow:0 9px 30px #0b1d3670}
.edit-page-toggle[aria-pressed="true"]{background:#fff;color:#132b45}
.page-editor-toolbar{position:sticky;top:0;z-index:20;background:#f9fbff;color:#132b45;border-bottom:2px solid #e6a842;box-shadow:0 7px 25px #0e284523;padding:12px clamp(16px,4vw,48px);max-height:55vh;overflow:auto}
.page-editor-toolbar[hidden]{display:none}
.editor-head{display:flex;align-items:center;gap:16px;margin-bottom:8px}.editor-head strong{font-size:18px}.editor-head span,.editor-selected-title small{font-size:14px;color:#5d6b79}
.editor-actions,.editor-properties,.editor-hidden,.editor-nudge{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.page-editor-toolbar button{background:#fff;color:#132b45;border:1px solid #bfcfdb;border-radius:8px;padding:7px 11px;font-size:14px;font-weight:700;min-height:36px}
.page-editor-toolbar button:hover{border-color:#234c73;background:#edf5fd}
.page-editor-toolbar .editor-save{background:#153d66;color:white;border-color:#153d66}.page-editor-toolbar .editor-danger{color:#ad2536;border-color:#d68791}
.editor-properties{border-top:1px solid #d9e2ec;margin-top:11px;padding-top:10px;align-items:flex-end}.editor-selected-title{min-width:145px;display:grid;gap:2px}
.editor-properties label{display:grid;gap:3px;font-size:14px;font-weight:800;min-width:100px;max-width:220px}.editor-properties textarea,.editor-properties input,.editor-properties select{border:1px solid #aebfcc;border-radius:7px;padding:6px;width:100%;font-size:14px;background:#fff;color:#172f46}
.editor-properties textarea{min-width:170px;resize:vertical}.editor-nudge span{font-size:14px;font-weight:800}.editor-nudge button{min-width:36px;padding:6px}
.editor-hidden{border-top:1px solid #d9e2ec;margin-top:10px;padding-top:10px}.editor-hidden strong{font-size:14px}
.page-editor-active [data-page-edit-key]{cursor:move;touch-action:none}.page-editor-active [data-page-edit-key]:hover{outline:2px dashed #e8a832;outline-offset:3px}.page-editor-selected,.page-editor-active .page-editor-selected:hover{outline:3px solid #df891e!important;outline-offset:3px}
.page-editor-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:visible}
.page-custom{position:absolute;display:flex;align-items:center;gap:12px;padding:14px;border-radius:13px;box-shadow:0 8px 22px #132b4526;overflow-wrap:anywhere;color:#152b43;background:#fff;border:1px solid #d8e4f0;white-space:pre-wrap}
.page-custom-text{box-shadow:none;border:0;background:transparent;padding:5px;font-size:20px;font-weight:700}
.page-custom-box{min-height:90px}.page-custom-icon{font-size:31px;line-height:1}.page-custom-icon .page-custom-icon{font-size:45px}
.page-custom-blue{background:#dceaf9}.page-custom-green{background:#dceee5}.page-custom-gold{background:#fff0c8}
.page-editor-active .page-custom{pointer-events:auto;cursor:move;touch-action:none}
.page-editor-selection{position:absolute;z-index:19;pointer-events:none;border:2px solid #df891e;box-sizing:border-box}
.editor-resize-handle{position:absolute;width:14px;height:14px;padding:0;border:2px solid white;border-radius:3px;background:#cf7714;box-shadow:0 0 0 1px #ab6010;pointer-events:auto;touch-action:none;z-index:2}
.handle-nw{left:-8px;top:-8px;cursor:nwse-resize}.handle-n{left:calc(50% - 7px);top:-8px;cursor:ns-resize}.handle-ne{right:-8px;top:-8px;cursor:nesw-resize}.handle-e{right:-8px;top:calc(50% - 7px);cursor:ew-resize}.handle-se{right:-8px;bottom:-8px;cursor:nwse-resize}.handle-s{left:calc(50% - 7px);bottom:-8px;cursor:ns-resize}.handle-sw{left:-8px;bottom:-8px;cursor:nesw-resize}.handle-w{left:-8px;top:calc(50% - 7px);cursor:ew-resize}
.editor-size-label{position:absolute;left:0;top:-25px;background:#9e5507;color:white;padding:3px 7px;border-radius:5px;font:700 12px/1.3 sans-serif;white-space:nowrap}
.editor-layer-label{display:grid;gap:6px;font-size:14px;font-weight:700;margin:12px 0}.editor-layer-label select,.editor-family select{width:100%;min-width:0;font-size:14px;background:white;border:1px solid #b6c6d8;border-radius:8px;padding:9px;color:#1a3552}
.editor-family{display:flex;align-items:center;gap:8px;flex:1 1 100%}.editor-family select{flex:1}.editor-family button{flex:none}.editor-view-toggle{margin-top:10px}
.page-editor-active .card:hover{transform:none}.page-editor-active .ca-news-scroll,.page-editor-active .ca-topic-scroll{scroll-behavior:auto}.page-editor-toolbar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:850px){.page-editor-toolbar{max-height:52vh}.editor-properties label{min-width:115px}.edit-page-toggle{padding:8px}}
@media(max-width:580px){.page-editor-toolbar{padding:10px 15px;max-height:48vh}.editor-head{display:block}.editor-head span{display:block}.editor-actions button{padding:6px 8px}.editor-properties textarea{min-width:135px}.editor-properties label{flex:1 1 130px}.owner-design-launch{right:12px;bottom:12px}.edit-page-toggle{font-size:14px;padding:10px 15px}}
.page-editor-toolbar{position:fixed;top:100px;right:18px;width:min(390px,calc(100vw - 30px));max-height:calc(100dvh - 125px);padding:16px;border:1px solid #bccbd9;border-top:4px solid #d89424;border-radius:14px;z-index:80;box-sizing:border-box;overscroll-behavior:contain}
.page-editor-toolbar .editor-head{align-items:flex-start;flex-direction:column;gap:3px}.page-editor-toolbar .editor-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.page-editor-toolbar .editor-properties label{min-width:0;max-width:none}.page-editor-toolbar .editor-properties textarea{min-width:0}.page-editor-toolbar .editor-selected-title,.page-editor-toolbar .editor-family,.page-editor-toolbar .editor-nudge{grid-column:1/-1}.page-editor-toolbar .editor-layer-label select{max-width:100%}.page-editor-toolbar .editor-selected-title{min-width:0}.page-editor-toolbar .editor-actions{padding-bottom:6px}.page-editor-toolbar .editor-family select{width:0}.page-editor-toolbar .editor-view-toggle{width:100%}
@media(max-width:700px){.page-editor-toolbar{top:auto;right:10px;left:10px;bottom:10px;width:auto;max-height:42dvh;padding:12px}.editor-resize-handle{width:20px;height:20px}.owner-design-launch:has(+ .page-editor-toolbar:not([hidden])){visibility:hidden}}

/* Home: current affairs, tests, then study notes. */
.site-header{background:linear-gradient(115deg,#124766 0%,#103957 58%,#0a2946 100%);border-bottom:3px solid #e8b05c}
.nav a,.nav a.active,.lang button,.owner-link,.brand-tag{color:#fff}
.nav a:hover,.owner-link:hover{color:#ffe0a2}
.brand-tag{display:block;font-size:14px;line-height:1.25;letter-spacing:0;white-space:normal;max-width:260px}
.profile-btn{background:#205879;color:#fff}
.home-core{padding:25px 0 65px;background:linear-gradient(180deg,#eff6f4 0,#f7f9f9 390px)}
.home-core>.wrap{display:grid;gap:20px}
.home-current{padding:clamp(20px,3vw,36px);border-top:5px solid #17806b}
.home-core-heading,.home-notes-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.home-core h1,.home-core h2{margin:0;letter-spacing:-.04em}
.home-core-heading h1{font-size:clamp(29px,3.2vw,43px);color:#123f5d}
.home-core-heading h1 a:hover,.home-simple h2 a:hover,.home-notes h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.home-core-heading>span{font-size:14px;font-weight:800;color:#11634d;background:#e4f5e8;border-radius:999px;padding:9px 14px}
.home-ca-editions,.home-ca-states,.home-test-routes{display:flex;flex-wrap:wrap;gap:9px}
.home-ca-editions{margin-top:22px}
.home-edition{display:inline-flex;align-items:center;background:#e8f3f0;border:1px solid #cde6dd;color:#164c46;padding:13px 18px;border-radius:12px;font-weight:850;font-size:17px;transition:transform .2s,background .2s}
.home-edition.chosen{background:#164b65;color:white;border-color:#164b65}
.home-edition:hover,.state-chip:hover,.home-test-routes a:hover,.home-note-item:hover{transform:translateY(-2px)}
.home-ca-states{margin:18px 0 0}.state-chip{font-size:14px;font-weight:800;border:1px solid #d1dfe4;border-radius:9px;padding:8px 12px;color:#31516a;background:#fff;transition:transform .2s,background .2s}.state-chip.selected{border-color:#e6b55d;background:#fff4d8;color:#5c4218}
.home-ca-topic-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:19px}
.home-ca-picker{display:grid;gap:7px;font-size:14px;color:#31536a}.home-ca-picker select{width:100%;border:1px solid #c6d8df;border-radius:11px;background:#fff;color:#17384e;padding:13px 35px 13px 12px;font-weight:700}
.home-ca-recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:23px}
.home-ca-recent>div{background:#f7fbfa;border:1px solid #dcebe6;border-radius:15px;padding:18px}
.home-ca-recent h2{font-size:19px;margin-bottom:10px}.home-ca-recent ul{list-style:none;padding:0;margin:0}.home-ca-recent li{padding:11px 0;border-top:1px solid #dfe9e7;line-height:1.4;font-size:14px}.home-ca-recent li a:hover{color:#08735b;text-decoration:underline}.home-ca-recent li small{display:block;color:#607481;margin-top:4px;font-size:14px}
.home-simple,.home-notes{padding:clamp(20px,3vw,32px)}.home-simple h2,.home-notes h2{font-size:clamp(25px,2.8vw,36px);color:#153e5b}.home-test{border-top:5px solid #d89248}.home-test-routes{margin-top:20px}.home-test-routes a{padding:11px 15px;background:#f4f7fb;border:1px solid #dbe5ed;border-radius:10px;color:#244968;font-size:14px;font-weight:800;transition:transform .2s}
.home-notes{border-top:5px solid #8b71bc}.home-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:19px}.home-note-item{padding:16px;background:#f6f5fb;color:#283d62;border:1px solid #e1dbed;border-radius:11px;font-weight:800;transition:transform .2s}
.ca-side .ca-topic-scroll a{display:block;width:100%;padding:12px 8px;border-bottom:1px solid var(--line);border-radius:7px;font-size:15px;line-height:1.4;color:var(--ink)}.ca-side .ca-topic-scroll a:hover{background:#f1f8f5;color:#11634d}.ca-side .ca-topic-scroll a.active{background:#e7f4ed;color:#13523d;font-weight:800}
.ca-default-choice{background:#fff9e9;border:1px solid #e6c882;border-radius:12px;color:#624819;padding:11px 14px;font-size:14px;font-weight:800}.ca-default-choice:hover{background:#fff0c8}.story-topic-link:hover{text-decoration:underline}
@media(max-width:1100px){.brand-tag{display:block;font-size:9px;max-width:180px}.header-main{gap:12px}.nav{gap:9px}}
@media(max-width:850px){.home-ca-recent,.home-ca-topic-row{grid-template-columns:1fr}.home-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-tag{max-width:210px}}
@media(max-width:580px){.home-core{padding-top:17px}.home-ca-editions{display:grid;grid-template-columns:1fr 1fr}.home-edition{font-size:14px;padding:11px}.home-note-grid{grid-template-columns:1fr}.brand-tag{max-width:170px;font-size:8px}.header-main{column-gap:6px}.brand{gap:8px}.head-tools{gap:5px}.search-mini{width:100%;flex-basis:100%}.lang button{padding:5px}.home-core-heading>span{font-size:14px}}

/* One control row: menu, search, language, account. */
.header-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:12px 0;min-height:78px}
.header-main>.brand{grid-column:1;min-width:0}
.head-tools{grid-column:2;display:flex;align-items:center;gap:9px;width:100%;min-width:0;margin:0}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:43px;height:43px;font-size:23px}
.head-tools .search-mini{width:auto;max-width:none;min-width:55px;flex:1 1 160px}
.head-tools .lang,.head-tools .login-btn{flex:none}
.header-main .nav{display:none;position:absolute;z-index:8;top:100%;left:max(24px,calc((100vw - 1250px)/2));width:min(340px,calc(100vw - 30px));background:#103957;color:#fff;border:1px solid #57809c;border-radius:0 0 16px 16px;padding:10px;box-shadow:0 14px 26px #102a4499;margin:0;flex-direction:column;align-items:stretch;gap:2px}
.header-main .nav.open{display:flex}
.header-main .nav a{font-size:16px;padding:12px;border-radius:8px;color:#fff}
.header-main .nav a:hover,.header-main .nav a.active{background:#285c79;color:#fff}
.previous-dates{border-top:2px solid #d8e8e1;margin-top:20px;padding-top:20px}
.previous-dates h3{margin:0 0 10px;font-size:19px}.previous-dates .date-list{margin:0}
.issue.archive{scroll-margin-top:15px}
@media(max-width:850px){.header-main{grid-template-columns:1fr;gap:10px;padding:11px 0}.header-main>.brand,.head-tools{grid-column:1}.head-tools{margin:0}.header-main .nav{width:min(340px,calc(100vw - 30px))}}
@media(max-width:580px){.head-tools{flex-wrap:nowrap;gap:5px}.head-tools .search-mini{order:0;flex:1 1 0;width:auto;min-width:0;height:39px}.head-tools .search-mini input{padding:0 5px;font-size:14px}.head-tools .search-mini button{padding:6px;font-size:18px}.menu-btn{order:-1;min-width:37px;width:37px;height:39px;padding:5px;font-size:21px}.head-tools .lang{order:1}.head-tools .lang button{padding:5px 6px;font-size:14px}.head-tools .login-btn{order:2;padding:9px 7px;font-size:14px}.header-main .nav{left:15px}.brand-tag{max-width:none;font-size:9px}}

/* Keep the menu at the actual left edge on wide and narrow screens. */
.header-main{grid-template-columns:auto auto minmax(0,1fr)}
.header-main>.menu-btn{grid-column:1;grid-row:1}
.header-main>.brand{grid-column:2;grid-row:1}
.header-main>.head-tools{grid-column:3;grid-row:1}
@media(max-width:850px){.header-main{grid-template-columns:auto minmax(0,1fr)}.header-main>.brand{grid-column:1/-1;grid-row:1}.header-main>.menu-btn{grid-column:1;grid-row:2}.header-main>.head-tools{grid-column:2;grid-row:2}}

/* Current Affairs: one selected edition with its own reading language. */
.ca-page-heading,.home-core-heading{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;margin-bottom:12px}
.ca-page-heading h1,.home-core-heading h1{font-size:clamp(20px,2.5vw,30px);margin:0;white-space:nowrap;min-width:0}
.ca-language{display:inline-flex;gap:3px;padding:4px;background:#eef3f8;border:1px solid #cbd8e5;border-radius:11px;flex:none}
.ca-language button{padding:9px 15px;font-size:15px;font-weight:800;border:0;background:transparent;color:#214561;border-radius:8px;cursor:pointer}
.ca-language button.active{background:#123e5d;color:white}
.ca-edition-controls{position:relative;display:flex;gap:10px;flex-wrap:nowrap;align-items:stretch;margin:12px 0}
.ca-edition-controls .tab{font-size:15px;min-height:44px;cursor:pointer;margin:0}.ca-edition-controls .tab.active{background:#123e5d;color:white}
.ca-state-menu{position:static;min-width:0;max-width:100%}.ca-state-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.4;white-space:nowrap;height:100%;box-sizing:border-box}.ca-state-menu summary::-webkit-details-marker{display:none}
.ca-state-options{position:absolute;top:calc(100% + 6px);left:0;right:auto;z-index:10;width:min(330px,100%);max-height:min(380px,60dvh);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;background:white;border:1px solid #cbd8e5;box-shadow:0 12px 30px #122c4429;border-radius:13px;padding:10px;display:grid;gap:3px}
.ca-state-options strong{font-size:14px;color:#617488;padding:8px}.ca-state-options button,.ca-state-read{border:0;background:white;color:#14384f;text-align:left;padding:11px;border-radius:7px;font-size:15px;cursor:pointer}.ca-state-options button:hover,.ca-state-options button[aria-pressed=true]{background:#e8f2ed}.ca-state-read{border-top:1px solid #d5e2e8;font-weight:700}
.ca-layout{grid-template-columns:270px minmax(0,1fr);grid-template-areas:'topics content';align-items:start}
.ca-main{grid-area:content;min-width:0}.ca-side{grid-area:topics;position:sticky;top:18px;min-width:0;padding:18px;max-height:75vh}.ca-side h3{margin:0 0 8px}.ca-edition-label{font-size:14px;font-weight:700;color:#385d71;margin:0 0 10px;line-height:1.5}
.ca-topic-scroll{max-height:560px;min-height:0}.ca-topic-scroll a{overflow-wrap:anywhere}.ca-main .story{scroll-margin-top:24px}
.ca-top{padding:15px 18px;margin-bottom:16px}.ca-top .periods{margin:0}
.home-current{overflow:visible}.home-ca-layout .ca-side{position:static;height:400px;max-height:400px}.home-ca-feed{background:#f7fbfa;padding:20px;height:400px;display:flex;flex-direction:column}.home-ca-feed h2{font-size:20px;margin:0 0 8px}
.ca-feed-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;color:#4e6977;margin-bottom:10px}.ca-motion-toggle{background:white;border:1px solid #cbded5;border-radius:7px;padding:6px 9px;color:#234e40;font-size:14px;cursor:pointer}
.ca-news-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#8cb8a4 transparent;flex:1}.ca-news-scroll ol{list-style:none;padding:0;margin:0}.ca-news-scroll li{border-bottom:1px solid #dbe7e3;padding:14px 0}.ca-news-scroll li>a{display:flex;gap:12px;line-height:1.65}.ca-news-scroll strong{font-size:17px}.ca-news-scroll small{display:block;font-size:14px;color:#557181;margin-top:3px}.ca-item-number{flex:none;display:flex;align-items:center;justify-content:center;background:#e0eee7;color:#125c47;border-radius:8px;width:28px;height:29px;font-weight:800;margin-top:4px}.ca-news-scroll a:hover strong{color:#08705e;text-decoration:underline}
.ca-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ca-admin-actions .btn{font-size:14px;padding:7px 12px;min-height:34px}.ca-admin-actions .danger{color:#a2212e;background:#fff0f1}.control-story{border:1px solid #d4e1e8;border-radius:12px;padding:15px;background:white}.control-story>strong{display:block;line-height:1.5}.control-story small{display:block;color:#58707e;margin-top:5px}
.story-editor{background:#f7fafb;border:1px solid #d2e0e7;border-radius:14px;padding:18px;min-width:0}.story-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.story-editor .field{min-width:0}.story-editor textarea,.story-editor input,.story-editor select{max-width:100%;width:100%;box-sizing:border-box}.story-editor textarea{font:inherit;line-height:1.7;min-height:80px}.story-editor fieldset{border:1px solid #cbdbe3;border-radius:10px;padding:14px;margin:15px 0;min-width:0}.story-editor legend{font-weight:800}.story-editor .check{display:inline-flex;align-items:center;gap:8px;margin:6px 14px 6px 0;font-size:14px}.story-editor .check input{width:auto}.story-editor details{margin-top:15px}.story-editor summary{cursor:pointer;font-weight:700;padding:8px 0}.story-editor .editor-fact-row{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-bottom:8px}.story-editor .actions{position:sticky;bottom:0;background:#f7fafb;padding:12px 0;z-index:1}.story-editor .json-editor{font-family:monospace;font-size:14px}
@media(max-width:850px){.ca-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'content' 'topics'}.ca-side{position:static;max-height:350px;width:100%;box-sizing:border-box}.home-ca-layout .ca-side{height:auto;max-height:350px}.home-ca-feed{height:400px}.ca-page-heading h1{font-size:26px}.ca-main{padding:18px}.story-editor-fields{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){.ca-language button{font-size:14px;padding:8px 12px}.home-current{padding:17px}.ca-edition-controls{gap:8px}.ca-edition-controls .tab{font-size:14px;padding:10px 12px}.ca-state-options{left:auto;right:0}.ca-page-heading,.home-core-heading{gap:10px}.home-ca-feed{padding:15px}.ca-news-scroll strong{font-size:16px}.story-editor{padding:12px}.story-editor .editor-fact-row{grid-template-columns:1fr}.ca-main .story h2{overflow-wrap:anywhere}.story table{width:100%;table-layout:fixed}.story th,.story td{overflow-wrap:anywhere}}

/* Keep the reading controls compact and the state popup inside the card. */
.ca-edition-controls>.tab{white-space:nowrap}
.ca-page-heading>.btn{margin-left:auto;font-size:14px;padding:8px 10px}
@media(max-width:580px){
  .home-current{padding:16px}.home-core-heading,.ca-page-heading{gap:8px;margin-bottom:10px;justify-content:flex-start}
  .home-core-heading h1,.ca-page-heading h1{font-size:20px;line-height:1.35;letter-spacing:-.4px}
  .ca-language{padding:3px;gap:2px;border-radius:9px}.ca-language button{font-size:14px;padding:7px 8px;min-height:34px;line-height:1.3}
  .ca-edition-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:7px;margin:10px 0 12px}
  .ca-edition-controls .tab{font-size:14px;padding:10px 7px;min-width:0;min-height:43px;width:100%;box-sizing:border-box;line-height:1.4}
  .ca-state-options{left:0;right:0;width:100%;max-width:100%;padding:8px;max-height:min(360px,55dvh)}
  .ca-state-options button,.ca-state-options strong,.ca-state-read{font-size:14px;padding:10px;white-space:normal;overflow-wrap:anywhere}
  .home-ca-layout{gap:12px}.home-ca-feed h2{font-size:18px}.home-ca-feed{padding:14px}
  .ca-page-heading:has(>.btn){flex-wrap:wrap}.ca-page-heading>.btn{margin-left:0}
}
@media(max-width:360px){
  .home-current{padding:13px}.home-core-heading h1,.ca-page-heading h1{font-size:18px}
  .ca-language button{font-size:14px;padding:7px 6px}.ca-edition-controls .tab{font-size:14px;padding:10px 5px}.ca-state-menu summary{gap:3px}
}

/* Signed-in study workspace; guest content uses the same cards and controls. */
body.signed-in{padding-left:232px;background:#f4f6fa}
.dashboard-sidebar{position:fixed;inset:0 auto 0 0;width:232px;z-index:42;background:linear-gradient(170deg,#132b4b,#10233e 70%);color:#edf3fb;display:flex;flex-direction:column;padding:26px 14px 18px;overflow-y:auto;overscroll-behavior:contain}
.dashboard-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 27px;border-bottom:1px solid #ffffff20}
.dashboard-sidebar .brand{gap:10px;min-width:0}.dashboard-sidebar .brand-name{font-size:26px;letter-spacing:-.7px}.dashboard-sidebar .brand-mark{width:39px;height:42px;flex:none}.dashboard-brand-caption{display:block;color:#c3cfdf;font-size:14px;margin-top:7px}
.dashboard-nav-label{font-size:14px;letter-spacing:.1em;color:#92a8c3;font-weight:700;margin:27px 13px 13px}
.dashboard-nav{display:grid;gap:7px}.dashboard-nav a,.dashboard-sidebar-bottom a,.dashboard-sidebar-bottom button{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:10px;color:#e7edf6;font-size:15px;font-weight:650;line-height:1.45;min-height:48px;border:1px solid transparent;transition:background .2s,color .2s}
.dashboard-nav a:hover,.dashboard-sidebar-bottom a:hover,.dashboard-sidebar-bottom button:hover{background:#ffffff12;color:white}.dashboard-nav a.active{background:#f2bb54;color:#152943;box-shadow:0 4px 16px #00000015}
.dashboard-icon{width:21px;height:21px;flex:0 0 21px}.dashboard-sidebar-bottom{margin-top:auto;padding-top:28px}.dashboard-sidebar-bottom button{background:none;width:100%;font:inherit;font-size:15px;text-align:left}
.dashboard-header{min-height:98px;background:white;border-bottom:1px solid #e1e7ef;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 28px;position:relative;z-index:25}
.dashboard-heading{min-width:0}.dashboard-heading small{display:block;font-size:14px;color:#62738a;line-height:1.5}.dashboard-heading strong{display:block;font-size:24px;color:#1d3453;margin-top:3px;line-height:1.35}
.dashboard-tools{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 600px;justify-content:flex-end}.dashboard-tools .search-mini{width:auto;flex:1 1 210px;min-width:80px;height:44px;border:1px solid #d9e2ed;background:#f8fafc}.dashboard-tools .search-mini input{background:transparent;font-size:14px}.dashboard-tools .search-mini button{font-size:24px}
.dashboard-tools .lang{border-color:#d1dcea;background:#f5f8fc}.dashboard-tools .lang button{color:#365170;font-size:14px;padding:7px 9px}.dashboard-tools .lang button.active{background:#173f60;color:white}
.dashboard-menu-btn,.dashboard-close{display:none}.dashboard-backdrop[hidden]{display:none}
.account-menu{position:relative;flex:none}.account-menu>summary{list-style:none;display:flex;align-items:center;gap:8px;border:1px solid #dce5ef;border-radius:30px;padding:4px 11px 4px 4px;cursor:pointer;color:#273d58;font-size:14px;font-weight:700;background:white;min-height:44px}.account-menu>summary::-webkit-details-marker{display:none}.account-summary-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-avatar{width:35px;height:35px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:#e6effb;color:#1c4a77;border:1px solid #c7d9ed;font-weight:800;font-size:18px;text-transform:uppercase}
.account-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:min(300px,calc(100vw - 30px));max-height:75dvh;overflow-y:auto;background:white;color:#233950;border:1px solid #d8e2ee;border-radius:16px;padding:10px;box-shadow:0 16px 50px #152b4826;z-index:50}
.account-dropdown-heading{display:flex;gap:11px;align-items:center;padding:9px 6px 17px;margin-bottom:6px;border-bottom:1px solid #e4eaf2}.account-dropdown-heading>div{min-width:0}.account-dropdown-heading strong{display:block;font-size:16px;overflow-wrap:anywhere}.account-dropdown-heading small{display:block;font-size:14px;color:#718095;margin-top:4px;overflow-wrap:anywhere}
.account-dropdown>a,.account-dropdown>button{width:100%;display:flex;align-items:center;gap:11px;font-size:14px;padding:12px 10px;border:0;border-radius:8px;background:white;color:#294562;text-align:left;font-weight:700}.account-dropdown>a:hover,.account-dropdown>button:hover{background:#edf3fa}.account-dropdown>button{color:#a03041;border-top:1px solid #edf0f5;margin-top:5px}
.signed-in .wrap{width:min(1380px,calc(100% - 48px))}.signed-in .home-core{padding-top:24px;background:#f4f6fa}.signed-in .home-current,.signed-in .home-simple,.signed-in .home-notes{border-radius:18px}.signed-in .home-current:hover,.signed-in .home-simple:hover,.signed-in .home-notes:hover{transform:none}.signed-in .footer{margin-top:0}
.dashboard-home-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.dashboard-rail-card{background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:20px;min-width:0}.home-core .dashboard-rail-card h2{font-size:18px;letter-spacing:-.3px;line-height:1.4;margin:0 0 15px;color:#233c59}
.dashboard-shortcut{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #e9edf3;font-size:14px;color:#325677;font-weight:650}.dashboard-shortcut:hover{color:#13745a}.dashboard-recent{list-style:none;padding:0;margin:0}.dashboard-recent li+li{border-top:1px solid #e9edf3}.dashboard-recent a{display:block;padding:12px 0;font-size:14px;line-height:1.6}.dashboard-recent small{display:block;color:#78879a;font-size:14px;margin-bottom:4px}.dashboard-recent a:hover span{text-decoration:underline;color:#13745a}.dashboard-recent li:first-child a{padding-top:0}
#profile,#password,#my-courses{scroll-margin-top:20px}
.home-ca-periods{position:relative;flex:0 0 auto;min-width:0;height:70px;margin-top:8px;padding:0;background:transparent;border-radius:10px;overflow:visible!important}
.home-ca-periods .ca-controls[hidden]{display:none}
.notice-menu{flex:none;position:static}.notice-menu>summary{position:relative;display:flex;align-items:center;justify-content:center;list-style:none;width:42px;height:42px;border:1px solid #d1dcea;border-radius:12px;background:#f8fafc;color:#254661;cursor:pointer}.notice-menu>summary::-webkit-details-marker{display:none}.notice-menu svg{width:23px;height:23px}.notice-badge{position:absolute;top:-6px;right:-6px;min-width:19px;padding:2px 4px;border-radius:12px;background:#b43724;color:white;font-size:14px;font-weight:800;text-align:center}.notice-badge[hidden]{display:none}.notice-popover{position:absolute;z-index:60;right:20px;top:calc(100% - 5px);width:min(390px,calc(100vw - 30px));max-height:min(540px,70dvh);display:flex;flex-direction:column;background:white;border:1px solid #d5e1e9;border-radius:15px;box-shadow:0 16px 45px #142d4829;color:#1d364b;overflow:hidden}.notice-panel-heading{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e8ed;flex:none}.notice-panel-heading strong{font-size:18px}.notice-panel-heading a{font-size:14px;color:#135d49;text-decoration:underline}.notice-inbox{overflow-y:auto;overscroll-behavior:contain;min-height:0}.notice-empty{padding:15px;margin:0;font-size:14px;line-height:1.6}.notice-item{padding:14px 16px;border-bottom:1px solid #e0e8ed;overflow-wrap:anywhere}.notice-item summary{cursor:pointer;list-style:none;font-size:16px;font-weight:700;line-height:1.5}.notice-item summary::-webkit-details-marker{display:none}.notice-item small,.sent-notice small{display:block;font-size:14px;color:#617789;font-weight:700;margin-top:5px}.notice-item p,.sent-notice p{white-space:pre-wrap;font-size:15px;line-height:1.65;margin:12px 0 0}.notice-unread{background:#f0f7fd;border-left:3px solid #1d658f}.notice-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.notice-compose,.notice-sent{padding:24px;min-width:0}.notice-control-grid h2{font-size:22px;margin-top:0}.notice-compose p{font-size:15px;line-height:1.6}.notice-compose textarea{font:inherit;resize:vertical;width:100%;min-height:100px}.notice-translation{padding:10px 0 18px}.notice-translation summary{font-size:14px;cursor:pointer;margin-bottom:12px}.sent-notice{padding:18px 0;border-bottom:1px solid #dbe5ec}.sent-notice:first-of-type{padding-top:0}.sent-notice>strong{font-size:17px}.sent-notice .btn{margin-top:12px}.control-notices-link{display:block;padding:12px 14px;border-radius:9px;background:#eaf2f7;font-weight:700;color:#174f6d}
@media(max-width:700px){.notice-popover{right:12px}.notice-menu>summary{width:36px;height:40px}.notice-menu svg{width:21px}.notice-control-grid{grid-template-columns:minmax(0,1fr)}.notice-compose,.notice-sent{padding:18px}}
.home-ca-periods .ca-controls.periods{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#aacabc transparent;padding:4px;margin:0;background:#e9f4ee;border-radius:10px}
.home-ca-periods .ca-controls.periods .period-choice{min-height:56px;min-width:0;padding:5px 4px;border-radius:8px;scroll-snap-align:start;line-height:1.2}
.home-ca-periods .period-choice strong{font-size:14px}.home-ca-periods .period-choice span:not(.gold-lock){font-size:14px}.home-ca-periods .period-choice small{font-size:14px}
@media(max-width:580px){.home-ca-periods .ca-controls.periods{grid-template-columns:repeat(6,minmax(86px,1fr))}}
.home-ca-feed>h2{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}.home-ca-open{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:1px solid #c7dcd3;border-radius:8px;color:#175344;font-size:24px;background:white}.home-ca-open:hover{background:#e1efe9}.ca-period-toggle{background:white;color:#254c40;border:1px solid #cbded5;border-radius:7px;padding:6px 9px;font-size:14px;cursor:pointer}.ca-feed-toolbar{flex:0 0 auto;flex-wrap:wrap;gap:6px;margin-bottom:4px}.ca-feed-toolbar>span{margin-right:auto}.ca-news-scroll{flex:1 1 0;min-width:0}.ca-news-scroll li{padding:9px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.ca-news-scroll li>a{min-width:0;line-height:1.45}.ca-news-scroll li>a>span:last-child{min-width:0;overflow-wrap:anywhere}.ca-news-scroll .ca-admin-actions{margin:0;gap:4px}.ca-news-scroll .ca-admin-actions .btn{font-size:14px;min-height:30px;padding:5px 7px}
@media(max-width:580px){.ca-news-scroll li{grid-template-columns:minmax(0,1fr);gap:5px}.ca-news-scroll .ca-admin-actions{margin-left:40px}.home-ca-feed>h2{font-size:18px}.ca-feed-toolbar{font-size:14px}.ca-period-toggle,.ca-motion-toggle{font-size:14px;padding:6px}}
.dashboard-mobile-wordmark{display:none}.dashboard-brand-caption{font-size:14px;line-height:1.5;max-width:148px}
@media(min-width:1600px){.signed-in .home-current{padding:24px}.signed-in .home-ca-layout{grid-template-columns:235px minmax(0,1fr)}}
@media(min-width:1101px) and (max-width:1270px){.signed-in .ca-layout{grid-template-columns:215px minmax(0,1fr);gap:12px}.signed-in .home-current{padding:20px}.dashboard-header{gap:15px;padding-inline:24px}.dashboard-tools{gap:8px;flex-basis:490px}.account-summary-name{display:none}}
@media(max-width:1100px){
  .dashboard-mobile-wordmark{display:inline;color:#1a4c6b;font-weight:800}
  body.signed-in{padding-left:0}.dashboard-sidebar{width:260px;max-width:calc(100vw - 48px);transform:translateX(-100%);visibility:hidden;transition:transform .24s ease,visibility .24s}.dashboard-menu-open .dashboard-sidebar{transform:translateX(0);visibility:visible}.dashboard-menu-open{overflow:hidden}
  .dashboard-close{display:grid;place-items:center;width:32px;height:32px;flex:none;background:#ffffff14;color:white;border:0;border-radius:8px;font-size:24px}.dashboard-backdrop{position:fixed;inset:0;z-index:41;background:#09192e85;border:0;backdrop-filter:blur(2px)}
  .dashboard-menu-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#edf3f9;border:1px solid #d3dfed;border-radius:10px;color:#193e60;font-size:23px}.dashboard-tools{flex-basis:620px}.account-summary-name{display:none}
}
@media(max-width:700px){.dashboard-header{display:block;padding:15px}.dashboard-heading{margin-bottom:14px;display:flex;gap:12px;align-items:baseline;justify-content:space-between}.dashboard-heading small{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-heading strong{font-size:19px;max-width:55%;line-height:1.3;text-align:right}.dashboard-tools{width:100%;gap:7px;justify-content:flex-start}.dashboard-tools .search-mini{width:auto;flex:1 1 0;min-width:0;height:42px;order:0}.dashboard-tools .search-mini input{font-size:14px;padding:0 7px}.dashboard-tools .search-mini button{padding:6px;font-size:22px}.dashboard-tools .lang{order:0;padding:3px}.dashboard-tools .lang button{font-size:14px;padding:7px}.account-menu{order:0}.account-menu>summary{padding:3px;border-radius:50%;border:0;min-height:42px}.account-menu>summary>span:last-child{display:none}.account-avatar{width:38px;height:38px}.dashboard-menu-btn{width:40px;height:42px}.signed-in .wrap{width:calc(100% - 30px)}.signed-in .home-core{padding-top:18px}.dashboard-home-rail{grid-template-columns:1fr}.dashboard-rail-card{padding:18px}}
@media(max-width:360px){.dashboard-tools{gap:5px}.dashboard-tools .lang button{padding:6px 5px}.dashboard-tools .search-mini input{font-size:14px}.dashboard-menu-btn{width:36px}.account-avatar{width:34px;height:34px}}

.home-ca-periods>.ca-period-toggle{position:absolute;right:2px;top:-23px;z-index:5;min-height:22px;padding:2px 7px;font-size:14px;line-height:1.4;border-radius:6px;white-space:nowrap}
.home-ca-feed[data-detached-periods]{position:relative}.home-ca-periods[data-detached]{position:absolute!important;bottom:var(--feed-inset-bottom);left:var(--feed-inset-left);width:var(--period-anchor-width);margin-top:0}
.home-ca-periods>.ca-period-toggle{background:#1763c6;color:#fff;border-color:#1255ad;font-weight:700;box-shadow:0 2px 6px #16498533}.home-ca-periods>.ca-period-toggle:hover{background:#104e9f}.home-ca-periods>.ca-period-toggle:focus-visible{outline:3px solid #79b9ff;outline-offset:2px}

/* The same edge-to-edge study cards for guests and signed-in students. */
.home-core>.wrap,.signed-in .home-core>.wrap{width:calc(100% - 32px);max-width:none;grid-template-columns:minmax(0,1fr);gap:16px}
.home-core>.wrap>.home-current,.home-core>.wrap>.home-test,.home-core>.wrap>.home-notes{width:100%;min-width:0}
.home-core .home-test-routes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.home-test-routes a{text-align:center;overflow-wrap:anywhere}
.home-core .home-note-grid{display:flex;flex-wrap:wrap}.home-note-grid .home-note-item{flex:1 1 220px;min-width:0}
.period-reveal{background:#1763c6;color:#fff;border-color:#1255ad}.period-reveal:hover{background:#104e9f}
@media(max-width:1000px){.home-core .home-test-routes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.home-core>.wrap,.signed-in .home-core>.wrap{width:calc(100% - 20px);gap:12px}.home-core .home-test-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-test-routes a{padding:10px}.home-note-grid .home-note-item{flex-basis:100%}}

/* Keep every content area's latest updates in the right-hand rail. */
.dashboard-home-rail{display:flex;flex-direction:column;gap:14px;min-width:0}
.latest-updates-card{padding:18px}.latest-update-group+.latest-update-group{border-top:1px solid #dbe5ec;margin-top:18px;padding-top:16px}
.latest-update-group h3{margin:0 0 8px;font-size:16px;line-height:1.4;color:#175344}.latest-update-group h3 a:hover{text-decoration:underline}
.latest-update-group .dashboard-recent{max-height:230px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.latest-update-group .dashboard-recent li.muted{font-size:14px;line-height:1.6;padding:8px 0}.latest-update-group .dashboard-recent a{overflow-wrap:anywhere}
@media (min-width:1101px){
 .home-core>.wrap,.signed-in .home-core>.wrap{grid-template-columns:minmax(0,1fr) clamp(238px,20vw,290px);align-items:start}
 .home-core>.wrap>.home-current,.home-core>.wrap>.home-test,.home-core>.wrap>.home-notes{grid-column:1}
 .dashboard-home-rail{grid-column:2;grid-row:1/4;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .home-ca-layout,.signed-in .home-ca-layout{grid-template-columns:220px minmax(0,1fr);gap:14px}
 .home-core .home-test-routes{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1600px){.home-core .home-test-routes{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* One shared, balanced gutter for every page and both account layouts. */
:root{--page-gutter:24px}
.wrap.page,.signed-in .wrap.page,.home-core>.wrap,.signed-in .home-core>.wrap,.site-header>.wrap,.footer>.wrap{width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:none;margin-inline:auto}
.page{padding-top:24px;padding-bottom:40px}.page-top{margin-bottom:24px}
.home-core{padding-bottom:28px}.home-core+.footer,.page+.footer{margin-top:0}
.page .note,.page .search-results{width:100%;max-width:none}
.page .grid.three,.page .subject-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.page .grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.page>.ca-layout{gap:12px}.page>.ca-layout>.ca-main{padding:20px}.page>.ca-layout>.ca-side{padding:14px}
.dashboard-header{padding-inline:var(--page-gutter)}
@media (min-width:851px){.page>.ca-layout,.signed-in .page>.ca-layout{grid-template-columns:230px minmax(0,1fr)}}
@media (max-width:850px){:root{--page-gutter:18px}.page{padding-top:20px;padding-bottom:32px}.page>.ca-layout>.ca-main{padding:16px}}
@media (max-width:580px){:root{--page-gutter:16px}.page{padding-top:16px;padding-bottom:28px}.page-top{margin-bottom:20px}.home-core{padding-bottom:20px}.page>.ca-layout{gap:10px}.page>.ca-layout>.ca-main,.page>.ca-layout>.ca-side{padding:14px}.page .note{padding:20px}}

/* One compact period row; members collapse it after choosing a range. */
.ca-period-bar,.home-ca-periods{display:flex;align-items:center;gap:6px;min-width:0;height:auto;padding:6px;border-radius:10px;background:#e9f4ee}
.ca-period-bar{margin-bottom:12px}.home-ca-periods{margin-top:6px}
.ca-period-bar .ca-controls.periods,.home-ca-periods .ca-controls.periods{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;padding:0;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.ca-period-bar .ca-controls.periods[hidden],.home-ca-periods .ca-controls.periods[hidden]{display:none!important}
.ca-period-bar .ca-controls.periods .period-choice,.home-ca-periods .ca-controls.periods .period-choice{display:inline-flex;flex:1 0 auto;flex-direction:row;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 9px;line-height:1.3;white-space:nowrap;border-radius:7px}
.ca-period-bar .period-choice strong,.home-ca-periods .period-choice strong{font-size:14px}.ca-period-bar .period-choice small,.home-ca-periods .period-choice small{font-size:14px}
.ca-period-bar .period-choice>span:not(.gold-lock),.home-ca-periods .period-choice>span:not(.gold-lock){display:none}
.ca-period-bar>.ca-period-toggle,.home-ca-periods>.ca-period-toggle{position:static;flex:0 0 auto;align-self:center;width:auto;min-height:34px;margin:0;padding:6px 9px;font-size:14px;line-height:1.3;border-radius:7px;background:#1763c6;color:#fff;white-space:nowrap}
.ca-period-bar[data-periods-hidden=true],.home-ca-periods[data-periods-hidden=true]{background:transparent;padding:0;min-height:0}
@media (max-width:580px){.ca-period-bar .ca-controls.periods .period-choice,.home-ca-periods .ca-controls.periods .period-choice{min-height:40px}.ca-period-bar>.ca-period-toggle,.home-ca-periods>.ca-period-toggle{min-height:40px}}
@media (max-width:700px){.dashboard-home-rail>.latest-updates-card{order:2}.dashboard-home-rail>.dashboard-rail-card:not(.latest-updates-card){order:1}.ca-period-bar>.ca-period-toggle,.home-ca-periods>.ca-period-toggle{min-height:40px}}
.previous-dates .date-list{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px;scrollbar-width:thin}
.previous-dates .date-list>.tab{flex:0 0 auto;white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;padding:7px 10px}
.earlier-date-select{flex:0 0 auto;width:auto;max-width:220px;min-height:36px;border:1px solid #cbd8e5;border-radius:9px;background:white;color:#173f60;padding:7px 10px;font-size:14px;font-weight:700;cursor:pointer}

.ca-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:28px 0 0;padding-top:18px;border-top:1px solid #d8e3e7}.ca-downloads small{font-size:.85rem}.ca-topic-collection>h2{padding:14px 0;border-bottom:2px solid #c9dce6;margin:24px 0}.ca-topic-collection .story{margin-bottom:18px}
@media(min-width:701px){.ca-period-bar .ca-controls.periods,.home-ca-periods .ca-controls.periods{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;overscroll-behavior:auto}.ca-period-bar .ca-controls.periods .period-choice,.home-ca-periods .ca-controls.periods .period-choice{flex:1 0 auto;min-width:max-content}}
@media(max-width:700px){.ca-period-bar .ca-controls.periods,.home-ca-periods .ca-controls.periods{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.ca-period-bar .period-choice,.home-ca-periods .period-choice{scroll-snap-align:start}}

.home-ca-title{color:inherit;text-decoration:none}.home-ca-title:hover{text-decoration:underline}

/* Student-controlled period picker stays inside its Current Affairs surface. */
.ca-popup-boundary{position:relative!important;isolation:isolate}
.ca-period-dock{height:44px;min-width:0;flex:0 0 44px;margin:6px 0}
.ca-period-popup{position:absolute;z-index:18;width:250px;max-width:calc(100% - 16px);background:#fff;border:1px solid #b9cfe8;border-radius:12px;box-shadow:0 8px 24px #15365325;overflow:hidden;color:#173f60}
.ca-popup-handlebar{display:flex;align-items:center;background:#1763c6;color:white;min-height:42px}
.ca-popup-handlebar button{border:0;background:transparent;color:inherit;min-height:42px;padding:8px;font-weight:700}
.ca-popup-drag{flex:0 0 36px;touch-action:none;cursor:grab;font-size:23px;user-select:none}.ca-period-popup.dragging .ca-popup-drag{cursor:grabbing}
.ca-popup-toggle{flex:1;min-width:0;font-size:14px;text-align:left}.ca-popup-reset{flex:0 0 36px;font-size:20px}
.ca-popup-body{padding:8px;max-height:min(300px,50dvh);overflow:auto;overscroll-behavior:contain}.ca-popup-body[hidden]{display:none!important}
.ca-popup-body .ca-controls.periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ca-popup-body .ca-controls.periods .period-choice{min-height:48px;min-width:0;padding:7px;white-space:normal;line-height:1.3;border-radius:8px}
.ca-popup-body .period-choice strong{font-size:14px}.ca-popup-body .period-choice>span:not(.gold-lock){display:none}.ca-popup-body .period-choice small{font-size:14px}
@media(max-width:700px){
 .home-current,.home-ca-layout,.ca-main,.ca-side,.home-notes,.home-test,.dashboard-home-rail,.story{min-width:0;max-width:100%}
 .home-core-heading,.ca-page-heading{display:flex;flex-wrap:nowrap;gap:6px}.home-core-heading h1,.ca-page-heading h1{min-width:0;flex:1;font-size:clamp(17px,5vw,22px);overflow-wrap:anywhere}.ca-language{flex:none}.ca-language button{font-size:14px;padding:7px 6px}
 .brand{min-width:0}.brand-tag{white-space:normal;overflow-wrap:anywhere}.head-tools{min-width:0}.head-tools .search-mini{min-width:0}.dashboard-tools{gap:4px}.dashboard-tools .lang button{padding:7px 5px}
 .ca-edition-controls{min-width:0}.ca-edition-controls .tab{white-space:normal;overflow-wrap:anywhere}.ca-state-options{max-width:100%;left:0;right:0;box-sizing:border-box}
 .home-note-grid,.home-test-routes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-note-item,.home-test-routes a{min-width:0;white-space:normal;overflow-wrap:anywhere}
 .home-notes-head,.section-head{flex-wrap:wrap;gap:10px}.story{overflow-wrap:anywhere}.story table{width:100%;max-width:100%;table-layout:fixed}.story th,.story td{white-space:normal;overflow-wrap:anywhere}
 #app .home-current,#app .home-ca-layout,#app .ca-main,#app .ca-side{width:auto!important;max-width:100%!important;min-width:0!important}
 .ca-period-popup{width:230px}.ca-popup-boundary.card:hover{transform:none}
}

/* Compact movable chooser on phones. */
.ca-period-popup{width:190px;border-radius:9px}
.ca-popup-handlebar,.ca-popup-handlebar button{min-height:32px}
.ca-popup-handlebar button{padding:5px 6px}
.ca-popup-drag{flex-basis:28px;font-size:19px}.ca-popup-toggle{font-size:14px}.ca-popup-reset{flex-basis:28px;font-size:17px}
.ca-popup-body{padding:6px}.ca-popup-body .ca-controls.periods{gap:4px}
.ca-popup-body .ca-controls.periods .period-choice{min-height:36px;padding:5px;border-radius:6px}
.ca-popup-body .period-choice strong{font-size:14px}.ca-popup-body .period-choice small{font-size:14px}.ca-popup-body .gold-lock{font-size:14px}
.ca-period-dock{height:34px;flex-basis:34px}
/* Raise the entire selector stacking context, not only its dropdown child. */
.ca-edition-controls:has(.ca-state-menu[open]){position:relative!important;z-index:40!important;overflow:visible!important}
.ca-state-menu[open]{overflow:visible!important}
.ca-state-menu[open]>.ca-state-options{z-index:41!important;pointer-events:auto;visibility:visible;max-height:min(380px,60dvh)}

/* Fixed to the phone screen, outside transformed content ancestors. */
.ca-period-popup{width:156px;border-radius:8px}
.ca-period-fixed{position:fixed!important;z-index:35;max-width:calc(100vw - 16px);margin:0!important;transform:none!important}
.ca-popup-handlebar,.ca-popup-handlebar button{min-height:29px}.ca-popup-handlebar button{padding:4px}
.ca-popup-drag{flex-basis:23px;font-size:17px}.ca-popup-toggle{font-size:14px}.ca-popup-reset{flex-basis:23px;font-size:15px}
.ca-popup-body{padding:4px}.ca-popup-body .ca-controls.periods{gap:3px}.ca-popup-body .ca-controls.periods .period-choice{min-height:32px;padding:4px}.ca-popup-body .period-choice strong{font-size:14px}.ca-popup-body .period-choice small{font-size:9px}
/* Consistent compact spacing across reading, catalogue and account pages. */
.page{padding-top:16px;padding-bottom:24px;min-height:0}.page-top{margin-bottom:16px}.section{padding-block:36px}.section.tight{padding-block:24px}.section-head{margin-bottom:16px;gap:12px}
.home-core,.signed-in .home-core{padding-top:16px;padding-bottom:20px}.home-core>.wrap{row-gap:14px}.grid,.subject-grid,.home-updates{gap:14px}
.footer{margin-top:24px;padding-block:24px}.page+.footer,.home-core+.footer{margin-top:0}.dashboard-header{min-height:80px;padding-block:14px}.dashboard-rail-card{padding:16px}
@media(max-width:700px){
 :root{--page-gutter:16px}
 .page{padding-top:12px;padding-bottom:16px}.page-top{margin-bottom:12px}.section{padding-block:24px}.section.tight{padding-block:16px}.section-head{margin-bottom:12px}
 .home-core,.signed-in .home-core{padding-top:12px;padding-bottom:16px}.home-core>.wrap{row-gap:12px}.home-current,.home-simple,.home-notes{padding:12px}.grid,.subject-grid,.home-updates{gap:12px}
 .page>.ca-layout>.ca-main,.page>.ca-layout>.ca-side{padding:12px}.dashboard-header{padding:12px var(--page-gutter)}.dashboard-heading{margin-bottom:8px}.footer{margin-top:16px;padding-block:18px}
 .course-card,.subject-card,.feature{padding:18px;min-height:0}.empty{padding:18px}.page .note{padding:16px}.callout{padding:20px}.actions{margin-top:16px}.home-notes-head{margin-bottom:12px}
}

/* Reading rhythm: avoid stacked heading/paragraph/card margins. */
.page,.signed-in .page{padding-block:10px 16px}.page-top{margin-bottom:10px}.page-top h1{margin-block:6px}.page-intro{margin-block:6px}
.section,.section.tight{padding-block:16px}.section-head{margin-bottom:10px}.section-head h2{margin-top:4px}
.ca-main>.issue>h2,.ca-main>h2{margin-block:6px 10px;padding-top:0}
.story,.ca-topic-collection .story{padding:14px 0;margin-bottom:0}.story h2{margin-block:6px}.story h3{margin-block:10px 6px}.story p{margin-block:8px;line-height:1.6}.story table{margin-block:10px}.story th,.story td{padding:8px}.story .revision{padding:9px}.story .mcq-preview{margin-top:8px;padding:10px 12px}
.ca-topic-collection>h2{margin-block:12px 6px;padding-block:8px}.issue.archive{margin-top:16px;padding-top:6px}.previous-dates{margin-top:14px}.previous-dates h3{margin-block:8px}.ca-downloads{margin-top:14px;padding-top:12px}
.home-core,.signed-in .home-core{padding-block:10px 14px}.home-core>.wrap,.signed-in .home-core>.wrap{row-gap:10px}.home-simple,.home-notes{padding:16px}.home-test-routes{margin-top:10px}.home-notes-head{margin-bottom:10px}.home-core .dashboard-rail-card h2{margin-bottom:10px}
.page .note p{margin-block:8px}.page .note h2,.page .note h3{margin-block:12px 6px}.footer{margin-top:12px;padding-block:16px}
#app :is(.story,.ca-topic-collection,.issue,.home-test,.home-notes,.page-top)[style*="height"]{height:auto!important;min-height:0!important}
@media(max-width:700px){.ca-period-dock{height:0;flex-basis:0;margin:0}.home-simple,.home-notes{padding:12px}.story,.ca-topic-collection .story{padding-block:12px}.page>.ca-layout>.ca-main{padding:10px}.section,.section.tight{padding-block:12px}}
.search-result{display:block;padding:14px;border:1px solid #dce5ec;border-radius:12px;background:white;margin-bottom:10px;overflow-wrap:anywhere}.search-result strong{display:block;margin-top:6px;font-size:17px}.search-result p{font-size:14px;line-height:1.55;margin:6px 0 0;color:#52677a}.search-result:hover{border-color:#1763c6;background:#f5f9fd}

/* Let the moving list fill its card, without an invisible reserved footer. */
#app .home-ca-feed{box-sizing:border-box;display:flex;flex-direction:column;gap:0}
#app #home-ca-headlines{flex:1 1 0%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:0!important}
#app #home-ca-headlines>ol{height:auto!important;min-height:0!important;margin:0;padding-bottom:0}
.ca-period-popup .ca-popup-body .ca-controls.periods{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible}
.owner-design-launch{touch-action:none}.owner-design-launch:active{cursor:grabbing}

[data-admin-hidden]{outline:2px dashed #bd861d!important;outline-offset:-2px}
[data-admin-hidden]::before{content:attr(data-admin-hidden);display:block;background:#fff1cb;color:#704600;font:700 12px/1.5 sans-serif;padding:3px 6px;width:fit-content;max-width:100%}
.admin-hidden-label{display:inline-block;background:#fff1cb;color:#704600;border:1px dashed #bd861d;border-radius:5px;padding:4px 7px;font-size:14px}
.hidden-content-page{padding:20px;min-width:0}
.hidden-content-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hidden-content-heading h1{font-size:24px;line-height:1.35;margin:0;overflow-wrap:anywhere}.hidden-content-heading .btn{flex:none}
.hidden-content-status{font-size:14px;color:#58707e;margin:8px 0 14px}.hidden-content-item{padding:15px 0;border-top:1px solid #d5dfe4}.hidden-content-item strong,.hidden-content-item small{display:block;overflow-wrap:anywhere}.hidden-content-item strong{font-size:16px;line-height:1.5}.hidden-content-item small{font-size:14px;margin:5px 0 10px;color:#567}.hidden-content-item>div{display:flex;gap:16px;align-items:center}.hidden-content-item button{background:#1763c6;color:white;border:0;border-radius:7px;padding:9px 14px;font-size:14px;min-height:40px;cursor:pointer}.hidden-content-item a{font-size:14px;text-decoration:underline}.hidden-content-item button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.hidden-content-page{padding:14px}.hidden-content-heading h1{font-size:21px}.hidden-content-heading .btn{padding:8px 10px}}

/* Keep the desktop period links above neighbouring edited content. */
.ca-period-bar,.home-ca-periods{position:relative;z-index:20;pointer-events:auto}
.period-choice{pointer-events:auto;cursor:pointer}.period-choice[aria-busy=true]{opacity:.65}
/* Saved edition-row offsets can overlap the period row. Only the actual
   edition controls should receive input; its transparent filler must not. */
.ca-edition-controls{pointer-events:none!important}
.ca-edition-controls>.tab,.ca-edition-controls>.ca-state-menu{pointer-events:auto!important}

/* Compact switch between the rolling collection and daily issues. */
.ca-content-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ca-content-topline>h2{margin:0;font-size:22px;line-height:1.4;min-width:0}.ca-date-mode{display:inline-flex;align-items:center;justify-content:center;flex:none;white-space:nowrap;background:#edf4fc;color:#14529a;border:1px solid #b7cce5;border-radius:7px;font-size:14px;font-weight:700;padding:6px 9px;min-height:30px;line-height:1.3}.ca-date-mode:hover{background:#dceafd}.ca-date-mode:focus-visible{outline:3px solid #7bb7ed;outline-offset:2px}@media(max-width:580px){.ca-content-topline{gap:7px}.ca-content-topline>h2{font-size:18px}.ca-date-mode{padding:6px 8px}}

/* PadhoPlus study palette: strong navigation, calm reading, distinct subjects. */
:root{--navy:#122443;--navy2:#233f67;--ink:#20324b;--muted:#566b82;--paper:#f3f6fc;--line:#dce4ef;--mint:#d6f2e8;--green:#087362;--coral:#ffad8e;--lav:#eee8ff;--blue:#e7efff;--shadow:0 16px 40px #16355a12}
.site-header{background:#142d53;border-bottom:3px solid #477fe6}.footer{background:#142d53;border-top:3px solid #38ae9c}
.dashboard-sidebar{background:linear-gradient(170deg,#163b69,#122443 75%)}
.dashboard-nav a.active{background:#dceaff;color:#173b68;border-left:3px solid #83b6ff;box-shadow:none}
.dashboard-nav a[href^="/current-affairs"] .dashboard-icon{color:#74d6c6}.dashboard-nav a[href^="/tests"] .dashboard-icon{color:#ffc17e}.dashboard-nav a[href^="/notes"] .dashboard-icon,.dashboard-nav a[href^="/subjects"] .dashboard-icon{color:#c1b0ff}.dashboard-nav a.active .dashboard-icon{color:inherit}
.dashboard-header{border-bottom:2px solid #dce6fa;box-shadow:0 3px 14px #18396005}.dashboard-heading strong{color:#214d87}
.account-avatar{background:#e5f4ef;color:#086857;border-color:#b7dfd2}.lang button.active,.dashboard-tools .lang button.active{background:#255da7;color:#fff}
.home-core,.signed-in .home-core{background:#f3f6fc}
.home-current,.signed-in .home-current{border-top:4px solid #2679b9;background:#f8fcff}
.home-core-heading h1,.home-ca-title{color:#19558c}.home-ca-feed{background:#fff;border-color:#ccdfef}
.home-test{border-top:4px solid #dc8640;background:#fffaf2}.home-test h2{color:#8f4c1d}.home-test-routes a{background:#fff;border-color:#f0dbc0;color:#704624}
.home-test-routes a:nth-child(2n){background:#fff0d8}.home-test-routes a:hover{background:#ffe7c0;border-color:#d59a50}
.home-notes{border-top:4px solid #8a68c7;background:#fbf9ff}.home-notes h2{color:#624399}
.home-note-item{background:#fff;border-color:#e2d9f5;color:#57427e}.home-note-item:nth-child(3n+2){background:#f0ebff}.home-note-item:nth-child(3n){background:#eaf7f3;color:#206052;border-color:#cce6db}.home-note-item:hover{border-color:#a98bd5}
.latest-update-group{border-left:3px solid #4794c6;padding-left:12px}.latest-update-group[data-update-kind="tests"]{border-color:#dd9a45}.latest-update-group[data-update-kind="notes"]{border-color:#9473cb}.latest-update-group h3{color:#2b4f78}
.subject-card,.course-card{border-top:3px solid #6c8edb;background:#f8faff}.subject-card:nth-child(3n+2),.course-card:nth-child(3n+2){border-top-color:#9a79ce;background:#fbf8ff}.subject-card:nth-child(3n),.course-card:nth-child(3n){border-top-color:#48a98f;background:#f5fcf8}
.test-card{border-top-color:#dd9a45;background:#fffaf3}.test-card:nth-child(3n+2){border-top-color:#a17bcd;background:#fbf8ff}.test-card:nth-child(3n){border-top-color:#52a394;background:#f4fcfa}
.page-top .eyebrow{color:#2863a5}.page .note{border-top:4px solid #9b7bc8;background:#fff}.note h2{color:#4d4089}.note h3{color:#216e62}.note blockquote{border-left:3px solid #db9e4e;background:#fff7e7;padding:10px 16px;margin-inline:0}
.topic-row{border-left:3px solid #799cd8}.topic-row:nth-child(3n+2){border-left-color:#a07dce}.topic-row:nth-child(3n){border-left-color:#54a58c}
.question-panel{border-top:4px solid #8264bd}.palette-panel{border-top:4px solid #43a68e}.test-bar{background:#f1edfa;color:#534084;padding:12px;border-radius:10px}.result-panel{border-top:4px solid #4aa58a}
.ca-page-heading h1{color:#225a8f}.ca-language{border-color:#c9dceb;background:#eaf2fc}.ca-language button.active{background:#2767b1}
.ca-edition-controls>.tab{background:#e7f0ff;border:1px solid #c7d9f4;color:#254e83}.ca-edition-controls>.tab.active{background:#285eaa;color:#fff;border-color:#285eaa}.ca-state-menu>.tab{background:#e4f4ee;border:1px solid #badfce;color:#20664f}.ca-state-menu>.tab.active{background:#146e5b;color:#fff;border-color:#146e5b}
.ca-layout.ca-reading-layout,.page>.ca-layout.ca-reading-layout,.signed-in .page>.ca-layout.ca-reading-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'content';gap:0}
.page>.ca-reading-layout>.ca-main{background:transparent;border:0}.page>.ca-reading-layout>.ca-main{padding:0}
.ca-content-topline{border-bottom:1px solid #ccddef;margin-bottom:12px;padding-bottom:10px}.ca-content-topline>h2{color:#2b5681}
.issue>h2,.ca-topic-collection>h2{color:#285b85;border-bottom:2px solid #bad8e8}
.story{--story-accent:#3269ad;--story-wash:#eef5ff;border:1px solid #dce5ef;border-top:3px solid var(--story-accent);border-radius:14px;background:white;box-shadow:0 3px 12px #18396005}
.story[data-tone="teal"]{--story-accent:#126c5d;--story-wash:#eaf7f3}.story[data-tone="green"]{--story-accent:#346e46;--story-wash:#eef8ed}.story[data-tone="violet"]{--story-accent:#7953af;--story-wash:#f3eefb}.story[data-tone="amber"]{--story-accent:#905717;--story-wash:#fff5e5}.story[data-tone="coral"]{--story-accent:#b65c3d;--story-wash:#fff1eb}
.story:first-of-type{border-top:3px solid var(--story-accent)}
.ca-main .story,.ca-topic-collection .story{padding:18px;margin:12px 0}.story .story-topic-link{background:var(--story-wash);color:var(--story-accent);border:1px solid color-mix(in srgb,var(--story-accent) 20%,white)}
.story h2{color:#1d3554;line-height:1.5}.story .story-summary{color:#3b5069;border-bottom:1px solid #e6ebf3;padding-bottom:12px}
.story .story-facts-heading{color:#285b87;font-size:17px}.story .story-facts{border:1px solid #d5e3f2;border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}.story .story-facts th{background:#eaf2fc;color:#285781}.story .story-facts td{background:#f9fbff}.story .story-facts tr:nth-child(2n) td{background:#eef5fd}.story .story-facts tr:last-child>*{border-bottom:0}
.story :is(.story-clarification,.story-focus,.story-static,.story-comparison,.revision){padding:11px 13px;border-radius:9px;margin-block:10px}
.story .story-clarification{background:#fff8e9;border-left:3px solid #d4a341;color:#645123}.story .story-focus{background:#eef5ff;border-left:3px solid #527ec1;color:#274b79}.story .story-static{background:#edf8f4;border-left:3px solid #4eab8c;color:#265c4d}.story .story-comparison{background:#f5f0fc;border-left:3px solid #ab8ad0;color:#5e497a}
.story .revision{background:#e3f2ef;color:#194f45;border:1px solid #c6e3d8;font-weight:700}.story .revision strong{color:#126a54}
.story .sources{font-size:14px;color:#64758c;border-top:1px dashed #d6dfeb;padding-top:10px}.story .sources a{color:#2b639f;text-decoration:underline;text-underline-offset:3px}
.story .mcq-preview{background:#f7f3fc;border:1px solid #e3d9f2;border-radius:11px;padding:12px}.mcq-preview summary{color:#64458d;font-size:15px;cursor:pointer}.mcq-preview .answer-box{border:1px solid #dfd6ed;background:#fff;border-radius:10px;padding:14px;margin-top:14px}.mcq-preview .answer-box legend{color:#3b3153;padding:0 5px}.question-options button{background:#fbfaff;border-color:#ded6ef}
/* The explanation remains visually inside its question, with smaller text. */
.story .answer-explanation,.review-item .answer-explanation{font-size:.875rem;font-weight:700;background:#f5f8fc;border-color:#c4d2e4;color:#40546d}
.ca-topic-dock{height:0}.ca-topic-chooser{width:max-content;max-width:100%;margin-top:12px}.ca-topic-chooser>summary{background:#1763c6;color:#fff;border-radius:8px;font-size:14px;padding:7px 10px;cursor:pointer}
.ca-topic-popup{border-color:#c4cbed;color:#364974}.ca-topic-popup .ca-popup-handlebar{background:#4a57a7}.ca-topic-popup.is-open{width:300px}
.ca-topic-choices{display:grid;gap:3px;min-width:0}.ca-topic-choices .ca-edition-label{color:#617190;font-size:14px;margin:0;padding:8px;border-bottom:1px solid #e1e6f1}
.ca-topic-choices a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:6px;line-height:1.4;font-size:14px;color:#34486d;overflow-wrap:anywhere;min-height:36px}.ca-topic-choices a:nth-of-type(2n){background:#f5f7fc}.ca-topic-choices a:hover,.ca-topic-choices a.active{background:#e9eafb;color:#3e4d94}.ca-topic-choices a.active{font-weight:800;box-shadow:inset 3px 0 #6776c1}.ca-topic-choices a span{flex:none}.ca-topic-choices a>span:first-child{flex:1;min-width:0}
.ca-popup-handlebar button:hover{background:#ffffff17}.ca-popup-handlebar button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.page:has(.ca-topic-dock){padding-bottom:60px}
@media(max-width:700px){.ca-main .story,.ca-topic-collection .story{padding:13px;margin-block:10px;border-radius:11px}.story h2{font-size:21px}.story .story-facts-heading{font-size:16px}.story .mcq-preview{padding:10px}.mcq-preview .answer-box{padding:10px}.story :is(.story-clarification,.story-focus,.story-static,.story-comparison,.revision){padding:10px}.ca-topic-popup.is-open{width:min(300px,calc(100vw - 16px))}}

/* State picker: one aligned card with a clear selected state. */
.ca-state-menu>summary{min-width:0;gap:8px;padding:9px 13px;border-radius:10px}.ca-state-icon{width:19px;height:19px;flex:none}.ca-state-chevron{font-size:20px;line-height:1;margin-left:4px;transition:transform .18s}.ca-state-menu[open] .ca-state-chevron{transform:rotate(180deg)}
.ca-state-menu>.ca-state-options{width:340px;max-width:100%;left:0;right:auto;top:calc(100% + 8px);padding:0;display:block;border:1px solid #d0dfec;border-radius:15px;box-shadow:0 16px 40px #173b6426;overflow-y:auto;scrollbar-width:thin;background:white;color:#223d57}
.ca-state-options.opens-above{top:auto;bottom:calc(100% + 8px)}
.ca-state-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #e1e9f2;background:#f3f7fd}.ca-state-picker-heading strong{display:block;font-size:17px;color:#234d77;padding:0;line-height:1.4}.ca-state-picker-heading small{display:block;font-size:14px;font-weight:700;color:#64788e;margin-top:4px;line-height:1.5}.ca-state-picker-heading>button{display:grid;place-items:center;flex:none;width:29px;height:29px;min-height:0;padding:0;border:1px solid #d6e2ee;border-radius:8px;background:white;color:#46637f;font-size:22px}
.ca-state-picker-list{display:grid;gap:4px;padding:8px}.ca-state-picker-list>button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;text-align:left;border:1px solid transparent;border-radius:10px;background:white;color:#294766;font-size:15px;font-weight:700;min-height:52px;line-height:1.4}.ca-state-picker-list>button:hover{background:#f2f6fc;border-color:#dbe7f5}.ca-state-picker-list>button[aria-pressed=true]{background:#eaf4f0;border-color:#c7e4d7;color:#17634f}.ca-state-picker-list small{display:block;font-size:14px;font-weight:700;color:#317361;margin-top:3px}.ca-state-marker{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:9px;background:#edf2fa;color:#4a6791;font-size:14px;letter-spacing:.04em}.ca-state-picker-list>button[aria-pressed=true] .ca-state-marker{background:#d5eadf;color:#1f6c55}.ca-state-check{margin-left:auto;color:#8c9bae;font-size:17px;flex:none}.ca-state-picker-list>button[aria-pressed=true] .ca-state-check{color:#188162}
@media(max-width:580px){.ca-state-menu>summary{font-size:14px;padding:9px;gap:5px}.ca-state-icon{width:17px;height:17px}.ca-state-menu>.ca-state-options{width:320px}.ca-state-picker-heading{padding:14px}.ca-state-picker-list>button{padding:10px;font-size:14px}}

/* Current Affairs navigation stays open and occupies its own reading space. */
body.study-workspace{padding-left:232px;background:#f3f6fc}
.study-workspace .dashboard-sidebar{width:232px;max-width:none;transform:none;visibility:visible;transition:none;padding:20px 12px 16px}
.study-workspace .dashboard-brand-row{padding-bottom:16px}
.study-workspace .dashboard-nav-label{margin:17px 10px 9px}
.study-workspace .dashboard-nav{gap:4px}
.study-workspace .dashboard-nav a{min-height:42px;padding:9px 10px;font-size:14px}
.study-workspace .dashboard-close,.study-workspace .dashboard-menu-btn,.study-workspace .menu-btn,.study-workspace .dashboard-backdrop,.study-workspace .site-header .nav{display:none!important}
.study-workspace .site-header .header-main>.brand{display:none}
.study-workspace .site-header .head-tools{width:100%;margin-left:0;justify-content:flex-end}
.dashboard-nav a:focus-visible{outline:3px solid #8ac8ff;outline-offset:1px}
@media(min-width:701px) and (max-width:1100px){
  .study-workspace .dashboard-header{flex-wrap:wrap;padding:16px 20px;gap:12px}
  .study-workspace .dashboard-tools{flex-basis:100%;min-width:0}
}
@media(max-width:850px){
  body.study-workspace{padding-left:0}
  /* Phones and tablets open the reading page first; navigation is an overlay drawer. */
  .study-workspace .dashboard-sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 48px));max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:18px 12px 16px;z-index:42;transform:translateX(-100%);visibility:hidden;transition:transform .24s ease,visibility .24s}
  .study-workspace.dashboard-menu-open .dashboard-sidebar{transform:translateX(0);visibility:visible}
  .study-workspace .dashboard-close,.study-workspace .dashboard-menu-btn,.study-workspace .menu-btn{display:grid!important}
  .study-workspace .dashboard-backdrop:not([hidden]){display:block!important}
  .study-workspace .site-header .header-main>.brand{display:flex}
  .study-workspace .site-header .head-tools{width:auto;flex:1 1 100%;flex-wrap:nowrap;justify-content:flex-end}
  .study-workspace .site-header .search-mini{flex:1 1 120px;width:auto;order:0}
  .study-workspace .dashboard-nav-label{margin:16px 8px 9px}
  .study-workspace .dashboard-nav{grid-template-columns:minmax(0,1fr);gap:5px}
  .study-workspace .dashboard-nav a{padding:8px;gap:8px}
}

/* Keep both reading modes available, including while daily issues are open. */
.ca-content-topline{flex-wrap:wrap}
.ca-reading-modes{display:flex;align-items:center;gap:6px;flex:0 1 auto;max-width:100%;margin-left:auto}
.ca-reading-modes .ca-date-mode{min-width:0}
.ca-reading-modes .ca-date-mode.active{background:#255da7;border-color:#255da7;color:#fff}

/* Essential reading controls grow with wrapped text and never become an inner scroll strip. */
.ca-content-topline,.ca-reading-modes{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;flex-shrink:0!important}
.ca-content-topline{width:100%!important;box-sizing:border-box;align-items:center}
.ca-reading-modes{flex-wrap:wrap;row-gap:6px;align-self:center}
.ca-reading-modes .ca-date-mode{min-height:36px;white-space:normal;text-align:center}
@media(max-width:700px){.ca-content-topline{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.ca-reading-modes{margin:0;justify-content:flex-start;width:100%}.ca-reading-modes .ca-date-mode{flex:0 1 auto;padding:8px 12px}}
/* A dedicated grip moves the editor without dragging the selected page item. */
.page-editor-toolbar{max-height:min(75dvh,650px);width:min(390px,calc(100vw - 16px));max-width:calc(100vw - 16px);overflow:auto;z-index:90}
.editor-panel-grip{position:sticky;top:-16px;z-index:2;display:flex;align-items:center;gap:6px;background:#e9f1ff;padding:7px;margin:-16px -16px 10px;border-bottom:1px solid #c7d5e9}
.editor-panel-grip button,.editor-flyout-grip{border:1px solid #b9cde5;background:#eaf2ff;color:#174d86;border-radius:7px;padding:7px;font:inherit;font-size:14px;font-weight:700}
.editor-panel-grip [data-editor-drag]{flex:1;text-align:left;cursor:grab;touch-action:none;user-select:none}
.panel-dragging [data-editor-drag],.panel-dragging .editor-flyout-grip{cursor:grabbing}
.editor-flyout-grip{display:block;cursor:grab;touch-action:none;margin:7px;width:calc(100% - 14px);box-sizing:border-box}
.editor-flyout-grip[hidden]{display:none}
.editor-popup-settings{font-size:14px;margin:8px 0;padding:8px;border:1px solid #d0ddef;border-radius:8px}
.editor-popup-settings summary{cursor:pointer;font-weight:700}.editor-popup-settings small{display:block;line-height:1.5;margin:8px 0}.editor-popup-settings>div{display:flex;align-items:center;gap:5px;padding:4px 0}.editor-popup-settings>div>button:first-child{flex:1;text-align:left}.editor-popup-settings button{font-size:14px;min-height:30px}
[data-position-managed]{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important}
.ca-period-popup[data-admin-hidden]{outline:2px dashed #ba810d}
@media(max-width:700px){.page-editor-toolbar{left:auto;right:8px;bottom:8px;max-height:55dvh;width:min(360px,calc(100vw - 16px));padding:12px}.editor-panel-grip{top:-12px;margin:-12px -12px 8px}.page-editor-toolbar button{min-height:34px}}

/* Compact title + reading mode controls remain on the same row on phones. */
.ca-content-topline{display:flex!important;flex-wrap:nowrap!important;gap:7px!important;align-items:center!important}
.ca-content-topline>h2{flex:1;min-width:0;font-size:clamp(14px,1.6vw,22px);line-height:1.35;overflow-wrap:anywhere}
.ca-reading-modes{flex:0 0 auto!important;flex-wrap:nowrap!important;width:auto!important;margin:0!important;gap:4px!important}
.ca-reading-modes .ca-date-mode{min-height:28px!important;padding:4px 6px!important;font-size:14px!important;white-space:nowrap!important;line-height:1.3!important}
@media(max-width:420px){.ca-content-topline>h2{font-size:14px!important}.ca-reading-modes .ca-date-mode{font-size:14px!important;padding:4px!important}.ca-content-topline{gap:5px!important}}
/* Reading tools always occupy their own in-flow space inside each content box. */
.study-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;max-width:100%;box-sizing:border-box;margin:0 0 7px;position:relative;transform:none!important;min-height:0}
.study-actions>.ca-admin-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:4px;margin:0;min-width:0}
.study-tools-track{flex:1 1 235px;min-width:0;padding:0 0 8px;box-sizing:border-box;position:relative;overflow:hidden}
.study-tools{display:flex;flex-wrap:wrap;width:max-content;max-width:100%;align-items:center;gap:3px;box-sizing:border-box;position:relative;will-change:transform}
.study-tools button{font:inherit;font-size:14px;line-height:1.2;min-height:28px;padding:5px 7px;border-radius:6px;border:1px solid #c7d8eb;background:#f7faff;color:#315375;white-space:nowrap;cursor:pointer}
/* Strong reading-status colours remain distinct before and after selection. */
.study-tools [data-study-status=read],.study-filters [data-study-status=read]{--study-colour:#176a43;--study-selected:#0b472b}
.study-tools [data-study-status=unread],.study-filters [data-study-status=unread]{--study-colour:#245ea8;--study-selected:#143f78}
.study-tools [data-study-important],.study-filters [data-study-filter=important]{--study-colour:#916006;--study-selected:#674200}
.study-tools button[data-study-read],.study-tools button[data-study-important],.study-filters button[data-study-filter=read],.study-filters button[data-study-filter=unread],.study-filters button[data-study-filter=important]{background:var(--study-colour);border-color:var(--study-colour);color:#fff;font-weight:700}
.study-tools button[data-study-read][aria-pressed=true],.study-tools button[data-study-important][aria-pressed=true],.study-filters button[data-study-filter=read][aria-pressed=true],.study-filters button[data-study-filter=unread][aria-pressed=true],.study-filters button[data-study-filter=important][aria-pressed=true]{background:var(--study-selected);border-color:var(--study-selected);color:#fff;box-shadow:inset 0 0 0 2px #ffffffb8}
.study-tools .study-grip{touch-action:none;cursor:grab;padding:4px;font-size:17px;min-width:24px;background:#edf1f6;color:#6a7a89}
.study-tools button:focus-visible,.study-filters button:focus-visible{outline:2px solid #236abd;outline-offset:2px}
.study-tools button:disabled{cursor:wait;opacity:.7}
.study-filters,.study-kinds,.study-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:7px 0 12px}
.study-filters button,.study-kinds a,.study-pagination a{font:inherit;font-size:14px;border:1px solid #c8d9e9;background:#fff;color:#245681;border-radius:7px;padding:6px 9px;cursor:pointer;line-height:1.35}
.study-filters button[aria-pressed=true],.study-kinds a[aria-current=page]{background:#215d9b;color:#fff;border-color:#215d9b}
.study-filters>a{margin-left:auto;font-size:14px;color:#245d9c;font-weight:700}
.study-filtered-out{display:none!important}.study-filter-empty{font-size:14px;padding:14px;background:#f0f5fb;border-radius:9px}.study-filter-empty[hidden]{display:none!important}
.study-saved-list{display:grid;gap:10px}.study-saved-item{padding:15px;border:1px solid #d6e2ee;border-radius:12px;background:white;min-width:0}.study-saved-item h2{font-size:18px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.study-list-note{font-size:14px;color:#61748b;margin:0 0 10px}
@media(max-width:420px){.study-tools button{padding:5px;font-size:14px}.study-tools .study-grip{font-size:15px;min-width:21px}.study-actions .ca-admin-actions .btn{font-size:14px;padding:5px 7px;min-height:28px}}
.ca-news-scroll li>.study-actions{grid-column:1/-1}.home-ca-feed>.study-filters{flex:0 0 auto;margin:3px 0 6px}.home-ca-feed>.study-filter-empty{flex:0 0 auto;margin:3px 0 6px}

/* Completion actions follow the material: beside closed practice, below expanded questions. */
.study-tools-track[data-study-align=end]>.study-tools{margin-left:auto}
.study-actions-end{margin:10px 0 0}
.story .study-story-end{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,250px);align-items:center;gap:6px 10px}
.study-story-end>details{min-width:0}
.study-story-end>details>summary{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.study-story-end>.study-actions{grid-column:2;min-width:0;margin:0;align-self:center}
.study-story-end>details[open]{grid-column:1/-1}
.study-story-end>details[open]+.study-actions{grid-column:1/-1;border-top:1px solid #dfd6ed;padding-top:8px;margin-top:2px}
.study-story-end>details[open]+.study-actions::before{content:'Current Affairs';font-size:14px;color:#64458d;font-weight:700}
.study-story-end .answer-box{min-width:0;box-sizing:border-box}
.note>.study-actions-end,.review-item>.study-actions-end{border-top:1px solid var(--line);padding-top:8px}
@media (max-width:480px){.story .study-story-end{grid-template-columns:minmax(0,1fr) minmax(0,210px);gap:6px}.study-story-end>details>summary{font-size:14px}.study-story-end>.study-actions .study-tools button{font-size:14px;padding:5px}.study-story-end>.study-actions .study-tools .study-grip{min-width:21px;font-size:15px}}
@media (max-width:359px){.story .study-story-end{grid-template-columns:minmax(0,1fr)}.study-story-end>.study-actions{grid-column:1}}

/* The same public reading filters sit above each full content card, alongside owner actions. */
.study-content-header{display:flex;align-items:center;gap:8px;margin:0 0 9px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.study-content-header>.ca-admin-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;margin:0;gap:5px}
.study-content-header>.study-content-filters{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:4px;margin:0 0 0 auto}
.study-content-header :is(button,a){white-space:nowrap}
.study-content-filters button{font-size:14px;padding:6px 8px;min-height:30px}
.study-filters button[data-study-filter=all]{background:#43566b;color:#fff;border-color:#43566b;font-weight:700}
.study-filters button[data-study-filter=all][aria-pressed=true]{background:#273a50;border-color:#273a50;box-shadow:inset 0 0 0 2px #ffffffb8}

/* Compact shared page starts: no reserved heading or chooser space. */
.page,.signed-in .page{padding-top:8px;padding-bottom:16px}
.page-top{margin:0 0 8px}.page-top h1{margin-top:2px}.page-intro{margin-top:5px;margin-bottom:6px}
.home-core,.signed-in .home-core{padding-top:8px}.section,.section.tight{padding-block:12px}
.ca-page-heading,.home-core-heading{margin-top:0;margin-bottom:6px}
.ca-period-bar{margin:0 0 6px;padding:5px}
.ca-edition-controls{margin:6px 0;min-height:0}
.ca-content-topline{margin-top:0;margin-bottom:6px;padding-bottom:6px}
.page>.ca-reading-layout>.ca-main{padding:0}
.ca-main>.study-filters{margin-top:5px;margin-bottom:7px}
.ca-main>.issue>h2{margin-top:4px;margin-bottom:6px}
.ca-period-dock,.ca-topic-dock{height:0;min-height:0;flex-basis:0;margin:0}
.page>.grid,.page>.search-results,.page>.auth-card{margin-top:0}
@media (min-width:701px){
 .ca-period-bar .ca-controls.periods,.home-ca-periods .ca-controls.periods{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .ca-period-bar .period-choice,.home-ca-periods .period-choice{flex:1 0 auto;min-height:32px;padding:5px 8px}
 .ca-period-bar>.ca-period-toggle,.home-ca-periods>.ca-period-toggle{display:none}
}
/* Quiet, compact controls without making their touch targets hard to reach. */
.study-filters button.study-auto{font-size:14px;line-height:1.2;min-height:28px;padding:4px 5px;white-space:nowrap;background:#edf2f7;color:#43566b;border-color:#cbd5df;border-radius:5px;font-weight:700}
.study-filters button.study-auto[aria-pressed=true]{background:#e7f3ed;color:#205a3b;border-color:#a9cbb8}
.study-filters button.study-auto:disabled{opacity:.6;cursor:wait}
#home-ca-feed-toolbar>span{font-size:14px;line-height:1.25;font-weight:700}
@media (max-width:700px){#home-ca-feed-toolbar>span{font-size:9px}}

/* Public edit entry opens sign-in; editing tools remain owner-only. */
.guest-design-launch .guest-edit-entry{display:inline-flex;align-items:center;justify-content:center;font-size:14px;min-height:30px;padding:6px 10px;text-decoration:none}

/* Homepage topics stay inside the Current Affairs card beside the moving feed. */
.home-current>.home-ca-layout.ca-reading-layout.has-home-topics{display:grid;grid-template-columns:clamp(200px,20vw,248px) minmax(0,1fr);grid-template-areas:'topics content';gap:12px;align-items:stretch}
.home-ca-layout>.home-ca-topics{grid-area:topics;position:static;box-sizing:border-box;height:400px;max-height:400px;min-width:0;max-width:100%;padding:14px 12px;border:1px solid #c9ddef;border-radius:16px;background:#f0f7ff;display:flex;flex-direction:column;overflow:hidden}
.home-ca-topics h3{font-size:15px;line-height:1.35;color:#245784;margin:0 0 5px}
.home-ca-topics-edition{flex:none;font-size:14px;line-height:1.4;color:#55718a;margin:0 0 7px}
.home-ca-topics .ca-topic-scroll{flex:1;min-height:0;max-height:none;overflow-y:auto;scrollbar-width:thin}
.home-ca-topics .ca-topic-scroll a{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;line-height:1.4;padding:9px 7px;border-bottom:1px solid #d6e4ef;text-decoration:none}
.home-ca-topics .ca-topic-scroll a>span:first-child{min-width:0;overflow-wrap:anywhere}
.home-ca-topics .gold-lock{flex:none;font-size:14px}
.home-ca-topics .ca-topic-scroll a:hover,.home-ca-topics .ca-topic-scroll a:focus-visible{background:#dfeeff;color:#154b7d}
.home-ca-topics .ca-topic-scroll:focus-visible{outline:2px solid #2679b9;outline-offset:2px}
@media (max-width:850px){
 .home-current>.home-ca-layout.ca-reading-layout.has-home-topics{grid-template-columns:minmax(0,1fr);grid-template-areas:'content';gap:0}
 .home-ca-layout>.home-ca-topics{display:none!important}
}

/* Guest navigation is anchored to the menu button, within the viewport. */
.site-header .header-main #main-nav{position:fixed;inset:auto;z-index:60;width:min(296px,calc(100vw - 16px));margin:0;padding:7px;background:#173756;border:1px solid #587490;border-radius:12px;box-shadow:0 12px 32px #102b4938;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;gap:3px}
.site-header .header-main #main-nav[hidden]{display:none!important}
.site-header .header-main #main-nav.open{display:flex}
.site-header .header-main #main-nav a{display:flex;align-items:center;gap:11px;white-space:normal;font-size:14px;line-height:1.4;padding:11px 12px;min-height:43px;border-radius:8px}
.site-header .header-main #main-nav a:hover,.site-header .header-main #main-nav a:focus-visible{background:#285678;color:#fff}
.site-header:has(#main-nav.open){z-index:70}

@media (display-mode: standalone), (display-mode: fullscreen){
 .home-current>.home-ca-layout.ca-reading-layout.has-home-topics{grid-template-columns:minmax(0,1fr);grid-template-areas:'content';gap:0}
 .home-ca-layout>.home-ca-topics{display:none!important}
}

/* The sidebar Logout entry opens the same account list before signing out. */
.account-list-dialog{position:fixed;inset:0;margin:auto;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 32px);height:fit-content;box-sizing:border-box;padding:14px;overscroll-behavior:contain}
.account-list-dialog:not([open]){display:none}
.account-list-dialog::backdrop{background:#10253c80}
.account-list-dialog .account-dropdown-heading{padding-right:26px}
.account-list-dialog>.account-list-close{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;margin:0;padding:0;border:0;background:#eef3f8;color:#233950;font-size:24px;line-height:1;cursor:pointer}

/* Desktop Current Affairs: topics beside the reading area, navigation on demand. */
body.desktop-ca-reading{padding-left:0}
.desktop-ca-reading .dashboard-sidebar{width:280px;max-width:calc(100vw - 48px);transform:translateX(-100%);visibility:hidden;transition:transform .24s ease,visibility .24s;z-index:82}
.desktop-ca-reading.dashboard-menu-open .dashboard-sidebar{transform:translateX(0);visibility:visible}
body.desktop-ca-reading.dashboard-menu-open{overflow:hidden}
.desktop-ca-reading .dashboard-close,.desktop-ca-reading .dashboard-menu-btn,.desktop-ca-reading .menu-btn{display:grid!important;place-items:center;flex:none;width:42px;height:42px;border:1px solid #567798;border-radius:10px;background:#204668;color:white;font-size:23px}
.desktop-ca-reading .dashboard-close{width:32px;height:32px;font-size:24px}
.desktop-ca-reading .dashboard-backdrop:not([hidden]){display:block!important;position:fixed;inset:0;z-index:81;background:#09192e85;border:0;backdrop-filter:blur(2px)}
.desktop-ca-reading .site-header .header-main>.brand{display:flex}
.desktop-ca-reading .site-header .head-tools{width:auto;flex:1;min-width:0;margin-left:auto}
.desktop-ca-reading{--ca-rail-width:clamp(210px,19vw,250px);--ca-rail-gap:16px}
.desktop-ca-reading .page>.ca-layout.ca-reading-layout{grid-template-columns:var(--ca-rail-width) minmax(0,1fr);grid-template-areas:'topics content';gap:var(--ca-rail-gap);align-items:start}
.ca-desktop-topics{position:sticky;top:14px;padding:14px;max-height:calc(100dvh - 28px);background:#f0f7ff;border:1px solid #cadcec;border-radius:14px}
.ca-desktop-topics h3{font-size:16px;line-height:1.4;margin:0 0 10px;color:#245784}
.ca-desktop-topics .ca-topic-scroll{min-height:0;max-height:none;overflow-y:auto;scrollbar-width:thin}
.ca-desktop-topics .ca-topic-choices a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 8px;font-size:14px;line-height:1.45}
.ca-desktop-topics .ca-topic-choices a>span:first-child{min-width:0;overflow-wrap:anywhere}
.ca-desktop-topics .ca-topic-choices a.active{background:#dbeafa;color:#174d7e;font-weight:750}
.ca-desktop-topics .gold-lock{flex:none}

/* Personal content marks are distinct from the page-wide list filters. */
.study-content-header{overflow:visible}
.study-content-header>.study-actions{margin:0;min-width:0}
.study-content-header .study-tools-track{padding-bottom:8px}
.study-tools button[data-study-read],.study-tools button[data-study-important]{display:inline-flex;align-items:center;justify-content:center;gap:3px;border:2px solid var(--study-colour);background:#fff;color:var(--study-selected);font-weight:750}
.study-tools button[data-study-read][aria-pressed=true],.study-tools button[data-study-important][aria-pressed=true]{background:var(--study-selected);border-color:var(--study-selected);color:white;box-shadow:inset 0 0 0 1px #ffffffc9}
.study-selected-check{display:inline-block;width:10px;font-weight:900;visibility:hidden}
.study-tools button[aria-pressed=true]>.study-selected-check{visibility:visible}
.study-tools button[data-study-read]:disabled,.study-tools button[data-study-important]:disabled{opacity:1}
.study-tools[aria-busy=true]{cursor:progress}
.study-filters button[data-study-filter][aria-pressed=false]{background:white;color:var(--study-selected,#273a50);border-color:var(--study-colour,#43566b)}
.study-filters button[data-study-filter][aria-pressed=true]::before{content:'✓ ';font-weight:900}

/* Page editor reaches the header and drawers without being clipped by them. */
.page-editor-global-active #shell [data-page-edit-key]{cursor:move;touch-action:none}
.page-editor-global-active #shell [data-page-edit-key]:hover{outline:2px dashed #e8a832;outline-offset:3px}
.page-editor-global-active #shell #menu-btn,.page-editor-global-active #shell [data-close-sidebar]{cursor:pointer;touch-action:auto}
body>.page-editor-selection{position:fixed;z-index:89}
.editor-surface-tools{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}

/* App/phone controls shrink together and stay on their existing line. */
@media(max-width:700px){
 .study-tools-track{container-type:inline-size;overflow:visible}
 .study-tools{flex-wrap:nowrap;gap:2px;width:max-content;max-width:100%}
 .study-tools button[data-study-read],.study-tools button[data-study-important]{font-size:clamp(8px,4.5cqw,10px);min-height:28px;padding:4px 3px;gap:2px;border-width:1px;flex:0 1 auto}
 .study-tools .study-grip{min-width:14px;font-size:14px;padding:2px;flex:none}
 .study-selected-check{width:8px}
 .study-actions{flex-wrap:nowrap;gap:4px}
 .study-actions>.ca-admin-actions{flex-wrap:nowrap;gap:2px;flex:0 1 auto}
 .study-actions .ca-admin-actions .btn{font-size:9px;padding:4px 3px;min-height:28px;white-space:nowrap}
 .study-filters{flex-wrap:nowrap;gap:3px;max-width:100%;overflow-x:auto;align-items:center}
 .study-filters button[data-study-filter],.study-filters button.study-auto{flex:none;font-size:clamp(8px,2.2vw,10px);line-height:1.2;padding:5px 3px;min-height:28px;white-space:nowrap}
 .study-filters>a{flex:none;margin-left:auto;white-space:nowrap;font-size:clamp(8px,2.2vw,10px)}
}

/* Practice and personal marks are adjacent, visibly separate controls. */
.story .study-story-end{background:transparent;border:0;padding:0;margin-top:12px;gap:8px}
.study-story-end>details.mcq-preview{margin:0;padding:10px 12px;background:#f5f1fb;border:1px solid #dfd6ed;border-radius:9px}
.study-story-end>details>summary{white-space:nowrap}
.study-story-end>.study-actions{border:1px solid #cfdae7;border-radius:9px;background:#fff;padding:5px;margin:0}
.study-story-end>.study-actions .study-tools-track{padding:0}
.study-story-end>details[open]+.study-actions{width:max-content;max-width:100%;justify-self:end;padding:6px;margin-top:2px}
@media(max-width:700px){
 .story .study-story-end{grid-template-columns:minmax(0,1fr) minmax(0,60%);gap:5px;align-items:center}
 .study-story-end>details.mcq-preview{padding:9px 5px}
 .study-story-end>details>summary{font-size:clamp(10px,2.8vw,12px);line-height:1.3}
 .study-story-end>.study-actions{grid-column:2;padding:4px 3px;min-width:0}
 .study-story-end>details[open]{grid-column:1/-1}
 .study-story-end>details[open]+.study-actions{grid-column:1/-1;min-width:min(210px,100%)}
}
@media(max-width:700px){
 .study-story-end>.study-actions .study-tools button[data-study-read],.study-story-end>.study-actions .study-tools button[data-study-important]{font-size:clamp(8px,4.5cqw,10px);padding:4px 3px;gap:2px}
 .study-story-end>.study-actions .study-tools .study-grip{font-size:14px;min-width:14px;padding:2px}
}

/* Fluid controls for desktop, tablet and installed app surfaces. */
.page,.home-current,.home-simple,.home-notes,.card,.ca-main,.ca-side,.note,.question-panel,.result-panel,.field,.control-main,.control-menu,.filters,.filter-label,.topic-list,.topic-row{min-width:0}
.grid>*,.subject-grid>*,.topic-list>*,.filters>*{min-width:0}
.card,.topic-row,.profile-card,.control-list button,.control-story{overflow-wrap:anywhere}
.badge,.note-tag,.pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.topic-row>span:first-child{min-width:0}
.field :is(input,select,textarea),.settings-row input{min-width:0;max-width:100%}
.note :is(pre,table){max-width:100%;overflow-x:auto}
.note pre{white-space:pre-wrap;overflow-wrap:anywhere}
#toast{max-width:calc(100vw - 32px);overflow-wrap:anywhere}
img,video,canvas{max-width:100%;height:auto}
.note-body,.story,.search-result,.page-custom-copy{overflow-wrap:anywhere}
:is(.head-tools,.dashboard-tools,.ca-page-heading,.home-core-heading,.ca-edition-controls,.ca-reading-modes,.study-tools,.study-filters,.test-actions,.ca-admin-actions,.editor-surface-tools){flex-wrap:nowrap;min-width:0}
:is(.test-actions,.ca-admin-actions,.editor-surface-tools){max-width:100%;overflow-x:auto;scrollbar-width:thin;gap:clamp(3px,.7vw,8px)}
:is(.test-actions,.ca-admin-actions,.editor-surface-tools)>:is(button,a){flex-shrink:0;white-space:nowrap}
.ca-page-heading,.home-core-heading,.ca-edition-controls{container-type:inline-size}
.ca-page-heading h1,.home-core-heading h1{font-size:clamp(16px,6cqw,30px)}
.home-core-heading h1{flex:1 1 0;white-space:normal;overflow-wrap:normal}
.ca-language button{font-size:clamp(11px,3.7cqw,15px);padding:clamp(5px,1.7cqw,9px) clamp(5px,2.1cqw,15px);white-space:nowrap}
.ca-edition-controls .tab{font-size:clamp(10px,3.5cqw,15px);white-space:nowrap;padding-inline:clamp(4px,1.5cqw,13px)}
.study-tools{flex-wrap:nowrap}
.ca-popup-handlebar{flex-wrap:nowrap;min-width:0}
.ca-popup-handlebar .ca-popup-toggle{min-width:0;white-space:nowrap;font-size:clamp(9px,1.6vw,12px)}
.ca-popup-handlebar .ca-popup-drag,.ca-popup-handlebar .ca-popup-reset{flex:none}
/* Popovers are sized against the viewport, not their small trigger's width. */
.ca-period-popup,.ca-state-options,.account-dropdown,.notice-popover,.page-editor-toolbar{max-width:calc(100vw - 16px);max-width:calc(100dvw - 16px);box-sizing:border-box;overscroll-behavior:contain}
.account-dropdown,.notice-popover{overflow-wrap:anywhere}
.account-dropdown>a,.account-dropdown>button{min-width:0;white-space:normal}
.ca-popup-body{overflow:auto;min-width:0}
@media (max-width:1100px){
 .head-tools,.dashboard-tools{gap:clamp(3px,.8vw,9px)}
 .head-tools .search-mini,.dashboard-tools .search-mini{min-width:0}
 .test-actions .btn{font-size:clamp(10px,1.3vw,14px);padding:8px clamp(6px,1.2vw,16px)}
 .study-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .study-filters>*{flex-shrink:0;white-space:nowrap}
 .ca-page-heading:has(>.btn){flex-wrap:nowrap}
 .ca-page-heading>.btn{font-size:14px;white-space:nowrap;padding:6px}
}
@media (max-width:700px){
 .ca-page-heading,.home-core-heading{gap:5px}
 .ca-page-heading h1,.home-core-heading h1{font-size:clamp(16px,5.7cqw,22px)}
 .ca-language{gap:1px;padding:2px}
 .ca-state-menu>summary{gap:3px;font-size:clamp(10px,3.5cqw,14px)}
 .ca-state-icon{width:clamp(12px,4cqw,17px);height:clamp(12px,4cqw,17px)}
 .ca-state-chevron{font-size:15px;margin-left:1px}
 .ca-period-popup:not(.is-open){width:min(156px,calc((100vw - 32px)/2))}
 .ca-popup-handlebar .ca-popup-toggle{font-size:9px;letter-spacing:-.2px}
 .ca-popup-handlebar button{padding:4px 2px}
 .story .study-story-end{grid-template-columns:minmax(0,1fr) minmax(0,60%)}
}

/* Restore the balanced header; keep reading controls independently compact. */
.dashboard-header{min-height:84px;padding-block:16px;gap:24px;align-items:center}
.dashboard-heading{flex:0 1 240px;margin:0}
.dashboard-heading small{font-size:14px;line-height:1.4}
.dashboard-heading strong{font-size:22px;line-height:1.3;margin-top:3px}
.dashboard-tools{flex:1 1 520px;gap:10px;min-width:0}
.dashboard-tools .search-mini{flex:1 1 240px;width:auto;max-width:none;height:44px;border-radius:10px}
.dashboard-tools .search-mini input{font-size:14px;padding-inline:12px}
.dashboard-tools .lang{padding:3px;border-radius:10px}
.dashboard-tools .lang button{font-size:14px;padding:8px 9px}
.dashboard-tools .account-menu>summary{min-height:44px}
@media (min-width:851px){
 :root{--page-gutter:1cm}
 .wrap,.signed-in .wrap,.wrap.page,.signed-in .wrap.page,.home-core>.wrap,.signed-in .home-core>.wrap,.site-header>.wrap,.footer>.wrap{width:calc(100% - 2cm);max-width:none;margin-inline:1cm}
 .dashboard-header,.study-workspace .dashboard-header{padding:16px 1cm;flex-wrap:nowrap}
 .desktop-ca-reading .dashboard-heading{padding-left:58px;flex-basis:310px}
 .desktop-ca-reading .dashboard-tools{flex:1 1 520px}
 .desktop-ca-reading .dashboard-tools>#menu-btn{position:absolute;left:1cm;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:10px}
}
@media (min-width:701px) and (max-width:1100px){
 .dashboard-header,.study-workspace .dashboard-header{gap:14px}
 .dashboard-heading{flex-basis:185px}
 .dashboard-tools{gap:7px}
 .dashboard-tools .search-mini{flex-basis:180px;min-width:90px}
}
@media (max-width:700px){
 .dashboard-header{min-height:0;padding:12px var(--page-gutter);display:block}
 .dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
 .dashboard-heading small{font-size:14px;min-width:0}
 .dashboard-heading strong{font-size:17px;margin:0;max-width:58%}
 .dashboard-tools{width:100%;gap:6px;flex-wrap:nowrap}
 .dashboard-tools .search-mini{height:42px;flex:1 1 0;min-width:0}
 .dashboard-tools .search-mini input{font-size:14px;padding-inline:7px}
 .dashboard-tools .lang button{padding:7px 6px;font-size:14px}
 .dashboard-tools .account-menu>summary{min-height:40px}
}
.dashboard-header,.study-workspace .dashboard-header{padding-inline:var(--page-gutter)}

/* Dashboard headlines: stable navigation, with reading status on full content. */
.home-ca-feed>#home-ca-feed-heading{display:flex;align-items:center;gap:8px;margin:0 0 6px;min-height:32px;flex:none}
#home-ca-feed-heading>.home-ca-title{flex:1;min-width:0;font-size:clamp(16px,1.8vw,22px);line-height:1.4}
.home-ca-feed-links{display:flex;align-items:center;gap:5px;flex:none;white-space:nowrap}
.home-ca-feed-links .ca-date-mode{font-size:14px;min-height:30px;padding:5px 7px}
.home-ca-feed-links .home-ca-open{width:30px;height:30px;font-size:21px}
#home-ca-feed-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;margin:0 0 5px;min-height:28px}
#home-ca-feed-toolbar>.ca-motion-toggle{font-size:14px;padding:4px 7px;white-space:nowrap}

/* Compact navigation; each entry keeps a clear, consistent hit area. */
.dashboard-sidebar .dashboard-brand-row{padding-bottom:12px}
.dashboard-sidebar .dashboard-nav-label{margin:12px 10px 7px}
.dashboard-sidebar .dashboard-nav{gap:2px;align-content:start}
.dashboard-sidebar .dashboard-nav a,.dashboard-sidebar-bottom a,.dashboard-sidebar-bottom button{min-height:38px;padding:7px 10px;gap:9px;font-size:14px;line-height:1.4}
.dashboard-sidebar .dashboard-sidebar-bottom{margin-top:12px;padding-top:10px;border-top:1px solid #ffffff20}

/* A bounded, manually scrollable topic box beside the reading content. */
.page>.ca-layout>.ca-desktop-topics{display:flex;flex-direction:column;align-self:start;padding:0;background:#fff;border:1px solid #cadcec;border-radius:12px;max-height:min(350px,calc(100dvh - 32px));overflow:hidden}
.ca-desktop-topics>h3{margin:0;padding:12px 14px;background:#edf5ff;border-bottom:1px solid #d4e2ef;font-size:15px;line-height:1.4}
.ca-desktop-topics>.ca-topic-scroll{flex:1 1 auto;min-height:0;height:min(290px,40dvh);max-height:min(290px,40dvh);padding:6px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;overscroll-behavior:contain;scroll-behavior:auto}
.ca-desktop-topics .ca-topic-choices a{padding:8px;font-size:14px;line-height:1.4}
.ca-desktop-topics .ca-topic-scroll:focus-visible{outline:2px solid #2679b9;outline-offset:-2px}
.study-workspace .wrap.page{padding-top:6px}
.study-workspace .ca-page-heading{margin-bottom:6px}
.study-workspace .ca-edition-controls{margin-block:6px}
#ca-reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;padding:0 0 6px;overflow:visible;min-height:32px}
#ca-reading-modes{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;flex-shrink:0;min-height:28px;overflow:visible}
@media (max-width:700px){
 #home-ca-feed-heading>.home-ca-title{font-size:15px}
 .home-ca-feed-links .ca-date-mode{font-size:14px;padding:4px 5px}
 .home-ca-feed-links .home-ca-open{width:28px;height:28px;font-size:19px}
 .dashboard-sidebar .dashboard-nav a{min-height:38px;padding:7px 9px}
}

/* Current Affairs starts immediately below the header, with one compact toolbar. */
.study-workspace .wrap.page{padding-top:4px}
.ca-page-toolbar{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:center;column-gap:16px;row-gap:7px;margin:0 0 7px;min-width:0;height:auto}
.ca-page-toolbar>.ca-page-heading{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;min-height:36px;container-type:normal}
.ca-page-toolbar>.ca-page-heading>h1{flex:0 1 auto;min-width:0;font-size:clamp(18px,2vw,26px);line-height:1.4;margin:0;white-space:normal;overflow-wrap:anywhere}
.ca-page-toolbar>.ca-edition-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);margin:0;gap:6px;min-width:0;container-type:normal}
.ca-page-toolbar .ca-edition-controls .tab{width:100%;min-width:0;min-height:36px;padding:6px 7px;font-size:14px;line-height:1.4}
.ca-page-toolbar .ca-state-menu{width:100%;min-width:0}
.ca-page-toolbar .ca-state-menu>summary>span:not(.ca-state-chevron){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-page-toolbar .ca-state-icon,.ca-page-toolbar .ca-state-chevron{flex:none}
.ca-page-toolbar .ca-state-menu>summary{font-size:14px}
.ca-page-toolbar .ca-language{display:inline-flex;align-items:center;flex:none;gap:2px;padding:2px;border-radius:8px;margin:0;min-width:0;max-width:100%}
.ca-page-toolbar .ca-language button{font-size:14px;line-height:1.2;min-height:30px;padding:5px 8px;border-radius:6px;white-space:nowrap}
.ca-page-toolbar .ca-language button.active{background:#245fa6;color:#fff;box-shadow:0 1px 3px #15385826}
.study-workspace .page>.ca-period-bar{margin:0 0 5px;padding:4px}
.study-workspace .page>.ca-period-bar .ca-controls.periods .period-choice{min-height:30px;padding:4px 7px}
.study-workspace .page>.ca-period-bar .period-choice strong{font-size:14px}
@media (max-width:1100px){
 .ca-page-toolbar{grid-template-columns:minmax(0,1fr);gap:7px}
 .ca-page-toolbar>.ca-page-heading{justify-content:space-between}
}
@media (max-width:850px){
 .ca-page-toolbar>.ca-page-heading{gap:8px;min-height:34px}
 .ca-page-toolbar>.ca-page-heading>h1{font-size:clamp(17px,4.6vw,20px)}
 .ca-page-toolbar>.ca-edition-controls{justify-content:flex-start}
 .ca-page-toolbar .ca-language button{font-size:14px;min-height:28px;padding:5px 7px}
}

/* Each reading row owns its space; narrow controls scroll inside their row. */
.ca-main .study-content-header>.study-actions{flex-wrap:nowrap;align-items:center;gap:6px}
.ca-main .study-actions>.ca-admin-actions{flex:0 1 auto;max-width:45%;overflow-x:auto;overflow-y:hidden}
.ca-main .study-tools-track{min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin;container-type:inline-size}
.ca-main .study-tools{flex-wrap:nowrap;width:max-content;max-width:none;min-height:30px}
.ca-main .study-tools button{flex:none}
.ca-main .study-story-end>.study-actions .study-tools-track{padding-bottom:8px}
.ca-main .study-story-end>details{overflow:hidden}
.ca-main .study-story-end>details>summary{white-space:normal;line-height:1.4}
.ca-main .story{min-width:0}
.ca-main .story table{max-width:100%;table-layout:fixed}
.ca-main .story th,.ca-main .story td{overflow-wrap:anywhere}
.ca-page-toolbar:has(.ca-state-menu[open]){position:relative;z-index:42}
.page>.ca-period-bar{z-index:1}
#ca-reading-toolbar{min-width:0;isolation:isolate}
#ca-reading-toolbar>h2{flex:1 1 0;min-width:0;white-space:normal;overflow-wrap:anywhere}
#ca-reading-modes{max-width:62%;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}
#ca-reading-modes>.ca-date-mode{flex:none}
@media (max-width:380px){
 .ca-page-toolbar .ca-edition-controls .tab,.ca-page-toolbar .ca-state-menu>summary{font-size:14px;padding-inline:4px}
 .ca-page-toolbar .ca-language button{font-size:14px;padding-inline:6px}
}

/* Website-only shortcuts precede a bounded search field. Installed apps keep their header. */
.desktop-study-links{display:flex;align-items:center;gap:clamp(7px,1vw,16px);flex:0 0 auto;white-space:nowrap}
.desktop-study-links a{font-size:14px;font-weight:750;line-height:1.4;padding:8px 0;color:inherit}
.desktop-study-links a.active,.desktop-study-links a:hover{text-decoration:underline;text-underline-offset:5px}
.desktop-website .dashboard-tools .search-mini,.desktop-website .head-tools .search-mini{flex:0 1 210px;width:210px;max-width:230px;min-width:115px}
.desktop-website .dashboard-tools{flex:1 1 auto;justify-content:flex-end;gap:10px}
.desktop-website .dashboard-heading{flex:1 1 170px;min-width:0}
.desktop-website .dashboard-heading strong{font-size:20px}
.desktop-website .head-tools{justify-content:flex-end;gap:10px}
@media (min-width:851px) and (max-width:1200px){
 .desktop-website .dashboard-header{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding-block:10px}
 .desktop-website .dashboard-heading{display:flex;align-items:center;justify-content:space-between;padding-left:0;margin:0;gap:10px}
 .desktop-website .dashboard-heading strong{margin:0;font-size:18px}
 .desktop-website .dashboard-tools{width:100%;gap:8px;justify-content:flex-start}
 .desktop-website.desktop-ca-reading .dashboard-tools>#menu-btn{position:static;transform:none;width:36px;height:36px}
 .desktop-study-links{gap:10px}
 .desktop-study-links a{font-size:14px}
 .desktop-website .dashboard-tools .search-mini,.desktop-website .head-tools .search-mini{margin-left:auto;flex:1 1 150px;max-width:200px;min-width:90px}
 .desktop-website .header-main{grid-template-columns:auto minmax(0,1fr);gap:8px;padding-block:12px}
 .desktop-website .header-main>.brand{grid-column:1/-1;grid-row:1}
 .desktop-website .header-main>.menu-btn{grid-column:1;grid-row:2}
 .desktop-website .header-main>.head-tools{grid-column:2;grid-row:2}
}
/* The toolbar grows with its two responsive rows, even with a saved desktop height. */
@media (max-width:1100px){
 #app .ca-page-toolbar{height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;overflow:visible!important}
 #app .ca-page-toolbar>.ca-page-heading,#app .ca-page-toolbar>.ca-edition-controls{width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}
}
/* Three bottom controls fit side by side on a phone; dragged controls stay separate. */
@media (max-width:700px){
 .ca-period-fixed{width:calc((100vw - 32px)/2)}
 body:has(.owner-design-launch) .ca-period-fixed{width:calc((100vw - 40px)/3)}
 body:has(.ca-period-fixed) .owner-design-launch{width:calc((100vw - 40px)/3);max-width:calc((100vw - 40px)/3)}
 body:has(.ca-period-fixed) .owner-design-launch .edit-page-toggle{width:100%;min-height:34px;padding:6px 3px;font-size:14px;white-space:nowrap}
 .ca-period-fixed .ca-popup-handlebar,.ca-period-fixed .ca-popup-handlebar button{min-height:34px}
 .ca-period-fixed .ca-popup-handlebar{gap:0}
 .ca-period-fixed .ca-popup-drag{flex:0 0 16px;font-size:16px;padding:3px 0}
 .ca-period-fixed .ca-popup-reset{flex:0 0 17px;font-size:14px;padding:3px 0}
 .ca-period-fixed .ca-popup-toggle{padding:3px 1px;font-size:9px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
 .study-workspace .wrap.page{padding-bottom:76px}
}

/* Mobile layout must never inherit the desktop header's horizontal canvas. */
@media (max-width:850px){
 html,body{overflow-x:clip}
 body{min-width:0;max-width:100%}
 #shell,#app{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 body .dashboard-header,body .site-header{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
 body .dashboard-header{display:block}
 .desktop-study-links{display:none}
 body .dashboard-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:8px;margin:0 0 10px}
 body .dashboard-heading small{min-width:0;max-width:100%;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body .dashboard-heading strong{min-width:0;max-width:100%;margin:0;font-size:16px;line-height:1.35;text-align:right;overflow-wrap:anywhere}
 body .dashboard-tools{width:100%;min-width:0;max-width:100%;gap:5px}
 .dashboard-tools>.dashboard-menu-btn,.dashboard-tools>.lang,.dashboard-tools>.notice-menu,.dashboard-tools>.account-menu{flex-shrink:0}
 .dashboard-tools>.search-mini{min-width:0;flex:1 1 0;width:auto;max-width:100%}
 .study-workspace .wrap.page{width:calc(100% - 32px);margin-inline:16px;max-width:calc(100% - 32px)}
 .page-editor-toolbar{width:min(390px,calc(100vw - 24px));min-width:0;max-height:min(46dvh,calc(100dvh - 24px))!important;overflow-x:hidden;overflow-y:auto}
 .page-editor-toolbar .editor-family{min-width:0;flex-wrap:wrap}
 .page-editor-toolbar .editor-family select{min-width:0;flex:1 1 100px}
 .page-editor-toolbar .editor-properties>*{min-width:0;max-width:100%}
 .owner-design-launch{box-sizing:border-box;max-width:calc(100vw - 24px);bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px}
 .owner-design-launch .edit-page-toggle{max-width:100%;box-sizing:border-box}
}

/* Reading marks always fit the row instead of overflowing past its right edge. */
.study-actions .study-tools-track{flex:1 1 180px;min-width:0;max-width:100%;overflow:visible;overflow-x:visible;overflow-y:visible;padding-bottom:8px;container-type:inline-size}
.study-actions .study-tools{display:grid;grid-template-columns:14px minmax(0,1fr) minmax(0,.72fr) minmax(0,1.32fr);gap:3px;width:100%;max-width:260px;min-width:0;align-items:stretch}
.study-actions .study-tools button[data-study-read],.study-actions .study-tools button[data-study-important]{min-width:0;min-height:29px;padding:4px 3px;font-size:clamp(8px,4.6cqw,11px);line-height:1.3;gap:2px;border-width:1px;white-space:nowrap}
.study-actions .study-tools .study-grip{width:14px;min-width:0;padding:2px 0;font-size:14px}
.study-actions .study-selected-check{width:6px;flex:none}
.study-story-end>.study-actions{max-width:100%;width:100%}
@media (max-width:700px){
 .story .study-story-end{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
 .study-content-header .study-actions>.ca-admin-actions{max-width:34%}
}
/* Four MCQ choices occupy two columns and two rows without truncating answers. */
.question-options,.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
.question-options>button,.choices>.choice{min-width:0;max-width:100%;padding:9px 10px;line-height:1.5;overflow-wrap:anywhere;text-align:left}
.question-options>button:hover:not(:disabled){transform:none}
@media (max-width:700px){
 .question-options>button,.choices>.choice{font-size:14px;padding:8px;line-height:1.5}
 .mcq-preview .answer-box{min-width:0;padding:9px;margin-top:11px}
}
.study-login-prompt{width:min(290px,calc(100vw - 32px));padding:24px;border:1px solid #cad9e7;border-radius:15px;background:#fff;color:#183c5c;text-align:center;box-shadow:0 16px 45px #102d4b30}
.study-login-prompt::backdrop{background:#10253c66}
.study-login-prompt p{font-size:19px;font-weight:750;margin:0 0 18px}
.study-login-prompt button{min-width:80px;padding:9px 20px;border:0;border-radius:8px;background:#245fa6;color:#fff;font-weight:750}

/* Keep the reading toolbar in document flow on desktop as well as in the app. */
body .ca-page-toolbar,
body .page>.ca-period-bar{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
body .ca-page-toolbar>*{min-width:0;height:auto!important;max-height:none!important;overflow:visible!important}
body .ca-period-bar .ca-controls.periods{transform:none!important;position:static!important;height:auto!important;max-height:none!important;width:100%!important;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin:0}
.ca-period-bar .period-choice{flex:1 0 auto}
.ca-topic-rail{grid-area:topics;min-width:0;width:100%;display:flex;flex-direction:column;gap:12px;align-self:start}
.ca-topic-rail>.ca-desktop-topics{grid-area:auto;position:static;display:flex;flex-direction:column;flex:none;box-sizing:border-box;min-width:0;width:100%;padding:0;max-height:350px;overflow:hidden;border:1px solid #cadcec;border-radius:12px;background:#fff}
.ca-topic-rail>.ca-test-links{box-sizing:border-box;min-width:0;width:100%;flex:none}
.ca-topic-rail .ca-topic-scroll{box-sizing:border-box;min-width:0;width:100%}
.ca-topic-rail .ca-topic-choices>a,.ca-fixed-rail-content .ca-topic-choices>a{flex-shrink:0;min-height:36px;white-space:normal;overflow-wrap:break-word}
.ca-test-links{min-width:0;padding:13px;border:1px solid #c9dcec;border-radius:12px;background:#f3f8ff;color:#244866}
.ca-test-links h3{font-size:15px;line-height:1.4;margin:0 0 4px}
.ca-test-links h3 a{font-weight:800;color:#164e85}
.ca-test-links p{font-size:14px;margin:0 0 10px;color:#586c82}
.ca-test-links>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ca-test-links>nav>a{display:flex;align-items:center;min-height:37px;padding:7px;border:1px solid #d2e0ee;border-radius:7px;background:#fff;font-size:14px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.ca-test-links>nav>a:hover{background:#e0edff;border-color:#80a8d3}
.ca-test-links .ca-topic-tests-link{display:block;margin-top:9px;padding:8px;border-radius:7px;background:#176455;color:#fff;font-size:14px;font-weight:750;text-align:center}
.ca-topic-popup .ca-test-links{margin-top:10px;padding:10px}
.ca-topic-popup .ca-test-links h3 a{font-size:14px;padding:0;border:0;background:none}
.ca-topic-popup .ca-test-links>nav>a{font-size:14px;padding:7px;min-height:35px}
.ca-topic-popup .ca-test-links .ca-topic-tests-link{color:#fff;background:#176455}
/* Bottom reading marks stay left-aligned, outside the question area. */
.story .study-story-end.study-end-left{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.story .study-story-end.study-end-left>.study-actions{align-self:flex-start;justify-self:start;width:min(290px,100%);min-width:0;max-width:100%;margin:0;padding:5px 6px}
.story .study-story-end.study-end-left>.study-actions::before{display:none}
.story .study-story-end.study-end-left .study-tools-track{flex:1 1 0;padding:0;min-width:0}
.story .study-story-end.study-end-left .study-tools{max-width:100%;margin:0;width:100%;grid-template-columns:16px minmax(0,1fr) minmax(0,.8fr) minmax(0,1.4fr);gap:4px}
.story .study-story-end.study-end-left .study-tools button[data-study-read],
.story .study-story-end.study-end-left .study-tools button[data-study-important]{font-size:clamp(10px,4.6cqw,12px);padding:6px 4px;min-height:32px}
.story .study-story-end.study-end-left .study-tools .study-grip{width:16px;min-width:0;padding:2px}
.ca-state-portal{position:fixed;z-index:105!important;display:block;box-sizing:border-box;width:min(340px,calc(100vw - 24px));padding:0;border:1px solid #c5d9e8;border-radius:14px;box-shadow:0 16px 44px #173b6433;background:#fff;color:#223d57;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.ca-state-portal[hidden]{display:none!important}
.ca-state-portal .ca-state-picker-list>button{width:100%;min-width:0}
@media (max-width:850px){
 .page,.page>.note,.page>.card,.home-current,.ca-main{box-sizing:border-box;min-width:0;max-width:100%}
 .filters,.test-layout,.result-panel,.question-panel{min-width:0;max-width:100%}
 .filter-label>select{min-width:0;max-width:100%}
 .ca-topic-rail{display:none}
 .story .study-story-end.study-end-left>.study-actions{width:min(280px,100%)}
}
.ca-popup-handlebar .ca-popup-toggle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (min-width:701px){.ca-topic-popup{width:238px;max-width:calc(100vw - 24px)}}

/* Current Affairs reading: stable screen controls and one mark bar per article. */
.ca-reading-page .page,
.ca-reading-page .ca-period-fixed,
.ca-reading-page .page :is(button,input,select,table){font-family:"Bookman Old Style","URW Bookman",Bookman,"Noto Sans Devanagari","Noto Serif Devanagari",Mangal,serif}
.ca-reading-page .story :is(p,td,th,li){font-weight:700}
.ca-reading-page :is(.story h2,.story h3,.story-topic-link,.ca-topic-collection>h2,.ca-desktop-topics h3,.ca-topic-popup .ca-popup-toggle,.ca-test-links h3){font-weight:700;letter-spacing:normal}
.ca-selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0 12px;padding:9px 12px;border:1px solid #d4e1ef;border-radius:9px;background:#f4f8fc;font-size:14px;line-height:1.5;color:#315574}
.ca-selection-summary>span[aria-hidden]{color:#75869a}
.ca-topic-count{font:inherit;white-space:nowrap;color:#506984}
.ca-no-topics{padding:9px;font-size:14px;color:#556c82;line-height:1.5}
.ca-exact-date{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:#50677e}
.ca-exact-date input{min-width:0;width:min(200px,100%);box-sizing:border-box;padding:9px 11px;border:1px solid #bfd0e0;border-radius:8px;background:white;color:#244b6b;font-size:14px}
.ca-fixed-rail-content{display:flex;flex-direction:column;gap:12px;box-sizing:border-box;min-width:0;width:100%}
.ca-fixed-rail-content>.ca-desktop-topics{display:flex;flex-direction:column;min-width:0;width:100%;max-height:min(40dvh,350px);box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid #cadcec;border-radius:12px;background:white}
.ca-fixed-rail-content .ca-topic-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
.ca-fixed-rail-content>.ca-test-links{box-sizing:border-box;min-width:0;max-width:100%}
.desktop-ca-reading .ca-fixed-rail-content{position:fixed;z-index:26;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ca-reading-page .ca-main .story,
.ca-reading-page .ca-topic-collection .story{position:relative;isolation:isolate;border:1px solid #bed0e1;border-top:4px solid var(--story-accent);border-bottom:2px solid #a9c0d6;margin:16px 0 28px;padding-bottom:16px;box-shadow:0 5px 12px #1735540c;overflow:visible}
.ca-reading-page .story:first-of-type{border-top:4px solid var(--story-accent)}
.ca-reading-page .story .study-story-end{display:block;min-width:0;margin-top:12px}
.ca-question-clearance{height:66px;pointer-events:none}
.ca-story-reading-controls{position:static;inset:auto;transform:none;width:min(350px,100%);max-width:100%;z-index:auto;box-sizing:border-box}
.ca-story-reading-controls>.study-actions{display:flex;align-items:center;min-width:0;width:100%;max-width:100%;padding:5px 7px;margin:0;border:1px solid #b6cce0;border-radius:9px;background:#f7fbff;box-shadow:0 3px 10px #19334b24;box-sizing:border-box}
.ca-story-reading-controls .study-actions::before{display:none}
.ca-story-reading-controls .study-tools-track{width:100%;min-width:0;max-width:100%;padding:0;flex:1 1 0}
.ca-story-reading-controls .study-tools{width:100%;max-width:100%;grid-template-columns:16px minmax(0,1fr) minmax(0,.82fr) minmax(0,1.45fr);gap:4px}
.ca-story-reading-controls .study-tools button[data-study-read],
.ca-story-reading-controls .study-tools button[data-study-important]{font-size:14px;min-height:32px;padding:6px 3px}
.ca-reading-page.study-workspace .wrap.page{padding-bottom:140px}
.ca-test-popup{z-index:37!important;border-color:#b9cfe8;border-radius:8px}
.ca-test-popup .ca-popup-handlebar{min-height:34px}
.ca-test-popup .ca-test-handle{display:grid;place-items:center;width:26px;flex:none;font-size:17px}
.ca-test-popup .ca-popup-toggle{font-size:14px;text-align:center;min-height:34px}
.ca-test-popup .ca-popup-body{padding:7px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
.ca-test-popup .ca-test-links{margin:0;padding:9px;border:0;box-shadow:none;border-radius:6px}
.ca-test-popup .ca-test-links>nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.ca-test-popup .ca-test-links>nav>a{font-size:14px;min-height:38px}
.ca-test-popup .ca-test-links h3{display:none}
.ca-reading-page .ca-reading-docked{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;top:auto!important;width:calc((100vw - 32px)/2)!important;max-width:calc((100vw - 32px)/2)!important;z-index:35!important;box-sizing:border-box}
.ca-reading-page .ca-reading-docked[data-chooser=topic]{left:12px!important;right:auto!important}
.ca-reading-page .ca-reading-docked[data-chooser=period]{left:auto!important;right:12px!important}
.ca-reading-page .ca-reading-docked .ca-popup-drag:disabled{opacity:.6;cursor:default}
.ca-reading-page .ca-reading-docked .ca-popup-handlebar,.ca-reading-page .ca-reading-docked .ca-popup-handlebar button{min-height:34px}
.ca-reading-page .ca-reading-docked .ca-popup-toggle{font-size:14px}
.ca-reading-page .ca-reading-docked .ca-popup-body{max-height:min(300px,44dvh)}
.ca-reading-page .owner-design-launch{bottom:calc(96px + env(safe-area-inset-bottom,0px));right:12px;z-index:34}
@media(max-width:850px){
 .ca-reading-page .ca-main .story,.ca-reading-page .ca-topic-collection .story{margin-bottom:24px;padding:13px 11px 12px}
 .ca-reading-page .ca-story-reading-controls .study-tools button[data-study-read],.ca-reading-page .ca-story-reading-controls .study-tools button[data-study-important]{font-size:14px}
 .ca-reading-page .ca-question-clearance{height:72px}
 .ca-reading-page .story .mcq-preview{width:100%;box-sizing:border-box;padding:9px}
 .ca-reading-page .story .question-options{grid-template-columns:minmax(0,1fr)}
 .ca-reading-page .story table{display:table;width:100%;table-layout:fixed}
 .ca-reading-page .story th{width:32%}
 .ca-reading-page .ca-test-popup .ca-popup-body{max-width:100%}
 .ca-reading-page .owner-design-launch .edit-page-toggle{font-size:14px;min-height:27px;padding:5px 8px}
}
@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/noto-devanagari-regular.ttf') format('truetype')}
@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/noto-devanagari-bold.ttf') format('truetype')}

/* Deep study colours keep the existing page and card arrangement. */
:root{--navy:#10254d;--navy2:#153f7d;--ink:#172d4e;--muted:#3f5878;--line:#a9bfdc;--paper:#e3ebf8;--green:#09664f;--coral:#ffc06b;--gold:#ffd166;--shadow:0 12px 32px #0d295323}
body,body.signed-in,body.study-workspace,.home-core,.signed-in .home-core{background:#e3ebf8}
.site-header,.footer{background:linear-gradient(110deg,#0d254d,#164784);border-color:#e3ac42}
.dashboard-sidebar,.study-workspace .dashboard-sidebar{background:linear-gradient(165deg,#153f7d,#0b2145 78%)}
.dashboard-nav a.active{background:#ffd166;color:#14294c;border-left-color:#ffaf28}
.dashboard-sidebar .dashboard-nav a:hover,.dashboard-sidebar-bottom a:hover,.dashboard-sidebar-bottom button:hover{background:#284b80;color:#fff}
.dashboard-nav-label,.dashboard-brand-caption,.brand-tag{color:#d4e4fa}
.dashboard-header{background:linear-gradient(110deg,#163f7b,#273c80);border-bottom-color:#d5a545;color:#fff}
.dashboard-header .dashboard-heading strong,.dashboard-header .dashboard-heading small,.dashboard-mobile-wordmark{color:#fff}
.dashboard-header .dashboard-tools .search-mini{background:#fff;border-color:#8eb2de}
.dashboard-tools .lang,.lang{background:#102b55;border-color:#7298c8}
.dashboard-tools .lang button,.lang button{color:#fff}
.dashboard-tools .lang button.active,.lang button.active{background:#ffd166;color:#142c52}
.dashboard-header .notice-menu>summary,.dashboard-menu-btn{background:#204f90;color:#fff;border-color:#89b0e1}
.account-menu>summary{background:#153d77;color:#fff;border-color:#8eaed6}
.account-avatar{background:#ffd166;color:#153253;border-color:#dfaa42}
.account-dropdown,.notice-popover{background:#153865;color:#fff;border-color:#315d92}
.account-dropdown-heading,.notice-panel-heading{border-color:#4f729e}
.account-dropdown-heading small,.notice-item small,.sent-notice small{color:#d5e4f8}
.account-dropdown>a,.account-dropdown>button{background:#153865;color:#fff}
.account-dropdown>a:hover,.account-dropdown>button:hover{background:#285594}
.account-dropdown>button{color:#ffd5d5;border-color:#5c6f95}
.notice-panel-heading a{color:#ffe095}.notice-unread{background:#204c86;border-left-color:#ffd166}
.notice-item{border-bottom-color:#537197}
.page-top{background:linear-gradient(110deg,#173f7d,#354087);color:#fff;border-left:5px solid #ffc65c;border-radius:13px;padding:18px 20px}
.page-top :is(.eyebrow,.crumb,.page-intro),.page-top .page-title{color:#fff}
.page>h1{color:#173b76;border-bottom:4px solid #ca8d19;padding-bottom:8px}
.btn.primary,.login-btn{background:#ffc15f;color:#132c52}
.btn.dark{background:#193f7e;color:#fff}
.btn.subtle{background:#28578f;color:#fff}
.btn.small,.field,.filter-label,.meta,.small-note,.eyebrow,.crumb{font-size:14px}
.brand-tag,.dashboard-brand-caption,.dashboard-nav-label,.footer small{font-size:14px}
.field :is(input,select,textarea),select.control,input.control,textarea.control{font-size:16px;background:#fff;color:#182e50;border-color:#91acd0}
.card{background:#193f77;color:#fff;border-color:#466b9d;box-shadow:0 6px 16px #0b295317}
.card :is(h2,h3){color:#fff}
.card :is(p,.meta,.muted,small,.overline,.text-link){color:#e2edff}
.card .pill{background:#102e5c;color:#fff;border:1px solid #6a8dbb}
.feature,.feature.blue{background:#1a4d8d}.feature.mint{background:#09664f}.feature.orange{background:#8a411a}
.feature .icon{background:#ffd166;color:#153358}.feature:nth-child(2) .icon{background:#bcabff;color:#282058}.feature:nth-child(3) .icon{background:#ffe6b6;color:#683210}
.course-card,.subject-card{background:#164a86;border-top-color:#ffd166}
.course-card:nth-child(3n+2),.subject-card:nth-child(3n+2){background:#51388a;border-top-color:#c7adff}
.course-card:nth-child(3n),.subject-card:nth-child(3n){background:#07664f;border-top-color:#76d8b2}
.subject-card span,.course-card .overline{color:#e4edff;font-size:14px}
.test-card{background:#8b3f19;border-top-color:#ffd166}.test-card:nth-child(3n+2){background:#58378c;border-top-color:#c9b3ff}.test-card:nth-child(3n){background:#075e51;border-top-color:#62d5b3}
.topic-row{background:#194b87;color:#fff;border-color:#688bb7;border-left-color:#ffc95a}
.topic-row:nth-child(3n+2){background:#54358e;border-left-color:#c4acff}.topic-row:nth-child(3n){background:#086651;border-left-color:#67d2af}
.topic-row small{color:#e4eeff;font-size:14px}
.filters,.auth-card,.profile-card{background:#163d73;color:#fff;border-color:#4d74a4}
.filters .filter-label,.auth-card p,.profile-card .muted,.profile-card .meta{color:#e1edff}
.auth-card h1{color:#fff}.auth-card .error,.profile-card .error{color:#ffcbcb}
.filters select{background:#fff;color:#163458;border-color:#8eafd7;font-size:16px}
.locked{background:#795009;color:#fff3d6;border-color:#c38d21}.locked .lock{color:#ffe196}
.control-main{background:#fff;border-top:5px solid #173f7d;border-color:#a0b6d4}
.control-main>h2,.control-main>h3{background:#173f7d;color:#fff;padding:10px 13px;border-radius:8px}
.control-menu button{background:#1b4f8f;color:#fff;border-color:#7496bd;font-size:14px}.control-menu button.active{background:#5c378d;color:#fff;border-color:#9977c3}
.control-list button,.control-story{border-color:#afc3dc;border-left:4px solid #3163a8}.control-list button:nth-child(2n){border-left-color:#7b49ad}
.control-notices-link{background:#0b6659;color:#fff}
.story-editor{background:#fff;border-top:5px solid #304983;border-color:#afc3dc}.story-editor .actions{background:#fff}
.page .note{background:#fff;color:#172d4e;border-top-color:#57368d;border-color:#a3b8d4}
.page .note>h1,.page .note>h2{background:#513789;color:#fff;padding:10px 13px;border-radius:8px}
.page .note>h3{color:#085d4c;border-bottom:2px solid #258370;padding-bottom:5px}
.note-tag,.badge{background:#0a6654;color:#fff;font-size:14px}.badge.locked-badge{background:#855209;color:#fff}
.note blockquote{background:#fff;border-left:5px solid #8e580f;color:#382d1a}
.home-current,.signed-in .home-current{background:#123e75;border-color:#416b9e;border-top-color:#66b8ff;color:#fff}
.home-core-heading h1,.home-ca-title,.home-current .ca-page-heading h1{color:#fff}
.home-test{background:#873b1d;border-color:#b9683e;border-top-color:#ffd166;color:#fff}.home-test h2{color:#fff}
.home-test-routes a,.home-test-routes a:nth-child(2n){background:#593086;border-color:#9479bc;color:#fff;font-size:15px}
.home-test-routes a:nth-child(3n){background:#0a6454;border-color:#389984;color:#fff}.home-test-routes a:hover{background:#b55920;color:#fff;border-color:#ffd166}
.home-notes,.signed-in .home-notes{background:#513487;border-color:#886db8;border-top-color:#c7adff;color:#fff}.home-notes h2{color:#fff}
.home-note-item,.home-note-item:nth-child(3n+2){background:#1c4f8d;border-color:#648dbc;color:#fff;font-size:15px}.home-note-item:nth-child(3n){background:#086451;border-color:#3c9e86;color:#fff}
.dashboard-rail-card,.latest-updates-card{background:#123967;border-color:#496d9b;color:#fff}
.home-core .dashboard-rail-card h2,.latest-update-group h3,.dashboard-shortcut,.latest-update-group .dashboard-recent li.muted{color:#fff}
.dashboard-recent small,.dashboard-recent a,.dashboard-recent a:hover span{color:#e0edff;font-size:14px}
.dashboard-recent li+li,.latest-update-group+.latest-update-group,.dashboard-shortcut{border-color:#526e95}
.home-ca-feed{background:#fff;color:#193a63;border-color:#7ea5d2}.home-ca-feed>h2{background:#174b89;color:#fff;padding:10px 12px;border-radius:8px}
.home-ca-feed>h2 .home-ca-open{background:#ffc95f;color:#162e53;border-color:#ce912a}
.home-ca-feed-links .ca-date-mode,.home-ca-feed .ca-date-mode{background:#265998;color:#fff;border-color:#507daf}
.ca-item-number{background:#186159;color:#fff}.ca-news-scroll small{color:#3c5878;font-size:14px}
.ca-language,.ca-page-toolbar .ca-language{background:#173f78;border-color:#688fbc}.ca-language button,.ca-page-toolbar .ca-language button{color:#fff;font-size:14px}
.ca-language button.active,.ca-page-toolbar .ca-language button.active{background:#ffd166;color:#172c51}
.ca-edition-controls>.tab,.ca-page-toolbar .ca-edition-controls>.tab{background:#214f8e;color:#fff;border-color:#6e98c9;font-size:14px}
.ca-edition-controls>.tab.active{background:#51348a;color:#fff;border-color:#8365b2}
.ca-state-menu>.tab,.ca-page-toolbar .ca-state-menu>summary{background:#09634f;color:#fff;border-color:#3a9a80;font-size:14px}
.ca-state-menu>.tab.active{background:#075440;color:#fff}
.ca-page-heading h1,.ca-page-toolbar>.ca-page-heading>h1{color:#143c78}
.ca-state-picker-heading{background:#17477f;color:#fff}.ca-state-picker-heading strong,.ca-state-picker-heading small{color:#fff;font-size:14px}
.ca-state-picker-list>button[aria-pressed=true]{background:#0a6451;color:#fff;border-color:#27866e}.ca-state-picker-list>button[aria-pressed=true] small,.ca-state-picker-list>button[aria-pressed=true] .ca-state-check{color:#fff}
.ca-state-picker-list>button[aria-pressed=true] .ca-state-marker{background:#ffd166;color:#123456}
.ca-period-bar,.home-ca-periods,.home-ca-periods .ca-controls.periods{background:#173e75;border:1px solid #6089b7}
.ca-period-bar .period-choice,.home-ca-periods .period-choice,.ca-popup-body .period-choice{background:#245791;color:#fff;border-color:#759bc8}
.ca-period-bar .period-choice.active,.home-ca-periods .period-choice.active,.ca-popup-body .period-choice.active{background:#ffd166;color:#162f55;border-color:#e6af42}
.ca-period-bar .period-choice small,.home-ca-periods .period-choice small,.ca-popup-body .period-choice small{color:inherit;font-size:14px}
.ca-selection-summary{background:#153f77;color:#fff;border-color:#4d78ac;font-size:14px}.ca-selection-summary>span[aria-hidden]{color:#d9e7fa}
.ca-reading-modes .ca-date-mode{background:#1d4e8e;color:#fff;border-color:#517bb0;font-size:14px}.ca-reading-modes .ca-date-mode.active{background:#543487;color:#fff;border-color:#9177bf}
.issue>h2,.ca-topic-collection>h2{background:#173f77;color:#fff;border-bottom:3px solid #dbab44;border-radius:9px;padding:10px 13px}
.ca-exact-date{color:#26486f;font-size:14px}.ca-exact-date input{font-size:16px}
.story{--story-accent:#174c91;--story-wash:#174c91;background:#fff;border-color:#90add0}
.story[data-tone=teal]{--story-accent:#096752;--story-wash:#096752}.story[data-tone=green]{--story-accent:#315f26;--story-wash:#315f26}.story[data-tone=violet]{--story-accent:#5a348d;--story-wash:#5a348d}.story[data-tone=amber]{--story-accent:#875009;--story-wash:#875009}.story[data-tone=coral]{--story-accent:#9b3e24;--story-wash:#9b3e24}
.story .story-topic-link{background:var(--story-accent);color:#fff;border-color:var(--story-accent);font-size:14px}
.story h2{color:#173858}.story .meta,.story .sources{color:#40587a;font-size:14px}
.story .story-facts-heading{background:var(--story-accent);color:#fff;padding:8px 11px;border-radius:7px;font-size:18px}
.story .story-facts th{background:var(--story-accent);color:#fff;border-color:#8daaca}.story .story-facts td,.story .story-facts tr:nth-child(2n) td{background:#fff;color:#172e4b;border-color:#b2c5dd}
.story :is(.story-clarification,.story-focus,.story-static,.story-comparison,.revision){color:#fff;border-left:4px solid #ffd166;border-color:#ffd166}
.story .story-clarification{background:#80500a}.story .story-focus{background:#174d8b}.story .story-static{background:#0a6553}.story .story-comparison{background:#59378e}.story .revision{background:#0d5b53}.story .revision strong{color:#fff}
.story .mcq-preview{background:#53348a;color:#fff;border-color:#8c71ba}.story .mcq-preview summary{color:#fff;font-size:16px}
.story .mcq-preview .answer-box{color:#183251;background:#fff;border-color:#af98d1}.story .mcq-preview .answer-box legend{color:#253958}
.story .sources a{color:#205b9b}.story .answer-explanation,.review-item .answer-explanation{font-size:15px;color:#273f60;background:#fff;border-color:#90acd0}
.question-panel,.result-panel{background:#fff;border-color:#9db4d5;border-top-color:#53348a}.test-bar{background:#53348a;color:#fff}.timer{background:#ffd166;color:#152f52}
.palette-panel{background:#163f77;color:#fff;border-color:#688cb5;border-top-color:#5eceab}.palette-panel h3,.palette-legend{color:#fff}.palette-legend{font-size:14px}
.palette button{background:#1f548d;color:#fff;border-color:#6e9bcc}.palette button.answered{background:#096652;color:#fff}.palette button.review{background:#643998;color:#fff}.palette button.active{border-color:#ffd166}
.stat{background:#174d87;color:#fff;border:1px solid #6b94c0}.stat:nth-child(2n){background:#5b388c;border-color:#9c83bf}.stat:nth-child(3n){background:#086350;border-color:#3b987e}.stat .muted{color:#fff}
.result-panel .score{color:#075b49}.review-item{border-top-color:#9eb7d6}.review-item .correct{color:#06624e}.review-item .incorrect{color:#a12624}
.study-filters,.study-kinds{border-color:#6c8db5}.study-filters :is(button,a),.study-kinds a{background:#224f88;color:#fff;border-color:#6789b4;font-size:14px}
.study-filters button[aria-pressed=true],.study-kinds a[aria-current=page]{background:#59368d;color:#fff;border-color:#9276b9}
.study-saved-item{background:#fff;border-top:4px solid #245b98;border-color:#b0c3dd}.study-saved-item h2{color:#1a477b}
.empty{background:#fff;color:#365478;border-color:#91accf}.empty strong{color:#173f77}

/* One centered mark bar per news article; saved drag offsets never shift it. */
.ca-story-reading-controls>.study-actions{background:#143d72;border-color:#6e96c4;box-shadow:0 3px 12px #173f6a2e;padding:6px}
.study-tools[data-study-tools-kind=story]{transform:none!important;margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1.35fr);max-width:350px;gap:5px}
.ca-story-reading-controls .study-tools{grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1.35fr);max-width:none;width:100%;gap:5px}
.study-tools[data-study-tools-kind=story] button[data-study-read],.study-tools[data-study-tools-kind=story] button[data-study-important],.ca-reading-page .ca-story-reading-controls .study-tools button[data-study-read],.ca-reading-page .ca-story-reading-controls .study-tools button[data-study-important]{font-size:14px;line-height:1.4;min-height:36px;padding:6px 5px;white-space:nowrap}
.study-tools[data-study-tools-kind=story] button[data-study-read]{background:#275d99;color:#fff;border-color:#8bafd3}
.study-tools[data-study-tools-kind=story] button[data-study-read][aria-pressed=true][data-study-status=unread]{background:#294ca0;color:#fff;border-color:#acbfe3}
.study-tools[data-study-tools-kind=story] button[data-study-read][aria-pressed=true][data-study-status=read]{background:#08705a;color:#fff;border-color:#80cab6}
.study-tools[data-study-tools-kind=story] button[data-study-important]{background:#543587;color:#fff;border-color:#a489c7}
.study-tools[data-study-tools-kind=story] button[data-study-important][aria-pressed=true]{background:#ffd166;color:#1a2e4e;border-color:#f0b743}
.story .study-story-end.study-end-left>.study-actions{align-self:center;margin-inline:auto;width:min(350px,100%)}
.story .study-story-end.study-end-left .study-tools[data-study-tools-kind=story]{grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1.35fr)}
.ca-question-clearance{height:72px}

/* Screen rail headings remain visible; each body owns its scroll space. */
.ca-fixed-rail-content{gap:10px;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-color:#78a2d4 #14365f}
.ca-fixed-rail-content>.ca-desktop-topics,.ca-topic-rail>.ca-desktop-topics{background:#163f77;border-color:#648bbb;padding:0;flex:1 1 auto;min-height:100px;max-height:min(36dvh,300px)}
.ca-fixed-rail-content .ca-desktop-topics>h3,.ca-topic-rail .ca-desktop-topics>h3,.ca-desktop-topics>h3{background:#51368a;color:#fff;border-bottom-color:#9b80c2;padding:10px 12px;font-size:16px;line-height:1.4;margin:0;flex:none}
.ca-fixed-rail-content .ca-topic-scroll,.ca-topic-rail .ca-topic-scroll{padding:5px;scrollbar-color:#99b9df #173f77}
.ca-topic-choices .ca-edition-label,.ca-no-topics{color:#e2edff;font-size:14px;border-color:#587ca8}
.ca-topic-choices a,.ca-side .ca-topic-scroll a,.ca-desktop-topics .ca-topic-choices a{background:#204d88;color:#fff;border-color:#577bac;font-size:14px;padding:8px;min-height:35px}
.ca-topic-choices a:nth-of-type(2n){background:#28538e}.ca-topic-choices a:hover,.ca-topic-choices a.active,.ca-side .ca-topic-scroll a.active{background:#ffd166;color:#1a3154;box-shadow:none}
.ca-topic-count{color:inherit}
.ca-test-links{background:#174879;color:#fff;border-color:#557eae;padding:11px;flex:none}
.ca-test-links h3,.ca-test-links h3 a{color:#fff;font-size:16px}.ca-test-links p{color:#e0edff;font-size:14px;line-height:1.45}
.ca-test-links>nav>a,.ca-topic-popup .ca-test-links>nav>a{background:#52338a;color:#fff;border-color:#967bbe;font-size:14px;min-height:38px;padding:7px}
.ca-test-links>nav>a:hover{background:#70499f;color:#fff;border-color:#ccb5ee}
.ca-test-links .ca-topic-tests-link,.ca-topic-popup .ca-test-links .ca-topic-tests-link{background:#075f50;color:#fff;font-size:14px;padding:9px;border:1px solid #57ad94}
.ca-store-links{background:#075f50;color:#fff;border:1px solid #398f7b;border-radius:12px;padding:11px;flex:none;min-width:0}
.ca-store-links h3,.ca-store-links h3 a{margin:0 0 5px;color:#fff;font-size:16px;line-height:1.4}.ca-store-links p{margin:0 0 9px;color:#e0f4ed;font-size:14px;line-height:1.5}.ca-store-links>a{display:block;padding:8px 9px;background:#7a4319;color:#fff;border:1px solid #c9894c;border-radius:7px;font-size:14px;font-weight:700;text-align:center}
.ca-popup-handlebar{background:#174b8f}.ca-topic-popup .ca-popup-handlebar{background:#55358d}.ca-test-popup .ca-popup-handlebar{background:#0a6655}.ca-store-popup .ca-popup-handlebar{background:#864616}
.ca-popup-toggle,.ca-test-popup .ca-popup-toggle,.ca-reading-page .ca-reading-docked .ca-popup-toggle{font-size:14px}
.ca-topic-popup .ca-popup-body{background:#163f77}.ca-test-popup .ca-popup-body{background:#174879}.ca-store-popup .ca-popup-body{background:#075f50}
.cat-date-wise{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;padding:14px;border:1px solid #789dd0;background:#173f7d;color:#fff;border-radius:10px}
.cat-date-wise label{font-size:15px;font-weight:700}.cat-date-wise input{font-size:16px;padding:9px 10px;border:1px solid #87a7d0;border-radius:8px;background:#fff;color:#16385d;max-width:100%}
.cat-date-shortcuts{display:flex;flex-wrap:wrap;gap:7px}.cat-date-shortcuts button,.cat-date-shortcuts a{background:#59368a;color:#fff;border:1px solid #a088c5;padding:8px 11px;border-radius:7px;font-size:14px}
.cat-instruction-language{font-size:16px;line-height:1.75}.cat-instruction-language h3{background:#174c86;color:#fff;padding:9px 12px;border-radius:8px;font-size:18px}
@media(max-width:850px){
 .ca-reading-page .ca-question-clearance{height:76px}
 .ca-reading-page .ca-story-reading-controls .study-tools button[data-study-read],.ca-reading-page .ca-story-reading-controls .study-tools button[data-study-important]{font-size:14px}
 .ca-popup-body .ca-topic-choices{background:#163f77}.ca-reading-page .ca-test-popup .ca-test-links>nav>a{font-size:14px}
 .ca-reading-page .ca-reading-docked .ca-popup-toggle{font-size:14px;line-height:1.3;white-space:normal}
}
@media(max-width:580px){
 .page-top{padding:14px}.btn.small,.login-btn,.profile-btn{font-size:14px}.brand-tag{font-size:14px}
 .home-ca-feed-links .ca-date-mode{font-size:14px}.ca-page-toolbar .ca-edition-controls .tab,.ca-page-toolbar .ca-state-menu>summary{font-size:clamp(11px,3.2vw,13px)}
 .ca-page-toolbar .ca-language button{font-size:14px;padding-inline:7px}.ca-page-toolbar>.ca-page-heading>h1{font-size:20px}
 .study-tools[data-study-tools-kind=story] button[data-study-read],.study-tools[data-study-tools-kind=story] button[data-study-important]{font-size:14px}
}
/* A short screen scrolls card lists, while Topic, Test and Store headings stay on screen. */
.desktop-ca-reading .ca-fixed-rail-content{overflow:hidden;scrollbar-gutter:auto}
.ca-fixed-rail-content>.ca-desktop-topics{flex:1 1 200px;min-height:76px}
.ca-fixed-rail-content>.ca-test-links{display:flex;flex-direction:column;flex:0 1 270px;min-height:100px;overflow:hidden}
.ca-fixed-rail-content>.ca-test-links>h3,.ca-fixed-rail-content>.ca-test-links>p,.ca-fixed-rail-content>.ca-test-links>.ca-topic-tests-link{flex:none}
.ca-fixed-rail-content>.ca-test-links>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad96d3 #174879}
.ca-fixed-rail-content>.ca-store-links{flex:0 0 auto}
@media(max-height:620px) and (min-width:851px){
 .ca-fixed-rail-content{gap:7px}
 .ca-fixed-rail-content>.ca-desktop-topics{min-height:64px;max-height:26dvh}
 .ca-fixed-rail-content>.ca-test-links{flex-basis:160px;min-height:88px;padding:8px}
 .ca-fixed-rail-content>.ca-test-links>p,.ca-fixed-rail-content>.ca-store-links>p{display:none}
 .ca-fixed-rail-content>.ca-test-links h3,.ca-fixed-rail-content>.ca-store-links h3{font-size:14px;margin-bottom:5px}
 .ca-fixed-rail-content>.ca-test-links>nav>a{min-height:31px;padding:5px;font-size:14px}
 .ca-fixed-rail-content>.ca-test-links>.ca-topic-tests-link{margin-top:5px;padding:6px;font-size:14px}
 .ca-fixed-rail-content>.ca-store-links{padding:8px}.ca-fixed-rail-content>.ca-store-links>a{padding:6px;font-size:14px}
}
/* App docks follow the reading column, including beside the tablet sidebar. */
.ca-reading-page .ca-reading-docked{width:calc((var(--ca-dock-width,calc(100vw - 24px)) - 8px)/2)!important;max-width:calc((var(--ca-dock-width,calc(100vw - 24px)) - 8px)/2)!important;right:auto!important}
.ca-reading-page .ca-reading-docked[data-chooser=topic]{left:var(--ca-dock-left,12px)!important;right:auto!important}
.ca-reading-page .ca-reading-docked[data-chooser=period]{left:calc(var(--ca-dock-left,12px) + (var(--ca-dock-width,calc(100vw - 24px)) + 8px)/2)!important;right:auto!important}
.ca-reading-page .ca-store-popup .ca-popup-handlebar{min-height:40px;background:#075f50}
.ca-store-mobile-link{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 auto;width:100%;min-width:0;min-height:40px;padding:4px 10px;gap:1px;color:#fff;font-size:14px;font-weight:750;line-height:1.2;text-align:center}
.ca-store-mobile-link small{color:#fff;font-size:14px;font-weight:700;line-height:1.2}
.ca-store-mobile-link:focus-visible{outline:2px solid #ffd166;outline-offset:-3px}
.ca-reading-page.study-workspace .wrap.page,.ca-reading-page .wrap.page{padding-bottom:190px}
.desktop-study-links{min-width:0;max-width:100%;flex-wrap:wrap;row-gap:0}
.desktop-study-links a{flex:none}
@media(min-width:851px) and (max-width:1200px){
 .desktop-study-links{flex:0 1 auto;gap:0 10px;max-width:350px}
 .desktop-study-links a{font-size:14px;padding-block:6px}
}
/* Use the rail's real available height, including a tall or wrapped header. */
.desktop-ca-reading .ca-fixed-rail-content{container-type:size;container-name:ca-screen-rail}
@container ca-screen-rail (max-height:260px){
 .ca-fixed-rail-content>.ca-desktop-topics{flex:1 1 34px;min-height:34px;max-height:none;padding:0}
 .ca-fixed-rail-content>.ca-desktop-topics>h3{box-sizing:border-box;height:32px;min-height:32px;margin:0;padding:7px 8px;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .ca-fixed-rail-content>.ca-desktop-topics>.ca-topic-scroll{flex:1 1 auto;min-height:0;padding:0 4px}
 .ca-fixed-rail-content>.ca-test-links{flex:0 0 34px;min-height:34px;max-height:34px;padding:0}
 .ca-fixed-rail-content>.ca-store-links{flex:0 0 34px;min-height:34px;max-height:34px;padding:0;overflow:hidden}
 .ca-fixed-rail-content>.ca-test-links>h3,.ca-fixed-rail-content>.ca-store-links>h3{box-sizing:border-box;height:32px;min-height:32px;margin:0;padding:0;font-size:14px;line-height:1.25}
 .ca-fixed-rail-content>.ca-test-links>h3>a,.ca-fixed-rail-content>.ca-store-links>h3>a{display:block;box-sizing:border-box;height:32px;min-height:32px;margin:0;padding:7px 8px;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .ca-fixed-rail-content>.ca-test-links>p,.ca-fixed-rail-content>.ca-test-links>nav,.ca-fixed-rail-content>.ca-test-links>.ca-topic-tests-link,.ca-fixed-rail-content>.ca-store-links>p,.ca-fixed-rail-content>.ca-store-links>.ca-store-download-link{display:none}
}

/* Popup bodies overlay the page; trigger dimensions never depend on open state. */
.ca-period-popup{overflow:visible}
.ca-period-popup .ca-popup-handlebar{border-radius:7px;overflow:hidden}
.ca-period-popup>.ca-popup-body{position:absolute;left:0;bottom:calc(100% + 6px);top:auto;box-sizing:border-box;z-index:2;min-width:0;border:1px solid #87a9cc;border-radius:9px;background:#173f77;box-shadow:0 8px 28px #081c4960;overflow:auto;overscroll-behavior:contain}
.ca-period-fixed.is-open,.ca-reading-page .ca-reading-docked.is-open,.ca-test-popup.is-open{z-index:65!important}
.ca-reading-page .ca-test-popup{max-width:calc(100vw - 24px);height:36px;box-sizing:border-box}
.ca-reading-page .ca-test-popup .ca-popup-handlebar,.ca-reading-page .ca-test-popup .ca-popup-toggle{height:34px;min-height:34px;font-size:14px;line-height:1.2}
.ca-reading-page .ca-test-popup .ca-popup-toggle{padding:5px 8px;white-space:nowrap;color:#fff}
.ca-reading-page .ca-test-popup .ca-test-links{padding:5px}
.ca-reading-page .ca-test-popup .ca-test-links p{font-size:14px;margin:0 0 6px}
.ca-reading-page .ca-test-popup .ca-test-links>nav>a{font-size:14px;min-height:36px;padding:6px}
.ca-reading-page .ca-test-popup .ca-topic-tests-link{font-size:14px;min-height:32px;padding:6px}
.ca-reading-page .owner-design-launch{bottom:calc(162px + env(safe-area-inset-bottom,0px))}
.story .mcq-preview>summary{display:list-item;background:#5c2788;color:#fff!important;border:1px solid #9b75c0;border-radius:7px;padding:10px 13px;font-size:15px;line-height:1.4;font-weight:700;cursor:pointer}
.story .mcq-preview>summary::marker{color:#ffdc82}
.story .mcq-preview[open]>summary{background:#153f81;color:#fff!important;border-color:#668ac0}
.story .mcq-preview>summary:focus-visible{outline:3px solid #eaae38;outline-offset:3px}
.home-current>.home-ca-layout.ca-reading-layout.has-home-tests{display:grid;grid-template-columns:minmax(116px,190px) minmax(0,1fr);grid-template-areas:'topics content';gap:12px;align-items:start}
.home-ca-tests{grid-area:topics;min-width:0;border:1px solid #518ca8;border-radius:10px;background:#154876;color:#fff;padding:11px}
.home-ca-tests h3{font-size:15px;line-height:1.4;margin:0 0 9px}.home-ca-tests h3 a{color:#fff}
.home-ca-tests nav{display:grid;gap:7px}.home-ca-tests nav a{padding:8px 7px;border:1px solid #876bba;border-radius:7px;background:#533582;color:#fff;font-size:14px;font-weight:650;line-height:1.3}
.latest-updates-content{max-height:520px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}
.dashboard-update-detail{font-size:14px;line-height:1.6;color:#fff}.dashboard-update-detail summary{cursor:pointer;color:#ffe091}.dashboard-update-detail p{white-space:pre-wrap}
/* App choosers stay fixed; reading marks belong to each article footer. */
.ca-two-row-controls .ca-reading-docked{width:calc((var(--ca-dock-width,calc(100vw - 24px)) - 12px)/3)!important;max-width:calc((var(--ca-dock-width,calc(100vw - 24px)) - 12px)/3)!important;height:44px!important;top:auto!important;bottom:calc(var(--ca-dock-bottom,8px) + env(safe-area-inset-bottom,0px))!important;right:auto!important;box-sizing:border-box}
.ca-two-row-controls .ca-reading-docked[data-chooser=topic]{left:var(--ca-dock-left,12px)!important}
.ca-two-row-controls .ca-reading-docked[data-chooser=period]{left:calc(var(--ca-dock-left,12px) + (var(--ca-dock-width,calc(100vw - 24px)) - 12px)/3 + 6px)!important}
.ca-two-row-controls .ca-reading-docked[data-chooser=test]{left:calc(var(--ca-dock-left,12px) + (var(--ca-dock-width,calc(100vw - 24px)) - 12px)*2/3 + 12px)!important}
.ca-two-row-controls .ca-reading-docked .ca-popup-handlebar{height:42px;min-height:42px;padding:0;gap:0}
.ca-two-row-controls .ca-reading-docked .ca-popup-drag,.ca-two-row-controls .ca-reading-docked .ca-popup-reset{display:none}
.ca-two-row-controls .ca-reading-docked .ca-popup-toggle{width:100%;height:42px;min-height:42px;font-size:14px;line-height:1.2;padding:4px;white-space:normal;overflow-wrap:normal;text-overflow:clip;color:#fff}
/* Article marks remain in flow even while navigation removes reading-page state. */
.story .ca-story-reading-controls.ca-reading-inline{position:static;left:auto;right:auto;top:auto;transform:none;width:var(--ca-reading-controls-width,350px);max-width:100%;height:44px;box-sizing:border-box;margin:8px auto 0;padding:0;border:0;border-radius:8px;background:#173f70;box-shadow:none;overflow:hidden;z-index:auto}
.ca-reading-inline .ca-reading-mark-title{position:static;display:block;width:100%;height:16px;box-sizing:border-box;padding:0 4px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:16px;font-weight:700;color:#fff}
.story .ca-story-reading-controls.ca-reading-inline .study-actions,.story .ca-story-reading-controls.ca-reading-inline .study-tools-track{height:28px;min-height:0;padding:0;margin:0;border:0;background:transparent;box-shadow:none;overflow:hidden}
.story .ca-story-reading-controls.ca-reading-inline .study-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;height:28px;min-height:28px;margin:0;width:100%;max-width:100%}
.story .ca-story-reading-controls.ca-reading-inline .study-tools button[data-study-read],.story .ca-story-reading-controls.ca-reading-inline .study-tools button[data-study-important]{height:28px;min-height:28px;padding:1px 2px;border-width:1px;font-size:14px;line-height:1.2;font-weight:700;white-space:nowrap;box-sizing:border-box}
.ca-two-row-controls .ca-reading-edit-docked{position:fixed!important;left:calc(var(--ca-dock-left,12px) + var(--ca-dock-width,calc(100vw - 24px)) - var(--ca-edit-width,72px))!important;right:auto!important;top:var(--ca-mark-top)!important;bottom:auto!important;width:var(--ca-edit-width,72px)!important;max-width:var(--ca-edit-width,72px)!important;height:44px;display:flex;align-items:flex-end;margin:0;transform:none!important;z-index:38;touch-action:manipulation}
.ca-two-row-controls .ca-reading-edit-docked .edit-page-toggle{width:100%;height:28px;min-height:28px;padding:1px 2px;border-width:1px;font-size:14px;line-height:1.2;font-weight:700;white-space:nowrap;box-sizing:border-box;touch-action:manipulation}
.ca-two-row-controls .wrap.page{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:700px){
 .home-current>.home-ca-layout.ca-reading-layout.has-home-tests{grid-template-columns:minmax(96px,28%) minmax(0,1fr);gap:7px}
 .home-ca-tests{padding:7px}.home-ca-tests h3{font-size:14px}.home-ca-tests nav a{font-size:14px;padding:7px 5px;min-height:34px;box-sizing:border-box}
 .has-home-tests .home-ca-feed{padding:8px;min-width:0}.has-home-tests .home-ca-feed h2{font-size:15px;line-height:1.4}.has-home-tests .ca-news-scroll{min-width:0}.has-home-tests .ca-news-scroll strong{font-size:14px}
 .latest-updates-content{max-height:400px}
}

/* Selected Current Affairs controls give a brief reminder every five seconds.
   Inset effects keep every control in place and inside its existing box. */
.ca-selection-page :is(
 .ca-edition-controls .tab.active,
 .ca-language button[aria-pressed=true],
 .period-choice.active,
 .ca-topic-choices a[aria-current=page],
 .ca-reading-modes .ca-date-mode.active,
 .date-list .tab.active,
 .ca-state-picker-list>button[aria-pressed=true],
 .study-filters [data-study-filter][aria-pressed=true],
 .study-tools :is([data-study-read],[data-study-important])[aria-pressed=true]
){
 --ca-selected-ring:#ffe3a0;
 box-shadow:inset 0 0 0 2px var(--ca-selected-ring);
 animation:ca-selected-reminder 5s ease-in-out infinite;
}
.ca-selection-page :is(.period-choice.active,.ca-topic-choices a[aria-current=page],.ca-language button[aria-pressed=true]){
 --ca-selected-ring:#713c13;
 background-color:#ffd166;
 color:#142c52;
}
@keyframes ca-selected-reminder{
 0%,72%,100%{box-shadow:inset 0 0 0 2px var(--ca-selected-ring)}
 84%{box-shadow:inset 0 0 0 3px var(--ca-selected-ring),inset 0 0 16px 3px #ffe8ab66}
}
@media (hover:hover) and (pointer:fine){
 .ca-selection-page :is(.ca-edition-controls,.ca-language,.ca-controls.periods,.ca-topic-choices,.ca-reading-modes,.date-list,.study-filters,.study-tools,.ca-state-picker-list) :is(.active,[aria-current=page],[aria-pressed=true]):hover{animation-play-state:paused}
}
/* Marking stays clear while studying; only the current article's marks pulse. */
.ca-selection-page .story:not(:focus-within) .study-tools :is([data-study-read],[data-study-important])[aria-pressed=true]{animation:none}
.ca-selection-page.page-editor-global-active :is(.active,[aria-current=page],[aria-pressed=true]){animation:none}
/* Keep the owner tool in the shell flow while a mobile test is being solved. */
@media(max-width:750px){
 body:has(#ca-tests.cat-running) .owner-design-launch{position:static!important;inset:auto!important;transform:none!important;translate:none!important;width:auto!important;height:auto!important;max-width:none!important;display:flex;justify-content:flex-end;margin:2px 16px 0;padding:0;box-shadow:none;touch-action:auto}
 body:has(#ca-tests.cat-running) .owner-design-launch .edit-page-toggle{min-height:25px;height:auto;width:auto;max-width:100%;padding:3px 9px;font-size:14px;line-height:1.4;border-width:1px;border-radius:7px;box-shadow:none;touch-action:auto}
}
.ca-selection-page :is(.active,[aria-current=page],[aria-pressed=true]):is(:disabled,[aria-busy=true]){animation:none}
@media (prefers-reduced-motion:reduce){
 .ca-selection-page :is(.active,[aria-current=page],[aria-pressed=true]){animation:none!important}
}

/* The owner editor and published page share the same responsive frame. The
   viewport-pinned rail is portalled out of user-transformed content ancestors. */
.ca-reading-page #app>.page,.ca-reading-page .page>.ca-reading-layout,.ca-reading-page .ca-reading-layout>.ca-main,.ca-reading-page .ca-reading-layout>.ca-topic-rail{transform:none!important;translate:none!important;inset:auto!important;height:auto!important;max-height:none!important;min-width:0!important}
.ca-reading-page .page>.ca-reading-layout{width:100%!important;max-width:100%!important}
.ca-reading-page .ca-reading-layout>.ca-main,.ca-reading-page .ca-reading-layout>.ca-topic-rail{width:auto!important;max-width:100%!important}
.ca-fixed-rail-content[data-page-editor-surface=ca-rail]{font-family:"Bookman Old Style","URW Bookman",Bookman,"Noto Sans Devanagari","Noto Serif Devanagari",Mangal,serif;isolation:isolate}
.ca-fixed-rail-content>.ca-desktop-topics{position:static;top:auto}
.page-editor-global-active .ca-fixed-rail-content [data-page-edit-key]:hover{outline:2px dashed #d6a43c;outline-offset:-2px}

.page-editor-global-active .ca-fixed-rail-content [data-page-edit-key]{cursor:move;touch-action:none}
/* Top reading controls use the same content column as the stories. A fixed
   left rail must never cover the title or period choices before scrolling. */
.desktop-ca-reading #app .page>.ca-page-toolbar,
.desktop-ca-reading #app .page>.ca-period-bar{margin-left:calc(var(--ca-rail-width) + var(--ca-rail-gap));width:calc(100% - var(--ca-rail-width) - var(--ca-rail-gap))!important;max-width:calc(100% - var(--ca-rail-width) - var(--ca-rail-gap))!important}
/* Course bundles reuse the existing page shell and card palette. */
.courses-page{max-width:1180px;margin:auto}.courses-page>.page-top{margin-bottom:20px}.course-bundle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.course-bundle{padding:26px;min-width:0}.course-bundle h2{font-size:24px;line-height:1.35;margin:10px 0}.course-bundle header p{margin:0;color:var(--muted,#647469)}.course-editions{padding:12px 0;border-bottom:1px solid var(--line,#dce4df);font-size:14px}.course-benefits{padding-left:20px;line-height:1.9;margin:14px 0}.course-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:20px 0 8px}.course-prices legend{font-weight:700;font-size:14px;margin-bottom:8px}.course-price-option{display:flex;gap:8px;align-items:flex-start;padding:13px 10px;border:1px solid var(--line,#dce4df);border-radius:10px;cursor:pointer;min-width:0}.course-price-option:has(input:checked){border-color:#267353;background:rgba(61,144,103,.08)}.course-price-option input{margin:5px 0 0;accent-color:#267353;flex:0 0 auto}.course-price-option strong{display:block;font-size:23px;line-height:1.3}.course-price-option small{font-size:14px;font-weight:700;white-space:nowrap}.course-offer{display:block;font-size:14px;color:var(--muted,#647469);margin-top:6px}.course-offer s{margin-right:5px;text-decoration-thickness:2px}.course-selected{font-size:14px;min-height:34px;line-height:1.5}.course-topics,.course-downloads{border-top:1px solid var(--line,#dce4df);padding:15px 0}.course-topics summary,.course-downloads summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;gap:12px;font-size:14px}.course-topics summary:focus-visible,.course-downloads summary:focus-visible{outline:2px solid #267353;outline-offset:5px}.course-topic-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.course-topic-columns h4{font-size:14px;margin:8px 0}.course-topic-columns ul{padding-left:18px;font-size:14px;line-height:1.6}.course-topic-columns li{margin:8px 0}.course-topic-columns a{overflow-wrap:anywhere}.course-reading-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px;margin:8px 0 18px}.course-downloads form{display:grid;gap:12px;margin-top:16px}.course-downloads label{display:grid;gap:5px;font-size:14px}.course-downloads select,.course-downloads input{box-sizing:border-box;min-width:0;width:100%;padding:10px;border:1px solid var(--line,#dce4df);border-radius:8px;background:var(--pp-surface,#fff);color:inherit;font:inherit}.course-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-date-fields[hidden]{display:none}.course-checkout{width:100%;margin-top:8px;opacity:.7;white-space:normal}.courses-payment-note{font-size:14px;padding:14px 18px;border-radius:10px;background:rgba(144,128,64,.08);margin-bottom:24px;line-height:1.6}.course-manage{font-size:14px;margin-top:14px}.course-policy-links{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0;font-size:14px}.course-downloads [role=alert]:empty{display:none}.course-downloads [role=alert]{color:#a32727;font-size:14px}.cas-filters input[type=date]{min-width:0;width:100%;padding:10px;border:1px solid var(--line,#dce4df);border-radius:8px;background:var(--pp-surface,#fff);color:inherit}
@media(max-width:760px){.course-bundle-grid{grid-template-columns:1fr;gap:16px}.course-bundle{padding:20px}.course-bundle h2{font-size:22px}}
@media(max-width:380px){.course-price-option{padding:10px 8px}.course-price-option strong{font-size:20px}.course-topic-columns,.course-date-fields{grid-template-columns:1fr}}

.course-join{margin:16px 0}.course-join>.btn{width:100%}.course-join .small-note{margin:7px 0;font-size:14px}.course-checkout:not(:disabled){opacity:1}.course-join [role=status]{font-size:14px;line-height:1.6}.course-join [role=status]:empty{display:none}

/* Course shop: a stationary grid; the Home carousel remains independent. */
.course-catalog-section{margin:28px 0 44px}.course-section-title{margin-bottom:18px}.course-section-title h2{font-size:27px;line-height:1.25;margin:5px 0}.course-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;overflow:visible}.course-catalog-card{--course-accent:#6c3cad;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;min-height:310px;padding:24px;border:1px solid #d9c1ed;border-radius:20px;color:#322147;background:linear-gradient(145deg,#f7eeff,#e9daff);box-shadow:0 6px 20px #4c26600b;text-align:left;font:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.course-catalog-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #3520461c}.course-catalog-card:focus-visible{outline:3px solid var(--course-accent);outline-offset:4px}.course-tone-1{--course-accent:#175d9c;background:linear-gradient(145deg,#edf6ff,#cee5fa);border-color:#bad7ee;color:#183e65}.course-tone-2{--course-accent:#a61c60;background:linear-gradient(145deg,#fff0f7,#f8d7e8);border-color:#ebbed3;color:#652641}.course-tone-3{--course-accent:#08765e;background:linear-gradient(145deg,#edfff7,#c9eee0);border-color:#aedcc9;color:#1b4b3a}.course-tone-4{--course-accent:#986414;background:linear-gradient(145deg,#fff9e9,#f7e3b5);border-color:#e7d2a0;color:#624718}.course-card-category{font-size:14px;font-weight:800;letter-spacing:1.3px;padding-right:45px}.course-card-symbol{position:absolute;right:22px;top:20px;display:grid;place-items:center;width:37px;height:37px;border:1px solid currentColor;border-radius:11px;font-size:14px;font-weight:800;opacity:.7}.course-card-title{display:block;font-size:23px;line-height:1.35;padding-top:12px;overflow-wrap:anywhere}.course-card-summary{font-size:14px;line-height:1.6;opacity:.8}.course-tile-prices{display:grid;gap:6px;margin-top:auto;padding-top:14px}.course-tile-prices b{font-size:25px}.course-tile-prices small{font-size:14px}.course-tile-prices s{font-size:14px;opacity:.7;margin-left:5px;text-decoration-thickness:2px}.course-card-action{display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid #55336625;padding-top:13px;margin-top:4px;color:var(--course-accent);font-size:14px;font-weight:800}.course-card-action>span{font-size:22px}.course-empty{padding:22px;border:1px dashed var(--line,#b9c9bf);border-radius:15px;color:var(--muted,#647469);font-size:14px}
.course-details-dialog{border:0;border-radius:22px;padding:0;width:min(820px,calc(100% - 32px));max-width:820px;max-height:90dvh;overflow:hidden;color:var(--pp-ink,#22362b);background:var(--pp-surface,#fff);box-shadow:0 28px 100px #172a3655}.course-details-dialog::backdrop{background:#142d3a99;backdrop-filter:blur(3px)}.course-details-dialog[open]{animation:course-details-zoom .22s cubic-bezier(.2,.8,.2,1)}.course-dialog-shell{max-height:90dvh;overflow:auto;overscroll-behavior:contain}.course-dialog-content .course-bundle{border:0;border-radius:0;box-shadow:none;padding:40px 32px 30px;background:transparent}.course-dialog-content .course-bundle header{padding-right:30px}.course-dialog-close{position:absolute;right:12px;top:10px;z-index:3;width:40px;height:40px;padding:0;border:1px solid var(--line,#d4ded9);border-radius:50%;background:var(--pp-surface,#fff);color:inherit;font-size:28px;line-height:1;cursor:pointer}.course-dialog-close:focus-visible{outline:3px solid #b31c69;outline-offset:2px}.course-terms{margin-top:20px;border-top:1px solid var(--line,#dce4df);padding-top:16px}.course-terms h3{font-size:18px}.course-terms ul{font-size:14px;line-height:1.8;padding-left:20px}.course-terms li{margin:8px 0}.course-terms .course-policy-links{margin-bottom:0}.course-description{white-space:pre-wrap}.course-enrolled-card{border-top:4px solid #ab185f!important}.course-validity{display:grid;gap:12px;margin:20px 0;padding:15px;border-radius:12px;background:var(--pp-surface-hover,#f3f5f4)}.course-validity dt{font-size:14px;color:var(--muted,#647469);margin-bottom:4px}.course-validity dd{margin:0;font-size:14px;font-weight:650;line-height:1.6}.course-enrolled-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.btn.course-start{background:#a8175c!important;border:1px solid #a8175c!important;color:#fff!important;min-width:128px;justify-content:center;font-weight:750;box-shadow:0 5px 14px #a8175c22}.btn.course-start:hover{background:#8e104c!important}.btn.course-start:focus-visible{outline:3px solid #cf5993;outline-offset:3px}.course-enrolled-actions .text-link{font-size:14px}body:has(.course-details-dialog[open]){overflow:hidden}
@keyframes course-details-zoom{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.course-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.course-catalog-grid{grid-template-columns:minmax(0,1fr);gap:16px}.course-catalog-card{min-height:280px;padding:22px}.course-card-title{font-size:23px}.course-details-dialog{width:calc(100% - 20px);max-height:92dvh;border-radius:17px}.course-dialog-shell{max-height:92dvh}.course-dialog-content .course-bundle{padding:42px 20px 24px}.course-dialog-content .course-prices{gap:8px}.course-dialog-content .course-price-option strong{font-size:21px}.course-enrolled-actions{align-items:stretch;flex-direction:column}.course-enrolled-actions .text-link{text-align:center}.course-validity dd{font-size:14px}}
@media(prefers-reduced-motion:reduce){.course-details-dialog[open]{animation:none}.course-catalog-card{transition:none}.course-catalog-card:hover{transform:none}}

/* Course purchase details have their own readable palette, independent of the
   site's single-surface theme. Reading remains in enrolled My Courses. */
#course-details-dialog{--pp-ink:#263652;--pp-blue:#263652;--pp-surface:#fff9fc;--pp-line:#dfd7e5;background:#fff9fc;color:#263652}
#course-details-dialog .course-bundle{background:#fff9fc!important;color:#263652!important}
#course-details-dialog .course-bundle>header{padding:18px 30px 18px 18px;border-radius:14px;background:#ede2ff}
#course-details-dialog .course-editions{padding:13px 16px;border:0;border-radius:10px;background:#e0efff}
#course-details-dialog .course-benefits{padding:14px 16px 14px 34px;border-radius:12px;background:#e3f5ed}
#course-details-dialog .course-price-option{background:#e5efff;border:2px solid #bdcde8}
#course-details-dialog .course-price-option:nth-of-type(2){background:#fff0ca;border-color:#dec88f}
#course-details-dialog .course-price-option:has(input:checked){background:#fce1ef;border-color:#a8175c;box-shadow:0 0 0 1px #a8175c}
#course-details-dialog .course-price-option input{accent-color:#a8175c}
#course-details-dialog .course-topics{padding:16px;border:1px solid #b9d2e8;border-radius:12px;background:#e8f4ff}
#course-details-dialog .course-topic-columns>section{padding:12px;border-radius:10px;background:#f4edff;min-width:0}
#course-details-dialog .course-topic-columns>section:nth-child(2){background:#def3ec}
#course-details-dialog .course-topic-columns li{font-size:14px;overflow-wrap:anywhere}
#course-details-dialog .course-access-note{padding:13px 16px;border-radius:10px;background:#fbe4ef;font-size:14px;line-height:1.7}
#course-details-dialog .course-terms{padding:16px;border:1px solid #ead49f;border-radius:12px;background:#fff3d7}
#course-details-dialog .course-policy-links a{color:#513889;text-decoration:underline}
.courses-page .course-checkout,.courses-page .course-card-action,.courses-page .btn.course-start{box-sizing:border-box;background:#a8175c!important;color:#fff!important;border:1px solid #a8175c!important;border-radius:10px;padding:12px 16px;min-height:44px;font-weight:750}
.courses-page .course-checkout:hover,.courses-page .btn.course-start:hover{background:#8e104c!important}
.courses-page .course-checkout:focus-visible{outline:3px solid #cf5993;outline-offset:3px}
#my-courses .course-downloads{margin-top:20px}
@media(max-width:600px){#course-details-dialog .course-topic-columns{grid-template-columns:1fr}#course-details-dialog .course-bundle>header{padding:14px}#course-details-dialog .course-topics,#course-details-dialog .course-terms{padding:12px}}

/* Course catalogue: coloured covers, quiet white bodies and prominent actions. */
#courses-catalog{box-sizing:border-box;padding:28px;background:#f5f7fb;border:1px solid #e1e6ee;border-radius:22px;color:#23324d}
#courses-catalog>.course-catalog-section{margin-bottom:30px}
:is(#courses-catalog,#home-store) .course-catalog-grid{gap:22px;align-items:stretch}
:is(#courses-catalog,#home-store) .course-catalog-card{--course-accent:#6840aa;--course-cover:#eee7fb;--course-cover-end:#e3d8f7;display:flex;gap:0;padding:0;min-height:0;overflow:hidden;border:1px solid #dce2eb;border-top:4px solid var(--course-accent);border-radius:16px;background:#fff;color:#23324d;box-shadow:0 4px 14px #21324a09}
:is(#courses-catalog,#home-store) .course-tone-1{--course-accent:#2064a4;--course-cover:#e7f1fd;--course-cover-end:#d7e8fc}
:is(#courses-catalog,#home-store) .course-tone-2{--course-accent:#a62f64;--course-cover:#fce9f1;--course-cover-end:#f7dce9}
:is(#courses-catalog,#home-store) .course-tone-3{--course-accent:#18735f;--course-cover:#e2f4ec;--course-cover-end:#d2ebdf}
:is(#courses-catalog,#home-store) .course-tone-4{--course-accent:#906219;--course-cover:#fff2d8;--course-cover-end:#f7e6c0}
:is(#courses-catalog,#home-store) .course-catalog-card:hover{border-color:var(--course-accent);box-shadow:0 10px 24px #21324a17}
:is(#courses-catalog,#home-store) .course-card-heading{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:22px;background:linear-gradient(120deg,var(--course-cover),var(--course-cover-end));border-bottom:1px solid #25354b0b}
:is(#courses-catalog,#home-store) .course-card-category{padding:0;font-size:14px;line-height:1.5;letter-spacing:1.3px;color:var(--course-accent)}
:is(#courses-catalog,#home-store) .course-card-title{font-size:22px;line-height:1.35;padding-top:12px;min-height:89px;color:#20314c}
:is(#courses-catalog,#home-store) .course-card-audience{font-size:14px;line-height:1.6;margin-top:12px;color:#43546d}
:is(#courses-catalog,#home-store) .course-card-body{box-sizing:border-box;display:flex;flex-direction:column;gap:18px;width:100%;padding:22px;flex:1}
:is(#courses-catalog,#home-store) .course-card-features{display:grid;gap:8px;font-size:14px;line-height:1.5;color:#41516b}
:is(#courses-catalog,#home-store) .course-card-features>span>span{color:var(--course-accent);margin-right:5px}
:is(#courses-catalog,#home-store) .course-tile-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding:0;margin-top:auto}
:is(#courses-catalog,#home-store) .course-tile-plan{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:12px;background:#f7f8fc;border:1px solid #e4e8f0;border-radius:10px}
:is(#courses-catalog,#home-store) .course-tile-plan:only-child{grid-column:1/-1}
:is(#courses-catalog,#home-store) .course-plan-label{font-size:14px;line-height:1.5;color:#58677d}
:is(#courses-catalog,#home-store) .course-plan-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;line-height:1.2}
:is(#courses-catalog,#home-store) .course-tile-prices b{font-size:27px;letter-spacing:-.7px;color:#20314c}
:is(#courses-catalog,#home-store) .course-tile-prices s{font-size:14px;margin:0;color:#69758a;opacity:1}
:is(#courses-catalog,#home-store) .course-tile-prices small{font-size:14px;color:#536079}
:is(#courses-catalog,#home-store) .course-plan-saving{font-size:14px;color:#187150;line-height:1.5}
:is(#courses-catalog,#home-store) .course-card-action{justify-content:center;gap:12px;min-height:56px;margin:0;padding:14px 18px;font-size:22px;line-height:1.2;letter-spacing:.2px;border-radius:10px;box-shadow:0 4px 10px #a8175c1c}
:is(#courses-catalog,#home-store) .course-card-action>span{font-size:24px;line-height:1}
:is(#courses-catalog,#home-store) .course-card-detail-hint{text-align:center;font-size:14px;line-height:1.5;color:#69758a;margin-top:-8px}
#course-details-dialog .course-checkout{font-size:20px;line-height:1.4;min-height:56px;text-align:center}
@media(max-width:1100px) and (min-width:1001px){:is(#courses-catalog,#home-store) .course-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#courses-catalog{padding:16px 12px;border-radius:16px}:is(#courses-catalog,#home-store) .course-catalog-grid{gap:18px}:is(#courses-catalog,#home-store) .course-card-heading,:is(#courses-catalog,#home-store) .course-card-body{padding:20px}:is(#courses-catalog,#home-store) .course-card-title{min-height:0;font-size:23px}:is(#courses-catalog,#home-store) .course-card-action{font-size:22px;min-height:56px}}

/* The Home carousel shares the catalogue card design while retaining its rail. */
#app #home-store [data-course-track]{align-items:stretch;gap:18px;padding:4px 2px 14px}
#app #home-store [data-course-track]>.home-course-card{flex:0 0 320px;max-width:320px;min-height:0;padding:0;gap:0;justify-content:flex-start;background:#fff!important;background-image:none!important;color:#23324d!important;border:1px solid #dce2eb;border-top:4px solid var(--course-accent);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #21324a0c}
#app #home-store .course-card-heading{flex-shrink:0}
#app #home-store .course-card-action{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;gap:12px;padding:14px 18px;min-height:56px;margin:0;background:#a8175c!important;border:1px solid #a8175c;border-radius:10px;color:#fff!important;font-size:22px;line-height:1.2;box-shadow:0 4px 10px #a8175c1c}
#app #home-store .course-card-action>span{color:#fff!important;font-size:24px}
#app #home-store .home-course-card:hover .course-card-action{background:#8e104c!important}
#app #home-store .home-course-card:focus-visible{outline:3px solid #a8175c;outline-offset:3px}
@media(max-width:700px){#app #home-store [data-course-track]>.home-course-card{flex-basis:min(320px,88%);max-width:min(320px,88%)}#app #home-store .course-card-heading,#app #home-store .course-card-body{padding:18px}}

/* Compact dashboard offers; the full Courses catalogue keeps its detail size. */
#app #home-store [data-course-track]{gap:12px}
#app #home-store [data-course-track]>.home-course-card{flex-basis:260px;max-width:260px;border-radius:12px}
#app #home-store .course-card-heading,#app #home-store .course-card-body{padding:14px}
#app #home-store .course-card-category{font-size:14px;letter-spacing:1px}
#app #home-store .course-card-title{font-size:18px;line-height:1.32;min-height:72px;padding-top:7px}
#app #home-store .course-card-audience,#app #home-store .course-card-detail-hint{display:none}
#app #home-store .course-card-body{gap:10px}
#app #home-store .course-card-features{gap:4px;font-size:11.5px;line-height:1.45}
#app #home-store .course-tile-prices{gap:8px}
#app #home-store .course-tile-plan{padding:9px;gap:3px;border-radius:8px}
#app #home-store .course-plan-label{font-size:14px}
#app #home-store .course-tile-prices b{font-size:23px}
#app #home-store .course-tile-prices small,#app #home-store .course-tile-prices s,#app #home-store .course-plan-saving{font-size:14px}
#app #home-store .course-card-action{min-height:44px;padding:10px 14px;font-size:20px;border-radius:8px}
#app #home-store .course-card-action>span{font-size:20px}
@media(max-width:700px){#app #home-store [data-course-track]>.home-course-card{flex-basis:min(260px,86%);max-width:min(260px,86%)}}

/* Sign in and registration share a focused, responsive account page. */
#auth-page{--pp-ink:#23334b;--pp-blue:#23334b;--pp-muted:#5b687c;--pp-surface:#fff;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);max-width:920px;margin:24px auto 36px;border:1px solid #dfe4ed;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 44px #25334b10;color:#23334b}
#auth-page .auth-intro{display:flex;flex-direction:column;align-items:flex-start;padding:38px 30px;background:linear-gradient(145deg,#eee7fa,#e7effb);color:#263653}
#auth-page .auth-brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ceb989;border-radius:13px;background:#fff7e3;color:#7d5c22;font-size:27px}
#auth-page .auth-brand-name{font-size:19px;letter-spacing:-.4px;margin-top:13px;color:#77551c}
#auth-page .auth-intro h2{font-size:30px;line-height:1.25;letter-spacing:-.6px;margin:32px 0 14px;color:#263653!important}
#auth-page .auth-intro p{font-size:14px;line-height:1.75;margin:0;color:#526078}
#auth-page .auth-intro ul{list-style:none;padding:0;margin:28px 0;display:grid;gap:16px;font-size:14px;line-height:1.65}
#auth-page .auth-intro li{position:relative;padding-left:25px}#auth-page .auth-intro li:before{content:'✓';position:absolute;left:0;color:#855298}
#auth-page .auth-intro-foot{margin-top:auto;padding-top:24px;font-size:14px;color:#65728b}
#auth-page .auth-card{box-sizing:border-box;max-width:none;width:100%;margin:0;padding:36px;background:#fff!important;border:0;border-radius:0;box-shadow:none;color:#23334b!important}
#auth-page .auth-overline{font-size:14px;letter-spacing:1.6px;color:#875273}
#auth-page h1{font-size:30px!important;line-height:1.25;letter-spacing:-.6px;margin:9px 0 12px;color:#23334b!important}
#auth-page .auth-card>p{font-size:14px;line-height:1.75;color:#5b687c!important;margin:0 0 20px}
#auth-page .auth-switch{margin:22px 0;padding:4px;gap:4px;border:1px solid #e8e3ed;border-radius:11px;background:#f4f1f6}
#auth-page .auth-switch a{padding:11px 6px;font-size:14px;border:0;background:transparent!important;color:#687184!important;box-shadow:none}
#auth-page .auth-switch a.active{background:#fff!important;color:#a8175c!important;box-shadow:0 2px 5px #3023400e}
#auth-page .field{font-size:14px;color:#39465d;margin-top:17px}
#auth-page .field input,#auth-page .field select{box-sizing:border-box;min-height:48px;border:1px solid #cfd7e4;border-radius:9px;background:#fafbfd!important;color:#23334b!important;font-size:16px;padding:11px 13px;box-shadow:none}
#auth-page .field input:focus,#auth-page .field select:focus{outline:3px solid #a8175c18;border-color:#a8175c;background:#fff!important}
#auth-page .btn[type=submit]{display:flex;align-items:center;justify-content:center;min-height:50px;width:100%;margin-top:24px;border:1px solid #a8175c;border-radius:10px;background:#a8175c!important;color:#fff!important;font-size:17px;padding:12px 18px;box-shadow:0 5px 12px #a8175c18}
#auth-page .btn[type=submit]:hover{background:#8e104c!important}#auth-page a:focus-visible,#auth-page button:focus-visible{outline:3px solid #cc73a0;outline-offset:3px}
#auth-page .auth-support{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f5}
#auth-page .auth-support p{font-size:14px;margin:0 0 6px;color:#536078!important;line-height:1.7}
#auth-page .auth-support small{display:block;font-size:14px;line-height:1.6;color:#737e91}
#auth-page .auth-support a{color:#9b1858;text-decoration:underline}
#auth-page .auth-policy-links{display:flex;justify-content:center;gap:12px;margin-top:22px;font-size:14px;color:#68758a}
#auth-page .auth-policy-links a{color:inherit;text-decoration:underline}
#auth-page #auth-error{color:#b42335!important;background:#fff2f3;border-radius:8px;padding:10px;font-size:14px;line-height:1.6}
#auth-page #auth-error:empty{display:none}
@media(max-width:700px){#auth-page{grid-template-columns:minmax(0,1fr);max-width:480px;margin:12px auto 24px;border-radius:16px}#auth-page .auth-intro{padding:19px 24px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:0 11px}#auth-page .auth-brand-mark{width:36px;height:36px;font-size:22px;border-radius:10px}#auth-page .auth-brand-name{margin:0;font-size:19px}#auth-page .auth-intro h2,#auth-page .auth-intro ul,#auth-page .auth-intro-foot{display:none}#auth-page .auth-intro p{grid-column:1/-1;margin-top:10px;font-size:14px;line-height:1.5}#auth-page .auth-card{padding:25px 22px}#auth-page h1{font-size:27px!important}}

/* Keep the existing subject-card design; the native link covers its entire card. */
.subject-navigation-card{position:relative;cursor:pointer}
.subject-navigation-card .card-open-link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.subject-navigation-card:has(.card-open-link:focus-visible){outline:3px solid #a8175c;outline-offset:3px}
.auth-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#registration-location-status:empty{display:none}
#auth-page #registration-location-retry[hidden]{display:none}
@media(max-width:480px){.auth-location-grid{grid-template-columns:1fr;gap:0}}

/* Current Affair Test: responsive exam workspace and result analysis. */
.ca-tests{--cat-navy:#15364e;--cat-blue:#236f9c;--cat-line:#d8e4ec;--cat-green:#177653;--cat-purple:#75549d;color:var(--cat-navy);font-family:"Bookman Old Style","URW Bookman",Bookman,"Noto Serif Devanagari","Noto Sans Devanagari",Mangal,Georgia,serif;max-width:1300px;margin:0 auto;padding:8px 0 28px;min-width:0;overflow-wrap:anywhere}
.ca-tests *, .ca-tests *::before,.ca-tests *::after{box-sizing:border-box}
.ca-tests h1,.ca-tests h2,.ca-tests h3,.ca-tests p{margin:0}.ca-tests h1,.ca-tests h2,.ca-tests h3{font-weight:700}.ca-tests button,.ca-tests select,.ca-tests input{font:inherit}.ca-tests button{cursor:pointer}.ca-tests button:disabled{cursor:default;opacity:.52}.ca-tests button:focus-visible,.ca-tests a:focus-visible,.ca-tests input:focus-visible,.ca-tests select:focus-visible{outline:3px solid #67b8e0;outline-offset:3px}.ca-tests a{text-decoration:none}
.cat-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.cat-eyebrow{display:block;font-size:14px;letter-spacing:.1em;color:#5e7d90;font-weight:700}.cat-heading h1{font-size:30px;margin-top:6px}.cat-reading-link{font-size:14px;color:var(--cat-blue);background:#eef6fb;padding:10px 14px;border-radius:9px}
.cat-selector,.cat-ready,.cat-question,.cat-palette,.cat-analysis-card,.cat-review-card{border:1px solid var(--cat-line);border-radius:12px;background:#fff;min-width:0}.cat-selector{padding:18px}.cat-scope{display:flex;gap:8px;margin-bottom:17px}.cat-scope button,.cat-review-filters button{border:1px solid var(--cat-line);background:#f5f9fc;color:#47667a;padding:10px 15px;border-radius:7px;font-size:14px;font-weight:700}.cat-scope button[aria-pressed=true],.cat-review-filters button[aria-pressed=true]{background:var(--cat-navy);border-color:var(--cat-navy);color:#fff}
.cat-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cat-filters label,.cat-start label{display:grid;gap:6px;font-size:14px;font-weight:700;color:#47657b}.cat-filters select,.cat-filters input,.cat-start select{height:42px;min-width:0;width:100%;border:1px solid #cbdce7;background:#fff;color:#24475f;padding:8px 10px;border-radius:7px;font-size:14px}.cat-filter-note{font-size:14px;color:#708594;line-height:1.7;margin-top:14px!important}.cat-ready{display:flex;align-items:center;gap:20px;padding:20px;margin-top:14px;background:linear-gradient(120deg,#eff7fc,#fff)}.cat-ready>div:first-child{flex:1;min-width:0}.cat-ready h2{font-size:24px;margin:7px 0}.cat-ready p{font-size:14px;color:#557287;line-height:1.7}.cat-ready .cat-version{font-size:14px;color:#7691a3;margin-top:10px}.cat-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.cat-pills span{background:#fff;border:1px solid #d4e6f1;border-radius:5px;padding:5px 8px;font-size:14px;color:#496b80}.cat-start{display:grid;grid-template-columns:1fr 1fr;min-width:310px;gap:12px}.cat-start>.cat-primary{grid-column:1/-1}.cat-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--cat-blue)!important;border:1px solid var(--cat-blue)!important;color:#fff!important;min-height:41px;padding:10px 16px;border-radius:7px;font-weight:700;font-size:14px;text-align:center;line-height:1.45}.cat-primary:hover:enabled{background:#1a5b80!important}.cat-notice{border:1px solid #d5e4ed;border-radius:9px;background:#f1f8fc;color:#456c82;padding:16px;margin-top:15px!important;line-height:1.8;font-size:14px}.cat-notice a{color:var(--cat-blue);text-decoration:underline}.cat-error{border-color:#ebc2b7;background:#fff3ef;color:#934b38}.cat-error p{margin:5px 0}.cat-availability,.cat-membership-note,.cat-schedule-note{font-size:14px;color:#6d8393;line-height:1.8;margin:11px 2px!important}.cat-routes-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 13px}.cat-routes-heading h2,.cat-history h2{font-size:20px}.cat-routes-heading>span{font-size:14px;color:#7a90a0}.cat-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.cat-route{display:flex;gap:10px;align-items:flex-start;padding:17px 12px;background:#fff;border:1px solid var(--cat-line);border-radius:10px;color:var(--cat-navy);min-width:0}.cat-route:hover,.cat-route.selected{border-color:#80b4d0;background:#eef7fc}.cat-route h3{font-size:14px;line-height:1.6}.cat-route p{font-size:14px;color:#718b9d;margin-top:5px;line-height:1.65}.cat-route-icon{flex:0 0 27px;display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#e6f1f8;color:#397da0;font-size:14px;font-weight:700}.cat-route-arrow{margin-left:auto;color:#5f95b2}.cat-history{margin-top:25px}.cat-history h2{margin-bottom:12px}.cat-history>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cat-history a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--cat-line);border-radius:9px;background:#fff;color:var(--cat-navy)}.cat-history a>span{min-width:0}.cat-history strong{display:block;font-size:14px;line-height:1.6}.cat-history small{display:block;font-size:14px;color:#768f9f;margin-top:4px}.cat-history b{font-size:14px;white-space:nowrap;color:var(--cat-blue)}
.cat-exam-top{display:flex;align-items:center;gap:20px;padding:15px 18px;border:1px solid #c7deec;border-radius:11px;background:#eef6fb;margin-bottom:14px;position:sticky;top:76px;z-index:35;box-shadow:0 3px 12px #18394c0a}.cat-exam-top>div:first-child{flex:1;min-width:0}.cat-exam-top strong{display:block;font-size:16px;line-height:1.55}.cat-exam-top small{display:block;margin-top:4px;font-size:14px;color:#668195}.cat-lang{display:inline-flex;gap:3px;border:1px solid #c9dce8;background:#fff;padding:3px;border-radius:7px;flex-shrink:0}.cat-lang button{border:0;background:transparent;color:#638092;border-radius:4px;font-size:14px;padding:7px 10px;line-height:1.4}.cat-lang button[aria-pressed=true]{background:var(--cat-navy);color:#fff}.cat-clock{display:flex;flex-direction:column;min-width:90px;text-align:center;border-left:1px solid #c7dce9;padding-left:18px}.cat-clock span{font-size:14px;color:#58768a}.cat-clock strong{font-family:"Bookman Old Style",Georgia,serif;font-variant-numeric:tabular-nums;font-size:26px;line-height:1.2;margin-top:4px}.cat-clock.urgent strong{color:#b22b2b}.cat-clock.urgent{background:#fff2ed;border-radius:7px;padding:5px 10px}
.cat-exam-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.cat-question{padding:24px;min-height:420px}.cat-question-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;font-size:14px;color:#4d7087;margin-bottom:21px}.cat-question-meta>span{font-size:14px;background:#f1f6fa;border-radius:5px;padding:5px 7px}.cat-question h2{font-size:22px;line-height:1.85;color:#193c52;outline:none}.cat-options{display:grid;gap:11px;margin-top:24px}.cat-options button{display:flex;align-items:center;gap:13px;text-align:left;padding:12px;border:1px solid #d5e2eb;background:#fff;border-radius:8px;color:#284b62;font-size:17px;line-height:1.8}.cat-options button:hover:enabled{background:#f5f9fc;border-color:#91bfd8}.cat-options button.selected{background:#e9f5fc;border-color:#388bbb;box-shadow:inset 3px 0 #388bbb}.cat-options button b{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#f0f5f9;color:#657f90;font-size:14px;line-height:1}.cat-options button.selected b{background:var(--cat-blue);color:#fff}.cat-question-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid #e1ebf1}.cat-question-actions button,.cat-question-nav>button:not(.cat-primary),.cat-dialog-actions>button:not(.cat-primary){border:1px solid #cbdde8;background:#f6fafc;color:#3c647e;padding:10px 12px;border-radius:7px;font-size:14px;font-weight:700}.cat-question-actions button[data-cat-mark-next]{background:#f2edf8;border-color:#d1c3e2;color:#67468c}.cat-question-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.cat-question-nav>small{font-size:14px;color:#748c9b}.cat-question-nav>small.error{color:#ad5c37}.cat-palette{padding:16px;position:sticky;top:178px;max-height:calc(100dvh - 200px);overflow:auto;overscroll-behavior:contain}.cat-palette-heading h2{font-size:16px}.cat-palette-heading>span{display:block;color:#6c8799;font-size:14px;margin-top:5px}.cat-palette-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 6px;margin:17px 0;font-size:9px;color:#5c7488}.cat-palette-legend>span{display:flex;align-items:center;gap:6px;line-height:1.5}.cat-palette-legend>span:last-child{grid-column:1/-1}.cat-palette-legend b{display:grid;place-items:center;flex:0 0 23px;width:23px;min-height:23px;font-size:14px;border-radius:5px}.cat-palette-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:340px;overflow:auto;padding:3px 3px 7px;scrollbar-width:thin}.cat-palette-grid button{border:1px solid #cbdbe5;min-height:35px;font-size:14px;font-weight:700;border-radius:6px;position:relative}.cat-palette-grid button.current{outline:2px solid #164d72;outline-offset:1px}.cat-palette-grid .answered,.cat-palette-legend .answered{background:#def2e7;border-color:#99cdb2;color:#136348}.cat-palette-grid .not-answered,.cat-palette-legend .not-answered{background:#f9e7df;border-color:#ddb09e;color:#9c4a28;border-radius:6px 6px 14px 14px}.cat-palette-grid .not-visited,.cat-palette-legend .not-visited{background:#f0f4f7;border-color:#d0dce3;color:#6b7e8b}.cat-palette-grid .reviewed,.cat-palette-legend .reviewed{background:#eee6fa;border-color:#bea6dc;color:#67458e;border-radius:15px}.cat-palette-grid .answered-review,.cat-palette-legend .answered-review{background:#ece4f7;border-color:#bea6dc;color:#67458e;border-radius:15px}.cat-palette-grid .answered-review::after,.cat-palette-legend .answered-review::after{content:"✓";position:absolute;right:-2px;bottom:-1px;width:13px;height:13px;display:grid;place-items:center;border-radius:50%;background:#168452;color:#fff;font-size:9px}.cat-palette-legend .answered-review{position:relative}.cat-palette .cat-submit{width:100%;margin-top:17px}.cat-palette p{font-size:14px;line-height:1.7;color:#748c9b;margin-top:11px}
.cat-modal-backdrop{position:fixed;inset:0;z-index:10000;background:#112b426f;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto;overscroll-behavior:contain}.cat-dialog{background:#fff;border:1px solid #c8dae6;border-radius:14px;box-shadow:0 18px 75px #061b4060;width:min(660px,100%);max-height:calc(100dvh - 44px);overflow:auto;padding:25px;color:var(--cat-navy)}.cat-dialog h2{font-size:24px}.cat-dialog p{font-size:14px;line-height:1.8;margin-top:13px}.cat-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.cat-dialog-heading button{border:0;background:#f0f5f8;border-radius:6px;font-size:22px;color:#678399;width:34px;height:34px}.cat-dialog ol{margin:19px 0;padding-left:23px;font-size:14px;line-height:1.9}.cat-dialog li+li{margin-top:7px}.cat-acknowledge{display:flex;gap:10px;align-items:flex-start;background:#edf6fb;padding:13px;border-radius:7px;font-size:14px;line-height:1.8}.cat-acknowledge input{width:17px;height:17px;flex-shrink:0;margin-top:3px;accent-color:var(--cat-blue)}.cat-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:21px}.cat-submit-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.cat-submit-counts span{display:grid;gap:5px;background:#f3f7fa;border-radius:7px;padding:12px;font-size:14px;text-align:center}.cat-submit-counts strong{font-size:24px;color:#386f90}
.cat-result-summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:22px;border:1px solid #c1decf;border-radius:12px;background:#eff9f4}.cat-result-summary>div:first-child{flex:1;min-width:220px}.cat-result-summary h2{font-size:26px;margin:6px 0}.cat-result-summary p{font-size:14px;color:#5a7a6c;line-height:1.8}.cat-result-summary>div:first-child>small{display:block;font-size:14px;color:#6d8a7c;margin-top:7px}.cat-score{display:grid;text-align:center}.cat-score>strong{font-size:37px;color:#197354}.cat-score small{font-size:16px;color:#6e8b7e}.cat-score>span{font-size:14px}.cat-result-stats{display:flex;gap:22px}.cat-result-stats>div{display:grid;gap:5px;text-align:center}.cat-result-stats strong{font-size:23px}.cat-result-stats span{font-size:14px;color:#70867b}.cat-analysis-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-top:18px}.cat-analysis-card{padding:19px}.cat-analysis-card h2{font-size:20px;margin-bottom:8px}.cat-analysis-card>p{font-size:14px;color:#6a8495;line-height:1.8}.cat-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.cat-rank{color:#287294;font-size:26px}.cat-rank small{font-size:14px;color:#7a91a0}.cat-table-scroll{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #e0e9ef;border-radius:7px}.cat-table-scroll table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;min-width:420px}.cat-table-scroll th{background:#eff5f9;color:#54758a;font-size:14px;font-weight:700;padding:12px}.cat-table-scroll td{padding:12px;border-top:1px solid #e5edf2;line-height:1.6;white-space:normal}.cat-strength{display:inline-block;font-size:14px;background:#f0f3f6;color:#627b8c;padding:5px 7px;border-radius:5px;white-space:nowrap}.cat-strength.weak{background:#fff0df;color:#946726}.cat-strength.improving{background:#eaf2fc;color:#4776a5}.cat-strength.strong{background:#e5f6eb;color:#237c54}.cat-review-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 14px}.cat-review-heading h2{font-size:22px}.cat-review-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.cat-review-filters button{font-size:14px;padding:8px 12px}.cat-stat-explainer{font-size:14px;color:#748c9b;line-height:1.8;margin:11px 0 16px!important}.cat-result-review{display:grid;gap:17px}.cat-review-card{padding:23px}.cat-review-card h3{font-size:21px;line-height:1.85}.cat-review-card .cat-question-meta{justify-content:flex-start}.cat-review-card .cat-result-status{margin-left:auto;font-size:14px}.cat-review-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:19px 0}.cat-review-options>div{padding:12px;border:1px solid #d7e4ec;border-radius:7px;background:#f8fbfd;line-height:1.8;font-size:16px}.cat-review-options>div.correct{background:#e5f5ed;border-color:#99cdb5}.cat-review-options>div.incorrect{background:#fff0ed;border-color:#e6b5aa}.cat-review-options>div>span{float:right;font-weight:700;margin-left:8px}.cat-your-answer{font-size:14px!important;color:#5a778b;line-height:1.8}.cat-question-statistics{display:flex;gap:10px 20px;flex-wrap:wrap;padding:12px 0;margin:7px 0;font-size:14px;color:#6d8798}.cat-question-statistics strong{color:#305f7b}.cat-explanation{border-left:3px solid #76a88a;background:#f1f8f3;padding:14px;line-height:1.85;font-size:16px;border-radius:0 7px 7px 0}.cat-explanation>strong{font-size:14px}.cat-explanation p{margin-top:5px;white-space:pre-line}.cat-review-card>a{display:inline-block;margin-top:14px;font-size:14px;color:var(--cat-blue);text-decoration:underline}.cat-result-status.correct{color:#146349!important;background:#e5f4ec!important}.cat-result-status.incorrect{color:#a34532!important;background:#fff0ed!important}
@media(max-width:1100px){.cat-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-ready{align-items:flex-start}.cat-start{min-width:260px}.cat-exam-grid{grid-template-columns:minmax(0,1fr) 240px}.cat-palette{padding:13px}.cat-palette-grid{gap:6px}.cat-question{padding:20px}.cat-exam-top{top:70px}}
@media(max-width:750px){.ca-tests{padding-top:3px}.cat-heading{gap:10px;margin-bottom:14px;align-items:flex-end}.cat-heading h1{font-size:25px}.cat-eyebrow{font-size:8px;line-height:1.6}.cat-reading-link{font-size:14px;max-width:100px;padding:7px 9px;text-align:right;line-height:1.6}.cat-selector{padding:12px}.cat-scope{gap:7px}.cat-scope button{padding:9px 8px;font-size:14px;flex:1;line-height:1.5}.cat-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cat-topic-filter{grid-column:1/-1}.cat-filters select,.cat-filters input{font-size:14px;height:40px;padding:7px}.cat-filters label{font-size:14px}.cat-filter-note{font-size:14px;line-height:1.8}.cat-ready{padding:14px;gap:16px;flex-direction:column}.cat-ready h2{font-size:20px}.cat-ready p{font-size:14px}.cat-start{min-width:0;width:100%;gap:11px}.cat-start label{font-size:14px}.cat-start select{font-size:14px;height:39px}.cat-pills{gap:5px}.cat-pills span{font-size:14px;padding:5px 6px}.cat-routes-heading{display:block;margin-top:22px}.cat-routes-heading h2{font-size:19px}.cat-routes-heading>span{display:block;font-size:14px;margin-top:6px}.cat-routes{gap:9px}.cat-route{padding:14px 10px;gap:8px}.cat-route h3{font-size:14px}.cat-route p{font-size:14px}.cat-route-icon{width:23px;height:23px;flex-basis:23px;font-size:9px}.cat-route-arrow{display:none}.cat-history>div{grid-template-columns:1fr}.cat-history a{padding:12px}.cat-history b{font-size:14px}.cat-exam-top{top:65px;gap:10px;padding:12px;flex-wrap:wrap}.cat-exam-top>div:first-child{flex-basis:100%}.cat-exam-top>div:first-child strong{font-size:14px}.cat-exam-top small{font-size:14px}.cat-exam-top .cat-lang{margin-right:auto}.cat-lang button{font-size:14px;padding:6px 9px}.cat-clock{flex-direction:row;align-items:center;min-width:0;gap:8px;padding-left:10px}.cat-clock strong{font-size:21px;margin-top:0}.cat-exam-grid{grid-template-columns:1fr;gap:14px}.cat-question,.cat-review-card{padding:17px}.cat-question{min-height:0}.cat-question-meta{font-size:14px;margin-bottom:16px;gap:8px}.cat-question-meta>span{font-size:14px}.cat-question h2{font-size:19px}.cat-options{gap:9px;margin-top:19px}.cat-options button{font-size:16px;padding:10px;gap:10px;line-height:1.8}.cat-options button b{width:24px;height:24px;flex-basis:24px;font-size:14px}.cat-question-actions{margin-top:20px;gap:7px}.cat-question-actions button{font-size:14px;padding:9px 10px}.cat-question-nav{gap:9px;flex-wrap:wrap}.cat-question-nav>small{order:3;width:100%;font-size:14px;text-align:center}.cat-question-nav>button{font-size:14px}.cat-palette{position:static;max-height:none;padding:15px}.cat-palette-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.cat-palette-heading>span{margin-top:0}.cat-palette-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;font-size:14px}.cat-palette-legend>span:last-child{grid-column:1/-1}.cat-palette-grid{grid-template-columns:repeat(8,minmax(0,1fr));max-height:230px;gap:8px}.cat-palette-grid button{min-height:34px;font-size:14px}.cat-dialog{padding:19px;max-height:calc(100dvh - 28px)}.cat-modal-backdrop{padding:14px}.cat-dialog h2{font-size:22px}.cat-dialog ol{font-size:14px;line-height:1.8}.cat-dialog-actions>button{flex:1}.cat-submit-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-result-summary{padding:17px;gap:17px}.cat-result-summary h2{font-size:23px}.cat-result-summary>div:first-child{min-width:180px}.cat-score>strong{font-size:30px}.cat-result-stats{width:100%;justify-content:space-between;gap:10px;padding:9px 0}.cat-result-stats strong{font-size:21px}.cat-result-summary>a{width:100%}.cat-analysis-card{padding:15px}.cat-analysis-card h2{font-size:18px}.cat-review-heading h2{font-size:19px}.cat-review-heading{gap:8px}.cat-review-card h3{font-size:18px}.cat-review-options{grid-template-columns:1fr;gap:8px}.cat-review-options>div{font-size:15px;padding:10px}.cat-explanation{font-size:15px}.cat-your-answer{font-size:14px!important}.cat-review-filters button{font-size:14px;padding:8px 9px}.cat-question-statistics{gap:8px 16px}}
@media(max-width:380px){.cat-heading h1{font-size:22px}.cat-filters{grid-template-columns:1fr}.cat-topic-filter{grid-column:auto}.cat-routes{grid-template-columns:1fr}.cat-palette-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cat-review-heading{flex-wrap:wrap}.cat-dialog{padding:15px}.cat-question-nav>.cat-primary{padding:10px 12px}.cat-question-actions button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ca-tests *{scroll-behavior:auto!important}}
.cat-question-count{display:grid;gap:6px;align-content:start;font-size:14px;font-weight:700;color:#47657b}.cat-question-count strong{display:flex;align-items:center;height:42px;background:#f3f8fc;border:1px solid #d3e3ed;border-radius:7px;padding:8px 10px;color:#315d79;font-size:14px}

/* Deeper colours and readable type; retain the existing grids and exam layout. */
.ca-tests{--cat-navy:#142d55;--cat-blue:#174caa;--cat-line:#acc1df;--cat-green:#08704d;--cat-purple:#6430a0;font-size:16px}
.cat-eyebrow{font-size:14px;color:#174caa;letter-spacing:.07em}
.cat-reading-link{font-size:14px;background:#174caa;color:#fff;font-weight:700}
.cat-selector{background:#172f61;border-color:#172f61;color:#fff;box-shadow:0 5px 16px #172f6118}
.cat-scope button{font-size:15px;background:#294679;border-color:#728dc0;color:#fff}
.cat-scope button[aria-pressed=true]{background:#1559c5;border-color:#8fc8ff;color:#fff}
.cat-filters label,.cat-start label,.cat-question-count{font-size:15px;color:#fff}
.cat-filters select,.cat-filters input,.cat-start select{font-size:16px;color:#142d55;border-color:#7899c4;height:46px}
.cat-filter-note{font-size:14px;color:#e1edff}
.cat-ready{background:linear-gradient(120deg,#123f8d,#572589);border-color:#25479f;color:#fff;box-shadow:0 5px 16px #24386b20}
.cat-ready .cat-eyebrow,.cat-ready p,.cat-ready .cat-version{color:#edf3ff}
.cat-ready p{font-size:15px}
.cat-ready .cat-version{font-size:14px}
.cat-pills span{font-size:14px;background:#182a61;border-color:#7391c5;color:#fff}
.cat-question-count strong{font-size:16px;height:46px;background:#23366d;border-color:#7f9dd2;color:#fff}
.cat-primary{font-size:16px;background:#08704d!important;border-color:#08704d!important}
.cat-primary:hover:enabled{background:#05553a!important;border-color:#05553a!important}
.cat-ready .cat-primary,.cat-palette .cat-primary{background:#f3bd43!important;border-color:#f3bd43!important;color:#172c50!important}
.cat-ready .cat-primary:hover:enabled,.cat-palette .cat-primary:hover:enabled{background:#ffd376!important;border-color:#ffd376!important}
.cat-notice{font-size:15px;background:#164b83;border-color:#164b83;color:#fff}
.cat-notice a{color:#fff}
.cat-error{background:#9f293d;border-color:#9f293d;color:#fff}
.cat-availability,.cat-membership-note,.cat-schedule-note,.cat-routes-heading>span,.cat-stat-explainer{font-size:14px;color:#344f73}
.cat-route{--cat-route-fill:#123e86;background:var(--cat-route-fill);border-color:#123e86;color:#fff;box-shadow:0 3px 10px #1e356317}
.cat-route:nth-child(4n+2){--cat-route-fill:#5b248c;border-color:#5b248c}
.cat-route:nth-child(4n+3){--cat-route-fill:#066450;border-color:#066450}
.cat-route:nth-child(4n){--cat-route-fill:#99331c;border-color:#99331c}
.cat-route:hover,.cat-route.selected{background:var(--cat-route-fill);color:#fff;border-color:#e9ac29;box-shadow:inset 0 0 0 2px #f3bd43,0 4px 12px #1e356325}
.cat-route:hover{filter:brightness(1.08)}
.cat-route h3{font-size:16px}
.cat-route p{font-size:14px;color:#f0f4ff}
.cat-route-icon{font-size:14px;background:#fff;color:#142d55}
.cat-route-arrow{color:#ffda7c}
.cat-history a{border-color:#90afd7;background:#eef4ff}
.cat-history strong{font-size:15px}
.cat-history small,.cat-history b{font-size:14px;color:#284c7f}
.cat-exam-top{background:#172f61;border-color:#172f61;color:#fff;box-shadow:0 4px 14px #142d5525}
.cat-exam-top>div:first-child strong{font-size:18px}
.cat-exam-top small{font-size:14px;color:#edf3ff}
.cat-lang{border-color:#7694c6}
.cat-lang button{font-size:15px;color:#234772}
.cat-lang button[aria-pressed=true]{background:#174caa;color:#fff}
.cat-clock{border-color:#829ed1}
.cat-clock span{font-size:14px;color:#edf3ff}
.cat-clock strong{font-size:29px;color:#ffda7c}
.cat-clock.urgent{background:#fff0f2;border-color:#e79aa5}
.cat-clock.urgent strong,.cat-clock.urgent span{color:#9f1530}
.cat-question,.cat-review-card{border-color:#88a7d2;box-shadow:0 3px 12px #1f3e7110}
.cat-question-meta{font-size:16px;color:#174caa}
.cat-question-meta>span{font-size:14px;background:#214781;color:#fff}
.cat-options button{font-size:18px;border-color:#98b2d7;color:#16385f}
.cat-options button:hover:enabled{background:#e9f1ff;border-color:#174caa}
.cat-options button b{font-size:14px;background:#214781;color:#fff}
.cat-options button.selected{background:#174caa;border-color:#174caa;color:#fff;box-shadow:inset 4px 0 #f3bd43}
.cat-options button.selected:hover:enabled{background:#123e86;color:#fff}
.cat-options button.selected b{background:#fff;color:#174caa}
.cat-question-actions button,.cat-question-nav>button:not(.cat-primary),.cat-dialog-actions>button:not(.cat-primary){font-size:14px;background:#214781;border-color:#214781;color:#fff}
.cat-question-actions button[data-cat-mark-next]{background:#6430a0;border-color:#6430a0;color:#fff}
.cat-question-actions button[data-cat-clear]{background:#a33134;border-color:#a33134;color:#fff}
.cat-question-nav>small{font-size:14px;color:#345578}
.cat-question-nav>small.error{color:#a33134}
.cat-palette{background:#172f61;border-color:#172f61;color:#fff}
.cat-palette-heading h2{font-size:18px}
.cat-palette-heading>span,.cat-palette p{font-size:14px;color:#edf3ff}
.cat-palette-legend{font-size:14px;color:#fff}
.cat-palette-legend b{font-size:14px}
.cat-palette-grid button{font-size:14px}
.cat-palette-grid button.current{outline-color:#f3bd43}
.cat-palette-grid .answered,.cat-palette-legend .answered{background:#08704d;border-color:#8edeb8;color:#fff}
.cat-palette-grid .not-answered,.cat-palette-legend .not-answered{background:#ac3227;border-color:#ffa697;color:#fff}
.cat-palette-grid .not-visited,.cat-palette-legend .not-visited{background:#e3ebf8;border-color:#9cb8dd;color:#172f61}
.cat-palette-grid .reviewed,.cat-palette-legend .reviewed,.cat-palette-grid .answered-review,.cat-palette-legend .answered-review{background:#6430a0;border-color:#c7a7f4;color:#fff}
.cat-palette-grid .answered-review::after,.cat-palette-legend .answered-review::after{font-size:14px;background:#08704d}
.cat-modal-backdrop{background:#102450ad}
.cat-dialog{border-color:#174caa;border-top:4px solid #174caa}
.cat-dialog p,.cat-dialog ol{font-size:16px}
.cat-dialog-heading button{background:#214781;color:#fff}
.cat-acknowledge{font-size:15px;background:#e5eeff;color:#142d55}
.cat-submit-counts span{font-size:14px;background:#214781;color:#fff}
.cat-submit-counts strong{color:#fff}
.cat-result-summary{background:linear-gradient(120deg,#064d44,#123e69);border-color:#064d44;color:#fff}
.cat-result-summary .cat-eyebrow,.cat-result-summary p,.cat-result-summary>div:first-child>small,.cat-result-stats span,.cat-score small{color:#edfff7}
.cat-result-summary p{font-size:15px}
.cat-result-summary>div:first-child>small,.cat-result-stats span,.cat-score>span{font-size:14px}
.cat-score>strong{color:#ffda7c}
.cat-result-summary>.cat-primary{background:#f3bd43!important;border-color:#f3bd43!important;color:#172c50!important}
.cat-analysis-card{border-color:#88a7d2;border-top:4px solid #174caa}
.cat-analysis-card>p,.cat-rank small{font-size:14px;color:#345578}
.cat-rank{color:#6430a0}
.cat-table-scroll table{font-size:15px}
.cat-table-scroll th{font-size:14px;background:#214781;color:#fff}
.cat-strength{font-size:14px;background:#425471;color:#fff}
.cat-strength.weak{background:#a33134;color:#fff}
.cat-strength.improving{background:#174caa;color:#fff}
.cat-strength.strong{background:#08704d;color:#fff}
.cat-review-filters button{font-size:14px;background:#e5eeff;border-color:#91afd8;color:#214781}
.cat-review-filters button[aria-pressed=true]{background:#174caa;border-color:#174caa;color:#fff}
.cat-review-card .cat-result-status{font-size:14px}
.cat-review-options>div{border-color:#91afd8}
.cat-review-options>div.correct{background:#08704d;border-color:#08704d;color:#fff}
.cat-review-options>div.incorrect{background:#a33134;border-color:#a33134;color:#fff}
.cat-your-answer{font-size:14px!important;color:#345578}
.cat-question-statistics{font-size:14px;color:#345578}
.cat-question-statistics strong{color:#174caa}
.cat-explanation{font-size:17px;background:#e5f4eb;border-left-color:#08704d;color:#173d32}
.cat-explanation>strong{font-size:15px;color:#075d40}
.cat-review-card>a{font-size:14px;color:#174caa}
.cat-result-status.correct{background:#08704d!important;color:#fff!important}
.cat-result-status.incorrect{background:#a33134!important;color:#fff!important}
.cat-result-status.unanswered{background:#425471;color:#fff}
@media(max-width:750px){
 .cat-eyebrow{font-size:14px}.cat-reading-link{font-size:14px}
 .cat-scope button{font-size:14px}.cat-filters label,.cat-start label,.cat-question-count{font-size:14px}
 .cat-ready p{font-size:14px}.cat-pills span{font-size:14px}
 .cat-route h3{font-size:15px}.cat-route p{font-size:14px}.cat-route-icon{font-size:14px}
 .cat-exam-top>div:first-child strong{font-size:16px}.cat-clock strong{font-size:27px}
 .cat-question-meta{font-size:15px}.cat-question-meta>span{font-size:14px}
 .cat-options button{font-size:17px}.cat-options button b{font-size:14px}
 .cat-question-nav>button{font-size:14px}.cat-dialog p,.cat-dialog ol{font-size:15px}
 .cat-explanation{font-size:16px}
}

.cat-history-picker{display:grid;gap:6px;margin:14px 0 0;font-size:14px;font-weight:650}
.cat-history-picker select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:9px;border:1px solid #819abd;border-radius:7px;font:inherit;background:#fff;color:#173858}
.cat-history [data-cat-history-more]{margin-top:10px;padding:8px 12px;border:1px solid #667da2;border-radius:7px;background:#263f79;color:#fff;font-size:14px}
.cat-route.locked .cat-route-arrow{color:#ffe7a1}.cat-route.locked h3{color:inherit}
@media(max-width:750px){
 .cat-heading{gap:8px;margin-bottom:12px}.cat-heading h1{font-size:22px;line-height:1.25}.cat-heading .cat-eyebrow{font-size:14px}
 .cat-selector{padding:12px}.cat-scope{gap:6px}.cat-scope button{padding:8px;min-height:38px;font-size:14px}
 .cat-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cat-filters label{font-size:14px;gap:4px}.cat-filters .cat-topic-filter{grid-column:1/-1}
 .cat-filters select,.cat-filters input{min-width:0;width:100%;min-height:38px;padding:7px 8px;font-size:14px;box-sizing:border-box}
 .cat-date-wise{padding:9px;gap:8px}.cat-date-wise label{font-size:14px}.cat-date-wise input{font-size:14px;padding:7px;min-height:36px}.cat-date-wise p{font-size:14px;margin:0 0 5px}
 .cat-date-shortcuts{gap:4px}.cat-date-shortcuts a{font-size:14px;padding:6px 7px;min-height:32px;box-sizing:border-box}
 .cat-filter-note{font-size:14px;line-height:1.5;margin-top:7px}.cat-ready{padding:12px;gap:12px}.cat-ready h2{font-size:18px}.cat-ready p{font-size:14px}
 .cat-start{gap:8px}.cat-start select{min-height:38px;font-size:14px;padding:7px}.cat-start .cat-primary{min-height:40px;font-size:14px;padding:9px}
 .cat-pills{gap:5px}.cat-pills span{font-size:14px;padding:5px 7px}.cat-question-count{font-size:14px}.cat-question-count strong{font-size:15px}
 .cat-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cat-route{display:flex;align-items:center;gap:6px;min-height:62px;padding:9px;box-sizing:border-box}.cat-route-icon{display:none}.cat-route h3{font-size:14px;line-height:1.35;margin:0}.cat-route p{display:none}.cat-route-arrow{font-size:15px;margin-left:auto;flex:none}
 .cat-routes-heading{gap:6px;align-items:baseline}.cat-routes-heading h2{font-size:17px}.cat-routes-heading span{font-size:14px}.cat-membership-note,.cat-schedule-note,.cat-availability{font-size:14px;line-height:1.55}
 .cat-history a{padding:10px;gap:8px}.cat-history strong{font-size:14px}.cat-history small,.cat-history b{font-size:14px}
}

/* Test setup opens deliberately from the existing heading; no expanded selector occupies the page. */
.cat-heading>div:first-child{min-width:0}.cat-heading-actions{display:flex;align-items:center;gap:9px;flex:none}.cat-heading-actions #cat-choose-test{border:1px solid #1b58a4;border-radius:8px;background:#1b58a4;color:#fff;padding:9px 12px;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap}.cat-heading-actions .cat-reading-link{white-space:nowrap}.cat-chooser-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:center}.cat-chooser-dialog{width:min(790px,100%);max-width:100%;max-height:calc(100dvh - 24px);padding:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.cat-chooser-dialog .cat-dialog-heading{padding:15px 18px;border-bottom:1px solid #d7e3ef;flex:none;gap:10px}.cat-chooser-dialog .cat-dialog-heading h2{font-size:20px;line-height:1.4;min-width:0;overflow-wrap:normal;word-break:normal}.cat-chooser-dialog .cat-dialog-heading button{flex:none}.cat-chooser-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:17px 18px;scrollbar-gutter:stable}.cat-chooser-body>p{font-size:14px;margin:0 0 13px}.cat-chooser-dialog .cat-dialog-actions{flex:none;margin:0;padding:12px 18px;border-top:1px solid #d7e3ef;background:#f5f9fd}.cat-edition-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cat-edition-entries button{position:relative;text-align:left;display:grid;gap:7px;border:1px solid #99b8dc;background:#eaf2ff;color:#153d76;border-radius:10px;padding:19px 34px 19px 16px;min-width:0;min-height:102px}.cat-edition-entries button:last-child{background:#e4f5ed;color:#155a42;border-color:#a2cfb8}.cat-edition-entries strong{font-size:17px;line-height:1.5;overflow-wrap:normal;word-break:normal}.cat-edition-entries span{font-size:14px}.cat-edition-entries b{position:absolute;right:12px;top:18px}.cat-chooser-edition{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:15px;min-width:0}.cat-chooser-edition button{font-size:14px;padding:6px 8px;border:1px solid #b8cde3;border-radius:6px;background:#f5f9fc;color:#28517e;flex:none}.cat-chooser-edition strong{font-size:14px;text-align:right;line-height:1.5}.cat-chooser-fields{border:0;margin:0;padding:0;min-width:0}.cat-chooser-fields:disabled{opacity:.62}.cat-chooser-dialog .cat-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cat-chooser-dialog .cat-filters label{color:#284d72;font-size:14px;min-width:0}.cat-chooser-dialog .cat-filters input,.cat-chooser-dialog .cat-filters select{height:39px;min-height:39px;font-size:14px;padding:7px 8px;background:#fff}.cat-chooser-dialog .cat-date-wise{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;margin-top:13px;padding:12px;background:#eef5fc;border:1px solid #cbddee;border-radius:8px}.cat-chooser-dialog .cat-date-wise label{display:grid;gap:5px;font-size:14px;color:#284d72;font-weight:700;min-width:0}.cat-chooser-dialog .cat-date-wise input{min-width:0;width:100%;font:inherit;font-size:14px;padding:7px;border:1px solid #b1c6df;border-radius:6px;background:#fff;color:#244b77}.cat-chooser-dialog .cat-date-wise p{font-size:14px;line-height:1.4;margin:0 0 6px}.cat-chooser-dialog .cat-date-shortcuts{display:flex;flex-wrap:wrap;gap:5px}.cat-chooser-dialog .cat-date-shortcuts button{background:#fff;border:1px solid #b0c9df;padding:6px;border-radius:5px;color:#234f7c;font-size:14px;white-space:nowrap;min-height:30px}.cat-chooser-dialog .cat-date-shortcuts button[aria-pressed=true]{background:#245aaa;border-color:#245aaa;color:#fff}.cat-chooser-period-title{font-size:14px;margin:17px 0 8px!important}.cat-chooser-dialog .cat-routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cat-chooser-dialog .cat-route{display:flex;align-items:center;justify-content:space-between;min-height:48px;min-width:0;padding:10px;text-align:left;gap:7px}.cat-chooser-dialog .cat-route h3{font-size:14px;line-height:1.45;overflow-wrap:normal;word-break:normal}.cat-chooser-dialog .cat-route>span{flex:none}.cat-chooser-status{font-size:14px!important;line-height:1.6!important;margin:12px 0 0!important;color:#315b81}.cat-selection-help{margin-top:10px;font-size:14px;line-height:1.6}.cat-selection-help summary{cursor:pointer;color:#265da0;font-weight:700}.cat-selection-help p{font-size:14px;margin-top:7px;line-height:1.65}.cat-chooser-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep desktop table columns readable; mobile results use one topic card at a time. */
.cat-topic-cards{display:none}.cat-topic-table table{min-width:730px;table-layout:auto;overflow-wrap:normal;word-break:normal}.cat-topic-table th,.cat-topic-table td{overflow-wrap:normal;word-break:normal;white-space:normal}.cat-topic-table th:first-child,.cat-topic-table td:first-child{min-width:195px}.cat-topic-table th:nth-child(2){min-width:125px}.cat-topic-table th:nth-child(3){min-width:102px}.cat-topic-table td:nth-child(2),.cat-topic-table td:nth-child(3),.cat-topic-table td:nth-child(4),.cat-topic-table td:nth-child(5){white-space:nowrap}.cat-topic-table .cat-strength{max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.5}.cat-topic-card{border:1px solid #c1d2e6;border-radius:10px;background:#fff;min-width:0;padding:14px}.cat-topic-card h3{font-size:16px;line-height:1.6;color:#173e70;overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal;margin:0 0 12px}.cat-topic-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.cat-topic-card dl>div{min-width:0;border:1px solid #d9e4ef;border-radius:7px;background:#f3f7fc;padding:9px 10px}.cat-topic-card dt{font-size:14px;line-height:1.5;color:#56718d;overflow-wrap:normal;word-break:normal}.cat-topic-card dd{margin:5px 0 0;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:#193e6c;white-space:nowrap}.cat-topic-revision{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid #dce5ee}.cat-topic-revision>span{font-size:14px;color:#57718a;line-height:1.6;flex:none}.cat-topic-revision .cat-strength{font-size:14px;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.5;text-align:right;max-width:68%}
@media(max-width:750px){.cat-heading{align-items:center;gap:8px}.cat-heading>div:first-child{flex:1}.cat-heading h1{font-size:clamp(17px,4.8vw,22px);margin-top:4px;line-height:1.25;overflow-wrap:normal;word-break:normal}.cat-heading .cat-eyebrow{font-size:8px;line-height:1.35;letter-spacing:.03em}.cat-heading-actions{display:grid;gap:3px;justify-items:end;max-width:142px}.cat-heading-actions #cat-choose-test{font-size:14px;padding:7px 8px;min-height:29px;line-height:1.3}.cat-heading-actions .cat-reading-link{font-size:9px;background:transparent;color:#2457a2;padding:1px 0;max-width:none;line-height:1.4;white-space:nowrap}.cat-chooser-dialog .cat-dialog-heading{padding:12px}.cat-chooser-dialog .cat-dialog-heading h2{font-size:17px}.cat-chooser-body{padding:12px;scrollbar-gutter:auto}.cat-edition-entries{grid-template-columns:1fr;gap:9px}.cat-edition-entries button{min-height:81px;padding:14px 32px 14px 13px;gap:3px}.cat-edition-entries strong{font-size:17px}.cat-edition-entries span{font-size:14px}.cat-chooser-edition{gap:7px;margin-bottom:12px}.cat-chooser-edition strong{font-size:14px}.cat-chooser-edition button{font-size:14px;padding:6px}.cat-chooser-dialog .cat-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cat-chooser-dialog .cat-filters label{font-size:14px}.cat-chooser-dialog .cat-filters input,.cat-chooser-dialog .cat-filters select{font-size:14px;height:37px;min-height:37px}.cat-chooser-dialog .cat-date-wise{grid-template-columns:1fr;padding:9px;gap:8px;margin-top:10px}.cat-chooser-dialog .cat-date-wise label{grid-template-columns:1fr minmax(0,1.25fr);align-items:center}.cat-chooser-dialog .cat-date-wise input{font-size:14px}.cat-chooser-dialog .cat-date-shortcuts button{font-size:14px;padding:5px}.cat-chooser-dialog .cat-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cat-chooser-dialog .cat-route{min-height:43px;padding:8px}.cat-chooser-dialog .cat-route h3{font-size:14px}.cat-chooser-dialog .cat-dialog-actions{padding:10px 12px;gap:8px}.cat-chooser-dialog .cat-dialog-actions button{min-height:37px;font-size:14px;padding:8px}.cat-topic-table{display:none}.cat-topic-cards{display:grid;gap:12px;margin-top:13px}.cat-topic-performance{padding:13px}.cat-topic-performance>p{font-size:14px;line-height:1.7}.cat-topic-performance h2{font-size:18px}.cat-topic-card{padding:12px}.cat-topic-card h3{font-size:16px}.cat-topic-revision .cat-strength{font-size:14px}}

/* Each test edition is a separate destination before period/topic setup. */
.cat-edition-landing>h2{font-size:23px;line-height:1.4;color:#173d6b}.cat-edition-landing>p{font-size:14px;line-height:1.7;color:#56718b;margin:7px 0 16px}.cat-edition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.cat-edition-card{--edition-accent:#2458a5;display:flex;align-items:flex-start;gap:12px;padding:19px 15px;border:1px solid #c5d6e9;border-top:4px solid var(--edition-accent);border-radius:11px;background:#fff;color:#1b406c;min-width:0;box-shadow:0 3px 13px #173d6b0b}.cat-edition-card:nth-child(2){--edition-accent:#187557}.cat-edition-card:nth-child(3){--edition-accent:#80509e}.cat-edition-card:nth-child(4){--edition-accent:#a96521}.cat-edition-card:nth-child(5){--edition-accent:#3b8290}.cat-edition-card:nth-child(6){--edition-accent:#a14157}.cat-edition-card:hover{border-color:var(--edition-accent);background:#f7faff;box-shadow:0 5px 16px #173d6b13}.cat-edition-card>div{min-width:0;flex:1}.cat-edition-number{flex:0 0 27px;height:27px;display:grid;place-items:center;border-radius:7px;background:var(--edition-accent);color:#fff;font-size:14px;font-weight:700}.cat-edition-card h3{font-size:18px;line-height:1.5;overflow-wrap:normal;word-break:normal}.cat-edition-card p{font-size:14px;margin:8px 0;color:#6a8199;line-height:1.5}.cat-edition-card small{display:block;font-size:14px;color:#395875;line-height:1.8;overflow-wrap:normal;word-break:normal}.cat-edition-arrow{flex:none;font-size:18px;color:var(--edition-accent)}.cat-edition-return{display:inline-block;color:#245a99;font-size:14px;font-weight:700;margin:0 0 9px;border-bottom:1px solid #b7cde5;line-height:1.7}.cat-edition-section{margin-top:0}.cat-edition-top{display:flex;align-items:center;gap:12px;justify-content:space-between;min-width:0}.cat-edition-top h2{min-width:0;line-height:1.45}.cat-edition-top #cat-choose-test{flex:none;border:1px solid #bed4fb;border-radius:7px;background:#fff;color:#143d7d;padding:8px 10px;font-size:14px;line-height:1.35;white-space:nowrap;font-weight:700}.cat-ready .cat-marking-rules{display:inline-block;margin:3px 0 10px;padding:6px 8px;background:#122552a1;border:1px solid #7794c0;border-radius:6px;font-size:14px;line-height:1.6;color:#fff}.cat-chooser-dialog .cat-popup-subtitle{font-size:14px;color:#56799a;line-height:1.5;margin:3px 0 0}.cat-chooser-edition>span{color:#5e7993;font-size:14px}.cat-chooser-edition strong{text-align:left}
@media(max-width:1050px){.cat-edition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.cat-edition-landing>h2{font-size:20px}.cat-edition-landing>p{font-size:14px;margin:6px 0 12px}.cat-edition-grid{gap:9px}.cat-edition-card{padding:13px 10px;gap:8px}.cat-edition-number{flex-basis:23px;height:23px;font-size:14px}.cat-edition-card h3{font-size:15px;line-height:1.55}.cat-edition-card p{font-size:14px;margin:6px 0}.cat-edition-card small{font-size:14px;line-height:1.7}.cat-edition-arrow{font-size:14px}.cat-edition-top{gap:8px;align-items:center}.cat-edition-top h2{font-size:18px;line-height:1.45}.cat-edition-top #cat-choose-test{font-size:14px;padding:7px 8px;min-height:32px}.cat-ready .cat-marking-rules{font-size:14px;padding:5px 7px;margin-bottom:9px}.cat-edition-return{font-size:14px;margin-bottom:8px}.cat-chooser-edition{flex-wrap:wrap;gap:4px}.cat-chooser-dialog .cat-popup-subtitle{font-size:14px}}
@media(max-width:500px){.cat-edition-grid{grid-template-columns:1fr}.cat-edition-card{align-items:center;padding:12px;gap:11px}.cat-edition-card h3{font-size:17px}.cat-edition-card p{margin:3px 0;font-size:14px}.cat-edition-card small{font-size:14px}.cat-edition-card .cat-edition-arrow{font-size:17px}.cat-edition-number{flex-basis:28px;height:28px;font-size:14px}}

/* Keep the exam in document flow and allow long labels to fit narrow columns. */
.cat-exam-top{position:relative;top:auto;z-index:auto;max-width:100%}
.cat-palette{position:static;top:auto;max-height:none}
.cat-start{grid-template-columns:repeat(2,minmax(0,1fr))}
.cat-start>*,.cat-filters>*,.cat-options button,.cat-options button>span,.cat-route>div,.cat-result-stats>div{min-width:0;max-width:100%}
.cat-options button>span,.cat-review-options>div,.cat-review-card h3,.cat-explanation{overflow-wrap:anywhere;word-break:normal}
.cat-table-scroll{min-width:0;overscroll-behavior-x:contain}
.cat-dialog-heading>div,.cat-dialog-heading>h2{min-width:0;overflow-wrap:anywhere}
.cat-dialog-heading>button{flex:none}
.cat-dialog-actions>button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.cat-modal-backdrop{padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.cat-modal-backdrop .cat-dialog{min-width:0;max-width:100%;max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))}
@media(min-width:751px){
 .cat-question-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
 .cat-question-nav>small{min-width:0;text-align:center;overflow-wrap:anywhere}
 .cat-exam-top{flex-wrap:wrap}
 .cat-exam-top>div:first-child{flex:1 1 280px}
}
@media(max-width:750px){
 .cat-palette-heading{flex-wrap:wrap}
 .cat-result-summary>div:first-child{min-width:0;flex-basis:100%}
 .cat-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .cat-topic-card dd{white-space:normal;overflow-wrap:anywhere}
}

/* A compact active-paper workspace on phones; long questions remain fully readable. */
.cat-exam-summary-compact{display:none!important}
@media(max-width:750px){
 .ca-tests.cat-running{padding-top:0}
 .ca-tests.cat-running>.cat-heading{display:none}
 .cat-running .cat-exam-top{position:static;top:auto;z-index:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;padding:9px 10px;margin-bottom:9px;align-items:center;border-radius:9px}
 .cat-running .cat-exam-top>div:first-child{display:contents}
 .cat-running .cat-exam-top>div:first-child>strong{grid-column:1;grid-row:1;display:block;font-size:14px;line-height:1.4;font-weight:700;min-width:0;overflow-wrap:normal;word-break:normal;white-space:normal}
 .cat-running .cat-exam-top .cat-exam-summary-full{display:none}
 .cat-running .cat-exam-top .cat-exam-summary-compact{display:block!important;grid-column:1;grid-row:2;margin:0;font-size:14px;line-height:1.4;min-width:0;white-space:normal;overflow-wrap:normal;word-break:normal;color:#edf3ff}
 .cat-running .cat-exam-top>.cat-lang{grid-column:2;grid-row:2;justify-self:end;margin:0;gap:2px;padding:2px;border-radius:6px}
 .cat-running .cat-exam-top .cat-lang button{font-size:14px;line-height:1.3;padding:5px 7px;min-height:25px}
 .cat-running .cat-clock{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:5px;min-width:0;padding:0;border:0}
 .cat-running .cat-clock span{font-size:8px;line-height:1.2}
 .cat-running .cat-clock strong{font-size:20px;line-height:1.2;margin:0;font-variant-numeric:tabular-nums}
 .cat-running .cat-clock.urgent{padding:2px 4px;border-radius:4px}
 .cat-running .cat-exam-grid{gap:12px}
 .cat-running .cat-question{padding:11px;min-height:0;height:auto;max-height:none;overflow:visible;border-radius:10px}
 .cat-running .cat-question-meta{gap:5px 8px;align-items:flex-start;margin-bottom:9px;font-size:14px;line-height:1.4}
 .cat-running .cat-question-meta>strong{flex:none}
 .cat-running .cat-question-meta>span{font-size:9px;line-height:1.4;max-width:65%;padding:3px 5px;border-radius:4px;white-space:normal;overflow-wrap:normal;word-break:normal}
 .cat-running .cat-question h2{font-size:16px;line-height:1.6;white-space:pre-line;overflow-wrap:normal;word-break:normal;max-height:none;overflow:visible}
 .cat-running .cat-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
 .cat-running .cat-options button{align-items:flex-start;min-width:0;min-height:42px;height:auto;max-height:none;padding:8px 7px;gap:6px;border-radius:7px;font-size:14px;line-height:1.55;white-space:normal;overflow:visible;overflow-wrap:normal;word-break:normal}
 .cat-running .cat-options button b{width:19px;height:19px;flex-basis:19px;font-size:14px;margin-top:1px}
 .cat-running .cat-options button>span{min-width:0;overflow-wrap:anywhere;word-break:normal;white-space:normal}
 .cat-running .cat-question-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6px;margin-top:11px;padding-top:9px}
 .cat-running .cat-question-actions button{min-width:0;min-height:33px;padding:6px;font-size:14px;line-height:1.35;border-radius:6px;white-space:normal}
 .cat-running .cat-question-actions [data-cat-unmark]{grid-column:1/-1;justify-self:start;min-height:25px;font-size:9px;padding:4px 7px}
 .cat-running .cat-question-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 7px;margin-top:9px;align-items:center}
 .cat-running .cat-question-nav>button{min-width:0;min-height:35px;padding:7px 9px;font-size:14px;line-height:1.35;border-radius:6px;white-space:nowrap}
 .cat-running .cat-question-nav>[data-cat-step]{grid-column:1;grid-row:1}
 .cat-running .cat-question-nav>[data-cat-save-next]{grid-column:2;grid-row:1}
 .cat-running .cat-question-nav>#cat-save-status{grid-column:1/-1;grid-row:2;order:initial;width:auto;margin:0;font-size:9px;line-height:1.2;text-align:center;min-height:11px}
}

/* Keep the selected test period visible and the optional rank simulation explicit. */
.cat-edition-top h2{flex:1}
.cat-edition-top #cat-choose-test{display:grid;gap:2px;max-width:48%;white-space:normal;min-width:108px;text-align:center}
.cat-edition-top #cat-choose-test>span{font-size:14px;font-weight:700}
.cat-edition-top #cat-choose-test>strong{font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:normal;word-break:normal}
.cat-marking-profile{font-size:14px;line-height:1.7;margin:0 0 9px;color:#3a5e80;min-width:0}
.cat-marking-profile>span{display:block}.cat-marking-profile details{margin-top:3px}.cat-marking-profile summary{cursor:pointer;font-weight:650}
.cat-marking-profile a{display:block;color:inherit;text-decoration:underline;overflow-wrap:anywhere}
.cat-ready .cat-marking-profile{color:#edf3ff}.cat-dialog .cat-marking-profile{font-size:14px}
.cat-rank-simulation{margin-top:16px;padding:13px;border:1px solid #bed1e4;border-radius:8px;background:#f2f6fc;color:#23446a;min-width:0}
.cat-rank-simulation>summary{cursor:pointer;font-size:14px;font-weight:750;line-height:1.5}
.cat-rank-simulation p{font-size:14px;line-height:1.7;margin:8px 0;color:#46617c}
.cat-rank-simulation form{margin-top:12px;min-width:0}.cat-rank-simulation label{display:block;font-size:14px;font-weight:700;line-height:1.5;margin-bottom:5px}
.cat-simulation-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
.cat-simulation-controls input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #92acca;border-radius:6px;font:inherit;font-size:14px;padding:9px;background:#fff;color:#153e6b}
.cat-simulation-controls button{font:inherit;font-size:14px;padding:9px 11px;background:#254f89;color:#fff;border:1px solid #254f89;border-radius:6px;line-height:1.4}
.cat-simulation-output{margin-top:11px;border-top:1px solid #c9d7e8;padding-top:7px;min-width:0}
.cat-simulation-output>strong{display:block;font-size:15px;line-height:1.6;color:#1e496d}
.cat-simulation-output .cat-simulation-error{color:#a02d37}.cat-simulation-unavailable{font-weight:700}
@media(max-width:750px){.cat-edition-top #cat-choose-test{min-width:102px;padding:7px;max-width:44%}.cat-edition-top #cat-choose-test>span{font-size:9px}.cat-edition-top #cat-choose-test>strong{font-size:14px}.cat-ready .cat-marking-profile{font-size:14px}.cat-rank-simulation{padding:11px}.cat-rank-simulation>summary{font-size:14px}.cat-simulation-controls{grid-template-columns:1fr}.cat-simulation-controls button{min-height:37px}.cat-simulation-controls input{min-height:38px}}

.cat-marking-profile .cat-marking-note,.cat-edition-card .cat-marking-note{font:inherit;font-size:14px;line-height:1.6;margin:4px 0;color:inherit}

.cat-analysis-grid--single{grid-template-columns:minmax(0,1fr)}

/* Store directory and focused download setup. Each surface has a clear edge. */
.ca-store{color:var(--pp-ink);font-family:inherit;font-size:15px;line-height:1.5;min-width:0}
.ca-store *{box-sizing:border-box}.ca-store :is(button,input,select){font:inherit;max-width:100%;min-width:0}.ca-store :is(h1,h2,h3,p){margin-top:0}.ca-store :is(button,a,select){touch-action:manipulation}.ca-store a{color:inherit}.ca-store button{cursor:pointer}.ca-store button:disabled{opacity:.5;cursor:not-allowed}.ca-store :is(button,a,select):focus-visible{outline:2px solid var(--pp-gold-edge);outline-offset:3px}
.ca-store label{display:grid;gap:6px;min-width:0;font-size:14px}.ca-store select{width:100%;min-height:42px;padding:9px;border:1px solid #91b19b;border-radius:8px;background:#fff;color:var(--pp-ink);line-height:1.4}.ca-store option{background:#fff;color:var(--pp-ink)}
.cas-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 20px;margin:0 0 16px;border:1px solid #86b095;border-radius:14px}.cas-heading>div{flex:1;min-width:200px}.cas-heading h1{font-size:clamp(25px,3vw,34px);margin:4px 0 7px;line-height:1.25}.cas-heading p{margin:0 0 7px}.cas-eyebrow{display:block;font-size:14px;letter-spacing:.04em}.cas-reading-link{border:1px solid #86b095;padding:9px 12px;border-radius:8px;font-size:14px;text-decoration:none;white-space:nowrap}
#app .ca-store .cas-selector{padding:16px;margin:0 0 14px;background:#f8fcf6!important;border:1px solid #8aad93;border-radius:13px}.cas-scope{display:flex;gap:8px;margin:0 0 13px}.cas-scope button{flex:1;padding:10px 12px;border:1px solid #8aad93;border-radius:9px;font-size:14px}.cas-edition-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.cas-settings-button{display:grid;gap:4px;text-align:left;padding:10px 12px;min-height:62px;border:1px solid var(--pp-popup-line,#c978b1);border-radius:9px;background:var(--pp-popup-paper,#f7d7ed);color:var(--pp-popup-ink,#50213f)}.cas-settings-button strong{font-size:14px}.cas-settings-button span{font-size:14px;line-height:1.45}.cas-filter-note{font-size:14px;line-height:1.5;margin:10px 0 0}
#app .ca-store .cas-selected{padding:16px 18px;border:1px solid #88b199;border-left:4px solid #528366;border-radius:12px;margin:0 0 14px;background:#deefd9!important}.cas-selected h2{font-size:clamp(20px,2.4vw,26px);margin:5px 0 8px;line-height:1.3}.cas-selected p{margin:0 0 10px;font-size:14px}.cas-pills{display:flex;flex-wrap:wrap;gap:7px}.cas-pills span{padding:4px 8px;border:1px solid #97b6a0;border-radius:7px;font-size:14px;background:#fff!important}
#app .ca-store .cas-included{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 18px;border:1px solid #aac1ac;border-radius:12px;margin:0 0 14px;background:#f8fcf6!important}.cas-included h2{font-size:19px;margin:0 0 6px}.cas-included p{font-size:14px;margin:0;line-height:1.6}.cas-document-layout{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px;align-content:start}.cas-document-layout b{display:block;margin-bottom:3px}
.cas-settings-dialog{width:min(590px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;margin:auto;border:1px solid var(--pp-popup-line);border-radius:14px;padding:18px;box-shadow:0 16px 50px #18342840}.cas-settings-dialog::backdrop{background:#20374c66}.cas-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.cas-dialog-heading h2{font-size:20px;margin:0}.cas-dialog-heading button{border:1px solid var(--pp-popup-line);border-radius:7px;width:34px;height:34px;font-size:23px}.cas-filters,.cas-format-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cas-topic-filter{grid-column:1/-1}.cas-settings-dialog>.cas-primary{margin-top:18px;display:block;width:100%}
.cas-download-footer{padding:16px 18px;border:1px solid #88a995;border-top:4px solid #669575;border-radius:12px;background:#f8fcf6;margin-top:12px;display:grid;gap:12px}.cas-download-format{max-width:340px}.cas-pdf-label{font-size:14px;color:var(--pp-muted)}.cas-downloads{display:flex;justify-content:flex-start;min-width:0}.cas-download,.cas-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 18px;border:1px solid #669575;border-radius:9px;background:var(--pp-surface);color:var(--pp-ink);text-decoration:none}.cas-download strong{display:block;font-size:16px}.cas-download small{display:block;font-size:14px;margin-top:2px}.cas-file-icon{display:grid;place-items:center;width:35px;height:39px;border:1px solid #668977;border-radius:5px;font-size:14px}.cas-status:empty{display:none}.cas-status{margin:0;font-size:14px}.cas-notice,.cas-membership-note{padding:12px 15px;border:1px solid #a1bba6;border-radius:9px;background:#f2f8ec;font-size:14px;margin:0 0 14px}.cas-error{color:#9b2438!important;background:#fff0f2!important}
.store-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}.store-category{display:block;padding:17px 18px;text-decoration:none;background:#f9fcf6;border:1px solid #92b19b;border-top:4px solid #86ad92;border-radius:12px}.store-category:first-child{background:#e7b4e9;border-color:#b779b7}.store-category h2{font-size:20px;margin:0 0 8px;line-height:1.35}.store-category p{font-size:14px;margin:0}.store-category:hover{border-color:var(--pp-gold-edge);box-shadow:inset 0 0 0 1px var(--pp-gold-edge)}.store-subjects{margin:20px 0 0}.store-subjects h2{font-size:20px;margin:0 0 11px}.store-subject-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:9px}.store-subject{display:block;padding:12px 14px;background:var(--pp-orchid);color:var(--pp-orchid-ink);border:1px solid var(--pp-orchid-line);border-radius:9px;text-decoration:none;font-size:16px}
@media(max-width:680px){.cas-heading{padding:14px}.cas-heading>div{min-width:0;flex-basis:100%}.cas-reading-link{padding:7px 10px}.cas-scope button{padding:9px 7px;font-size:14px}.cas-edition-fields{grid-template-columns:1fr 1fr;gap:9px}.cas-edition-fields>label{grid-column:1/-1}.cas-settings-button{padding:9px}.cas-settings-button strong{font-size:14px}.cas-settings-button span{font-size:14px}#app .ca-store :is(.cas-selector,.cas-selected,.cas-included){padding:13px}.cas-included{grid-template-columns:1fr!important;gap:12px}.cas-download-footer{padding:13px}.cas-downloads>*{width:100%}.cas-settings-dialog{padding:14px}.cas-format-fields,.cas-filters{gap:12px 9px}.cas-settings-dialog label{font-size:14px}.cas-settings-dialog select{font-size:14px}.store-category-grid{gap:10px}.store-category{padding:14px}.store-category h2{font-size:19px}}

/* PadhoPlus: neutral surfaces, restrained topic accents, clear selection.
   This layer changes paint only. Sizing, positioning and exported documents
   remain owned by their existing components. Error/answer status stays semantic. */
/* No timed or animated background colour changes. */
:root {
  --pp-blue: #23486d;
  --pp-blue-hover: #163856;
  --pp-surface: #ffffff;
  --pp-surface-hover: #f0f3f8;
  --pp-orchid: #f3f0fa;
  --pp-orchid-ink: #42345e;
  --pp-orchid-line: #ddd6eb;
  --pp-ink: #20334d;
  --pp-muted: #5e6c7e;
  --pp-line: #dce3eb;
  --pp-wash: #f5f7fb;
  --pp-reading-paper: #ffffff;
  --pp-gold: #e4af42;
  --pp-gold-edge: #7c5615;
  --navy: var(--pp-blue);
  --navy2: var(--pp-blue);
  --ink: var(--pp-ink);
  --muted: var(--pp-muted);
  --line: var(--pp-line);
  --paper: var(--pp-wash);
  --coral: var(--pp-blue);
  --gold: var(--pp-gold);
  --lav: var(--pp-wash);
  --blue: var(--pp-wash);
  --shadow: 0 8px 24px #244c711a;
}
/* Typography hierarchy lives in design-system.css; never force every element bold. */
/* Give navigation labels the available space without changing the outer
   panels. Long topic names wrap by words inside their existing scroll area. */
.home-test-routes a,
.tabs>a[href^="/tests?mode="], .tabs>a[href="/current-affairs/tests"] {
  font-size: clamp(17px, 1vw + 12px, 20px) !important;
  font-weight: 800 !important;
  line-height: 1.35;
}
.home-note-item, .topic-list>.topic-row {
  font-size: clamp(18px, 1vw + 13px, 22px) !important;
  font-weight: 800 !important;
  line-height: 1.4;
}
.subject-card h3 {
  font-size: clamp(22px, 1vw + 17px, 25px) !important;
  font-weight: 800 !important;
  line-height: 1.35;
}
.ca-topic-choices a, .ca-side .ca-topic-scroll a,
.ca-desktop-topics .ca-topic-choices a, .home-ca-topics .ca-topic-scroll a {
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4;
}
.ca-topic-choices a>span:first-child,
.home-ca-topics .ca-topic-scroll a>span:first-child,
.topic-list>.topic-row>span:first-child {
  font-size: inherit !important;
  font-weight: 800 !important;
  min-width: 0;
}
.home-test-routes a, .home-note-item, .topic-list>.topic-row,
.ca-topic-choices a, .ca-side .ca-topic-scroll a,
.home-ca-topics .ca-topic-scroll a, .subject-card h3 {
  min-width: 0;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
/* A bounded scrolling grid must not squeeze its tracks down to the link's
   minimum height. Each row reserves the full height of its wrapped label. */
.ca-topic-choices,
.home-ca-topics .ca-topic-scroll,
.ca-test-links > nav {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 6px;
  min-width: 0;
}
.ca-topic-choices > a,
.ca-side .ca-topic-scroll > a,
.ca-test-links > nav > a {
  box-sizing: border-box;
  align-self: stretch;
  flex-shrink: 0;
  height: auto;
  max-height: none;
  min-width: 0;
  margin-block: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.45;
}
.ca-topic-choices > a > span:first-child,
.home-ca-topics .ca-topic-scroll > a > span:first-child {
  display: block;
  height: auto;
  max-height: none;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: inherit;
}
@media (prefers-reduced-motion: reduce), print {
  :root { animation: none; }
}
body, body.signed-in, body.study-workspace, .home-core, .signed-in .home-core {
  background: var(--paper) !important;
  color: var(--pp-ink);
}
.site-header, .dashboard-header, .dashboard-sidebar,
.study-workspace .dashboard-sidebar, .footer, .hero, .callout, .page-top {
  background: var(--pp-surface) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
}
.brand-name, .brand-mark { color: var(--pp-gold-edge) !important; }
.brand-mark { border-color: var(--pp-gold) !important; }
.dashboard-header :is(.dashboard-heading strong,.dashboard-heading small,.dashboard-mobile-wordmark),
.dashboard-nav-label, .dashboard-brand-caption, .brand-tag,
.footer small, .footer strong, .footer a,
.page-top :is(.eyebrow,.crumb,.page-intro,.page-title) { color: var(--pp-ink) !important; }
.hero h1 em, .hero .eyebrow { color: var(--pp-ink) !important; }
.hero p, .callout p { color: var(--pp-muted) !important; }
.dashboard-nav a, .dashboard-sidebar-bottom a, .dashboard-sidebar-bottom button,
.nav a { color: var(--pp-ink) !important; }
.dashboard-nav a:hover, .dashboard-sidebar-bottom a:hover,
.dashboard-sidebar-bottom button:hover { background: var(--pp-surface-hover) !important; }
.account-dropdown, .notice-popover { background: var(--pp-reading-paper) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important; }
.account-dropdown-heading, .notice-panel-heading, .notice-item { border-color: var(--pp-line) !important; }
.account-dropdown-heading small, .notice-item small, .sent-notice small { color: var(--pp-muted) !important; }
.account-dropdown>a, .account-dropdown>button { background: var(--pp-reading-paper) !important; color: var(--pp-blue) !important; }
.account-dropdown>a:hover, .account-dropdown>button:hover, .notice-unread { background: var(--pp-wash) !important; }
.notice-unread { border-left-color: var(--pp-blue) !important; }
.notice-panel-heading a { color: var(--pp-blue) !important; }

/* Pale, readable surfaces replace solid dark fills. */
.card, .feature, .feature.blue, .feature.mint, .feature.orange,
.course-card, .course-card:nth-child(n), .subject-card, .subject-card:nth-child(n),
.test-card, .test-card:nth-child(n), .topic-row, .topic-row:nth-child(n),
.home-current, .signed-in .home-current, .home-test,
.home-notes, .signed-in .home-notes,
.dashboard-rail-card, .latest-updates-card, .ca-desktop-topics,
.ca-fixed-rail-content>.ca-desktop-topics, .ca-topic-rail>.ca-desktop-topics,
.ca-test-links, .ca-store-links, .home-ca-tests,
.stat, .stat:nth-child(n), .filters, .auth-card, .profile-card {
  background: var(--pp-surface) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
  border-top-color: var(--pp-blue) !important;
  border-left-color: var(--pp-blue) !important;
}
.card :is(h2,h3,p,.meta,.muted,small,.overline,.text-link),
.topic-row small, .subject-card span, .course-card .overline,
.home-core-heading h1, .home-ca-title,
.home-current .ca-page-heading h1, .home-test h2, .home-notes h2,
.home-core .dashboard-rail-card h2, .latest-update-group h3,
.dashboard-shortcut, .dashboard-recent a, .dashboard-recent small,
.latest-update-group .dashboard-recent li.muted,
.ca-desktop-topics>h3, .ca-test-links :is(h3,h3 a,p),
.ca-store-links :is(h3,h3 a,p), .home-ca-tests :is(h3,h3 a),
.ca-topic-choices .ca-edition-label, .ca-no-topics,
.filters .filter-label, .auth-card p, .auth-card h1,
.profile-card .muted, .profile-card .meta, .stat .muted { color: var(--pp-ink) !important; }
.feature .icon, .feature:nth-child(n) .icon, .card .pill,
.pill, .note-tag, .badge, .badge.locked-badge, .ca-item-number {
  background: var(--pp-wash) !important;
  color: var(--pp-blue) !important;
  border-color: var(--pp-line) !important;
}
.home-ca-feed, .ca-main, .story, .question-panel, .result-panel,
.control-main, .story-editor, .story-editor .actions, .page .note,
.empty, .ca-state-picker, .ca-state-picker-list, .ca-state-options {
  background: var(--pp-reading-paper) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
}
.home-ca-feed>h2, .issue>h2, .ca-topic-collection>h2,
.ca-fixed-rail-content .ca-desktop-topics>h3, .ca-topic-rail .ca-desktop-topics>h3,
.ca-desktop-topics>h3, .control-main>h2, .control-main>h3,
.page .note>h1, .page .note>h2, .test-bar, .palette-panel,
.ca-state-picker-heading, .ca-popup-handlebar,
.ca-topic-popup .ca-popup-handlebar, .ca-test-popup .ca-popup-handlebar,
.ca-store-popup .ca-popup-handlebar, .ca-reading-page .ca-store-popup .ca-popup-handlebar {
  background: var(--pp-surface) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
}
.ca-state-picker-heading :is(strong,small), .palette-panel h3,
.palette-legend, .ca-popup-handlebar button { color: var(--pp-ink) !important; }
.ca-page-heading h1, .ca-page-toolbar>.ca-page-heading>h1,
.page>h1, .page .note>h3, .empty strong, .story h2,
.study-saved-item h2 { color: var(--pp-blue) !important; border-color: var(--pp-blue) !important; }
.home-current .ca-page-heading h1 { color: var(--pp-ink) !important; }
.story, .story:nth-child(n) { --story-accent: var(--pp-blue); --story-wash: var(--pp-wash); border-top-color: var(--pp-blue) !important; }
.story .story-topic-link, .story .story-facts-heading, .story .story-facts th {
  background: var(--pp-surface) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.story .story-facts td, .story .story-facts tr:nth-child(2n) td,
.story .mcq-preview .answer-box, .story .mcq-preview .answer-box legend {
  background: var(--pp-reading-paper) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.story :is(.story-clarification,.story-focus,.story-static,.story-comparison,.revision),
.story .mcq-preview, .story .answer-explanation, .review-item .answer-explanation,
.note blockquote, .stripe, .preview-banner {
  background: var(--pp-wash) !important; color: var(--pp-ink) !important; border-color: var(--pp-blue) !important;
}
.story .revision strong, .story .mcq-preview summary { color: var(--pp-ink) !important; }
.story .mcq-preview>summary, .story .mcq-preview[open]>summary {
  background: var(--pp-surface) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.story .meta, .story .sources, .ca-news-scroll small, .ca-exact-date { color: var(--pp-muted) !important; }
.text-link, .crumb, .owner-link, .story .sources a, .ca-news-scroll a:hover strong { color: var(--pp-blue); }

/* Unselected actions share one colour. Only actual selections become gold. */
.btn.primary, .btn.dark, .btn.subtle, .btn.light, .login-btn, .profile-btn,
.menu-btn, .dashboard-menu-btn, .dashboard-header .notice-menu>summary,
.account-menu>summary, .account-avatar, .edit-page-toggle,
.page-editor-toolbar button:not(.editor-danger),
.lang, .dashboard-tools .lang, .ca-language, .ca-page-toolbar .ca-language,
.lang button, .dashboard-tools .lang button, .ca-language button,
.ca-page-toolbar .ca-language button, .tab, .ca-controls .tab,
.ca-edition-controls>.tab, .ca-page-toolbar .ca-edition-controls>.tab,
.ca-state-menu>.tab, .ca-page-toolbar .ca-state-menu>summary,
.ca-reading-modes .ca-date-mode, .home-ca-feed .ca-date-mode,
.ca-period-toggle, .home-ca-periods>.ca-period-toggle, .ca-motion-toggle,
.ca-period-bar .period-choice, .home-ca-periods .period-choice, .ca-popup-body .period-choice,
.ca-topic-choices a, .ca-topic-choices a:nth-of-type(n),
.ca-side .ca-topic-scroll a, .ca-desktop-topics .ca-topic-choices a,
.ca-test-links>nav>a, .ca-topic-popup .ca-test-links>nav>a,
.ca-test-links .ca-topic-tests-link, .ca-topic-popup .ca-test-links .ca-topic-tests-link,
.ca-store-links>a, .home-ca-tests nav a, .home-test-routes a, .home-test-routes a:nth-child(n),
.home-note-item, .home-note-item:nth-child(n), .home-ca-open,
.study-filters :is(button,a), .study-kinds a, .study-pagination a,
.study-tools button[data-study-read], .study-tools button[data-study-important],
.study-tools[data-study-tools-kind=story] button[data-study-read],
.study-tools[data-study-tools-kind=story] button[data-study-important],
.control-menu button, .control-notices-link, .auth-switch a,
.ca-state-picker-list>button, .ca-state-options button {
  background: var(--pp-surface) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
}
.ca-popup-body, .ca-topic-popup .ca-popup-body, .ca-test-popup .ca-popup-body,
.ca-store-popup .ca-popup-body, .ca-period-popup>.ca-popup-body,
.ca-period-bar, .home-ca-periods, .home-ca-periods .ca-controls.periods,
.ca-popup-body .ca-topic-choices, .ca-selection-summary {
  background: var(--pp-wash) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.ca-popup-body .ca-edition-label, .ca-selection-summary>span[aria-hidden],
.ca-state-picker-list>button :is(small,.ca-state-check),
.ca-state-options button small { color: inherit !important; }
.ca-story-reading-controls>.study-actions,
.story .ca-story-reading-controls.ca-reading-inline { background: var(--pp-wash) !important; border-color: var(--pp-line) !important; }
.ca-reading-inline .ca-reading-mark-title { color: var(--pp-ink) !important; }
.ca-topic-scroll, .ca-fixed-rail-content { scrollbar-color: var(--pp-blue) var(--pp-wash) !important; }

/* Tests and download-store controls follow the same palette. */
.ca-tests { --cat-navy: var(--pp-blue); --cat-blue: var(--pp-blue); --cat-line: var(--pp-line); --cat-purple: var(--pp-blue); }
.ca-store { --cas-ink: var(--pp-ink); --cas-blue: var(--pp-blue); --cas-purple: var(--pp-blue); --cas-teal: var(--pp-blue); }
.cat-selector, .cat-ready, .cat-exam-top, .cat-result-summary, .cat-palette,
.cat-notice:not(.cat-error), .cat-question-count strong,
.cat-date-wise, .cat-instruction-language h3, .cat-table-scroll th,
.cas-heading, .cas-selector, .cas-selected, .cas-included {
  background: var(--pp-surface) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.cat-ready :is(h2,p,.cat-eyebrow,.cat-marking-profile,.cat-version),
.cat-exam-top :is(strong,small), .cat-clock span, .cat-result-summary small,
.cat-selector :is(.cat-filter-note,.cat-filters label), .cat-ready .cat-start label,
.cas-heading :is(.cas-eyebrow,h1,p), .cas-selected :is(.cas-eyebrow,h2,p),
.cas-included :is(.cas-eyebrow,h2,p) { color: var(--pp-ink) !important; }
.cat-edition-card, .cat-edition-card:nth-child(n) { --edition-accent: var(--pp-blue); border-color: var(--pp-line); }
.cat-options button, .choice {
  background: var(--pp-reading-paper) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.cat-options button b, .cat-question-meta>span, .cat-route-icon,
.cat-pills span, .cat-ready .cat-marking-rules {
  background: var(--pp-wash) !important; color: var(--pp-blue) !important; border-color: var(--pp-line) !important;
}
.ca-tests .cat-primary, .ca-tests .cat-primary:hover:enabled,
.cat-scope button, .cat-review-filters button, .cat-lang, .cat-lang button,
.cat-route, .cat-route:nth-child(n), .cat-edition-entries button,
.cat-edition-entries button:last-child, .cat-chooser-edition button,
.cat-date-shortcuts button, .cat-date-shortcuts a,
.cat-chooser-dialog .cat-date-shortcuts button,
.cat-question-actions button, .cat-question-actions button[data-cat-mark-next],
.cat-question-nav>button, .cat-dialog-actions>button, #cat-choose-test,
.cat-edition-top #cat-choose-test, .cat-heading-actions #cat-choose-test,
.cat-simulation-controls button, .cat-history [data-cat-history-more], .cat-dialog-heading button,
.cas-scope button, .cas-primary, .cas-reading-link, .cas-download,
.cas-download-pdf, .cas-download-word, .cas-route, .cas-route:nth-child(n) {
  background: var(--pp-surface) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.cat-route :is(h3,p,.cat-route-arrow), .cas-route :is(h3,p),
.cas-download :is(strong,small), .cat-edition-entries :is(strong,span,b) { color: inherit !important; }
.cat-result-stats>div, .cat-result-stats>div:nth-child(n),
.cat-topic-card dl>div, .cat-explanation, .cas-notice:not(.cas-error), .cas-membership-note, .cas-status {
  background: var(--pp-wash) !important; color: var(--pp-ink) !important; border-color: var(--pp-line) !important;
}
.cat-result-stats :is(strong,span,small) { color: var(--pp-ink) !important; }
.cat-explanation>strong, .cas-section-heading .cas-eyebrow { color: var(--pp-blue) !important; }
.cas-format { border-top-color: var(--pp-blue) !important; }

/* Test routes and subject navigation share the orchid treatment on
   guest, signed-in, desktop and installed-app pages. */
:is(.home-test-routes a, .home-test-routes a:nth-child(n),
 .home-note-item, .home-note-item:nth-child(n),
 .subject-card, .subject-card:nth-child(n), .course-card, .course-card:nth-child(n),
 .test-card, .test-card:nth-child(n), .topic-row, .topic-row:nth-child(n),
 .tabs>a[href^="/tests?mode="], .tabs>a[href="/current-affairs/tests"],
 .cat-route, .cat-route:nth-child(n),
 .cat-edition-card, .cat-edition-card:nth-child(n), .cat-edition-entries button,
 .cat-edition-entries button:last-child, .cat-chooser-edition button,
 .ca-topic-choices a, .ca-topic-choices a:nth-of-type(n),
 .ca-side .ca-topic-scroll a, .ca-desktop-topics .ca-topic-choices a,
 .ca-test-links>nav>a, .ca-topic-popup .ca-test-links>nav>a,
 .ca-test-links .ca-topic-tests-link, .ca-topic-popup .ca-test-links .ca-topic-tests-link,
 .home-ca-tests nav a, .cas-route, .cas-route:nth-child(n)) {
  background: var(--pp-orchid) !important;
  color: var(--pp-orchid-ink) !important;
  border-color: var(--pp-orchid-line) !important;
  --edition-accent: var(--pp-orchid-ink);
}
:is(.subject-card,.course-card,.test-card,.topic-row,.cat-edition-card,.cat-route,.cas-route) :is(h2,h3,p,small,span,.meta,.muted,.overline,.text-link) {
  color: inherit !important;
}
.cat-edition-number { background: var(--pp-wash) !important; color: var(--pp-ink) !important; }
/* Topic choices stay orchid throughout the cycle. The selection rule below
   remains the final authority, so a chosen topic is always visibly gold. */
:is(.topic-row, .topic-row:nth-child(n),
 .ca-topic-choices a, .ca-topic-choices a:nth-of-type(n),
 .ca-side .ca-topic-scroll a, .ca-desktop-topics .ca-topic-choices a,
 .cat-topic-filter select) {
  background: var(--pp-orchid) !important;
  color: var(--pp-orchid-ink) !important;
  border-color: var(--pp-orchid-line) !important;
}
.topic-row :is(h2,h3,p,small,span,.meta,.muted,.text-link) { color: inherit !important; }
/* Gold remains exclusive to the current choice, including orchid category boxes. */
/* Former dark-surface captions now use dark ink on their pale backgrounds. */
.dashboard-sidebar .dashboard-nav a:hover,
.dashboard-sidebar-bottom a:hover, .dashboard-sidebar-bottom button:hover,
.dashboard-update-detail, .dashboard-update-detail summary,
.ca-store-mobile-link, .ca-store-mobile-link small,
.ca-two-row-controls .ca-popup-handlebar .ca-popup-toggle,
.cat-palette-heading>span, .cat-palette p, .cat-palette-legend,
.cat-result-summary .cat-eyebrow, .cat-result-summary p, .cat-score small,
.cas-filter-note, .cas-pills span, .cas-file-icon, .cas-included li, .cas-route-number {
  color: var(--pp-ink) !important;
}
.cas-pills span, .cas-file-icon, .cas-route-number {
  background: var(--pp-wash) !important;
}
.cat-clock strong, .cat-exam-top .cat-clock strong, .cat-score>strong { color: var(--pp-gold-edge) !important; }
/* These child elements had their own light foreground in the earlier dark
   theme, so changing the containing surface alone did not fix them. */
.btn.outline, .dashboard-close, .desktop-ca-reading .dashboard-close {
  background: var(--pp-surface) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-line) !important;
}
.dashboard-sidebar .dashboard-nav .dashboard-icon,
.dashboard-sidebar-bottom .dashboard-icon,
.dashboard-recent a:hover span,
.period-choice small, .home-period-choice small {
  color: inherit !important;
}
.owner-link:hover, .cat-notice:not(.cat-error) a,
.cat-question-count, .cat-question-count>span {
  color: var(--pp-ink) !important;
}
.cat-notice:not(.cat-error) a { text-decoration-color: currentColor; }
.auth-card .error, .profile-card .error {
  color: #a2212e !important;
}
/* Separate nested surfaces instead of painting the box and its inside alike.
   Keep the owner's green hue; paper, green panels and orchid choices differ. */
#app .ca-tests :is(.cat-selector,.cat-ready,.cat-palette,.cat-exam-top,.cat-result-summary) {
  background:var(--pp-surface)!important; border-color:#83a88f!important;
}
#app .ca-tests :is(.cat-question,.cat-analysis-card,.cat-review-card,.cat-topic-card,.cat-edition-card) {
  background-color:#f7fbf4!important;
  color:var(--pp-ink)!important; border:1px solid #89a991!important;
  box-shadow:0 3px 10px #23433210;
}
#app .ca-tests .cat-edition-entries button { background:var(--pp-orchid)!important; border-color:var(--pp-orchid-line)!important; color:var(--pp-orchid-ink)!important; }
#app .ca-tests .cat-pills span { background:#f8fcf5!important; border-color:#89a991!important; }
#app .ca-tests .cat-options button:not(.selected) { background:#fff!important; border-color:#92ae9a!important; }
#app .home-core .home-content-row { background:transparent!important; }
/* The selection contract: gold + dark text + an inset edge, without resize. */
:is(
 .tab.active, .period-choice.active, .nav a.active,
 .dashboard-nav a.active, .control-menu button.active, .auth-switch a.active,
 .lang button.active, .ca-language button.active, .ca-language button[aria-pressed=true],
 .ca-reading-modes .ca-date-mode.active, .home-ca-feed .ca-date-mode.active,
 .ca-topic-choices a.active, .ca-topic-choices a[aria-current=page],
 .ca-side .ca-topic-scroll a.active, .ca-state-menu>.tab.active,
 .ca-state-picker-list>button[aria-pressed=true], .ca-state-options button[aria-pressed=true],
 .study-filters [aria-pressed=true], .study-kinds a[aria-current=page],
 .study-tools button[data-study-read][aria-pressed=true],
 .study-tools button[data-study-important][aria-pressed=true],
 .edit-page-toggle[aria-pressed=true],
 .cat-scope button[aria-pressed=true], .cat-review-filters button[aria-pressed=true],
 .cat-lang button[aria-pressed=true], .cat-date-shortcuts button[aria-pressed=true],
 .cat-options button.selected, .choice.selected,
 .cat-route.selected, .cas-route.selected, .cas-scope button[aria-pressed=true]
) {
  background: var(--pp-gold) !important;
  color: var(--pp-ink) !important;
  border-color: var(--pp-gold-edge) !important;
  box-shadow: inset 0 0 0 2px var(--pp-gold-edge);
  --ca-selected-ring: var(--pp-gold-edge);
}
.cat-options button.selected b,
.ca-state-picker-list>button[aria-pressed=true] .ca-state-marker {
  background: var(--pp-ink) !important; color: var(--pp-gold) !important;
}
.cat-palette-grid button.current, .palette button.active {
  outline-color: var(--pp-gold-edge) !important;
  border-color: var(--pp-gold) !important;
  box-shadow: inset 0 0 0 2px var(--pp-gold) !important;
}
.ca-selection-page :is(.active,[aria-current=page],[aria-pressed=true]) {
  --ca-selected-ring: var(--pp-gold-edge);
}
:is(button,a,input,select,textarea,summary):focus-visible {
  outline-color: var(--pp-gold-edge) !important;
}
input[type=radio], input[type=checkbox] { accent-color: var(--pp-gold-edge); }
/* Actual correctness, destructive actions and urgent timing retain their meaning. */
.ca-admin-actions .danger, .page-editor-toolbar .editor-danger {
  background: #fff0f1 !important; color: #a2212e !important; border-color: #d68791 !important;
}
.account-dropdown>button[data-logout] { color: #a2212e !important; }
.cat-clock.urgent strong, .cat-exam-top .cat-clock.urgent strong { color: #a2212e !important; }
.cat-clock.urgent span { color: #a2212e !important; }
.gold-lock { color: var(--pp-gold-edge) !important; }
.period-choice.active .gold-lock, .ca-topic-choices a.active .gold-lock,
.ca-topic-choices a[aria-current=page] .gold-lock { color: var(--pp-ink) !important; }
.locked .lock { color: var(--pp-gold-edge) !important; }
.locked { background: #fff8e7 !important; color: var(--pp-ink) !important; border-color: var(--pp-gold) !important; }

/* Swipeable content stays inside each section. The page itself never becomes
   a horizontal scroller. Colours and selection states remain theme-owned. */
.home-current .ca-news-scroll {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 2px;
  scrollbar-width: thin;
  scrollbar-color: var(--pp-blue) transparent;
}
#app .home-current #home-ca-headlines > ol {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  height: 100% !important;
  box-sizing: border-box;
  padding: 4px 2px 8px;
  margin: 0;
}
.home-current .ca-news-scroll > ol > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  flex: 0 0 calc(50% - 6px);
  min-width: 0;
  box-sizing: border-box;
  padding: clamp(14px, 1.5vw, 22px);
  border: 1px solid var(--pp-line);
  border-radius: 16px;
  background: var(--pp-reading-paper);
  color: var(--pp-ink);
  scroll-snap-align: start;
  overflow-wrap: break-word;
}
.home-current .ca-news-scroll > ol > li:only-child {
  flex-basis: 100%;
}
.home-current .ca-news-scroll > ol > li > a {
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: 10px;
  white-space: normal;
  line-height: 1.5;
}
.home-current .ca-news-scroll > ol > li > a > span:last-child {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  gap: 8px;
  overflow-wrap: break-word;
  word-break: normal;
}
.home-current .ca-news-scroll small {
  order: -1;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}
.home-current .ca-news-scroll strong {
  display: block;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.5;
}
.home-current .ca-news-scroll .ca-item-number {
  width: 25px;
  height: 25px;
  font-size: 14px;
  margin-top: 0;
}
.home-current .ca-news-scroll .ca-admin-actions {
  flex-wrap: wrap;
  margin: 8px 0 0;
}
.home-current #home-ca-feed-toolbar {
  min-width: 0;
  gap: 5px;
}
.home-current #home-ca-feed-toolbar > span {
  flex: 1 1 0;
  min-width: 0;
  margin-right: 0;
  white-space: normal;
}
.home-feed-paging {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
}
.home-feed-paging button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding: 0;
  border: 1px solid var(--pp-line);
  border-radius: 8px;
  background: var(--pp-surface);
  color: var(--pp-ink);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.home-feed-paging button:hover { background: var(--pp-surface-hover); }
.home-feed-paging button:focus-visible {
  outline: 2px solid var(--pp-gold-edge);
  outline-offset: 2px;
}
.home-feed-paging button:disabled { opacity: .45; cursor: default; }

/* Home and Dashboard share compact cards with room to peek at the next item. */
.home-core > .wrap > [data-home-section] {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  border-radius: 16px;
}
.home-core [data-home-section] .home-section-head {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin-bottom: 10px;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
}
[data-home-section] .home-section-head > h2,
[data-home-section] > h2.home-section-head > a:first-child {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
  overflow-wrap: break-word;
}
.home-section-head > .text-link {
  flex: 0 0 auto;
  font-size: 14px;
}
.home-section-paging {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}
.home-section-paging button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  border: 1px solid var(--pp-line);
  border-radius: 10px;
  background: var(--pp-surface);
  color: var(--pp-ink);
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}
.home-section-paging button:hover { background: var(--pp-surface-hover); }
.home-section-paging button:focus-visible,
.home-content-row:focus-visible {
  outline: 2px solid var(--pp-gold-edge);
  outline-offset: 2px;
}
.home-section-paging button:disabled { opacity: .4; cursor: default; }
.home-core [data-home-section] .home-content-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 2px;
  scrollbar-width: thin;
  scrollbar-color: var(--pp-blue) transparent;
  padding: 3px 2px 10px;
  margin: 0;
}
.home-core .home-content-row > .home-content-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 0 0 clamp(176px, 23%, 220px);
  min-width: 0;
  max-width: 100%;
  min-height: 128px;
  box-sizing: border-box;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--pp-orchid-line);
  border-radius: 13px;
  background: var(--pp-orchid) !important;
  color: var(--pp-orchid-ink) !important;
  box-shadow: 0 4px 12px #20374c0c;
  scroll-snap-align: start;
  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  font-size: clamp(18px, 1.4vw, 20px) !important;
  line-height: 1.35;
}
.home-content-card .home-card-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid var(--pp-orchid-line);
  border-radius: 8px;
  background: var(--pp-reading-paper);
  color: var(--pp-orchid-ink);
  font-size: 14px;
  letter-spacing: .03em;
  line-height: 1;
}
.home-core .home-content-row > .home-content-card:not(:has(.home-card-icon)) {
  justify-content: center;
  font-weight: 800 !important;
}
.home-card-icon svg { display: block; width: 20px; height: 20px; }
.home-content-card .home-card-label {
  display: block;
  width: 100%;
  min-width: 0;
  font-size: inherit;
  font-weight: 800 !important;
  line-height: 1.35;
}
.home-content-card .home-card-detail {
  display: block;
  min-width: 0;
  margin-top: auto;
  color: inherit !important;
  font-size: 14px;
  line-height: 1.5;
}
.home-core .home-content-row > .home-content-card:is(.active,.selected,[aria-current=page],[aria-pressed=true]) {
  background: var(--pp-gold) !important;
  border-color: var(--pp-gold-edge) !important;
  color: var(--pp-ink) !important;
  box-shadow: inset 0 0 0 1px var(--pp-gold-edge);
}
.home-core.no-home-updates > .wrap {
  grid-template-columns: minmax(0, 1fr);
}
.home-core.no-home-updates .dashboard-home-rail { display: none; }
@media (min-width: 851px) and (max-width: 1100px) {
  .home-core.home-with-updates > .wrap > .home-store { grid-row: 4; }
  .home-core.home-with-updates > .wrap > .dashboard-home-rail { grid-row: 5; }
}
@media (min-width: 1101px) {
  .home-core > .wrap > .home-store { grid-column: 1; }
  .home-core.home-with-updates > .wrap > .dashboard-home-rail { grid-row: 1 / 5; }
}

@media (max-width: 850px) {
  /* A peek at the following card makes the native swipe direction obvious. */
  .wrap.page .subject-grid,
  .wrap.page > .topic-list,
  .wrap.page > .grid:has(> .course-card),
  .wrap.page > .grid:has(> .test-card) {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
    scrollbar-width: thin;
    scrollbar-color: var(--pp-blue) transparent;
    padding: 3px 2px 10px;
    box-sizing: border-box;
  }
  .wrap.page .subject-grid > .subject-card,
  .wrap.page > .topic-list > .topic-row,
  .wrap.page > .grid > :is(.course-card, .test-card) {
    flex: 0 0 82%;
    min-width: 0;
    max-width: 82%;
    box-sizing: border-box;
    scroll-snap-align: start;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    border-radius: 16px;
    box-shadow: 0 4px 12px #20374c0c;
  }
  .wrap.page .subject-grid > .subject-card:only-child,
  .wrap.page > .topic-list > .topic-row:only-child,
  .wrap.page > .grid > :is(.course-card, .test-card):only-child {
    flex-basis: 100%;
    max-width: 100%;
  }
  .home-core > .wrap > [data-home-section] { padding: 12px; }
  .home-core [data-home-section] .home-section-head { gap: 6px; margin-bottom: 9px; font-size: clamp(18px, 3.9vw, 22px); }
  [data-home-section] .home-section-head > h2,
  [data-home-section] > h2.home-section-head > a:first-child { font-size: clamp(18px, 3.9vw, 22px); }
  .home-section-head > .text-link { font-size: 14px; }
  .home-section-paging { gap: 4px; }
  .home-section-paging button { width: 30px; min-width: 30px; height: 30px; border-radius: 8px; }
  .home-core [data-home-section] .home-content-row { gap: 10px; }
  .home-core .home-content-row > .home-content-card {
    flex-basis: 62%;
    max-width: 62%;
    min-height: 120px;
    padding: 12px;
    gap: 6px;
    font-size: clamp(16px, 4.2vw, 18px) !important;
  }
  .home-core .home-content-row > .home-content-card:only-child { flex-basis: 100%; max-width: 100%; }
  .home-content-card .home-card-icon { width: 26px; height: 26px; font-size: 14px; }
  .home-content-card .home-card-detail { font-size: 14px; }
  .home-core .dashboard-home-rail { display: none; }
  .wrap.page .subject-grid > .subject-card {
    min-height: 140px;
    padding: 20px;
  }
  .wrap.page > .topic-list > .topic-row {
    min-height: 112px;
    padding: 18px;
    gap: 12px;
  }
  .wrap.page > .topic-list > .topic-row > span { min-width: 0; }
  .wrap.page > .topic-list > .topic-row > small { flex: 0 0 auto; }
  .wrap.page > .grid > :is(.course-card, .test-card) {
    padding: 18px;
    gap: 12px;
  }
  .wrap.page > .grid > :is(.course-card, .test-card) :is(h3,p) {
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
  }
  .wrap.page > .grid > :is(.course-card, .test-card) h3 {
    font-size: clamp(20px, 4.6vw, 24px);
    line-height: 1.45;
  }
  .home-current > .home-ca-layout.ca-reading-layout.has-home-tests {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'content' 'topics';
    gap: 12px;
  }
  .home-current .home-ca-tests {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .home-current .home-ca-tests nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    padding-bottom: 6px;
  }
  .home-current .home-ca-tests nav > a {
    flex: 0 0 72%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 58px;
    padding: 10px;
    font-size: 14px;
    line-height: 1.5;
    scroll-snap-align: start;
    overflow-wrap: break-word;
  }
  /* Mobile headlines use a compact, natural-height card row. A lengthy
     headline may grow the row rather than being clipped or forcing an overlay. */
  #app .home-current .home-ca-feed {
    height: auto;
    min-height: 0;
    padding: 10px;
  }
  #app .home-current #home-ca-headlines {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
  #app .home-current #home-ca-headlines > ol { height: auto !important; }
  .home-current .ca-news-scroll > ol > li {
    flex-basis: 84%;
    min-height: 174px;
    padding: 16px 12px;
  }
  .home-current .ca-news-scroll > ol > li:only-child { flex-basis: 100%; }
  .home-current .ca-news-scroll strong { font-size: 16px; line-height: 1.5; }
  .home-current .ca-news-scroll small { font-size: 14px; }
  .home-current .ca-news-scroll .ca-item-number { width: 22px; height: 24px; }
  .home-current #home-ca-feed-toolbar > .ca-motion-toggle {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 4px 5px;
    font-size: 14px;
  }
}

@media (display-mode: standalone), (display-mode: fullscreen) {
  .home-core > .wrap, .signed-in .home-core > .wrap { grid-template-columns: minmax(0, 1fr); }
  .home-core .dashboard-home-rail { display: none; }
}

/* Important: flex rows must never bring filtered or owner-hidden cards back. */
.home-current .ca-news-scroll > ol > li[hidden],
.home-core .home-test-routes > [hidden],
.home-core .home-note-grid > [hidden],
.home-core .home-content-row > [hidden],
.wrap.page .subject-grid > [hidden],
.wrap.page > .topic-list > [hidden],
.wrap.page > .grid > [hidden] { display: none !important; }

@media print {
  .home-current .ca-news-scroll { overflow: visible; }
  #app .home-current #home-ca-headlines > ol {
    display: block;
    height: auto !important;
  }
  .home-current .ca-news-scroll > ol > li { margin-bottom: 8px; }
  .home-feed-paging { display: none; }
}

/* Keep the Home Store box's existing palette and placement for course bundles. */
.home-course-controls{display:flex;align-items:center;gap:6px;flex:none}
.home-core [data-course-track]{cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.home-core [data-course-track]>.home-course-card{flex-basis:clamp(230px,30%,290px);min-height:220px;justify-content:flex-start;text-decoration:none;-webkit-user-drag:none}
.home-core [data-course-track] .home-card-label{font-size:clamp(17px,1.6vw,20px);line-height:1.4;white-space:normal;overflow-wrap:normal}
.home-course-prices{display:grid;gap:5px;margin-top:auto}
.home-course-price{display:block;line-height:1.3;white-space:nowrap}
.home-course-price strong{font-size:22px}
.home-course-price small{font-size:14px;font-weight:700}
.home-course-price s{font-size:14px;opacity:.75;text-decoration-thickness:2px;margin-left:4px}
.home-core [data-course-track] .home-card-detail{font-size:14px!important;line-height:1.5;white-space:normal}
.home-core [data-course-track].course-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.home-core [data-course-track].course-dragging *{cursor:grabbing;user-select:none}
.course-bundle-grid.course-single{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}
@media(max-width:700px){.home-core [data-course-track]>.home-course-card{flex-basis:72%;max-width:72%;min-height:215px}.home-core [data-course-carousel] .home-section-head{gap:6px}.home-core [data-course-carousel] .home-section-head h2{font-size:20px}.home-course-controls{gap:4px}}

/* Manual reading stays inside its own content box, on desktop and in the app. */
.content-rail{width:100%;max-width:100%;min-width:0;margin:8px 0 12px;contain:inline-size;box-sizing:border-box}
.content-rail[hidden],.content-rail-controls[hidden]{display:none!important}
.content-rail-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin:0 0 7px;padding:0}
.content-rail-controls>button{flex:0 0 auto;border:1px solid var(--pp-line,#b8cfdb);border-radius:9px;background:var(--pp-surface,#dcebf5);color:var(--pp-ink,#20374c);font:inherit;font-size:clamp(11px,1vw,13px);font-weight:800;line-height:1.2;padding:7px 10px;min-height:32px;cursor:pointer}
.content-rail-controls>button:hover:not(:disabled){border-color:var(--pp-gold-edge,#886018);background:var(--pp-gold,#e4af42)}
.content-rail-controls>button:disabled{opacity:.45;cursor:default}
.content-rail-controls>button:focus-visible,.content-rail-viewport:focus-visible{outline:2px solid var(--pp-gold-edge,#886018);outline-offset:2px}
.content-rail-hint{min-width:0;color:var(--pp-muted,#536879);font-size:clamp(10px,.85vw,12px);line-height:1.3;text-align:center;font-weight:700}
.content-rail-viewport{display:flex;position:relative;align-items:flex-start;gap:12px;width:100%;max-width:100%;min-width:0;height:var(--content-rail-height,auto);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;box-sizing:content-box;padding-bottom:2px;overflow-anchor:none}
.content-rail-viewport::-webkit-scrollbar{display:none}
#app .content-rail .content-rail-viewport>.story{flex:0 0 100%;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;align-self:flex-start;margin:0!important;transform:none!important;left:auto!important;right:auto!important}
/* The selected card determines height. A distant long card cannot create blank
   space below a short active one; inactive content remains inert and clipped. */
#app .content-rail .content-rail-viewport>.story[data-rail-inactive="true"]{height:var(--content-rail-height,400px)!important;max-height:var(--content-rail-height,400px)!important;min-height:0!important;overflow:hidden;contain:size layout}
.content-rail-announcement{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
@media(max-width:580px){.content-rail-controls{gap:5px}.content-rail-controls>button{padding:6px 8px}.content-rail-viewport{gap:10px}}
@media print{.content-rail-controls,.content-rail-announcement{display:none!important}.content-rail,.content-rail-viewport{display:block!important;height:auto!important;overflow:visible!important;contain:none!important}#app .content-rail .content-rail-viewport>.story[data-rail-inactive="true"]{height:auto!important;max-height:none!important;overflow:visible!important;contain:none!important}}

/* Compact natural-height headlines, without the former dashboard test rail. */
#app .home-current .home-ca-layout[data-home-feed-only] { display:block!important; }
#app .home-current .home-ca-tests[hidden] { display:none!important; }
#app .home-current .home-ca-feed { height:auto!important; min-height:0!important; padding:12px; }
#app .home-current #home-ca-headlines { flex:0 0 auto!important; height:auto!important; min-height:0!important; }
#app .home-current #home-ca-headlines>ol { height:auto!important; align-items:stretch; }
#app .home-current #home-ca-headlines>ol>li { min-height:138px; padding:12px; justify-content:flex-start; }
#app .home-current .home-ca-layout>.home-ca-topics { height:312px; max-height:312px; }
#app .home-core>.wrap>.home-current { align-self:start; height:auto!important; min-height:0!important; max-height:none!important; }
.home-current .home-core-heading { margin-bottom:8px; }
.home-current .ca-edition-controls { margin-bottom:8px; }

/* A single calendar occupies the old Date-wise slot beside All together. */
#ca-reading-modes { flex:0 1 auto!important; max-width:none; overflow:visible!important; }
.ca-inline-calendar { display:inline-flex; flex:0 1 124px; align-items:center; min-width:0; height:32px; border:1px solid var(--pp-line); border-radius:8px; background:var(--pp-surface); color:var(--pp-ink); box-sizing:border-box; }
.ca-inline-calendar input { display:block; width:122px; min-width:0; max-width:100%; height:30px; margin:0; padding:3px 5px; box-sizing:border-box; border:0; border-radius:7px; background:transparent; color:inherit; font:inherit; font-size:14px; line-height:1.2; cursor:pointer; }
.ca-inline-calendar.active { background:var(--pp-gold); border-color:var(--pp-gold-edge); box-shadow:inset 0 0 0 1px var(--pp-gold-edge); }
.ca-inline-calendar:focus-within { outline:2px solid var(--pp-blue); outline-offset:2px; }
.story-facts td { white-space:pre-line; }

/* Magenta choices inside popups; selected options retain the gold marker. */
.ca-period-popup .ca-popup-body :is(.period-choice,.ca-topic-choices>a,.ca-test-links nav>a),
.cat-chooser-dialog .cat-route,
.ca-state-picker-list>button {
  background:#f2b6de!important; color:#582747!important; border-color:#c978b1!important; box-shadow:none; animation:none!important;
}
.ca-period-popup .ca-popup-body :is(.period-choice,.ca-topic-choices>a,.ca-test-links nav>a):hover,
.cat-chooser-dialog .cat-route:hover,
.ca-state-picker-list>button:hover { background:#ec9fd2!important; }
.ca-period-popup .ca-popup-body :is(.period-choice,.ca-topic-choices>a,.ca-test-links nav>a):is(.active,.selected,[aria-current=true],[aria-current=page],[aria-pressed=true]),
.cat-chooser-dialog .cat-route[aria-pressed=true],
.ca-state-picker-list>button[aria-pressed=true] { background:var(--pp-gold)!important; color:var(--pp-ink)!important; border-color:var(--pp-gold-edge)!important; box-shadow:inset 0 0 0 1px var(--pp-gold-edge); }
.ca-period-popup .ca-popup-body :is(.period-choice,.ca-topic-choices>a,.ca-test-links nav>a) :is(strong,span,small),
.cat-chooser-dialog .cat-route :is(h3,span),.ca-state-picker-list>button :is(small,.ca-state-marker) { color:inherit!important; }

/* The app bar is outside edited page frames. It reserves its own safe area. */
.app-bottom-nav { display:none; }
body.app-navigation-visible { --app-nav-height:calc(60px + env(safe-area-inset-bottom,0px)); padding-bottom:var(--app-nav-height); }
.app-navigation-visible .app-bottom-nav {
  position:fixed!important; inset:auto 0 0!important; transform:none!important; translate:none!important;
  display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px;
  width:100%!important; max-width:100%!important; height:var(--app-nav-height)!important; min-height:0!important;
  margin:0!important; padding:5px max(6px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));
  box-sizing:border-box; background:#f3f9f6; border-top:1px solid #b6cfc6; box-shadow:0 -3px 14px #20374c12; color:var(--pp-ink); z-index:40;
}
.app-bottom-nav>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:44px; height:auto; margin:0; padding:3px 2px; box-sizing:border-box; border:1px solid transparent; border-radius:10px; text-decoration:none; color:var(--pp-ink); background:transparent; line-height:1.15; }
.app-bottom-nav>a .dashboard-icon { width:22px; height:22px; flex:none; margin:0; }
.app-bottom-nav>a>span { max-width:100%; font-size:clamp(9px,2.5vw,11px); line-height:1.15; white-space:nowrap; }
.app-bottom-nav>a.active { background:#f9e6bb!important; border-color:#d3a440!important; color:#684a13!important; }
.app-bottom-nav>a:focus-visible { outline:2px solid var(--pp-gold-edge); outline-offset:-2px; }
.dashboard-menu-open .app-bottom-nav { visibility:hidden; pointer-events:none; }
.app-navigation-visible .owner-design-launch { bottom:calc(var(--app-nav-height) + 12px); }
.app-navigation-visible #toast { bottom:calc(var(--app-nav-height) + 12px); }
.app-navigation-visible.ca-two-row-controls .ca-reading-docked { bottom:var(--ca-dock-bottom,calc(var(--app-nav-height) + 8px))!important; }
@media(max-width:420px) {
  .ca-inline-calendar { flex-basis:108px; height:30px; }
  .ca-inline-calendar input { width:106px; height:28px; padding:2px; font-size:14px; }
  #app .home-current #home-ca-headlines>ol>li { min-height:132px; padding:10px; }
  #app .home-current .home-ca-feed { padding:8px; }
}
@media print { .app-bottom-nav { display:none!important; } body.app-navigation-visible { padding-bottom:0; } }

/* Stable topic families have distinct soft papers on every topic surface.
   These colours are derived from actual topic metadata, never row position.
   Local decorative photos never add height, intercept input, or hide text. */
[data-topic-art="national"] { --topic-paper:#eef4ff; --topic-rgb:238,244,255; --topic-line:#a8bddb; }
[data-topic-art="international"] { --topic-paper:#f1edff; --topic-rgb:241,237,255; --topic-line:#b9add8; }
[data-topic-art="state"] { --topic-paper:#fff3de; --topic-rgb:255,243,222; --topic-line:#d2bc91; }
[data-topic-art="schemes"] { --topic-paper:#e8f7f3; --topic-rgb:232,247,243; --topic-line:#a0c8bb; }
[data-topic-art="economy"] { --topic-paper:#fff5da; --topic-rgb:255,245,218; --topic-line:#d4c28d; }
[data-topic-art="defence"] { --topic-paper:#edf3e4; --topic-rgb:237,243,228; --topic-line:#b7c39e; }
[data-topic-art="science"] { --topic-paper:#e8f2fb; --topic-rgb:232,242,251; --topic-line:#a8bdd4; }
[data-topic-art="environment"] { --topic-paper:#eaf5e6; --topic-rgb:234,245,230; --topic-line:#abc8a1; }
[data-topic-art="sports"] { --topic-paper:#fff0e4; --topic-rgb:255,240,228; --topic-line:#d5b7a0; }
[data-topic-art="awards"] { --topic-paper:#fff6dc; --topic-rgb:255,246,220; --topic-line:#d1c08e; }
[data-topic-art="reports"] { --topic-paper:#f2edfb; --topic-rgb:242,237,251; --topic-line:#bfafd5; }
[data-topic-art="summits"] { --topic-paper:#e7f5f7; --topic-rgb:231,245,247; --topic-line:#a1c5ca; }
[data-topic-art="culture"] { --topic-paper:#faedf1; --topic-rgb:250,237,241; --topic-line:#d2afb9; }
[data-topic-art="health"] { --topic-paper:#e7f6ef; --topic-rgb:231,246,239; --topic-line:#a0c5b1; }
[data-topic-art="infrastructure"] { --topic-paper:#fff1dd; --topic-rgb:255,241,221; --topic-line:#d2b995; }
[data-topic-art="agriculture"] { --topic-paper:#f0f5df; --topic-rgb:240,245,223; --topic-line:#bfc798; }
[data-topic-art="study"] { --topic-paper:#f4eefd; --topic-rgb:244,238,253; --topic-line:#bdacd5; }
[data-topic-art="tests"] { --topic-paper:#e8f6ed; --topic-rgb:232,246,237; --topic-line:#a3c7b0; }
[data-topic-art="store"] { --topic-paper:#f3edf9; --topic-rgb:243,237,249; --topic-line:#bdadd0; }
#app [data-topic-art],
[data-page-editor-surface="ca-rail"] [data-topic-art],
.ca-topic-popup [data-topic-art] {
  background-color:var(--topic-paper,#eef4ff)!important;
  background-image:linear-gradient(100deg,rgba(var(--topic-rgb,238,244,255),.93),rgba(var(--topic-rgb,238,244,255),.76)),var(--topic-photo,none)!important;
  background-position:center,right center!important;
  background-size:cover,cover!important;
  background-repeat:no-repeat!important;
  color:#20374c!important; border-color:var(--topic-line,#a8bddb)!important;
}
#app [data-topic-art] :is(h2,h3,strong,.home-card-label,.meta,.sources,small) { color:#20374c!important; }
#app :is(.ca-topic-scroll,.ca-topic-choices)>a[data-topic-art],
[data-page-editor-surface="ca-rail"] .ca-topic-choices>a[data-topic-art],
.ca-topic-popup .ca-topic-choices>a[data-topic-art] {
  background-color:var(--topic-paper,#eef4ff)!important;
  background-image:linear-gradient(100deg,rgba(var(--topic-rgb,238,244,255),.93),rgba(var(--topic-rgb,238,244,255),.76)),var(--topic-photo,none)!important;
}
#app [data-topic-art]:is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]),
[data-page-editor-surface="ca-rail"] [data-topic-art][aria-current],
.ca-topic-popup [data-topic-art][aria-current] {
  background-image:linear-gradient(100deg,rgba(255,230,167,.95),rgba(255,230,167,.8)),var(--topic-photo,none)!important;
  border-color:var(--pp-gold-edge)!important;
}
/* Current Affairs reading uses opaque paper; topic/illustration metadata is
   preserved for cards and exports, never painted behind article text. */
#app .story[data-story-palette]{
  background:var(--pp-reading-paper,#fff)!important;
  border:1px solid var(--pp-line,#cbd5e1)!important;
  border-top:3px solid var(--pp-blue,#23486d)!important;
  height:auto!important;min-height:0!important;max-height:none!important;
}
#app .story[data-story-palette] :is(.story-facts,.story-static,.mcq-preview){background-image:none!important;color:var(--pp-ink)!important}
/* Size text-bearing boxes from their contents. Scrollers and popups alone
   retain viewport limits; their inner text continues in normal document flow. */
#app :is(.card,.feature,.course-card,.subject-card,.test-card,.topic-row,.note,.home-content-card,.cat-edition-card,.cat-ready,.cat-analysis-card,.cat-question,.cat-review-card,.cat-topic-card,.question-panel,.result-panel,.cas-route,.cas-preview,.auth-card,.profile-card,.filters,.stat) {
  height:auto!important; min-height:0!important; max-height:none!important;
  min-width:0; box-sizing:border-box; overflow-wrap:break-word;
}
#app :is(.card,.note,.story,.feature,.cat-review-card) :is(h1,h2,h3,p,blockquote) { max-height:none; overflow-wrap:break-word; }
#app :is(.home-note-grid,.home-test-routes,.home-store-grid,.subject-grid,.grid):not(.control-grid) { align-items:start; }
#app .home-current { padding:12px!important; }
#app .home-current .home-ca-layout { align-items:start; gap:10px; }
#app .home-current .home-ca-feed { padding:6px!important; gap:0; }
#app .home-current .home-ca-feed>#home-ca-feed-heading { padding:4px 8px; margin-bottom:4px; }
#app .home-current #home-ca-headlines { height:var(--headline-visible-height,auto)!important; overflow-y:hidden; }
#app .home-current #home-ca-headlines>ol { align-items:flex-start; padding:2px 2px 6px; }
/* Bound the preview, not its text: unusually long headlines can scroll inside
   their own card while the section stays stable during horizontal paging. */
#app .home-current #home-ca-headlines>ol>li { min-height:0!important; height:auto!important; max-height:136px!important; padding:7px 8px; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; }
#app .home-current .ca-news-scroll li>a { gap:7px; line-height:1.4; }
#app .home-current .ca-news-scroll li>a>span:last-child { gap:4px; }
#app .home-current .ca-news-scroll strong { font-size:clamp(15px,1.15vw,18px); line-height:1.4; }
#app .home-current .home-ca-layout>.home-ca-topics { height:auto!important; max-height:208px!important; padding:8px; }
#app .home-current .home-ca-topics .ca-topic-scroll { max-height:148px; }
#app .home-current .home-core-heading { margin-bottom:4px; }
#app .home-current .ca-edition-controls { margin-bottom:4px; }
#app .home-current .home-ca-periods { margin-top:4px; padding:4px; }
#app .home-current .home-ca-periods .ca-controls.periods { flex-wrap:nowrap; overflow-x:auto; }
@media(max-width:580px) {
  #app .home-current { padding:10px!important; }
  #app .home-current #home-ca-headlines>ol>li { max-height:156px!important; }
  #app .home-current .ca-news-scroll>ol>li { flex-basis:94%; padding:8px; }
  #app .home-current .ca-news-scroll>ol>li:only-child { flex-basis:100%; }
  #app .home-current .ca-news-scroll strong { font-size:15px; }
  #app .home-current .ca-news-scroll small { font-size:14px; }
}
@media print { #app [data-topic-art] { background-image:none!important; } #app .home-current #home-ca-headlines { height:auto!important; overflow:visible!important; } #app .home-current #home-ca-headlines>ol>li { max-height:none!important; overflow:visible!important; } }

/* Horizontal rows allocate their height for all cards, never just the active
   slide. Each section owns its sizing; swiping cannot move neighbouring boxes. */
#app .home-core :is(.home-content-row,.home-test-routes,.home-note-grid,.home-store-grid) { align-items:stretch!important; }
#app .home-current #home-ca-headlines { contain:layout inline-size; overflow-anchor:none; }

/* Reading text keeps its natural height; pictures never set the paragraph height. */
#app .story .story-summary {
  display:flow-root; white-space:pre-line; text-align:justify!important; text-align-last:start;
  text-justify:inter-word; overflow-wrap:normal; word-break:normal;
  hyphens:none; height:auto!important; max-height:none!important; overflow:visible!important;
}
#app .story :is(.story-clarification,.story-static,.story-facts td) {
  text-align:justify!important; text-align-last:start; text-justify:inter-word;
  overflow-wrap:normal; word-break:normal; hyphens:none;
}
/* Keep every prose word intact on phones as well as desktops. Browser
   hyphenation must not add a dash or override Hindi/English word boundaries. */
#app .story { overflow-wrap:normal; word-break:normal; hyphens:none; }
#app .story :is(h2,.story-summary,.story-clarification,.story-static,.story-facts-heading,.story-facts th,.story-facts td,.question-stem,.question-explanation,.mcq-preview p,.mcq-preview li,.mcq-preview button,.answer-box legend,.answer-explanation) {
  word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;
}
/* Long source addresses and internal IDs are not reading prose. */
#app .story :is(.source-link,.story-sources a,.sources a,[data-source-url]) { overflow-wrap:anywhere!important; }
/* Date and compact audio controls share this row; media lives in backgrounds. */
#app .story .story-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:32px; }
#app .story [hidden] { display:none!important; }
#app .story .story-removed-slot[hidden] { display:none!important; }

/* Soft popup papers distinguish each chooser by its purpose. Shared dialogs
   stay neutral; audio has its own controls and must retain its own palette.
   These rules change paint only: dimensions, anchors and dragging stay intact. */
:root {
  --pp-popup-paper:#f6f8fb; --pp-popup-head:#e8edf4; --pp-popup-choice:#eef2f7;
  --pp-popup-ink:#20374c; --pp-popup-line:#b7c5d5; --pp-popup-rgb:246,248,251;
}
:is(body,#app,#shell) .ca-period-popup {
  --pp-popup-paper:#fff8e7; --pp-popup-head:#f8ebc9; --pp-popup-choice:#fff2d6;
  --pp-popup-line:#cfbd85; --pp-popup-rgb:255,248,231;
}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser=topic],.ca-topic-popup) {
  --pp-popup-paper:#edf5ff; --pp-popup-head:#dceaf9; --pp-popup-choice:#e6f0fc;
  --pp-popup-line:#a8bfd9; --pp-popup-rgb:237,245,255;
}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser=test],.ca-test-popup,.cat-chooser-dialog) {
  --pp-popup-paper:#eef9f2; --pp-popup-head:#ddefe3; --pp-popup-choice:#e3f3e9;
  --pp-popup-line:#a4c8b4; --pp-popup-rgb:238,249,242;
}
:is(body,#app,#shell) :is(.ca-store-popup,.cas-settings-dialog) {
  --pp-popup-paper:#f5effb; --pp-popup-head:#e9dff4; --pp-popup-choice:#eee4f8;
  --pp-popup-line:#bfadd4; --pp-popup-rgb:245,239,251;
}
:is(body,#app,#shell) :is(.ca-period-popup,.ca-topic-popup,.ca-test-popup,.ca-store-popup,.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar,#toast) {
  background:var(--pp-popup-paper)!important; background-image:none!important;
  color:var(--pp-popup-ink)!important; border-color:var(--pp-popup-line)!important;
}
:is(body,#app,#shell) :is(.ca-popup-handlebar,.ca-state-picker-heading,.account-dropdown-heading,.notice-panel-heading,.cat-dialog-heading,.cas-dialog-heading,.editor-panel-grip,.editor-head) {
  background:var(--pp-popup-head)!important; color:var(--pp-popup-ink)!important; border-color:var(--pp-popup-line)!important;
}
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) :is(h2,h3,h4,p,small,label,legend,strong,summary) { color:var(--pp-popup-ink)!important; }
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) :is(button,.btn,a:not(.source-link),select,.ca-topic-choices,.cat-route,.notice-item) {
  background:var(--pp-popup-choice)!important; background-image:none!important;
  color:var(--pp-popup-ink)!important; border-color:var(--pp-popup-line)!important;
}
:is(body,#app,#shell) .ca-popup-handlebar button { color:var(--pp-popup-ink)!important; background:transparent!important; }
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) :is(button,a,.btn,.cat-route):is(.active,.selected,[aria-pressed=true],[aria-current=page],[aria-current=true]) {
  background:var(--pp-gold)!important; background-image:none!important; color:var(--pp-ink)!important;
  border-color:var(--pp-gold-edge)!important; box-shadow:inset 0 0 0 1px var(--pp-gold-edge)!important;
}
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) :is(button,a,.btn,.cat-route) :is(span,strong,small,h3) { color:inherit!important; }
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) :is(button,a,input,select,textarea):focus-visible { outline:2px solid #376d95; outline-offset:2px; }

/* State artwork also survives a picker portalled outside #app. */
:is(body,#app,#shell) :is(.ca-state-options,.ca-state-menu) [data-state-art] {
  background-image:linear-gradient(100deg,rgba(248,251,249,.93),rgba(248,251,249,.76)),var(--state-photo,none)!important;
  background-size:100% 100%,cover!important;
  background-position:center,72% center!important;
  background-repeat:no-repeat!important;
  color:var(--pp-popup-ink)!important;
}
:is(body,#app,#shell) :is(.ca-state-options,.ca-state-menu) [data-state-art]:is([aria-pressed=true],.active) {
  background-image:linear-gradient(100deg,rgba(255,230,167,.95),rgba(255,230,167,.78)),var(--state-photo,none)!important;
  border-color:var(--pp-gold-edge)!important;
}
/* Photo paint follows the shared popup fill; each paper washes its existing
   context image without covering it or adding another illustration. */
:is(body,#app,#shell) :is(.ca-period-popup,.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar,#toast) {
  background-image:linear-gradient(100deg,rgba(var(--pp-popup-rgb),.92),rgba(var(--pp-popup-rgb),.76)),var(--popup-photo,var(--context-photo,url('/images/topics/national.webp')))!important;
  background-size:100% 100%,cover!important; background-position:center,right center!important; background-repeat:no-repeat!important;
}
/* India/state labels keep representative images on every surface. */
:is(body,#app,#shell) [data-state-art] {
  background-image:linear-gradient(100deg,rgba(248,251,249,.93),rgba(248,251,249,.76)),var(--state-photo,none)!important;
  background-size:100% 100%,cover!important; background-position:center,72% center!important; background-repeat:no-repeat!important; color:#20374c!important;
}
#app [data-state-art] :is(h2,h3,strong,p,small,.meta) { color:#20374c!important; }
/* Repeat the metadata qualifier to outrank shared choice shorthand rules;
   topic paint must survive their important background-image reset. */
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) [data-topic-art][data-topic-art] {
  background-color:var(--topic-paper,#eef4ff)!important;
  background-image:linear-gradient(100deg,rgba(var(--topic-rgb,238,244,255),.93),rgba(var(--topic-rgb,238,244,255),.76)),var(--topic-photo,none)!important;
  background-size:100% 100%,cover!important; background-position:center,right center!important; background-repeat:no-repeat!important;
  color:#20374c!important; border-color:var(--topic-line,#a8bfd9)!important;
}
:is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) [data-topic-art][data-topic-art]:is(.active,.selected,[aria-pressed=true],[aria-current=page],[aria-current=true]) {
  background-color:var(--pp-gold)!important;
  background-image:linear-gradient(100deg,rgba(255,230,167,.95),rgba(255,230,167,.78)),var(--topic-photo,none)!important;
  color:#20374c!important; border-color:var(--pp-gold-edge)!important;
}
:is(body,#app,#shell) [data-state-art]:is(.active,.selected,[aria-pressed=true]) {
  background-image:linear-gradient(100deg,rgba(255,230,167,.95),rgba(255,230,167,.78)),var(--state-photo,none)!important;
  color:#20374c!important; border-color:var(--pp-gold-edge)!important;
}
@media print {
  #app .story[data-story-palette],#app .story[data-story-palette] :is(.story-facts,.story-static,.mcq-preview),[data-state-art] { background-image:none!important; background-color:white!important; }
}

/* Native speech highlights preserve the stored article and editor DOM. */
::highlight(padhoplus-audio-sentence){background:#ffe28a;color:#182d3d;text-decoration:underline;text-decoration-color:#d8a822}
::highlight(padhoplus-audio-word){background:#125f63;color:#fff;text-decoration:none}
#app .ca-audio-block-fallback{background-color:#ffe28a!important;color:#182d3d!important}
#app .study-filters button.ca-audio-switch{flex:none;margin-inline-start:auto;max-width:116px;min-height:28px;padding:4px 5px;font-size:14px;line-height:1.2;font-weight:700;white-space:nowrap;border-radius:5px}
#app .study-filters button.ca-audio-switch:disabled{opacity:.55;cursor:default}
.ca-audio-toggle{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.4;cursor:pointer}
.ca-audio-toggle small{font-size:14px;font-weight:700;color:#3e6262}
.ca-audio-toggle input,.ca-audio-follow input{width:18px;height:18px;accent-color:#125f63;margin:0;flex:0 0 auto}
#app .story .story-meta{flex-wrap:nowrap;min-width:0;gap:6px}
#app .story .story-meta>span:first-child{min-width:0}
#app .ca-audio-inline{display:inline-flex;align-items:center;gap:2px;margin-inline-start:auto;flex:0 0 auto;white-space:nowrap}
#app .ca-audio-inline button{height:28px;min-height:28px;margin:0;border:1px solid #70908b;background:#edf8f3;color:#164a4f;border-radius:5px;padding:2px 7px;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer}
#app .ca-audio-inline [data-ca-audio-card-play]{min-width:65px}
#app .ca-audio-inline [data-ca-audio-open]{width:28px;padding:0;font-size:21px;line-height:1}
#app .ca-audio-inline button:disabled{opacity:.55;cursor:default}
#app .story .story-meta.ca-audio-has-notice{flex-wrap:wrap}
#app .story .story-meta .ca-audio-notice{flex:1 0 100%;min-width:0;font-size:14px;line-height:1.45;color:#603b18;white-space:normal;overflow-wrap:anywhere}
#app .story .story-meta .ca-audio-notice[hidden]{display:none!important}
body dialog.ca-audio-player{position:fixed;inset:auto 18px calc(18px + env(safe-area-inset-bottom,0px)) auto;margin:0;width:min(390px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 110px);overflow-y:auto;padding:0;border:1px solid #aa87a0;border-radius:16px;box-shadow:0 14px 45px #263b4c38;z-index:2400;background-image:linear-gradient(100deg,#fcf4faf5,#fcf4fade),var(--popup-photo,var(--context-photo,url('/images/topics/national.webp')))!important;color:#243443;font-size:14px;line-height:1.5}
body dialog.ca-audio-player:not([open]){display:none!important}
.ca-audio-heading{display:flex;align-items:center;gap:10px;background:#f0dfea;position:sticky;top:0;padding:10px 13px;z-index:1}
.ca-audio-heading strong{font-size:15px;font-weight:700;flex:1}
.ca-audio-language{font-size:14px;color:#4e4261}
.ca-audio-heading button{border:0;background:transparent;color:#412f46;font-size:26px;line-height:1;width:36px;height:36px;border-radius:8px;cursor:pointer}
.ca-audio-body{display:grid;gap:9px;padding:12px 14px}
.ca-audio-article-label,.ca-audio-settings label,.ca-audio-fixed-voice{display:grid;gap:3px;font-size:14px;min-width:0}
body .ca-audio-player select{height:36px;min-width:0;max-width:100%;width:100%;padding:4px 8px;border:1px solid #b1bfc0;border-radius:8px;background:#fffffff0;color:#21384b;font:inherit}
.ca-audio-status{margin:0;font-size:14px;color:#4e4261;min-height:18px}
.ca-audio-transcript{margin:0;min-height:40px;max-height:115px;overflow-y:auto;padding:8px 10px;border:1px solid #e4d6ca;border-radius:9px;font-size:14px;background:#ffffffe6;text-align:start;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;hyphens:none;color:#21384b}
.ca-audio-transcript.is-reading{background:#fff2bc;color:#182d3d}
.ca-audio-transcript mark{background:#125f63;color:#fff;border-radius:3px;padding:0 1px}
.ca-audio-progress{display:flex;align-items:center;gap:8px}
.ca-audio-progress progress{flex:1;min-width:0;height:7px;accent-color:#125f63}
.ca-audio-progress small{font-size:14px;white-space:nowrap}
.ca-audio-controls{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:7px}
body .ca-audio-player .ca-audio-controls button{height:42px;padding:5px 8px;border:1px solid #8aa5a1;border-radius:9px;background:#ecf6f1;color:#164a4f;font-size:14px;font-weight:700;cursor:pointer}
body .ca-audio-player .ca-audio-controls [data-ca-audio-play]{background:#125f63;color:#fff;border-color:#125f63}
body .ca-audio-player button:disabled,body .ca-audio-player select:disabled{opacity:.45;cursor:default}
.ca-audio-settings{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:9px;align-items:start}
.ca-audio-fixed-voice output{min-height:36px;padding:6px 8px;box-sizing:border-box;border:1px solid #b1bfc0;border-radius:8px;background:#fffffff0;color:#21384b;overflow-wrap:anywhere}
.ca-audio-engine-label{display:grid;gap:4px;font-size:14px;min-width:0}
.ca-audio-engine-label small{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.ca-audio-follow{display:flex;align-items:center;gap:7px;font-size:14px}
body .ca-audio-player :is(button,select,input):focus-visible,#app [data-audio-ui] :is(button,input):focus-visible{outline:3px solid #125f63;outline-offset:2px}
@media(max-width:850px){body dialog.ca-audio-player{inset:auto 12px calc(140px + env(safe-area-inset-bottom,0px)) auto;max-height:calc(100dvh - 240px)}}
@media(max-height:540px){body dialog.ca-audio-player{inset:80px 8px auto auto;max-height:calc(100dvh - 240px)}.ca-audio-transcript{max-height:65px}.ca-audio-body{gap:6px;padding:8px 12px}}
body dialog.ca-voice-install{position:fixed;inset:0;margin:auto;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow-y:auto;padding:0;border:1px solid #aa87a0;border-radius:14px;box-shadow:0 14px 45px #263b4c38;z-index:2500;line-height:1.5;font-size:14px}
body dialog.ca-voice-install:not([open]){display:none!important}
.ca-voice-install .ca-audio-body p{margin:0}
.ca-voice-install .ca-audio-body :is(a,button){font-size:14px;padding:7px 10px;border:1px solid #aa87a0;border-radius:7px;text-align:center;overflow-wrap:anywhere}
.ca-voice-install::backdrop{background:#24344366}
@media print{.ca-voice-install,.ca-audio-player,.ca-audio-switch,.ca-audio-inline,.ca-audio-notice{display:none!important}}

/* Reading-position preferences belong to the explicit audio settings. */
.ca-audio-position-control{display:grid;gap:4px;font-size:14px}
.ca-audio-position-control input{width:100%;margin:0;accent-color:#125f63}
.ca-audio-position-control small{font-size:14px;line-height:1.45}

.ca-audio-voice-choice{display:grid;gap:3px;font-size:14px;min-width:0}
.ca-audio-gender-note{font-size:14px;line-height:1.45;color:#4e4261}
.ca-audio-gender-note[hidden]{display:none!important}
body .ca-audio-player .ca-audio-instructions,#app .story .ca-audio-wait-help{height:auto;min-height:28px;padding:4px 7px;border:1px solid #70908b;background:#edf8f3;color:#164a4f;border-radius:5px;font-size:14px;line-height:1.4;text-align:start;cursor:pointer}
#app .story .ca-audio-wait-help{flex:0 0 auto;margin:0}
#app .story .ca-audio-wait-help[hidden]{display:none!important}
body .ca-audio-player .ca-audio-instructions:focus-visible,#app .story .ca-audio-wait-help:focus-visible{outline:2px solid #125f63;outline-offset:2px}
@media print{.ca-audio-wait-help{display:none!important}}

.ca-audio-voice-choice[hidden]{display:none!important}
.ca-voice-edge-help{font-size:14px;line-height:1.5}
.ca-voice-edge-help summary{cursor:pointer;font-weight:700}

/* Transparent audio surfaces sit above a neutral screen wash. Separate soft
   control colours distinguish actions without covering the reading text. */
body dialog#ca-audio-player,body dialog#ca-voice-install{background:transparent!important;background-image:none!important;color:#243443;border-color:#9da7a8;isolation:isolate;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
body dialog#ca-audio-player::backdrop,body dialog#ca-voice-install::backdrop{background:#f5f3ef;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.ca-audio-screen-wash{position:fixed;inset:0;z-index:2399;background:#f5f3ef;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.ca-audio-screen-wash[hidden]{display:none!important}
body :is(#ca-audio-player,#ca-voice-install) .ca-audio-heading{background:transparent!important;color:#243443}
body :is(#ca-audio-player,#ca-voice-install) :is(.ca-audio-body,.ca-audio-settings,.ca-audio-fixed-voice,.ca-audio-transcript){background:transparent!important;background-image:none!important}
body :is(#ca-audio-player,#ca-voice-install) :is(p,strong,small,label,output){color:#243443}
body #ca-audio-player .ca-audio-transcript{border-color:#b6bdbd;color:#243443}
body #ca-audio-player .ca-audio-transcript mark{background:#ffe28a;color:#182d3d}
body :is(#ca-audio-player,#ca-voice-install) :is(button,a,select){border-color:#bdcbd5;background:#f4f7fa;color:#304a5d}
body :is(#ca-audio-player,#ca-voice-install) :is(button,a):not(:disabled):hover{background:#eaf0f5}
#app .study-filters button.ca-audio-switch{border-color:#a00070;background:#a00070;color:#fff}
body #ca-audio-player .ca-audio-controls [data-ca-audio-play]:not(:disabled),#app .ca-audio-inline :is([data-ca-audio-card-play],[data-ca-audio-open]):not(:disabled){border-color:#ead0e2;background:#fff5fc;color:#713558}
body #ca-audio-player .ca-audio-controls [data-ca-audio-play]:not(:disabled):hover,#app .ca-audio-inline :is([data-ca-audio-card-play],[data-ca-audio-open]):not(:disabled):hover{background:#fcebf7}
body #ca-audio-player :is([data-ca-audio-article],[data-ca-audio-replay]):not(:disabled){border-color:#bed1e6;background:#eef5fd;color:#254561}
body #ca-audio-player [data-ca-audio-engine]:not(:disabled){border-color:#bcd8cb;background:#edf7f1;color:#245344}
body #ca-audio-player [data-ca-audio-voice]:not(:disabled){border-color:#d6c8e4;background:#f5f0fc;color:#503b69}
body #ca-audio-player [data-ca-audio-rate]:not(:disabled){border-color:#e4d1a5;background:#fff7e7;color:#614920}
body #ca-audio-player [data-ca-audio-stop]:not(:disabled){border-color:#e4c3b6;background:#fff0e9;color:#6b4539}
body #ca-voice-install [data-voice-chrome]{border-color:#bed1e6;background:#eef5fd;color:#254561}
body #ca-voice-install :is([data-voice-help-retry],[data-voice-phone-google]):not(:disabled){border-color:#ead0e2;background:#fff5fc;color:#713558}
body :is(#ca-audio-player,#ca-voice-install) input{accent-color:#a00070}
body :is(#ca-audio-player,#ca-voice-install) input:disabled{accent-color:#8e999e}
body #ca-audio-player progress{accent-color:#bb8400}
body :is(#ca-audio-player,#ca-voice-install) button:disabled,body #ca-audio-player select:disabled,#app .ca-audio-inline button:disabled,#app .study-filters button.ca-audio-switch:disabled{border-color:#8e999e;background:#edf0f1;color:#53626a}
body #ca-audio-player .ca-audio-instructions,#app .story .ca-audio-wait-help{background:#dba300!important;color:#241900!important;border-color:#a67700!important;font-weight:700}
body #ca-voice-install .ca-voice-instructions{border-inline-start:4px solid #bb8400;background:#e7ae0026!important;padding:8px 10px;border-radius:4px;color:#241900}
body #ca-voice-install .ca-voice-instructions ol{margin:0;padding-inline-start:20px}
body #ca-voice-install .ca-voice-instructions li+li{margin-top:7px}
body :is(#ca-audio-player,#ca-voice-install) :is(button,a,select,input,summary):focus-visible,#app .ca-audio-inline button:focus-visible,#app .study-filters button.ca-audio-switch:focus-visible{outline:2px solid #a00070;outline-offset:2px}
body #ca-voice-install summary{color:#900064}
@media print{.ca-audio-screen-wash{display:none!important}}

.ca-audio-voice-note{font-size:14px;line-height:1.45;color:#243443}

/* Focused chooser polish. The existing bounds, dock sizes, scroll limits and
   drag anchors remain in the owning layout styles. This file changes only the
   open cards and their content. Repeating the exclusion keeps these late paint
   rules above the older two-ID dialog/theme selectors, including !important
   photo fills, without applying them to account, notice or editor surfaces. */
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) {
  --chooser-ink:#263b4c;
  --chooser-muted:#425a6d;
  --chooser-line:#d5dde5;
  --chooser-card:#fff;
  --chooser-accent:var(--pp-popup-line,#b7c5d5);
}

/* Every purpose keeps its own quiet colour, with a nearly white reading area.
   Existing related photographs remain visible at the right edge only. */
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install)>.ca-popup-body,
:is(body,#app,#shell) :is(.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) {
  background-color:#fff!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.98) 70%,rgba(var(--pp-popup-rgb,246,248,251),.87) 100%),var(--popup-photo,var(--context-photo,url('/images/topics/national.webp')))!important;
  background-size:100% 100%,92px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
  color:var(--chooser-ink)!important;
  border-color:var(--chooser-line)!important;
  box-shadow:0 12px 32px #1a354322,0 2px 7px #1a35430d;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install)>.ca-popup-body {
  padding:6px;
  border-radius:11px;
  scrollbar-color:#aebec9 transparent;
  scrollbar-width:thin;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-choices {
  background:transparent!important;
  background-image:none!important;
  gap:5px;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-edition-label {
  margin:0 0 2px;
  padding:8px 8px 10px;
  border-bottom:1px solid var(--chooser-line)!important;
  color:var(--chooser-ink)!important;
  font-size:14px;
  font-weight:700!important;
  line-height:1.45;
  background:transparent!important;
  background-image:none!important;
}

/* Unified choice cards. Topic-specific paint below supplies their individual
   subtle accents; route/period/state controls use the purpose's palette. */
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a),
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>button,
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route,.cat-edition-entries button,.cat-date-shortcuts button) {
  border:1px solid var(--chooser-line)!important;
  border-inline-start:3px solid var(--chooser-accent)!important;
  border-radius:8px;
  background-color:#fff!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 72%,rgba(var(--pp-popup-rgb,246,248,251),.88) 100%),var(--popup-photo,var(--context-photo,url('/images/topics/national.webp')))!important;
  background-size:100% 100%,66px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
  color:var(--chooser-ink)!important;
  box-shadow:none!important;
  font-weight:700!important;
  line-height:1.45;
  text-decoration:none;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-choices>a {
  padding:8px 9px;
  gap:8px;
  font-size:14px!important;
  align-items:center;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.period-choice strong,.ca-test-links h3,.ca-store-links h3) {
  font-weight:700!important;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.period-choice small,.ca-test-links p,.ca-store-links p) {
  font-weight:700!important;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-label {
  min-width:0;
  flex:1 1 auto;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.45;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-meta {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  gap:5px;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-meta:empty {
  display:none;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-count {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1px 6px;
  border:1px solid #d9e2e9;
  border-radius:12px;
  background:#f1f5f8;
  color:#485f71!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.6;
  white-space:nowrap;
}

/* Metadata is deliberately repeated to outrank the old two-ID topic photo
   rule. Topic colour and the actual relevant photo are still retained. */
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-choices>[data-topic-art][data-topic-art] {
  border-color:#d5dde5!important;
  border-inline-start-color:var(--topic-line,#a8bfd9)!important;
  background-color:#fff!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 70%,rgba(var(--topic-rgb,238,244,255),.80) 100%),var(--topic-photo,none)!important;
  background-size:100% 100%,70px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
  color:var(--chooser-ink)!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>[data-state-art][data-state-art] {
  background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 70%,rgba(241,247,244,.80) 100%),var(--state-photo,none)!important;
  background-size:100% 100%,70px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
}

/* Shared open-panel headings use a thin divider and steady type hierarchy. */
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-heading,
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) .cat-dialog-heading,
:is(body,#app,#shell) .cas-settings-dialog:not(#ca-audio-player,#ca-voice-install) .cas-dialog-heading {
  background:#f8fafc!important;
  background-image:none!important;
  border-bottom:1px solid var(--chooser-line)!important;
  color:var(--chooser-ink)!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-heading {
  padding:11px 12px;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-heading strong,
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) .cat-dialog-heading h2,
:is(body,#app,#shell) .cas-settings-dialog:not(#ca-audio-player,#ca-voice-install) .cas-dialog-heading h2 {
  font-size:16px;
  font-weight:700!important;
  line-height:1.4;
  color:var(--chooser-ink)!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-heading small,
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-popup-subtitle,.cat-chooser-status,.cat-chooser-edition>span),
:is(body,#app,#shell) .cas-settings-dialog:not(#ca-audio-player,#ca-voice-install) :is(label,small) {
  color:var(--chooser-muted)!important;
  font-size:14px;
  font-weight:700!important;
  line-height:1.5;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list {
  padding:7px;
  gap:5px;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>button {
  padding:9px;
  font-size:14px;
  font-weight:700!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>button>span:not(.ca-state-marker) {
  font-weight:700!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-marker {
  background:#f1f5f8!important;
  color:#496176!important;
  border-color:#d7e1e9!important;
  border-radius:7px;
  font-size:14px;
  font-weight:700!important;
}

/* Existing form layouts and dimensions are kept; only their paint and type
   are softened to match the same chooser family. */
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route h3,.cat-chooser-period-title,.cat-chooser-edition strong) {
  color:var(--chooser-ink)!important;
  font-weight:700!important;
}
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) .cat-edition-entries strong {
  font-size:15px;
  font-weight:700!important;
  line-height:1.45;
}
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-date-wise,.cat-dialog-actions) {
  background:#f8faf9!important;
  background-image:none!important;
  border-color:var(--chooser-line)!important;
}
:is(body,#app,#shell) :is(.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(input,select) {
  background:#fff!important;
  background-image:none!important;
  color:var(--chooser-ink)!important;
  border-color:#cbd6df!important;
  border-radius:7px;
  font-weight:700!important;
}
:is(body,#app,#shell) :is(.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(.cat-dialog-heading button,.cas-dialog-heading button),
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-heading>button {
  background:#fff!important;
  background-image:none!important;
  color:#506678!important;
  border-color:#d3dde5!important;
  box-shadow:none!important;
}

/* Gold remains the selected-state language on every card, including photos.
   Inset borders and colours avoid moving a row when hovered or selected. */
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a):hover,
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>button:hover,
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route,.cat-edition-entries button,.cat-date-shortcuts button):hover {
  border-color:#9bb0bf!important;
  box-shadow:inset 0 0 0 1px #9bb0bf33!important;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a):is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]),
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>[data-state-art][data-state-art]:is(.active,[aria-pressed=true]),
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route,.cat-edition-entries button,.cat-date-shortcuts button):is(.active,[aria-pressed=true]) {
  background:var(--pp-gold,#ffe6a7)!important;
  background-image:none!important;
  color:var(--pp-ink,#263b4c)!important;
  border-color:var(--pp-gold-edge,#b68b35)!important;
  border-inline-start-color:var(--pp-gold-edge,#b68b35)!important;
  box-shadow:inset 0 0 0 1px var(--pp-gold-edge,#b68b35)!important;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-choices>[data-topic-art][data-topic-art]:is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]) {
  background:var(--pp-gold,#ffe6a7)!important;
  background-image:linear-gradient(90deg,var(--pp-gold,#ffe6a7) 0%,var(--pp-gold,#ffe6a7) 70%,rgba(228,175,66,.90) 100%),var(--topic-photo,none)!important;
  background-size:100% 100%,70px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
  color:var(--pp-ink,#263b4c)!important;
  border-color:var(--pp-gold-edge,#b68b35)!important;
  border-inline-start-color:var(--pp-gold-edge,#b68b35)!important;
  box-shadow:inset 0 0 0 1px var(--pp-gold-edge,#b68b35)!important;
}
:is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>[data-state-art][data-state-art]:is(.active,[aria-pressed=true]) {
  background-image:linear-gradient(90deg,var(--pp-gold,#ffe6a7) 0%,var(--pp-gold,#ffe6a7) 70%,rgba(228,175,66,.90) 100%),var(--state-photo,none)!important;
  background-size:100% 100%,70px auto!important;
  background-position:center,right center!important;
  background-repeat:no-repeat!important;
}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a):is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]) .ca-topic-count {
  background:#fff8e3!important;
  border-color:#cfb975!important;
  color:#594a2f!important;
}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(button,a,input,select,summary):focus-visible {
  outline:2px solid #567c98!important;
  outline-offset:2px;
}

@media print {
  :is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install),
  :is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-popup-body,[data-topic-art]) {
    background-image:none!important;
    box-shadow:none!important;
  }
}

/* Navigation and the latest-updates rail use actual route/kind metadata.
   Decorative local art changes paint only: the existing menu sizes, anchors,
   scroll bounds, keyboard focus and drawer interaction keep their owners. */
#shell #main-nav,
#shell #dashboard-sidebar {
  background:#f5f8fb!important;
  background-image:linear-gradient(150deg,#f8fbfe,#eef4f6)!important;
  color:#20374c!important;
  border-color:#bdccd6!important;
}
#shell #main-nav {
  box-shadow:0 12px 30px #20374c24;
}
#shell #dashboard-sidebar :is(.dashboard-nav-label,.dashboard-brand-caption),
#shell #main-nav > a,
#shell #dashboard-sidebar .dashboard-nav > a {
  color:#20374c!important;
}

/* Each stable family has a related photo and a quiet, distinct paper.
   Reusing these semantic keys also keeps owner-only links legible. */
#shell [data-nav-art="national"] { --nav-photo:url('/images/topics/national.webp'); --nav-paper:238,244,255; --nav-edge:#b6c8df; }
#shell [data-nav-art="tests"] { --nav-photo:url('/images/topics/tests.webp'); --nav-paper:232,246,237; --nav-edge:#abcab5; }
#shell [data-nav-art="study"] { --nav-photo:url('/images/topics/study.webp'); --nav-paper:244,238,253; --nav-edge:#c6b8dc; }
#shell [data-nav-art="store"] { --nav-photo:url('/images/topics/store.webp'); --nav-paper:255,243,228; --nav-edge:#d7c2a6; }
#shell [data-nav-art="science"] { --nav-photo:url('/images/topics/science.webp'); --nav-paper:232,242,251; --nav-edge:#b1c7db; }
#shell [data-nav-art="culture"] { --nav-photo:url('/images/topics/culture.webp'); --nav-paper:250,237,241; --nav-edge:#d7bac4; }
#shell [data-nav-art="reports"] { --nav-photo:url('/images/topics/reports.webp'); --nav-paper:241,238,250; --nav-edge:#c3b8d6; }
#shell [data-nav-art="health"] { --nav-photo:url('/images/topics/health.webp'); --nav-paper:231,246,239; --nav-edge:#aecbbd; }
#shell [data-nav-art="schemes"] { --nav-photo:url('/images/topics/schemes.webp'); --nav-paper:232,247,243; --nav-edge:#b0cdc3; }
#shell [data-nav-art="infrastructure"] { --nav-photo:url('/images/topics/infrastructure.webp'); --nav-paper:255,241,221; --nav-edge:#d8c1a4; }

#shell #main-nav > a[data-nav-art],
#shell #dashboard-sidebar .dashboard-nav > a[data-nav-art] {
  background-color:rgb(var(--nav-paper,238,244,255))!important;
  background-image:linear-gradient(90deg,rgba(var(--nav-paper,238,244,255),.99) 0%,rgba(var(--nav-paper,238,244,255),.97) 55%,rgba(var(--nav-paper,238,244,255),.84) 100%),var(--nav-photo,none)!important;
  background-position:center,right center!important;
  background-size:100% 100%,45% auto!important;
  background-repeat:no-repeat!important;
  color:#20374c!important;
  border-color:var(--nav-edge,#b6c8df)!important;
  box-shadow:inset 0 0 0 1px var(--nav-edge,#b6c8df)!important;
  text-decoration:none;
}
#shell #main-nav > a[data-nav-art] :is(span,.dashboard-icon),
#shell #dashboard-sidebar .dashboard-nav > a[data-nav-art] :is(span,.dashboard-icon) {
  color:inherit!important;
}
#shell #main-nav > a[data-nav-art]:hover,
#shell #dashboard-sidebar .dashboard-nav > a[data-nav-art]:hover {
  background-image:linear-gradient(90deg,rgba(var(--nav-paper,238,244,255),.98) 0%,rgba(var(--nav-paper,238,244,255),.95) 55%,rgba(var(--nav-paper,238,244,255),.84) 100%),var(--nav-photo,none)!important;
  color:#20374c!important;
  box-shadow:inset 0 0 0 1px #8198ab!important;
}
#shell #main-nav > a[data-nav-art]:is(.active,[aria-current=page],[aria-current=true]),
#shell #dashboard-sidebar .dashboard-nav > a[data-nav-art]:is(.active,[aria-current=page],[aria-current=true]) {
  background-color:#ffe6a7!important;
  background-image:linear-gradient(90deg,rgba(255,230,167,.99) 0%,rgba(255,230,167,.97) 55%,rgba(255,230,167,.87) 100%),var(--nav-photo,none)!important;
  color:#20374c!important;
  border-color:#7c5615!important;
  box-shadow:inset 0 0 0 2px #7c5615!important;
}

/* The complete rail receives understated study art; each actual update kind
   has its own relevant background. The pale wash is strongest under copy. */
#app #latest-updates.latest-updates-card {
  background-color:#f5f8fb!important;
  background-image:linear-gradient(100deg,rgba(245,248,251,.98),rgba(245,248,251,.91)),url('/images/topics/study.webp')!important;
  background-position:center,right top!important;
  background-size:100% 100%,100% auto!important;
  background-repeat:no-repeat!important;
  color:#20374c!important;
  border-color:#b7c8d6!important;
  box-shadow:0 3px 12px #20374c0d;
}
#app #latest-updates [data-update-kind="development"] { --update-photo:url('/images/topics/science.webp'); --update-paper:232,242,251; --update-edge:#9fb9cd; }
#app #latest-updates [data-update-kind="affairs"] { --update-photo:url('/images/topics/national.webp'); --update-paper:238,244,255; --update-edge:#a7bfdc; }
#app #latest-updates [data-update-kind="tests"] { --update-photo:url('/images/topics/tests.webp'); --update-paper:232,246,237; --update-edge:#9abcaa; }
#app #latest-updates [data-update-kind="notes"] { --update-photo:url('/images/topics/study.webp'); --update-paper:244,238,253; --update-edge:#b7a7cb; }
#app #latest-updates [data-update-kind="books"] { --update-photo:url('/images/topics/store.webp'); --update-paper:255,243,228; --update-edge:#cbb38f; }
#app #latest-updates [data-update-kind="pdfs"] { --update-photo:url('/images/topics/reports.webp'); --update-paper:241,238,250; --update-edge:#b9aeca; }
#app #latest-updates [data-update-kind="courses"] { --update-photo:url('/images/topics/culture.webp'); --update-paper:250,237,241; --update-edge:#cda9b6; }
#app #latest-updates [data-update-kind="batches"] { --update-photo:url('/images/topics/schemes.webp'); --update-paper:232,247,243; --update-edge:#a3c3b7; }
#app #latest-updates [data-update-kind="announcements"] { --update-photo:url('/images/topics/summits.webp'); --update-paper:231,245,247; --update-edge:#a0c1c9; }
#app #latest-updates .latest-update-group[data-update-kind] {
  background-color:rgb(var(--update-paper,238,244,255))!important;
  background-image:linear-gradient(90deg,rgba(var(--update-paper,238,244,255),.98) 0%,rgba(var(--update-paper,238,244,255),.96) 60%,rgba(var(--update-paper,238,244,255),.86) 100%),var(--update-photo,none)!important;
  background-position:center,right top!important;
  background-size:100% 100%,60% auto!important;
  background-repeat:no-repeat!important;
  color:#20374c!important;
  border-color:var(--update-edge,#a7bfdc)!important;
}
#app #latest-updates :is(h2,h3,h3>a,.dashboard-recent a,.dashboard-recent span,.dashboard-recent small,.dashboard-update-detail,.dashboard-update-detail summary,.dashboard-update-detail p) {
  color:#20374c!important;
}
#app #latest-updates .dashboard-recent li+li {
  border-color:#c2cfd7!important;
}
#app #latest-updates .dashboard-recent a:hover {
  color:#20374c!important;
  background:rgba(255,255,255,.5)!important;
}

/* The full replacement destination remains legible in the same five slots,
   including a 320px phone. Its two words can share the existing label area. */
.app-navigation-visible .app-bottom-nav > a[href^="/current-affairs"] > span {
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  text-align:center;
  line-height:1.05;
}

@media print {
  #shell #main-nav,
  #shell #dashboard-sidebar,
  #app #latest-updates,
  #app #latest-updates .latest-update-group {
    background-image:none!important;
  }
}

/* Real selected navigation and study controls have a continuously moving edge.
   No dimensions, fill, photo, text, semantic state, or click target changes.
   Explicit controls exclude answers, correctness badges, question palettes,
   editing tools, ordinary action links, and inactive choices. */
@property --pp-selection-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

/* A static inset edge is the fallback when masks/gradients are unsupported.
   Also stop the earlier whole-button reminder pulse. */
:is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
):is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]):not([aria-pressed=false],[aria-current=false],:disabled,[disabled],[aria-disabled=true],[aria-busy=true],[hidden]) {
  position: relative;
  isolation: isolate;
  animation: none !important;
  box-shadow: inset 0 0 0 2px #896318 !important;
}

@supports (background-image:conic-gradient(from 0deg,transparent,#0c6275)) and
 ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
  :is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
):is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]):not([aria-pressed=false],[aria-current=false],:disabled,[disabled],[aria-disabled=true],[aria-busy=true],[hidden])::after {
    content: "";
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    padding: 2px;
    border: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background-image: conic-gradient(from var(--pp-selection-angle),
      transparent 0deg 205deg, #0c6275 240deg, #e2b33c 267deg,
      #0c6275 288deg, transparent 315deg 360deg) !important;
    background-color: transparent !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: pp-selection-edge-turn 6s linear infinite !important;
  }
}

/* The gradient travels while the control and its text remain stationary.
   Without @property support 0 and 360 are identical, leaving a static edge. */
@keyframes pp-selection-edge-turn {
  from { --pp-selection-angle: 0deg; }
  to { --pp-selection-angle: 360deg; }
}

/* Hidden/inert choices never need decorative motion. These guard the body
   portals too; the underlying selected state and existing checkmark remain. */
:is(body,#app,#shell) :is([hidden],[aria-hidden=true],[inert],[aria-busy=true],fieldset:disabled,
    .page-editor-global-active,.page-editor-active) :is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
)::after,
body:is(body,#app,#shell):is([hidden],[aria-hidden=true],[inert],[aria-busy=true],.page-editor-global-active) :is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
)::after,
:is(body,#app,#shell) :is(.ca-period-popup:not(.is-open) .ca-popup-body,
    .ca-state-menu:not([open]) .ca-state-options,
    details.ca-topic-chooser:not([open]) .ca-topic-choices) :is(
 .period-choice,.ca-topic-choices>a,.ca-topic-scroll>a,[data-ca-region-select]
)::after,
body:is(body,#app,#shell):not(.app-navigation-visible) .app-bottom-nav>a::after,
body:is(body,#app,#shell).dashboard-menu-open .app-bottom-nav>a::after,
body:is(body,#app,#shell).desktop-ca-reading:not(.dashboard-menu-open) .dashboard-nav>a::after {
  content: none !important;
  animation: none !important;
}

/* The ordinary drawer is offscreen until explicitly opened on compact screens.
   The reading workspace's desktop rail stays visible from 851px upward. */
@media(max-width:1100px) {
  body:is(body,#app,#shell):not(.study-workspace):not(.dashboard-menu-open) .dashboard-nav>a::after {
    content: none !important;
    animation: none !important;
  }
}
@media(max-width:850px) {
  body:is(body,#app,#shell):not(.dashboard-menu-open) .dashboard-nav>a::after {
    content: none !important;
    animation: none !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  :is(body,#app,#shell) :is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
)::after {
    content: none !important;
    animation: none !important;
  }
}
@media print {
  :is(body,#app,#shell) :is(
 .lang>[data-lang],
 .ca-language>[data-ca-lang],
 .ca-edition-controls>[data-ca-scope],
 .ca-state-menu>summary,
 .ca-state-picker-list>[data-ca-region-select],
 .ca-controls.periods>.period-choice,
 .ca-topic-choices>a,
 .ca-topic-scroll>a,
 .ca-reading-modes>.ca-date-mode,
 .ca-inline-calendar,
 .date-list>.tab,
 .study-filters>[data-study-filter],
 .study-filters>[data-study-auto-toggle],
 .study-filters>[data-ca-audio-toggle],
 .study-tools>[data-study-read],
 .study-tools>[data-study-important],
 .study-kinds>a,
 .ca-audio-inline>[data-ca-audio-card-play],
 .dashboard-nav>a,
 #main-nav>a,
 .desktop-study-links>a,
 .app-bottom-nav>a,
 .cat-scope>button,
 .cat-lang>button,
 .cat-date-shortcuts>[data-cat-issue-date],
 .cat-routes>[data-cat-test-period],
 .cat-review-filters>[data-cat-review-filter],
 .cas-scope>[data-cas-scope]
)::after {
    content: none !important;
    animation: none !important;
  }
}


.control-center{color:#20344c;width:min(1540px,100%);margin:0 auto;padding:24px clamp(12px,2vw,28px);box-sizing:border-box}
.control-center *{box-sizing:border-box;min-width:0}
.control-center .control-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}
.control-center h1{font-size:28px;margin:4px 0 12px;line-height:1.25}
.control-center h2{font-size:23px;margin:0 0 10px;line-height:1.35}
.control-center h3{font-size:19px;margin:0 0 12px;line-height:1.4}
.control-center p{font-size:14px;line-height:1.65;margin:8px 0 14px;color:#52677c}
.control-center .control-eyebrow{font-size:14px;letter-spacing:.12em;font-weight:800;color:#54748d;margin:0}
.control-center .control-breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:14px}
.control-center .control-breadcrumb a{color:#175780}
.control-center .control-center-grid{display:grid;grid-template-columns:224px minmax(0,1fr);gap:22px;align-items:start}
.control-center .control-center-nav{background:#fff;border:1px solid #cddbe6;border-radius:14px;padding:14px;display:grid;gap:16px}
.control-center .control-nav-group{display:grid;gap:3px}
.control-center .control-nav-group h2{font-size:14px;letter-spacing:.055em;text-transform:uppercase;color:#6a7e91;margin:4px 9px 7px}
.control-center .control-nav-link{display:block;border-radius:8px;padding:9px 10px;text-decoration:none;font-size:14px;line-height:1.4;font-weight:650;color:#274c70;border:1px solid transparent}
.control-center .control-nav-link:hover{background:#eef5fb;border-color:#c8dcea}
.control-center .control-nav-link.active{background:#164977;color:#fff}
.control-center .control-center-main{background:#fff;border:1px solid #cddbe6;border-top:4px solid #164977;border-radius:15px;padding:24px;overflow:hidden}
.control-center .control-section-head{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px}
.control-center .control-section-head p{max-width:900px;margin-bottom:0}
.control-center .control-section-head>.btn{flex:none}
.control-center .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;line-height:1.4;padding:10px 13px;border-radius:8px;gap:6px;min-height:39px;cursor:pointer}
.control-center .btn.subtle{background:#f1f6fa;border:1px solid #c6d7e3;color:#235371}
.control-center .btn.dark{background:#164977;border:1px solid #164977;color:#fff}
.control-center .btn.danger{color:#a03742;background:#fff6f5;border-color:#e7c5c8}
.control-center .btn:disabled{opacity:.6;cursor:wait}
.control-center .control-message{background:#eff6fc;border:1px solid #c9deed;border-radius:10px;padding:14px 16px;margin:15px 0}
.control-center .control-message strong{font-size:14px}
.control-center .control-message p{font-size:14px;margin:7px 0 0;color:#496379}
.control-center .control-message-error{background:#fff5f3;border-color:#e2b8b5;color:#9c3037}
.control-center .control-message-error p{color:#9c3037}
.control-center .control-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.control-center .control-field{display:flex;flex-direction:column;gap:7px;align-items:stretch;font-size:14px;font-weight:700;color:#274866}
.control-center .control-field input,.control-center .control-field select,.control-center .control-field textarea,.control-center .control-search input,.control-center .control-search select{width:100%;background:#fff;color:#1d354d;border:1px solid #bfceda;border-radius:8px;font:inherit;font-weight:700;padding:11px;line-height:1.55}
.control-center .control-field input[readonly]{background:#eef3f7;color:#51697c}
.control-center .control-field textarea{resize:vertical;min-height:104px}
.control-center .control-field small,.control-center .control-check small{display:block;font-weight:700;font-size:14px;line-height:1.55;color:#637b90}
.control-center .control-reference-picker{display:flex;gap:8px;align-items:center}.control-center .control-reference-picker select{flex:1;font-size:14px;min-width:0}.control-center .control-reference-picker .btn{flex:none;padding:9px 12px}.control-center .control-metrics small{font-size:14px;color:#6b8297;line-height:1.5}
.control-center .control-check{display:flex;align-items:start;gap:10px;font-size:14px;font-weight:700;padding:12px 0;align-self:start}
.control-center .control-check input{width:18px;height:18px;margin:2px 0 0;flex:none}
.control-center .control-check span{line-height:1.5}
.control-center .control-save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #d9e4ec;padding-top:20px;margin-top:24px}
.control-center .control-save-bar>span{font-size:14px;color:#6b7f91}
.control-center .control-form-error{background:#fff2f0;border:1px solid #ecc2bd;padding:12px;border-radius:8px;color:#a22f35;font-size:14px;white-space:pre-wrap}
.control-center .control-form-error[hidden]{display:none}
.control-center .control-subsection{margin-top:25px;border-top:1px solid #d8e3eb;padding-top:21px}
.control-center .control-detail-actions,.control-center .control-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.control-center .control-row-actions{margin:0}
.control-center .control-search{display:flex;align-items:end;gap:10px;margin:18px 0;flex-wrap:wrap}
.control-center .control-search>input{flex:1 1 240px}
.control-center .control-search>label{display:flex;flex:1 1 190px;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.control-center .control-table-wrap{width:100%;overflow:auto;border:1px solid #d4e1e9;border-radius:10px}
.control-center .control-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:14px;color:#264359}
.control-center .control-table th{text-align:left;background:#edf4f9;color:#36536d;font-size:14px;padding:12px}
.control-center .control-table td{padding:13px 12px;border-top:1px solid #dde7ee;vertical-align:top;overflow-wrap:anywhere}
.control-center .control-table td small{display:block;font-size:14px;font-weight:700;color:#708398;margin-top:5px;line-height:1.5}
.control-center .control-table td .btn{font-size:14px;padding:7px 9px;min-height:32px;white-space:nowrap}
.control-center .control-table td:first-child{min-width:180px}
.control-center .control-status{display:inline-block;border:1px solid #c5d9e8;background:#eff6fb;color:#375873;border-radius:99px;font-size:14px;line-height:1.4;padding:4px 9px;text-transform:capitalize;white-space:nowrap}
.control-center .control-status-published{background:#edf8f2;color:#206d46;border-color:#b8dbc6}
.control-center .control-status-hidden,.control-center .control-status-draft{background:#fff8eb;color:#896423;border-color:#e4d4af}
.control-center .control-status-archived{background:#f4f1f7;color:#746182;border-color:#d9d0e1}
.control-center .control-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:#6b8297;margin-top:18px}
.control-center .control-pagination>div{display:flex;gap:8px}
.control-center .control-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:20px 0}
.control-center .control-metrics article{background:#f3f7fb;border:1px solid #d3e1ec;border-radius:10px;padding:14px;display:grid;gap:5px}
.control-center .control-metrics strong{font-size:26px;color:#174a75}
.control-center .control-metrics span{font-size:14px;color:#527087;text-transform:capitalize;line-height:1.45}
.control-center .control-dashboard-links,.control-center .control-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.control-center .control-dashboard-card,.control-center .control-topic-link{background:#fff;border:1px solid #c7dbe9;border-radius:9px;padding:17px 14px;color:#1f567e;text-decoration:none;font-size:14px;font-weight:700;line-height:1.5}
.control-center .control-dashboard-card:hover,.control-center .control-topic-link:hover{background:#eff6fb;border-color:#80aecb}
.control-center .control-connection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.control-center .control-connection-list article{display:grid;gap:8px;border:1px solid #d4e1eb;border-radius:9px;padding:15px;font-size:14px}
.control-center .control-connection-list article strong{text-transform:capitalize}
.control-center .control-connection-list article span{color:#62788d;font-size:14px}
.control-center .control-connection-list article p{margin:0;font-size:14px}
.control-center .control-data-list{margin:18px 0;display:grid;gap:0}
.control-center .control-data-list>div{display:grid;grid-template-columns:minmax(115px,1fr) minmax(0,3fr);padding:11px 0;border-bottom:1px solid #e1eaf0;gap:12px;font-size:14px}
.control-center .control-data-list dt{font-weight:700;color:#506c82;text-transform:capitalize}
.control-center .control-data-list dd{margin:0;overflow-wrap:anywhere}
.control-center .control-data-list dd .control-data-list{margin:0}
.control-center .control-audit-list article{padding:12px 0;border-bottom:1px solid #dde7ee;display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,1fr) auto;gap:12px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.control-center .control-audit-list small{color:#6a8396}
.control-center .control-record-cards{display:grid;gap:10px}
.control-center .control-record-cards article{border:1px solid #d1e0ea;border-radius:9px;padding:14px;display:flex;align-items:center;gap:12px;font-size:14px}
.control-center .control-record-cards article strong{flex:1}
.control-center .control-question-editor,.control-center .control-history-list details{border:1px solid #cbdde9;border-radius:10px;padding:16px;margin:12px 0;background:#fbfdff}
.control-center .control-question-editor>summary,.control-center .control-history-list summary{cursor:pointer;font-size:14px;font-weight:700;color:#305674;line-height:1.6}
.control-center .control-question-editor .control-form-grid{margin:18px 0}
.control-center .control-history-list summary span{display:block;font-weight:700;font-size:14px;color:#748b9e;margin-top:4px}
.control-center .control-history-payload{max-height:360px;overflow:auto;background:#f1f5f9;border:1px solid #d9e4eb;border-radius:8px;padding:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.control-center :is(input,select,textarea,button,a):focus-visible{outline:3px solid #e2b04d;outline-offset:2px}
@media(max-width:1050px){.control-center .control-center-grid{grid-template-columns:190px minmax(0,1fr);gap:14px}.control-center .control-center-main{padding:20px}.control-center .control-dashboard-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.control-center{padding:16px 10px}.control-center .control-center-grid{grid-template-columns:minmax(0,1fr)}.control-center .control-center-nav{display:flex;overflow-x:auto;gap:18px;padding:12px;max-height:245px}.control-center .control-nav-group{flex:0 0 165px;align-content:start;gap:1px}.control-center .control-center-main{padding:18px 14px}.control-center h1{font-size:25px}.control-center h2{font-size:21px}.control-center .control-form-grid{grid-template-columns:minmax(0,1fr)}.control-center .control-section-head{flex-wrap:wrap}.control-center .control-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-center .control-record-cards article{flex-wrap:wrap}.control-center .control-record-cards article strong{flex-basis:100%}.control-center .control-audit-list article{grid-template-columns:minmax(0,1fr)}.control-center .control-heading{gap:12px}.control-center .control-heading>.btn{max-width:120px;font-size:14px;padding:8px}.control-center .control-pagination{align-items:start;flex-direction:column}.control-center .control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.control-center .control-data-list>div{grid-template-columns:minmax(90px,1fr) minmax(0,2fr)}}
@media(max-width:420px){.control-center .control-dashboard-links,.control-center .control-topic-grid{grid-template-columns:minmax(0,1fr)}.control-center .control-search>.btn{flex:1}.control-center .control-detail-actions>.btn{flex:1 1 140px}.control-center .control-save-bar>.btn{flex:1 1 120px}}

.payment-setup,.deletion-management{color:#20344c;font-size:14px;line-height:1.55;width:100%;min-width:0}
.payment-setup *,.deletion-management *{box-sizing:border-box;min-width:0}
.payment-setup h2,.deletion-management h2{margin:0 0 10px;font-size:24px;line-height:1.3}
.payment-setup h3,.deletion-management h3{margin:0 0 9px;font-size:18px;line-height:1.4}
.payment-setup p,.deletion-management p{margin:7px 0 12px;color:#52697b;line-height:1.65;font-size:14px}
.payment-setup .payment-page-head,.deletion-management .payment-page-head{margin-bottom:20px}
.payment-setup .payment-note,.deletion-management .payment-note{background:#eef6fc;border:1px solid #c8dce9;border-radius:10px;padding:15px 17px;margin:18px 0}
.payment-setup .payment-note p,.deletion-management .payment-note p{margin-bottom:0}
.payment-setup .payment-note-pending{background:#fff8e9;border-color:#e5d4a5}
.payment-setup .payment-note strong,.deletion-management .payment-note strong{font-size:14px}
.payment-setup .payment-section-head,.deletion-management .payment-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.payment-setup .payment-status,.deletion-management .payment-status{display:inline-block;flex:none;border-radius:100px;font-size:14px;padding:5px 10px;line-height:1.4;border:1px solid;white-space:nowrap}
.payment-setup .payment-status-pending,.deletion-management .payment-status-pending{background:#fff6e5;color:#886017;border-color:#e6d4ac}
.payment-setup .payment-status-complete,.deletion-management .payment-status-complete{background:#edf8f0;color:#246947;border-color:#b9dcc7}
.payment-setup .payment-checklist,.payment-setup .payment-connections,.payment-setup .payment-policy-previews{border-top:1px solid #d9e4ec;padding-top:21px;margin-top:22px}
.payment-setup .payment-count{font-size:21px;font-weight:750;background:#edf5fb;color:#174d75;border-radius:9px;padding:8px 13px;flex:none}
.payment-setup .payment-requirements{border:1px solid #d4e2ec;border-radius:10px;overflow:hidden;margin:15px 0}
.payment-setup .payment-requirement{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #deE7ee}
.payment-setup .payment-requirement:last-child{border-bottom:0}
.payment-setup .payment-requirement strong{font-size:14px}
.payment-setup .payment-requirement p{font-size:14px;margin:5px 0 0;overflow-wrap:anywhere}
.payment-setup .payment-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.payment-setup .payment-connection-grid article{border:1px solid #cddfe9;background:#f5f9fc;border-radius:10px;padding:15px}
.payment-setup .payment-connection-grid p{font-size:14px;margin:10px 0 0}
.payment-setup .payment-small,.deletion-management .payment-small{font-size:14px;color:#61798b;line-height:1.7}
.payment-setup .payment-policy-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}
.payment-setup .payment-policy-link{display:block;color:#21577c;background:#fff;border:1px solid #c6dce9;border-radius:8px;padding:11px 13px;font-size:14px;font-weight:650;text-decoration:none;line-height:1.45}
.payment-setup .payment-policy-link:hover{background:#eff6fb;border-color:#8cb5cf}
.payment-setup .payment-actions,.deletion-management .payment-actions{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}
.payment-setup .payment-form-section{margin:25px 0 0;padding:17px 18px 20px;border:1px solid #cadde9;border-radius:11px}
.payment-setup .payment-form-section legend{font-size:16px;font-weight:750;color:#224e70;padding:0 7px}
.payment-setup .payment-form-section>p{font-size:14px;margin:0 0 15px}
.payment-setup .payment-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.payment-setup .payment-field,.deletion-management .payment-field{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:14px;align-items:stretch}
.payment-setup .payment-field:has(textarea){grid-column:1/-1}
.payment-setup .payment-field input,.payment-setup .payment-field select,.payment-setup .payment-field textarea,.deletion-management .payment-field input{width:100%;border:1px solid #bfcfdb;background:#fff;color:#21384e;border-radius:8px;padding:10px 11px;font:inherit;line-height:1.6;font-weight:700;min-height:42px}
.payment-setup .payment-field textarea{resize:vertical}
.payment-setup .payment-field small,.deletion-management .payment-field small{font-size:14px;color:#657d90;line-height:1.6;font-weight:700;overflow-wrap:anywhere}
.payment-setup .payment-field-inactive{color:#6c7f8e}
.payment-setup .payment-field-inactive input,.payment-setup .payment-field-inactive select{background:#eff3f6;color:#677e90}
.payment-setup .payment-check,.deletion-management .payment-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:650;line-height:1.6}
.payment-setup .payment-check input,.deletion-management .payment-check input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:#164977}
.payment-setup .payment-check small,.deletion-management .payment-check small{display:block;font-size:14px;font-weight:700;color:#637b8f;margin-top:6px;line-height:1.65}
.payment-setup .payment-review{margin-top:24px;padding:18px;border:1px solid #cbdde9;border-radius:10px;background:#f6f9fc}
.payment-setup .payment-review>p{font-size:14px}
.payment-setup .payment-version{display:block;font-size:14px;color:#687d8d;margin-top:13px;overflow-wrap:anywhere}
.payment-setup .payment-save-bar{border-top:1px solid #d9e4ed;padding-top:20px;margin-top:23px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.payment-setup .payment-save-bar>span{font-size:14px;color:#687c8f}
.payment-setup .payment-form-error,.deletion-management .payment-form-error{white-space:pre-wrap;background:#fff3f1;border:1px solid #eac0bb;border-radius:8px;color:#a52d36;padding:12px;overflow-wrap:anywhere}
.payment-setup .payment-form-error[hidden],.deletion-management .payment-form-error[hidden],.deletion-management [hidden]{display:none!important}
.payment-setup .btn,.deletion-management .btn{font-size:14px;line-height:1.45;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:10px 13px;border-radius:8px;cursor:pointer}
.payment-setup .btn.dark{background:#164977;border:1px solid #164977;color:#fff}
.payment-setup .btn.subtle,.deletion-management .btn.subtle{background:#f1f6fa;border:1px solid #c6d7e3;color:#235371}
.deletion-management .btn.danger{background:#fff3f1;border:1px solid #e2b8b5;color:#a52d36}
.payment-setup .btn:disabled,.deletion-management .btn:disabled{opacity:.6;cursor:wait}
.payment-setup input:focus-visible,.payment-setup select:focus-visible,.payment-setup textarea:focus-visible,.payment-setup button:focus-visible,.payment-setup a:focus-visible,.deletion-management input:focus-visible,.deletion-management button:focus-visible,.deletion-management a:focus-visible{outline:3px solid #7db5db;outline-offset:2px}
.deletion-management .deletion-request-list{display:grid;gap:17px;margin-top:20px}
.deletion-management .deletion-request{border:1px solid #cadde9;border-radius:10px;padding:18px}
.deletion-management .deletion-request h3{font-size:16px;overflow-wrap:anywhere}
.deletion-management .deletion-request .payment-section-head p{font-size:14px;margin:3px 0 0;overflow-wrap:anywhere}
.deletion-management .deletion-data{margin:15px 0;display:grid}
.deletion-management .deletion-data>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:13px;border-bottom:1px solid #e0eaf0;padding:9px 0;font-size:14px}
.deletion-management .deletion-data dt{font-weight:650;color:#537085}
.deletion-management .deletion-data dd{margin:0;overflow-wrap:anywhere}
.deletion-management .deletion-fulfil-form{display:grid;gap:16px;margin-top:17px;padding:17px;border:1px solid #e3c3c0;border-radius:10px;background:#fffbfa}
.deletion-management .deletion-warning{background:#fff1ec;border:1px solid #e8bdb5;padding:14px;border-radius:8px;color:#92353e}
.deletion-management .deletion-warning strong{font-size:14px}
.deletion-management .deletion-warning p{font-size:14px;color:#92353e;margin-bottom:0}
.deletion-management .deletion-external-request{border:1px solid #cbdfea;border-radius:10px;padding:16px;margin:18px 0;background:#f5f9fc}
.deletion-management .deletion-external-request summary{cursor:pointer;font-size:14px;font-weight:700;color:#274f70;line-height:1.6}
.deletion-management .deletion-external-request>p{font-size:14px;margin:14px 0}
.deletion-management #deletion-external-form{display:grid;gap:15px;max-width:780px}
.deletion-management #deletion-external-form .btn.dark{background:#164977;border:1px solid #164977;color:#fff}
@media(max-width:800px){.payment-setup .payment-connection-grid{grid-template-columns:1fr}.payment-setup .payment-connection-grid .payment-section-head{flex-wrap:wrap}.payment-setup .payment-field-grid{grid-template-columns:1fr}.payment-setup .payment-form-section{padding:14px 13px 17px}}
@media(max-width:520px){.payment-setup h2,.deletion-management h2{font-size:21px}.payment-setup .payment-policy-links{grid-template-columns:1fr}.payment-setup .payment-requirement{padding:12px;gap:10px}.payment-setup .payment-review,.deletion-management .deletion-request{padding:14px}.payment-setup .payment-save-bar,.payment-setup .payment-actions,.deletion-management .payment-actions{align-items:stretch}.payment-setup .payment-save-bar .btn,.payment-setup .payment-actions .btn,.deletion-management .payment-actions .btn{flex:1 1 100%}.deletion-management .deletion-data>div{grid-template-columns:1fr;gap:3px}.deletion-management .deletion-fulfil-form{padding:12px}}

.policy-footer-links{display:flex;flex-wrap:wrap;gap:5px 13px;max-width:820px;margin:10px 0;line-height:1.6;font-size:14px}
.public-policy,.public-deletion-action,.account-policy-actions{max-width:1020px;margin-left:auto;margin-right:auto;min-width:0}
.public-policy .policy-effective{font-size:14px;color:#5b7184;margin:-9px 0 20px;line-height:1.6}
.public-policy .policy-document{background:#fff;border:1px solid #cedfea;border-radius:13px;padding:clamp(18px,3vw,32px);color:#243d52}
.public-policy .policy-document>section+section{border-top:1px solid #e1ebf1;margin-top:22px;padding-top:21px}
.public-policy .policy-document h2{font-size:18px;line-height:1.5;margin:0 0 12px;color:#244a68}
.public-policy .policy-document p{font-size:14px;line-height:1.9;white-space:pre-wrap;margin:0 0 15px;overflow-wrap:anywhere}
.public-policy .policy-document p:last-child{margin-bottom:0}
.public-policy .policy-document-links{display:flex;flex-wrap:wrap;gap:10px;margin:19px 0 25px}
.public-policy .policy-document-links .btn,.public-deletion-action .btn,.account-policy-actions .btn{font-size:14px;min-height:40px;padding:10px 14px;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px}
.public-deletion-action,.account-policy-actions{background:#fff;border:1px solid #cbdfe9;border-radius:12px;padding:clamp(18px,3vw,28px);margin-top:25px;color:#294156}
.public-deletion-action h2,.account-policy-actions h2{font-size:20px;line-height:1.45;margin:0 0 13px}
.public-deletion-action p,.account-policy-actions p{font-size:14px;line-height:1.8;color:#587082;margin:9px 0 17px;overflow-wrap:anywhere}
.public-deletion-action .policy-deletion-confirm{display:flex;align-items:flex-start;gap:11px;margin:20px 0;font-size:14px;line-height:1.8}
.public-deletion-action .policy-deletion-confirm input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#164977}
.public-deletion-action .field input{max-width:520px}
.public-deletion-action .btn.danger{background:#fff1ed;color:#9b3440;border:1px solid #deb7b2}
.public-deletion-action .policy-deletion-status{background:#eff7fc;border:1px solid #cbdfea;border-radius:9px;padding:17px}
.public-deletion-action .policy-deletion-status strong{font-size:15px;line-height:1.6}
.public-deletion-action .policy-deletion-status dl{font-size:14px;line-height:1.7}
.public-deletion-action .policy-deletion-status dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:10px;margin:9px 0}
.public-deletion-action .policy-deletion-status dd{margin:0;overflow-wrap:anywhere}
.public-deletion-action #account-deletion-status{color:#aa3440}
.account-policy-actions>div{display:flex;flex-wrap:wrap;gap:10px}
.registration-consent{margin:14px 0 19px;font-size:14px;line-height:1.8}
.registration-consent>label{display:flex;align-items:flex-start;gap:10px}
.registration-consent input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:#164977}
.registration-consent>div{margin:7px 0 0 28px;font-size:14px;line-height:1.7}
.registration-consent>p{font-size:14px;color:#a43740}
.registration-consent a{color:#215b80;text-underline-offset:3px}
.public-policy a:focus-visible,.public-deletion-action input:focus-visible,.public-deletion-action button:focus-visible,.public-deletion-action a:focus-visible,.account-policy-actions a:focus-visible,.registration-consent input:focus-visible,.registration-consent a:focus-visible{outline:3px solid #7db5db;outline-offset:3px}
@media(max-width:580px){.public-policy .policy-document p{font-size:14px;line-height:1.9}.public-policy .policy-document h2{font-size:17px}.public-policy .policy-document-links,.account-policy-actions>div{flex-direction:column;align-items:stretch}.public-deletion-action .policy-deletion-status dl>div{grid-template-columns:1fr;gap:2px}.policy-footer-links{gap:7px 12px;font-size:14px}.public-deletion-action h2,.account-policy-actions h2{font-size:18px}}

.student-account{max-width:920px;margin:0 auto;color:var(--pp-ink)}.student-account h1{font-size:clamp(26px,4vw,34px);margin:22px 0 10px}.student-account-intro,.student-account-note,.student-account small{color:var(--pp-muted);line-height:1.6}.student-account-tabs{display:flex;flex-wrap:wrap;gap:10px}.student-account-tabs a,.student-account-footer a,.student-account-back{color:var(--pp-blue);text-underline-offset:4px}.student-profile-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px;margin:24px 0}.student-photo-card,.student-profile-form,.student-settings form{background:var(--pp-reading-paper);border:1px solid var(--pp-line);border-radius:16px;padding:24px;min-width:0}.student-photo-card h2{font-size:20px;text-align:center;margin:18px 0}.student-photo-preview{width:112px;height:112px;margin:auto;border-radius:50%;overflow:hidden;border:2px solid var(--pp-line);background:var(--pp-wash);display:grid;place-items:center}.student-photo-preview img{width:100%;height:100%;object-fit:cover}.student-photo-initial{font-size:42px;color:var(--pp-blue)}.student-account .field{margin-bottom:16px}.student-account input:not([type=checkbox]):not([type=radio]),.student-account select{width:100%;min-width:0;background:var(--pp-wash)!important;color:var(--pp-ink)!important;border:1px solid var(--pp-line)!important;border-radius:8px;padding:11px;font:inherit}.student-account input[readonly]{opacity:.75}.student-account [hidden]{display:none!important}.student-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.student-account-note{font-size:14px;margin:0 0 16px}.student-account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.student-account [role=status]{overflow-wrap:anywhere}.student-account-footer{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--pp-line);padding:18px 0}.student-settings form{margin:24px 0}.student-settings fieldset{border:0;padding:0;margin:0 0 28px}.student-settings legend{font-size:19px;margin-bottom:14px}.student-theme-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-theme-choice{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-wash);cursor:pointer}.student-theme-choice small{display:block;font-size:14px;margin-top:6px}.student-theme-choice:has(input:checked){outline:2px solid var(--pp-gold);outline-offset:1px}.student-theme-choice input,.student-notification-choice input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--pp-blue)}.student-notification-choice{display:flex;align-items:center;gap:12px;margin-bottom:12px}.student-ca-membership{margin-top:22px;background:var(--pp-reading-paper);border:1px solid var(--pp-line);border-radius:14px;padding:22px}.student-ca-membership h2{margin:0 0 12px}.student-ca-membership-price{font-size:25px;color:var(--pp-blue)}.student-ca-membership p,.student-ca-membership li{line-height:1.6}.student-ca-membership ul{padding-left:22px}.student-ca-membership .actions{flex-wrap:wrap}.student-ca-membership .btn:disabled{opacity:.65;cursor:not-allowed}.account-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.account-avatar:has(img){overflow:hidden;padding:0}.student-membership-policies{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.student-membership-policies a{color:var(--pp-blue)}
/* A saved display preference changes colors only; existing layout and selection rules stay in place. */
html[data-student-theme="dark"]{--pp-blue:#a8d5ff;--pp-blue-hover:#c6e4ff;--pp-surface:#263b42;--pp-surface-hover:#344d55;--pp-orchid:#44304d;--pp-orchid-ink:#f3d9fb;--pp-orchid-line:#9564a1;--pp-ink:#ecf3fa;--pp-muted:#c3d1df;--pp-line:#526674;--pp-wash:#142232;--pp-reading-paper:#1c2d3b;--pp-gold:#e4af42;--pp-gold-edge:#f5cf78;--shadow:0 8px 24px #0005;color-scheme:dark}
html[data-student-theme="dark"] :is(.field input,.field textarea,.field select,.search-mini input,.auth-switch,.account-policy-actions,.policy-document,.policy-business-notice,.policy-contact-card){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(.ca-popup,.ca-popup-head,.ca-audio-popup,.ca-audio-popup-head,.cat-chooser-dialog,.cat-dialog,.account-list-dialog,.student-settings fieldset){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(.note-body,.story p,.story h2,.story h3,.question-panel h2,.policy-document p,.policy-document h2,.policy-document h3,.answer-box .question-stem,.choice){color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(.account-policy-actions h2,.account-policy-actions p,.policy-contact-card h2,.policy-contact-card p){color:var(--pp-ink)!important}
html[data-student-theme="dark"] input::placeholder,html[data-student-theme="dark"] textarea::placeholder{color:var(--pp-muted)!important}
html[data-student-theme="dark"] .auth-switch a.active{background:var(--pp-surface)!important}
@media(max-width:650px){.student-profile-layout{grid-template-columns:1fr;gap:18px}.student-photo-card,.student-profile-form,.student-settings form{padding:18px}.student-account-grid,.student-theme-options{grid-template-columns:1fr}.student-photo-card{display:block}.student-account-tabs{gap:8px;font-size:14px}.student-account-footer{gap:14px}.student-ca-membership{padding:18px}.student-ca-membership .actions{display:flex;gap:10px}}
@media print{html[data-student-theme="dark"]{--pp-ink:#20374c;--pp-muted:#496073;--pp-wash:#fff;--pp-reading-paper:#fff;--pp-surface:#fff;--pp-line:#b6c9d9;color-scheme:light}}

html[data-student-theme="dark"] #app .ca-tests :is(.cat-question,.cat-analysis-card,.cat-review-card,.cat-topic-card,.cat-edition-card,.cat-pills span,.cat-options button:not(.selected)){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] .locked{background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(.tab.active,.period-choice.active,.nav a.active,.dashboard-nav a.active,.control-menu button.active,.auth-switch a.active,.lang button.active,.ca-language button.active,.ca-language button[aria-pressed=true],.ca-reading-modes .ca-date-mode.active,.home-ca-feed .ca-date-mode.active,.ca-topic-choices a.active,.ca-topic-choices a[aria-current=page],.ca-side .ca-topic-scroll a.active,.ca-state-menu>.tab.active,.ca-state-picker-list>button[aria-pressed=true],.ca-state-options button[aria-pressed=true],.study-filters [aria-pressed=true],.study-kinds a[aria-current=page],.study-tools button[aria-pressed=true],.edit-page-toggle[aria-pressed=true],.cat-scope button[aria-pressed=true],.cat-review-filters button[aria-pressed=true],.cat-lang button[aria-pressed=true],.cat-date-shortcuts button[aria-pressed=true],.cat-options button.selected,.choice.selected,.cat-route.selected,.cas-route.selected,.cas-scope button[aria-pressed=true]){color:#20374c!important}
html[data-student-theme="dark"] .account-dropdown>button[data-logout]{color:#ffb8bf!important}
html[data-student-theme="dark"] .cat-options button.selected b{background:#20374c!important;color:var(--pp-gold)!important}
/* Existing decorative papers receive a dark wash under the same artwork. */
html[data-student-theme="dark"] .app-bottom-nav{background:var(--pp-reading-paper)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(.public-deletion-action,.policy-deletion-status){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(.public-deletion-action p,.public-policy .policy-effective){color:var(--pp-muted)!important}
html[data-student-theme="dark"] :is(.registration-consent a,.public-policy .policy-document-links a){color:var(--pp-blue)!important}
html[data-student-theme="dark"] #shell :is(#main-nav,#dashboard-sidebar){background:var(--pp-reading-paper)!important;background-image:linear-gradient(150deg,#1c2d3b,#142232)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] #shell #dashboard-sidebar :is(.dashboard-nav-label,.dashboard-brand-caption){color:var(--pp-muted)!important}
html[data-student-theme="dark"] #shell #main-nav>a[data-nav-art],html[data-student-theme="dark"] #shell #dashboard-sidebar .dashboard-nav>a[data-nav-art]{background-color:var(--pp-reading-paper)!important;background-image:linear-gradient(90deg,#1c2d3bfa,#1c2d3bf2 60%,#1c2d3bdd),var(--nav-photo,none)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] #shell #main-nav>a[data-nav-art]:is(.active,[aria-current=page],[aria-current=true]),html[data-student-theme="dark"] #shell #dashboard-sidebar .dashboard-nav>a[data-nav-art]:is(.active,[aria-current=page],[aria-current=true]){background:var(--pp-gold)!important;color:#20374c!important;border-color:#7c5615!important}
html[data-student-theme="dark"] #app #latest-updates.latest-updates-card{background-color:var(--pp-reading-paper)!important;background-image:linear-gradient(100deg,#1c2d3bfa,#1c2d3be8),url('/images/topics/study.webp')!important;border-color:var(--pp-line)!important;color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app #latest-updates .latest-update-group[data-update-kind]{background-color:var(--pp-surface)!important;background-image:linear-gradient(90deg,#263b42fa,#263b42f5 60%,#263b42dc),var(--update-photo,none)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] #app #latest-updates :is(h2,h3,h3>a,.dashboard-recent a,.dashboard-recent span,.dashboard-recent small,.dashboard-update-detail,.dashboard-update-detail summary,.dashboard-update-detail p){color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app #latest-updates .dashboard-recent a:hover{background:var(--pp-surface-hover)!important;color:var(--pp-ink)!important}
html[data-student-theme="dark"] [data-topic-art]{--topic-paper:#1c2d3b;--topic-rgb:28,45,59;--topic-line:#526674}
html[data-student-theme="dark"] #app [data-topic-art]{color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app :is([data-topic-art],[data-state-art]) :is(h2,h3,strong,.home-card-label,.meta,.sources,small,p){color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app .story[data-story-palette]{--art-paper:#1c2d3b;--art-edge:#526674;color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app .story[data-story-palette] :is(.story-facts td,.story-facts tr:nth-child(2n) td,.story-clarification,.story-focus,.story-static,.story-comparison,.revision,.mcq-preview,.mcq-preview .answer-box){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important}
html[data-student-theme="dark"] #app .story[data-story-palette] :is(.story-facts th,.story-facts td,.story-static strong,.answer-box legend){color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) :is(.ca-period-popup,.ca-topic-popup,.ca-test-popup,.ca-store-popup,.ca-popup-body,.ca-state-options,.account-dropdown,.notice-popover,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar,#toast){--pp-popup-paper:#1c2d3b;--pp-popup-head:#263b42;--pp-popup-choice:#263b42;--pp-popup-ink:#ecf3fa;--pp-popup-line:#526674;--pp-popup-rgb:28,45,59;--chooser-ink:#ecf3fa;--chooser-muted:#c3d1df;--chooser-line:#526674;--chooser-card:#1c2d3b;color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install)>.ca-popup-body,
html[data-student-theme="dark"] :is(body,#app,#shell) :is(.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install){background-color:var(--pp-reading-paper)!important;background-image:linear-gradient(90deg,#1c2d3bfa,#1c2d3bf5 70%,#1c2d3bdd),var(--popup-photo,var(--context-photo,none))!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a),
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>button,
html[data-student-theme="dark"] :is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route,.cat-edition-entries button,.cat-date-shortcuts button){background:var(--pp-surface)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) [data-state-art]{background-image:linear-gradient(100deg,#1c2d3bf5,#1c2d3bd8),var(--state-photo,none)!important;color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) :is(.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(input,select,.cat-date-wise,.cat-dialog-actions){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a):is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]),
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-state-options:not(#ca-audio-player,#ca-voice-install) .ca-state-picker-list>[data-state-art][data-state-art]:is(.active,[aria-pressed=true]),
html[data-student-theme="dark"] :is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-route,.cat-edition-entries button,.cat-date-shortcuts button):is(.active,[aria-pressed=true]),
html[data-student-theme="dark"] :is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install) .ca-topic-choices>[data-topic-art][data-topic-art]:is(.active,.selected,[aria-current=page],[aria-current=true],[aria-pressed=true]){background:var(--pp-gold)!important;color:#20374c!important}
html[data-student-theme="dark"] :is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) [data-topic-art][data-topic-art]{color:var(--pp-ink)!important}
html[data-student-theme="dark"] :is(body,#app,#shell) :is(.ca-popup-body,.ca-state-options,.account-dropdown,.cat-dialog,dialog:not(#ca-audio-player,#ca-voice-install),#page-editor-bar) [data-topic-art][data-topic-art]:is(.active,.selected,[aria-pressed=true],[aria-current=page],[aria-current=true]){color:#20374c!important}
html[data-student-theme="dark"] .ca-audio-screen-wash,html[data-student-theme="dark"] body :is(#ca-audio-player,#ca-voice-install)::backdrop{background:#142232!important}
html[data-student-theme="dark"] body :is(#ca-audio-player,#ca-voice-install) :is(p,strong,small,label,output,.ca-audio-heading,.ca-audio-transcript,.ca-audio-status,.ca-audio-language,.ca-audio-gender-note,.ca-audio-voice-note){color:var(--pp-ink)!important}
html[data-student-theme="dark"] body :is(#ca-audio-player,#ca-voice-install) :is(button,a,select,output){background:var(--pp-surface)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
html[data-student-theme="dark"] body #ca-audio-player .ca-audio-instructions{background:#dba300!important;color:#241900!important}
html[data-student-theme="dark"] body #ca-voice-install .ca-voice-instructions{color:var(--pp-ink)!important}

/* PadhoPlus shared UI, 2026-10. Loaded last, after component and dark-theme rules.
   Keep content geometry, test states, audio highlighting and mobile safe areas
   under their own controllers. Tokens below also serve newly added pages. */
:root{--ui-accent:#ad1858;--ui-accent-hover:#8e1248;--ui-soft:#fbf0f5;--ui-radius:16px;--ui-focus:#376ba2;--ui-shadow:0 3px 16px #1d355208;--ui-space:clamp(16px,2vw,28px)}
body{font-weight:700;line-height:1.55;-webkit-font-smoothing:antialiased}
:is(button,input,select,textarea){font-family:inherit}
:is(h1,h2,h3,h4,strong,b){font-weight:700}
:is(button,.btn,.login-btn,.text-link,.tab,summary){font-weight:700}
:is(input,textarea)::placeholder{font-weight:700;color:var(--pp-muted)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
:is(button,.btn,a){-webkit-tap-highlight-color:transparent}
.brand-wordmark{display:block;object-fit:contain;width:180px;height:60px;max-width:100%;flex:none}
.brand{gap:0;min-width:0}.brand>span{display:block;min-width:0}.brand-tag,.dashboard-brand-caption{display:block;font-size:14px!important;letter-spacing:0!important;line-height:1.4;margin-top:-3px!important;max-width:240px;white-space:normal!important;color:var(--pp-muted)!important}
#shell :is(.site-header,.dashboard-header){box-shadow:0 1px 0 var(--pp-line);border-bottom:1px solid var(--pp-line)!important}
#shell .header-main{gap:16px;padding-block:10px;min-height:82px}
#shell .desktop-study-links{gap:3px;flex-wrap:wrap}
#shell .desktop-study-links>a{padding:9px 10px;font-size:14px;line-height:1.4;font-weight:700;border:0;border-radius:8px;white-space:nowrap;text-decoration:none;box-shadow:none!important}
#shell .desktop-study-links>a:hover{background:var(--pp-wash)!important}
#shell .desktop-study-links>a.active{background:var(--ui-soft)!important;color:var(--ui-accent)!important;box-shadow:inset 0 -2px var(--ui-accent)!important}
/* Education keeps only About beside Search; other services live inside About. */
#shell .header-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
#shell .header-main>.brand{grid-column:2;grid-row:1}
#shell .header-main>.menu-btn{grid-column:1;grid-row:1;align-self:center;margin-top:0}
#shell .header-main>.head-tools{grid-column:3;grid-row:1;width:auto;min-width:0;margin-left:0;align-self:center}
#shell .dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:82px;padding-block:14px}
#shell .dashboard-header .dashboard-heading{display:flex;align-items:center;justify-content:flex-start;gap:18px;padding-left:0;margin:0;min-width:0;width:auto}
#shell .dashboard-heading>.dashboard-mobile-wordmark{flex:0 0 auto}
#shell .dashboard-heading>.dashboard-greeting{min-width:0;display:grid;gap:3px}
#shell .dashboard-greeting :is(small,strong){display:block;max-width:100%;margin:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
#shell .dashboard-tools{width:auto;min-width:0;flex-wrap:nowrap;align-items:center;align-self:center}
#shell .dashboard-header .dashboard-tools>#menu-btn{position:static;transform:none;flex-shrink:0}
#shell .header-search-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1 1 auto;max-width:100%}
#shell .header-search-row>.public-section-links{display:flex;align-items:center;gap:4px;flex:0 0 auto;min-width:0;max-width:100%;margin:0;padding:3px 0;border:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--pp-line) transparent;scroll-padding-inline:4px}
#shell .public-section-links>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0;min-height:44px;padding:8px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:inherit;font-size:16px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:none}
#shell .public-section-links>a:hover{background:rgba(245,196,81,.12);border-bottom-color:#c99725;color:inherit}
#shell .public-section-links>a:is(.active,[aria-current=page]){background:transparent;border-bottom-color:#c99725;color:inherit;box-shadow:none}
#shell .public-section-links>a:focus-visible{outline:3px solid var(--ui-focus);outline-offset:0;border-radius:4px}
#shell .header-search-row>.search-mini{flex:0 0 clamp(130px,13vw,190px);width:clamp(130px,13vw,190px);min-width:0;max-width:190px;margin:0;height:44px}
@media(max-width:850px){
 #shell .header-main{grid-template-columns:auto minmax(0,1fr)}
 #shell .header-main>.brand{grid-column:1/-1;grid-row:1}
 #shell .header-main>.menu-btn{grid-column:1;grid-row:2}
 #shell .header-main>.head-tools{grid-column:2;grid-row:2;width:100%}
 #shell .dashboard-header{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding-block:12px}
 #shell .dashboard-header .dashboard-heading{justify-content:space-between;gap:14px}
 #shell .dashboard-heading>.dashboard-greeting{flex:1;justify-items:end}
 #shell .dashboard-greeting :is(small,strong){text-align:right}
 #shell .head-tools,#shell .dashboard-tools{width:100%;flex-wrap:wrap;gap:8px}
 #shell .head-tools>.header-search-row{flex:1 1 100%}
 #shell .dashboard-tools>.header-search-row{flex:1 1 calc(100% - 52px)}
 #shell .header-search-row{gap:6px}
 #shell .header-search-row>.search-mini{flex:0 0 100px;width:100px;max-width:100px}
 #shell .head-tools>.lang,#shell .dashboard-tools>.lang{margin-left:auto}
 #shell .public-section-links>a{padding:8px 9px;font-size:15px}
}
#shell :is(.search-mini,.account-menu>summary){border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper)!important;min-height:42px}
#shell .search-mini{max-width:230px;width:clamp(150px,15vw,215px)}
#shell .search-mini input{background:transparent;color:var(--pp-ink);font-weight:700}
#shell .search-mini:focus-within{outline:2px solid var(--ui-focus);outline-offset:2px}
#shell :is(.lang,.dashboard-tools .lang){border-color:var(--pp-line);border-radius:10px;background:var(--pp-wash)!important}
#shell .lang button{min-height:32px;padding:5px 9px;box-shadow:none!important;background:transparent!important;color:var(--pp-muted)!important}
#shell .lang button.active{background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;box-shadow:0 1px 4px #1833521a!important}
#shell .lang button::after,#shell .desktop-study-links>a::after{display:none!important}
#shell :is(.menu-btn,.dashboard-menu-btn){border-color:var(--pp-line)!important;background:var(--pp-reading-paper)!important;min-width:42px;min-height:42px;border-radius:10px;color:var(--pp-ink)!important}
#shell .login-btn{background:var(--ui-accent)!important;color:#fff!important;border:1px solid var(--ui-accent)!important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;font-size:14px}
#shell .dashboard-heading strong{font-size:20px;line-height:1.3;letter-spacing:-.02em}
#shell .dashboard-heading small{color:var(--pp-muted);font-weight:700}
#shell #dashboard-sidebar,#shell #main-nav{background:var(--pp-reading-paper)!important;background-image:none!important;border-color:var(--pp-line)!important;box-shadow:var(--ui-shadow)}
#shell #dashboard-sidebar .dashboard-brand-row{padding-bottom:14px;border-bottom:1px solid var(--pp-line)}
#shell #dashboard-sidebar .brand-wordmark{width:174px;height:58px}
#shell .dashboard-nav-label{font-size:14px;font-weight:700!important;letter-spacing:.08em;color:var(--pp-muted)!important;margin:24px 0 10px}
#shell :is(#dashboard-sidebar .dashboard-nav,#main-nav)>a[data-nav-art]{background:transparent!important;background-image:none!important;border:1px solid transparent!important;border-radius:9px;min-height:44px;color:var(--pp-muted)!important;font-weight:700;box-shadow:none!important}
#shell :is(#dashboard-sidebar .dashboard-nav,#main-nav)>a[data-nav-art]:hover{background:var(--pp-wash)!important;color:var(--pp-ink)!important}
#shell :is(#dashboard-sidebar .dashboard-nav,#main-nav)>a[data-nav-art]:is(.active,[aria-current=page]){background:var(--ui-soft)!important;color:var(--ui-accent)!important;border-color:transparent!important;box-shadow:inset 3px 0 var(--ui-accent)!important}
#shell :is(#dashboard-sidebar .dashboard-nav,#main-nav)>a[data-nav-art]::after{display:none!important}
#shell .app-bottom-nav{background:var(--pp-reading-paper)!important;border-top:1px solid var(--pp-line)!important;box-shadow:0 -3px 15px #19355109;padding-top:6px}
#shell .app-bottom-nav>a{color:var(--pp-muted)!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:10px;padding:7px 3px;min-width:0;min-height:48px;font-weight:700}
#shell .app-bottom-nav>a.active{background:var(--ui-soft)!important;color:var(--ui-accent)!important}
#shell .app-bottom-nav>a::after{display:none!important}
#shell .app-bottom-nav>a>span{font-size:14px;line-height:1.3;white-space:normal}
#shell .app-bottom-nav svg{width:21px;height:21px;stroke-width:1.8}
/* Clear page and action hierarchy, shared with future screens. */
.page>.page-top,.page .cas-heading,.ca-tests>.cat-heading{background:transparent!important;border:0!important;border-bottom:1px solid var(--pp-line)!important;border-radius:0!important;padding:6px 0 22px!important;margin-bottom:24px!important;box-shadow:none!important}
.page-top .page-title,.cas-heading h1,.cat-heading h1{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.25;letter-spacing:-.025em;margin:7px 0 8px}
.page-top .crumb,.cas-eyebrow{font-size:14px!important;font-weight:700!important;letter-spacing:.1em;color:var(--pp-muted)!important}
.page-top .page-intro,.cas-heading p{font-size:14px!important;line-height:1.7;font-weight:700;color:var(--pp-muted)!important;max-width:760px}
.page :is(.card,.empty,.auth-card,.profile-card,.question-panel,.result-panel,.control-main){border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
.card:hover{transform:none}
.page :is(.course-card,.subject-card,.test-card){border-top-width:3px}
.page :is(.course-card,.test-card) h3{font-size:21px;line-height:1.4;letter-spacing:-.01em}
.page :is(.course-card,.test-card) p{font-size:14px;line-height:1.7;font-weight:700}
.page :is(.course-card,.test-card) .overline{font-size:14px;font-weight:700;letter-spacing:.09em}
.page .topic-row{min-height:60px;padding:16px 18px;font-size:17px!important;font-weight:700!important;border-radius:12px}
.page .topic-row small{font-size:14px;font-weight:700}
:is(.btn.primary,.btn.dark){background:var(--ui-accent)!important;color:#fff!important;border:1px solid var(--ui-accent)!important;min-height:44px;border-radius:10px;box-shadow:none}
:is(.btn.primary,.btn.dark):hover:enabled{background:var(--ui-accent-hover)!important;transform:none}
.btn.subtle,.btn.light{background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border:1px solid var(--pp-line)!important;border-radius:10px;min-height:42px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.field{font-size:14px;font-weight:700;line-height:1.5}
.field :is(input,select,textarea){border:1px solid var(--pp-line);border-radius:10px;font-size:16px;min-height:44px;background:var(--pp-reading-paper);color:var(--pp-ink);font-weight:700}
.field input[type=checkbox],.field input[type=radio]{min-height:0}
.field :is(input,select,textarea):focus{border-color:var(--ui-focus)}
.empty{padding:32px 24px;border:1px dashed var(--pp-line);font-size:14px;line-height:1.7;color:var(--pp-muted)}
.empty strong{font-size:18px;font-weight:700}
/* Directory: one purpose per card; whole cards remain native links. */
.store-directory{max-width:1240px;margin-inline:auto}
.store-category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
#app .store-directory .store-category{--category-color:#23486d;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:22px 20px;border:1px solid var(--pp-line);border-radius:16px;background:var(--pp-reading-paper)!important;box-shadow:var(--ui-shadow);color:var(--pp-ink);transition:border-color .15s,box-shadow .15s}
#app .store-directory .store-category:nth-child(2){--category-color:#a51958}
#app .store-directory .store-category:nth-child(3){--category-color:#6751a2}
#app .store-directory .store-category:nth-child(4){--category-color:#177260}
#app .store-directory .store-category:nth-child(5){--category-color:#99651c}
.store-category-number{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--pp-wash);color:var(--category-color);font-size:14px;font-weight:700;box-shadow:inset 0 0 0 1px var(--pp-line)}
.store-category h2{font-size:18px!important;line-height:1.35;margin:3px 0 0;letter-spacing:-.01em}
.store-category p{font-size:14px;line-height:1.65;color:var(--pp-muted);margin:0 0 8px;font-weight:700}
.store-category-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:14px;font-weight:700;color:var(--category-color)}
#app .store-directory .store-category:hover{border-color:var(--category-color);box-shadow:0 5px 18px #2137530d}
.store-subjects{margin-top:36px;padding:24px;border:1px solid var(--pp-line);border-radius:16px;background:var(--pp-reading-paper)}
.store-section-heading h2{font-size:20px;margin:0 0 5px}.store-section-heading p{font-size:14px;color:var(--pp-muted);margin:0 0 20px}
.store-subject-links{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}
.store-subject{position:relative;background:var(--pp-wash)!important;border:1px solid var(--pp-line)!important;color:var(--pp-ink)!important;font-size:14px;font-weight:700;padding:13px 32px 13px 15px;min-height:48px;line-height:1.5;border-radius:10px}
.store-subject::after{content:'→';position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--pp-muted)}
.store-subject:hover{border-color:var(--ui-accent)!important;color:var(--ui-accent)!important}
/* Forms, downloads, Help, policies and account pages use the same surfaces. */
#app .ca-store :is(.cas-selector,.cas-selected,.cas-included,.cas-download-footer){background:var(--pp-reading-paper)!important;border-color:var(--pp-line)!important;box-shadow:var(--ui-shadow);border-radius:14px}
#app .ca-store .cas-selected{border-left:3px solid var(--ui-accent)!important}
#app .ca-store :is(.cas-primary,.cas-download){background:var(--ui-accent)!important;color:#fff!important;border-color:var(--ui-accent)!important}
#app .ca-store .cas-download :is(strong,small,span){color:inherit!important}
#app .ca-store .cas-file-icon{border-color:#ffffff70}
#app :is(.student-photo-card,.student-profile-form,.student-settings form,.public-policy .policy-document,.account-policy-actions){border-color:var(--pp-line);border-radius:16px;box-shadow:var(--ui-shadow)}
#app .public-policy .policy-document p{font-weight:700;font-size:15px;line-height:1.85}
#app #support-ticket-form{max-width:760px;background:var(--pp-reading-paper)!important;background-image:none!important;padding:24px}
#auth-page .auth-brand-logo{display:block;width:240px;height:80px;object-fit:contain;max-width:100%;margin-bottom:18px}
#auth-page .auth-intro{background:#eef2f9;border-color:var(--pp-line)}
#auth-page .auth-card{border-color:var(--pp-line)}
/* Footer remains fully reachable above the existing app safe-area offset. */
.footer{border-top:1px solid var(--pp-line)!important;background:var(--pp-reading-paper)!important;margin-top:40px;padding:32px 0 22px!important}
.footer .wrap.footer-grid{display:grid;grid-template-columns:1fr .65fr 1.4fr;gap:24px 40px;align-items:start}
.footer-brand p{font-size:14px;line-height:1.7;max-width:280px;margin:8px 0;color:var(--pp-muted)}
.footer .brand-wordmark{width:172px;height:57px}.footer small{font-size:14px!important;line-height:1.7;font-weight:700;color:var(--pp-muted)!important;margin-top:0}
.footer .footer-links{display:grid;gap:8px;align-content:start}
.footer .footer-links h2{font-size:14px;color:var(--pp-ink);font-weight:700;letter-spacing:.01em;margin:12px 0 8px}
.footer .footer-links a{font-size:14px;font-weight:700;line-height:1.55;text-decoration:none;color:var(--pp-muted)!important;justify-self:start}
.footer .footer-links a:hover{color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:4px}
.footer .footer-links:last-of-type{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.footer .footer-links:last-of-type h2{grid-column:1/-1}
.footer-bottom{grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--pp-line)}
.footer-bottom small:last-child{max-width:680px}
/* Existing dark preference stays an actual dark theme, including brand contrast. */
html[data-student-theme=dark]{--ui-soft:#392336;--ui-accent:#ff9ac4;--ui-accent-hover:#ffc0db;--ui-focus:#9dc6ff;--ui-shadow:0 3px 16px #0002}
html[data-student-theme=dark] :is(.brand-wordmark,.auth-brand-logo){background:#fff;border-radius:8px}
html[data-student-theme=dark] :is(.btn.primary,.btn.dark,#shell .login-btn,#app .ca-store .cas-primary,#app .ca-store .cas-download){background:#ad1858!important;color:#fff!important;border-color:#cc5687!important}
html[data-student-theme=dark] #auth-page :is(.auth-intro,.auth-card){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important}
html[data-student-theme=dark] #auth-page :is(p,h1,h2,li,small,.auth-overline){color:var(--pp-ink)!important}
html[data-student-theme=dark] .store-category-number{color:var(--pp-ink)}
html[data-student-theme=dark] .store-category-action{color:var(--ui-accent)}
@media(min-width:1101px){#shell .head-tools{gap:10px;margin-left:auto}#shell .brand{max-width:235px}#shell .header-main{gap:16px}}
@media(min-width:851px) and (max-width:1200px){.store-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#shell .desktop-study-links>a{padding-inline:7px;font-size:14px}#shell .brand-wordmark{width:156px;height:52px}#shell .search-mini{width:160px}}
@media(max-width:850px){#shell .header-main{gap:8px;min-height:64px;padding-block:6px}#shell .brand-wordmark{width:144px;height:48px}.brand-tag{display:none!important}#shell .dashboard-mobile-wordmark{display:block}#shell .dashboard-mobile-wordmark .brand-wordmark{width:112px;height:37px}#shell .dashboard-heading strong{font-size:16px}#shell .dashboard-heading small{font-size:14px}.store-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.footer .wrap.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}.footer .footer-links:last-of-type{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.page>.page-top,.page .cas-heading{padding-bottom:18px!important;margin-bottom:20px!important}}
@media(max-width:480px){#shell .brand-wordmark{width:124px;height:42px}#shell .header-main{gap:7px}#shell .login-btn{padding:9px 10px;font-size:14px}#shell .lang button{padding:5px 7px}.store-category-grid{grid-template-columns:1fr 1fr;gap:10px}#app .store-directory .store-category{padding:16px 13px;gap:8px}.store-category h2{font-size:16px!important}.store-category p{font-size:14px}.store-category-action{font-size:14px}.store-subjects{padding:18px 14px;margin-top:24px}.store-subject-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-subject{font-size:14px;padding-left:10px}.footer .wrap.footer-grid{gap:18px}.footer .footer-links a{min-height:30px;display:flex;align-items:center}.page :is(.course-card,.test-card) p{font-size:14px}}
@media(max-width:359px){.store-category-grid,.store-subject-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.store-category,.btn{transition:none!important}.btn:hover{transform:none}}
@media print{.footer,#shell{display:none!important}}

.install-card{max-width:760px;margin-inline:auto!important;padding:clamp(22px,4vw,38px)!important;background-image:none!important}
.install-brand-icon{display:block;object-fit:contain;border:1px solid var(--pp-line);border-radius:18px;margin-bottom:20px}
.install-card h1{font-size:clamp(25px,3vw,32px);line-height:1.3}.install-card h3{font-size:17px;margin:26px 0 8px}

html[data-student-theme=dark] #auth-page .field :is(input,select,textarea){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
#shell .dashboard-heading strong{color:var(--pp-ink)!important}
#shell .dashboard-mobile-wordmark{display:block}
#shell .dashboard-mobile-wordmark .brand-wordmark{width:130px;height:43px}
@media(max-width:850px){#shell .dashboard-mobile-wordmark .brand-wordmark{width:112px;height:37px}}

/* Owner readability update: bold, larger text throughout the existing layouts. */
body{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Devanagari",sans-serif;font-size:16px}
body,body *{font-weight:700!important}
:root{--pp-muted:#43546a;--pp-line:#bdcbdc;--chooser-surface:#fff;--chooser-selected:#ffdf91;--chooser-text:#20334d;--chooser-secondary:#42546b;--chooser-border:#a7bad1}
html[data-student-theme=dark]{--pp-muted:#c0cddd;--chooser-surface:#182a40;--chooser-selected:#805116;--chooser-text:#f1f6ff;--chooser-secondary:#c0cddd;--chooser-border:#607895}
#app :is(p,li,label,select,input,textarea){font-size:16px}
#app :is(small,.crumb,.overline,.eyebrow){font-size:14px}
#app :is(input,select,textarea){line-height:1.5}
#app select{min-height:46px;max-width:100%;border:1px solid var(--chooser-border);border-radius:10px;padding:10px 12px;background-color:var(--chooser-surface);color:var(--chooser-text);cursor:pointer}
#app select option{background:var(--chooser-surface);color:var(--chooser-text);font-size:16px}
#shell .app-bottom-nav>a>span{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
#shell .brand-tag,#shell .dashboard-brand-caption{font-size:12px!important}
#shell .desktop-study-links>a{font-size:14px}
#app .ca-tests{font-family:inherit;font-size:16px;color:var(--chooser-text)}
#app .cat-ready{background:var(--chooser-surface)!important;background-image:none!important;border:1px solid var(--chooser-border)!important;border-top:4px solid #315e9b!important;box-shadow:0 6px 22px #1836540c}
#app .cat-ready :is(p,label,.cat-eyebrow,.cat-marking-profile){color:var(--chooser-secondary);font-size:15px}
#app .cat-ready h2{font-size:clamp(22px,2.3vw,28px);color:var(--chooser-text)}
#app .cat-pills>span{background:var(--pp-wash);color:var(--chooser-text);border:1px solid var(--chooser-border);font-size:14px;padding:7px 10px}
#app .ca-tests .cat-start .cat-login-start{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border:1px solid #a86005!important;border-radius:10px;background:#f5a623!important;background-image:none!important;color:#302007!important;font-size:18px!important;box-shadow:0 3px 8px #a6631720;text-align:center}
#app .ca-tests .cat-start .cat-login-start:hover{background:#ef9512!important}
/* Use opaque, high-contrast choices. Selection remains visibly gold and checked. */
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install){--chooser-ink:var(--chooser-text);--chooser-muted:var(--chooser-secondary);--chooser-line:var(--chooser-border);background:var(--chooser-surface)!important;color:var(--chooser-text)!important}
:is(body,#app,#shell) .ca-period-popup[data-chooser]:not(#ca-audio-player,#ca-voice-install)>.ca-popup-body{background:var(--chooser-surface)!important;padding:10px}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>a,.period-choice,.ca-test-links nav>a,.ca-topic-tests-link,.ca-store-links>a,.ca-state-picker-list>button,.cat-route){background:var(--chooser-surface)!important;border:1px solid var(--chooser-border)!important;border-left:4px solid #356aa0!important;color:var(--chooser-text)!important;border-radius:10px;min-height:48px;padding:12px;line-height:1.5;font-size:16px!important;box-shadow:0 2px 5px #12345608!important}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options):not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-choices>[data-topic-art][data-topic-art],.ca-state-picker-list>[data-state-art][data-state-art]){background:var(--chooser-surface)!important;border-left-color:#356aa0!important;color:var(--chooser-text)!important}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog):not(#ca-audio-player,#ca-voice-install) :is(.ca-topic-label,.cat-route h3,.period-choice strong,.ca-test-links nav>a){font-size:16px!important;line-height:1.5;color:inherit!important}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog):not(#ca-audio-player,#ca-voice-install) :is(a,button):is(.active,.selected,[aria-current=page],[aria-pressed=true]){background:var(--chooser-selected)!important;border-color:#ba7a12!important;color:var(--chooser-text)!important;box-shadow:inset 0 0 0 1px #ba7a12!important}
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options):not(#ca-audio-player,#ca-voice-install) :is([data-topic-art][data-topic-art],[data-state-art][data-state-art]):is(.active,.selected,[aria-current=page],[aria-pressed=true]){background:var(--chooser-selected)!important;border-left-color:#ba7a12!important}
:is(body,#app,#shell) :is(.cat-chooser-dialog,.cas-settings-dialog):not(#ca-audio-player,#ca-voice-install) :is(input,select){min-height:46px;height:auto;background:var(--chooser-surface)!important;border:1px solid var(--chooser-border)!important;border-radius:10px;font-size:16px!important;padding:10px;color:var(--chooser-text)!important}
:is(body,#app,#shell) :is(.cat-chooser-dialog,.cas-settings-dialog,.ca-state-options):not(#ca-audio-player,#ca-voice-install) :is(.cat-dialog-heading,.cas-dialog-heading,.ca-state-picker-heading,.cat-dialog-actions){background:var(--pp-wash)!important;color:var(--chooser-text)!important}
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(.cat-dialog-heading h2,.cat-chooser-period-title){font-size:20px!important}
:is(body,#app,#shell) .cat-chooser-dialog:not(#ca-audio-player,#ca-voice-install) :is(label,.cat-popup-subtitle,.cat-chooser-status,.cat-selection-help p){font-size:15px!important;color:var(--chooser-secondary)!important}
#app .cat-chooser-dialog .cat-routes{gap:10px}
#app .cat-chooser-dialog .cat-dialog-actions button{min-height:46px;font-size:16px}
#app .cat-chooser-dialog .cat-dialog-actions .cat-primary{background:#ad1858!important;color:#fff!important;border-color:#ad1858!important}
@media(max-width:480px){#app .cat-chooser-dialog .cat-filters{grid-template-columns:1fr}#app .cat-chooser-dialog .cat-routes{grid-template-columns:repeat(2,minmax(0,1fr))}#app .cat-chooser-dialog .cat-route{padding:10px}#shell .login-btn{font-size:14px}#shell .dashboard-heading small{font-size:12px}}
/* Selection controls use the same crisp UI typeface even on reading pages. */
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog,.cat-ready):not(#ca-audio-player,#ca-voice-install),
:is(body,#app,#shell) :is(.ca-period-popup[data-chooser],.ca-state-options,.cat-chooser-dialog,.cas-settings-dialog,.cat-ready):not(#ca-audio-player,#ca-voice-install) :is(button,input,select){font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Devanagari",sans-serif!important}

/* App navigation already supplies destinations. Keep policies in its menu. */
body.app-navigation-visible .footer{display:none!important}
.app-policy-menu{margin-top:20px;border-top:1px solid var(--pp-line);padding-top:12px;color:var(--pp-ink)}
.app-policy-menu summary{padding:12px 8px;min-height:44px;cursor:pointer;font-size:15px}
#shell .app-policy-menu nav{display:grid;gap:4px;padding:6px 0}
#shell .app-policy-menu nav a{display:block;min-height:44px;padding:11px 10px;font-size:14px;line-height:1.5;white-space:normal;color:var(--pp-ink)!important;border-radius:8px}
#shell .app-policy-menu nav a:hover{background:var(--pp-wash)}
/* Same card width as the previous 3/2/1-column catalogue, now in one rail. */
#courses-catalog .course-catalog-grid[data-course-track]{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--pp-line) transparent;padding:5px 0 14px;touch-action:pan-x pan-y pinch-zoom pinch-zoom;cursor:grab}
#courses-catalog [data-course-track]>.course-catalog-card{scroll-snap-align:start;scroll-snap-stop:always;align-self:stretch}
#courses-catalog [data-course-track].course-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
#courses-catalog .course-section-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#courses-catalog .course-section-title>.overline{flex-basis:100%}
.course-rail-controls{display:flex;gap:8px;margin-left:auto}
.course-rail-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);color:var(--pp-ink);font-size:20px}
.course-rail-controls button:disabled{opacity:.4;cursor:default}
#course-details-dialog .course-option-validity{display:block;margin-top:7px;font-size:15px;line-height:1.55}
#course-details-dialog .course-price-option small{white-space:normal}
#course-details-dialog .course-checkout{opacity:1}
:is(#courses-catalog,#home-store) .course-tile-plan small{line-height:1.5;white-space:normal;overflow-wrap:normal}
@media(max-width:1100px){#courses-catalog .course-catalog-grid[data-course-track]{grid-auto-columns:calc((100% - 22px)/2)}}
@media(max-width:600px){#courses-catalog .course-catalog-grid[data-course-track]{grid-auto-columns:100%;gap:18px}.course-rail-controls{margin-left:0;flex-basis:100%}}

/* Photo-free Current Affairs paper in both display themes. */
#app .story[data-story-palette],#app .story[data-story-palette] *{background-image:none!important}
#app .story[data-story-palette]::before,#app .story[data-story-palette]::after{background-image:none!important}
#app .story[data-story-palette]{background-color:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;box-shadow:0 3px 14px #19314a08;border-radius:14px}
#app .story[data-story-palette] :is(h2,h3,strong,.meta,.sources,small,.story-static strong,.answer-box legend){color:var(--pp-ink)!important}
#app .story[data-story-palette] :is(.story-facts-heading,.story-facts th,.mcq-preview>summary){background:var(--pp-wash)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
#app .story[data-story-palette] :is(.story-facts td,.story-facts tr:nth-child(2n) td,.story-clarification,.story-focus,.story-static,.story-comparison,.revision,.mcq-preview,.mcq-preview .answer-box){background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;border-color:var(--pp-line)!important}
#app .story[data-story-palette] :is(.story-news,.story-static,.story-facts td){line-height:1.8;text-align:justify}
#app .story[data-story-palette] :is(.story-summary,.story-static,.story-facts td){line-height:1.8;text-align:justify!important}

#app .story[data-story-palette] :is(.story-news,.story-summary,.story-static,.story-facts td){text-align-last:start; text-justify:inter-word;hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}

/* Library download selection uses the existing responsive document controls. */
.library-items{display:grid;gap:10px;margin:16px 0;max-height:480px;overflow:auto}
.library-item{display:flex;align-items:start;gap:12px;padding:14px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper)}
.library-item input{flex:none;width:20px;height:20px;margin-top:4px}
.library-item span{min-width:0}.library-item small{display:block;margin-top:6px;color:var(--pp-muted)}
#library-downloads .card{margin-bottom:20px}#library-downloads .cas-format-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
#library-downloads select{width:100%;min-height:46px}#library-downloads label{font-weight:700}#library-downloads [data-lib-download]{min-height:50px;margin-top:14px}

/* Subject catalogue: larger reading type and a focused, accessible topic preview.
   Scope every rule to this catalogue/dialog; existing learning pages are unchanged. */
#subject-catalogue{max-width:1280px;margin-inline:auto;color:var(--pp-ink)}
#subject-catalogue .subject-catalogue-heading{padding:4px 0 22px;margin-bottom:22px;border-bottom:1px solid var(--pp-line);background:none!important}
#subject-catalogue .subject-catalogue-heading .overline{font-size:14px;letter-spacing:.07em;color:var(--ui-accent);margin:0 0 7px}
#subject-catalogue .subject-catalogue-heading h1{font-size:clamp(30px,3vw,36px);line-height:1.25;letter-spacing:-.025em;margin:0 0 10px;color:var(--pp-ink)}
#subject-catalogue .subject-catalogue-heading p{max-width:760px;font-size:18px;line-height:1.65;margin:0;color:var(--pp-muted)}
#subject-catalogue .subject-catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
#subject-catalogue .subject-catalogue-card{--subject-accent:#395c9c;--subject-tint:#edf2fc;appearance:none;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;min-height:190px;width:100%;height:100%;padding:18px 20px;border:1px solid var(--pp-line);border-top:3px solid var(--subject-accent);border-radius:15px;background:var(--pp-reading-paper)!important;background-image:none!important;color:var(--pp-ink)!important;box-shadow:var(--ui-shadow);font-family:inherit;font-size:18px;line-height:1.5;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;touch-action:manipulation}
#subject-catalogue .subject-catalogue-card.subject-tone-1{--subject-accent:#7653a3;--subject-tint:#f2edf9}
#subject-catalogue .subject-catalogue-card.subject-tone-2{--subject-accent:#916022;--subject-tint:#fbf3e5}
#subject-catalogue .subject-catalogue-card.subject-tone-3{--subject-accent:#26776b;--subject-tint:#eaf6f1}
#subject-catalogue .subject-catalogue-card.subject-tone-4{--subject-accent:#ad1858;--subject-tint:#fbecf3}
#subject-catalogue .subject-catalogue-card::before,#subject-catalogue .subject-catalogue-card::after{display:none!important}
#subject-catalogue .subject-card-heading{display:flex;align-items:center;gap:12px;min-width:0;width:100%}
#subject-catalogue .subject-card-icon{display:grid;place-items:center;width:42px;height:42px;padding:0 5px;border-radius:11px;background:var(--subject-tint);color:var(--subject-accent);font-size:21px;line-height:1;flex:0 0 42px}
#subject-catalogue .subject-catalogue-card .subject-card-title{display:block;min-width:0;font-size:26px;line-height:1.3;letter-spacing:-.02em;margin:0;color:var(--subject-accent)!important;white-space:normal;overflow-wrap:anywhere}
#subject-catalogue .subject-card-meta{display:block;font-size:15px;line-height:1.5;color:var(--pp-muted);padding-top:1px}
#subject-catalogue .subject-card-action{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 12px;margin-top:auto;border:1px solid #ad1858;border-radius:9px;background:#ad1858;color:#fff!important;font-size:16px;line-height:1.4;white-space:normal}
#subject-catalogue .subject-catalogue-card:focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}
@media(hover:hover){#subject-catalogue .subject-catalogue-card:hover{border-color:var(--subject-accent);box-shadow:0 6px 18px #20334d12;transform:translateY(-2px)}#subject-catalogue .subject-catalogue-card:hover .subject-card-action{background:#8e1248;border-color:#8e1248}}

#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog{--pp-popup-paper:var(--pp-reading-paper);--pp-popup-choice:var(--pp-reading-paper);--pp-popup-ink:var(--pp-ink);--pp-popup-line:var(--pp-line);width:min(1000px,calc(100% - 32px));max-width:1000px;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid var(--pp-line);border-radius:22px;background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;box-shadow:0 28px 90px #14233840;overflow:hidden;font-family:inherit}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog::backdrop{background:#15253f99;backdrop-filter:blur(3px)}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog[open]{animation:subject-preview-zoom .22s cubic-bezier(.2,.8,.2,1)}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-shell{max-height:calc(100dvh - 34px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:24px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-content{padding:34px;min-width:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-close{position:absolute;right:14px;top:14px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;font-family:inherit;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #1423380a}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading{padding:0 40px 24px 0;margin-bottom:26px;border-bottom:1px solid var(--pp-line)}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading .overline{font-size:15px;line-height:1.5;color:var(--ui-accent)!important;letter-spacing:.04em;margin-bottom:8px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading h2{font-size:30px;line-height:1.35;letter-spacing:-.02em;margin:0 0 10px;color:var(--pp-ink)!important;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading p{font-size:18px;line-height:1.7;color:var(--pp-muted)!important;margin:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:28px;align-items:start}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog :is(.subject-detail-topics,.subject-detail-sidebar,.subject-purchase-panel,.subject-materials-panel,.subject-offer){min-width:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog :is(.subject-detail-topics,.subject-purchase-panel,.subject-materials-panel)>h3{font-size:22px;line-height:1.4;color:var(--pp-ink)!important;margin:0 0 16px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-group+ .subject-topic-group{margin-top:24px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-group h4{font-size:18px;line-height:1.6;margin:0 0 10px;color:var(--pp-ink)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-list{display:grid;gap:10px;list-style:none;padding:0;margin:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-list li{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:13px 14px;border:1px solid var(--pp-line);border-radius:11px;background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;font-size:18px;line-height:1.6}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-number{display:grid;place-items:center;flex:0 0 30px;min-width:30px;min-height:30px;border-radius:8px;background:var(--pp-wash);color:var(--pp-muted)!important;font-size:15px;font-variant-numeric:tabular-nums;line-height:1.4}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog :is(.subject-topic-text,.subject-topic-list li>span:last-child){min-width:0;white-space:normal;word-break:normal;overflow-wrap:anywhere;hyphens:none}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-sidebar{display:grid;gap:16px;position:sticky;top:20px;min-width:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-purchase-panel{padding:22px;border:1px solid var(--pp-line);border-top:3px solid #ad1858;border-radius:16px;background:var(--pp-wash)!important;color:var(--pp-ink)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer+ .subject-offer{margin-top:22px;padding-top:22px;border-top:1px solid var(--pp-line)}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer h4{font-size:20px;line-height:1.5;margin:0 0 10px;color:var(--pp-ink)!important;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer p,#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog [data-subject-offers]>p{font-size:16px;line-height:1.7;color:var(--pp-muted)!important;margin:8px 0 14px;white-space:normal;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer-includes{padding-left:20px;margin:12px 0 18px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer-includes li{font-size:16px;line-height:1.7;color:var(--pp-muted)!important;margin-bottom:5px;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer fieldset{min-width:0;padding:0;margin:16px 0 0;border:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-offer legend{padding:0;font-size:16px;line-height:1.6;color:var(--pp-ink)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice{display:flex;align-items:flex-start;gap:12px;padding:15px;margin:10px 0;border:1px solid var(--pp-line);border-radius:11px;background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important;font-size:16px;line-height:1.55;cursor:pointer}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice:has(input:checked){border-color:#ad1858;box-shadow:inset 0 0 0 1px #ad1858}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:5px 0 0;accent-color:#ad1858}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice>span{min-width:0;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-amount{display:block;color:var(--pp-ink)!important;font-size:25px;line-height:1.3;margin-bottom:5px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice small{display:block;font-size:15px;line-height:1.6;color:var(--pp-muted)!important;white-space:normal}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-buy-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:13px 16px;margin-top:16px;border:1px solid #ad1858!important;border-radius:11px;background:#ad1858!important;color:#fff!important;font-size:20px;line-height:1.4;text-align:center;white-space:normal;cursor:pointer;text-decoration:none}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-buy-action:hover:enabled{background:#8e1248!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-buy-action:disabled{opacity:.55;cursor:not-allowed}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-buy-note{font-size:15px!important;line-height:1.65!important;margin:12px 0 0!important;color:var(--pp-muted)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-materials-panel{padding:22px;border:1px solid var(--pp-line);border-top:3px solid var(--ui-focus);border-radius:16px;background:var(--pp-reading-paper)!important;color:var(--pp-ink)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-resource-actions{display:grid;gap:12px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-materials-action,#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options>summary,#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-resource-actions>button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;width:100%;padding:12px 14px;border:1px solid var(--pp-line)!important;border-radius:10px;background:var(--pp-wash)!important;color:var(--pp-ink)!important;font-family:inherit;font-size:17px;line-height:1.45;text-align:left;white-space:normal;text-decoration:none;cursor:pointer}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-materials-action{border-color:var(--ui-focus)!important;color:var(--ui-focus)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options>summary{list-style:none}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options>summary::-webkit-details-marker{display:none}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options>summary::after{content:'+';flex:none;font-size:22px;line-height:1}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options[open]>summary::after{content:'−'}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-options[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-list{display:grid;gap:0;margin:0;padding:4px 12px;border:1px solid var(--pp-line);border-top:0;border-radius:0 0 10px 10px;background:var(--pp-reading-paper)}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-list a{display:block;min-height:44px;padding:11px 2px;background:transparent!important;border:0!important;color:var(--ui-accent)!important;font-size:16px;line-height:1.65;text-decoration:underline;text-underline-offset:4px;white-space:normal;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-demo-list a+a{border-top:1px solid var(--pp-line)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-resource-actions>button:disabled{cursor:not-allowed;color:var(--pp-muted)!important;background:var(--pp-reading-paper)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-materials-panel p{font-size:15px;line-height:1.65;margin:14px 0 0;color:var(--pp-muted)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-terms{margin-top:24px;padding-top:20px;border-top:1px solid var(--pp-line);font-size:15px;line-height:1.7;color:var(--pp-muted)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-terms :is(p,li){font-size:15px;line-height:1.7;color:var(--pp-muted)!important;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-terms a{background:transparent!important;border-color:transparent!important;display:inline-flex;align-items:center;min-height:44px;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:4px;margin-right:16px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-empty-state{font-size:16px;line-height:1.7;padding:18px;border:1px dashed var(--pp-line);border-radius:12px;color:var(--pp-muted)!important;background:var(--pp-reading-paper)}
body:has(#subject-catalogue-dialog[open]){overflow:hidden}
@keyframes subject-preview-zoom{from{opacity:0;transform:translateY(10px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
html[data-student-theme=dark] #subject-catalogue .subject-catalogue-card{--subject-accent:#94b8ff;--subject-tint:#223858}
html[data-student-theme=dark] #subject-catalogue .subject-catalogue-card.subject-tone-1{--subject-accent:#c6a7f2;--subject-tint:#352c4b}
html[data-student-theme=dark] #subject-catalogue .subject-catalogue-card.subject-tone-2{--subject-accent:#e7c385;--subject-tint:#3e3426}
html[data-student-theme=dark] #subject-catalogue .subject-catalogue-card.subject-tone-3{--subject-accent:#86cdbf;--subject-tint:#223d3a}
html[data-student-theme=dark] #subject-catalogue .subject-catalogue-card.subject-tone-4{--subject-accent:#ff9ac4;--subject-tint:#422b3c}
html[data-student-theme=dark] #subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-plan-choice:has(input:checked){border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}
@media(max-width:1199px){#subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){#subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:760px){#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-layout{grid-template-columns:minmax(0,1fr);gap:26px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-sidebar{position:static;grid-row:1}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-content{padding:28px 24px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading h2{font-size:27px}}
@media(max-width:599px){#subject-catalogue .subject-catalogue-grid{grid-template-columns:minmax(0,1fr);gap:14px}#subject-catalogue .subject-catalogue-heading{padding-bottom:20px;margin-bottom:20px}#subject-catalogue .subject-catalogue-heading h1{font-size:30px}#subject-catalogue .subject-catalogue-card{min-height:172px;padding:17px 18px;gap:10px}#subject-catalogue .subject-catalogue-card .subject-card-title{font-size:24px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:17px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-shell{max-height:calc(100dvh - 22px)}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-content{padding:28px 18px max(24px,env(safe-area-inset-bottom))}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-dialog-close{right:10px;top:10px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading{padding-right:34px;padding-bottom:20px;margin-bottom:22px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-detail-heading h2{font-size:26px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog :is(.subject-purchase-panel,.subject-materials-panel){padding:18px}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-list li{padding:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog[open]{animation:none}#subject-catalogue .subject-catalogue-card{transition:none}#subject-catalogue .subject-catalogue-card:hover{transform:none}}

/* Subject updates remain beside the catalogue/subject content on wide screens,
   then join the normal page flow on smaller screens. */
#app .subject-updates-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;min-width:0;width:100%}
#app .subject-updates-main{min-width:0;container-type:inline-size;container-name:subject-cards-main}
/* Keep the established card geometry; choose columns from space left beside
   Latest Updates instead of squeezing viewport-based columns into that space. */
@supports (container-type:inline-size){
  #app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:minmax(0,1fr)}
  @container subject-cards-main (min-width:500px){#app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @container subject-cards-main (min-width:720px){#app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @container subject-cards-main (min-width:1120px){#app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
}
@supports not (container-type:inline-size){
  @media(min-width:1200px){#app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(min-width:1001px) and (max-width:1199px){#app .subject-updates-main #subject-catalogue .subject-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
}
#app #subject-latest-updates.subject-updates-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:20px;min-width:0;max-height:calc(100dvh - 40px);padding:18px;border:1px solid var(--pp-line);border-top:3px solid var(--ui-accent);border-radius:16px;background:var(--pp-reading-paper)!important;background-image:none!important;color:var(--pp-ink)!important;box-shadow:var(--ui-shadow)}
#app #subject-latest-updates>:not(.subject-updates-content){flex:none}
#app #subject-latest-updates .subject-updates-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
#app #subject-latest-updates .subject-updates-header h2{margin:0;font-size:22px;line-height:1.35;letter-spacing:-.02em;color:var(--pp-ink)!important;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-updates-refresh{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-wash)!important;color:var(--pp-ink)!important;font-size:22px;line-height:1;cursor:pointer}
#app #subject-latest-updates .subject-updates-refresh:disabled{opacity:.6;cursor:wait}
#app #subject-latest-updates .subject-updates-content{flex:1 1 auto;min-height:100px;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--pp-line) transparent;padding-right:2px}
#app #subject-latest-updates .subject-update-list{display:grid;gap:0;min-width:0}
#app #subject-latest-updates .subject-update-item{padding:16px 0;border:0;border-bottom:1px solid var(--pp-line);background:transparent!important;background-image:none!important;color:var(--pp-ink)!important;min-width:0}
#app #subject-latest-updates .subject-update-item:first-child{padding-top:0}
#app #subject-latest-updates .subject-update-item:last-child{padding-bottom:2px;border-bottom:0}
#app #subject-latest-updates .subject-update-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;font-size:14px;line-height:1.5;color:var(--pp-muted)}
#app #subject-latest-updates .subject-update-kind{display:inline-flex;align-items:center;min-height:27px;padding:3px 7px;border:1px solid var(--pp-line);border-radius:6px;background:var(--pp-wash);color:var(--pp-ink)!important;font-size:14px;line-height:1.4}
#app #subject-latest-updates .subject-update-meta time{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
#app #subject-latest-updates .subject-update-title{margin:10px 0 7px;font-size:18px;line-height:1.5;letter-spacing:-.01em;color:var(--pp-ink)!important;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-context{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--pp-muted)!important;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 0;list-style:none;font-size:15px;line-height:1.5;color:var(--ui-accent)!important;cursor:pointer}
#app #subject-latest-updates .subject-update-details>summary::-webkit-details-marker{display:none}
#app #subject-latest-updates .subject-update-details>summary::after{content:'+';flex:none;font-size:20px;line-height:1}
#app #subject-latest-updates .subject-update-details[open]>summary::after{content:'−'}
#app #subject-latest-updates .subject-update-body{font-size:16px;line-height:1.75;margin:5px 0 10px;color:var(--pp-ink);white-space:pre-wrap;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-body :is(p,li){font-size:16px;line-height:1.75;color:var(--pp-ink)!important}
#app #subject-latest-updates .subject-update-body p{margin:0 0 10px}
#app #subject-latest-updates .subject-update-source-section h4{font-size:14px;line-height:1.5;margin:16px 0 6px;color:var(--pp-muted)!important}
#app #subject-latest-updates .subject-update-sources{padding-left:18px;margin:10px 0 0}
#app #subject-latest-updates .subject-update-sources li{font-size:14px;line-height:1.65;margin:4px 0;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-sources a{display:inline-block;padding:5px 0;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:15px;line-height:1.5;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-title>.subject-update-link{display:block;padding:4px 0;font-size:inherit;line-height:inherit;color:var(--pp-ink)!important;text-decoration:none}
#app #subject-latest-updates .subject-update-title>.subject-update-link:hover{color:var(--ui-accent)!important;text-decoration:underline}
#app #subject-latest-updates .subject-updates-empty{padding:16px 12px;border:1px dashed var(--pp-line);border-radius:10px;background:var(--pp-wash);color:var(--pp-muted);font-size:15px;line-height:1.7}
#app #subject-latest-updates .subject-updates-empty p{font-size:15px;line-height:1.7;margin:0;color:var(--pp-muted)!important}
#app #subject-latest-updates .subject-updates-empty .btn{min-height:44px;width:100%;margin-top:12px;font-size:15px}
#app #subject-latest-updates .subject-owner-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 10px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-reading-paper)!important;color:var(--ui-accent)!important;font-size:14px;line-height:1.5;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-owner-tools{flex:none;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-top:14px;margin:0;border-top:1px solid var(--pp-line)}
@media(max-width:1000px){#app .subject-updates-layout{grid-template-columns:minmax(0,1fr);gap:26px}#app #subject-latest-updates.subject-updates-rail{position:static;max-height:none;width:100%}#app #subject-latest-updates .subject-updates-content{overflow:visible;padding-right:0}#app #subject-latest-updates .subject-owner-tools{display:flex}}
@media(max-height:650px){#app #subject-latest-updates.subject-updates-rail{position:static;max-height:none}#app #subject-latest-updates .subject-updates-content{overflow:visible}}
@media(max-width:479px){#app #subject-latest-updates.subject-updates-rail{padding:16px;gap:12px}#app #subject-latest-updates .subject-updates-header h2{font-size:21px}#app #subject-latest-updates .subject-owner-tools a{flex:1 1 auto}}

/* A subject's Latest Updates topic uses the same reading styles in normal page
   flow. These additions do not alter the catalogue cards or the right-side rail. */
#app #subject-latest-updates.subject-updates-topic{display:flex;flex-direction:column;gap:20px;position:static;width:100%;min-width:0;max-height:none;padding:clamp(18px,2.5vw,28px);border:1px solid var(--pp-line);border-top:3px solid var(--ui-accent);border-radius:16px;background:var(--pp-reading-paper)!important;background-image:none!important;color:var(--pp-ink)!important;box-shadow:var(--ui-shadow)}
#app #subject-latest-updates.subject-updates-topic .subject-updates-header{align-items:flex-start;gap:16px}
#app #subject-latest-updates.subject-updates-topic .subject-updates-header h1{min-width:0;margin:0;font-size:28px;line-height:1.4;align-self:center;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-topic-intro{max-width:80ch;margin:0;font-size:16px;line-height:1.75;color:var(--pp-muted)!important;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-back{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;min-height:44px;max-width:100%;padding:8px 0;color:var(--ui-accent)!important;font-size:16px;line-height:1.5;white-space:normal;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-content{flex:none;min-height:100px;overflow:visible;overscroll-behavior:auto;padding-right:0}
#app #subject-latest-updates.subject-updates-topic .subject-updates-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;width:100%}
#app #subject-latest-updates.subject-updates-topic .subject-update-item{padding-block:24px}
#app #subject-latest-updates.subject-updates-topic .subject-update-item:first-child{padding-top:0}
#app #subject-latest-updates.subject-updates-topic .subject-update-item:last-child{padding-bottom:0}
#app #subject-latest-updates.subject-updates-topic .subject-update-title{max-width:80ch;font-size:20px;line-height:1.6}
#app #subject-latest-updates.subject-updates-topic :is(.subject-update-context,.subject-update-body){max-width:85ch}
#app #subject-latest-updates.subject-updates-topic .subject-update-meta{justify-content:flex-start;gap:8px 16px}
#app #subject-latest-updates.subject-updates-topic .subject-update-meta>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-pagination{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--pp-line);min-width:0}
#app #subject-latest-updates.subject-updates-topic .subject-updates-pagination .btn{min-height:48px;max-width:100%;padding:11px 20px;font-size:16px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-pagination :is(p,[role=status],[role=alert]){margin:0;font-size:14px;line-height:1.7;color:var(--pp-muted)!important;overflow-wrap:anywhere}
#app #subject-latest-updates.subject-updates-topic .subject-updates-pagination .subject-updates-error{flex-basis:100%;min-width:0}
#app #subject-latest-updates.subject-updates-topic .subject-owner-tools{display:flex;flex-wrap:wrap;gap:10px}
#app #subject-latest-updates.subject-updates-topic .subject-owner-tools a{min-height:44px}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-list li.subject-topic-update{padding:0}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-update-link{display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;min-height:44px;padding:13px 14px;border-radius:10px;background:transparent!important;color:var(--ui-accent)!important;font-size:18px;line-height:1.6;white-space:normal;text-decoration:none;overflow-wrap:anywhere}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-update-link:hover{background:var(--pp-wash)!important}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-update-link>span:not(.subject-topic-number):not(.subject-topic-update-arrow){min-width:0;flex:1 1 auto}
#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-update-arrow{flex:0 0 auto;margin-left:auto;color:var(--ui-accent)!important}
@media(max-width:599px){#app #subject-latest-updates.subject-updates-topic{gap:16px;padding:18px}#app #subject-latest-updates.subject-updates-topic .subject-updates-header h1{font-size:25px}#app #subject-latest-updates.subject-updates-topic .subject-update-title{font-size:19px}#app #subject-latest-updates.subject-updates-topic .subject-update-item{padding-block:20px}#app #subject-latest-updates.subject-updates-topic .subject-updates-pagination .btn{width:100%}#subject-catalogue.subject-catalogue dialog#subject-catalogue-dialog.subject-catalogue-dialog .subject-topic-update-link{padding:12px;gap:10px}}

/* Subject pages retain one balanced frame for guests and signed-in students.
   Its maximum includes the existing 1280px catalogue, 24px gap and 300px rail;
   the signed-in shell continues to reserve its own navigation width. */
body.subject-page #app>.wrap.page{width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:1604px;min-width:0;margin-inline:auto}
body.subject-page #app #subject-catalogue{width:100%;min-width:0}
body.subject-page #app .subject-updates-layout{max-width:100%}
body.subject-page.app-navigation-visible #app>.wrap.page{max-width:1280px}

/* The same sourced academic feed appears in the existing home update area. */
#app #subject-latest-updates.subject-updates-home{display:flex;flex-direction:column;gap:14px;position:static;width:100%;min-width:0;padding:18px;border:1px solid var(--pp-line);border-top:3px solid var(--ui-accent);border-radius:16px;background:var(--pp-reading-paper)!important;background-image:none!important;color:var(--pp-ink)!important;box-shadow:var(--ui-shadow)}
#app #subject-latest-updates.subject-updates-home .subject-updates-content{min-width:0;overflow:visible;overscroll-behavior:auto;padding-right:0}
#app #subject-latest-updates .subject-update-subjects{margin:10px 0 0;font-size:15px;line-height:1.7;color:var(--pp-ink)!important;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-subject-label{color:var(--pp-muted)!important}
#app #subject-latest-updates .subject-update-subject-link{display:inline-block;max-width:100%;padding-block:4px;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:3px;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates .subject-update-subject-link:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px;border-radius:3px}

/* App home alternates two intact panels. Only the carousel viewport clips;
   existing Current Affairs scrolling, controls and card styles stay local. */
#app [data-home-study-slider]{min-width:0;width:100%;grid-column:1;align-self:start}
#app [data-home-study-viewport]{width:100%;min-width:0;overflow:hidden;border-radius:16px}
#app [data-home-study-viewport]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
#app [data-home-study-track]{display:flex;align-items:flex-start;width:100%;min-width:0;transition:transform 700ms cubic-bezier(.22,.61,.36,1)}
#app [data-home-study-slide]{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box}
#app [data-home-study-slide]>:is(.home-current,.subject-updates-home){width:100%;min-width:0;margin:0}
/* Keep the departing panel painted throughout its slide; inert/aria-hidden
   in the controller remove interaction and accessibility focus immediately. */
#app [data-home-study-slide][aria-hidden=true]{pointer-events:none}
/* Existing movable CA choosers live outside the card, so they follow its panel. */
.ca-period-popup[data-home-study-inactive]{display:none!important}
#app [data-home-study-slider] [data-home-study-status]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app [data-home-study-slider] [data-home-study-status]:empty{display:none}
#app [data-home-study-slide] #subject-latest-updates.subject-updates-home{max-height:min(560px,70dvh)}
#app [data-home-study-slide] #subject-latest-updates.subject-updates-home .subject-updates-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
/* Only the app dashboard feed moves horizontally. Full update text and its
   source/subject links keep their reading layout inside each card. */
#app #subject-latest-updates[data-subject-updates-placement=app] [data-subject-updates-scroll]{display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;overflow-x:auto;overflow-y:visible;scroll-behavior:auto;scroll-snap-type:none;direction:ltr;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--pp-line) transparent;padding-bottom:8px}
#app #subject-latest-updates[data-subject-updates-placement=app] [data-subject-updates-scroll]>.subject-update-item{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;margin:0;padding:4px 4px 8px;border:0;white-space:normal;overflow-wrap:anywhere}
#app #subject-latest-updates[data-subject-updates-placement=app] [data-subject-updates-scroll]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px;border-radius:4px}
@media(max-width:479px){#app #subject-latest-updates.subject-updates-home{padding:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){#app [data-home-study-track]{transition:none}}

/* Private PDF guidance uses the same readable account surfaces on web and app. */
dialog.pdf-password-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--pp-line);border-radius:16px;background:var(--pp-reading-paper);color:var(--pp-ink);box-shadow:var(--ui-shadow);font:inherit}
dialog.pdf-password-dialog::backdrop{background:rgb(15 23 42 / .55)}
.pdf-password-dialog header{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}
.pdf-password-dialog h2{margin:0;font-size:24px;line-height:1.4}
.pdf-password-dialog header button{flex:0 0 44px;min-height:44px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-surface);color:var(--pp-ink);font-size:24px;cursor:pointer}
.pdf-password-dialog p{font-size:16px;line-height:1.7}
.pdf-password-dialog .pdf-password-value{display:block;padding:16px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-wash);font-size:26px;font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}
.pdf-password-dialog .btn{min-height:46px;width:100%}
.pdf-password-dialog input{max-width:100%;min-height:44px;font:inherit}
.pdf-password-dialog [role=alert]{color:var(--pp-ink);font-weight:700}

/* Shared About service cards, with one direct destination per card. */
.about-services{margin:0 0 28px;min-width:0}
.about-services>h2{font-size:22px;margin:0 0 16px;color:var(--pp-ink)}
.about-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.about-service-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px solid var(--pp-line);border-top:4px solid #c99725;border-radius:13px;background:var(--pp-reading-paper);color:var(--pp-ink);min-width:0;text-decoration:none}
.about-service-card:nth-child(2){border-top-color:#b4236c}.about-service-card:nth-child(3){border-top-color:#357862}.about-service-card:nth-child(4){border-top-color:#566ca4}
.about-service-card h3{font-size:22px;line-height:1.4;margin:0;color:var(--pp-ink);overflow-wrap:break-word}
.about-service-card p{font-size:16px;line-height:1.7;margin:0;color:var(--pp-muted);overflow-wrap:break-word}
.about-service-open{margin-top:auto;display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:10px 16px;background:#f5c451;color:#2f2108;border:1px solid #c99725;border-radius:8px;font-size:16px}
.about-service-card:hover{border-color:#c99725;box-shadow:var(--ui-shadow)}
.about-service-card:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
@media(max-width:600px){.about-service-grid{grid-template-columns:minmax(0,1fr)}.about-service-card{padding:20px}.about-service-card h3{font-size:20px}}

/* Guest support stays readable without exposing contact destinations. */
.support-intro{max-width:920px;margin-bottom:24px}.support-intro h2{font-size:24px}.support-intro p{font-size:16px;line-height:1.7}
.support-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start;max-width:1180px}
.support-layout>section,.support-contact-fields>*{min-width:0}.support-layout h2{font-size:22px;line-height:1.4;margin:0 0 18px}
.support-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.support-layout .field{margin-bottom:18px}.support-layout input:not([type=checkbox]),.support-layout textarea{width:100%;min-width:0;font-size:16px}
.support-tracking{padding:24px;background:var(--pp-reading-paper);color:var(--pp-ink)}.support-note,.support-tracking>p{font-size:14px;line-height:1.7;color:var(--pp-muted)}
.support-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:14px;line-height:1.7}.support-consent input{flex:none;width:18px;height:18px;margin-top:4px}.support-consent a{text-decoration:underline}
.support-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.support-receipt{padding:24px;margin-top:18px;background:var(--pp-reading-paper);border-left:4px solid #c99725}.support-receipt dd{margin:6px 0 16px}.support-receipt code{white-space:normal;overflow-wrap:anywhere;font-size:15px}.support-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.support-request{margin-top:16px}
#support-ticket-status:empty,#support-track-status:empty{display:none}
@media(max-width:760px){.support-layout,.support-contact-fields{grid-template-columns:minmax(0,1fr)}.support-layout{gap:18px}}

.about-services{margin-top:32px}
.about-other-information{padding:20px 24px;margin-top:18px;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-reading-paper);color:var(--pp-ink)}
.about-other-information h3{font-size:18px;line-height:1.5;margin:0 0 10px}.about-other-information p{font-size:16px;line-height:1.8;margin:0;overflow-wrap:break-word}

/* Visible protected editor entry across Education and information services. */
.owner-editor-entry{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:1200}
.app-navigation-visible .owner-editor-entry{bottom:calc(var(--app-nav-height,64px) + 12px)}
.owner-editor-access-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px;margin:auto;border:1px solid var(--pp-line);border-radius:16px;background:var(--pp-surface);color:var(--pp-ink);box-shadow:0 22px 80px #10233c55;overflow:auto;font:700 16px/1.65 system-ui}
.owner-editor-access-dialog::backdrop{background:#10233ca6}
.owner-editor-access-dialog h2{margin:0 0 14px;font-size:24px}
.owner-editor-access-dialog p{margin:0 0 22px}
.owner-editor-access-actions{display:flex;gap:10px;flex-wrap:wrap}
.owner-editor-access-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--pp-line);border-radius:8px;font:inherit;text-decoration:none;background:var(--pp-wash);color:var(--pp-ink);cursor:pointer}
.owner-editor-access-actions a{background:#a51656;color:#fff;border-color:#a51656}
.owner-editor-access-dialog :focus-visible{outline:3px solid #cf9b25;outline-offset:3px}

/* Jobs home — owner's 19 October sketch. Keep the shared shell, real data,
   stable editor identities and native links; reserve wide-screen outer gutters. */
[data-information-app="vacancy"]:has(#jobs-home-portal){background:var(--pp-wash)}
[data-information-app="vacancy"]:has(#jobs-home-portal) .info-wrap{width:calc(100% - 48px);max-width:1392px;margin-inline:auto}
#jobs-home-portal{min-width:0;padding:0 0 22px}
#jobs-home-portal .jobs-home-shortcuts{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 0}
#jobs-home-portal .jobs-home-switches{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
#jobs-home-portal .jobs-home-switches>a{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-reading-paper);color:var(--pp-ink);text-decoration:none;font-size:15px;line-height:1.5}
#jobs-home-portal .jobs-home-switches>a::before{content:"";width:9px;height:9px;border-radius:3px;background:#174d80;flex:none}
#jobs-home-portal .jobs-home-switches>a:nth-child(2)::before{background:#126b62}
#jobs-home-portal .jobs-home-switches>a:nth-child(3)::before{background:#714578}
#jobs-home-portal .jobs-home-switches>a:hover{border-color:var(--ui-accent);box-shadow:0 2px 8px #15385812}
#jobs-home-portal .jobs-home-updates-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;color:var(--pp-ink);font-size:14px}
#jobs-home-portal .jobs-live-dot{width:7px;height:7px;border-radius:50%;background:#208375;flex:none}
#jobs-home-portal .jobs-home-workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:22px;align-items:start;min-width:0}
#jobs-home-portal :is(#jobs-category-home,#jobs-home-updates,#jobs-home-boards){min-width:0}
#jobs-home-portal #jobs-home-boards{gap:22px;margin:0}
#jobs-home-portal .jobs-category-board{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--pp-line);border-top:3px solid var(--category-band);border-radius:11px;box-shadow:0 3px 14px #15385808;scroll-margin-top:20px}
#jobs-home-portal .jobs-exam-main{border-radius:9px 9px 0 0;background:var(--pp-reading-paper)}
#jobs-home-portal .jobs-category-heading{padding:14px 16px;gap:10px 14px;background:var(--pp-reading-paper)}
#jobs-home-portal .jobs-category-heading h2{font-size:21px;line-height:1.5;color:var(--category-accent)}
#jobs-home-portal .jobs-category-title-group{flex:1 1 260px}
#jobs-home-portal .jobs-category-scope{font-size:14px;opacity:.9}
#jobs-home-portal .jobs-category-stats{margin-left:auto}
#jobs-home-portal .jobs-category-count{align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#jobs-home-portal .jobs-category-count>strong{font-size:25px;color:var(--category-accent)}
#jobs-home-portal .jobs-category-count>span{font-size:14px}
#jobs-home-portal .jobs-category-organisation{flex:0 1 200px}
#jobs-home-portal .jobs-category-heading select{max-width:100%;width:100%;background:var(--pp-wash);border:1px solid var(--pp-line);border-radius:7px;min-height:44px;font-size:16px;color:var(--pp-ink)}
#jobs-home-portal .jobs-category-qualification{padding:11px 16px 0;margin:0;font-size:14px;letter-spacing:.02em}
#jobs-home-portal .jobs-category-row{padding:10px 16px 14px}
#jobs-home-portal .jobs-exam-track{gap:10px;padding:3px 0 5px}
#jobs-home-portal .jobs-exam-card{border-radius:8px;box-shadow:none;background:var(--pp-reading-paper);border:1px solid var(--pp-line);padding:12px;gap:8px}
#jobs-home-portal .jobs-exam-card:hover{border-color:var(--category-accent)}
#jobs-home-portal .jobs-exam-name{font-size:16px;line-height:1.5}
#jobs-home-portal .jobs-vacancy-panel{border-radius:6px}
#jobs-home-portal .jobs-exam-notifications{border:0;border-top:1px solid var(--pp-line);border-radius:0 0 9px 9px;min-width:0}
#jobs-home-portal .jobs-exam-notifications>h3{margin:0;background:var(--category-band);color:#fff;padding:12px 16px;font-size:18px}
#jobs-home-portal .jobs-table-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;padding:8px 10px;background:var(--pp-reading-paper);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
#jobs-home-portal .jobs-table-heading>h3{flex:0 0 auto;min-width:0;min-height:36px;margin:0;padding:6px 10px;background:#174d80;color:#fff;border-radius:6px;font-size:16px;line-height:24px;white-space:nowrap}
#jobs-home-portal [data-jobs-qualification-form]{flex:0 0 auto;flex-wrap:nowrap;gap:6px;max-width:none}
#jobs-home-portal .jobs-qualification-quick{flex:0 0 auto;flex-wrap:nowrap;gap:5px}
#jobs-home-portal .jobs-qualification-select{flex:0 0 auto;width:auto}
#jobs-home-portal [data-jobs-qualification-select]{width:180px;max-width:180px;background:var(--pp-reading-paper)}
#jobs-home-portal .jobs-vacancy-table{min-width:700px;font-size:14px;line-height:1.6}
#jobs-home-portal .jobs-vacancy-table :is(th,td){padding:13px 11px;border-color:var(--pp-line)}
#jobs-home-portal .jobs-vacancy-table thead th{background:#176277;color:#fff;box-shadow:0 1px 0 #134f61;font-size:14px}
#jobs-home-portal .jobs-vacancy-table tbody tr:nth-child(even){background:var(--pp-wash)}
#jobs-home-portal .jobs-vacancy-table tbody tr:hover{background:var(--category-tint)}
#jobs-home-portal .jobs-table-post-name{font-size:17px;line-height:1.6;color:var(--category-accent)}
#jobs-home-portal .jobs-table-post-count{font-size:16px;padding:2px 8px;margin-top:6px;border-radius:5px}
#jobs-home-portal .jobs-vacancy-table time{font-variant-numeric:tabular-nums;font-size:14px}
#jobs-home-portal .jobs-notice-boards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;scroll-margin-top:18px}
#jobs-home-portal .jobs-home-updates-error{grid-column:1/-1;margin:4px 7px;font-size:14px;color:var(--pp-ink)}
#jobs-home-portal .jobs-notice-board{grid-column:1;grid-row:auto;position:static;min-width:0;border-radius:10px;border:1px solid var(--pp-line);box-shadow:0 3px 14px #15385808}
#jobs-home-portal .jobs-notice-board>h2{font-size:18px!important;border-radius:9px 9px 0 0;background:#183f68;color:#fff}
#jobs-home-portal .jobs-notice-board>h2>a{justify-content:space-between;text-align:left;min-height:54px;padding:12px 15px;color:#fff;line-height:1.5}
#jobs-home-portal #jobs-notice-board-admit-card>h2{background:#146568}
#jobs-home-portal #jobs-notice-board-result>h2{background:#674477}
#jobs-home-portal #jobs-notice-board-answer-key>h2{background:#825d25}
#jobs-home-portal #jobs-notice-board-exam-date>h2{background:#315b86}
#jobs-home-portal .jobs-notice-board-description{display:none}
#jobs-home-portal .jobs-notice-scroll{max-height:240px}
#jobs-home-portal .jobs-notice-board-primary .jobs-notice-scroll{max-height:360px}
#jobs-home-portal .jobs-notice-headlines{padding:2px 15px 2px 31px}
#jobs-home-portal .jobs-notice-headlines li{padding:0;border-bottom:1px solid var(--pp-line)}
#jobs-home-portal .jobs-notice-headlines li:last-child{border-bottom:0}
#jobs-home-portal .jobs-notice-headlines a{padding:12px 0;font-size:15px;line-height:1.65;color:var(--ui-accent)}
#jobs-home-portal .jobs-notice-headlines a:visited{color:var(--category-accent,var(--pp-muted))}
#jobs-home-portal .jobs-notice-board-all{padding:9px 15px;font-size:14px;color:var(--ui-accent);background:var(--pp-wash);border-radius:0 0 9px 9px}
#jobs-home-portal .jobs-board-footnote{display:none}
#jobs-home-portal .jobs-home-tools{margin-top:18px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);min-width:0}
#jobs-home-portal .jobs-home-tools>summary{padding:16px 18px;min-height:52px;cursor:pointer;font-size:16px;color:var(--pp-ink)}
#jobs-home-portal .jobs-home-tools>.jobs-search{border:0;border-top:1px solid var(--pp-line);border-radius:0 0 10px 10px;box-shadow:none}
#jobs-home-portal #jobs-home-resources>.jobs-section{padding:0 20px 20px;margin:12px 0}
#jobs-home-portal :is(a,button,select,summary):focus-visible{outline:3px solid var(--ui-focus,var(--ui-accent));outline-offset:3px}
[data-information-app="vacancy"]:has(#jobs-home-portal) #info-main>.jobs-independent{margin:22px 0 0!important;font-size:14px;line-height:1.7}
[data-information-app="vacancy"] [data-jobs-sports-toggle]{min-height:44px;padding:8px 11px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-reading-paper);color:var(--pp-ink);font-size:14px;font-weight:800;white-space:nowrap}
[data-information-app="vacancy"] [data-jobs-sports-toggle]:hover{border-color:var(--category-accent,#174d80)}
[data-information-app="vacancy"] [data-jobs-sports-toggle][aria-pressed=true]{background:#175b78;border-color:#175b78;color:#fff;box-shadow:0 2px 6px #123e6018}
@media(max-width:1150px) and (min-width:901px){
 #jobs-home-portal .jobs-home-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
 #jobs-home-portal .jobs-category-heading{padding:12px}
 #jobs-home-portal .jobs-category-title-group{flex-basis:220px}
 #jobs-home-portal .jobs-category-organisation{flex-basis:180px}
}
@media(max-width:900px){
 [data-information-app="vacancy"]:has(#jobs-home-portal) .info-wrap{width:calc(100% - 32px)}
 #jobs-home-portal .jobs-home-workspace{display:flex;flex-direction:column;gap:20px}
 #jobs-home-portal #jobs-category-home,#jobs-home-portal #jobs-home-updates{width:100%}
 #jobs-home-portal .jobs-notice-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #jobs-home-portal .jobs-notice-board{grid-column:auto}
 #jobs-home-portal .jobs-notice-board-primary{grid-column:1/-1}
 #jobs-home-portal .jobs-notice-board-primary .jobs-notice-scroll{max-height:260px}
 #jobs-home-portal .jobs-home-shortcuts{gap:5px}
 #jobs-home-portal .jobs-category-stats{max-width:none;order:initial}
 #jobs-home-portal .jobs-category-title-group{order:initial}
 #jobs-home-portal .jobs-category-organisation{order:initial}
}
@media(max-width:560px){
 [data-information-app="vacancy"]:has(#jobs-home-portal) .info-wrap{width:calc(100% - 24px)}
 #jobs-home-portal .jobs-home-switches{gap:6px}
 #jobs-home-portal .jobs-home-switches>a{padding:7px 10px;font-size:14px;gap:6px}
 #jobs-home-portal .jobs-category-heading{padding:12px;gap:10px}
 #jobs-home-portal .jobs-category-heading h2{font-size:19px}
 #jobs-home-portal .jobs-category-title-group{flex-basis:100%}
 #jobs-home-portal .jobs-category-organisation{flex:1 1 145px}
 #jobs-home-portal .jobs-category-stats{flex:1 1 120px}
 #jobs-home-portal .jobs-category-count{justify-content:flex-start}
 #jobs-home-portal .jobs-category-count>strong{font-size:23px}
 #jobs-home-portal .jobs-table-heading{padding:8px;gap:8px}
 #jobs-home-portal .jobs-table-heading>h3{font-size:16px}
 #jobs-home-portal [data-jobs-qualification-form]{gap:6px}
 #jobs-home-portal .jobs-qualification-quick{gap:5px}
 #jobs-home-portal .jobs-qualification-select{width:auto}
 #jobs-home-portal [data-jobs-qualification-select]{width:180px;max-width:180px}
 #jobs-home-portal .jobs-notice-boards{grid-template-columns:minmax(0,1fr)}
 #jobs-home-portal .jobs-notice-board{grid-column:1}
 #jobs-home-portal .jobs-notice-board>h2{font-size:18px!important}
 #jobs-home-portal .jobs-home-tools>summary{padding:14px}
}

[data-information-app="vacancy"][data-theme="dark"] #jobs-home-portal :is(.jobs-notice-headlines a,.jobs-notice-board-all){color:#a3d2ff}
[data-information-app="vacancy"][data-theme="dark"] #jobs-home-portal .jobs-notice-headlines a:visited{color:#ddbbff}
[data-information-app="vacancy"][data-theme="dark"] #jobs-home-portal :is(a,button,select,summary):focus-visible{outline-color:#a3d2ff}

/* Latest owner layout: update panels begin at the top of the workspace. */
#jobs-home-portal #jobs-home-updates{margin-block-start:0}

/* Government home: equal-sized recruiting body and exam summary cards. */
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:196px;--jobs-featured-card-height:212px;padding:12px;background:var(--pp-reading-paper);border-block:1px solid var(--pp-line);min-width:0}
:is(#jobs-home-portal,#jobs-category-page) [data-category-lower-title][hidden]{display:none!important}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panels{display:flex;align-items:flex-start;gap:0;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--pp-muted) transparent;scroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panels>.jobs-featured-panel{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panels:focus-visible{outline:3px solid var(--ui-accent);outline-offset:-3px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panel{display:grid;grid-template-columns:var(--jobs-featured-card-width) minmax(0,1fr);align-items:start;gap:12px;min-width:0}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panel[hidden]{display:none!important}
:is(#jobs-home-portal,#jobs-category-page) :is(.jobs-featured-body,.jobs-featured-vacancy){display:grid;grid-template-rows:minmax(0,1fr) 66px;gap:10px;width:var(--jobs-featured-card-width);height:var(--jobs-featured-card-height);min-width:0;min-height:0;box-sizing:border-box;padding:12px;border:1px solid var(--pp-line);border-radius:12px;background:var(--pp-reading-paper);color:var(--pp-ink);text-decoration:none;text-align:center;box-shadow:0 2px 5px #102e4c08;overflow-wrap:anywhere}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-body{background:#102e4c;border-color:#244f78;color:#fff}
:is(#jobs-home-portal,#jobs-category-page) [data-jobs-category-board="state"] .jobs-featured-body{background:#104c4b;border-color:#23706b}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-body:visited{color:#fff}
:is(#jobs-home-portal,#jobs-category-page) :is(.jobs-featured-body,.jobs-featured-vacancy):hover{border-color:var(--ui-accent);box-shadow:0 3px 10px #102e4c18}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:0}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-width:0;max-height:48px;margin:0;overflow:hidden;font-size:20px;font-weight:800;line-height:24px;text-wrap:balance}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-subtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-width:0;max-height:54px;overflow:hidden;font-size:14px;font-weight:700;line-height:18px;color:var(--pp-muted);text-wrap:balance}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-body .jobs-featured-subtitle{color:#e0eaf3}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-count-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:6px 4px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-wash);color:var(--pp-ink);font-variant-numeric:tabular-nums}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-body .jobs-featured-count-box{border-color:#ffffff40;background:#ffffff12;color:#fff}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-count-label{font-size:14px;font-weight:700;line-height:18px}
:is(#jobs-home-portal,#jobs-category-page) :is(.jobs-featured-body-number,.jobs-featured-posts){font-size:26px;line-height:30px;font-weight:700;letter-spacing:-.4px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-posts>span{display:none}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-direction{display:none}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-track{display:flex;align-items:flex-start;gap:12px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--pp-muted) transparent;padding:0 0 8px;touch-action:pan-x pan-y pinch-zoom;cursor:grab}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-track:active{cursor:grabbing}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-vacancy{flex:0 0 var(--jobs-featured-card-width)}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-vacancy:visited{color:var(--pp-ink)}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-body:focus-visible,:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-vacancy:focus-visible{outline:3px solid var(--ui-accent);outline-offset:-3px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-more{align-content:center;grid-template-rows:1fr 30px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-empty{margin:0;padding:10px;border:1px dashed var(--pp-line);border-radius:8px;color:var(--pp-muted);font-size:14px;line-height:1.7}
@media(max-width:600px){
 :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:152px;--jobs-featured-card-height:200px;padding:8px}
 :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panel,:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-track{gap:8px}
 :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-featured-body,.jobs-featured-vacancy){padding:9px;gap:8px;grid-template-rows:minmax(0,1fr) 64px}
 :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-name{font-size:18px}
 :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-featured-body-number,.jobs-featured-posts){font-size:24px}
}
@media(max-width:360px){:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:140px}:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panel{gap:6px}}
@media(prefers-reduced-motion:reduce){:is(#jobs-home-portal,#jobs-category-page) .jobs-featured-track{scroll-behavior:auto}}

/* Shared vacancy links and workspace dimensions on every category page. */
[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-notice-headlines a,.jobs-notice-board-all,.jobs-table-post-name,.jobs-board-all,.jobs-category-all,.jobs-category-heading h2 a){color:#1556b0}
[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-notice-headlines a,.jobs-notice-board-all,.jobs-table-post-name,.jobs-board-all,.jobs-category-all,.jobs-category-heading h2 a):visited{color:#1556b0}
[data-information-app="vacancy"][data-theme="dark"] :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-notice-headlines a,.jobs-notice-board-all,.jobs-table-post-name,.jobs-board-all,.jobs-category-all,.jobs-category-heading h2 a){color:#a3d2ff}
[data-information-app="vacancy"]:has(#jobs-category-page) .info-wrap{width:calc(100% - 48px);max-width:1392px}
#jobs-category-page{animation:none}
#jobs-category-page .jobs-government-workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:start;gap:22px;min-width:0}
#jobs-category-page .jobs-government-main{min-width:0}
#jobs-category-page .jobs-government-main>.jobs-featured-strip{margin:0 0 18px;border:1px solid var(--pp-line);border-radius:10px}
#jobs-category-page .jobs-government-main .jobs-organisation-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
#jobs-category-page .jobs-government-main .jobs-category-page-filters{margin-top:0}
#jobs-category-page .jobs-government-main .jobs-table-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;padding:8px 10px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
#jobs-category-page .jobs-government-main .jobs-table-heading>h2{flex:0 0 auto;min-height:36px;margin:0;padding:6px 10px;background:#174d80;color:#fff;font-size:16px;line-height:24px;white-space:nowrap}
#jobs-category-page .jobs-government-main [data-jobs-qualification-form]{flex:0 0 auto;flex-wrap:nowrap;max-width:none;gap:6px}
#jobs-category-page .jobs-government-main .jobs-qualification-quick{flex:0 0 auto;flex-wrap:nowrap;gap:5px}
#jobs-category-page .jobs-government-main .jobs-qualification-select{flex:0 0 auto;width:auto}
#jobs-category-page .jobs-government-main [data-jobs-qualification-select]{width:180px;max-width:180px}
#jobs-category-page .jobs-government-main .jobs-vacancy-table{min-width:700px;font-size:14px}
/* Category page update cards match the Jobs home dimensions. */
#jobs-category-page .jobs-government-updates{position:sticky;top:12px;align-self:start;width:calc(100% + var(--jobs-updates-scrollbar,0px));margin-inline-end:calc(-1 * var(--jobs-updates-scrollbar,0px));max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));min-width:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-gutter:stable}
#jobs-category-page .jobs-government-updates .jobs-notice-boards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;scroll-margin-top:18px}
#jobs-category-page .jobs-government-updates .jobs-notice-board{grid-column:1;grid-row:auto;position:static;min-width:0;border-radius:10px;border:1px solid var(--pp-line);box-shadow:0 3px 14px #15385808;background:var(--pp-reading-paper)}
#jobs-category-page .jobs-government-updates .jobs-notice-board>h2{font-size:18px!important;border-radius:9px 9px 0 0;background:#183f68;color:#fff}
#jobs-category-page .jobs-government-updates .jobs-notice-board>h2>a{justify-content:space-between;text-align:left;min-height:54px;padding:12px 15px;color:#fff;line-height:1.5}
#jobs-category-page .jobs-government-updates #jobs-notice-board-admit-card>h2{background:#146568}
#jobs-category-page .jobs-government-updates #jobs-notice-board-result>h2{background:#674477}
#jobs-category-page .jobs-government-updates #jobs-notice-board-answer-key>h2{background:#825d25}
#jobs-category-page .jobs-government-updates #jobs-notice-board-exam-date>h2{background:#315b86}
#jobs-category-page .jobs-government-updates .jobs-notice-board-description{display:none}
#jobs-category-page .jobs-government-updates .jobs-notice-scroll{max-height:240px}
#jobs-category-page .jobs-government-updates .jobs-notice-board-primary .jobs-notice-scroll{max-height:360px}
#jobs-category-page .jobs-government-updates .jobs-notice-headlines{padding:2px 15px 2px 31px}
#jobs-category-page .jobs-government-updates .jobs-notice-headlines li{padding:0;border-bottom:1px solid var(--pp-line)}
#jobs-category-page .jobs-government-updates .jobs-notice-headlines li:last-child{border-bottom:0}
#jobs-category-page .jobs-government-updates .jobs-notice-headlines a{padding:12px 0;font-size:15px;line-height:1.65;color:#1556b0}
#jobs-category-page .jobs-government-updates .jobs-notice-headlines a:visited{color:#1556b0}
#jobs-category-page .jobs-government-updates .jobs-notice-board-all{padding:9px 15px;font-size:14px;color:#1556b0;background:var(--pp-wash);border-radius:0 0 9px 9px}
[data-information-app="vacancy"][data-theme="dark"] #jobs-category-page .jobs-government-updates :is(.jobs-notice-headlines a,.jobs-notice-board-all){color:#a3d2ff}
#jobs-category-page .jobs-government-updates :is(a,.jobs-notice-scroll):focus-visible{outline:3px solid var(--ui-focus,var(--ui-accent));outline-offset:-3px}
@media(max-width:1150px) and (min-width:901px){#jobs-category-page .jobs-government-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:16px}}
@media(max-width:900px){
 [data-information-app="vacancy"]:has(#jobs-category-page) .info-wrap{width:calc(100% - 32px)}
 #jobs-category-page .jobs-government-workspace{display:flex;flex-direction:column;gap:20px}
 #jobs-category-page .jobs-government-main,#jobs-category-page .jobs-government-updates{width:100%}
 #jobs-category-page .jobs-government-updates{position:static;width:100%;margin-inline-end:0;max-height:none;overflow:visible;scrollbar-gutter:auto}
 #jobs-category-page .jobs-government-updates .jobs-notice-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #jobs-category-page .jobs-government-updates .jobs-notice-board{grid-column:auto}
 #jobs-category-page .jobs-government-updates .jobs-notice-board-primary{grid-column:1/-1}
 #jobs-category-page .jobs-government-updates .jobs-notice-board-primary .jobs-notice-scroll{max-height:260px}
}
@media(max-width:560px){
 [data-information-app="vacancy"]:has(#jobs-category-page) .info-wrap{width:calc(100% - 24px)}
 #jobs-category-page .jobs-government-updates .jobs-notice-boards{grid-template-columns:minmax(0,1fr)}
 #jobs-category-page .jobs-government-updates .jobs-notice-board{grid-column:1}
}

/* One compact Jobs shell on every route, matching the owner's top layout. */
body[data-information-app="vacancy"] .info-wrap{width:calc(100% - 48px);max-width:1392px}
body[data-information-app="vacancy"] .info-header{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(240px,380px) auto;align-items:center;gap:10px 14px;width:100%;max-width:100%;min-width:0;margin:0;padding:6px max(24px,calc((100% - 1392px)/2));padding-top:max(6px,env(safe-area-inset-top));border-top:0;border-bottom:1px solid var(--pp-line);background:var(--pp-reading-paper);box-shadow:none}
body[data-information-app="vacancy"] .info-header :is(.info-header-row,.info-search-row){display:contents}
body[data-information-app="vacancy"] .info-header .info-brand{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-self:start;gap:0;min-width:0;max-width:100%;margin:0}
body[data-information-app="vacancy"] .info-header .info-brand .brand-wordmark{display:block;width:148px;height:40px;max-width:100%;object-fit:contain;object-position:left center;flex:none}
body[data-information-app="vacancy"] .info-header .info-brand>span{max-width:100%;margin:0;padding:0;border:0;font-size:14px;line-height:1.35;white-space:normal}
body[data-information-app="vacancy"] .info-header .info-nav{grid-column:2;grid-row:1;display:flex;align-items:center;gap:0;margin:0;padding:0;min-width:0;overflow:visible}
body[data-information-app="vacancy"] .info-header .info-nav>a{flex:none;min-height:44px;padding:6px 10px;font-size:14px;white-space:nowrap}
body[data-information-app="vacancy"] .info-header .info-header-search{grid-column:3;grid-row:1;width:100%;min-width:0;max-width:none;margin:0;border-radius:11px}
body[data-information-app="vacancy"] .info-header-search input[type=search]{padding:10px 12px;font-size:16px}
body[data-information-app="vacancy"] .info-header-search>button{min-height:44px;padding:8px 12px;margin:3px;border-radius:8px}
body[data-information-app="vacancy"] .info-header .info-controls{grid-column:4;grid-row:1;justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;width:auto;max-width:100%;min-width:0;margin:0}
body[data-information-app="vacancy"] .info-header .info-language button{font-size:14px;padding-inline:8px}
body[data-information-app="vacancy"] .info-header .info-language{max-width:100%;flex:none}
body[data-information-app="vacancy"] .info-header .info-account-menu{max-width:100%}
body[data-information-app="vacancy"] .info-header .info-account-menu>summary{max-width:100%;min-width:0}
body[data-information-app="vacancy"] .jobs-quick-nav{margin:6px 0 0;padding:4px 0 7px;gap:4px;border:0;background:transparent}
body[data-information-app="vacancy"] .jobs-quick-nav>a{height:34px;min-height:34px;padding:0 6px;border:1px solid #0668dc;border-radius:6px;background:#0668dc;color:#fff;font-size:14px;line-height:16px}
body[data-information-app="vacancy"] .jobs-quick-nav>a:hover{background:#0457ba;border-color:#0457ba;color:#fff}
body[data-information-app="vacancy"] .jobs-quick-nav>a[aria-current=page]{background:#a41455;border-color:#a41455;color:#fff}
body[data-information-app="vacancy"] #info-main>.info-heading{padding:14px 0 12px;margin-bottom:14px}
body[data-information-app="vacancy"] #info-main>.info-heading h1{margin:4px 0 8px}
body[data-information-app="vacancy"] #info-main>.info-heading .info-disclaimer{margin-top:6px!important}
#jobs-home-portal .jobs-home-shortcuts{padding:7px 0 10px;gap:8px}
#jobs-home-portal #jobs-home-boards{gap:16px}
#jobs-category-page .jobs-category-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin:5px 0 12px;min-width:0}
#jobs-category-page .jobs-category-page-heading{flex:1 1 250px;min-width:0}
#jobs-category-page .jobs-category-page-heading .jobs-category-breadcrumb{margin:0 0 6px;line-height:1.5}
#jobs-category-page .jobs-category-page-heading .jobs-category-page-title{margin:0;font-size:clamp(24px,2.5vw,30px);line-height:1.3;overflow-wrap:break-word}
#jobs-category-page .jobs-category-page-heading .jobs-category-qualification{padding:0;margin:6px 0 0;line-height:1.5}
#jobs-category-page .jobs-category-page-header>.jobs-category-page-filters{flex:0 1 610px;display:flex;align-items:end;gap:8px;margin:0;padding:10px 12px;min-width:0;max-width:100%;border-radius:10px}
#jobs-category-page .jobs-category-page-header>.jobs-category-page-filters .field{flex:1 1 180px;min-width:0;max-width:100%;font-size:14px;line-height:1.4}
#jobs-category-page .jobs-category-page-filters .field>select{margin-top:5px;max-width:100%;min-height:44px;padding:8px 10px}
#jobs-category-page .jobs-category-page-filters:has(select[name=state]),#jobs-category-page .jobs-category-page-filters:has(select[name=exam]){flex:1 1 660px}
#jobs-category-page .jobs-government-main>.jobs-featured-strip{margin:0 0 12px}
#jobs-category-page .jobs-category-selected{margin:6px 0 10px}
#jobs-category-page .jobs-vacancy-stage{margin:10px 0 16px}
#jobs-category-page .jobs-vacancy-stage>header{height:auto;min-height:0;padding:9px 14px;margin-bottom:8px}
#jobs-category-page .jobs-table-heading{margin-top:0}
/* Breadcrumb, title and route action share one compact visual band. */
body[data-information-app="vacancy"] :is(.jobs-page-top,.jobs-category-page-header){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:5px 0 14px;padding:10px 0 14px;border-bottom:1px solid var(--pp-line);min-width:0}
body[data-information-app="vacancy"] :is(.jobs-page-top-heading,.jobs-category-page-heading){flex:1 1 250px;min-width:0}
body[data-information-app="vacancy"] :is(.jobs-page-top-heading,.jobs-category-page-heading) :is(h1,.jobs-category-page-title){margin:0;font-size:clamp(24px,2.5vw,30px);line-height:1.3;letter-spacing:-.35px;overflow-wrap:anywhere}
body[data-information-app="vacancy"] :is(.jobs-page-top,.jobs-category-page-header) :is(.jobs-page-top-breadcrumb,.jobs-category-breadcrumb){display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 5px;color:var(--pp-muted);font-size:14px;line-height:1.5}
body[data-information-app="vacancy"] :is(.jobs-page-top,.jobs-category-page-header) :is(.jobs-page-top-breadcrumb,.jobs-category-breadcrumb) a{color:var(--pp-muted);text-decoration:none}
body[data-information-app="vacancy"] :is(.jobs-page-top,.jobs-category-page-header) :is(.jobs-page-top-breadcrumb,.jobs-category-breadcrumb) a:hover{color:var(--ui-accent);text-decoration:underline}
body[data-information-app="vacancy"] .jobs-page-top-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid var(--pp-line);border-radius:9px;background:var(--pp-wash);color:var(--pp-ink);font-size:14px;line-height:1.5;text-decoration:none}
body[data-information-app="vacancy"] .jobs-page-top-action:hover{border-color:var(--ui-accent);color:var(--ui-accent)}
body[data-information-app="vacancy"] .jobs-page-top .info-heading{padding:0;margin:0;border:0}
body[data-information-app="vacancy"] .jobs-page-top .info-eyebrow{display:none}
body[data-information-app="vacancy"] .jobs-page-top .info-disclaimer{margin:6px 0 0;font-size:14px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-category-page-header>.jobs-category-page-filters{border:1px solid var(--pp-line);background:var(--pp-wash);box-shadow:none}
body[data-information-app="vacancy"] .jobs-category-page-header>.jobs-category-page-filters select{background:var(--pp-reading-paper);font-size:16px}
body[data-information-app="vacancy"] .jobs-category-page-header>.jobs-category-page-filters .info-button{min-height:44px;white-space:nowrap}
@media(min-width:1100px){
 #jobs-category-page .jobs-category-page-header>.jobs-category-page-filters:not(:has(select[name=state],select[name=exam])){flex-basis:540px;align-items:center}
 #jobs-category-page .jobs-category-page-header>.jobs-category-page-filters:not(:has(select[name=state],select[name=exam])) .field{display:flex;align-items:center;gap:8px}
 #jobs-category-page .jobs-category-page-filters:not(:has(select[name=state],select[name=exam])) .field>select{flex:1;min-width:0;margin-top:0}
}
@media(max-width:1099px){
 body[data-information-app="vacancy"] .info-header{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px 10px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top))}
 body[data-information-app="vacancy"] .info-header .info-brand{grid-column:1/6;grid-row:1}
 body[data-information-app="vacancy"] .info-header .info-controls{grid-column:6/-1;grid-row:1;flex-wrap:wrap}
 body[data-information-app="vacancy"] .info-header .info-nav{grid-column:1/3;grid-row:2}
 body[data-information-app="vacancy"] .info-header .info-header-search{grid-column:3/-1;grid-row:2}
 body[data-information-app="vacancy"] .info-header .info-nav>a{padding:5px 0;white-space:normal;text-align:left}
}
@media(max-width:900px){body[data-information-app="vacancy"] .info-wrap{width:calc(100% - 32px)}}
@media(max-width:1200px){body[data-information-app="vacancy"] .jobs-quick-nav>a{height:56px;min-height:56px;padding:0 6px;line-height:18px}}
@media(max-width:560px){
 body[data-information-app="vacancy"] .info-wrap{width:calc(100% - 24px)}
 body[data-information-app="vacancy"] .info-header{padding-inline:12px;gap:6px 8px}
 body[data-information-app="vacancy"] .info-header .info-brand{grid-column:1/6}
 body[data-information-app="vacancy"] .info-header .info-brand .brand-wordmark{width:132px;height:36px}
 body[data-information-app="vacancy"] .info-header .info-brand>span{font-size:14px;line-height:1.35}
 body[data-information-app="vacancy"] .info-header .info-controls{gap:4px}
 body[data-information-app="vacancy"] .info-header .info-account-name{display:none}
 body[data-information-app="vacancy"] .info-header .info-nav{grid-column:1/4}
 body[data-information-app="vacancy"] .info-header .info-header-search{grid-column:4/-1}
 body[data-information-app="vacancy"] .info-header-search input[type=search]{padding-inline:8px}
 body[data-information-app="vacancy"] .info-header-search>button{padding-inline:10px}
 body[data-information-app="vacancy"] .info-header-search>button>span{display:none}
 #jobs-category-page .jobs-category-page-header{gap:10px;margin-top:5px}
 #jobs-category-page .jobs-category-page-heading,#jobs-category-page .jobs-category-page-header>.jobs-category-page-filters{flex-basis:100%}
 #jobs-category-page .jobs-category-page-header>.jobs-category-page-filters{padding:10px}
 #jobs-category-page .jobs-category-page-header>.jobs-category-page-filters .field{flex:1 1 150px}
}

body[data-information-app="vacancy"] .jobs-page-top h1.jobs-sr{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;border:0}
@media(max-width:560px){
 body[data-information-app="vacancy"] .jobs-page-top{gap:10px;margin-top:5px;padding-top:8px;padding-bottom:12px}
 body[data-information-app="vacancy"] .jobs-page-top-heading{flex-basis:100%}
 body[data-information-app="vacancy"] .jobs-page-top-action{padding:8px 12px}
}

/* A single vacancy scope bar controls the primary board and its update panels. */
body[data-information-app="vacancy"] .jobs-vacancy-scope{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;margin:0;padding:2px;border:1px solid #d9c394;border-radius:8px;background:#fff7e8;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding-inline:4px}
body[data-information-app="vacancy"] .jobs-vacancy-scope>button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:#5f481e;font:700 14px/20px system-ui;white-space:nowrap;cursor:pointer}
body[data-information-app="vacancy"] .jobs-vacancy-scope>button:hover{border-color:#d9c394;background:#f4e7cb}
body[data-information-app="vacancy"] .jobs-vacancy-scope>button[aria-pressed=true]{border-color:#a41455;background:#a41455;color:#fff;box-shadow:none}
body[data-information-app="vacancy"] .jobs-vacancy-scope>button:focus-visible{outline:3px solid var(--ui-accent);outline-offset:-3px}
body[data-information-app="vacancy"] .jobs-vacancy-scope:has(.jobs-padho-links){flex-wrap:wrap;overflow:visible}
body[data-information-app="vacancy"] .jobs-padho-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%;margin-left:auto;padding-left:8px;border-left:1px solid #d9c394}
body[data-information-app="vacancy"] .jobs-padho-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 8px;border:1px solid #0e675f;border-radius:5px;background:#0e675f;color:#fff;font-size:14px;line-height:20px;text-decoration:none;white-space:nowrap}
body[data-information-app="vacancy"] .jobs-padho-links>a:hover{background:#084c46;border-color:#084c46;color:#fff}
body[data-information-app="vacancy"] .jobs-padho-links>a:focus-visible{outline:3px solid #a41455;outline-offset:2px}
body[data-information-app="vacancy"][data-theme=dark] .jobs-padho-links{border-color:#756044}
body[data-information-app="vacancy"] .jobs-vacancy-scope [data-home-updates-error]:not([hidden]){flex:0 0 100%;padding:4px 8px;margin:0;color:var(--ui-accent);white-space:normal}
body[data-information-app="vacancy"] .jobs-page-top-scoped{gap:10px 14px;padding:6px 0 12px;align-items:center}
body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-page-top-heading{flex:0 1 auto}
body[data-information-app="vacancy"] .jobs-page-top-scoped .jobs-page-top-breadcrumb{margin:0}
body[data-information-app="vacancy"] .jobs-page-top-scoped h1.jobs-sr{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-vacancy-scope{flex:1 1 650px}
body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-page-top-action{margin-left:auto;min-height:34px;padding:5px 12px}
body[data-information-app="vacancy"] .jobs-category-page-header>.jobs-vacancy-scope{flex:1 1 560px}
body[data-information-app="vacancy"] #jobs-category-page .jobs-category-page-header:has(>.jobs-vacancy-scope)>.jobs-category-page-filters{flex:1 1 100%;margin:0;padding:8px 10px}
body[data-information-app="vacancy"][data-theme=dark] .jobs-vacancy-scope{background:#2b261e;border-color:#756044}
body[data-information-app="vacancy"][data-theme=dark] .jobs-vacancy-scope>button{color:#f0ddb7}
body[data-information-app="vacancy"][data-theme=dark] .jobs-vacancy-scope>button:hover{background:#453b2b;border-color:#756044}
body[data-information-app="vacancy"][data-theme=dark] .jobs-vacancy-scope>button[aria-pressed=true]{background:#a41455;border-color:#d64f8b;color:#fff}
@media(max-width:900px){body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-vacancy-scope{order:3;flex-basis:100%}}
@media(max-width:560px){
 body[data-information-app="vacancy"] .jobs-vacancy-scope>button{min-height:44px;padding:6px 11px}
 body[data-information-app="vacancy"] .jobs-padho-links{margin-left:0;padding-left:0;border-left:0}
 body[data-information-app="vacancy"] .jobs-padho-links>a{min-height:44px}
 body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-page-top-action{min-height:44px}
 body[data-information-app="vacancy"] .jobs-page-top-scoped>.jobs-page-top-heading{flex-basis:auto}
 body[data-information-app="vacancy"] .jobs-category-page-header>.jobs-vacancy-scope{flex-basis:100%}
}

/* The body/exam name and its vacancy total have distinct, non-blue surfaces. */
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:196px;--jobs-featured-card-height:212px}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy){display:grid;grid-template-rows:minmax(0,1fr) 66px;gap:10px;width:var(--jobs-featured-card-width);height:var(--jobs-featured-card-height);min-width:0;min-height:0;padding:10px;box-sizing:border-box;border:1px solid #d9ccd5;border-radius:12px;background:#fffdfb;color:#513747;text-decoration:none;text-align:center;box-shadow:0 2px 6px #4e34460a;overflow-wrap:anywhere}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:0;padding:8px 5px;border-radius:7px;background:#f1e9ee;color:#513747}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-body .jobs-featured-label{background:#68435f;color:#fff8fc}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-subtitle{color:#715969}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-body .jobs-featured-subtitle{color:#f5e6ef}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-count-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:6px 4px;border:1px solid #e8d5ad;border-radius:7px;background:#fff1d8;color:#705018;font-variant-numeric:tabular-nums}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy):visited{color:#513747}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy):hover{border-color:#946b86;box-shadow:0 4px 12px #4e34461c}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy,.jobs-featured-panels):focus-visible{outline-color:#946b86}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-more{grid-template-rows:1fr 30px;background:#f1e9ee;color:#513747}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy){border-color:#6c5165;background:#282129;color:#f8eaf3}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-label{background:#43303f;color:#f8eaf3}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-body .jobs-featured-label{background:#67435e;color:#fff8fc}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-subtitle{color:#d9bfd0}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-count-box{border-color:#80683f;background:#443622;color:#ffe1a6}
body[data-information-app="vacancy"][data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy):visited{color:#f8eaf3}
@media(max-width:600px){
 body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:152px;--jobs-featured-card-height:200px}
 body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip :is(.jobs-featured-body,.jobs-featured-vacancy){padding:8px;gap:8px;grid-template-rows:minmax(0,1fr) 64px}
 body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-label{padding:7px 3px}
 body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip .jobs-featured-more{grid-template-rows:1fr 30px}
}
@media(max-width:360px){body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-strip{--jobs-featured-card-width:140px}}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card{--card-accent:#74516a;--card-tint:#f1e9ee;border-color:#d9ccd5;background:#fffdfb;color:#513747;border-radius:12px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card .jobs-exam-name{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;min-height:58px;padding:9px 7px;border-radius:7px;background:#f1e9ee;color:#513747;text-align:center}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card .jobs-vacancy-panel{border-color:#e8d5ad;background:#fff1d8;color:#705018;border-radius:7px}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card :is(.jobs-vacancy-number,.jobs-vacancy-label,.jobs-vacancy-detail){color:#705018}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card:visited{color:#513747}
:is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card:hover{border-color:#946b86}
body[data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card{--card-accent:#d9bfd0;--card-tint:#43303f;background:#282129;border-color:#6c5165;color:#f8eaf3}
body[data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card .jobs-exam-name{background:#43303f;color:#f8eaf3}
body[data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card .jobs-vacancy-panel{background:#443622;border-color:#80683f;color:#ffe1a6}
body[data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card :is(.jobs-vacancy-number,.jobs-vacancy-label,.jobs-vacancy-detail){color:#ffe1a6}
body[data-theme=dark] :is(#jobs-home-portal,#jobs-category-page) .jobs-exam-card:visited{color:#f8eaf3}
body[data-information-app="vacancy"] .jobs-vacancy-scope:has([data-home-updates-error]:not([hidden])){flex-wrap:wrap}

/* Native Jobs frames reserve their own content height across scope changes. */
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) :is(.jobs-category-board,.jobs-exam-main,.jobs-exam-notifications,.jobs-notice-board){height:auto;min-height:0;align-self:start}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-board{display:block;position:static}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-board .jobs-notice-scroll{--jobs-notice-fallback-height:324px;height:auto;min-height:0;max-height:var(--jobs-notice-preview-height,var(--jobs-notice-fallback-height));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-headlines>li{box-sizing:border-box;min-height:0}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-headlines>li>a{padding-block:7px;min-height:44px}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-headlines{margin-block:0}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-notice-board-empty{margin:12px 15px!important}
body[data-information-app="vacancy"] #jobs-home-featured{margin:0 0 14px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);min-width:0}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-featured-panel{grid-template-columns:minmax(0,1fr)}

/* Vacancy reader: a clear reading hierarchy, independent of the listing rails. */
body[data-information-app="vacancy"] .jobs-notice-detail{--jobs-detail-plum:#64366f;--jobs-detail-plum-wash:#f5eef8;--jobs-detail-teal:#14645e;--jobs-detail-teal-wash:#eaf6f2;--jobs-detail-ochre:#805310;--jobs-detail-ochre-wash:#fff4dc;--jobs-detail-stripe:#f7f9fb;max-width:1120px;padding:clamp(16px,2.3vw,28px);font-size:18px;line-height:1.75;border:1px solid var(--pp-line);border-top:4px solid var(--jobs-detail-plum);border-radius:16px;background:var(--pp-reading-paper);box-shadow:0 6px 24px #24304708}
body[data-information-app="vacancy"] #info-main:has(.jobs-notice-detail)>.jobs-page-top{max-width:1120px;margin:12px auto 18px;padding:10px 0 14px}
body[data-information-app="vacancy"] #info-main:has(.jobs-notice-detail)>.jobs-page-top h1{font-size:clamp(25px,2.7vw,34px);line-height:1.35;letter-spacing:-.025em}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-breadcrumb{margin-bottom:8px;font-size:15px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-meta{gap:8px;margin-bottom:16px;font-size:15px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-meta .info-badge{padding:5px 11px;border-radius:7px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero{gap:20px;padding:22px;border-color:var(--pp-line);border-radius:12px;background:var(--jobs-detail-plum-wash)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero:not(:has(.jobs-notice-count)){grid-template-columns:minmax(0,1fr)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-label{margin-bottom:6px;font-size:15px;letter-spacing:.02em}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-post-name{color:var(--jobs-detail-plum);font-size:clamp(26px,3vw,36px);line-height:1.35;text-shadow:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-count{padding:15px 16px;background:var(--jobs-detail-ochre-wash);border-color:#d5b66c;border-radius:10px;animation:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-count-value{color:var(--jobs-detail-ochre);font-size:clamp(35px,4vw,48px);line-height:1.2;text-shadow:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero[data-current=true] .jobs-notice-count{background:var(--jobs-detail-ochre-wash);border-color:#d5b66c;animation:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero[data-current=true] :is(.jobs-notice-count-value,.jobs-notice-post-name){text-shadow:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{gap:10px;margin-top:16px;border:0;border-radius:0;overflow:visible;align-items:start}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary>div{padding:14px 16px;border:1px solid var(--pp-line);border-radius:9px;background:var(--pp-wash)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dt{font-size:15px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dd{font-size:18px;line-height:1.65}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-dates{font-size:15px;gap:7px 22px;margin:15px 0 20px;padding-bottom:14px;line-height:1.6}
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-notice-reading,.jobs-post-content,.info-reading,.jobs-post-table,.info-facts dd){font-size:18px;line-height:1.75}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-content{margin:0}
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview){--jobs-section-ink:var(--jobs-detail-teal);--jobs-section-wash:var(--jobs-detail-teal-wash);padding:18px;margin:0 0 18px;border:1px solid var(--pp-line);border-radius:11px;background:var(--pp-reading-paper);min-width:0}
body[data-information-app="vacancy"] .jobs-notice-detail :is([data-post-section="quick-summary"],[data-post-section="overview"],[data-post-section="qualification"],[data-post-section="essential-qualification"],[data-post-section="selection-process"],.jobs-notice-qualification,.jobs-notice-overview){--jobs-section-ink:var(--jobs-detail-plum);--jobs-section-wash:var(--jobs-detail-plum-wash)}
body[data-information-app="vacancy"] .jobs-notice-detail :is([data-post-section="important-dates"],[data-post-section="application-fee"],[data-post-section="age-limit"],[data-post-section="latest-update"],[data-post-section="status-summary"],.jobs-notice-lifecycle){--jobs-section-ink:var(--jobs-detail-ochre);--jobs-section-wash:var(--jobs-detail-ochre-wash)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview)>h2{margin:-18px -18px 16px;padding:12px 17px;border:0;border-left:4px solid var(--jobs-section-ink);border-radius:10px 10px 0 0;background:var(--jobs-section-wash);color:var(--jobs-section-ink);font-size:23px;line-height:1.4;letter-spacing:-.015em;overflow-wrap:break-word}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(p,ul,ol){margin-block:12px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview)>:last-child{margin-bottom:0}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .info-facts>div{gap:10px 18px;padding-block:12px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .info-facts dt{font-size:16px}
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-table-wrap,.jobs-post-table-scroll){max-width:100%;margin:12px 0 0;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--pp-line);border-radius:8px;scrollbar-width:thin;scrollbar-gutter:stable}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:17px;line-height:1.65}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){min-width:110px;padding:12px 14px;vertical-align:top;overflow-wrap:anywhere;hyphens:none;border-color:var(--pp-line)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:var(--jobs-section-wash,var(--jobs-detail-teal-wash));color:var(--jobs-section-ink,var(--jobs-detail-teal));font-size:16px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table tbody tr:nth-child(even){background:var(--jobs-detail-stripe)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading a,body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources a{color:var(--jobs-detail-teal);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-links{gap:10px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-links a{padding:8px 12px;border:1px solid var(--pp-line);border-radius:7px;background:var(--pp-wash)}
body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources{padding:18px;border:1px solid var(--pp-line);border-left:4px solid var(--jobs-detail-teal);border-radius:10px;background:var(--pp-wash);font-size:17px;line-height:1.7}
body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources h2{margin:0 0 12px;font-size:23px;line-height:1.4}
body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources ul{margin-block:10px}
body[data-information-app="vacancy"] .jobs-notice-detail .info-source-url{font-size:15px;line-height:1.6}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-footer .info-callout{margin:18px 0 2px;padding:14px 16px;background:var(--jobs-detail-ochre-wash);border-color:var(--jobs-detail-ochre);font-size:16px;line-height:1.75}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail{--jobs-detail-plum:#e3b6eb;--jobs-detail-plum-wash:#34283d;--jobs-detail-teal:#9ddcd0;--jobs-detail-teal-wash:#203d3b;--jobs-detail-ochre:#f3d08b;--jobs-detail-ochre-wash:#3c321f;--jobs-detail-stripe:#202d39}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail :is(.jobs-notice-post-name,.jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview)>h2){color:var(--jobs-section-ink,var(--jobs-detail-plum))}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-count-value{color:var(--jobs-detail-ochre)}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-hero{background:var(--jobs-detail-plum-wash);border-color:var(--pp-line)}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:var(--jobs-section-wash,var(--jobs-detail-teal-wash));color:var(--jobs-section-ink,var(--jobs-detail-teal))}
@media(max-width:640px){
 body[data-information-app="vacancy"] .jobs-notice-detail{padding:14px;font-size:16px;border-radius:12px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero{grid-template-columns:minmax(0,1fr);gap:15px;padding:16px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-count{padding:11px 14px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{grid-template-columns:minmax(0,1fr);gap:8px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary>div{padding:12px 14px;border:1px solid var(--pp-line)}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dd{font-size:17px}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-notice-reading,.jobs-post-content,.info-reading,.jobs-post-table,.info-facts dd){font-size:16px;line-height:1.75}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview){padding:14px;margin-bottom:14px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview)>h2{margin:-14px -14px 12px;padding:11px 13px;font-size:20px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){padding:10px 11px;min-width:104px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{font-size:15px}
 body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources{padding:14px;font-size:16px}
 body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources h2{font-size:20px}
}
/* Browser Save as PDF: named page avoids changing other services' exports. */
@page pp-jobs-notice{size:A4;margin:14mm 13mm 15mm}
@media print{
 body[data-information-app="vacancy"]:has(.jobs-notice-detail){page:pp-jobs-notice;--pp-ink:#18212b;--pp-muted:#43505d;--pp-line:#c9ced4;--pp-reading-paper:#fff;--pp-wash:#f5f6f8;margin:0!important;padding:0!important;background:#fff!important;color:#18212b!important;font-size:11.5pt;line-height:1.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) :is(.info-skip,.info-controls,.info-search-row,.info-nav,.info-header-search,#jobs-quick-nav,.jobs-page-top-action,.jobs-page-top-breadcrumb,.jobs-notice-breadcrumb,.info-footer,.info-editor-ui,.ip-launch,.ip-studio,.ip-selection){display:none!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) .info-header{display:block!important;position:static!important;margin:0 0 4mm!important;padding:0 0 3mm!important;width:100%!important;min-height:0!important;border-bottom:1px solid #c9ced4;box-shadow:none;background:#fff!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) .info-header-row{display:block!important;margin:0!important;padding:0!important;width:100%!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) .info-brand{display:flex;align-items:center;gap:4mm;width:auto;max-width:none;color:#18212b!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) .info-brand .brand-wordmark{width:38mm!important;height:auto!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) .info-brand>span{font-size:10pt!important;border:0!important;margin:0!important;padding:0!important}
 body[data-information-app="vacancy"]:has(.jobs-notice-detail) #info-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
 body[data-information-app="vacancy"] #info-main:has(.jobs-notice-detail)>.jobs-page-top{display:block;max-width:none;margin:0 0 4mm!important;padding:0 0 3mm!important;break-after:avoid;page-break-after:avoid}
 body[data-information-app="vacancy"] #info-main:has(.jobs-notice-detail)>.jobs-page-top h1{font-size:19pt!important;line-height:1.3;color:#18212b!important}
 body[data-information-app="vacancy"] .jobs-notice-detail{--jobs-detail-plum:#64366f!important;--jobs-detail-plum-wash:#f5eef8!important;--jobs-detail-teal:#14645e!important;--jobs-detail-teal-wash:#eaf6f2!important;--jobs-detail-ochre:#805310!important;--jobs-detail-ochre-wash:#fff4dc!important;--jobs-detail-stripe:#f7f9fb!important;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#18212b!important;font-size:11.5pt;line-height:1.5;overflow:visible!important}
 body[data-information-app="vacancy"] .jobs-notice-detail *{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(h2,h3){break-after:avoid;page-break-after:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(p,li,dd){orphans:3;widows:3}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-meta{margin-bottom:3mm;gap:2mm;font-size:10pt;break-after:avoid;page-break-after:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-meta .info-badge{padding:1mm 2mm;background:#f5f6f8!important;color:#18212b!important;border-color:#c9ced4!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero{display:grid;grid-template-columns:minmax(0,1fr) 43mm;padding:4mm;gap:4mm;background:#f5eef8!important;border-color:#d9c9df!important;break-inside:avoid;page-break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-post-name{font-size:20pt;line-height:1.3;color:#4f285b!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-label{font-size:10pt;line-height:1.4;color:#43505d!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-count{flex-direction:column;gap:1mm;padding:3mm;background:#fff4dc!important;border-color:#d5b66c!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-count-value{font-size:26pt;color:#805310!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm;margin:3mm 0 0}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary>div{padding:2.5mm 3mm;border:1px solid #c9ced4!important;background:#f5f6f8!important;break-inside:avoid;page-break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary :is(dt,dd){font-size:11pt;line-height:1.5;color:#18212b!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-dates{margin:3mm 0 4mm;padding-bottom:2mm;font-size:10pt;color:#43505d!important}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-notice-reading,.jobs-post-content,.info-reading,.info-facts dd){font-size:11.5pt!important;line-height:1.6!important}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview){margin:0 0 4mm!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;break-inside:auto;page-break-inside:auto;box-decoration-break:clone}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section,.jobs-notice-overview)>h2{margin:0 0 2mm!important;padding:2mm 3mm!important;border-radius:0!important;border-left:1mm solid var(--jobs-section-ink)!important;background:var(--jobs-section-wash)!important;color:#18212b!important;font-size:13pt!important;line-height:1.4!important;break-after:avoid;page-break-after:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(p,ul,ol){margin-block:2mm}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .info-facts>div{padding-block:2mm;gap:2mm 4mm}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .info-facts dt{font-size:11pt!important;color:#43505d!important}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-table-wrap,.jobs-post-table-scroll){display:block;overflow:visible!important;max-height:none!important;height:auto!important;margin:2mm 0 0;border-radius:0;break-inside:auto;page-break-inside:auto}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:11pt!important;line-height:1.45!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table thead{display:table-header-group}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tfoot{display:table-footer-group}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tr{break-inside:avoid;page-break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){min-width:0!important;padding:2.3mm 2.5mm!important;font-size:11pt!important;line-height:1.45!important;color:#18212b!important;overflow-wrap:anywhere}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:var(--jobs-section-wash)!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table tbody tr:nth-child(even){background:#f7f9fb!important}
 body[data-information-app="vacancy"] .jobs-notice-detail a{min-height:0!important;color:#18212b!important;text-decoration:underline}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-links{gap:2mm}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-links a{padding:1mm 0;border:0;background:transparent}
 body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources{margin-top:4mm;padding:3mm;background:#f5f6f8!important;font-size:11pt;color:#18212b!important;break-inside:auto;page-break-inside:auto}
 body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources h2{font-size:13pt;color:#18212b!important}
 body[data-information-app="vacancy"] .jobs-notice-detail>.info-sources li{margin-bottom:2mm;break-inside:avoid;page-break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail :is(.info-source-url,.info-meta){font-size:10pt!important;color:#43505d!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-footer{display:block!important;margin:3mm 0 0}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-footer .info-callout{display:block!important;margin:0!important;padding:3mm;background:#fff4dc!important;color:#18212b!important;font-size:11pt;line-height:1.6;break-inside:avoid;page-break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-footer>.info-text-link{display:none!important}
}

/* 20 October: the approved vacancy reference, using the shared reader. */
body[data-information-app="vacancy"] .jobs-notice-detail{max-width:1280px;margin-inline:auto;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;--jobs-detail-navy:#102d53}
body[data-information-app="vacancy"] #info-main:has(.jobs-notice-detail)>.jobs-page-top{max-width:1280px;margin-bottom:12px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-breadcrumb{display:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-meta{margin:0 0 12px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero{background:var(--pp-reading-paper);border:1px solid var(--pp-line);border-top:4px solid var(--jobs-detail-navy);padding:24px;margin:0 0 22px;border-radius:12px;box-shadow:0 3px 12px #102d530a}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-post-name{font-size:clamp(24px,2.5vw,32px);color:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-detail-authority{margin:8px 0 12px;color:var(--pp-muted);font-size:16px}
body[data-information-app="vacancy"] .jobs-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}
body[data-information-app="vacancy"] .jobs-detail-main{min-width:0}
body[data-information-app="vacancy"] .jobs-detail-sidebar{position:sticky;top:18px;display:grid;gap:16px;min-width:0}
body[data-information-app="vacancy"] .jobs-detail-sidebar>section,body[data-information-app="vacancy"] .jobs-detail-jump{border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);overflow:hidden}
body[data-information-app="vacancy"] .jobs-detail-status{padding:18px;border-top:4px solid #8a6119!important}
body[data-information-app="vacancy"] .jobs-detail-status[data-current=true]{border-top-color:#1b8a59!important}
body[data-information-app="vacancy"] .jobs-detail-status :is(p,strong){display:block;margin:0 0 10px;line-height:1.5;font-size:15px}
body[data-information-app="vacancy"] .jobs-detail-status strong{font-size:23px;color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-detail-status .jobs-detail-status-label{color:var(--jobs-detail-teal);font-size:18px}
body[data-information-app="vacancy"] .jobs-detail-extended{color:#117749;background:#e8f7ed;border-color:#a8d7bb}
body[data-information-app="vacancy"] .jobs-detail-jump h2,body[data-information-app="vacancy"] .jobs-detail-official-actions h2{font-size:17px;margin:0;padding:14px 16px;color:#fff;background:var(--jobs-detail-navy);line-height:1.4}
body[data-information-app="vacancy"] .jobs-detail-jump{max-height:calc(100dvh - 250px);overflow:auto;scrollbar-width:thin}
body[data-information-app="vacancy"] .jobs-detail-jump a{display:block;padding:10px 16px;font-size:15px;line-height:1.5;min-height:44px;color:var(--pp-ink);text-decoration:none;border-bottom:1px solid var(--pp-line)}
body[data-information-app="vacancy"] .jobs-detail-jump a:hover,body[data-information-app="vacancy"] .jobs-detail-jump a:focus-visible{background:var(--pp-wash);color:var(--ui-accent)}
body[data-information-app="vacancy"] .jobs-detail-actions{display:flex;flex-wrap:wrap;gap:10px}
body[data-information-app="vacancy"] .jobs-detail-actions .info-button,body[data-information-app="vacancy"] .jobs-detail-official-actions .info-button{min-height:44px;padding:10px 16px;border-radius:7px;font-size:15px;line-height:1.5;color:#fff;background:#245a94;text-decoration:none}
body[data-information-app="vacancy"] .jobs-detail-actions .jobs-detail-action-notification,body[data-information-app="vacancy"] .jobs-detail-official-actions .jobs-detail-action-notification{background:#c56812;color:#fff}
body[data-information-app="vacancy"] .jobs-detail-official-actions .info-button{display:flex;margin:12px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-summary{padding:20px;margin-bottom:18px}
body[data-information-app="vacancy"] .jobs-detail-summary>h2{font-size:23px;margin:0 0 16px;padding-left:13px;border-left:4px solid #3879ba;color:var(--jobs-detail-navy);line-height:1.4}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:0;border:1px solid var(--pp-line);border-radius:8px;overflow:hidden}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary>div{min-width:0;border:0;border-right:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);border-radius:0;background:transparent;padding:14px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary :is(dt,dd){overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dt{font-size:14px;color:var(--pp-muted);margin-bottom:5px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dd{font-size:16px;line-height:1.6}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{color:#fff;background:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{min-width:440px;font-size:16px;line-height:1.65}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table:has(th:nth-child(5)){min-width:800px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table:has(th:nth-child(7)){min-width:1040px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td):first-child{min-width:145px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-section{scroll-margin-top:24px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading :is(.jobs-post-section,.jobs-notice-section)>h2{font-size:21px}
body[data-information-app="vacancy"] .jobs-notice-detail .info-sources{padding:18px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);font-size:16px;line-height:1.6}
body[data-information-app="vacancy"] .jobs-notice-detail .info-sources h2{font-size:21px;margin-top:0}
body[data-information-app="vacancy"] .jobs-notice-editor-dialog{width:min(1100px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid var(--pp-line);border-radius:12px;color:var(--pp-ink);background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] .jobs-notice-editor-dialog::backdrop{background:#0b1b36a8}
body[data-information-app="vacancy"] .jobs-notice-editor-toolbar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--pp-reading-paper);border-bottom:1px solid var(--pp-line)}
body[data-information-app="vacancy"] .jobs-notice-editor-toolbar :is(h2,p){margin:0;font-size:20px}
body[data-information-app="vacancy"] .jobs-notice-editor-content{padding:18px;min-width:0}
body[data-information-app="vacancy"] .jobs-notice-editor-dialog :is(input,textarea,select){max-width:100%;font-size:16px}
body[data-information-app="vacancy"] .jobs-notice-editor-dialog .info-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
body[data-information-app="vacancy"] .jobs-notice-editor-restore{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));min-height:48px;z-index:1000;max-width:calc(100vw - 40px);box-shadow:0 4px 18px #102d5333}
body[data-information-app="vacancy"] .jobs-detail-owner-edit{margin-top:18px}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail{--jobs-detail-navy:#a6c8f1}
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-jump h2,body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-official-actions h2,body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:#173659;color:#eaf2fc}
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-extended{background:#173b2d;color:#a8e3bc}
@media(max-width:1000px){body[data-information-app="vacancy"] .jobs-detail-layout{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-detail-sidebar{position:static;grid-row:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-detail-jump{max-height:230px}body[data-information-app="vacancy"] .jobs-detail-official-actions{grid-column:1/-1}body[data-information-app="vacancy"] .jobs-detail-official-actions .info-button{display:inline-flex}}
@media(max-width:600px){body[data-information-app="vacancy"] .jobs-detail-sidebar{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-detail-jump{max-height:180px}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-hero{padding:17px}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-summary{padding:14px}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{min-width:440px}body[data-information-app="vacancy"] .jobs-detail-status strong{font-size:21px}body[data-information-app="vacancy"] .jobs-notice-editor-toolbar{padding:12px}body[data-information-app="vacancy"] .jobs-notice-editor-content{padding:12px}}
@media print{body[data-information-app="vacancy"] .jobs-detail-layout{display:block}body[data-information-app="vacancy"] :is(.jobs-detail-sidebar,.jobs-detail-actions,.jobs-detail-owner-edit,.jobs-notice-editor-dialog,.jobs-notice-editor-restore){display:none!important}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{min-width:0!important}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:#eaf0f6!important;color:#18212b!important}}
/* Final confirmed screenshot: one title card, overview inset and compact tiles. */
body[data-information-app="vacancy"] .jobs-detail-heading{margin-bottom:22px;border:1px solid var(--pp-line);border-top:4px solid var(--jobs-detail-navy);border-radius:11px;background:var(--pp-reading-paper);box-shadow:0 3px 12px #102d530a}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-meta{padding:16px 22px 0;margin-bottom:0}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero{border:0;margin:0;box-shadow:none;padding-top:12px;grid-template-columns:minmax(0,1fr)}
body[data-information-app="vacancy"] .jobs-detail-title{font-size:clamp(25px,2.8vw,36px);line-height:1.3;letter-spacing:-.025em;margin:0 0 9px;color:var(--jobs-detail-navy);overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-label{display:inline;margin-right:7px;font-size:14px}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-post-name{display:inline;font-size:16px;color:var(--pp-ink);line-height:1.6;margin:0}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-detail-authority{margin:8px 0 12px}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count{display:flex;align-items:center;justify-content:flex-start;gap:10px;border:0;border-radius:0;padding:0;background:transparent!important;box-shadow:none}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count-value{font-size:20px;color:var(--jobs-detail-teal);line-height:1.4}
body[data-information-app="vacancy"] .jobs-detail-overview{padding:16px;margin-top:16px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-wash);font-size:16px;line-height:1.7}
body[data-information-app="vacancy"] .jobs-detail-overview h3{font-size:17px;margin:0 0 8px;color:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-detail-overview p{margin:8px 0}
body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="before-apply"]>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}
body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="before-apply"] li{padding:14px;border:1px solid var(--pp-line);background:var(--pp-wash);border-radius:8px;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-eligibility-disclosure{padding:0;border:1px solid var(--pp-line);border-radius:8px;margin:10px 0;background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] .jobs-eligibility-disclosure>summary{cursor:pointer;padding:13px 15px;min-height:44px;background:var(--pp-wash);font-size:16px;line-height:1.6;color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-eligibility-disclosure>p{padding:0 16px 8px;margin-block:12px}
@media(min-width:1200px){body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="before-apply"]>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-meta{padding:14px 16px 0}body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="before-apply"]>ul{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-detail-title{font-size:25px}body[data-information-app="vacancy"] .jobs-detail-overview{padding:13px}}
@media print{body[data-information-app="vacancy"] .jobs-detail-heading{border:0;box-shadow:none}body[data-information-app="vacancy"] .jobs-detail-title{font-size:20pt;color:#18212b}body[data-information-app="vacancy"] .jobs-eligibility-disclosure>p{display:block}body[data-information-app="vacancy"] .jobs-eligibility-disclosure{content-visibility:visible}}
@media print{body[data-information-app="vacancy"] .jobs-eligibility-disclosure::details-content{display:block;content-visibility:visible!important}body[data-information-app="vacancy"] .jobs-eligibility-disclosure>*:not(summary){display:block!important}}
body[data-information-app="vacancy"] .jobs-detail-sidebar>.jobs-detail-status{display:block}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count{flex-direction:row;min-height:0;height:auto;text-align:left;align-self:start}

/* 21 October: one source-backed section per subject, open responsive tables. */
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-layout{display:block}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px 28px;align-items:center}
body[data-information-app="vacancy"] .jobs-detail-title{grid-column:1/-1;margin:0;color:var(--jobs-detail-navy);font-size:32px;line-height:1.35}
body[data-information-app="vacancy"] .jobs-detail-metrics{display:grid;gap:10px;min-width:0;align-self:center}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero .jobs-notice-count{justify-content:center;align-items:center;gap:8px;padding:12px 16px;border:2px solid var(--jobs-detail-navy);border-radius:20px;text-align:center;min-height:72px}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count .jobs-notice-label{margin:0;font-size:24px;color:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count-value{font-size:34px;color:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-detail-deadline{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;padding:8px 10px;border:1px solid var(--pp-line);border-radius:9px;font-size:16px;color:var(--pp-ink);background:var(--pp-wash)}
body[data-information-app="vacancy"] .jobs-detail-contents{margin:0 0 20px;border:1px solid var(--pp-line);border-radius:9px;background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] .jobs-detail-contents>summary{padding:12px 16px;cursor:pointer;color:var(--jobs-detail-navy);min-height:44px}
body[data-information-app="vacancy"] .jobs-detail-contents .jobs-detail-jump{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px;max-height:none;border:0;box-shadow:none;background:transparent}
body[data-information-app="vacancy"] .jobs-detail-contents .jobs-detail-jump>a{padding:7px 10px;border:1px solid var(--pp-line);border-radius:6px;font-size:14px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-summary{padding:16px 20px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-overview{border:0;padding:12px 0 0;background:transparent}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-overview:first-child{padding-top:0}
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-section p,.jobs-post-section li,.jobs-detail-overview p,.jobs-post-table td){text-align:start;text-align-last:auto;hyphens:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table-wrap{width:100%;max-width:100%;overflow:visible}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table,
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table:has(th:nth-child(5)),
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table:has(th:nth-child(7)){width:auto;max-width:100%;min-width:0;table-layout:auto}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){min-width:0;max-width:none;overflow-wrap:anywhere;word-break:normal;padding:12px;vertical-align:top}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td):first-child{min-width:0;text-align:left}
body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="qualification"] .jobs-post-table :is(th,td):first-child,
body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="salary"] .jobs-post-table :is(th,td):first-child{width:auto}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td::before{display:none}
body[data-information-app="vacancy"] .jobs-post-block+.jobs-post-block{margin-top:16px}
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-title,
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-contents>summary,
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-heading .jobs-notice-count :is(.jobs-notice-label,.jobs-notice-count-value){color:#e5effc}
@media(max-width:850px){
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero{grid-template-columns:minmax(0,1fr)}
 body[data-information-app="vacancy"] .jobs-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
 body[data-information-app="vacancy"] .jobs-detail-title{font-size:28px}
}
@media(max-width:900px){
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{display:block;border:0}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tbody{display:grid;gap:14px}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tbody tr{display:block;border:1px solid var(--pp-line);border-radius:8px;overflow:visible;background:var(--pp-reading-paper)}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td,
 body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="qualification"] .jobs-post-table td:first-child,
 body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="salary"] .jobs-post-table td:first-child{display:block;width:auto;padding:10px 12px;border:0;border-bottom:1px solid var(--pp-line);text-align:start}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td:last-child{border-bottom:0}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td::before{display:block;content:attr(data-label);margin-bottom:4px;color:var(--pp-muted);font-size:14px;text-align:left}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td:first-child{background:var(--pp-wash);text-align:left;color:var(--pp-ink)}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td:first-child::before{color:var(--pp-muted)}
}
@media(max-width:480px){
 body[data-information-app="vacancy"] .jobs-detail-title{font-size:25px}
 body[data-information-app="vacancy"] .jobs-detail-metrics{grid-template-columns:minmax(0,1fr);gap:8px}
 body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count{min-height:60px;padding:8px 12px}
 body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count .jobs-notice-label{font-size:22px}
 body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-count-value{font-size:30px}
}
@media print{
 body[data-information-app="vacancy"] .jobs-detail-contents{display:none!important}
 body[data-information-app="vacancy"] .jobs-detail-metrics{break-inside:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{display:table!important;table-layout:auto!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:normal!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tbody{display:table-row-group!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tbody tr{display:table-row!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td{display:table-cell!important;width:auto!important}
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td::before{display:none!important}
}

/* Owner's official-notice table references: plain headings and clear rules. */
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-section>h2{margin:0 0 16px;padding:0 0 12px;border:0;border-bottom:1px solid var(--pp-line);border-radius:0;background:transparent;color:var(--pp-ink);font-size:22px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table-wrap{border:0;border-radius:0;scrollbar-gutter:auto}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{border-collapse:collapse;border:1px solid var(--pp-muted)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){border:1px solid var(--pp-muted);background:transparent}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:var(--pp-reading-paper);color:var(--pp-ink);text-align:start;line-height:1.5}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table tbody tr:nth-child(even){background:transparent}
@media(max-width:900px){body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table{border:0}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td{border:0;border-bottom:1px solid var(--pp-line)}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td:last-child{border:0}}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td.jobs-post-cell-merged{vertical-align:middle}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td.jobs-post-cell-continuation{display:none}
@media(max-width:900px){body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td.jobs-post-cell-continuation{display:block}body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td.jobs-post-cell-merged{vertical-align:top}}
@media print{body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td.jobs-post-cell-continuation{display:none!important}}

/* B1: compact open navigation, readable alignment and content-sized columns. */
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-label{display:block;margin-right:0;font-size:15px}
body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-post-name{display:block;margin:5px 0 10px;font-size:29px;line-height:1.35;color:var(--jobs-detail-navy)}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero .jobs-notice-count{background:#116c63!important;border-color:#116c63;border-radius:14px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-count :is(.jobs-notice-label,.jobs-notice-count-value){color:#fff}
body[data-information-app="vacancy"] .jobs-detail-deadline{background:#fff0d4;border-color:#cb8418;color:#704205}
body[data-information-app="vacancy"] .jobs-detail-deadline strong{color:inherit}
body[data-information-app="vacancy"] .jobs-detail-contents>summary{padding:10px 14px;min-height:40px;background:var(--pp-wash)}
body[data-information-app="vacancy"] .jobs-detail-contents .jobs-detail-jump{gap:7px;padding:10px 13px 13px}
body[data-information-app="vacancy"] .jobs-detail-contents .jobs-detail-jump>a{display:inline-flex;align-items:center;min-height:36px;padding:6px 9px;line-height:1.45}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td){text-align:start;text-align-last:auto}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td).jobs-post-col-numeric,
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td).jobs-post-col-code{width:auto;white-space:normal;text-align:center}
body[data-information-app="vacancy"] .jobs-notice-detail [data-post-section="salary"] .jobs-post-table :is(th,td):first-child{width:auto}
body[data-information-app="vacancy"][data-theme=dark] .jobs-detail-deadline{background:#443216;border-color:#b88b42;color:#ffe0a7}
@media(min-width:1000px){body[data-information-app="vacancy"] .jobs-detail-overview p{text-align:justify;text-align-last:start}}
@media(max-width:900px){
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td).jobs-post-col-numeric,
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td).jobs-post-col-code{width:auto;white-space:normal;text-align:start}
 body[data-information-app="vacancy"] .jobs-detail-contents .jobs-detail-jump>a{min-height:44px}
}
@media(max-width:600px){body[data-information-app="vacancy"] .jobs-detail-heading .jobs-notice-post-name{font-size:26px}}

/* Owner correction: restore section navigation to the desktop right sidebar. */
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-layout-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"reading sections";gap:22px;align-items:start}
body[data-information-app="vacancy"] .jobs-detail-layout-with-sidebar>.jobs-detail-main{grid-area:reading}
body[data-information-app="vacancy"] .jobs-detail-layout-with-sidebar>.jobs-detail-sidebar{grid-area:sections}
body[data-information-app="vacancy"] .jobs-detail-sidebar{grid-template-columns:minmax(0,1fr)}
body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-contents{margin:0;overflow:hidden}
body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-jump{display:flex;flex-direction:column;flex-wrap:nowrap;max-height:calc(100dvh - 100px);overflow-y:auto;padding:8px;gap:5px}
body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-jump>a{display:flex;min-height:40px;padding:8px 10px}
@media(max-width:1000px){
 body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-layout-with-sidebar{grid-template-columns:minmax(0,1fr);grid-template-areas:"sections" "reading";gap:20px}
 body[data-information-app="vacancy"] .jobs-detail-sidebar{position:static;grid-row:1;grid-template-columns:minmax(0,1fr)}
 body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-jump{flex-direction:row;flex-wrap:wrap;max-height:none;overflow:visible}
 body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-jump>a{min-height:44px}
}
@media print{body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-layout-with-sidebar{display:block}}

/* C1/C2: official selection bullets, paper schemes and ordered merit rules. */
body[data-information-app="vacancy"] .jobs-selection-bullets{margin:10px 0 18px;padding-left:24px}
body[data-information-app="vacancy"] .jobs-selection-bullets>li{margin:0 0 12px;line-height:1.65;text-align:start}
body[data-information-app="vacancy"] :is(.jobs-selection-official,.jobs-selection-merit,.jobs-selection-tie) h3,
body[data-information-app="vacancy"] .jobs-exam-paper-heading{margin:20px 0 12px;padding:0 0 8px;border-bottom:1px solid var(--pp-line);font-size:18px;line-height:1.5;color:var(--pp-ink);text-align:start}
body[data-information-app="vacancy"] .jobs-exam-paper:first-child>.jobs-exam-paper-heading{margin-top:0}
body[data-information-app="vacancy"] .jobs-exam-paper+.jobs-exam-paper{margin-top:24px}
body[data-information-app="vacancy"] .jobs-selection-cutoff-note{margin:14px 0;padding:12px 14px;border-left:3px solid #bf8b25;background:var(--pp-wash);line-height:1.65;text-align:start}
body[data-information-app="vacancy"] .jobs-selection-tie-preference :is(th,td):first-child{width:1%;white-space:nowrap}
body[data-information-app="vacancy"] .jobs-exam-footnotes{margin:10px 0 18px;font-size:15px;line-height:1.6;text-align:start}
body[data-information-app="vacancy"] .jobs-exam-footnotes p{margin:8px 0;text-align:start}
@media(max-width:900px){
 body[data-information-app="vacancy"] .jobs-selection-bullets{padding-left:21px}
 body[data-information-app="vacancy"] .jobs-selection-tie-preference :is(th,td):first-child{width:auto;white-space:normal}
}
@media print{
 body[data-information-app="vacancy"] .jobs-exam-paper-heading{break-after:avoid}
 body[data-information-app="vacancy"] .jobs-selection-cutoff-note{background:transparent;border-color:#555}
}

/* Owner's reading-size increase: 16px body to 18px, matching heading steps. */
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-post-section p,.jobs-post-section li,.jobs-post-table th,.jobs-post-table td,.jobs-detail-overview p,.jobs-notice-summary dt,.jobs-notice-summary dd,.info-sources,.jobs-notice-footer){font-size:18px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-section>h2{font-size:24px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-summary>h2{font-size:25px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-exam-paper-heading,
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-selection-official,.jobs-selection-merit,.jobs-selection-tie) h3{font-size:20px}
body[data-information-app="vacancy"] .jobs-notice-detail :is(.jobs-exam-footnotes,.jobs-exam-footnotes p){font-size:17px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-exam-paper :is(th,td).jobs-post-col-numeric{width:auto;white-space:normal}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary dt{font-size:16px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{font-size:18px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td::before{font-size:16px}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table th:is(.jobs-post-col-numeric,.jobs-post-col-code){white-space:normal}

/* C3/C4: official actions below the section menu; readable coloured headers. */
body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-official-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] .jobs-detail-sidebar .jobs-detail-official-actions .info-button{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;margin:0}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:var(--jobs-detail-navy);color:#fff;overflow-wrap:normal;word-break:normal;white-space:normal}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table th:is(.jobs-post-col-numeric,.jobs-post-col-code){width:auto;overflow-wrap:normal;word-break:normal}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:#244c70;color:#fff}
@media(min-width:1001px){body[data-information-app="vacancy"] .jobs-detail-sidebar:has(.jobs-detail-official-actions) .jobs-detail-jump{max-height:calc(100dvh - 240px)}}

/* Owner's alignment choice: left-aligned boxes, selected long prose justified. */
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td),
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table :is(th,td):is(.jobs-post-col-numeric,.jobs-post-col-code),
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-post-table td::before,
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-summary :is(dt,dd){text-align:left;text-align-last:left}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading [data-post-section] .jobs-post-table :is(th,td){text-align:left;text-align-last:left}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-heading .jobs-notice-hero .jobs-notice-count{justify-content:flex-start;text-align:left}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-deadline{justify-content:flex-start;text-align:left}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-sidebar .jobs-detail-official-actions .info-button{justify-content:flex-start;text-align:left}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-detail-overview p,
body[data-information-app="vacancy"] .jobs-notice-detail :is([data-post-section="qualification"],[data-post-section="selection-process"],[data-post-section="merit-list"],[data-post-section="tie-breaking"],[data-post-section="documents"],[data-post-section="how-to-apply"]) :is(p,li){text-align:justify;text-align-last:left;text-justify:inter-word;hyphens:none}
body[data-information-app="vacancy"] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:#fff0dc;color:#7b3b08;text-align:left;text-align-last:left}
body[data-information-app="vacancy"][data-theme=dark] .jobs-notice-detail .jobs-notice-reading .jobs-post-table thead th{background:#edc59e;color:#482408}

/* Compact shared footers across learning and information-service pages. */
.info-footer{margin-top:24px;padding:16px 0 calc(16px + env(safe-area-inset-bottom))}
.info-footer-heading{gap:8px;margin-bottom:8px}
.info-policy-links{gap:4px 18px}
.info-footer-bottom{margin-top:12px;padding-top:10px;gap:10px}
@media(min-width:851px){.info-policy-links a,.info-footer-bottom>a{min-height:30px}}
@media(max-width:560px){.info-footer-bottom>a{margin-top:4px}}
.footer{margin-top:24px;padding:16px 0 12px!important}
.footer .wrap.footer-grid{gap:12px 24px}
.footer .footer-links{gap:4px}
.footer .footer-links h2{margin:6px 0 4px}
.footer-bottom{padding-top:10px;gap:8px}

/* Owner's uploaded Word reference, initially applied to the selected CWC notice. */
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference{--jobs-word-orange:#a94e0a;--jobs-word-border:#d9d9d9;color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-title{margin:12px 0 24px;font:700 clamp(25px,2.6vw,34px)/1.4 "Bookman Old Style","Book Antiqua",Georgia,serif;color:#111;text-align:left;overflow-wrap:break-word}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:30px}
body[data-information-app="vacancy"] .jobs-word-reference :is(.jobs-word-post-card,.jobs-word-metrics-card){min-width:0;padding:18px;border:1.5px solid #f19a41;border-radius:28px;background:linear-gradient(#fff2ed,#ffd5bd);box-shadow:0 3px 5px #34201226;color:#111;font-family:"Bookman Old Style","Book Antiqua",Georgia,serif}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-post-card{display:flex;flex-direction:column;justify-content:center;text-align:center}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-post-card h2{margin:0;padding:0 0 12px;border-bottom:1px solid #a99b91;font-size:22px;line-height:1.4;color:inherit}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-post-name{margin:16px 0 8px;font-size:32px;line-height:1.4;color:inherit;overflow-wrap:break-word}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card dl{margin:0;border:1px solid #a99b91}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card dl>div+div{border-top:1px solid #a99b91}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card :is(dt,dd){margin:0;padding:9px 10px;font-size:20px;line-height:1.5;font-weight:700;overflow-wrap:break-word}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card dd{border-left:1px solid #a99b91;text-align:center}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-closing-time{display:block;font-size:17px}
body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-mode{margin:16px 0 0;text-align:center;font-size:23px;line-height:1.4}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference :is(.jobs-detail-summary,.jobs-post-section){margin:0 0 24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference :is(.jobs-detail-summary,.jobs-post-section)>h2{margin:0 0 14px;padding:0;border:0;font-size:24px;line-height:1.4;color:var(--jobs-word-orange)}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-context-title{margin:20px 0 12px;font-size:20px;line-height:1.45;color:var(--jobs-word-orange);text-align:left}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-detail-overview{padding:0;border:0;background:transparent}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table-wrap{margin:12px 0;border:0;border-radius:0;overflow:visible;box-shadow:none}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table{width:auto;max-width:100%;min-width:0;table-layout:auto;border-collapse:collapse;font-size:18px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table :is(th,td){border:1px solid var(--jobs-word-border);padding:11px 13px;font-size:18px;line-height:1.55;text-align:left;text-align-last:left;vertical-align:middle;overflow-wrap:break-word;white-space:normal}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table thead th{background:#fff0dc;color:#713805;word-break:normal;overflow-wrap:normal}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tbody tr:nth-child(even){background:#f7f9fc}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference :is([data-post-section="exam-pattern"],[data-post-section="documents"]) li{text-align:left;text-align-last:left}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference [data-post-section="exam-pattern"] p{text-align:left;text-align-last:left}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-word-reference{--jobs-word-orange:#ffc18a;--jobs-word-border:#736458}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-word-reference .jobs-word-title{color:#fff2e7}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-word-reference :is(.jobs-word-post-card,.jobs-word-metrics-card){background:linear-gradient(#503c33,#382b27);border-color:#bf8b5d;color:#fff2e7}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-notice-detail.jobs-word-reference .jobs-post-table thead th{background:#edc59e;color:#482408}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tbody tr:nth-child(even){background:#ffffff08}
@media(max-width:900px){body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table{display:block;width:100%}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table thead{display:none}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tbody{display:block;width:100%}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tr{display:block;margin-bottom:12px;border:1px solid var(--jobs-word-border)}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td{display:block;width:auto;border:0;border-bottom:1px solid var(--jobs-word-border)}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td:last-child{border-bottom:0}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td.jobs-post-cell-continuation{display:block}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td::before{display:block;margin-bottom:4px;white-space:normal;overflow-wrap:break-word;color:var(--jobs-word-orange)}}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-hero-grid{grid-template-columns:minmax(0,1fr);gap:16px}body[data-information-app="vacancy"] .jobs-word-reference :is(.jobs-word-post-card,.jobs-word-metrics-card){border-radius:20px;padding:14px}body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-post-name{font-size:28px}body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-metrics-card :is(dt,dd){font-size:18px;padding:8px}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table :is(th,td){padding:10px;font-size:17px}}
@media print{body[data-information-app="vacancy"] .jobs-word-reference .jobs-word-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));break-inside:avoid}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table{display:table;width:100%;font-size:10pt}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table thead{display:table-header-group}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tbody{display:table-row-group}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table tr{display:table-row;break-inside:avoid}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table :is(th,td){display:table-cell;font-size:10pt}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td::before{display:none}body[data-information-app="vacancy"] .jobs-notice-detail.jobs-word-reference .jobs-post-table td.jobs-post-cell-continuation{display:none}}

/* Owner-approved vacancy reader: final Word/demo base, 21 October 2026. */
body[data-information-app="vacancy"] .jobs-approved-format{--jobs-approved-indigo:#304f88;--jobs-approved-teal:#16776c;--jobs-approved-line:#dbe3ed;font-size:18px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-heading{padding:0;border:0;background:transparent;box-shadow:none}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;padding:0;border:0;background:transparent;box-shadow:none}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-title{grid-column:1/-1;margin:0 0 8px;padding:0;border:0;font-family:var(--font-sans,Arial,sans-serif);font-size:30px;line-height:1.35;letter-spacing:-.4px;text-align:left;color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-notice-post,.jobs-approved-application-card){margin:0;padding:26px 28px;border:0;border-radius:20px;box-shadow:0 6px 20px #31456b0b;min-width:0}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-post{background:linear-gradient(120deg,#edf0ff,#e5f2ff)}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-approved-application-card{background:linear-gradient(120deg,#e7f7f3,#e7f5fb)}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-post-name{font-size:28px;line-height:1.35;color:#263b79;margin:8px 0 12px;text-align:left;overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-label{font-size:14px;letter-spacing:.6px;line-height:1.4;color:#4c5c88;margin:0 0 10px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-authority{font-size:16px;color:#485879;line-height:1.5}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-metrics{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;margin:0;padding:0;border:0;background:transparent}
body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-notice-count,.jobs-detail-deadline){display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-count-value{font-size:46px;color:#087b70;line-height:1.1}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-deadline strong{font-size:23px;color:#1b4050}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-deadline>span{font-size:15px;color:#526e77}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-approved-mode{display:inline-block;margin:22px 0 0;padding:8px 13px;background:#ffffffc9;color:#19796a;border-radius:9px;font-size:15px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-layout-with-sidebar{grid-template-columns:minmax(0,1fr) 265px;gap:28px;margin-top:34px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar{grid-column:2;grid-row:1;top:20px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-main{grid-column:1;grid-row:1;min-width:0}
body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-detail-summary,.jobs-post-section){background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 32px}
body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-detail-summary,.jobs-post-section)>h2{color:#214c78;background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 15px;font-size:23px;line-height:1.4}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-context-title{color:#26766c;font-size:20px;margin:24px 0 12px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-overview{background:transparent;border:0;padding:0}
body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-post-section,.jobs-detail-overview) :is(p,li){font-size:18px;line-height:1.7}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-section li{margin:9px 0}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-summary{display:flex;flex-wrap:wrap;gap:8px 20px;border:0;background:transparent;margin:0 0 16px;padding:0}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-summary>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;padding:0;border:0;background:transparent;font-size:15px;color:var(--pp-muted)}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-summary :is(dt,dd){margin:0;padding:0;font-size:15px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-summary dt::after{content:':' }
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-table{width:100%;font-size:17px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-table :is(th,td){padding:12px 14px;font-size:17px;line-height:1.6;border-color:var(--jobs-approved-line);text-align:left;text-align-last:left}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-table thead th{background:#eaf0fa;color:#25436c}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-table tbody tr:nth-child(even){background:#f8fafc}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-contents{border:1px solid #e0e6f0;border-radius:16px;background:var(--pp-reading-paper);box-shadow:0 7px 24px #243b6410;overflow:hidden}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-contents>summary{background:linear-gradient(115deg,#284b91,#6b4fb0);color:#fff;padding:18px;font-size:18px}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar .jobs-detail-jump{padding:12px;gap:8px;max-height:calc(100dvh - 150px)}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>a{--wash:#edf3ff;--edge:#d8e4fc;--accent:#527acc;--ink:#315387;padding:11px 13px 11px 17px;border:1px solid var(--edge);border-left:4px solid var(--accent);border-radius:9px;background:var(--wash);color:var(--ink);font-size:14px;min-height:44px;line-height:1.5;transition:box-shadow .15s}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>[data-jump-tone="1"]{--wash:#eaf8f4;--edge:#ccebe1;--accent:#23977f;--ink:#21695b}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>[data-jump-tone="2"]{--wash:#fff3e7;--edge:#f5dec4;--accent:#d9923a;--ink:#88571c}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>[data-jump-tone="3"]{--wash:#f2edfc;--edge:#e2d7f5;--accent:#9270c6;--ink:#6a478d}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>[data-jump-tone="4"]{--wash:#fceef3;--edge:#f3d8e3;--accent:#c66c92;--ink:#95496b}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>[data-jump-tone="5"]{--wash:#eaf6fc;--edge:#cfe8f5;--accent:#4b9fc3;--ink:#326b87}
body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>a:is(:hover,:focus-visible,[aria-current="location"]){background:var(--wash);color:var(--ink);outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 3px 10px #26334a14}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format{--jobs-approved-line:#48556b}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-notice-post{background:linear-gradient(120deg,#253451,#263d50)}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-approved-application-card{background:linear-gradient(120deg,#203e3c,#243a4c)}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format :is(.jobs-notice-post-name,.jobs-detail-authority,.jobs-notice-label,.jobs-detail-deadline strong,.jobs-detail-deadline>span){color:#d7e5f8}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-notice-count-value{color:#83dbcd}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-approved-mode{background:#31544e;color:#c8f5e7}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format :is(.jobs-detail-summary,.jobs-post-section)>h2{color:#afccec}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-post-context-title{color:#a1d9ce}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-post-table thead th{background:#2c4161;color:#e3ecfa}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-post-table tbody tr:nth-child(even){background:#ffffff06}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-approved-format .jobs-detail-jump>a{background:var(--pp-reading-paper);color:#dae7f5;border-color:var(--accent)}
@media(max-width:1000px){body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-layout-with-sidebar{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar{position:static;grid-column:1;grid-row:1}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-main{grid-column:1;grid-row:2}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar .jobs-detail-jump{max-height:240px;flex-direction:row;flex-wrap:wrap}}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-hero{grid-template-columns:minmax(0,1fr)}body[data-information-app="vacancy"] .jobs-approved-format :is(.jobs-notice-post,.jobs-approved-application-card){padding:22px}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-title{font-size:26px}body[data-information-app="vacancy"] .jobs-approved-format .jobs-notice-post-name{font-size:25px}body[data-information-app="vacancy"] .jobs-approved-format .jobs-post-table :is(th,td){font-size:16px}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar .jobs-detail-jump{flex-direction:column;flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-jump>a{transition:none}}
@media print{body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-layout-with-sidebar{display:block}body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar{display:none}}
/* Override legacy vacancy-specific geometry within the approved surface only. */
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:20px;padding:0;background:transparent;box-shadow:none;border:0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-post{align-self:stretch}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero .jobs-notice-count{padding:0;border:0;border-radius:0;min-height:0;background:transparent!important;align-items:flex-start;justify-content:flex-start;text-align:left;animation:none;gap:5px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero .jobs-notice-count :is(.jobs-notice-label,.jobs-notice-count-value){color:#087b70!important}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-section>h2{border:0;padding:0;margin-bottom:15px;color:#214c78;font-size:23px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table thead th{background:#eaf0fa;color:#25436c}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-section{border:0;padding:0;box-shadow:none;background:transparent;margin:0 0 32px}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero .jobs-notice-count :is(.jobs-notice-label,.jobs-notice-count-value){color:#83dbcd!important}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-section>h2{color:#afccec}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table thead th{background:#2c4161;color:#e3ecfa}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero{grid-template-columns:minmax(0,1fr)}}

/* Jobs applicant scopes: keep every qualification control usable on narrow
   screens without an intrinsically wide toolbar enlarging the page. */
@media(max-width:640px){
 #jobs-home-portal :is(.jobs-category-board,.jobs-exam-main,.jobs-exam-notifications),
 #jobs-category-page :is(.jobs-government-main,.jobs-vacancy-stage){min-width:0;max-width:100%;box-sizing:border-box}
 #jobs-home-portal .jobs-table-heading,
 #jobs-category-page .jobs-government-main .jobs-table-heading{width:100%;max-width:100%;min-width:0;box-sizing:border-box;flex-wrap:wrap;align-items:stretch;overflow-x:visible}
 #jobs-home-portal .jobs-table-heading>h3,
 #jobs-category-page .jobs-government-main .jobs-table-heading>h2{flex:1 1 100%;min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:break-word}
 #jobs-home-portal [data-jobs-qualification-form],
 #jobs-category-page .jobs-government-main [data-jobs-qualification-form]{flex:1 1 100%;width:100%;min-width:0;max-width:100%;box-sizing:border-box;flex-wrap:wrap}
 #jobs-home-portal .jobs-qualification-quick,
 #jobs-category-page .jobs-government-main .jobs-qualification-quick{flex:1 1 100%;min-width:0;max-width:100%;flex-wrap:wrap}
 #jobs-home-portal .jobs-qualification-select,
 #jobs-category-page .jobs-government-main .jobs-qualification-select{flex:1 1 100%;width:100%;min-width:0;max-width:100%}
 #jobs-home-portal [data-jobs-qualification-select],
 #jobs-category-page .jobs-government-main [data-jobs-qualification-select]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
 #jobs-home-portal .jobs-vacancy-table-wrap,
 #jobs-category-page .jobs-vacancy-table-wrap{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto}
}

/* Vacancy tables retain whole words and reflow into open labelled rows when
   their natural columns cannot fit. No horizontal table scrollbar. */
@media screen{
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table :is(th,td){overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal;text-align:left;text-align-last:left}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-table-wrap{min-width:0;max-width:100%;box-sizing:border-box;overflow:visible}
}
@media screen and (min-width:901px){
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-table-wrap{overflow:visible}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table{width:100%;min-width:100%;max-width:none;table-layout:auto}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table :is(th,td){padding:clamp(10px,.85vw,12px) clamp(9px,1vw,14px);font-size:clamp(16px,1.2vw,17px);line-height:1.6}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table .jobs-post-col-text{min-width:14ch}
 /* Count/code headings can contain full conditions. Let the browser allocate
    width from all cell content, not squeeze these columns to one percent. */
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table td:is(.jobs-post-col-numeric,.jobs-post-col-code){width:auto;min-width:0}
}
@media screen{
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table{display:block;width:100%;min-width:0;max-width:100%;border:0}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table tbody{display:block;width:100%}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table tr{display:block;width:100%;box-sizing:border-box;margin-bottom:14px;border:1px solid var(--jobs-approved-line);border-radius:8px;background:var(--pp-reading-paper)}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table td{display:block;width:auto;min-width:0;max-width:100%;box-sizing:border-box;padding:11px 14px;border:0;border-bottom:1px solid var(--jobs-approved-line);font-size:16px;line-height:1.65;overflow-wrap:break-word;word-break:normal;white-space:normal}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table td:last-child{border-bottom:0}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-table-reflow .jobs-post-table td::before{display:block;content:attr(data-label);margin-bottom:4px;color:var(--pp-muted);font-size:14px;line-height:1.5;overflow-wrap:normal;word-break:normal;text-align:left}
 body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-contents>.jobs-detail-contents-title{margin:0;background:linear-gradient(115deg,#284b91,#6b4fb0);color:#fff;padding:18px;font-size:18px;line-height:1.5}
 body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar .jobs-detail-jump{max-height:none;overflow:visible}
 body[data-information-app="vacancy"] .jobs-approved-format .jobs-detail-sidebar.jobs-sidebar-tall{position:static}
}
@media screen and (max-width:900px){
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-reading .jobs-post-table :is(th,td){min-width:0;max-width:100%;overflow-wrap:break-word}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-table td::before{overflow-wrap:normal;word-break:normal;hyphens:none}
}

/* Bank categories remain visible and keyboard accessible at every width. */
#jobs-category-page .jobs-bank-tabs{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:10px;margin:0;box-sizing:border-box;padding:14px;border:1px solid var(--pp-line,#dce3ee);border-radius:16px;background:var(--pp-reading-paper,#fff);min-width:0}
#jobs-category-page .jobs-bank-tab{--bank-tone:#2856a5;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:46px;max-width:100%;box-sizing:border-box;padding:11px 17px;border:1px solid color-mix(in srgb,var(--bank-tone) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bank-tone) 9%,var(--pp-reading-paper,#fff));color:var(--bank-tone);text-decoration:none;font-size:15px;font-weight:700;line-height:1.45;text-align:center;word-break:normal;overflow-wrap:normal;transition:background .15s ease,box-shadow .15s ease}
#jobs-category-page .jobs-bank-tab:nth-child(2){--bank-tone:#21654e}
#jobs-category-page .jobs-bank-tab:nth-child(3){--bank-tone:#6942a6}
#jobs-category-page .jobs-bank-tab:nth-child(4){--bank-tone:#186c7f}
#jobs-category-page .jobs-bank-tab:nth-child(5){--bank-tone:#98511b}
#jobs-category-page .jobs-bank-tab:nth-child(6){--bank-tone:#9a3c67}
#jobs-category-page .jobs-bank-tab:hover{background:color-mix(in srgb,var(--bank-tone) 17%,var(--pp-reading-paper,#fff))}
#jobs-category-page .jobs-bank-tab[aria-current="page"]{background:var(--bank-tone);border-color:var(--bank-tone);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--bank-tone) 22%,transparent)}
#jobs-category-page .jobs-bank-tab:focus-visible{outline:3px solid var(--ui-focus,#2379ec);outline-offset:3px}
@media(max-width:600px){#jobs-category-page .jobs-bank-tabs{gap:8px;padding:10px}#jobs-category-page .jobs-bank-tab{flex:1 1 calc(50% - 8px);padding:10px 8px;font-size:14px}}
body[data-theme="dark"] #jobs-category-page .jobs-bank-tab:not([aria-current="page"]){color:color-mix(in srgb,var(--bank-tone) 40%,#fff);border-color:color-mix(in srgb,var(--bank-tone) 65%,#fff)}

#jobs-category-page[data-section="bank"] .jobs-category-page-header>.jobs-category-page-filters{flex:1 1 100%}
#jobs-category-page[data-section="bank"] .jobs-category-page-filters .field{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:1 1 220px}
#jobs-category-page[data-section="bank"] .jobs-category-page-filters .field>:is(input,select){width:100%;min-width:0;max-width:100%;min-height:44px;box-sizing:border-box;margin:0;padding:8px 10px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-reading-paper);color:var(--pp-ink);font-size:16px}

/* 23 October: one organisation/qualification filter row above every Jobs table.
   Qualifications and opportunity types are native choices, never shortcut chips. */
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-home) .jobs-category-filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:10px 14px;min-width:0;max-width:100%;box-sizing:border-box;background:var(--pp-reading-paper);border-bottom:1px solid var(--pp-line)}
body[data-information-app="vacancy"] .jobs-category-filter-row>.jobs-qualification-filter{display:contents}
body[data-information-app="vacancy"] .jobs-category-filter-row :is(.jobs-category-organisation,.jobs-qualification-select,.jobs-opportunity-select){display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:1 1 160px;min-width:0;max-width:100%;width:auto;margin:0;order:0;color:var(--pp-ink);font-size:14px}
body[data-information-app="vacancy"] .jobs-category-filter-row .jobs-category-organisation{flex-grow:1.35}
body[data-information-app="vacancy"] :is(.jobs-category-filter-row,.jobs-category-page-filters) label>select{width:100%;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--pp-line);border-radius:8px;background:var(--pp-reading-paper);color:var(--pp-ink);font:inherit;font-size:16px}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-page-filters[data-jobs-qualification-form]{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-page-filters .field{display:flex;flex-direction:column;gap:5px;flex:1 1 165px;width:auto;max-width:100%;min-width:0}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-page-filters :is([data-jobs-qualification-select],[data-jobs-opportunity-select]){width:100%;max-width:100%;min-width:0}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-table-heading{overflow:visible;flex-wrap:wrap}
body[data-information-app="vacancy"] :is(#jobs-home-portal,#jobs-category-page) .jobs-table-heading>:is(h2,h3){flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:break-word}
@media(max-width:640px){
 body[data-information-app="vacancy"] .jobs-category-filter-row :is(.jobs-category-organisation,.jobs-qualification-select,.jobs-opportunity-select){flex-basis:135px;min-width:0;width:auto}
 body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-page-filters .field{flex-basis:135px}
}

/* Homepage: category, count and filters occupy one compact header row. */
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:6px 10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:6px 10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-title-group{display:flex;align-items:center;flex:1 0 auto;flex-wrap:nowrap;gap:6px;min-width:0;order:0;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading h2{margin:0;font-size:15px;line-height:1.3;white-space:nowrap;overflow-wrap:normal}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading h2 a{display:flex;align-items:center;min-height:36px}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-scope{font-size:12px;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-stats{flex:0 0 auto;margin:0;max-width:none;order:0;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-live-count{display:inline-flex;align-items:center;flex:0 0 auto;gap:3px;white-space:nowrap;font-size:12px;line-height:1.3;color:var(--pp-ink);padding:4px 6px;border-inline-start:3px solid #16816d;background:color-mix(in srgb,#16816d 8%,var(--pp-reading-paper));border-radius:4px}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-live-count[hidden]{display:none}
body[data-information-app="vacancy"] #jobs-category-home [data-home-vacancy-stage="current"]{margin-top:0}
body[data-information-app="vacancy"] #jobs-category-home [data-home-vacancy-stage="current"]>header[hidden]{display:none}
body[data-information-app="vacancy"] #jobs-category-home .jobs-security-scope>header{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;overflow-x:auto}
body[data-information-app="vacancy"] #jobs-category-home .jobs-security-scope>header h3{white-space:nowrap;font-size:15px}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-count{flex-wrap:nowrap;gap:4px;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-count>strong{font-size:17px;line-height:1.3;white-space:nowrap;overflow-wrap:normal}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-count>span{font-size:11px;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-controls{display:flex;flex:0 0 125px;align-items:center;flex-wrap:nowrap;width:125px;min-width:0;max-width:125px;margin:0;order:0}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-controls>.field{flex:1 1 auto;min-width:0;width:100%;margin:0;order:0}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar.jobs-category-filter-row{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:6px;width:auto;max-width:none;min-width:0;padding:0;border:0;background:transparent;overflow:visible;order:0}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar>h3[hidden]{display:none}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar>.jobs-qualification-filter{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:6px;width:auto;max-width:none;min-width:0;margin:0}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar :is(.jobs-qualification-select,.jobs-opportunity-select){display:block;flex:0 0 170px;width:170px;min-width:0;max-width:170px;margin:0;order:0}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar .jobs-opportunity-select{flex-basis:185px;width:185px;max-width:185px}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar label>span,
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-controls>.field>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading select{min-height:36px;min-width:0;width:100%;max-width:100%;box-sizing:border-box;padding:6px 22px 6px 7px;font-size:13px;line-height:1.3;text-overflow:ellipsis}
@media(max-width:640px){
 body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading{padding:4px 8px;gap:6px}
 body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading h2 a,
 body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading select{min-height:44px}
 body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-board .jobs-category-heading select{font-size:16px}
 body[data-information-app="vacancy"] #jobs-category-home .jobs-home-table-toolbar :is(.jobs-qualification-select,.jobs-opportunity-select){flex-basis:160px;width:160px;max-width:160px}
}

/* Separate application stages and government Defence/Police scopes. */
body[data-information-app="vacancy"] .jobs-home-lifecycle{margin:12px 8px;border:1px solid var(--pp-line);border-radius:10px;overflow:hidden;min-width:0;max-width:100%;background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] :is(.jobs-home-lifecycle,.jobs-listing-stages .jobs-vacancy-stage)>header{padding:10px 12px;background:color-mix(in srgb,var(--pp-link,#174d80) 8%,var(--pp-reading-paper));border-bottom:1px solid var(--pp-line)}
body[data-information-app="vacancy"] .jobs-home-lifecycle>header h4{margin:0;font-size:16px;line-height:1.4;color:var(--pp-ink);overflow-wrap:break-word}
body[data-information-app="vacancy"] :is([data-home-vacancy-stage="current"],[data-vacancy-stage="current"])>header{border-inline-start:4px solid #16816d}
body[data-information-app="vacancy"] :is([data-home-vacancy-stage="upcoming"],[data-vacancy-stage="upcoming"])>header{border-inline-start:4px solid #bd7a1d}
body[data-information-app="vacancy"] [data-vacancy-stage="closed"]>header{border-inline-start:4px solid #a34b62}
body[data-information-app="vacancy"] .jobs-security-scope{min-width:0;max-width:100%;margin:14px 0;padding:10px;border:1px solid var(--pp-line);border-radius:12px;box-sizing:border-box;background:var(--pp-reading-paper)}
body[data-information-app="vacancy"] .jobs-security-scope>header{padding:10px 12px;border-radius:8px;background:color-mix(in srgb,#235f98 12%,var(--pp-reading-paper));color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-security-scope[data-security-scope="state"]>header{background:color-mix(in srgb,#7258aa 12%,var(--pp-reading-paper))}
body[data-information-app="vacancy"] .jobs-security-scope>header :is(h2,h3){margin:0;font-size:18px;line-height:1.4;overflow-wrap:break-word}
body[data-information-app="vacancy"] [data-security-state-form] select{min-width:0;max-width:100%;min-height:44px;font-size:16px}
body[data-information-app="vacancy"] .jobs-listing-stages .info-notice-grid{display:block;min-width:0;max-width:100%}
body[data-information-app="vacancy"] .jobs-listing-stages .jobs-vacancy-stage{margin:16px 0;border:1px solid var(--pp-line);border-radius:10px;background:var(--pp-reading-paper);min-width:0;max-width:100%;overflow:hidden}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-security-scope{padding:6px}body[data-information-app="vacancy"] .jobs-home-lifecycle{margin:10px 4px}}
/* Dedicated Jobs update pages: real notices with original official-source links. */
body[data-information-app="vacancy"] .jobs-update-page{min-width:0;max-width:100%;color:var(--pp-ink)}
body[data-information-app="vacancy"] .jobs-update-page .jobs-page-top h1{display:block;margin:0;font-size:21px;line-height:1.3}
body[data-information-app="vacancy"] .jobs-update-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;max-width:100%;padding:10px 0;overscroll-behavior-x:contain}
body[data-information-app="vacancy"] .jobs-update-tabs>a{display:flex;align-items:center;flex:0 0 auto;min-height:42px;padding:7px 13px;box-sizing:border-box;border:1px solid var(--pp-line);border-radius:7px;color:var(--pp-link,#174d80);background:var(--pp-reading-paper);text-decoration:none;white-space:nowrap}
body[data-information-app="vacancy"] .jobs-update-tabs>a[aria-current="page"]{background:#174d80;color:#fff;border-color:#174d80}
body[data-information-app="vacancy"] .jobs-update-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0 12px;font-size:14px}
body[data-information-app="vacancy"] .jobs-update-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body[data-information-app="vacancy"] .jobs-update-item{min-width:0;padding:13px 16px;background:var(--pp-reading-paper);border:1px solid var(--pp-line);border-radius:9px;border-inline-start:4px solid #16816d}
body[data-information-app="vacancy"] .jobs-update-item h2{margin:6px 0;font-size:18px;line-height:1.5;overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-update-title{color:var(--pp-link,#174d80);text-decoration:none}
body[data-information-app="vacancy"] .jobs-update-title:hover{text-decoration:underline}
body[data-information-app="vacancy"] .jobs-update-meta{display:flex;flex-wrap:wrap;gap:5px 16px;color:var(--pp-muted);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
body[data-information-app="vacancy"] .jobs-update-item-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
body[data-information-app="vacancy"] .jobs-update-item-actions>a{color:var(--pp-link,#174d80);min-height:32px;display:inline-flex;align-items:center}
body[data-information-app="vacancy"] .jobs-update-source{color:var(--pp-muted)}
body[data-information-app="vacancy"] .jobs-update-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0;flex-wrap:wrap}
body[data-information-app="vacancy"] .jobs-update-pagination .info-button{min-height:44px}
body[data-information-app="vacancy"] .jobs-update-empty{padding:25px 15px;background:var(--pp-reading-paper);border:1px solid var(--pp-line);border-radius:9px}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-update-item{padding:11px 12px}body[data-information-app="vacancy"] .jobs-update-item h2{font-size:16px}body[data-information-app="vacancy"] .jobs-update-tabs>a{min-height:44px}}

/* Dedicated Jobs updates: distinct category colours and a short, non-growing search. */
body[data-information-app="vacancy"] .jobs-update-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;max-width:100%;padding:8px 0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body[data-information-app="vacancy"] .jobs-update-toolbar .jobs-update-tabs{flex:0 0 auto;gap:5px;max-width:none;padding:0;overflow:visible}
body[data-information-app="vacancy"] :is([data-update-tab="recruitment"],[data-update-category="recruitment"]){--jobs-update-tone:#245d91;--jobs-update-light:#a9d0f2}
body[data-information-app="vacancy"] :is([data-update-tab="admit-card"],[data-update-category="admit-card"]){--jobs-update-tone:#17675d;--jobs-update-light:#91d9c9}
body[data-information-app="vacancy"] :is([data-update-tab="result"],[data-update-category="result"]){--jobs-update-tone:#6641a0;--jobs-update-light:#d0b6f3}
body[data-information-app="vacancy"] :is([data-update-tab="answer-key"],[data-update-category="answer-key"]){--jobs-update-tone:#8a5a18;--jobs-update-light:#f0cf93}
body[data-information-app="vacancy"] :is([data-update-tab="exam-date"],[data-update-category="exam-date"]){--jobs-update-tone:#9a3652;--jobs-update-light:#f2b2c5}
body[data-information-app="vacancy"] .jobs-update-toolbar .jobs-update-tabs>a{min-height:36px;padding:6px 9px;font-size:13px;line-height:1.3;color:var(--jobs-update-tone);border-color:color-mix(in srgb,var(--jobs-update-tone) 35%,var(--pp-line));background:color-mix(in srgb,var(--jobs-update-tone) 8%,var(--pp-reading-paper))}
body[data-information-app="vacancy"] .jobs-update-toolbar .jobs-update-tabs>a:hover{background:color-mix(in srgb,var(--jobs-update-tone) 15%,var(--pp-reading-paper));border-color:var(--jobs-update-tone)}
body[data-information-app="vacancy"] .jobs-update-toolbar .jobs-update-tabs>a[aria-current="page"]{color:#fff;background:var(--jobs-update-tone);border-color:var(--jobs-update-tone);box-shadow:inset 0 -2px 0 #0002}
body[data-information-app="vacancy"][data-theme="dark"] .jobs-update-toolbar .jobs-update-tabs>a:not([aria-current="page"]){color:var(--jobs-update-light);border-color:color-mix(in srgb,var(--jobs-update-light) 45%,var(--pp-line));background:color-mix(in srgb,var(--jobs-update-tone) 22%,var(--pp-reading-paper))}
body[data-information-app="vacancy"] .jobs-update-page .jobs-update-item{border-inline-start-color:var(--jobs-update-tone,#245d91)}
body[data-information-app="vacancy"] .jobs-update-search{display:flex;align-items:center;flex:0 0 216px;flex-wrap:nowrap;gap:5px;width:216px;min-width:216px;max-width:216px;margin:0}
body[data-information-app="vacancy"] .jobs-update-search>input[type="search"]{flex:1 1 0;width:175px;min-width:0;max-width:175px;height:36px;min-height:36px;box-sizing:border-box;margin:0;padding:6px 8px;border:1px solid var(--pp-line);border-radius:7px;background:var(--pp-reading-paper);color:var(--pp-ink);font:inherit;font-size:14px;line-height:1.3}
body[data-information-app="vacancy"] .jobs-update-search>.info-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--jobs-update-tone,#245d91);border-radius:7px;background:var(--jobs-update-tone,#245d91);color:#fff;line-height:1}
body[data-information-app="vacancy"] .jobs-update-search>.info-button:hover{filter:brightness(1.1)}
body[data-information-app="vacancy"] .jobs-update-search>.info-button>svg{display:block;flex:none}
body[data-information-app="vacancy"] .jobs-update-toolbar :is(a,input,button):focus-visible{outline:2px solid var(--pp-link,#174d80);outline-offset:2px}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-update-toolbar .jobs-update-tabs>a{min-height:44px}body[data-information-app="vacancy"] .jobs-update-search>.info-button{flex-basis:44px;width:44px;height:44px;min-height:44px}body[data-information-app="vacancy"] .jobs-update-search>input[type="search"]{height:44px;min-height:44px;font-size:16px}}

/* 24 October: standalone category headers share Home's single-row controls. */
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:6px 10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:5px 0 10px;padding:6px 10px;border:1px solid var(--pp-line);border-top:2px solid #174d80;border-radius:9px;background:var(--pp-reading-paper);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header :is(.jobs-category-page-heading,.jobs-category-title-group){display:flex;align-items:center;flex:1 0 auto;flex-wrap:nowrap;gap:6px;min-width:0;order:0;white-space:nowrap}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header :is(h1,h2,.jobs-category-page-title){display:flex;align-items:center;min-height:36px;margin:0;padding:0;font-size:15px;line-height:1.3;letter-spacing:0;white-space:nowrap;overflow-wrap:normal;color:var(--pp-link,#174d80)}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header .jobs-category-scope{font-size:12px;white-space:nowrap;color:var(--pp-muted)}
body[data-information-app="vacancy"] #jobs-category-page .jobs-category-compact-header .jobs-category-breadcrumb[hidden]{display:none}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header .jobs-category-stats{flex:0 0 auto;margin:0;max-width:none;order:0;white-space:nowrap}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header .jobs-category-count{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;white-space:nowrap}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header .jobs-category-count>strong{font-size:17px;line-height:1.3;white-space:nowrap;overflow-wrap:normal}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header .jobs-category-count>span{font-size:11px;white-space:nowrap}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-home-live-count{display:inline-flex;align-items:center;flex:0 0 auto;gap:3px;white-space:nowrap;font-size:12px;line-height:1.3;color:var(--pp-ink);padding:4px 6px;border-inline-start:3px solid #16816d;background:color-mix(in srgb,#16816d 8%,var(--pp-reading-paper));border-radius:4px}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-home-live-count[hidden]{display:none}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header>.jobs-category-page-filters[data-jobs-qualification-form],
body[data-information-app="vacancy"] #jobs-category-home .jobs-category-compact-header .jobs-category-filter-row,
body[data-information-app="vacancy"] #jobs-category-home .jobs-category-compact-header .jobs-qualification-filter{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:6px;width:auto;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;order:0}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters .field,
body[data-information-app="vacancy"] #jobs-category-home .jobs-category-compact-header .jobs-qualification-filter .field{display:block;flex:0 0 154px;width:154px;min-width:0;max-width:154px;margin:0;order:0}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters .jobs-opportunity-select{flex-basis:166px;width:166px;max-width:166px}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters .jobs-category-state-select{flex-basis:125px;width:125px;max-width:125px}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters .jobs-category-search{flex-basis:140px;width:140px;max-width:140px}
body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header label>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters :is(select,input[type=search]),
body[data-information-app="vacancy"] #jobs-category-home .jobs-category-compact-header select{min-height:36px;min-width:0;width:100%;max-width:100%;box-sizing:border-box;padding:6px 22px 6px 7px;font-size:13px;line-height:1.3;text-overflow:ellipsis}
body[data-information-app="vacancy"] #jobs-category-page .jobs-category-compact-header .jobs-category-page-filters .info-button{flex:0 0 auto;min-height:36px;margin:0;padding:6px 9px;font-size:13px;line-height:1.3;white-space:nowrap}
body[data-information-app="vacancy"] #jobs-category-page :is(.jobs-table-heading,[data-vacancy-stage="current"]>header)[hidden]{display:none}
body[data-information-app="vacancy"] #jobs-category-page .jobs-security-scope>header{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain}
body[data-information-app="vacancy"] #jobs-category-page .jobs-security-scope>header h2{font-size:15px;line-height:1.3;white-space:nowrap}
@media(max-width:640px){
 body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header{padding:4px 8px;gap:6px}
 body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters :is(select,input[type=search]),
 body[data-information-app="vacancy"] #jobs-category-page .jobs-category-compact-header .jobs-category-page-filters .info-button,
 body[data-information-app="vacancy"] :is(#jobs-category-page,#jobs-category-home) .jobs-category-compact-header :is(h1,h2,.jobs-category-page-title){min-height:44px}
 body[data-information-app="vacancy"] #jobs-category-page .jobs-government-main .jobs-category-compact-header .jobs-category-page-filters :is(select,input[type=search]){font-size:16px}
}

/* Defence belongs to Central Government; State Police stays within State Jobs. */
body[data-information-app="vacancy"] :is(.jobs-category-heading,.jobs-category-compact-header) .jobs-government-sector-links{display:flex;align-items:center;gap:5px;flex:0 0 auto}
body[data-information-app="vacancy"] .jobs-government-sector-link{display:inline-flex;align-items:center;flex:0 0 auto;min-height:32px;box-sizing:border-box;padding:5px 8px;border:1px solid var(--pp-line);border-radius:6px;background:var(--pp-wash);color:var(--pp-link,#174d80);font-size:12px;line-height:1.3;text-decoration:none;white-space:nowrap}
body[data-information-app="vacancy"] .jobs-government-sector-link[aria-current="page"]{color:#fff;background:#174d80;border-color:#174d80}
body[data-information-app="vacancy"] .jobs-government-sector-link:focus-visible{outline:2px solid var(--pp-link,#174d80);outline-offset:2px}
@media(max-width:640px){body[data-information-app="vacancy"] .jobs-government-sector-link{min-height:44px}}

body[data-information-app="vacancy"] :is(#jobs-category-home,#jobs-category-page) .jobs-security-scope>header[hidden]{display:none}

/* Common vacancy reader: compact vertical rhythm for existing and future posts.
   Keep the approved type sizes, colours and complete source content. */
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format{--jobs-reader-space:20px}
body[data-information-app="vacancy"] #info-main:has(.jobs-approved-format)>.jobs-page-top{margin-block:6px;padding-block:6px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-meta{padding:8px 0 0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero{gap:14px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-title{margin:0;line-height:1.3}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-notice-post,.jobs-approved-application-card){padding:18px 20px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-label{margin-bottom:5px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-post-name{margin:4px 0 8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-approved-mode{margin-top:12px;padding:6px 10px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-layout-with-sidebar{margin-top:20px;gap:20px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-detail-summary,.jobs-notice-reading .jobs-post-section){margin:0 0 var(--jobs-reader-space)}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-detail-summary,.jobs-notice-reading .jobs-post-section)>h2{margin:0 0 8px;line-height:1.35}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-context-title{margin:14px 0 8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-overview{margin-top:8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) :is(p,li){line-height:1.55}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) :is(p,ul,ol){margin-block:8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) li{margin-block:5px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary)>:last-child{margin-bottom:0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-table-wrap,.jobs-post-table-scroll){margin-block:8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-table :is(th,td){padding:9px 12px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-links{gap:5px;margin-block:0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-links li{margin:0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-links a{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources{margin-top:20px;padding:14px 16px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources h2{margin:0 0 8px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources ul{margin:0}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources li{margin-block:5px;line-height:1.5}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-footer{margin-top:16px}
body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-footer .info-callout{padding:12px 14px;line-height:1.5}
@media screen and (max-width:640px){
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-notice-post,.jobs-approved-application-card){padding:16px}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-sidebar .jobs-detail-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-jump>a{min-width:0;padding:8px 9px;overflow-wrap:break-word}
}
@media print{
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-heading .jobs-notice-hero{gap:3mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-title{font-size:18pt;line-height:1.25}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-notice-post,.jobs-approved-application-card){padding:3mm 4mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-post-name{font-size:16pt;line-height:1.3;margin:1mm 0 2mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-detail-layout-with-sidebar{margin-top:4mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-detail-summary,.jobs-notice-reading .jobs-post-section){margin:0 0 3mm!important;break-inside:auto;page-break-inside:auto}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-detail-summary,.jobs-notice-reading .jobs-post-section)>h2{padding:1mm 0!important;margin:0 0 1.5mm!important;border:0!important;font-size:13pt!important;line-height:1.3!important;break-after:avoid}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) :is(p,li){font-size:11.5pt!important;line-height:1.4!important;orphans:2;widows:2}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) :is(p,ul,ol){margin-block:1.5mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format :is(.jobs-post-section,.jobs-detail-summary) li{margin-block:1mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-table :is(th,td){padding:1.7mm 2mm!important;line-height:1.4!important}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-links{gap:1mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-post-links a{padding:0;min-height:0}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources{margin-top:3mm;padding:2mm 3mm;font-size:11pt;line-height:1.4;break-inside:auto}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources h2{font-size:13pt;margin-bottom:1.5mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .info-sources li{margin-block:1mm;font-size:11pt;line-height:1.4}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-footer{margin-top:3mm}
 body[data-information-app="vacancy"] .jobs-notice-detail.jobs-approved-format .jobs-notice-footer .info-callout{padding:2mm 3mm;font-size:10.5pt;line-height:1.4}
}
