/* Shared shadcn theme and application layout. No remote fonts/assets. */
*{box-sizing:border-box}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(25px,3vw,34px);font-weight:650;line-height:1.16;letter-spacing:-1.1px}h2{font-size:19px;font-weight:600;line-height:1.35;letter-spacing:-.35px}h3{font-size:14px;font-weight:600}p{line-height:1.65}button,select,input,textarea{scroll-margin-top:30px}button:not(:disabled),summary{cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{accent-color:var(--primary)}[data-slot=button]{min-height:40px}[data-slot=input],[data-slot=native-select]{min-height:40px}[data-slot=textarea]{min-height:70px;resize:vertical}[data-slot=label]{margin:16px 0 7px;font-size:12px}a{color:#315a8e;text-underline-offset:3px}a:hover{text-decoration:underline}pre{font:11px/1.65 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#202027;color:#f4f4f5;padding:16px;border-radius:8px;overflow:auto;max-height:300px}details:not([data-slot]){border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--card)}summary{font-size:12px;font-weight:550;min-height:24px}details>p{font-size:12px;margin-top:12px}details>pre{margin-top:14px}table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}th,td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left}th{font-weight:550;color:var(--muted-foreground)}:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
#product-navigation{background:#fff;border-bottom:1px solid var(--border)}.product-navigation{max-width:1320px;margin:auto;min-height:88px;display:flex;align-items:center;gap:30px;padding:16px 32px}.product-brand{display:flex;align-items:center;gap:11px;min-width:205px}.brand-mark{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;display:grid;place-items:center;background:#fafafa}.product-brand strong{display:block;font-size:18px;font-weight:650;letter-spacing:-.7px;line-height:1.3}.product-brand div>span{font-size:11px;color:var(--muted-foreground)}.workspace-modes{display:flex;gap:4px;flex:1}.mode-button{min-height:52px!important;padding:8px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;box-shadow:none}.mode-button>span{font-size:12px}.mode-button>small{font-size:10px;font-weight:400;color:var(--muted-foreground)}.simulation-badge{font-size:10px;padding:6px 10px;gap:6px;white-space:nowrap}.status-dot{width:5px;height:5px;display:block;border-radius:50%;background:#708675}
.learning-card{padding:0;box-shadow:none;margin:22px 0;background:#fff;border-color:var(--border);gap:0}.learning-card [data-slot=card-content]{padding:17px 20px}.learning-label{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted-foreground);margin-bottom:13px}.learning-label>span:first-child{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--foreground)}.learning-label [data-slot=badge]{font-size:10px}.lesson-server-state{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums}.lesson-tabs{width:100%;height:38px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.lesson-tabs [data-slot=tabs-trigger]{font-size:12px;min-height:30px;gap:7px}.step-number{font-size:10px;color:var(--muted-foreground)}.lesson-body{display:flex;gap:30px;align-items:center;padding:12px 0 4px}.lesson-body>div{flex:1}.lesson-body h2{font-size:15px;letter-spacing:-.2px;margin:0 0 5px}.lesson-body p{font-size:12px;color:var(--muted-foreground);max-width:680px}.lesson-action{font-size:11px;min-width:175px}.lesson-feedback{font-size:10px;color:var(--muted-foreground);margin-top:10px}.lesson-boundary{margin-top:9px}.lesson-boundary [data-slot=accordion-item]{border:0}.lesson-boundary [data-slot=accordion-trigger]{font-size:11px;min-height:30px;padding:5px 0;justify-content:flex-start;gap:6px;color:var(--muted-foreground)}.lesson-boundary [data-slot=accordion-trigger]>svg:last-child{margin-left:auto}.lesson-boundary [data-slot=accordion-content]{font-size:12px;color:var(--muted-foreground)}.lesson-boundary [data-slot=accordion-content]>div{padding-bottom:4px}
@media(max-width:1000px){.product-navigation{gap:15px}.product-brand{min-width:160px}.simulation-badge{display:none}.mode-button{padding-inline:12px}.product-navigation{padding-inline:24px}}@media(max-width:700px){.product-navigation{padding:16px 16px 10px;display:block}.product-brand{margin-bottom:16px}.workspace-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.mode-button{padding:7px 3px;min-height:44px!important;align-items:center;text-align:center}.mode-button>span{font-size:10px}.mode-button>small{display:none}.product-brand strong{font-size:18px}.product-brand div>span{font-size:11px}.brand-mark{width:31px;height:31px}.learning-card{margin:18px 0}.learning-card [data-slot=card-content]{padding:15px}.learning-label{flex-wrap:wrap;margin-bottom:12px}.lesson-server-state{margin-left:0;flex-basis:100%;font-size:10px}.lesson-tabs [data-slot=tabs-trigger]{font-size:11px;gap:4px}.lesson-body{display:block;padding-top:9px}.lesson-action{margin-top:12px;width:100%;min-height:44px}.lesson-feedback{line-height:1.6}[data-slot=button]{min-height:44px;white-space:normal;height:auto}[data-slot=input],[data-slot=native-select],[data-slot=textarea]{font-size:16px;min-height:44px}.learning-card [data-slot=tabs-trigger]{min-height:32px}.simulation-badge{display:none}h1{font-size:27px}.lesson-boundary [data-slot=accordion-trigger]{min-height:36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Audit follow-up: keep the phone task ahead of the optional walkthrough. */
.walkthrough-disclosure>[data-slot=accordion-item]{border:0}.walkthrough-trigger{padding:0;min-height:30px;align-items:center}.walkthrough-trigger:hover{text-decoration:none}.walkthrough-trigger>.learning-label{flex:1;margin:0;gap:10px}.walkthrough-trigger>svg{margin-left:8px}.walkthrough-disclosure>[data-slot=accordion-item]>[data-slot=accordion-content]>div{padding:14px 0 0}.lesson-tabs [data-slot=tabs-trigger]{color:#52525b}.lesson-tabs [data-slot=tabs-trigger][data-state=active]{color:#18181b}.scenario-nav button{white-space:nowrap}.gs-context .gs-notes{background:transparent;border-radius:0;padding:13px 0 0}.gs-context .gs-notes summary{font-weight:500}.gs-summary button:disabled{background:var(--muted);color:#71717a;border:1px solid var(--border);opacity:1}
@media(max-width:700px){.walkthrough-trigger .lesson-server-state{display:none}.walkthrough-trigger .learning-label{flex-wrap:nowrap}.walkthrough-disclosure>[data-slot=accordion-item]>[data-slot=accordion-content]>div{padding-top:15px}.scenario-nav button{white-space:nowrap}.gs-intro>p:last-child{font-size:12px}.gs-identities{margin-top:15px}}
[data-slot=button]{transition-property:background-color,border-color,box-shadow;transition-duration:120ms}.ps-taxonomy>summary{margin-bottom:0}.ps-taxonomy[open]>summary{margin-bottom:20px}.ps-taxonomy>p{margin:12px 0}
/* The reducer owns these stable shadcn Card DOM surfaces; only their layout differs. */
.gs-main[data-slot=card],.ps-panel[data-slot=card],.ps-case[data-slot=card],.rp-card[data-slot=card],.rp-preview[data-slot=card],.wire-guide[data-slot=card],.wire-guide article[data-slot=card]{display:block;gap:0;box-shadow:none}.gs-summary[data-slot=card]{gap:20px;box-shadow:none}.gs-context[data-slot=card]{gap:0;box-shadow:none}
/* Selected controls must remain legible throughout a state change. */
[data-slot=button][aria-selected],[data-slot=button][aria-pressed],[data-slot=tabs-trigger]{transition:none}
.gs-main input{display:block;margin-bottom:12px}
/* Apps SDK UI Alert, with a scoped token bridge into the single shadcn theme. */
.openai-boundary{--alert-border-radius:8px;--alert-gap:10px;--alert-gutter:13px;--alert-font-size:12px;--alert-line-height:1.65;--alert-title-font-weight:600;--color-border:var(--border);--color-text:var(--foreground);margin-top:8px}
.library-link{font-size:10px;white-space:nowrap;color:var(--muted-foreground);text-decoration:underline}.library-page{max-width:1000px}.library-page h1{margin:30px 0 15px}.library-page h2{margin:30px 0 12px}.library-page p{font-size:13px;color:var(--muted-foreground);margin:12px 0}.library-page a{font-size:12px;text-decoration:underline}.library-table{overflow:auto}.library-table table{min-width:650px}.library-table th{color:var(--foreground)}.library-table td,.library-table th{vertical-align:top}@media(max-width:1100px){.simulation-badge{display:none}}@media(max-width:700px){.product-navigation{position:relative}.library-link{position:absolute;right:16px;top:25px;font-size:10px}.product-brand{padding-right:100px}}
