.portal-demo{--pd-bg:#141619;border:1px solid var(--line);border-radius:20px;background:var(--pd-bg);padding:28px}
.portal-top,.portal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.portal-top{padding-bottom:24px;border-bottom:1px solid var(--line)}
.portal-demo h2{font-size:32px}.portal-demo h3{font-size:23px}.portal-demo h4{margin:0;font-size:16px}
.portal-demo p{color:var(--muted)}.portal-demo .small{margin:8px 0}
.portal-demo select,.portal-demo input,.portal-demo textarea{width:100%;font:inherit;color:var(--fg);background:#202226;border:1px solid var(--line);border-radius:8px;padding:10px;min-width:0}
.portal-demo label{display:grid;gap:6px;color:var(--muted);font-size:13px}.portal-demo select option{background:#202226}
.portal-role{min-width:190px}.portal-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-top:24px;align-items:start}
.portal-stack{display:grid;gap:24px;min-width:0}.portal-box{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:22px;min-width:0}
.portal-item{padding:18px 0;border-top:1px solid var(--line);margin-top:16px}.portal-item p{margin:7px 0;font-size:14px}
.portal-badge{display:inline-block;font:11px var(--font-mono);padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--accent)}
.portal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.portal-actions .btn{padding:9px 14px;font-size:13px}.portal-demo button:disabled{opacity:.45;cursor:default}
.portal-form{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}.portal-form textarea{min-height:85px}.portal-form .btn{justify-self:start}
.portal-messages{list-style:none;padding:0;margin:18px 0;max-height:300px;overflow:auto}.portal-messages li{border-left:2px solid var(--accent);padding:0 0 0 12px;margin:16px 0;overflow-wrap:anywhere}
.portal-messages b{font-size:12px;color:var(--accent)}.portal-messages p{margin:4px 0;font-size:14px;white-space:pre-wrap}
.portal-activity{font-size:13px;color:var(--muted);padding-left:20px;max-height:220px;overflow:auto}.portal-activity li{margin:10px 0;overflow-wrap:anywhere}
.portal-note{border:1px solid rgba(201,163,106,.45);padding:14px 18px;border-radius:10px;color:var(--muted);font-size:13px;margin:20px 0}
.portal-notice{min-height:24px;color:var(--ok);font-size:14px;margin-top:16px;overflow-wrap:anywhere}
.portal-demo dialog{max-width:520px;width:calc(100% - 32px);color:var(--fg);background:#141619;border:1px solid var(--accent);border-radius:16px;padding:26px}.portal-demo dialog::backdrop{background:rgba(0,0,0,.75)}
.portal-demo dl{display:grid;grid-template-columns:1fr auto;gap:12px}.portal-demo dd{margin:0}.portal-demo dt{color:var(--muted)}
@media(max-width:1000px){.portal-grid{grid-template-columns:1fr}.portal-demo{padding:18px}.portal-box{padding:18px}}
