/* Same four verified capabilities. A selectable module rail, with no activity fiction. */
.p20-hub-demo{--gold:#d8b66a;--ink:#f4edf8;--muted:#c6b6d0;--line:#4a354e;--sans:'Zen Kaku Gothic New','Yu Gothic',Meiryo,sans-serif;--mono:Consolas,monospace;width:100%;min-width:0;max-width:760px;container:p20-hub / inline-size;color:var(--ink)}
.p20-hub-demo *{box-sizing:border-box}
.p20-hub-demo [hidden]{display:none!important}
.p20-hub-demo .demo-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 12px}
.p20-hub-demo .workspace{position:relative;background:#180f20;border:1px solid #6d505d;box-shadow:0 10px 0 -7px #38233d,0 18px 0 -14px #745538}
.p20-hub-demo .workspace-top{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);font:600 18px/1.3 var(--display,Arial)}
.p20-hub-demo .workspace-top img{width:28px;height:28px;object-fit:contain}
.p20-hub-demo .workspace-server{margin-left:auto;font:12px/1.6 var(--sans);color:var(--muted)}
.p20-hub-demo .workspace-body{display:grid;grid-template-columns:176px minmax(0,1fr)}
.p20-hub-demo .sample-tabs{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:8px;padding:20px 12px;background:#160d20;border:0;border-right:1px solid var(--line)}
.p20-hub-demo .sample-tabs button{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-height:72px;min-width:0;padding:12px;border:1px solid #44304d;background:#21142a;color:#c5b7cf;font:500 14px/1.5 var(--sans);cursor:pointer;text-align:start}
.p20-hub-demo .sample-tabs button>.ui-icon{width:25px;height:25px;flex:0 0 25px}
.p20-hub-demo .sample-tabs button[aria-selected=true]{border-color:#bb9559;background:#38243d;color:#f0d796;box-shadow:inset 0 -2px #d8b66a}
.p20-hub-demo .sample-tabs button:hover{color:#f5e9cb;border-color:#a98255}
.p20-hub-demo .sample-tabs button:focus-visible{outline:2px solid #ffe5a4;outline-offset:3px}
.p20-hub-demo .workspace-content{min-width:0;padding:24px}
.p20-hub-demo .sample-panel{min-height:360px}
.p20-hub-demo .sample-panel.is-switching{animation:p20-panel-ink .2s ease-out}
.p20-hub-demo .panel-top{display:flex;align-items:center;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;margin-bottom:24px}
.p20-hub-demo .panel-top :is(h2,h4){display:flex;align-items:center;gap:10px;font:700 20px/1.4 var(--sans);margin:0;letter-spacing:0}
.p20-hub-demo .panel-top :is(h2,h4)>.ui-icon{width:21px;height:21px;color:var(--gold)}
.p20-hub-demo .panel-top>span{font-size:12px;color:var(--muted)}
.p20-hub-demo .ticket-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.p20-hub-demo .ticket-title :is(h3,h5){font:600 16px/1.75 var(--sans);margin:0;color:var(--ink)}
.p20-hub-demo .state-tag{display:inline-block;padding:4px 8px;background:#453229;color:#f0d195;font:12px/1.5 var(--sans)}
.p20-hub-demo .task-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding-bottom:24px}
.p20-hub-demo .task-details dt{font-size:12px;color:var(--muted);margin-bottom:7px}
.p20-hub-demo .task-details dd{font-size:14px;line-height:1.6;margin:0}
.p20-hub-demo .flow-track{display:flex;list-style:none;gap:4px;padding:0;margin:0 0 20px}
.p20-hub-demo .flow-track li{flex:1;padding-top:10px;border-top:2px solid #4a354e;text-align:center;font-size:12px;line-height:1.5;color:var(--muted)}
.p20-hub-demo .flow-track .done{border-color:#907343}.p20-hub-demo .flow-track .current{border-color:#d8b66a;color:#f0ce8b}
.p20-hub-demo .file-row{display:flex;align-items:center;gap:12px;padding-block:16px;border-top:1px solid var(--line)}
.p20-hub-demo .file-type{flex:0 0 auto;padding:9px 7px;border:1px solid #715469;color:#e0bc76;font:11px/1.5 var(--mono)}
.p20-hub-demo .file-row>div{min-width:0}.p20-hub-demo .file-row strong{display:block;font-size:13px;line-height:1.75;font-weight:600;overflow-wrap:anywhere}.p20-hub-demo .file-row small{display:block;font-size:12px;line-height:1.7;margin-top:4px;color:var(--muted)}
.p20-hub-demo .panel-note{font-size:13px;line-height:1.85;color:var(--muted);margin:16px 0 0}
.p20-hub-demo .workspace-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:14px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}
.p20-hub-demo .schedule-table{margin-block:24px;border-top:1px solid var(--line)}
.p20-hub-demo .schedule-table>div{display:flex;justify-content:space-between;gap:14px;padding-block:13px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}
.p20-hub-demo .schedule-table strong{font-weight:600}.p20-hub-demo .schedule-table>div>span:last-child,.p20-hub-demo .table-heading{font-size:12px;color:var(--muted)}
.p20-hub-demo .schedule-route{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;line-height:1.7}
.p20-hub-demo .schedule-route .ui-icon{width:14px;height:14px;color:#d8b66a}
.p20-hub-demo .ledger-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding-block:20px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}
.p20-hub-demo .ledger-row strong{font-weight:600}.p20-hub-demo .ledger-row>span{font-size:12px;color:var(--muted)}
.p20-hub-demo .ui-icon{display:inline-block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
@container p20-hub (max-width:590px){.p20-hub-demo .workspace-body{display:block}.p20-hub-demo .sample-tabs{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:0;padding:0;border-right:0;border-bottom:1px solid var(--line);background:#150c20}.p20-hub-demo .sample-tabs button{flex-direction:column;justify-content:center;text-align:center;gap:9px;min-height:78px;border:0;border-right:1px solid #4a354e;padding:12px 3px;font-size:13px;background:transparent}.p20-hub-demo .sample-tabs button:last-child{border-right:0}.p20-hub-demo .sample-tabs button[aria-selected=true]{background:#33203b}.p20-hub-demo .sample-panel{min-height:355px}}
@container p20-hub (max-width:370px){.p20-hub-demo .workspace-content{padding:18px}.p20-hub-demo .workspace-top{padding:15px 16px;font-size:16px}.p20-hub-demo .workspace-top img{width:24px;height:24px}.p20-hub-demo .workspace-server{font-size:11px}.p20-hub-demo .panel-top{gap:8px;margin-bottom:20px}.p20-hub-demo .panel-top :is(h2,h4){font-size:18px}.p20-hub-demo .task-details dd{font-size:13px}.p20-hub-demo .flow-track li{font-size:11px}.p20-hub-demo .sample-panel{min-height:386px}.p20-hub-demo .workspace-bottom{padding:12px 16px;font-size:11px}.p20-hub-demo .sample-tabs button{font-size:12px}}
@keyframes p20-panel-ink{from{opacity:.25}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.p20-hub-demo .sample-panel.is-switching{animation:none}}
