*{box-sizing:border-box}
html{min-width:320px;background:var(--pbb-background);scroll-behavior:smooth}
body{margin:0;background:var(--pbb-background);color:var(--pbb-text);font-family:var(--pbb-font-body);font-size:16px;line-height:1.5}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--pbb-focus);outline-offset:3px}
[hidden]{display:none!important}
.skip-link{position:absolute;top:8px;left:8px;z-index:10;transform:translateY(-160%);padding:12px 16px;border-radius:8px;background:var(--pbb-primary);color:var(--pbb-on-primary)}
.skip-link:focus{transform:translateY(0)}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--pbb-divider)}
.brand{min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--pbb-font-heading);font-size:16px;letter-spacing:-.035em}
.brand img{display:block;object-fit:contain}
.brand strong{font-weight:750}
.topbar-actions{display:flex;align-items:center;gap:16px}
.connection{display:inline-flex;align-items:center;gap:8px;color:var(--pbb-text-muted);font-size:14px}
.connection-dot{width:8px;height:8px;border-radius:50%;background:#6b6b6b}
.connection[data-state="online"] .connection-dot{background:var(--pbb-text)}
.connection[data-state="offline"] .connection-dot{background:transparent;border:2px solid var(--pbb-text-muted)}
.icon-button{width:44px;height:44px;border:1px solid var(--pbb-divider);border-radius:12px;background:var(--pbb-background);color:var(--pbb-text);cursor:pointer;font-size:20px}
.page-shell{width:min(100% - 40px,760px);margin:0 auto;padding:28px 0 48px}
.demo-banner{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border:1px solid var(--pbb-divider);border-radius:12px;background:var(--pbb-surface)}
.demo-banner p{margin:0;color:var(--pbb-text-muted);font-size:14px;line-height:1.55}
.demo-tag{flex:0 0 auto;margin-top:1px;padding:2px 7px;border:1px solid var(--pbb-control-border);border-radius:5px;color:var(--pbb-text);font-size:11px;font-weight:750;letter-spacing:.06em}
.lesson-heading{padding:28px 2px 24px}
.back-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;margin-bottom:25px;color:var(--pbb-text-muted);font-size:14px;text-decoration:none}
.back-link:hover{text-decoration:underline}
.lesson-eyebrow{display:flex;align-items:center;gap:8px;color:var(--pbb-text-muted);font-size:13px;font-weight:600}
.eyebrow-mark{width:8px;height:8px;border:1px solid var(--pbb-text-muted);border-radius:2px}
h1,h2,p{margin-top:0}
h1,h2{font-family:var(--pbb-font-heading);letter-spacing:-.04em}
h1{margin:8px 0 8px;font-size:clamp(28px,6vw,36px);line-height:1.2}
.lesson-description{max-width:580px;margin-bottom:16px;color:var(--pbb-text-muted);font-size:16px}
.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:var(--pbb-text-muted);font-size:13px}
.offline-pill{margin-left:5px;padding:3px 9px;border:1px solid var(--pbb-divider);border-radius:999px;color:var(--pbb-text);font-size:12px}
.offline-pill[data-state="ready"]{background:var(--pbb-surface)}
.offline-pill[data-state="error"]{border-color:var(--pbb-control-border)}
.lesson-card{overflow:hidden;border:1px solid var(--pbb-divider);border-radius:16px;background:var(--pbb-background)}
.welcome-panel{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(280px,1.15fr);align-items:center;gap:36px;padding:32px}
.welcome-art{min-height:228px;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;border:1px solid var(--pbb-divider);border-radius:12px;background:var(--pbb-surface)}
.number-tile{width:46px;height:54px;display:grid;place-items:center;border:1px solid var(--pbb-control-border);border-radius:9px;background:var(--pbb-background);font-family:var(--pbb-font-heading);font-size:24px;font-weight:700}
.number-tile-three{background:var(--pbb-primary);color:var(--pbb-on-primary)}
.plus-sign,.equals-sign{color:var(--pbb-text-muted);font-size:20px}
.card-kicker{margin-bottom:8px;color:var(--pbb-text-muted);font-size:12px;font-weight:700;letter-spacing:.09em}
.welcome-copy h2,.complete-panel h2{margin:0 0 10px;font-size:24px;line-height:1.25}
.welcome-copy>p:not(.card-kicker){margin-bottom:20px;color:var(--pbb-text-muted);font-size:15px}
.resume-area{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.primary-button,.secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:11px 18px;border:1px solid var(--pbb-primary);border-radius:12px;background:var(--pbb-primary);color:var(--pbb-on-primary);font-weight:650;cursor:pointer}
.primary-button:hover{opacity:.88}
.primary-button:disabled{opacity:.42;cursor:not-allowed}
.secondary-button{background:var(--pbb-background);color:var(--pbb-text)}
.question-panel{padding:28px 32px 24px}
.question-topline,.question-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.question-count{font-size:14px;font-weight:650}
.save-state{color:var(--pbb-text-muted);font-size:12px;text-align:right}
.progress-track{height:7px;overflow:hidden;margin:14px 0 28px;border-radius:99px;background:var(--pbb-surface)}
.progress-track>span{height:100%;display:block;border-radius:inherit;background:var(--pbb-primary);transition:width .2s ease}
.question-prompt{margin-bottom:7px;font-size:24px;line-height:1.35}
.question-help{margin-bottom:20px;color:var(--pbb-text-muted);font-size:15px}
.answer-list{display:grid;gap:10px}
.answer-option{width:100%;min-height:52px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--pbb-control-border);border-radius:10px;background:var(--pbb-background);color:var(--pbb-text);text-align:left;cursor:pointer}
.answer-option:hover,.answer-option[aria-pressed="true"]{background:var(--pbb-surface)}
.answer-option[aria-pressed="true"]{border-width:2px;padding:9px 13px;font-weight:650}
.answer-letter{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--pbb-divider);border-radius:7px;font-size:13px;font-weight:650}
.answer-feedback{margin:16px 0 0;padding:12px 14px;border-radius:9px;background:var(--pbb-surface);font-size:14px}
.question-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--pbb-divider);color:var(--pbb-text-muted);font-size:13px}
.complete-panel{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center}
.complete-mark{width:52px;height:52px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--pbb-control-border);border-radius:50%;font-size:25px}
.complete-panel>p:not(.card-kicker){max-width:450px;margin-bottom:20px;color:var(--pbb-text-muted)}
.below-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 2px}
.storage-note{display:flex;align-items:flex-start;gap:12px}
.storage-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid var(--pbb-divider);border-radius:10px;font-size:18px}
.storage-note h2{margin:0 0 3px;font-size:14px;letter-spacing:-.01em}
.storage-note p{max-width:490px;margin:0;color:var(--pbb-text-muted);font-size:12px;line-height:1.55}
.text-button{flex:0 0 auto;min-height:44px;padding:8px 4px;border:0;background:none;color:var(--pbb-text-muted);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.privacy-note{margin:5px 0 0;color:var(--pbb-text-muted);font-size:12px}
.site-footer{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100vw - 1120px)/2));border-top:1px solid var(--pbb-divider);color:var(--pbb-text-muted);font-size:12px}
.noscript-note{margin:20px;padding:16px;border:1px solid var(--pbb-control-border);border-radius:8px}
@media(max-width:640px){
  .topbar{height:68px;padding:0 16px}.topbar-actions{gap:10px}.connection{font-size:12px}
  .page-shell{width:min(100% - 32px,520px);padding-top:18px}.demo-banner{gap:9px;padding:11px 12px}
  .lesson-heading{padding:21px 2px 18px}.back-link{margin-bottom:21px}.welcome-panel{grid-template-columns:1fr;gap:22px;padding:20px}
  .welcome-art{min-height:136px;gap:14px;padding:14px}.number-tile{width:42px;height:48px}
  .welcome-copy h2,.complete-panel h2{font-size:22px}.question-panel{padding:22px 18px 18px}.question-prompt{font-size:21px}
  .below-card{align-items:flex-start;flex-direction:column;gap:8px;padding:18px 2px}.text-button{align-self:flex-end}
  .site-footer{padding:12px 16px;font-size:11px}
}
@media(max-width:360px){.brand{gap:7px;font-size:14px}.brand img{width:36px;height:36px}.connection{gap:6px;font-size:11px}.connection #connection-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.icon-button{width:44px}.question-topline{align-items:flex-start;flex-direction:column;gap:3px}.save-state{text-align:left}.question-footer{align-items:flex-start;flex-direction:column}.question-footer .primary-button{width:100%}.site-footer{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress-track>span{transition:none}}
