.theme-workshop{display:grid;gap:var(--space-6);padding:var(--space-5);border:1px solid var(--ft-border-default);border-radius:var(--radius-lg);background:var(--ft-surface-background);color:var(--ft-text-primary);box-shadow:var(--ft-elevation-low)}.theme-workshop *{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.theme-workshop.is-reduced-motion *{transition:none}.theme-workshop.is-high-contrast{--ft-surface-panel: var(--ft-surface-background);--ft-surface-panel-raised: var(--ft-surface-background);--ft-border-default: var(--ft-text-secondary);--ft-border-strong: var(--ft-text-primary);--ft-interaction-hover: var(--ft-surface-overlay);--ft-interaction-selected: var(--ft-surface-overlay)}.theme-toolbar,.theme-section,.preview-panel{border:1px solid var(--ft-border-default);border-radius:var(--radius-md);background:var(--ft-surface-panel);box-shadow:var(--ft-elevation-low)}.theme-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3)}.segmented-control{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-sunken)}.segmented-control button,.theme-toggle,.theme-card,.sample-button,.preview-shell-sample button,.bundle-tree button{border:1px solid transparent;color:var(--ft-text-primary);font:inherit}.segmented-control button{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:transparent;font-weight:700}.segmented-control button:hover,.segmented-control button.is-active,.theme-card:hover,.theme-card.is-selected,.sample-button:hover,.sample-button.is-selected,.preview-shell-sample button:hover,.preview-shell-sample button.is-selected,.bundle-tree button:hover,.bundle-tree button.is-selected{border-color:var(--ft-border-strong);background:var(--ft-interaction-selected)}.segmented-control button:focus-visible,.theme-toggle:focus-within,.theme-card:focus-visible,.sample-button:focus-visible,.preview-shell-sample button:focus-visible,.bundle-tree button:focus-visible{outline:3px solid var(--ft-border-focus);outline-offset:2px}.theme-toggle{min-height:38px;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-color:var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-panel-raised);color:var(--ft-text-secondary);font-weight:700}.theme-toggle input{accent-color:var(--ft-border-focus)}.theme-section{display:grid;gap:var(--space-4);padding:var(--space-5)}.theme-section-heading{max-width:760px}.theme-section-heading h2,.preview-panel h2,.type-preview h2,.preview-shell-sample h2{margin:0}.theme-section-heading p,.preview-panel p,.sample-card p,.sample-panel p,.preview-shell-sample p,.bundle-detail p{margin:var(--space-2) 0 0;color:var(--ft-text-secondary);line-height:1.58}.theme-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.theme-card{display:grid;gap:var(--space-3);min-height:178px;padding:var(--space-4);border-color:var(--ft-border-default);border-radius:var(--radius-md);background:var(--ft-surface-panel);box-shadow:var(--ft-elevation-low);text-align:left}.theme-card:hover{transform:translateY(-1px)}.is-reduced-motion .theme-card:hover{transform:none}.theme-card-title{font-weight:800}.theme-card-summary,.comparison-row span,.type-preview small,.sample-panel-header span,.bundle-tree small,.token-ledger span{color:var(--ft-text-subtle)}.theme-swatches,.token-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.theme-swatches span,.token-strip i{min-height:44px;border:1px solid var(--ft-border-default);border-radius:var(--radius-sm)}.theme-swatches span:nth-child(1),.surface-background{background:var(--ft-surface-background)}.theme-swatches span:nth-child(2),.surface-panel{background:var(--ft-surface-panel-raised)}.theme-swatches span:nth-child(3),.border-focus{background:var(--ft-border-focus)}.theme-swatches span:nth-child(4),.status-warning{background:var(--ft-status-warning)}.comparison-grid{display:grid;gap:var(--space-2)}.comparison-row{display:grid;grid-template-columns:minmax(180px,1.1fr) repeat(2,minmax(180px,1fr));gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-sunken)}.comparison-row>div:first-child{display:grid;gap:var(--space-1)}.token-strip{align-items:center;grid-template-columns:58px repeat(4,minmax(0,1fr));padding:var(--space-2);border:1px solid var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-panel)}.token-strip span{color:var(--ft-text-secondary);font-size:.82rem;font-weight:800}.token-strip i{min-height:28px}.theme-preview-grid,.theme-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.preview-panel{display:grid;gap:var(--space-4);padding:var(--space-5)}.type-preview{display:grid;gap:var(--space-2)}.theme-eyebrow{color:var(--ft-text-subtle);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.sample-card,.sample-panel,.bundle-detail,.inspector-sample{padding:var(--space-4);border:1px solid var(--ft-border-default);border-radius:var(--radius-md);background:var(--ft-surface-panel-raised);box-shadow:var(--ft-elevation-medium)}.sample-card,.sample-panel-header{display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between}.sample-badge{display:inline-flex;width:fit-content;min-height:28px;align-items:center;padding:0 var(--space-3);border:1px solid var(--ft-border-focus);border-radius:999px;background:var(--ft-interaction-selected);color:var(--ft-text-primary);font-size:.82rem;font-weight:800}.button-preview{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sample-button,.preview-shell-sample button,.bundle-tree button{min-height:40px;padding:0 var(--space-3);border-color:var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-panel);font-weight:800}.sample-button-primary{border-color:var(--ft-border-focus);background:var(--ft-border-focus);color:var(--ft-text-inverse)}.sample-button:disabled{border-color:var(--ft-interaction-disabled);background:var(--ft-surface-sunken);color:var(--ft-text-subtle);cursor:not-allowed}.diagnostic-list{display:grid;gap:var(--space-2)}.diagnostic-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:44px;padding:var(--space-3);border:1px solid var(--ft-border-default);border-left-width:5px;border-radius:var(--radius-sm);background:var(--ft-surface-sunken);color:var(--ft-text-secondary)}.diagnostic-row strong{color:var(--ft-text-primary)}.diagnostic-row.is-success{border-left-color:var(--ft-status-success)}.diagnostic-row.is-warning{border-left-color:var(--ft-status-warning)}.diagnostic-row.is-error{border-left-color:var(--ft-status-error)}.diagnostic-row.is-info{border-left-color:var(--ft-status-info)}.is-high-contrast .diagnostic-row{border-color:var(--ft-border-strong);border-left-width:9px}.preview-shell-sample{display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden;border:1px solid var(--ft-border-default);border-radius:var(--radius-md);background:var(--ft-surface-panel);box-shadow:var(--ft-elevation-medium)}.preview-shell-sample aside{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-4);border-right:1px solid var(--ft-border-default);background:var(--ft-surface-sunken)}.preview-shell-sample main{min-height:260px;display:grid;align-content:center;gap:var(--space-3);padding:var(--space-6);background:linear-gradient(135deg,var(--ft-surface-panel),var(--ft-surface-overlay))}.preview-shell-sample main p{max-width:680px}.bundle-sample{display:grid;grid-template-columns:190px minmax(0,1fr);overflow:hidden;border:1px solid var(--ft-border-default);border-radius:var(--radius-md);background:var(--ft-surface-panel)}.bundle-tree{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-3);border-right:1px solid var(--ft-border-default);background:var(--ft-surface-sunken)}.bundle-tree button{display:grid;height:auto;min-height:50px;text-align:left}.bundle-detail{min-height:220px;display:grid;align-content:start;gap:var(--space-3);border:0;border-radius:0;box-shadow:none}.inspector-sample{display:grid;gap:var(--space-4);box-shadow:none}.inspector-sample dl{display:grid;gap:var(--space-2);margin:0}.inspector-sample dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--ft-border-default)}.inspector-sample dt{color:var(--ft-text-subtle);font-weight:800}.inspector-sample dd{margin:0;color:var(--ft-text-primary)}.token-ledger{display:flex;flex-wrap:wrap;gap:var(--space-2)}.token-ledger span{padding:var(--space-2) var(--space-3);border:1px solid var(--ft-border-default);border-radius:var(--radius-sm);background:var(--ft-surface-sunken);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.84rem}@media(max-width:980px){.comparison-row,.theme-preview-grid,.theme-sample-grid,.preview-shell-sample,.bundle-sample{grid-template-columns:1fr}.preview-shell-sample aside,.bundle-tree{border-right:0;border-bottom:1px solid var(--ft-border-default)}}@media(max-width:620px){.theme-workshop,.theme-section,.preview-panel{padding:var(--space-4)}.theme-toolbar,.sample-card,.sample-panel-header{align-items:stretch;flex-direction:column}.segmented-control,.segmented-control button,.theme-toggle{width:100%}.diagnostic-row,.inspector-sample dl div{grid-template-columns:1fr}}:root{color-scheme:light;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #f6f7f8;--color-surface: #ffffff;--color-surface-muted: #f0f2f4;--color-surface-subtle: #fafafa;--color-text: #1f2429;--color-text-muted: #66717d;--color-text-soft: #8a949e;--color-border: #dfe3e7;--color-border-strong: #cbd2d9;--color-accent: #28536b;--color-accent-strong: #183b4d;--color-success: #2f6f4e;--color-warning: #8a6426;--color-danger: #9a3b3b;--shadow-subtle: 0 1px 2px rgb(20 28 35 / 6%), 0 8px 24px rgb(20 28 35 / 5%);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--sidebar-width: 280px;--header-height: 76px}.platform-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.platform-sidebar{min-height:100vh;padding:var(--space-5);background:var(--color-surface);border-right:1px solid var(--color-border)}.sidebar-brand{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-8)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:var(--color-accent);border-radius:var(--radius-md);font-weight:700}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{margin-top:2px;color:var(--color-text-muted);font-size:.86rem}.sidebar-nav{display:grid;gap:var(--space-5)}.nav-group{display:grid;gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.nav-group:first-child{padding-top:0;border-top:0}.nav-group-label{color:var(--color-text-soft);font-size:.74rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.nav-item{width:100%;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text);text-align:left}.nav-item:hover,.nav-item.is-active{background:var(--color-surface-muted);border-color:var(--color-border)}.nav-item span,.nav-item small{display:block}.nav-item span{font-weight:650}.nav-item small{margin-top:3px;color:var(--color-text-muted)}.platform-main{min-width:0;display:grid;grid-template-rows:auto auto 1fr}.platform-header{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-8);border-bottom:1px solid var(--color-border);background:#ffffffb8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.platform-header h1{margin:2px 0 0;font-size:1.28rem;line-height:1.2}.status-bar{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-8);color:var(--color-text-muted);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);font-size:.92rem}.status-bar div{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text)}.status-dot{width:9px;height:9px;border-radius:999px;background:var(--color-text-soft)}.status-reading,.status-warning{background:var(--color-warning)}.status-valid{background:var(--color-success)}.status-invalid{background:var(--color-danger)}.platform-content{width:min(1180px,100%);padding:var(--space-8)}@media(max-width:900px){.platform-shell{grid-template-columns:1fr}.platform-sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--color-border)}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.platform-header,.status-bar,.platform-content{padding-left:var(--space-5);padding-right:var(--space-5)}}@media(max-width:620px){.sidebar-nav,.status-bar{grid-template-columns:1fr}.status-bar,.platform-header{align-items:flex-start;flex-direction:column}}.page-stack{display:grid;gap:var(--space-6)}.page-heading{max-width:780px}.page-heading h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(2rem,4vw,3.1rem);line-height:1.05}.page-heading p,.panel p,.card p,.empty-state p{color:var(--color-text-muted);line-height:1.62}.eyebrow{color:var(--color-text-soft);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.badge{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.82rem;font-weight:650}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stack-sm{display:grid;gap:var(--space-3)}.panel,.card,.empty-state{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.panel,.empty-state{padding:var(--space-5)}.panel h2,.card h2{margin:0 0 var(--space-2);font-size:1rem}.panel p,.card p,.empty-state p{margin:0}.card{padding:var(--space-5)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.capability-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-weight:650}.button:disabled{cursor:not-allowed;opacity:.56}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.upload-target{min-height:220px;display:grid;place-items:center;gap:var(--space-2);margin:var(--space-5) 0;padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-subtle);text-align:center}.upload-target input{max-width:100%}.upload-target span,.upload-target small,.validation-copy{color:var(--color-text-muted)}.message-list,.path-list{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;padding-left:var(--space-5);color:var(--color-text-muted);line-height:1.5}.path-list{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.86rem;overflow-wrap:anywhere}.metadata-list{display:grid;gap:var(--space-3);margin:var(--space-5) 0 0}.metadata-list.compact{margin-top:0}.metadata-list div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.metadata-list dt{color:var(--color-text-muted);font-weight:650}.metadata-list dd{min-width:0;margin:0;overflow-wrap:anywhere}.foundation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.foundation-swatch{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:var(--space-2);margin-top:var(--space-5)}.foundation-swatch span{height:72px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.foundation-swatch span:nth-child(2){background:var(--color-surface-muted)}.foundation-swatch span:nth-child(3){background:#e7ecef}.button:hover{border-color:var(--color-accent)}.empty-state{display:grid;gap:var(--space-2);background:var(--color-surface-subtle)}.empty-state strong{font-size:1rem}.flow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.flow-strip span{min-height:62px;display:grid;place-items:center;padding:var(--space-3);border-right:1px solid var(--color-border);color:var(--color-text-muted);font-weight:650;text-align:center}.flow-strip span:last-child{border-right:0}.explorer-layout{min-height:640px;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-subtle)}.explorer-pane{min-width:0;border-right:1px solid var(--color-border);background:var(--color-surface-subtle)}.explorer-search{display:grid;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.explorer-search label,.explorer-section h3{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.explorer-search input{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.explorer-tree{max-height:720px;overflow:auto;padding:var(--space-3)}.explorer-tree-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-1);align-items:start}.tree-level-2{padding-left:var(--space-4)}.tree-level-3{padding-left:var(--space-6)}.tree-level-4{padding-left:var(--space-8)}.tree-toggle,.tree-node-button,.object-list-item{border:1px solid transparent;background:transparent;color:var(--color-text)}.tree-toggle{width:28px;height:34px;border-radius:var(--radius-sm);color:var(--color-text-muted)}.tree-toggle:disabled{cursor:default;opacity:0}.tree-node-button{min-width:0;display:grid;gap:2px;width:100%;min-height:34px;padding:var(--space-2);border-radius:var(--radius-sm);text-align:left}.tree-node-button:hover,.tree-node-button.is-selected,.object-list-item:hover{border-color:var(--color-border);background:var(--color-surface-muted)}.tree-node-button span,.tree-node-button small,.object-list-item span,.object-list-item small{min-width:0;overflow-wrap:anywhere}.tree-node-button span,.object-list-item span{font-weight:650}.tree-node-button small,.object-list-item small{color:var(--color-text-muted)}.explorer-detail-pane{min-width:0;display:grid;align-content:start;gap:var(--space-5);padding:var(--space-5)}.explorer-detail-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.explorer-detail-header h2{margin:var(--space-1) 0 0;font-size:1.35rem}.explorer-section{display:grid;gap:var(--space-3)}.explorer-section h3{margin:0}.property-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.object-list{display:grid;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.object-list-item{display:grid;gap:2px;padding:var(--space-3);border-bottom-color:var(--color-border);border-radius:0;text-align:left}.object-list-item:last-child{border-bottom-color:transparent}@media(max-width:900px){.grid-2,.grid-3,.flow-strip,.explorer-layout{grid-template-columns:1fr}.explorer-pane,.flow-strip span{border-right:0;border-bottom:1px solid var(--color-border)}.flow-strip span:last-child{border-bottom:0}}*{box-sizing:border-box}html{min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}
