:where(.pst-app,.pst-dashboard,.pst-auth-tabs,.pst-pricing-grid,.pst-auth-ok,.pst-credit-balance){--pst-bg:#fff;--pst-surface:#f7f7f8;--pst-surface-2:#fbfbfc;--pst-text:#171719;--pst-muted:#6e6e73;--pst-border:rgba(20,20,20,.09);--pst-shadow:0 20px 60px rgba(0,0,0,.08);--pst-success:#1b8f53;--pst-warn:#b56b0b;--pst-danger:#c63c3c}
@media(prefers-color-scheme:dark){:where(.pst-app,.pst-dashboard,.pst-auth-tabs,.pst-pricing-grid,.pst-auth-ok,.pst-credit-balance){--pst-bg:#0d0d0f;--pst-surface:#18181b;--pst-surface-2:#121215;--pst-text:#f5f5f7;--pst-muted:#a1a1a6;--pst-border:rgba(255,255,255,.1);--pst-shadow:0 20px 70px rgba(0,0,0,.45);--pst-success:#5bd38b;--pst-warn:#f0b35b;--pst-danger:#ff7b7b}}
.pst-app,.pst-dashboard,.pst-auth-tabs,.pst-pricing-grid{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:var(--pst-text)}
.pst-shell{max-width:980px;margin:24px auto;padding:clamp(18px,4vw,42px);background:color-mix(in srgb,var(--pst-bg) 96%,transparent);border:1px solid var(--pst-border);border-radius:28px;box-shadow:var(--pst-shadow);backdrop-filter:blur(18px)}
.pst-hero{text-align:center;margin:4px auto 28px;max-width:720px}.pst-eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--pst-accent) 10%,transparent);color:var(--pst-accent);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pst-hero h2{font-size:clamp(30px,5vw,54px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 12px}.pst-hero p{margin:0;color:var(--pst-muted);font-size:16px;line-height:1.55}
.pst-modebar{display:flex;gap:6px;padding:5px;background:var(--pst-surface);border-radius:14px;margin-bottom:14px}.pst-mode{flex:1;border:0;background:transparent;color:var(--pst-muted);border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer}.pst-mode.is-active{background:var(--pst-bg);color:var(--pst-text);box-shadow:0 1px 8px rgba(0,0,0,.08)}
.pst-conversation{display:flex;flex-direction:column;gap:12px;max-height:680px;overflow:auto;margin-bottom:14px;scroll-behavior:smooth}.pst-message{padding:15px 16px;border-radius:18px;border:1px solid var(--pst-border);background:var(--pst-surface);line-height:1.55}.pst-message.is-user{align-self:flex-end;max-width:84%;background:color-mix(in srgb,var(--pst-accent) 10%,var(--pst-bg));border-color:color-mix(in srgb,var(--pst-accent) 20%,var(--pst-border))}.pst-message.is-ai{align-self:stretch;padding:0;background:transparent;border:0}.pst-message-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:var(--pst-muted);margin:0 0 7px 6px}.pst-message-body h4{margin:14px 0 6px}.pst-message-body pre{overflow:auto;background:#111;color:#f8f8f2;padding:12px;border-radius:10px}.pst-feedback{display:flex;gap:4px;margin:7px 4px 0}.pst-feedback button{border:0;background:transparent;color:var(--pst-muted);cursor:pointer;padding:5px 8px;border-radius:8px}.pst-feedback button:hover{background:var(--pst-surface)}

/* Premium structured answer */
.pst-answer-canvas{background:var(--pst-bg);border:1px solid var(--pst-border);border-radius:24px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.055)}
.pst-answer-top{padding:22px 24px 8px;display:flex;justify-content:space-between;align-items:flex-start}.pst-answer-title-wrap{min-width:0}.pst-answer-title{font-size:clamp(22px,3.2vw,32px);letter-spacing:-.025em;line-height:1.15;margin:10px 0 0}.pst-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.pst-chip-accent{color:var(--pst-accent);background:color-mix(in srgb,var(--pst-accent) 10%,transparent)}.pst-chip-neutral{background:var(--pst-surface);color:var(--pst-muted)}
.pst-summary-card{margin:10px 24px 18px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--pst-accent) 8%,var(--pst-bg)),var(--pst-surface-2));border:1px solid color-mix(in srgb,var(--pst-accent) 12%,var(--pst-border))}.pst-summary-card p{margin:0;font-size:16px;line-height:1.55}
.pst-answer-section{padding:20px 24px;border-top:1px solid var(--pst-border)}.pst-section-title{display:flex;align-items:center;gap:9px;margin-bottom:13px}.pst-section-title h4{font-size:16px;margin:0;letter-spacing:-.01em}.pst-section-icon{width:25px;height:25px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--pst-surface);color:var(--pst-muted);font-weight:800;font-size:12px}.pst-answer-section>p{margin:0;color:var(--pst-text);line-height:1.58}
.pst-symbol-table{display:grid;border:1px solid var(--pst-border);border-radius:15px;overflow:hidden}.pst-symbol-row{display:grid;grid-template-columns:minmax(72px,.75fr) 2fr 1fr;align-items:center;gap:12px;padding:11px 14px;background:var(--pst-bg)}.pst-symbol-row+.pst-symbol-row{border-top:1px solid var(--pst-border)}.pst-symbol-symbol{font-weight:800}.pst-symbol-meaning{color:var(--pst-text)}.pst-symbol-unit{color:var(--pst-muted);text-align:right}.pst-symbol-unit .MathJax{font-size:.95em!important}
.pst-equation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pst-equation-card{padding:16px 16px 14px;border:1px solid var(--pst-border);border-radius:16px;background:var(--pst-surface-2);min-width:0}.pst-equation-name{font-size:12px;font-weight:800;color:var(--pst-muted);margin-bottom:5px}.pst-equation-card .pst-math-display{min-height:42px;display:flex;align-items:center;justify-content:center;overflow:auto;font-size:1.05em}.pst-equation-use{display:flex;align-items:flex-start;gap:8px;margin-top:9px;font-size:12px;line-height:1.45;color:var(--pst-muted)}
.pst-principle-grid,.pst-example-grid,.pst-mistake-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.pst-principle-card,.pst-example-card,.pst-mistake-card{border:1px solid var(--pst-border);border-radius:15px;padding:14px;background:var(--pst-surface-2)}.pst-principle-card p,.pst-example-card p,.pst-mistake-card p{margin:5px 0 0;color:var(--pst-muted);font-size:13px;line-height:1.52}.pst-mistake-card{border-color:color-mix(in srgb,var(--pst-warn) 24%,var(--pst-border));background:color-mix(in srgb,var(--pst-warn) 5%,var(--pst-bg))}
.pst-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.pst-mini-card{padding:14px;border:1px solid var(--pst-border);border-radius:15px;background:var(--pst-surface-2)}.pst-mini-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--pst-muted);margin-bottom:8px}.pst-quantity-line{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:6px 0}.pst-quantity-line small{color:var(--pst-muted)}.pst-equals{color:var(--pst-muted)}.pst-compact-list{padding-left:18px;margin:0}.pst-compact-list li{margin:5px 0}
.pst-step-list{display:flex;flex-direction:column;gap:9px}.pst-step-card{border:1px solid var(--pst-border);border-radius:16px;padding:14px 15px;background:var(--pst-bg)}.pst-step-head{display:flex;align-items:center;gap:10px}.pst-step-number{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--pst-surface);font-size:11px;font-weight:850;color:var(--pst-muted)}.pst-step-number.is-pass{background:color-mix(in srgb,var(--pst-success) 12%,transparent);color:var(--pst-success)}.pst-step-number.is-warn{background:color-mix(in srgb,var(--pst-warn) 14%,transparent);color:var(--pst-warn)}.pst-step-work{margin-top:8px}.pst-step-comment{margin:6px 0 0!important;color:var(--pst-muted);font-size:13px}.pst-step-equation{margin:10px 0 4px}
.pst-math-display{overflow-x:auto;overflow-y:hidden;padding:3px 0}.pst-result-card{border-radius:17px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--pst-accent) 12%,var(--pst-bg)),color-mix(in srgb,var(--pst-success) 8%,var(--pst-bg)));border:1px solid color-mix(in srgb,var(--pst-accent) 20%,var(--pst-border));text-align:center;font-size:1.18em;font-weight:700}
.pst-check-grid{display:flex;flex-wrap:wrap;gap:8px}.pst-check-card{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:12px;border:1px solid var(--pst-border);font-size:12px}.pst-check-card.is-passed{color:var(--pst-success);background:color-mix(in srgb,var(--pst-success) 7%,transparent)}.pst-check-card.is-failed{color:var(--pst-danger);background:color-mix(in srgb,var(--pst-danger) 7%,transparent)}.pst-check-icon{font-weight:900}
.pst-practice-card{border:1px solid color-mix(in srgb,var(--pst-accent) 18%,var(--pst-border));border-radius:17px;padding:16px;background:color-mix(in srgb,var(--pst-accent) 4%,var(--pst-bg))}.pst-practice-question{font-weight:650;margin:0 0 12px}.pst-practice-actions{display:flex;gap:7px;flex-wrap:wrap}.pst-reveal-button,.pst-visual-play{border:1px solid var(--pst-border);background:var(--pst-bg);color:var(--pst-text);border-radius:999px;padding:8px 12px;font-weight:750;cursor:pointer}.pst-reveal-content{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--pst-surface);font-size:13px}.pst-reveal-content[hidden]{display:none}
.pst-followups{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:15px 24px 22px;border-top:1px solid var(--pst-border)}.pst-followup-label{font-size:11px;font-weight:800;color:var(--pst-muted);margin-right:2px}.pst-followup-chip{border:1px solid var(--pst-border);background:var(--pst-bg);color:var(--pst-text);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700;cursor:pointer}.pst-followup-chip:hover{border-color:color-mix(in srgb,var(--pst-accent) 35%,var(--pst-border));color:var(--pst-accent)}
.pst-clarification-card{margin:14px 24px 24px;padding:15px;border-radius:15px;background:color-mix(in srgb,var(--pst-warn) 7%,var(--pst-bg));border:1px solid color-mix(in srgb,var(--pst-warn) 25%,var(--pst-border))}.pst-clarification-card p{margin:5px 0 0}

/* Lightweight visual learning blocks */
.pst-concept-map{display:grid;grid-template-columns:minmax(130px,.8fr) 2fr;gap:16px;align-items:center}.pst-map-center{display:flex;align-items:center;justify-content:center;min-height:105px;padding:14px;text-align:center;border-radius:20px;background:linear-gradient(135deg,var(--pst-accent),color-mix(in srgb,var(--pst-accent) 68%,#8a6dff));color:white;font-weight:800;box-shadow:0 10px 25px color-mix(in srgb,var(--pst-accent) 18%,transparent)}.pst-map-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pst-map-node{padding:11px;border-radius:13px;background:var(--pst-surface);border:1px solid var(--pst-border);font-size:12px;font-weight:700}.pst-visual-caption{color:var(--pst-muted);font-size:12px;margin:10px 0 0!important}
.pst-kinematics-visual{border:1px solid var(--pst-border);border-radius:18px;padding:15px;background:var(--pst-surface-2)}.pst-motion-readout{font:650 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--pst-muted);margin-bottom:10px}.pst-motion-track{height:44px;border-radius:999px;background:linear-gradient(180deg,var(--pst-surface),color-mix(in srgb,var(--pst-surface) 76%,var(--pst-bg)));border:1px solid var(--pst-border);position:relative;overflow:hidden}.pst-motion-track:after{content:"";position:absolute;left:4%;right:4%;bottom:9px;height:2px;background:var(--pst-border)}.pst-motion-body{position:absolute;z-index:2;top:8px;transform:translateX(-50%);font-size:18px;color:var(--pst-accent);transition:left .08s linear}.pst-motion-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.pst-slider{padding:9px;border:1px solid var(--pst-border);border-radius:13px;background:var(--pst-bg)}.pst-slider-label{display:flex;justify-content:space-between;gap:6px;color:var(--pst-muted);font-size:10px}.pst-slider input{width:100%;accent-color:var(--pst-accent);margin-top:7px}.pst-motion-graph{width:100%;height:auto;display:block;margin-top:8px;border-radius:13px;background:var(--pst-bg);border:1px solid var(--pst-border)}.pst-axis{stroke:var(--pst-muted);stroke-width:1;opacity:.45}.pst-vline{stroke:var(--pst-accent);stroke-width:3;stroke-linecap:round}.pst-svg-label{fill:var(--pst-muted);font-size:10px}.pst-visual-play{margin-top:9px;color:var(--pst-accent)}

.pst-composer{border:1px solid var(--pst-border);border-radius:20px;background:var(--pst-bg);padding:14px;box-shadow:0 8px 30px rgba(0,0,0,.05)}.pst-composer textarea{width:100%;resize:vertical;min-height:112px;border:0!important;box-shadow:none!important;background:transparent;color:var(--pst-text);font:inherit;font-size:16px;line-height:1.5;padding:4px;outline:0}.pst-composer-actions{display:flex;align-items:center;gap:9px;margin-top:8px}.pst-upload input{display:none}.pst-upload span,.pst-secondary,.pst-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;transition:.18s ease;text-decoration:none}.pst-upload span,.pst-secondary{border:1px solid var(--pst-border);background:var(--pst-surface);color:var(--pst-text)}.pst-primary{border:1px solid var(--pst-accent);background:var(--pst-accent);color:white;margin-left:auto}.pst-primary:hover{transform:translateY(-1px);filter:brightness(.97)}.pst-primary:disabled{opacity:.55;cursor:wait}.pst-balance{font-size:12px;color:var(--pst-muted)}.pst-file-preview{display:flex;gap:7px;flex-wrap:wrap}.pst-file-chip{font-size:12px;padding:6px 9px;border:1px solid var(--pst-border);background:var(--pst-surface);border-radius:999px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pst-trust{text-align:center;color:var(--pst-muted);font-size:12px;margin-top:16px}.pst-auth-inline{margin-top:16px;padding:16px;border-radius:16px;background:var(--pst-surface)}
.pst-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pst-auth-grid form{border:1px solid var(--pst-border);border-radius:18px;padding:18px;background:var(--pst-bg)}.pst-auth-grid h2{font-size:22px;line-height:1.2;letter-spacing:-.02em;margin:0 0 14px;color:var(--pst-text)}.pst-auth-grid label,.pst-profile-form label{display:block;font-size:13px;font-weight:650;margin:10px 0}.pst-auth-grid input,.pst-auth-grid select,.pst-profile-form input,.pst-profile-form select{width:100%;margin-top:5px;padding:11px;border:1px solid var(--pst-border);border-radius:11px;background:var(--pst-surface);color:var(--pst-text)}.pst-auth-grid input:focus,.pst-auth-grid select:focus,.pst-profile-form input:focus,.pst-profile-form select:focus{outline:2px solid color-mix(in srgb,var(--pst-accent) 38%,transparent);outline-offset:1px;border-color:var(--pst-accent)}.pst-auth-message,.pst-profile-message{font-size:12px;color:var(--pst-muted);margin-top:8px}
.pst-verification-notice{display:flex;align-items:flex-start;gap:10px;margin:0 auto 18px;padding:14px 16px;max-width:920px;border:1px solid #9ed9bc;border-radius:14px;background:#eefbf4;color:#155f3b;box-shadow:0 10px 28px rgba(21,95,59,.08)}.pst-verification-notice strong{white-space:nowrap}.pst-verification-notice.is-error{border-color:#efb5b5;background:#fff4f4;color:#8a2727}
.pst-dashboard{max-width:980px;margin:auto}.pst-dashboard h2{color:var(--pst-text)}.pst-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}.pst-dashboard-head h2{font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.035em;margin:0 0 8px}.pst-dashboard-head p{margin:0;color:var(--pst-muted)}.pst-account-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pst-account-actions .pst-primary{margin-left:0}.pst-profile-notice{border:1px solid color-mix(in srgb,var(--pst-accent) 28%,var(--pst-border));background:color-mix(in srgb,var(--pst-accent) 7%,var(--pst-bg));border-radius:14px;padding:13px 15px;margin:0 0 14px}.pst-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.pst-usage-card{border:1px solid var(--pst-border);border-radius:16px;padding:15px;background:var(--pst-surface-2)}.pst-usage-card span{display:block;color:var(--pst-muted);font-size:12px;margin-bottom:8px}.pst-usage-card strong{font-size:24px;line-height:1;color:var(--pst-text)}.pst-account-card,.pst-conversation-row{border:1px solid var(--pst-border);border-radius:18px;padding:18px;margin:12px 0;background:var(--pst-bg)}.pst-subscription-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--pst-accent) 7%,var(--pst-bg)),var(--pst-bg))}.pst-account-card h2{font-size:24px;line-height:1.15;margin:3px 0 0}.pst-account-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--pst-accent)}.pst-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.pst-section-heading>span{font-size:12px;color:var(--pst-muted)}.pst-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;margin-top:12px}.pst-profile-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:6px}.pst-conversation-row{display:flex;justify-content:space-between;align-items:center}.pst-conversation-row small{display:block;color:var(--pst-muted);margin-top:5px}.pst-delete-conversation{border:0;background:transparent;color:#b42318;cursor:pointer;border-radius:8px;padding:7px 9px}.pst-delete-conversation:hover{background:#fff1f0}.pst-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.pst-price-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--pst-border);border-radius:22px;padding:26px;background:var(--pst-bg);box-shadow:0 12px 34px rgba(18,31,53,.055)}.pst-price-card.is-featured{border-color:var(--pst-accent);box-shadow:0 18px 48px color-mix(in srgb,var(--pst-accent) 16%,transparent)}.pst-price-card h2{font-size:20px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin:0 0 8px!important;color:var(--pst-text)!important}.pst-price-card .pst-price-value{font-size:clamp(30px,3vw,40px);line-height:1.05;font-weight:800;letter-spacing:-.035em;color:var(--pst-text);min-height:0;margin:5px 0 12px}.pst-price-card>p:not(.pst-price-value){color:var(--pst-muted);min-height:50px}.pst-price-card ul{padding-left:19px;margin:10px 0 24px;color:var(--pst-text);font-size:14px;line-height:1.55}.pst-price-card li+li{margin-top:7px}.pst-price-card .pst-primary,.pst-price-card .pst-secondary{margin-top:auto;align-self:flex-start;opacity:1!important;visibility:visible!important}.pst-plan-badge{display:inline-flex;align-self:flex-start;margin:-8px 0 13px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--pst-accent) 11%,transparent);color:var(--pst-accent);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.pst-primary,.pst-primary:visited{background:var(--pst-accent)!important;border-color:var(--pst-accent)!important;color:#fff!important}.pst-primary:hover,.pst-primary:focus{background:color-mix(in srgb,var(--pst-accent) 88%,#000)!important;border-color:color-mix(in srgb,var(--pst-accent) 88%,#000)!important;color:#fff!important}.pst-secondary,.pst-secondary:visited{background:var(--pst-surface)!important;border-color:var(--pst-border)!important;color:var(--pst-text)!important}.pst-secondary:hover,.pst-secondary:focus{background:color-mix(in srgb,var(--pst-accent) 8%,var(--pst-bg))!important;border-color:color-mix(in srgb,var(--pst-accent) 35%,var(--pst-border))!important;color:var(--pst-accent)!important}.pst-primary:disabled,.pst-secondary:disabled{opacity:.58!important;cursor:wait}
.pst-dots{display:inline-flex;gap:5px}.pst-dots span{width:7px;height:7px;background:var(--pst-muted);border-radius:50%;animation:pstdot 1s infinite alternate}.pst-dots span:nth-child(2){animation-delay:.15s}.pst-dots span:nth-child(3){animation-delay:.3s}@keyframes pstdot{to{opacity:.2;transform:translateY(-2px)}}.pst-progress-text{display:inline-block;margin-left:9px;color:var(--pst-muted);font-size:13px}
@media(max-width:760px){.pst-shell{border-radius:20px;padding:16px;margin:10px 0}.pst-modebar{overflow:auto}.pst-mode{white-space:nowrap;min-width:86px}.pst-composer-actions{flex-wrap:wrap}.pst-primary{width:100%;margin-left:0}.pst-balance{margin-left:auto}.pst-auth-grid,.pst-pricing-grid,.pst-equation-grid,.pst-profile-form{grid-template-columns:1fr}.pst-dashboard-head,.pst-subscription-card,.pst-section-heading{align-items:flex-start;flex-direction:column}.pst-account-actions{width:100%}.pst-account-actions .pst-primary,.pst-account-actions .pst-secondary,.pst-account-actions button{width:100%}.pst-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pst-profile-actions{grid-column:auto;align-items:flex-start;flex-direction:column}.pst-message.is-user{max-width:94%}.pst-answer-top{padding:18px 17px 7px}.pst-summary-card{margin:8px 17px 15px}.pst-answer-section{padding:17px}.pst-followups{padding:13px 17px 18px}.pst-symbol-row{grid-template-columns:65px 1fr}.pst-symbol-unit{grid-column:2;text-align:left}.pst-concept-map{grid-template-columns:1fr}.pst-map-center{min-height:auto}.pst-motion-controls{grid-template-columns:1fr}}

/* v0.1.3 deterministic Physics visualization engine */
.pst-physics-visual{border:1px solid var(--pst-border);border-radius:18px;padding:15px;background:linear-gradient(180deg,var(--pst-surface-2),color-mix(in srgb,var(--pst-accent) 2.5%,var(--pst-bg)));overflow:hidden}
.pst-visual-svg{width:100%;height:auto;display:block;border-radius:14px;background:var(--pst-bg);border:1px solid var(--pst-border);margin-top:8px}
.pst-trajectory,.pst-wave-path,.pst-pv-path{fill:none;stroke:var(--pst-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pst-projectile-body,.pst-pv-point{fill:var(--pst-accent)}
.pst-vector-main{stroke:var(--pst-accent);stroke-width:3;stroke-linecap:round}
.pst-vector-component{stroke:color-mix(in srgb,var(--pst-accent) 60%,#45E0D0);stroke-width:2.2;stroke-linecap:round}
.pst-vector-gravity{stroke:var(--pst-warn);stroke-width:3;stroke-linecap:round}
.pst-dashed{stroke-dasharray:6 5}
.pst-angle-arc{fill:none;stroke:color-mix(in srgb,var(--pst-accent) 68%,#8B7CFF);stroke-width:2}
.pst-plane,.pst-rope{stroke:var(--pst-muted);stroke-width:3;stroke-linecap:round}
.pst-block{fill:color-mix(in srgb,var(--pst-accent) 15%,var(--pst-surface));stroke:var(--pst-accent);stroke-width:1.5}
.pst-time-control{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:10px;align-items:center;margin-top:10px}.pst-time-control input[type=range]{width:100%;accent-color:var(--pst-accent)}.pst-time-label{font-size:11px;color:var(--pst-muted);font-weight:750}
.pst-spring{fill:none;stroke:color-mix(in srgb,var(--pst-accent) 65%,#8B7CFF);stroke-width:2.5;stroke-linejoin:round}
.pst-field-vector{stroke:color-mix(in srgb,var(--pst-accent) 65%,#45E0D0);stroke-width:1.8;stroke-linecap:round;opacity:.85}
.pst-charge-positive{fill:var(--pst-accent)}.pst-charge-negative{fill:var(--pst-danger)}.pst-charge-label{fill:#fff;font-size:14px;font-weight:800}.pst-pv-point{stroke:var(--pst-bg);stroke-width:2}
.pst-answer-section>.pst-chip{margin:-5px 0 10px}
@media(max-width:760px){.pst-time-control{grid-template-columns:1fr}.pst-physics-visual{padding:10px}.pst-visual-svg{min-width:0}}
@media(prefers-reduced-motion:reduce){.pst-motion-body{transition:none}.pst-visual-play{display:none!important}}

/* v0.1.4: keep deterministic visuals visible even when a provider response falls back to plain text. */
.pst-answer-fallback>.pst-plain-answer{padding:18px 18px 4px;line-height:1.65;color:var(--pst-text)}
.pst-answer-fallback>.pst-plain-answer h4{margin:14px 0 7px;font-size:16px}
.pst-answer-fallback>.pst-plain-answer pre{overflow:auto;padding:12px;border-radius:12px;background:var(--pst-surface);border:1px solid var(--pst-border)}

/* v0.2.0 — richer Physics notes, math, visuals, and composer UX */
.pst-message-tools{display:flex;justify-content:flex-end;gap:7px;margin:7px 4px 0;flex-wrap:wrap}
.pst-note-action{border:1px solid var(--pst-border);background:var(--pst-bg);color:var(--pst-muted);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750;cursor:pointer;transition:.16s ease}
.pst-note-action:hover{color:var(--pst-accent);border-color:color-mix(in srgb,var(--pst-accent) 32%,var(--pst-border));background:color-mix(in srgb,var(--pst-accent) 4%,var(--pst-bg))}
.pst-print-frame{position:fixed!important;width:1px!important;height:1px!important;right:0!important;bottom:0!important;border:0!important;opacity:.001!important;pointer-events:none!important}
.pst-result-text{font-size:1.02em;line-height:1.6;font-weight:700}.pst-result-text mjx-container{font-weight:400!important}
.pst-step-work,.pst-step-comment,.pst-principle-card p,.pst-example-card p,.pst-mistake-card p,.pst-practice-card,.pst-summary-card{overflow-wrap:anywhere}
.pst-step-work mjx-container,.pst-reveal-content mjx-container,.pst-example-card mjx-container,.pst-principle-card mjx-container,.pst-mistake-card mjx-container{margin:0 .08em!important}
.pst-math mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}
.pst-check-text{display:flex;flex-direction:column;gap:2px}.pst-check-text strong{font-size:12px}.pst-check-text small{font-size:10px;opacity:.78;font-weight:500}

.pst-starters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:4px 2px 11px;text-align:center}.pst-starters[hidden]{display:none}.pst-starter-chip{border:1px solid var(--pst-border);background:var(--pst-surface-2);color:var(--pst-muted);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer}.pst-starter-chip:hover{color:var(--pst-accent);border-color:color-mix(in srgb,var(--pst-accent) 30%,var(--pst-border));background:color-mix(in srgb,var(--pst-accent) 5%,var(--pst-bg))}
.pst-composer{position:sticky;bottom:10px;z-index:12;padding:12px 13px;border-radius:18px;box-shadow:0 12px 38px rgba(0,0,0,.08);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--pst-bg) 96%,transparent)}
.pst-composer textarea{min-height:70px;max-height:176px;resize:none;font-size:15px;line-height:1.48;padding:5px 4px}
.pst-composer-help{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--pst-muted);font-size:10px;margin-top:5px;padding:0 2px}
.pst-composer-actions{margin-top:7px}.pst-upload span,.pst-secondary,.pst-primary{padding:9px 14px;font-size:13px}.pst-primary{box-shadow:0 5px 16px color-mix(in srgb,var(--pst-accent) 22%,transparent)}

.pst-physics-visual{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--pst-accent) 2.5%,var(--pst-surface-2)),var(--pst-bg));box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.pst-visual-svg{background-image:linear-gradient(to right,color-mix(in srgb,var(--pst-muted) 7%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--pst-muted) 7%,transparent) 1px,transparent 1px);background-size:28px 28px}
.pst-arrow-head{fill:var(--pst-accent)}
.pst-orbit{fill:none;stroke:color-mix(in srgb,var(--pst-accent) 38%,var(--pst-muted));stroke-width:2;stroke-dasharray:6 5}.pst-center-dot{fill:var(--pst-muted)}
.pst-node-point{fill:var(--pst-accent);stroke:var(--pst-bg);stroke-width:2}
.pst-energy-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;padding:8px 14px 2px}.pst-energy-col{display:grid;gap:6px;justify-items:center;text-align:center}.pst-energy-well{height:165px;width:min(90px,80%);display:flex;align-items:flex-end;border:1px solid var(--pst-border);border-radius:14px 14px 8px 8px;padding:5px;background:var(--pst-bg);overflow:hidden}.pst-energy-fill{width:100%;min-height:2px;border-radius:9px 9px 4px 4px;transition:height .25s ease}.pst-energy-fill.is-kinetic{background:linear-gradient(180deg,var(--pst-accent),color-mix(in srgb,var(--pst-accent) 65%,#45E0D0))}.pst-energy-fill.is-potential{background:linear-gradient(180deg,#8B7CFF,color-mix(in srgb,#8B7CFF 62%,#45E0D0))}.pst-energy-fill.is-total{background:linear-gradient(180deg,var(--pst-success),color-mix(in srgb,var(--pst-success) 62%,#45E0D0))}.pst-energy-col strong{font-size:12px}.pst-energy-col small{font-size:10px;color:var(--pst-muted)}
.pst-lens-line{stroke:var(--pst-accent);stroke-width:4;stroke-linecap:round}.pst-focus-dot{fill:#8B7CFF}.pst-object-arrow{stroke:var(--pst-text);stroke-width:3}.pst-image-arrow{stroke:var(--pst-success);stroke-width:3}.pst-ray{fill:none;stroke:var(--pst-accent);stroke-width:2.1}.pst-ray-secondary{stroke:#8B7CFF;stroke-dasharray:6 5}
.pst-wire{fill:none;stroke:var(--pst-text);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.pst-battery-long{stroke:var(--pst-accent);stroke-width:4}.pst-battery-short{stroke:var(--pst-accent);stroke-width:2.5}.pst-resistor{fill:none;stroke:var(--pst-warn);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.pst-current-arrow{stroke:var(--pst-accent);stroke-width:3;stroke-linecap:round}
.pst-field-symbol{fill:var(--pst-muted);font-size:18px;font-weight:700;opacity:.68}.pst-field-dot{fill:none;stroke:var(--pst-muted);stroke-width:1.5;opacity:.7}.pst-field-dot-center{fill:var(--pst-muted);opacity:.7}

@media(max-width:760px){.pst-composer{bottom:6px}.pst-composer-help{display:none}.pst-starters{justify-content:center;overflow:visible;flex-wrap:wrap;padding-bottom:2px}.pst-starter-chip{white-space:nowrap}.pst-energy-bars{gap:9px;padding-inline:4px}.pst-energy-well{height:125px;width:76px}.pst-message-tools{justify-content:flex-start}}
@media print{.pst-note-action,.pst-feedback,.pst-followups{display:none!important}}
.pst-wavelength-line,.pst-wavelength-tick{stroke:#8B7CFF;stroke-width:1.6}.pst-wavelength-line{stroke-dasharray:5 4}

/* v1.1.6 — centered conversation states and focused guest conversion */
.pst-conversation{align-items:center}
.pst-message.is-user{align-self:center;max-width:min(680px,92%);text-align:center;padding:14px 22px}
.pst-message.is-ai:not(.pst-loading){align-self:stretch;width:100%}
.pst-loading{align-self:center!important;width:min(460px,92%);display:grid;justify-items:center;gap:7px;padding:22px 28px!important;text-align:center;background:transparent!important;border:0!important}
.pst-loading .pst-message-label{margin:0;color:var(--pst-text);font-size:11px}
.pst-loading-orbit{position:relative;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--pst-accent) 24%,var(--pst-border));border-radius:50%;animation:pstspin 2.6s linear infinite}
.pst-loading-orbit:before{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,#8B7CFF 32%,var(--pst-border));border-radius:50%}
.pst-loading-orbit span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--pst-accent);box-shadow:0 0 14px color-mix(in srgb,var(--pst-accent) 55%,transparent)}
.pst-loading-orbit span:nth-child(1){left:17px;top:-4px}.pst-loading-orbit span:nth-child(2){right:-3px;bottom:8px;background:#8B7CFF}.pst-loading-orbit span:nth-child(3){left:-2px;bottom:7px;background:#45c8d8}
.pst-progress-text{display:block;margin:0;min-height:1.5em;color:var(--pst-muted);font-size:14px;transition:opacity .2s ease}
@keyframes pstspin{to{transform:rotate(360deg)}}
.pst-signup-prompt{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:14px;margin:18px auto 0;padding:18px 20px;max-width:860px;border:1px solid color-mix(in srgb,var(--pst-accent) 25%,var(--pst-border));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--pst-accent) 7%,var(--pst-bg)),var(--pst-bg));box-shadow:0 16px 38px rgba(13,39,72,.09);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}
.pst-signup-prompt[hidden]{display:none}.pst-signup-prompt.is-visible{opacity:1;transform:none}.pst-signup-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--pst-accent);color:#fff;font-size:20px}.pst-signup-prompt strong,.pst-signup-prompt span{display:block}.pst-signup-prompt strong{font-size:16px;color:var(--pst-text)}.pst-signup-prompt div>span{margin-top:4px;color:var(--pst-muted);font-size:13px}.pst-signup-prompt .pst-primary{margin:0;white-space:nowrap}.pst-signin-link{grid-column:2/-1;color:var(--pst-muted);font-size:12px;text-decoration:none}.pst-signin-link:hover{color:var(--pst-accent)}
@media(max-width:700px){.pst-signup-prompt{grid-template-columns:auto 1fr}.pst-signup-prompt .pst-primary{grid-column:1/-1;width:100%}.pst-signin-link{grid-column:1/-1;text-align:center}.pst-message.is-user{max-width:96%}}
@media(prefers-reduced-motion:reduce){.pst-loading-orbit{animation:none}.pst-signup-prompt{transition:none}}

/* v1.0.0 — production math/visual polish and compact composer */
.pst-math{max-width:100%}.pst-math mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}.pst-math-inline{display:inline-flex;align-items:baseline;vertical-align:baseline;max-width:100%}.pst-math-inline mjx-container{display:inline-block!important;margin:0 .05em!important}.pst-math-display mjx-container{margin:.2em auto!important}.pst-math-fallback{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--pst-text);overflow-wrap:anywhere}
.pst-symbol-symbol .pst-math-inline{font-weight:800}.pst-symbol-unit .pst-math-inline{font-size:.95em}.pst-compact-list .pst-math-inline,.pst-principle-card .pst-math-inline,.pst-example-card .pst-math-inline,.pst-mistake-card .pst-math-inline,.pst-practice-card .pst-math-inline{white-space:normal}
.pst-composer-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 6px}.pst-composer-title{font-size:11px;font-weight:850;color:var(--pst-muted);letter-spacing:.02em}.pst-clear-chat{border:0;background:transparent;color:var(--pst-muted);font-size:11px;font-weight:750;cursor:pointer;padding:4px 6px;border-radius:8px}.pst-clear-chat:hover{background:var(--pst-surface);color:var(--pst-text)}
.pst-composer textarea{min-height:56px;max-height:142px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:4px 3px!important}.pst-composer textarea:focus{outline:0!important;box-shadow:none!important}.pst-composer{border:1px solid var(--pst-border)}
.pst-collision-body{stroke-width:1.5}.pst-collision-body.is-one{fill:color-mix(in srgb,var(--pst-accent) 18%,var(--pst-bg));stroke:var(--pst-accent)}.pst-collision-body.is-two{fill:color-mix(in srgb,#8B7CFF 18%,var(--pst-bg));stroke:#8B7CFF}
.pst-rotation-wheel{fill:color-mix(in srgb,var(--pst-accent) 4%,var(--pst-bg));stroke:var(--pst-accent);stroke-width:2.2}.pst-rotation-spoke{stroke:color-mix(in srgb,var(--pst-accent) 42%,var(--pst-muted));stroke-width:1.6}
.pst-medium-two{fill:color-mix(in srgb,var(--pst-accent) 7%,var(--pst-bg));stroke:none}.pst-interface{stroke:var(--pst-text);stroke-width:2}.pst-normal{stroke:var(--pst-muted);stroke-width:1.5}.pst-time-constant{stroke:#8B7CFF;stroke-width:1.7}
.pst-plain-answer p{margin:0 0 10px;line-height:1.65}.pst-plain-answer p:last-child{margin-bottom:0}
@media(max-width:760px){.pst-composer{padding:10px 11px}.pst-composer-topline{margin-bottom:4px}.pst-clear-chat{font-size:10px}.pst-answer-canvas{border-radius:18px}.pst-equation-card{padding:14px}.pst-symbol-row{padding:10px 12px}}

/* v1.0.0 compact notation + resilient quantity presentation */
.pst-symbol-disclosure{margin:18px 0;border:1px solid var(--pst-border,#e5e7eb);border-radius:16px;background:#fbfcfe;overflow:hidden}
.pst-symbol-summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:750;color:#24334a;display:flex;align-items:center;gap:8px}
.pst-symbol-summary::-webkit-details-marker{display:none}
.pst-symbol-summary:before{content:'›';font-size:20px;line-height:1;transition:transform .16s ease;color:#6b7b91}
.pst-symbol-disclosure[open] .pst-symbol-summary:before{transform:rotate(90deg)}
.pst-symbol-disclosure .pst-symbol-table{border:0;border-top:1px solid var(--pst-border,#e5e7eb);border-radius:0;margin:0}
.pst-quantity-unit{color:#64748b;font-size:.92em;margin-left:5px;white-space:nowrap}
.pst-math mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.pst-math-display mjx-container{margin:.35em 0!important}
.pst-equation-card .pst-math-display{min-height:34px;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.pst-symbol-summary{padding:12px 14px}.pst-symbol-row{grid-template-columns:minmax(70px,.75fr) 1.7fr minmax(60px,.7fr)}.pst-quantity-unit{white-space:normal}}
