/* ToolHub semantic experience layer for tools 112-350. */
body[data-experience] #expansion-app.exp-experience{display:block!important;grid-template-columns:none!important;width:100%;max-width:100%}
.exp-xp{--xp-bg:rgba(7,14,27,.94);--xp-panel:rgba(16,27,45,.9);--xp-line:rgba(var(--tool-accent-rgb),.2);position:relative;width:100%;min-width:0;border:1px solid var(--xp-line);border-radius:1.15rem;background:var(--xp-bg);box-shadow:0 28px 80px -44px rgba(0,0,0,.95);overflow:hidden;color:#dce7f4}
.exp-xp:focus-within{border-color:rgba(var(--tool-accent-rgb),.38)}
.exp-xp h2{margin:0 0 .85rem;color:#f1f5f9;font-size:.92rem;font-weight:800;letter-spacing:.025em}
.exp-xp small,.exp-xp-top span{font:700 .61rem/1.2 "Fira Code",monospace;letter-spacing:.12em;color:var(--tool-accent)}
.exp-xp-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.6rem;padding:.65rem .85rem;border-bottom:1px solid var(--xp-line);background:rgba(5,11,22,.78)}
.exp-xp-top>div:first-child{display:flex;align-items:center;gap:.55rem}.exp-xp-top>div:first-child svg{width:1rem;height:1rem;color:var(--tool-accent)}
.exp-xp .exp-output-tools{margin-left:auto}.exp-xp .exp-output-tools .btn{min-height:34px;padding:.4rem .65rem;font-size:.72rem}
.exp-xp .exp-xp-fields{gap:.68rem}.exp-xp .field label{font-size:.7rem;letter-spacing:.025em}.exp-xp .textarea{min-height:8.5rem}
.exp-xp .exp-xp-actions{margin-top:.85rem}.exp-xp .exp-privacy{margin-top:.75rem;font-size:.72rem}
.exp-xp .code{min-height:9rem;margin-top:.7rem;border-color:rgba(var(--tool-accent-rgb),.16);background:rgba(2,8,17,.8)}
.exp-xp .preview:not(.hidden){min-height:12rem;margin:.75rem 0;display:grid;place-items:center}.exp-xp .preview:not(.hidden)>*{min-width:0;max-width:100%}.exp-xp .preview:not(.hidden)>div[style*="overflow"]{width:100%}
.exp-xp .metric-grid:not(.hidden){margin:.75rem 0}.exp-xp .status{margin-top:.7rem}
.exp-xp-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}

/* Oscilloscope: encoders, Unicode and signal conversions. */
.exp-xp-scope{border-radius:.4rem;background:#030a12;font-family:"Fira Code",monospace}
.exp-scope-display{position:relative;min-height:13rem;padding:1.2rem;display:grid;place-items:center;border-bottom:1px solid rgba(var(--tool-accent-rgb),.25);background:linear-gradient(rgba(var(--tool-accent-rgb),.06) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--tool-accent-rgb),.06) 1px,transparent 1px),radial-gradient(circle at center,rgba(var(--tool-accent-rgb),.08),transparent 62%);background-size:24px 24px,24px 24px,auto;overflow:hidden}
.exp-wave{position:absolute;inset:50% 5% auto;display:flex;align-items:center;height:3rem;transform:translateY(-50%)}.exp-wave i{height:2px;flex:1;background:var(--tool-accent);box-shadow:0 0 10px var(--tool-accent);transform:skewY(var(--wave,18deg))}.exp-wave i:nth-child(2n){--wave:-32deg}.exp-wave i:nth-child(3n){--wave:46deg}
.exp-scope-display .exp-signature{width:min(27rem,78%);opacity:.42}.exp-scope-console{display:grid;grid-template-columns:1fr 1fr}.exp-scope-console>section{min-width:0;padding:1rem}.exp-scope-console>section+section{border-left:1px solid var(--xp-line)}
.exp-xp-scope .input,.exp-xp-scope .select,.exp-xp-scope .textarea{border-radius:.15rem;background:#07111b}.exp-xp-scope .code{color:#67e8f9;border-radius:.15rem}

/* Exchange: direct source-to-target converters. */
.exp-xp-exchange{border-radius:2rem;background:linear-gradient(135deg,rgba(var(--tool-accent-rgb),.07),rgba(7,14,27,.95) 40%,rgba(var(--tool-secondary-rgb),.06))}
.exp-exchange-grid{display:grid;grid-template-columns:minmax(0,1fr) 7rem minmax(0,1fr);align-items:stretch}.exp-exchange-grid>section{padding:1.15rem;min-width:0}.exp-exchange-grid>section:last-child{background:rgba(var(--tool-secondary-rgb),.035)}
.exp-exchange-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;border-inline:1px dashed rgba(var(--tool-accent-rgb),.28);background:rgba(var(--tool-accent-rgb),.035)}.exp-exchange-core>svg{width:2rem;color:var(--tool-accent)}.exp-exchange-core>span{font:700 .55rem "Fira Code",monospace;color:#64748b}.exp-exchange-core .btn{width:5.5rem;padding:.45rem}
.exp-xp-exchange .textarea{min-height:13rem}.exp-xp-exchange .code{min-height:13rem}

/* Timeline: subtitles, chapters and media interchange. */
.exp-xp-timeline{border-radius:.65rem;background:#0a1020}
.exp-time-ruler{height:2.6rem;display:grid;grid-template-columns:repeat(12,1fr);padding-inline:1rem;border-bottom:1px solid #27344b;background:#111a2c;overflow:hidden}.exp-time-ruler i{position:relative;border-left:1px solid #3a4961}.exp-time-ruler span{position:absolute;left:.25rem;bottom:.35rem;font:500 .52rem "Fira Code",monospace;color:#72829a;white-space:nowrap}
.exp-time-track{position:relative;height:4rem;margin:.8rem 1rem;border-radius:.3rem;background:linear-gradient(90deg,rgba(var(--tool-accent-rgb),.24) 0 35%,transparent 35% 38%,rgba(var(--tool-secondary-rgb),.24) 38% 72%,transparent 72% 75%,rgba(var(--tool-accent-rgb),.16) 75%);overflow:hidden}.exp-time-track:before{content:"A1 · MEDIA TIMELINE";position:absolute;left:.6rem;top:.45rem;font:700 .55rem "Fira Code",monospace;color:#d5e2ef}.exp-time-track i{position:absolute;left:58%;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 12px var(--tool-accent)}
.exp-time-work{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.exp-time-work>section{padding:1rem;min-width:0}.exp-time-work>section+section{border-left:1px solid #27344b}.exp-xp-timeline .textarea{min-height:14rem}

/* Document: long-form text tools. */
.exp-xp-document{border-radius:.2rem;background:linear-gradient(90deg,#111827 0 2.8rem,#172033 2.8rem)}
.exp-document-bar{height:2.7rem;display:flex;align-items:center;gap:.35rem;padding:.6rem .85rem;border-bottom:1px solid #334155;background:#0b1220}.exp-document-bar>span{width:.58rem;height:.58rem;border-radius:50%;background:#fb7185}.exp-document-bar>span:nth-child(2){background:#fbbf24}.exp-document-bar>span:nth-child(3){background:#34d399}.exp-document-bar b{margin-left:.45rem;font:600 .62rem "Fira Code",monospace;color:#8fa0b8;text-transform:uppercase}
.exp-document-sheet{display:grid;grid-template-columns:2.8rem minmax(0,1fr) minmax(0,1fr)}.exp-document-sheet>aside{padding:1.3rem .55rem;color:#4b5b72;text-align:right;font:500 .72rem/2.15 "Fira Code",monospace}.exp-document-sheet>section{min-width:0;padding:1.2rem;border-left:1px solid #334155}.exp-xp-document .textarea{min-height:16rem;border-radius:0;line-height:1.8;background:rgba(9,17,30,.58)}

/* IDE and code studio. */
.exp-xp-ide,.exp-xp-code{border-radius:.45rem;background:#080d16;font-family:"Fira Code",monospace}
.exp-xp-ide>header{display:flex;align-items:center;gap:.35rem;height:2.7rem;padding:.55rem .8rem;border-bottom:1px solid #263247;background:#111827}.exp-xp-ide>header>i{width:.6rem;height:.6rem;border-radius:50%;background:#fb7185}.exp-xp-ide>header>i:nth-child(2){background:#fbbf24}.exp-xp-ide>header>i:nth-child(3){background:#34d399}.exp-xp-ide>header>b{margin-left:.4rem;font-size:.62rem;color:#8999ad}.exp-xp-ide>header .exp-output-tools{margin-left:auto}
.exp-ide-body{display:grid;grid-template-columns:3rem minmax(16rem,4fr) minmax(0,7fr);min-height:32rem}.exp-ide-body>nav{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:.8rem .3rem;border-right:1px solid #263247;background:#0c1422}.exp-ide-body>nav span{writing-mode:vertical-rl;font-size:.48rem;color:#53647c}.exp-ide-body>nav svg{width:1.1rem;color:#687991}.exp-ide-body>aside,.exp-ide-body>main{min-width:0;padding:1rem}.exp-ide-body>aside{border-right:1px solid #263247;background:#101929}.exp-ide-tabs,.exp-code-tabs{display:flex;gap:.15rem;margin:-1rem -1rem 1rem;border-bottom:1px solid #263247}.exp-ide-tabs span,.exp-code-tabs span{padding:.55rem .8rem;border-right:1px solid #263247;font-size:.58rem;color:#8ea0b8}.exp-ide-tabs span:first-child,.exp-code-tabs span:first-child{border-top:2px solid var(--tool-accent);color:#e2e8f0}
.exp-xp-ide .input,.exp-xp-ide .select,.exp-xp-ide .textarea,.exp-xp-code .input,.exp-xp-code .select,.exp-xp-code .textarea{border-radius:.15rem}
.exp-code-tabs{margin:0;padding-left:.7rem;background:#0e1726}.exp-code-work{display:grid;grid-template-columns:9rem minmax(15rem,4fr) minmax(0,7fr);min-height:30rem}.exp-code-work>aside{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border-right:1px solid #263247;color:#718199;font-size:.65rem}.exp-code-work>aside svg{width:1.1rem;color:var(--tool-accent)}.exp-code-work>section{min-width:0;padding:1rem;border-right:1px solid #263247}

/* Dossier and audit reports. */
.exp-xp-dossier{border-radius:0;background:#101827}.exp-dossier-index{display:flex;gap:1.5rem;padding:.75rem 1rem;border-bottom:3px double rgba(var(--tool-accent-rgb),.3);font:700 .58rem "Fira Code",monospace;color:#6f8198}.exp-dossier-index span:last-child{color:var(--tool-accent)}
.exp-dossier-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(15rem,3fr)}.exp-dossier-body>section,.exp-dossier-body>aside{min-width:0;padding:1rem}.exp-dossier-body>aside{border-left:1px solid var(--xp-line);background:rgba(var(--tool-accent-rgb),.035)}.exp-dossier-result{padding:1rem;border-top:1px solid var(--xp-line);background:#080f1c}
.exp-xp-audit{border-radius:1.4rem;background:linear-gradient(145deg,rgba(7,14,27,.96),rgba(var(--tool-accent-rgb),.06))}.exp-audit-banner{display:grid;grid-template-columns:auto minmax(10rem,1fr) minmax(13rem,.8fr);align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--xp-line)}.exp-audit-banner>div:first-child{display:flex;align-items:center;gap:.5rem;color:var(--tool-accent);font:700 .65rem "Fira Code",monospace}.exp-audit-banner>div:first-child svg{width:1.4rem}.exp-audit-banner .exp-signature{margin:0;min-height:5.5rem}.exp-audit-banner #exp-status{margin:0}
.exp-audit-grid{display:grid;grid-template-columns:minmax(17rem,4fr) minmax(0,7fr)}.exp-audit-grid>section{min-width:0;padding:1rem}.exp-audit-grid>section+section{border-left:1px solid var(--xp-line)}.exp-audit-score{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.8rem;border:1px solid rgba(52,211,153,.25);border-radius:.8rem;background:rgba(52,211,153,.06)}.exp-audit-score b{font:900 2.1rem "Fira Code",monospace;color:#34d399}.exp-audit-score span{font:600 .58rem "Fira Code",monospace;color:#78908d}

/* Spreadsheet data workspace. */
.exp-xp-sheet{border-radius:.15rem;background:#0d1623}.exp-sheet-formula{display:flex;align-items:center;gap:.6rem;min-height:3rem;padding:.45rem .7rem;border-bottom:1px solid #3a4658;background:#172132}.exp-sheet-formula>b{display:grid;place-items:center;width:2rem;height:1.8rem;border-right:1px solid #475569;color:var(--tool-accent);font:italic 700 .85rem Georgia}.exp-sheet-formula>span{flex:1;min-width:0;color:#94a3b8;font:500 .65rem "Fira Code",monospace;overflow:hidden;text-overflow:ellipsis}.exp-sheet-formula .exp-xp-actions{margin:0}
.exp-sheet-grid{display:grid;grid-template-columns:2.4rem minmax(17rem,4fr) minmax(0,7fr);background-image:linear-gradient(#263449 1px,transparent 1px),linear-gradient(90deg,#263449 1px,transparent 1px);background-size:28px 28px}.exp-sheet-grid>aside{display:grid;align-content:start;background:#111c2c}.exp-sheet-grid>aside i{height:28px;display:grid;place-items:center;border-bottom:1px solid #314057;color:#64748b;font:500 .58rem "Fira Code",monospace}.exp-sheet-grid>section{min-width:0;padding:1rem;background:rgba(9,17,30,.91);border-left:1px solid #3a4658}.exp-xp-sheet .input,.exp-xp-sheet .select,.exp-xp-sheet .textarea,.exp-xp-sheet .code{border-radius:0}

/* Terminal. */
.exp-xp-terminal{border-radius:.55rem;background:#02070c;font-family:"Fira Code",monospace}.exp-xp-terminal>header{display:flex;align-items:center;gap:.35rem;height:2.8rem;padding:.6rem .8rem;border-bottom:1px solid #233044;background:#111827}.exp-xp-terminal>header>i{width:.62rem;height:.62rem;border-radius:50%;background:#fb7185}.exp-xp-terminal>header>i:nth-child(2){background:#fbbf24}.exp-xp-terminal>header>i:nth-child(3){background:#34d399}.exp-xp-terminal>header>b{margin-left:.45rem;font-size:.6rem;color:#7b8ca2}.exp-xp-terminal>header .exp-output-tools{margin-left:auto}
.exp-terminal-screen{display:grid;grid-template-columns:1fr 1fr;min-height:28rem}.exp-terminal-screen>section{min-width:0;padding:1rem}.exp-terminal-screen>section+section{border-left:1px solid #1d2a3d}.exp-terminal-screen>section>span{display:block;margin-bottom:.9rem;color:#34d399;font-size:.65rem}.exp-terminal-actions{display:flex;gap:.6rem;margin-top:.9rem}.exp-xp-terminal .input,.exp-xp-terminal .select,.exp-xp-terminal .textarea,.exp-xp-terminal .code{border-radius:.1rem;background:#030b10;color:#a7f3d0}.exp-xp-terminal>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .8rem;border-top:1px solid #1d2a3d}.exp-xp-terminal>footer #exp-status{margin:0;flex:1}.exp-xp-terminal>footer code{color:#526177;font-size:.55rem}

/* Request/response protocol console. */
.exp-xp-protocol{border-radius:.7rem;background:#07101b}.exp-protocol-route{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.65rem;padding:.75rem 1rem;border-bottom:1px solid var(--xp-line);font:700 .56rem "Fira Code",monospace;color:#7f91aa}.exp-protocol-route i{height:1px;background:linear-gradient(90deg,transparent,var(--tool-accent))}.exp-protocol-route i:nth-of-type(2){background:linear-gradient(90deg,var(--tool-accent),transparent)}.exp-protocol-route b{color:var(--tool-accent);white-space:nowrap}
.exp-protocol-grid{display:grid;grid-template-columns:1fr 1fr}.exp-protocol-grid>section{min-width:0;padding:1rem}.exp-protocol-grid>section+section{border-left:1px solid var(--xp-line);background:rgba(var(--tool-accent-rgb),.025)}.exp-protocol-grid>section>header{display:flex;align-items:center;gap:.55rem;margin:-1rem -1rem 1rem;padding:.55rem .8rem;border-bottom:1px solid var(--xp-line)}.exp-protocol-grid>section>header b{padding:.25rem .45rem;border-radius:.25rem;background:var(--tool-accent);color:#06101c;font-size:.62rem}.exp-protocol-grid>section>header code{color:#8293a9;font-size:.61rem}.exp-xp-protocol .field label,.exp-xp-protocol .input,.exp-xp-protocol .select,.exp-xp-protocol .textarea{font-family:"Fira Code",monospace}

/* Security shield. */
.exp-xp-shield{border-radius:1.8rem;background:radial-gradient(circle at 50% 0,rgba(var(--tool-accent-rgb),.13),transparent 20rem),#07101b}.exp-shield-core{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:9rem;border-bottom:1px solid var(--xp-line)}.exp-shield-core svg{width:2.8rem;height:2.8rem;color:var(--tool-accent);filter:drop-shadow(0 0 18px rgba(var(--tool-accent-rgb),.65))}.exp-shield-core span{margin-top:.5rem;color:#34d399;font:800 .57rem "Fira Code",monospace;letter-spacing:.2em}.exp-shield-core b{margin-top:.3rem;color:#8ea0b8;font:600 .62rem "Fira Code",monospace}
.exp-shield-grid{display:grid;grid-template-columns:minmax(18rem,5fr) minmax(0,7fr)}.exp-shield-grid>section{min-width:0;padding:1rem}.exp-shield-grid>section+section{border-left:1px solid var(--xp-line)}

/* Visual studio and canvas. */
.exp-xp-studio{background:#0b1220}.exp-studio-work{display:grid;grid-template-columns:minmax(17rem,20rem) minmax(0,1fr);min-height:34rem}.exp-studio-work>aside{padding:1rem;border-right:1px solid #334155;background:#111b2b}.exp-studio-toolbox{display:flex;gap:.45rem;margin-bottom:1rem}.exp-studio-toolbox svg{width:2rem;height:2rem;padding:.45rem;border:1px solid #334155;border-radius:.35rem;color:#8da0b8}.exp-studio-work>main{min-width:0;padding:1rem}.exp-studio-canvas{min-height:20rem;display:grid;place-items:center;padding:1rem;border:1px solid #334155;background-image:linear-gradient(45deg,#111b2b 25%,transparent 25%),linear-gradient(-45deg,#111b2b 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#111b2b 75%),linear-gradient(-45deg,transparent 75%,#111b2b 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.exp-studio-output{margin-top:1rem}
.exp-xp-canvas{border-radius:.8rem;background:#0b1220}.exp-canvas-stage{position:relative;min-height:24rem;display:grid;place-items:center;padding:2rem;border-bottom:1px solid #334155;background:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),#101827;background-size:20px 20px}.exp-canvas-stage:before{content:"CANVAS";position:absolute;left:.7rem;top:.6rem;color:#64748b;font:600 .55rem "Fira Code",monospace}.exp-canvas-stage>span{position:absolute;right:.7rem;bottom:.6rem;padding:.2rem .4rem;border-radius:.25rem;background:#030812;color:#94a3b8;font:.55rem "Fira Code",monospace}.exp-canvas-dock{display:grid;grid-template-columns:minmax(0,7fr) minmax(16rem,4fr)}.exp-canvas-dock>section,.exp-canvas-dock>aside{min-width:0;padding:1rem}.exp-canvas-dock>aside{border-left:1px solid #334155;background:#111b2b}

/* Calculator instrument, finance ledger and engineering blueprint. */
.exp-xp-instrument{border-radius:2rem;background:radial-gradient(circle at 50% 20%,rgba(var(--tool-accent-rgb),.12),transparent 24rem),#09111e}.exp-instrument-readout{min-height:13rem;padding:1.2rem;text-align:center;border-bottom:1px solid var(--xp-line)}.exp-instrument-readout>span{font:700 .58rem "Fira Code",monospace;letter-spacing:.18em;color:var(--tool-accent)}.exp-instrument-readout .code{max-width:48rem;margin:.8rem auto 0;text-align:left}.exp-instrument-console{display:grid;grid-template-columns:minmax(0,7fr) minmax(15rem,3fr)}.exp-instrument-console>section,.exp-instrument-console>aside{min-width:0;padding:1rem}.exp-instrument-console>aside{border-left:1px solid var(--xp-line);text-align:center}.exp-dial{position:relative;width:8rem;height:4rem;margin:.5rem auto 1rem;border:1px solid var(--xp-line);border-radius:8rem 8rem .6rem .6rem;background:radial-gradient(circle at 50% 100%,rgba(var(--tool-accent-rgb),.24),transparent 55%)}.exp-dial i{position:absolute;left:50%;bottom:.4rem;width:2px;height:2.8rem;background:var(--tool-accent);transform-origin:bottom;transform:rotate(42deg)}.exp-dial b{position:absolute;left:0;right:0;bottom:.3rem;font:.55rem "Fira Code",monospace;color:#7f91aa}
.exp-xp-ledger{border-radius:.3rem;background:#0e1825}.exp-ledger-grid{display:grid;grid-template-columns:minmax(18rem,4fr) minmax(0,7fr)}.exp-ledger-grid>aside,.exp-ledger-grid>main{min-width:0;padding:1.15rem}.exp-ledger-grid>aside{border-right:1px solid #344255;background:linear-gradient(90deg,transparent 2.3rem,rgba(var(--tool-accent-rgb),.2) 2.3rem 2.35rem,transparent 2.35rem);padding-left:3.2rem}.exp-ledger-grid>aside>span{font:700 .56rem "Fira Code",monospace;color:var(--tool-accent)}.exp-ledger-grid>main{background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(148,163,184,.08) 31px 32px)}.exp-ledger-grid>main>header{display:flex;justify-content:space-between;margin:-1.15rem -1.15rem 1rem;padding:.7rem 1rem;border-bottom:2px double #4a586b;font:700 .6rem "Fira Code",monospace;color:#8fa0b6}
.exp-xp-blueprint{border-radius:.1rem;border:2px solid rgba(var(--tool-accent-rgb),.36);background:linear-gradient(rgba(var(--tool-accent-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--tool-accent-rgb),.07) 1px,transparent 1px),#071625;background-size:18px 18px}.exp-blueprint-title{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;padding:.7rem 1rem;border-bottom:2px solid rgba(var(--tool-accent-rgb),.35);font-family:"Fira Code",monospace}.exp-blueprint-title span{color:var(--tool-accent);font-weight:800}.exp-blueprint-title b{color:#dce8f4;font-size:.7rem}.exp-blueprint-title small{color:#67819a}.exp-blueprint-grid{display:grid;grid-template-columns:minmax(18rem,5fr) minmax(0,7fr)}.exp-blueprint-grid>section{min-width:0;padding:1rem}.exp-blueprint-grid>section+section{border-left:2px solid rgba(var(--tool-accent-rgb),.3)}.exp-xp-blueprint .input,.exp-xp-blueprint .select,.exp-xp-blueprint .textarea,.exp-xp-blueprint .code{border-radius:0}

/* Planning board. */
.exp-xp-board{border-radius:1.4rem;background:#101827}.exp-board-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.6rem;padding:1rem;border-bottom:1px solid #334155}.exp-board-steps>span{display:flex;align-items:center;gap:.45rem;color:#91a1b6;font:700 .6rem "Fira Code",monospace}.exp-board-steps b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:rgba(var(--tool-accent-rgb),.12);color:var(--tool-accent)}.exp-board-steps>i{height:1px;background:linear-gradient(90deg,var(--tool-accent),rgba(var(--tool-accent-rgb),.1))}.exp-board-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;padding:.8rem;background:#0a1220}.exp-board-grid>section{min-width:0;padding:1rem;border:1px solid #334155;border-radius:.8rem;background:#131e2f}.exp-board-grid>section:nth-child(2){transform:translateY(.65rem)}.exp-board-grid>section:nth-child(3){transform:translateY(1.3rem);margin-bottom:1.3rem}

/* File lab and device test bay. */
.exp-xp-file{border-radius:.7rem;background:#0b1321}.exp-file-work{display:grid;grid-template-columns:minmax(17rem,4fr) minmax(0,7fr)}.exp-file-work>section{min-width:0;padding:1rem}.exp-file-work>section+section{border-left:1px solid #334155}.exp-file-card{height:8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1rem;border:1px dashed rgba(var(--tool-accent-rgb),.45);border-radius:.8rem;background:rgba(var(--tool-accent-rgb),.035)}.exp-file-card svg{width:2rem;color:var(--tool-accent)}.exp-file-card span,.exp-file-card b{margin-top:.4rem;font:700 .58rem "Fira Code",monospace;color:#8da0b7}.exp-file-card b{color:#34d399}.exp-file-hex{padding:.75rem;border-radius:.35rem;background:#030812;color:#64748b;font:.63rem/1.75 "Fira Code",monospace}
.exp-xp-device{border-radius:2rem;background:linear-gradient(155deg,#111c2e,#070d17)}.exp-device-bench{display:grid;grid-template-columns:minmax(17rem,4fr) minmax(0,7fr);padding:1rem;gap:1rem}.exp-device-bench>aside,.exp-device-bench>main{min-width:0}.exp-device-frame{position:relative;max-width:38rem;min-height:22rem;margin:0 auto 1rem;padding:1rem;border:8px solid #253146;border-radius:1.7rem;background:#050a12;box-shadow:inset 0 0 0 1px #475569,0 20px 50px rgba(0,0,0,.5)}.exp-device-frame>i{position:absolute;left:50%;top:-4px;width:3.5rem;height:4px;border-radius:0 0 1rem 1rem;background:#475569;transform:translateX(-50%)}.exp-device-frame>span{position:absolute;left:50%;bottom:-6px;width:1.8rem;height:3px;background:#64748b;transform:translateX(-50%)}.exp-device-frame>div{min-height:19rem}.exp-device-bench>main>.exp-output-tools{justify-content:center}

/* Identity card and builder factory. */
.exp-xp-identity{border-radius:1.6rem;background:linear-gradient(135deg,rgba(var(--tool-accent-rgb),.08),#0a1220 45%,rgba(var(--tool-secondary-rgb),.07))}.exp-identity-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(17rem,4fr)}.exp-identity-grid>main,.exp-identity-grid>aside{min-width:0;padding:1rem}.exp-identity-grid>aside{border-left:1px solid var(--xp-line);background:rgba(6,12,23,.42)}.exp-identity-card{position:relative;min-height:15rem;padding:1.2rem;border:1px solid rgba(var(--tool-accent-rgb),.3);border-radius:1.4rem;background:linear-gradient(145deg,rgba(var(--tool-accent-rgb),.16),rgba(255,255,255,.035),rgba(var(--tool-secondary-rgb),.12));box-shadow:0 24px 50px -28px rgba(var(--tool-accent-rgb),.8)}.exp-identity-card>svg{width:2.5rem;color:var(--tool-accent)}.exp-identity-card>span{position:absolute;right:1rem;top:1rem;font:700 .56rem "Fira Code",monospace;color:#8293aa}
.exp-xp-factory{border-radius:.55rem;background:#0b1422}.exp-factory-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid #334155;background:#111c2d}.exp-factory-line span{display:flex;align-items:center;justify-content:center;gap:.45rem;color:#8fa0b6;font:700 .58rem "Fira Code",monospace}.exp-factory-line b{color:var(--tool-accent)}.exp-factory-line svg{width:1rem;color:#56677e}.exp-factory-grid{display:grid;grid-template-columns:minmax(17rem,4fr) 9rem minmax(0,7fr)}.exp-factory-grid>section{min-width:0;padding:1rem}.exp-factory-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;border-inline:1px dashed #3a475a;background:rgba(var(--tool-accent-rgb),.025)}.exp-factory-core .exp-signature{width:7rem;min-height:6rem}.exp-factory-core .exp-xp-actions{flex-direction:column}.exp-factory-core .btn{width:7rem}

/* Comparison, policy and front-end component lab. */
.exp-xp-compare{border-radius:1rem;background:#0b1422}.exp-compare-inputs{display:grid;grid-template-columns:1fr 6rem 1fr}.exp-compare-inputs>section{min-width:0;padding:1rem}.exp-compare-inputs>section>span{display:block;margin-bottom:.8rem;color:var(--tool-accent);font:700 .57rem "Fira Code",monospace}.exp-compare-inputs>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border-inline:1px solid var(--xp-line);background:rgba(var(--tool-accent-rgb),.025)}.exp-compare-inputs>div>svg{width:1.5rem;color:var(--tool-accent)}.exp-compare-inputs .exp-xp-actions{flex-direction:column}.exp-compare-inputs .btn{width:4.5rem;padding:.4rem}.exp-compare-result{display:grid;grid-template-columns:minmax(10rem,3fr) minmax(0,8fr);gap:1rem;padding:1rem;border-top:1px solid var(--xp-line);background:#07101c}.exp-compare-result>div{min-width:0}
.exp-xp-policy{border-radius:.25rem;background:#101827}.exp-policy-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;border-bottom:3px double rgba(var(--tool-accent-rgb),.35)}.exp-policy-head>svg{width:2rem;color:var(--tool-accent)}.exp-policy-head span{font:700 .56rem "Fira Code",monospace;color:#73859c}.exp-policy-head h2{margin:.25rem 0 0}.exp-policy-head .exp-xp-actions{margin:0}.exp-policy-grid{display:grid;grid-template-columns:minmax(18rem,5fr) minmax(0,7fr)}.exp-policy-grid>section,.exp-policy-grid>aside{min-width:0;padding:1rem}.exp-policy-grid>aside{border-left:1px solid #3a4658;background:repeating-linear-gradient(0deg,transparent 0 29px,rgba(148,163,184,.06) 29px 30px)}
.exp-xp-component{border-radius:1.2rem;background:#0b1321}.exp-component-work{display:grid;grid-template-columns:minmax(0,7fr) minmax(18rem,4fr);min-height:33rem}.exp-component-work>main,.exp-component-work>aside{min-width:0;padding:1rem}.exp-component-work>aside{border-left:1px solid #334155;background:#111b2c}.exp-component-work>aside>header{display:flex;align-items:center;gap:.5rem;margin:-1rem -1rem 1rem;padding:.7rem 1rem;border-bottom:1px solid #334155;color:#91a2b8;font:700 .6rem "Fira Code",monospace}.exp-component-work>aside>header svg{width:1rem;color:var(--tool-accent)}.exp-component-stage{position:relative;min-height:20rem;display:grid;place-items:center;margin-bottom:1rem;padding:1.2rem;border:1px solid #334155;border-radius:.75rem;background:radial-gradient(circle,rgba(var(--tool-accent-rgb),.1),transparent 55%),linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:auto,20px 20px,20px 20px}.exp-component-stage>span{position:absolute;left:.7rem;top:.6rem;color:#64748b;font:600 .55rem "Fira Code",monospace}

/* Editorial content workflow. */
.exp-xp-editorial{border:0;border-top:.35rem solid var(--tool-accent);border-radius:0;background:transparent;box-shadow:none;overflow:visible}.exp-xp-editorial>.exp-xp-top{padding-inline:0;background:transparent}.exp-xp-editorial>header:not(.exp-xp-top){padding:1.8rem 0 1rem;border-bottom:1px solid #3a4658}.exp-xp-editorial>header>span{font:700 .58rem "Fira Code",monospace;letter-spacing:.18em;color:var(--tool-accent)}.exp-xp-editorial>header h2{margin:.45rem 0 0;font-size:clamp(1.4rem,3vw,2.4rem)}.exp-editorial-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(14rem,3fr);gap:2rem;padding:1.25rem 0}.exp-editorial-grid>aside{padding-left:1.25rem;border-left:1px solid #3a4658}.exp-xp-editorial .textarea{min-height:17rem;border:0;border-bottom:1px solid #475569;border-radius:0;background:transparent;line-height:1.8}.exp-editorial-output{padding:1.25rem 0;border-top:3px double #475569}.exp-editorial-output>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:1rem}.exp-editorial-output>div:first-child span{font:700 .56rem "Fira Code",monospace;color:var(--tool-accent)}

/* Experience-specific hero rhythm, in addition to the existing eight hero layouts. */
body[data-experience=signal] .expansion-hero,body[data-experience=terminal] .expansion-hero{background-image:repeating-linear-gradient(0deg,transparent 0 7px,rgba(var(--tool-accent-rgb),.025) 7px 8px)}
body[data-experience=content] .expansion-hero,body[data-experience=editor] .expansion-hero{box-shadow:none}
body[data-experience=finance] .expansion-hero,body[data-experience=calculator] .expansion-hero{border-bottom-width:3px}
body[data-experience=canvas] .expansion-hero,body[data-experience=visual] .expansion-hero{background-image:radial-gradient(circle at 20% 15%,rgba(var(--tool-accent-rgb),.18),transparent 20rem),linear-gradient(145deg,rgba(var(--tool-accent-rgb),.06),rgba(var(--tool-secondary-rgb),.08))}

/* Theme compatibility. */
html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp{--xp-bg:color-mix(in srgb,var(--th-panel) 92%,var(--th-bg));--xp-panel:var(--th-panel-2);color:var(--th-text);border-color:var(--th-border)}
html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp h2{color:var(--th-text)}
html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp-top,html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp section,html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp aside,html[data-hub-theme]:not([data-hub-theme=midnight]) .exp-xp main{border-color:var(--th-border)}
html[data-hub-theme=light] .exp-xp,html[data-hub-theme=light] .exp-xp-scope,html[data-hub-theme=light] .exp-xp-terminal,html[data-hub-theme=light] .exp-xp-ide,html[data-hub-theme=light] .exp-xp-code{background-color:#fff;color:#172033}
html[data-hub-theme=light] .exp-xp-top,html[data-hub-theme=light] .exp-xp-ide>header,html[data-hub-theme=light] .exp-xp-terminal>header{background:#eef2f7}
html[data-hub-theme=light] .exp-xp .code{background:#e8eef6;color:#172033}

@media(max-width:900px){
  .exp-scope-console,.exp-time-work,.exp-document-sheet,.exp-dossier-body,.exp-audit-grid,.exp-protocol-grid,.exp-shield-grid,.exp-instrument-console,.exp-ledger-grid,.exp-blueprint-grid,.exp-file-work,.exp-device-bench,.exp-identity-grid,.exp-policy-grid,.exp-component-work,.exp-editorial-grid{grid-template-columns:1fr}
  .exp-exchange-grid{grid-template-columns:1fr}.exp-exchange-core{flex-direction:row;border-inline:0;border-block:1px dashed var(--xp-line);padding:.65rem}.exp-exchange-core>svg{transform:rotate(90deg)}
  .exp-ide-body{grid-template-columns:3rem 1fr}.exp-ide-body>main{grid-column:1/-1;border-top:1px solid #263247}.exp-code-work{grid-template-columns:7rem 1fr}.exp-code-work>section:last-child{grid-column:1/-1;border-top:1px solid #263247}
  .exp-sheet-grid{grid-template-columns:2.4rem 1fr}.exp-sheet-grid>section:last-child{grid-column:1/-1;border-top:1px solid #3a4658}
  .exp-terminal-screen{grid-template-columns:1fr}.exp-terminal-screen>section+section{border-left:0;border-top:1px solid #1d2a3d}
  .exp-studio-work{grid-template-columns:1fr}.exp-studio-work>aside{border-right:0;border-bottom:1px solid #334155}.exp-canvas-dock{grid-template-columns:1fr}.exp-canvas-dock>aside{border-left:0;border-top:1px solid #334155}
  .exp-board-grid{grid-template-columns:1fr}.exp-board-grid>section{transform:none!important;margin:0!important}
  .exp-factory-grid{grid-template-columns:1fr}.exp-factory-core{flex-direction:row;border-inline:0;border-block:1px dashed #3a475a;padding:.75rem}.exp-factory-core .exp-xp-actions{flex-direction:row}
  .exp-compare-inputs{grid-template-columns:1fr}.exp-compare-inputs>div{flex-direction:row;border-inline:0;border-block:1px solid var(--xp-line);padding:.7rem}.exp-compare-inputs .exp-xp-actions{flex-direction:row}.exp-compare-result{grid-template-columns:1fr}
  .exp-document-sheet>aside{display:none}.exp-document-sheet>section{border-left:0;border-bottom:1px solid #334155}
  .exp-dossier-body>aside,.exp-audit-grid>section+section,.exp-protocol-grid>section+section,.exp-shield-grid>section+section,.exp-blueprint-grid>section+section,.exp-policy-grid>aside,.exp-component-work>aside,.exp-editorial-grid>aside{border-left:0;border-top:1px solid var(--xp-line)}
}
@media(max-width:560px){
  .exp-xp{border-radius:.75rem}.exp-xp-top{align-items:flex-start;flex-wrap:wrap}.exp-xp-top .exp-output-tools{width:100%;margin-left:0}.exp-xp-top .exp-output-tools .btn{flex:1}
  .exp-xp-terminal>header,.exp-xp-ide>header{height:auto;min-height:2.8rem;flex-wrap:wrap}.exp-xp-terminal>header>b,.exp-xp-ide>header>b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-xp-terminal>header .exp-output-tools,.exp-xp-ide>header .exp-output-tools{width:100%;margin-left:0}.exp-xp-terminal>header .exp-output-tools .btn,.exp-xp-ide>header .exp-output-tools .btn{flex:1}
  .exp-xp .field-grid{grid-template-columns:1fr}.exp-xp .textarea{min-height:10rem}.exp-scope-display{min-height:9rem}.exp-scope-console>section{padding:.8rem}.exp-time-ruler{grid-template-columns:repeat(6,1fr)}.exp-time-ruler i:nth-child(n+7){display:none}.exp-time-track{margin:.55rem}
  .exp-ide-body,.exp-code-work{display:block}.exp-ide-body>nav,.exp-code-work>aside{display:none}.exp-ide-body>aside,.exp-ide-body>main,.exp-code-work>section{padding:.8rem;border:0;border-bottom:1px solid #263247}.exp-ide-tabs{margin:-.8rem -.8rem .8rem}
  .exp-audit-banner{grid-template-columns:1fr}.exp-audit-banner .exp-signature{display:none}.exp-sheet-formula{flex-wrap:wrap}.exp-sheet-formula .exp-xp-actions{width:100%}.exp-sheet-grid{display:block}.exp-sheet-grid>aside{display:none}
  .exp-protocol-route{grid-template-columns:auto 1fr auto}.exp-protocol-route i:nth-of-type(2),.exp-protocol-route span:last-child{display:none}.exp-studio-canvas,.exp-component-stage{min-height:14rem}.exp-canvas-stage{min-height:16rem;padding:1rem}.exp-instrument-readout{min-height:10rem}.exp-board-steps{grid-template-columns:1fr 1fr 1fr}.exp-board-steps>i{display:none}.exp-board-steps>span{justify-content:center;flex-direction:column}
  .exp-device-frame{min-height:17rem}.exp-device-frame>div{min-height:14rem}.exp-factory-line{grid-template-columns:1fr 1fr 1fr}.exp-factory-line svg{display:none}.exp-policy-head{grid-template-columns:auto 1fr}.exp-policy-head .exp-xp-actions{grid-column:1/-1}.exp-editorial-output>div:first-child{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.exp-wave i,.exp-dial i{animation:none!important}}
