:root{color-scheme:light;--theme-surface:#fff;--theme-text:#222;--theme-border:#dededd;--theme-shadow:#0002;--diagram-active:#fff1f1}
:root[data-theme="dark"]{color-scheme:dark;--theme-surface:#252527;--theme-text:#f0f0f1;--theme-border:#4c4c50;--theme-shadow:#0006;--diagram-active:#47282b}
html[data-theme="dark"]{--ink:#f0f0f1;--muted:#b5b5ba;--red:#ff7377;--line:#424247;--wash:#29292d;--white:#1c1c1e;background:var(--white);color:var(--ink)}
html[data-theme="dark"] body{background:#181819;color:#f0f0f1}
#pp-portal-design{color-scheme:inherit}
.pp-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:20;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;min-height:44px;border:1px solid var(--theme-border);border-radius:24px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 3px 15px var(--theme-shadow);font:13px Arial,sans-serif;cursor:pointer}
.pp-theme-toggle:focus-visible{outline:2px solid #bc252c;outline-offset:3px}
.pp-theme-symbol{font-size:17px;line-height:1}
body{padding-bottom:0}
#pp-portal-design .pp-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin-top:24px}
#pp-portal-design .pp-icon-card{background:var(--pp-panel);border:1px solid var(--pp-line);border-radius:8px;padding:18px;min-width:0}
#pp-portal-design .pp-icon-card>svg{display:block;width:42px;height:42px;margin-bottom:16px;color:var(--pp-text)}
#pp-portal-design .pp-icon-card h3{font-size:14px;overflow-wrap:anywhere}#pp-portal-design .pp-icon-card code{font-size:11px;overflow-wrap:anywhere}#pp-portal-design .pp-icon-card p,#pp-portal-design .pp-icon-card a{font-size:11px;margin-top:12px}
@media(max-width:480px){#pp-portal-design nav{grid-template-columns:repeat(7,1fr)}}
html[data-theme="dark"] .topbar .logo{background:transparent}
html[data-theme="dark"] #pp-portal-design .pp-brand img{background:transparent}
@media(max-width:480px){.pp-theme-toggle{right:12px;bottom:12px;padding:10px 13px}}
.pp-session-notice{border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);color:var(--theme-text);padding:28px;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);font:16px Arial,sans-serif}
.pp-session-notice::backdrop{background:#0009}.pp-session-notice h2{font-size:24px;font-weight:500;margin:0 0 15px}.pp-session-notice p{line-height:1.5;color:inherit}.pp-session-login{display:inline-block;padding:12px 18px;background:#bc252c;color:white;text-decoration:none;border-radius:6px;margin-top:15px}

.pp-theme-toggle{width:46px;height:46px;padding:10px;border-radius:50%}.pp-theme-symbol{font-size:22px}
#pp-portal-design .pp-brand-mark{display:block;width:158px;height:52px}
#pp-portal-design .pp-brand-mark img{display:block;width:158px;height:52px;object-fit:contain}
#pp-portal-design .pp-logo-dark{display:none!important}
html[data-theme="dark"] #pp-portal-design .pp-logo-light{display:none!important}
html[data-theme="dark"] #pp-portal-design .pp-logo-dark{display:block!important}
#pp-portal-design .pp-top{position:sticky;top:0;z-index:50;width:100%;height:80px;min-height:80px;flex-wrap:nowrap;padding-top:12px;padding-bottom:12px}
#pp-portal-design .pp-sidebar{position:sticky;top:80px;align-self:start;height:calc(100dvh - 80px);overflow-y:auto}
#pp-portal-design .pp-core-content{min-width:0;color:var(--pp-text);--ink:var(--pp-text);--muted:var(--pp-muted);--line:var(--pp-line);--wash:var(--pp-soft);--white:var(--pp-panel)}
#pp-portal-design .pp-core-content .core-main{padding:30px 0;max-width:none}
#pp-portal-design .pp-core-content .navigation{padding:0;gap:16px;max-width:100%;overflow-x:auto}
#pp-portal-design .pp-core-content .navigation button{font-size:11px}
#pp-portal-design .pp-core-content .page{min-height:0}
#pp-portal-design .pp-core-content .footer{padding-left:0;padding-right:0}
@media(max-width:800px){#pp-portal-design .pp-edition{display:none}#pp-portal-design .pp-top{gap:12px}}
@media(max-width:480px){#pp-portal-design .pp-sidebar{top:80px;height:auto;max-height:none;overflow:visible;z-index:40}#pp-portal-design .pp-local{display:none}#pp-portal-design .pp-brand-mark,#pp-portal-design .pp-brand-mark img{width:150px;height:50px}#pp-portal-design .pp-core-content .navigation{gap:14px}}
#pp-portal-design .pp-sidebar{position:fixed;left:0;top:80px;bottom:0;width:205px;height:auto;z-index:40}
#pp-portal-design .pp-content{grid-column:2}
#pp-portal-design.pp-collapsed .pp-sidebar{width:65px}
#pp-portal-design .pp-core-content{--red:var(--pp-red)}
#pp-portal-design .pp-core-content .diagram-wrap svg{width:100%;height:auto;max-height:none}
@media(max-width:800px){#pp-portal-design .pp-sidebar{width:65px}}
@media(max-width:480px){#pp-portal-design .pp-sidebar,#pp-portal-design.pp-collapsed .pp-sidebar{width:100%;right:0;bottom:auto;height:64px;overflow:visible}#pp-portal-design .pp-shell{padding-top:64px}#pp-portal-design .pp-content{grid-column:auto}}
/* Explicit manual palettes: do not depend on browser/OS appearance. */
html[data-theme="light"]{color-scheme:only light;background:#f5f5f4;color:#1e1e20}
html[data-theme="dark"]{color-scheme:only dark;background:#181819;color:#f1f1f0}
html[data-theme="light"] #pp-portal-design{color-scheme:only light;--pp-bg:#f5f5f4;--pp-panel:#fff;--pp-text:#1e1e20;--pp-muted:#636365;--pp-line:#dededd;--pp-red:#bd252c;--pp-soft:#eeeceb;--pp-hero:#242426;background:#f5f5f4;color:#1e1e20}
html[data-theme="dark"] #pp-portal-design{color-scheme:only dark;--pp-bg:#181819;--pp-panel:#222224;--pp-text:#f1f1f0;--pp-muted:#b3b3b6;--pp-line:#3d3d40;--pp-red:#ff7377;--pp-soft:#303033;--pp-hero:#2b2b2e;background:#181819;color:#f1f1f0}
html,body{margin:0;border:0;outline:0;box-shadow:none;width:100%;padding-left:0;padding-right:0}
html[data-theme="light"] body{background:#f5f5f4;color:#1e1e20}
html[data-theme="dark"] body{background:#181819;color:#f1f1f0}
#pp-portal-design{margin:0;border:0!important;outline:0;box-shadow:none;border-radius:0;width:100%;max-width:none;min-height:100dvh}
#pp-portal-design .pp-footer{position:static}
@media(min-width:481px){#pp-portal-design .pp-sidebar{position:fixed;top:80px;bottom:0;height:calc(100dvh - 80px);min-height:calc(100dvh - 80px);max-height:calc(100dvh - 80px);align-self:stretch;overflow-y:auto}}
#pp-portal-design .pp-brand{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
#pp-portal-design .pp-brand-mark{width:190px;height:40px;overflow:hidden}
#pp-portal-design .pp-brand-mark img{width:190px;height:63px;margin-top:-11px;object-fit:contain}
#pp-portal-design .pp-brand-caption{font-size:10px;letter-spacing:1.2px;line-height:14px;color:var(--pp-muted);white-space:nowrap}
#pp-portal-design .pp-session-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;font-size:12px;color:var(--pp-muted);white-space:nowrap;min-width:0}
#pp-portal-design .pp-session-value{font-variant-numeric:tabular-nums;font-weight:500;color:var(--pp-text);min-width:38px}
#pp-portal-design .pp-session-mobile{display:none}
#pp-portal-design .pp-session-area{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;min-width:0}
#pp-portal-design .pp-profile-line{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--pp-muted);text-align:right}
#pp-portal-design #pp-logout{border:0;background:transparent;color:var(--pp-muted);border-radius:4px;min-width:28px;min-height:28px;padding:5px;cursor:pointer}
#pp-portal-design #pp-logout svg{width:16px;height:16px}
#pp-portal-design #pp-access-link[hidden],#pp-portal-design #pp-profile-name[hidden],#pp-portal-design #pp-logout[hidden]{display:none!important}
#pp-portal-design .pp-review-author{font-size:13px;color:var(--pp-muted)}
#pp-portal-design #pp-icon-reviewer{font-weight:500;color:var(--pp-text)}
@media(max-width:480px){#pp-portal-design .pp-profile-line{font-size:10px;gap:4px}#pp-portal-design #pp-logout{min-width:30px;min-height:30px}#pp-portal-design.pp-admin-profile .pp-sidebar nav{display:flex;overflow-x:auto;max-width:100%;min-width:0;gap:0}#pp-portal-design.pp-admin-profile .pp-sidebar nav>a{flex:0 0 44px;justify-content:center;padding-left:0;padding-right:0}}
@media(max-width:600px){#pp-portal-design .pp-session-prefix{display:none}#pp-portal-design .pp-session-mobile{display:inline}}
@media(max-width:480px){#pp-portal-design .pp-brand-mark{width:150px;height:32px}#pp-portal-design .pp-brand-mark img{width:150px;height:50px;margin-top:-8px}#pp-portal-design .pp-brand-caption{font-size:9px;line-height:12px}#pp-portal-design .pp-session-status{font-size:11px;gap:5px}}

/* Codex desktop reference: system UI stack and neutral gray surface tokens. */
:root{--pp-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-family:var(--pp-font-family);font-size:14px}
#pp-portal-design{font-family:var(--pp-font-family);font-size:14px;line-height:1.5}
#pp-portal-design :where(p,a,button,input,textarea,select,label,span,h1,h2,h3,h4,td,th){font-family:var(--pp-font-family)!important}
#pp-portal-design nav a{font-size:14px}
#pp-portal-design .pp-core-content,#pp-scroll-landing{font-family:var(--pp-font-family);font-size:14px}
#pp-portal-design .pp-core-content h1{font-size:clamp(30px,4vw,48px)}
html[data-theme="dark"]{--theme-surface:#212121;--theme-text:#dfdfdf;--theme-border:#ffffff26;background:#181818;color:#dfdfdf}
html[data-theme="dark"] body{background:#181818;color:#dfdfdf}
html[data-theme="dark"] #pp-portal-design{--pp-bg:#181818;--pp-panel:#212121;--pp-text:#dfdfdf;--pp-muted:#afafaf;--pp-line:#ffffff26;--pp-soft:#303030;--pp-hero:#282828;background:#181818;color:#dfdfdf}
html[data-theme="dark"] main:not(.pp-content){background:var(--theme-surface);color:var(--theme-text)}
body>main button,body>main input{font-family:var(--pp-font-family)}
#pp-portal-design .pp-principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}
#pp-portal-design .pp-principle-grid article{border-top:1px solid var(--pp-line);padding-top:16px;min-width:0}
#pp-portal-design .pp-principle-grid article>span{font-size:12px;color:var(--pp-red)}
#pp-portal-design .pp-principle-grid h2{font-size:18px;font-weight:500;line-height:1.3;margin:10px 0}
#pp-portal-design .pp-principle-grid p{font-size:14px;line-height:1.6;color:var(--pp-muted)}
#pp-portal-design .pp-home-basis{font-size:12px;color:var(--pp-muted);line-height:1.6;max-width:950px;margin-bottom:32px}
#pp-portal-design .pp-home-principles h1{font-size:clamp(28px,3.2vw,42px);max-width:820px;line-height:1.2;font-weight:500}
#pp-portal-design .pp-materials-heading{font-size:22px;font-weight:500;margin:32px 0 20px}
@media(max-width:1000px){#pp-portal-design .pp-principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#pp-portal-design .pp-principle-grid{grid-template-columns:1fr}}

/* Approved 28.10: denser type and a quieter shared shell. */
body,#pp-portal-design{font-weight:500}
#pp-portal-design :is(h1,h2,h3,h4){font-weight:600!important}
#pp-portal-design .pp-content :is(p,li,dt,dd,td,label){font-weight:500!important}
#pp-portal-design :is(button,input,select,textarea),#pp-portal-design .pp-sidebar nav a{font-weight:500}
#pp-portal-design .pph-flow svg text{font-weight:500}
#pp-portal-design .pp-brand-caption,#pp-portal-design #pp-session-timer{display:none!important}
#pp-portal-design .pp-toggle-mobile{display:none}
#pp-portal-design .pp-sidebar nav{min-height:0;overflow-y:auto}
#pp-portal-design .pp-sidebar-bottom{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-start;padding-top:16px}
#pp-portal-design .pp-toggle-sidebar{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:10px;border-radius:6px}
#pp-portal-design .pp-toggle-sidebar:hover{background:var(--pp-soft)}
@media(min-width:481px) and (max-width:800px){#pp-portal-design:not(.pp-collapsed) .pp-shell{grid-template-columns:205px minmax(0,1fr)}#pp-portal-design:not(.pp-collapsed) .pp-sidebar{width:205px}#pp-portal-design:not(.pp-collapsed) .pp-sidebar nav a{justify-content:flex-start}#pp-portal-design:not(.pp-collapsed) .pp-sidebar nav a span{display:inline}}
@media(max-width:480px){#pp-portal-design .pp-toggle-mobile{display:grid;place-items:center;min-width:40px;min-height:44px;flex:0 0 40px;padding:8px}#pp-portal-design .pp-sidebar-bottom{display:none}#pp-portal-design .pp-sidebar nav{display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;gap:0;height:48px}#pp-portal-design .pp-sidebar nav>a{flex:0 0 44px;justify-content:center;padding:10px 0}#pp-portal-design.pp-collapsed .pp-sidebar{display:none}#pp-portal-design.pp-collapsed .pp-shell{padding-top:0}#pp-portal-design .pp-top{gap:8px;padding-left:10px;padding-right:10px}#pp-portal-design .pp-brand-mark{width:130px;height:32px}#pp-portal-design .pp-brand-mark img{width:130px;height:43px;margin-top:-5px}}
