/* Shared brand, accessible actions and interface-language control. */
:root{--platform-blue:#1a5fa8;--platform-ink:#17222e;--platform-border:#d7e0e6}
a.platform-brand{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:44px;text-decoration:none!important;color:var(--platform-ink)!important;flex:0 0 auto;max-width:100%}
.platform-brand-core,[data-platform-brand-core]{display:inline-flex;align-items:center;gap:10px;max-width:100%}
.platform-brand .platform-brand-mark{display:block!important;width:44px!important;height:44px!important;flex:0 0 44px;border:0;border-radius:10px;box-shadow:0 4px 12px #123f7326}
.platform-brand .platform-wordmark{font:900 19px/1 'Archivo','Noto Sans HK',sans-serif!important;letter-spacing:.035em!important;text-transform:uppercase;white-space:nowrap;color:var(--platform-ink)!important}
.platform-brand .platform-wordmark>span{color:var(--platform-blue)!important;font:inherit!important}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}
nav a[aria-current=page]{color:var(--platform-blue);background:#e3edf8}
.platform-language-topbar{width:100%;flex:0 0 auto;grid-column:1/-1;padding:6px clamp(10px,3vw,28px);margin:0;position:relative;z-index:1;border-bottom:1px solid var(--platform-border);background:#f4f7f8;color:#536373;font:13px/1.5 'DM Sans','Noto Sans HK',sans-serif;text-align:right}
.platform-language{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:6px 8px;border:1px solid var(--platform-border);border-radius:12px;background:#fff}
.platform-language>span{padding:0 7px;font-size:12px;font-weight:600}
.platform-language button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#536373;font:600 13px/1.4 'DM Sans','Noto Sans HK',sans-serif;cursor:pointer;touch-action:manipulation}
.platform-language button[aria-pressed=true]{background:#1a5fa8;color:#fff;border-color:#1a5fa8}
.platform-language button:hover{box-shadow:inset 0 0 0 1px #1a5fa8}
.platform-language button:focus-visible{outline:3px solid #287fcd;outline-offset:3px}
[data-ui-lang][hidden]{display:none!important}
@media(max-width:420px){.platform-brand .platform-wordmark{font-size:17px!important}.platform-language-topbar{text-align:center;padding:5px 10px}}
@media(prefers-reduced-motion:reduce){.platform-language button{transition:none}}
@media print{.platform-language-topbar{display:none}}

/* Shared paper/result primitives. Load before page-specific responsive overrides. */
.paper-page{--section:var(--chem);width:min(100%,830px);min-height:930px;margin:0 auto;padding:52px clamp(35px,6vw,70px) 68px;position:relative;background:#fff;border:1px solid rgba(23,34,46,.13);box-shadow:0 16px 38px rgba(23,34,46,.1);font-family:'Times New Roman','Noto Sans HK',serif}
.paper-page[data-subject="phy"]{--section:var(--phy)}
.paper-page[data-subject="chem"]{--section:var(--chem)}
.paper-page[data-subject="bio"]{--section:var(--bio)}
.paper-page.lang-en [lang="zh-Hant"],.paper-page.lang-cn [lang="en"]{display:none!important}
.paper-page::before{content:"";position:absolute;left:40px;top:0;bottom:0;width:1px;background:rgba(192,57,43,.12)}
.paper-top-code{text-align:right;color:#65707a;font:400 8px/1 var(--mono)}
.free-result{margin-top:14px;padding:15px;border:1px solid rgba(40,116,71,.28);border-radius:11px;background:linear-gradient(145deg,#f7fcf8,var(--good-soft));box-shadow:inset 4px 0 0 var(--good)}
.free-result:focus{outline:3px solid rgba(26,95,168,.35);outline-offset:3px}
.free-result-kicker{color:var(--good);font:500 8px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.free-result h3{margin-top:5px;font:800 18px/1.15 var(--display)}
.free-result-score{margin-top:11px;display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.free-result-score strong{color:var(--good);font:800 48px/.9 var(--display);letter-spacing:-.05em}
