:root{--navy:#173458;--navy2:#214b77;--gold:#b38b48;--ink:#202c3d;--muted:#758091;--line:#e4e9ef;--bg:#f6f8fa;--paper:#fff;--green:#257a64;--red:#b74743;--radius:16px;--shadow:0 7px 24px #17345806;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b99c63;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.25}h2{font-size:20px;letter-spacing:-.3px}h3{font-size:16px}p+p{margin-top:12px}small{font-size:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;padding:34px 20px;position:fixed;inset:0 auto 0 0;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:11px;align-items:center;padding:0 9px 38px;font-size:23px;font-weight:700;letter-spacing:-.6px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:var(--muted);margin-top:2px}.brand-mark{background:var(--navy);color:white;border-radius:12px;padding:11px 7px;font-size:14px;letter-spacing:0}.nav-item{display:flex;align-items:center;gap:12px;color:var(--muted);padding:13px;border-radius:10px;margin-bottom:5px;font-size:13px;font-weight:550}.nav-item.active{background:#edf2f8;color:var(--navy)}.nav-item:hover{background:#f4f6f9}.nav-divider{height:1px;background:var(--line);margin:22px 12px}.side-foot{margin-top:auto;font-size:11px;color:var(--muted);padding:20px 10px 0;display:flex;gap:7px;align-items:center}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.version{margin-left:auto}.main-shell{margin-left:232px;flex:1;min-width:0}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#ffffffd9}.top-actions{display:flex;align-items:center;gap:16px}.language-button{background:none;border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-size:12px;color:var(--navy)}.language-button span{margin-left:13px}.avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#e9eef5;color:var(--navy);font-weight:650;font-size:13px}#crumb{font-size:12px;color:var(--muted)}#main{max-width:1190px;margin:auto;padding:34px 44px 50px;min-height:calc(100vh - 155px)}#footer{max-width:1190px;margin:auto;padding:20px 44px 28px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.mobile-brand,.bottom-nav{display:none}.icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.hero{border-radius:20px;background:var(--navy);color:white;padding:33px 36px;position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:20px;margin:22px 0 32px;min-height:216px}.hero:after{content:"";position:absolute;right:-70px;bottom:-175px;width:450px;height:450px;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.hero:before{content:"";position:absolute;right:-20px;bottom:-120px;width:340px;height:340px;border:1px solid #ffffff15;border-radius:50%;pointer-events:none}.hero h2{font-size:29px;font-weight:600;line-height:1.25;letter-spacing:-.5px;max-width:500px;margin-bottom:13px}.hero p{font-size:13px;max-width:460px;color:#c1cfdf}.hero .eyebrow{color:#d7bd8b}.hero .hero-icon{align-self:center;min-width:112px;color:#c8d7e6}.hero-icon .icon{width:94px;height:94px;stroke-width:.75}.hero-content{position:relative;z-index:1}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px;gap:15px}.section-title small{color:var(--muted)}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}a.card,button.card{transition:transform .15s,border-color .15s;text-align:left;color:inherit}a.card:hover,button.card:hover{transform:translateY(-2px);border-color:#acbacb}.role-card{position:relative;min-height:188px;display:flex;flex-direction:column;align-items:flex-start}.icon-box{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf2f8;color:var(--navy);margin-bottom:19px}.icon-box.gold{background:#f6f0e6;color:#a48145}.icon-box.green{background:#edf5f1;color:#3b7b67}.role-card h3{margin-bottom:7px;font-size:17px}.role-card p{font-size:12px;color:var(--muted);padding-right:16px}.arrow{position:absolute;right:20px;bottom:23px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-card{display:flex;gap:15px;align-items:center;padding:19px 21px;position:relative}.quick-card .icon-box{margin:0;width:37px;height:37px;border-radius:10px}.quick-card h3{font-size:14px;margin-bottom:2px}.quick-card p{font-size:11px;color:var(--muted);padding-right:12px}.quick-card>.icon:last-child{margin-left:auto;color:#9da7b3;width:16px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:24px}.page-head h1{font-size:27px;margin:7px 0}.subtle{color:var(--muted);font-size:13px}.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-bottom:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:10px;padding:12px 19px;font-size:13px;font-weight:600;min-height:44px}.btn.secondary{background:var(--paper);color:var(--navy);border-color:var(--line)}.btn.ghost{background:none;color:var(--muted);border-color:transparent;padding:7px}.btn.danger{background:#fff5f4;border-color:#eac5c0;color:var(--red)}.btn.gold{background:#f4e9d6;border-color:#f4e9d6;color:#694d1e}.btn.full{width:100%}.btn .icon{width:18px;height:18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.space-between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.notice{background:#eef3f9;border:1px solid #dbe5ef;border-radius:12px;padding:15px 18px;font-size:12px;color:var(--navy);margin:15px 0;white-space:pre-line}.notice.warning{background:#fbf5e9;border-color:#ecdfc2;color:#82662c}.notice.error{background:#fff1ef;border-color:#efd5cf;color:#a1423c}.notice.success{background:#edf6f2;border-color:#cce4da;color:#286d55}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:10px;color:var(--muted);background:var(--paper)}.badge.gold{color:#98783f;border-color:#e7d8bd;background:#faf6ee}.badge.green{color:var(--green);border-color:#cce4da;background:#f2f8f5}.badge.danger{color:var(--red)}.text-block{white-space:pre-line;font-size:15px;line-height:1.8}.content-card{max-width:820px}.content-card h2{font-size:23px;margin:10px 0 20px}.content-card .text-block{margin:20px 0 25px}.content-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-bottom:14px}.source-list{padding-top:20px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.source-list a{color:var(--navy);font-size:12px;border:1px solid var(--line);padding:8px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:7px}.source-list .icon{width:14px;height:14px}.card-actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}.progress-box{padding:21px 23px}.progress-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px}progress{appearance:none;width:100%;height:5px;border:0;display:block;border-radius:4px;overflow:hidden;background:#e7ecf2}progress::-webkit-progress-bar{background:#e7ecf2}progress::-webkit-progress-value{background:var(--gold);border-radius:4px}progress::-moz-progress-bar{background:var(--gold)}.stage-card{display:flex;gap:18px;align-items:center}.stage-number{border-radius:12px;width:48px;height:48px;display:grid;place-items:center;background:#edf2f8;color:var(--navy);font-size:20px;font-weight:550;flex-shrink:0}.stage-card h3{margin-bottom:6px}.stage-card p{color:var(--muted);font-size:12px}.stage-card>.icon{margin-left:auto}.step-row{display:flex;gap:15px;align-items:center;position:relative;padding:16px 18px}.step-row .num{width:30px;height:30px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--muted)}.step-row.done .num{background:var(--green);border-color:var(--green);color:white}.step-row h3{font-size:14px}.step-row small{color:var(--muted)}.step-row .icon{margin-left:auto;width:16px;color:var(--muted)}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.chip{background:var(--paper);border:1px solid var(--line);padding:7px 13px;border-radius:20px;color:var(--muted);font-size:12px}.chip.active{background:var(--navy);border-color:var(--navy);color:white}.material-row h3{font-size:14px;margin-bottom:7px}.material-row .subtle{font-size:11px}.material-row .row{justify-content:space-between}.pagination{justify-content:center;margin-top:20px}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty .icon{width:40px;height:40px;margin-bottom:10px;stroke-width:1}.form-field{display:flex;flex-direction:column;gap:8px;margin:17px 0}.form-field label{font-size:12px;font-weight:650}.form-field input,.form-field textarea,.form-field select,select.control{width:100%;border:1px solid #dce2e9;border-radius:10px;padding:12px;background:var(--paper);color:var(--ink);min-width:0}.form-field textarea{min-height:140px;resize:vertical;line-height:1.65}.form-field small{color:var(--muted)}.form-field input[type=number]{font-size:23px;font-weight:600;padding:16px}.calc-layout{max-width:780px}.calc-review{width:100%;border-collapse:collapse;font-size:13px}.calc-review td{padding:13px 10px;border-bottom:1px solid var(--line)}.calc-review td:nth-child(2){font-size:18px;font-weight:650;text-align:right;white-space:nowrap}.calc-review td:nth-child(3){width:52px}.calc-result blockquote{margin:12px 0;padding:13px;background:#f2f5f8;border-left:3px solid var(--gold)}.calc-result b{font-weight:700}.calc-result{line-height:1.9;font-size:14px}.calc-result>div{margin-bottom:18px;white-space:pre-line}.quiz-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;text-align:left;width:100%;font-size:14px}.quiz-option .letter{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:2px 7px;flex-shrink:0}.quiz-option.selected{border-color:var(--navy);background:#edf2f8}.quiz-option.correct{border-color:#76aa94;background:#edf6f2}.quiz-option.incorrect{border-color:#cc9992;background:#fff2ef}.score{font-size:54px;font-weight:650;letter-spacing:-2px;color:var(--navy)}.score span{font-size:22px;color:var(--muted);font-weight:400}.answer-panel{padding:25px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 12px 12px 0;white-space:pre-line;font-size:15px;line-height:1.85}.question-bubble{margin:20px 0;padding:13px 18px;border-radius:12px;background:#eaf0f7;color:var(--navy);font-size:14px;white-space:pre-line}.pending{display:flex;align-items:center;gap:12px;padding:20px;color:var(--muted)}.spinner{border:2px solid #d7e0eb;border-top-color:var(--navy);width:20px;height:20px;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{text-align:center;padding:100px 10px;color:var(--muted);font-size:13px}.loading-screen p{margin-top:15px}.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);background:#142c48;color:white;font-size:13px;max-width:90vw;padding:13px 20px;border-radius:10px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}dialog{border:1px solid var(--line);border-radius:18px;padding:26px;max-width:460px;width:calc(100% - 32px);box-shadow:0 20px 80px #10243a30;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#10243a66}#dialog-close{margin-top:18px;width:100%}.language-options{display:flex;flex-direction:column;gap:9px;margin-top:20px}.ballot{max-width:530px;margin:20px auto;background:#fffdf8;border:2px solid #ddcfb3;border-radius:5px;padding:24px;position:relative}.ballot h3{text-align:center;margin-bottom:15px}.ballot .watermark{font-size:9px;letter-spacing:3px;text-align:center;color:#a79168;margin-bottom:10px}.ballot label{padding:15px 0;display:flex;align-items:center;gap:15px;border-bottom:1px solid #e7dfd0;justify-content:space-between;font-size:13px}.ballot input{width:24px;height:24px;accent-color:var(--navy)}.ballot small{display:block;color:var(--muted);margin-top:16px}.admin-grid{display:grid;grid-template-columns:280px 1fr;gap:18px}.admin-list{max-height:72vh;overflow:auto}.admin-select{display:block;width:100%;padding:13px 15px;background:none;border-bottom:1px solid var(--line);font-size:12px;text-align:left;color:var(--ink)}.admin-select.active{background:#edf2f8;color:var(--navy)}.admin-list .card{padding:0}.editor textarea{min-height:180px;font-size:13px}.editor .form-field{margin:12px 0}input[type=checkbox]{accent-color:var(--navy)}.large-font .text-block,.large-font .answer-panel{font-size:19px}.large-font .step-row h3,.large-font .material-row h3{font-size:17px}.offline-label{color:#a4782c;font-size:11px}.error-code{font-size:11px;color:var(--muted);margin-top:10px}
@media(min-width:1450px){#main{padding-top:45px}.hero{min-height:240px;padding:40px}.hero h2{font-size:33px}.role-card{min-height:210px}}
@media(max-width:1050px){.sidebar{width:190px;padding:30px 12px}.brand{font-size:20px}.main-shell{margin-left:190px}#main{padding:28px}.topbar{padding:0 28px}#footer{padding-left:28px;padding-right:28px}.role-grid{gap:10px}.role-card{padding:18px}.hero{padding:28px}.hero h2{font-size:26px}.admin-grid{grid-template-columns:210px 1fr}}
@media(max-width:760px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:66px;padding:0 20px;padding-top:env(safe-area-inset-top);box-sizing:content-box}.mobile-brand{display:block;font-size:12px;letter-spacing:.3px;color:var(--navy)}.mobile-brand b{font-size:17px;margin-left:5px}#crumb{display:none}.top-actions{gap:10px}.avatar{width:29px;height:29px;font-size:11px}.language-button{font-size:11px;padding:6px 9px}.language-button span{margin-left:5px}#main{padding:25px 20px 25px;min-height:calc(100vh - 200px)}h1{font-size:26px}.hero{margin:20px 0 25px;padding:25px 23px;min-height:218px;border-radius:16px}.hero h2{font-size:26px;max-width:270px}.hero p{max-width:260px;font-size:12px}.hero .hero-icon{position:absolute;right:8px;bottom:18px;opacity:.15;min-width:80px}.hero-icon .icon{width:100px;height:100px}.eyebrow{font-size:9px;letter-spacing:1.4px}.role-grid{grid-template-columns:1fr;gap:11px}.role-card{min-height:0;display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:20px}.role-card .icon-box{grid-row:span 2;margin:0;align-self:center}.role-card h3{font-size:16px;margin-bottom:4px;padding-right:16px}.role-card p{font-size:12px;padding-right:15px}.role-card .arrow{right:16px;bottom:auto;top:calc(50% - 10px)}.quick-grid{grid-template-columns:1fr;gap:10px}.quick-card{padding:16px}.section-title h2{font-size:18px}.section-title{margin-top:25px}.page-head h1{font-size:24px;line-height:1.35}.page-head{margin-bottom:20px}.card{padding:20px}.stage-card{padding:18px;gap:13px}.stage-card h3{font-size:14px}.stage-number{width:39px;height:43px;font-size:17px}.stage-card p{font-size:11px}#footer{padding:18px 20px 105px;font-size:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 5px calc(9px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:10}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;color:#8490a1;padding:3px}.bottom-nav a.active{color:var(--navy);font-weight:650}.bottom-nav .icon{width:21px;height:21px}.toast{bottom:93px}.text-block{font-size:14px}.content-card h2{font-size:21px}.card-actions{flex-direction:column}.card-actions .btn{width:100%}.admin-grid{grid-template-columns:1fr}.admin-list{max-height:220px}.content-meta{font-size:10px}.calc-review td{font-size:11px;padding:12px 4px}.calc-review td:nth-child(2){font-size:16px}.calc-review td:nth-child(3){width:40px}.calc-review button{padding:5px}.score{font-size:46px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.step-illustration{width:110px;max-height:150px;object-fit:contain;float:right;margin:0 0 20px 24px}.content-card:after{content:"";display:block;clear:both}

.side-foot{flex-wrap:wrap}.side-foot .version{font-size:9px;overflow-wrap:anywhere}.mobile-brand:after{content:attr(data-version);display:block;font-size:8px;color:var(--muted)}

.language-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-x{width:40px;height:40px;border-radius:10px;background:transparent;color:var(--muted);font-size:29px;line-height:1;display:grid;place-items:center}.dialog-x:hover{background:var(--bg);color:var(--navy)}.language-option{justify-content:flex-start;text-align:left;gap:14px;min-height:48px}.language-flag{width:30px;height:20px;object-fit:fill;border-radius:3px;box-shadow:0 0 0 1px #17345815;flex-shrink:0}.language-selected{margin-left:auto;color:var(--green)}

/* Clear, touch-friendly navigation across all four interface languages. */
.back-link{min-height:44px;padding:10px 16px;margin-bottom:20px;background:#e5edf7;border:1px solid #a6b8cf;border-radius:11px;color:#173458;font-size:14px;font-weight:650;line-height:1.4;box-shadow:0 2px 4px #1734580a;transition:background .15s,border-color .15s}
.back-link:hover{background:#d8e5f4;border-color:#627e9e}.back-link:active{background:#cbdcf0}
.btn{font-size:14px;min-height:48px;line-height:1.4;transition:background .15s,border-color .15s,box-shadow .15s;white-space:normal;text-align:center}
.btn.primary{background:#173458;color:#fff;border-color:#173458}.btn.secondary{background:#edf2f8;color:#173458;border-color:#a6b8cf}
.btn:not(:disabled):hover{box-shadow:0 3px 9px #17345824}.btn.primary:not(:disabled):hover{background:#244b79}.btn.secondary:not(:disabled):hover{background:#dce7f4;border-color:#627e9e}
button:disabled{cursor:not-allowed}.btn:disabled{box-shadow:none}
.step-navigation{display:flex;justify-content:space-between;align-items:stretch;gap:12px;clear:both;margin-top:24px;padding-top:20px;border-top:1px solid #d4deeb}.step-navigation .btn{min-width:140px;max-width:100%}.step-navigation [rel=next]{margin-left:auto}
.pagination{gap:12px;padding:16px;background:#fff;border:1px solid #d4deeb;border-radius:14px}.pagination small{font-size:13px;font-weight:650;color:#173458}.pagination .btn{min-width:120px}
@media(max-width:760px){.step-navigation .btn{flex:1;min-width:0;padding:12px 10px}.pagination .btn{min-width:0;flex:1;padding:12px 10px}.pagination small{order:3;width:100%;text-align:center}.back-link{max-width:100%}.page-head{gap:12px}}

/* Accessible reading and a calmer task-focused layout. */
:root{font-size:17px;--muted:#536379;--line:#d5deea;--radius:18px;--shadow:0 5px 22px #17345808}
body{background:var(--bg);color:var(--ink)}.theme-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:var(--paper);flex-shrink:0}.theme-button .icon{width:22px;height:22px}
.topbar{gap:12px}.top-actions{gap:10px}.language-button{font-size:14px;min-height:44px}.nav-item{font-size:15px;min-height:48px}.subtle{font-size:15px;line-height:1.65}.text-block,.answer-panel{font-size:19px;line-height:1.85;overflow-wrap:anywhere}.content-card .text-block{font-size:20px}.content-card{max-width:900px}.content-card h2{font-size:25px;line-height:1.45}.content-meta{font-size:13px}.source-list a{font-size:14px;min-height:44px}.badge{font-size:12px}.notice{font-size:16px;line-height:1.7}.form-field label{font-size:16px}.form-field input,.form-field textarea,.form-field select,select.control{font-size:17px;min-height:48px}.form-field small{font-size:14px}.btn{font-size:16px}.chip{font-size:15px;min-height:44px}.role-card h3{font-size:19px}.role-card p,.quick-card p,.stage-card p{font-size:15px}.quick-card h3,.step-row h3,.material-row h3{font-size:17px;line-height:1.5}.step-row small{font-size:13px}.hero p{font-size:16px;color:#e0e9f4}.hero h2{font-size:30px}.hero .eyebrow{font-size:12px}.logo-plate{width:260px;min-width:200px;align-self:center;background:#fff;border-radius:14px;padding:16px;z-index:1}.logo-plate img{width:100%;height:auto;display:block}.hero{align-items:center}.hero-content{min-width:0}.reset-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.reset-actions small{font-size:14px;max-width:400px}.progress-head{font-size:17px}.progress-box progress{height:9px;margin-bottom:12px}.progress-box{margin-bottom:20px}.step-row{min-height:80px}.step-row.done{border-color:#90baa9;background:#f1f8f4}.step-row .num{width:38px;height:38px;font-size:16px}.large-font .text-block,.large-font .answer-panel,.large-font .content-card .text-block{font-size:24px}.large-font .step-row h3,.large-font .material-row h3{font-size:20px}.quiz-option{font-size:18px;line-height:1.6}.question-bubble{font-size:18px;line-height:1.6}
#question-return{max-width:1190px;margin:18px auto 0;padding:0 44px}#question-return[hidden]{display:none}.question-return-link{display:flex;align-items:center;gap:14px;border:1px solid #9eb9d8;border-radius:14px;padding:14px 18px;background:#e9f2fc;color:#173458;box-shadow:0 3px 12px #1734580a}.question-return-link>span:first-of-type{flex:1;min-width:0}.question-return-link strong{display:block;font-size:15px}.question-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.return-label{font-size:14px;font-weight:700;flex-shrink:0}
.ask-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.ask-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.ask-layout>div{min-width:0}.recent-questions{min-width:0}.recent-questions .section-title{margin-top:0}.question-history-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.question-history-item{display:flex;align-items:center;gap:12px;padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0}.question-history-item>div{min-width:0;flex:1}.question-history-item strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere;line-height:1.6}.question-history-item.selected{border-color:#6e91ba;box-shadow:inset 3px 0 #3a6ca6}.question-history-item:hover{border-color:#6e91ba}.question-status{display:block;color:var(--muted);font-size:13px;margin-top:6px}.question-status.ready{color:var(--green)}.question-history-icon{color:var(--navy);flex-shrink:0}.active-question{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.recent-questions>.btn{margin-bottom:20px}.pending{font-size:16px;line-height:1.65}.answer-panel{border-radius:12px;border:1px solid var(--line);border-left:4px solid var(--gold)}
[data-theme=dark]{color-scheme:dark;--bg:#101923;--paper:#192736;--ink:#edf3fb;--muted:#b3c3d5;--line:#3a4e63;--navy:#b6d5ff;--gold:#e3c07f;--green:#85d5b7;--red:#ffaaa2;--shadow:0 5px 24px #0002}
[data-theme=dark] .topbar,[data-theme=dark] .bottom-nav{background:#152332f5}[data-theme=dark] .hero{background:#173458}[data-theme=dark] .hero h2{color:#fff}[data-theme=dark] .brand-mark,[data-theme=dark] .btn.primary,[data-theme=dark] .btn:not(.secondary):not(.ghost):not(.gold):not(.danger):not(.chip){background:#a9ceff;color:#10243c;border-color:#a9ceff}[data-theme=dark] .btn.secondary,[data-theme=dark] .back-link,[data-theme=dark] .pagination,[data-theme=dark] .language-button,[data-theme=dark] .chip,[data-theme=dark] .source-list a{background:#203348;border-color:#58718e;color:#e2eeff}[data-theme=dark] .btn.secondary:hover,[data-theme=dark] .back-link:hover{background:#2d4761}[data-theme=dark] .btn.ghost{color:#d4e5fa}[data-theme=dark] .nav-item.active,[data-theme=dark] .nav-item:hover,[data-theme=dark] .admin-select.active{background:#29435e;color:#eef5ff}[data-theme=dark] .icon-box,[data-theme=dark] .stage-number,[data-theme=dark] .avatar{background:#2b425a;color:#d0e5ff}[data-theme=dark] .icon-box.gold,[data-theme=dark] .btn.gold{background:#4b402d;color:#ffe2aa}[data-theme=dark] .icon-box.green,[data-theme=dark] .step-row.done,[data-theme=dark] .notice.success,[data-theme=dark] .quiz-option.correct{background:#203e38;color:#c6f2e1}[data-theme=dark] .notice,[data-theme=dark] .question-bubble,[data-theme=dark] .question-return-link{background:#20394f;border-color:#526f8b;color:#e2efff}[data-theme=dark] .notice.warning{background:#443a27;border-color:#73633f;color:#ffe2a7}[data-theme=dark] .notice.error,[data-theme=dark] .quiz-option.incorrect,[data-theme=dark] .btn.danger{background:#492f33;border-color:#98626c;color:#ffd8d3}[data-theme=dark] .form-field input,[data-theme=dark] .form-field textarea,[data-theme=dark] .form-field select,[data-theme=dark] select.control{border-color:#58718e}[data-theme=dark] .calc-result blockquote,[data-theme=dark] .quiz-option.selected{background:#253e56}[data-theme=dark] .badge.green{background:#203e38;border-color:#547b6a;color:#b9efdb}[data-theme=dark] .badge.gold{background:#453c2a;border-color:#74633e;color:#f4d89c}[data-theme=dark] .ballot{background:#262b2d;border-color:#8e8067}[data-theme=dark] .question-history-item.selected{border-color:#99bfe8;box-shadow:inset 3px 0 #99bfe8}
@media(max-width:1050px){.ask-layout{grid-template-columns:1fr}.recent-questions{border-top:1px solid var(--line);padding-top:22px}#question-return{padding:0 28px}.hero{gap:24px}.logo-plate{width:210px;min-width:160px}}
@media(max-width:760px){#main{padding:22px 16px 30px}.topbar{padding-left:16px;padding-right:16px}.top-actions{gap:7px}.theme-button{width:40px;height:40px}.language-button{min-height:40px;font-size:12px;max-width:150px}.language-button span{margin-left:3px}.avatar{display:none}.mobile-brand{font-size:11px}.mobile-brand b{font-size:16px}.hero{align-items:flex-start;flex-direction:column;padding:23px;min-height:0}.hero h2{font-size:27px;max-width:none}.hero p{font-size:16px;max-width:none}.logo-plate{width:190px;min-width:0;align-self:flex-start;padding:12px}.role-card h3{font-size:18px}.role-card p,.quick-card p,.stage-card p{font-size:15px}.quick-card h3,.step-row h3,.material-row h3{font-size:17px}.stage-card h3{font-size:17px}.text-block,.content-card .text-block,.answer-panel{font-size:20px;line-height:1.85}.content-card h2{font-size:24px}.notice{font-size:16px}.content-meta{font-size:12px}.card{padding:20px 17px}.step-illustration{width:100px;margin-left:14px}.reset-actions{align-items:stretch;flex-direction:column}.reset-actions .btn{width:100%}.bottom-nav a{font-size:12px;min-height:48px;padding-top:4px}.bottom-nav a.active{background:#1734580a;border-radius:10px}[data-theme=dark] .bottom-nav a.active{background:#b6d5ff18}.bottom-nav{padding-bottom:calc(9px + env(safe-area-inset-bottom))}#footer{padding-bottom:120px}.toast{bottom:110px;font-size:15px}#question-return{padding:0 16px;margin-top:14px}.question-return-link{padding:12px;gap:10px;flex-wrap:wrap}.question-return-link>span:first-of-type{flex-basis:70%}.return-label{margin-left:31px}.question-history-item{padding:16px 13px}.question-history-item strong{font-size:17px}.question-history-icon{display:none}.ask-tools .btn{flex:1}.ask-layout{gap:20px}.form-field label{font-size:17px}.large-font .text-block,.large-font .content-card .text-block,.large-font .answer-panel{font-size:24px}}
@media(max-width:360px){.topbar{padding-left:12px;padding-right:12px}.language-button{max-width:125px;font-size:11px}.mobile-brand{max-width:90px}.logo-plate{width:170px}.step-navigation{flex-direction:column}.step-navigation .btn{width:100%}}

[data-theme=dark] .chip.active{background:#b6d5ff;color:#132942;border-color:#b6d5ff}

#question-return{position:sticky;top:8px;z-index:8}#answer-area:empty{display:none}

.correct-answer{font-size:18px;line-height:1.7;margin:16px 0;color:var(--ink)}

/* Exact score proportions, with text labels so colour is never the only cue. */
.result-dashboard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:center;padding:32px;overflow:hidden}.result-chart-wrap{position:relative;width:220px;height:220px;margin:auto}.result-chart{display:block;width:100%;height:100%}.chart-wrong{stroke:#dc4e4e}.chart-correct{stroke:#218761}.chart-empty{stroke:var(--line)}.chart-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:3px}.chart-center strong{font-size:43px;line-height:1.15;letter-spacing:-1.5px;color:var(--ink)}.chart-center span{font-size:18px;color:var(--muted)}.result-details{min-width:0}.result-kicker{font-size:13px;font-weight:700;letter-spacing:.8px;color:var(--muted)}.result-details h2{font-size:25px;margin:7px 0 8px;line-height:1.4}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.result-stat{display:grid;grid-template-columns:32px 1fr;gap:6px 10px;border:1px solid;border-radius:14px;padding:16px;align-items:center}.result-stat>span:nth-child(2){font-size:15px;font-weight:600;line-height:1.4}.result-stat>strong{grid-column:2;font-size:32px;line-height:1.1}.result-stat-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%}.result-stat.correct{background:#edf8f2;border-color:#b5dbc9;color:#176945}.result-stat.correct .result-stat-icon{background:#d4eddf}.result-stat.wrong{background:#fff2f1;border-color:#efc4bf;color:#a93232}.result-stat.wrong .result-stat-icon{background:#f9dcd8}.result-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px;font-size:13px;color:var(--muted)}.result-legend>span{display:inline-flex;gap:7px;align-items:center}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-dot.correct{background:#218761}.legend-dot.wrong{background:#dc4e4e}.result-review{border-left-width:4px}.result-review.correct{border-left-color:#218761}.result-review.wrong{border-left-color:#dc4e4e}.result-review h3{margin:14px 0 10px;font-size:19px;line-height:1.55}.result-review>p{margin-bottom:14px}.result-review .source-list{margin-top:20px}
[data-theme=dark] .result-stat.correct{background:#193c31;border-color:#447760;color:#b8eed2}[data-theme=dark] .result-stat.correct .result-stat-icon{background:#285240}[data-theme=dark] .result-stat.wrong{background:#432b31;border-color:#89515b;color:#ffd0ca}[data-theme=dark] .result-stat.wrong .result-stat-icon{background:#61343c}
@media(max-width:1050px){.result-dashboard{grid-template-columns:200px minmax(0,1fr);padding:26px;gap:24px}.result-chart-wrap{width:190px;height:190px}.result-stats{gap:10px}.result-stat{padding:12px;grid-template-columns:28px 1fr;gap:6px}.result-stat>span:nth-child(2){font-size:14px}}
@media(max-width:760px){.result-dashboard{grid-template-columns:1fr;gap:20px;padding:24px 17px}.result-chart-wrap{width:210px;height:210px}.result-details>.result-kicker,.result-details>h2,.result-details>.subtle{text-align:center}.result-details h2{font-size:23px}.result-stats{margin-top:18px}.result-stat{padding:14px 10px}.result-stat>strong{font-size:30px}.result-legend{justify-content:center}.result-review h3{font-size:19px}}

.answer-paragraph{margin:0;white-space:pre-line}.answer-paragraph+.answer-paragraph{margin-top:20px}.answer-panel strong{font-weight:750;color:var(--ink)}.answer-heading{font-size:20px;margin:20px 0 12px;line-height:1.5}.answer-heading:first-child{margin-top:0}.answer-citation{display:inline;color:#245b96;font-size:.85em;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:2px 3px;border-radius:4px;overflow-wrap:normal;white-space:nowrap}.answer-citation:hover{background:#e1ecf8}.answer-sources{margin-top:24px}.answer-sources>h3{font-size:18px;margin-bottom:12px}.numbered-sources{display:flex;flex-direction:column;align-items:stretch;padding-top:0;border-top:0;gap:10px}.numbered-sources a{gap:10px;padding:13px 15px;line-height:1.55;background:var(--paper);font-size:15px;overflow-wrap:anywhere}.numbered-sources a>.icon{flex-shrink:0}.source-number{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:32px;padding:2px 5px;background:#e7f0fa;color:#173458;border-radius:6px;font-size:14px;font-weight:750;flex-shrink:0}.numbered-sources a:hover{border-color:#8da8c8;background:#f0f5fb}[data-theme=dark] .answer-citation{color:#b4d6ff}[data-theme=dark] .answer-citation:hover{background:#2d4761}[data-theme=dark] .source-number{background:#34506d;color:#edf5ff}[data-theme=dark] .numbered-sources a:hover{background:#29435b}@media(max-width:760px){.numbered-sources a{font-size:16px;padding:13px 10px;gap:8px}}

.language-button{font-weight:650;padding-left:13px;padding-right:13px}.language-button:hover{border-color:#6f8aa9;background:#edf3fa}[data-theme=dark] .language-button:hover{background:#2d4761}

/* Consistent branding, readable guidance and calm interaction states. */
.mobile-brand{font-weight:750;font-size:18px;letter-spacing:0;white-space:nowrap}
.guide-body{white-space:normal}.guide-body p{white-space:pre-line;margin:0 0 1em}.guide-body p:last-child{margin-bottom:0}.guide-body strong,.notice strong{font-weight:750;color:inherit}.notice p{white-space:pre-line}
a,button,select,input,textarea{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
@media(hover:hover){
 .btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 3px 12px #17345820}
 .btn.secondary:hover,.chip:hover,.source-list a:hover,.language-button:hover{background:#e6effa;border-color:#7e9fc5;color:#173458}
 .theme-button:hover{background:#172a42;color:#e4edff;border-color:#526987;box-shadow:0 0 0 4px #172a4212}
 [data-theme="dark"] .theme-button:hover{background:#fff4d5;color:#6b4b12;border-color:#e5c77e;box-shadow:0 0 0 4px #fff4d51a}
 [data-theme="dark"] .language-button:hover,[data-theme="dark"] .btn.secondary:hover,[data-theme="dark"] .chip:hover,[data-theme="dark"] .source-list a:hover{background:#2a4059;color:#eef5ff;border-color:#7894b4}
 .back-link:hover{color:var(--navy);text-decoration:underline}.admin-select:hover{background:var(--line)}
 .form-field select:hover,.form-field input:hover,.form-field textarea:hover{border-color:#7e9fc5}
}
@media(max-width:760px){.mobile-brand{font-size:18px;font-weight:750;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){a,button,select,input,textarea{transition:none}}

/* Desktop section title stays readable as the current page changes. */
#crumb{display:flex;align-items:center;gap:12px;min-width:0;max-width:62%;font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.3px;color:var(--ink)}
.header-context-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#eaf1fa;color:#244c7a;border:1px solid #d6e3f2}
.header-context-icon .icon{width:23px;height:23px;stroke-width:1.9}
.header-context-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar{gap:20px}.top-actions{flex-shrink:0}
[data-theme="dark"] .header-context-icon{background:#233c57;color:#bad6ff;border-color:#3b5774}
@media(min-width:761px) and (max-width:1050px){#crumb{font-size:19px;max-width:56%}.topbar{gap:12px}.header-context-icon{width:40px;height:40px;flex-basis:40px}}
@media(max-width:760px){#crumb{display:none}}

/* A single editable protocol, with retained figures and field-level feedback. */
.calc-table-layout{max-width:1080px}.calc-table-card{padding:0;overflow:hidden}.calc-table-head{padding:26px 28px;border-bottom:1px solid var(--line)}.calc-table-head h2{font-size:24px;margin-bottom:10px}.calc-table-head p{color:var(--muted);font-size:16px;line-height:1.7;max-width:870px}.protocol-table{width:100%;border-collapse:collapse;table-layout:fixed}.protocol-table thead{background:#edf3fa;color:var(--navy)}.protocol-table th,.protocol-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}.protocol-table thead th{font-size:14px;font-weight:700}.protocol-table thead th:first-child{width:70px}.protocol-table thead th:last-child{width:230px}.protocol-table tbody th{font-size:17px;line-height:1.6;font-weight:550}.calc-band{color:var(--muted);font-weight:700;font-size:16px}.protocol-table input{width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid #b6c7dc;border-radius:10px;padding:12px 14px;min-height:50px;font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}.protocol-table input::placeholder{color:#9ba6b6;font-weight:400}.candidate-row{background:#edf3fa44}.calc-field-note{font-size:12px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.calc-field-note>span{display:flex;align-items:flex-start;gap:5px;margin-top:4px}.calc-field-note .icon{width:15px;height:15px;margin-top:2px}.calc-row-warning{background:#fff5db!important}.calc-row-warning input{border:2px solid #bd8218;background:#fffdf5;color:#583b0d}.calc-row-warning .calc-field-note{color:#805612}.calc-row-invalid{background:#fff0ed!important}.calc-row-invalid input{border:2px solid #c04b41}.calc-row-invalid .calc-field-note{color:#9e3a32}.calc-row-info .calc-field-note{color:var(--navy)}.calc-row-info input{border-color:#7199c1}.calc-table-actions{padding:20px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--paper)}.calc-submit{min-width:180px;min-height:52px;font-size:17px}.calc-save-status{font-size:13px;color:var(--muted)}.calc-table-results{scroll-margin-top:25px;margin-top:24px}.calc-summary{display:flex;gap:14px;border:1px solid var(--line);border-radius:16px;padding:22px}.calc-summary h2{font-size:22px;margin-bottom:8px}.calc-summary p{font-size:15px;line-height:1.65}.calc-summary.success{background:#eaf6ef;color:#205c43;border-color:#a6d4b8}.calc-summary.warning{background:#fff4d8;color:#714c10;border-color:#dfbe77}.calc-summary>.icon{margin-top:4px;width:26px;height:26px}.calc-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.calc-totals>div{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.calc-totals span{font-size:13px;color:var(--muted);line-height:1.5}.calc-totals strong{font-size:28px;font-variant-numeric:tabular-nums}.calc-issue{border:1px solid #dfbe77;border-left:5px solid #bd8218;background:#fffaf0;padding:22px;border-radius:12px;margin:14px 0;scroll-margin-top:20px}.calc-issue.info{border-color:#aec6e0;background:#eff5fc}.calc-issue-heading{display:flex;align-items:flex-start;gap:10px}.calc-issue h3{font-size:18px;line-height:1.5}.calc-issue>p{font-size:17px;line-height:1.8;margin:12px 0}.calc-formula{font-size:20px!important;font-weight:700;line-height:1.6;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.calc-issue .btn{margin-top:8px}.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}
[data-theme="dark"] .protocol-table thead{background:#243c55;color:#c6ddf8}[data-theme="dark"] .candidate-row{background:#20344955}[data-theme="dark"] .calc-row-warning{background:#3f321b!important}[data-theme="dark"] .calc-row-warning input{background:#2a2419;color:#ffe0a2;border-color:#d9a542}[data-theme="dark"] .calc-row-warning .calc-field-note{color:#f0cc82}[data-theme="dark"] .calc-row-invalid{background:#422928!important}[data-theme="dark"] .calc-row-invalid .calc-field-note{color:#ffc3b7}[data-theme="dark"] .calc-issue{background:#30291d;border-color:#806630;color:#f2dfbb}[data-theme="dark"] .calc-issue.info{background:#1f3349;border-color:#547495;color:#d5e8ff}[data-theme="dark"] .calc-summary.warning{background:#40341e;color:#f3ddb3;border-color:#8b6e35}[data-theme="dark"] .calc-summary.success{background:#1e3c31;color:#bdebd1;border-color:#48846a}
@media(hover:hover){.protocol-table tbody tr:hover{box-shadow:inset 4px 0 0 #8caacf}.protocol-table input:hover{border-color:#6286af}}
@media(max-width:600px){.calc-table-head{padding:20px 16px}.calc-table-head h2{font-size:21px}.calc-table-head p{font-size:15px}.protocol-table th,.protocol-table td{padding:12px 7px}.protocol-table thead th:first-child{width:37px}.protocol-table thead th:last-child{width:110px}.protocol-table thead th{font-size:12px}.protocol-table tbody th{font-size:15px;line-height:1.6}.calc-band{font-size:13px}.protocol-table input{font-size:19px;padding:10px 7px;min-height:48px}.calc-table-actions{padding:18px 14px;gap:12px}.calc-submit{width:100%}.calc-totals{grid-template-columns:1fr}.calc-totals>div{flex-direction:row;align-items:center}.calc-totals span{max-width:75%}.calc-summary,.calc-issue{padding:18px}.calc-summary h2{font-size:19px}.calc-issue>p{font-size:16px}.calc-field-note{font-size:11px}}

.calc-issue-explanation{font-size:17px;line-height:1.8;margin:12px 0}.calc-issue-explanation p+p{margin-top:12px}@media(max-width:600px){.calc-issue-explanation{font-size:16px}}

/* Clear catalogue numbers for document templates and learning materials. */
.material-heading{display:flex;align-items:flex-start;gap:12px}.material-number{display:grid;place-items:center;flex-shrink:0;min-width:34px;min-height:34px;padding:6px 8px;border-radius:8px;background:#edf2f7;color:#244366;border:1px solid #d8e1eb;font-size:17px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;box-shadow:none}.material-copy{min-width:0;flex:1}.material-row .material-copy h3{font-size:18px;line-height:1.5;margin-bottom:7px;overflow-wrap:anywhere}.material-row .material-copy .subtle{font-size:15px;line-height:1.65;margin:0;overflow-wrap:anywhere}
[data-theme="dark"] .material-number{background:#23384e;color:#d0e0f3;border-color:#3c5269;box-shadow:none}
@media(max-width:600px){.material-heading{gap:10px}.material-number{min-width:32px;min-height:32px;border-radius:8px;font-size:17px}.material-row .material-copy h3{font-size:17px}.material-row .material-copy .subtle{font-size:14px}}

/* Opening animation: a marked ballot enters the ballot box. */
.opening-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:44px 16px;gap:0}.ballot-loader{width:160px;height:174px;margin-bottom:9px}.ballot-loader svg{display:block;width:100%;height:100%;overflow:visible}.ballot-loader-shadow{fill:#17345812;transform-origin:90px 172px;animation:ballot-shadow 2.8s ease-in-out infinite}.ballot-loader-lid{fill:#aec7e4;stroke:#7f9fc6;stroke-width:1.5;stroke-linejoin:round}.ballot-loader-slot{fill:none;stroke:#102d4d;stroke-width:5;stroke-linecap:round}.ballot-loader-box{fill:#173458;stroke:#214b77;stroke-width:1.5}.ballot-loader-box-line{fill:none;stroke:#ffffff28;stroke-width:1.5}.ballot-loader-emblem{fill:none;stroke:#dbc08c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.ballot-loader-paper{transform-origin:90px 33px;animation:ballot-drop 2.8s cubic-bezier(.35,0,.2,1) infinite}.ballot-loader-sheet{fill:#fff;stroke:#9fb9d8;stroke-width:2}.ballot-loader-lines{fill:none;stroke:#a6b6c9;stroke-width:2;stroke-linecap:round}.ballot-loader-square{fill:#eaf5ef;stroke:#9ac4ae;stroke-width:1.5}.ballot-loader-check{fill:none;stroke:#237655;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.opening-screen .opening-brand{font-size:24px;font-weight:750;letter-spacing:-.4px;color:var(--ink);margin:0}.opening-screen .opening-caption{font-size:15px;line-height:1.5;color:var(--muted);margin:8px 0 0}.opening-dots{display:flex;gap:6px;margin-top:18px}.opening-dots i{width:6px;height:6px;border-radius:50%;background:var(--navy);opacity:.3;animation:opening-dot 1.4s ease-in-out infinite}.opening-dots i:nth-child(2){animation-delay:.16s}.opening-dots i:nth-child(3){animation-delay:.32s}
@keyframes ballot-drop{0%{transform:translateY(-16px) rotate(-7deg);opacity:0}12%{opacity:1}30%{transform:translateY(8px) rotate(0);opacity:1}62%{transform:translateY(83px);opacity:1}76%,100%{transform:translateY(100px);opacity:0}}
@keyframes ballot-shadow{0%,100%{transform:scaleX(.88);opacity:.5}60%{transform:scaleX(1);opacity:1}}
@keyframes opening-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
[data-theme="dark"] .ballot-loader-box{fill:#254569;stroke:#6e91bb}[data-theme="dark"] .ballot-loader-lid{fill:#7599c4;stroke:#9cbbdf}[data-theme="dark"] .ballot-loader-shadow{fill:#0005}[data-theme="dark"] .opening-dots i{background:#b9d7ff}
@media(max-width:600px){.opening-screen{min-height:58vh}.ballot-loader{width:144px;height:158px}.opening-screen .opening-brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ballot-loader-paper{transform:translateY(30px);opacity:1;animation:none}.ballot-loader-shadow,.opening-dots i{animation:none}.opening-dots i{opacity:.65}}

/* Direct page links and a consistent size control for every material catalogue. */
.catalog-range{font-size:14px;color:var(--muted);margin:-8px 0 18px}.catalog-pager{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.page-navigation{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.page-number-list{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.page-number,.page-size-option{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:15px;font-weight:600;line-height:1.2;transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}.page-number.current,.page-size-option.selected{background:var(--navy);border-color:var(--navy);color:var(--paper)}.page-gap{padding:0 3px;color:var(--muted)}.page-navigation>.btn{min-height:44px}.page-size-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:22px;padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.page-total{font-size:14px;font-weight:600;color:var(--ink)}.page-size-control{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.page-size-control>span{font-size:14px;color:var(--muted);margin-right:5px}.page-size-option{min-width:37px;min-height:37px;font-size:14px;padding:7px 9px;cursor:pointer}
@media(hover:hover){a.page-number:hover,.page-size-option:hover:not(.selected){background:#e6effa;border-color:#88a7cd;color:#173458;box-shadow:0 2px 6px #17345812;transform:translateY(-1px)}}
[data-theme="dark"] .page-number.current,[data-theme="dark"] .page-size-option.selected{background:#b9d7ff;color:#10283e;border-color:#b9d7ff}
@media(hover:hover){[data-theme="dark"] a.page-number:hover,[data-theme="dark"] .page-size-option:hover:not(.selected){background:#29415b;color:#e0edff;border-color:#7895b7}}
@media(max-width:600px){.page-navigation{gap:10px}.page-number-list{order:1;flex-basis:100%;gap:6px}.page-navigation>.btn{order:2;flex:1;max-width:180px;padding:11px 12px}.page-size-toolbar{padding:14px 12px;gap:12px}.page-size-control{width:100%}.page-number{min-width:38px;min-height:40px;font-size:15px}.page-size-option{min-height:40px}.page-size-control>span{flex-basis:100%;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.page-number,.page-size-option{transition:none}}


/* Always reachable above the phone navigation once the page has scrolled. */
.scroll-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #c3d2e4;border-radius:14px;background:#173458;color:#fff;box-shadow:0 5px 16px #17345824;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
.scroll-top[hidden]{display:none}.scroll-top .icon{width:25px;height:25px;stroke-width:2}
@media(hover:hover){.scroll-top:hover{background:#2b527e;border-color:#7e9fc5;box-shadow:0 7px 20px #17345833;transform:translateY(-2px)}}
[data-theme="dark"] .scroll-top{background:#b9d7ff;color:#112b46;border-color:#d0e4ff;box-shadow:0 5px 16px #0005}
@media(hover:hover){[data-theme="dark"] .scroll-top:hover{background:#d3e6ff;border-color:#fff}}
@media(max-width:760px){.scroll-top{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:46px;height:46px;border-radius:13px}}
@media(prefers-reduced-motion:reduce){.scroll-top{transition:none}}

/* Official services: branded links below the navigation, and on mobile home. */
#side-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.official-sites{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.official-sites>h2{font-size:11px;line-height:1.5;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:0 12px;margin:0 0 10px}
.official-site{display:flex;align-items:center;gap:10px;padding:10px 9px;border:1px solid transparent;border-radius:12px;margin-top:6px;min-height:64px;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.official-site-logo{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:4px;background:#fff;border:1px solid #e0e8f2;border-radius:10px}
.official-site-logo img{display:block;width:100%;height:100%;object-fit:contain}
.official-site-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.official-site-copy strong{font-size:13px;line-height:1.4;font-weight:650}
.official-site-copy small{font-size:11px;color:var(--muted)}
.official-site>.icon{width:15px;height:15px;color:var(--muted)}
.official-site:hover{background:#edf3fb;border-color:#cbd9eb;transform:translateY(-1px)}
[data-theme=dark] .official-site:hover{background:#263f58;border-color:#47617d}
.official-sites-mobile{display:none}
@media(max-width:760px){.official-sites-mobile{display:block;margin-top:28px}.official-sites-mobile>h2{font-size:13px;padding-left:0}.official-sites-mobile .official-site{background:var(--paper);border-color:var(--line);padding:13px;min-height:76px}.official-sites-mobile .official-site-copy strong{font-size:16px}.official-sites-mobile .official-site-copy small{font-size:13px}.official-sites-mobile .official-site>.icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.official-site{transition:none}.official-site:hover{transform:none}}

/* Desktop menu collapses into an icon rail; all links remain accessible. */
.sidebar-toggle{display:none}
.official-site-logo svg{display:block;width:100%;height:100%}
@media(min-width:761px){
 .sidebar{width:264px;height:100dvh;min-height:0;padding:22px 16px;overflow:hidden;transform:none;visibility:visible;pointer-events:auto;transition:width .22s ease}
 .sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;margin-bottom:24px;flex-shrink:0}
 .sidebar .brand{padding:0 4px;font-size:23px;gap:9px;white-space:nowrap}
 .sidebar-toggle{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--ink);transition:background .18s ease,border-color .18s ease}
 .sidebar-toggle:hover{background:#e7eff9;border-color:#9cb5d3}
 [data-theme=dark] .sidebar-toggle:hover{background:#2b4661;border-color:#6f91b6}
 #side-nav{overflow:visible;flex-shrink:0}
 .sidebar .nav-item{padding:12px 13px;margin-bottom:5px;min-height:48px;font-size:16px;line-height:22px;gap:13px}
 .sidebar .nav-item .icon{width:23px;height:23px}
 .sidebar .nav-divider{margin:16px 12px}
 .sidebar .official-sites{margin-top:18px;padding-top:16px}
 .sidebar .official-sites>h2{margin-bottom:10px;font-size:11px}
 .sidebar .official-site{padding:8px;min-height:62px;margin-top:5px;gap:10px}
 .sidebar .official-site-logo{width:40px;height:40px}
 .sidebar .official-site-copy strong{font-size:15px;line-height:1.4}
 .sidebar .official-site-copy small{font-size:12px}
 .sidebar .side-foot{padding:16px 9px 0;font-size:11px;flex-shrink:0}
 .main-shell{margin-left:264px;transition:margin-left .22s ease}
 .topbar{gap:12px}.topbar #crumb{margin-right:auto}
 .sidebar-closed .sidebar{width:84px;padding-left:12px;padding-right:12px}
 .sidebar-closed .sidebar-header{justify-content:center}
 .sidebar-closed .sidebar .brand,.sidebar-closed .nav-label,.sidebar-closed .official-site-copy,.sidebar-closed .official-sites>h2,.sidebar-closed .official-site>.icon,.sidebar-closed .side-foot{display:none}
 .sidebar-closed .nav-item{justify-content:center;padding-left:0;padding-right:0}
 .sidebar-closed .nav-divider{margin-left:7px;margin-right:7px}
 .sidebar-closed .official-site{justify-content:center;padding-left:0;padding-right:0}
 .sidebar-closed .main-shell{margin-left:84px}
}
@media(min-width:761px) and (max-height:820px){
 .sidebar{padding:16px}
 .sidebar-header{margin-bottom:16px}
 .sidebar .nav-item{padding:10px 13px;min-height:44px;margin-bottom:3px;font-size:15px}
 .sidebar .nav-divider{margin:12px}
 .sidebar .official-sites{margin-top:14px;padding-top:12px}
 .sidebar .official-site{min-height:56px;padding:6px 8px;margin-top:3px}
 .sidebar .side-foot{padding-top:12px}
}
@media(min-width:761px) and (max-height:740px){
 .sidebar{padding:12px 16px}
 .sidebar-header{margin-bottom:10px;min-height:44px}
 .sidebar .nav-item{padding:7px 13px;min-height:38px;margin-bottom:2px;font-size:14.5px}
 .sidebar .nav-divider{margin:9px 12px}
 .sidebar .official-sites{margin-top:10px;padding-top:10px}
 .sidebar .official-sites>h2{margin-bottom:5px}
 .sidebar .official-site{min-height:50px;padding:4px 8px;margin-top:2px}
 .sidebar .official-site-logo{width:36px;height:36px}
 .sidebar .side-foot{padding-top:8px}
}
@media(min-width:761px) and (max-height:640px){
 .sidebar{padding:8px 16px}
 .sidebar-header{margin-bottom:6px;min-height:40px}
 .sidebar .nav-item{padding:4px 13px;min-height:30px;margin-bottom:1px;font-size:13.5px}
 .sidebar .nav-divider{margin:5px 12px}
 .sidebar .official-sites>h2,.sidebar .side-foot{display:none}
 .sidebar .official-sites{margin-top:6px;padding-top:6px}
 .sidebar .official-site{min-height:44px;padding-top:3px;padding-bottom:3px}
 .sidebar .official-site-copy strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.sidebar,.main-shell,.sidebar-toggle{transition:none}}
