/* Purpose-built workspaces: shared visual primitives, no global selectors. */
.pw-page { --pw-panel:#251e32; --pw-line:#594268; --pw-muted:#c4b8d5; color:#f5effc; max-width:1500px; margin:auto; padding:22px 12px 40px; font:15px/1.6 system-ui,sans-serif; }
.pw-page * { box-sizing:border-box; }
.pw-page [hidden] { display:none !important; }
.pw-hero { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:32px; align-items:center; padding:32px; background:linear-gradient(125deg,#382747,#262136); border:1px solid #614b76; border-radius:22px; margin-bottom:24px; }
.pw-hero h1 { font-size:clamp(28px,3vw,40px); line-height:1.14; margin:8px 0 16px; letter-spacing:-.025em; }
.pw-eyebrow { color:#d1b1fb; font-size:12px; letter-spacing:.12em; font-weight:750; }
.pw-hero p { color:#e1d6ed; max-width:850px; margin:12px 0; }
.pw-tags,.pw-actions,.pw-tabs,.pw-chips { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.pw-tags span { border:1px solid #756385; border-radius:30px; padding:5px 11px; font-size:12px; }
.pw-path { padding:0; margin:0; list-style:none; display:grid; gap:9px; }
.pw-path li { border:1px solid #594365; border-radius:11px; padding:12px; background:#ffffff04; display:flex; align-items:center; gap:12px; }
.pw-path b { border-radius:7px; background:#ba8cfb28; color:#e5d0ff; padding:2px 9px; }
.pw-panel { min-width:0; padding:22px; border:1px solid var(--pw-line); border-radius:16px; background:var(--pw-panel); margin-bottom:18px; }
.pw-panel h2 { font-size:20px; margin:0 0 14px; }
.pw-panel h3 { font-size:16px; margin:12px 0; }
.pw-toolbar { display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap; margin-bottom:14px; }
.pw-grid { display:grid; grid-template-columns:340px minmax(0,1fr); gap:20px; align-items:start; }
.pw-grid-wide { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); }
.pw-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pw-page label { display:grid; gap:7px; margin:12px 0; color:#e8ddf3; font-weight:600; font-size:14px; }
.pw-page :is(input,select,textarea) { min-width:0; width:100%; background:#15111e; color:#f9f3ff; border:1px solid #785e89; border-radius:9px; padding:11px 12px; font:inherit; }
.pw-page input[type=checkbox] { width:19px; height:19px; accent-color:#c49af5; }
.pw-page input[type=range] { padding:8px 0; accent-color:#bd8ff7; }
.pw-check { display:flex !important; align-items:center; gap:10px; }
.pw-page textarea { min-height:140px; resize:vertical; line-height:1.6; tab-size:2; }
.pw-page button,.pw-file { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #816099; background:#3b2b4d; color:#faf4ff; border-radius:10px; padding:10px 15px; min-height:44px; font:650 14px/1.4 system-ui; cursor:pointer; text-decoration:none; }
.pw-page button:hover,.pw-file:hover { background:#533b6b; }
.pw-page .pw-primary { background:#9261d2; border-color:#c9a3ff; color:#fff; }
.pw-page button[aria-pressed=true] { background:#6c468f; border-color:#e0bfff; }
.pw-page button:disabled { opacity:.45; cursor:default; }
.pw-page :focus-visible { outline:3px solid #e0bfff; outline-offset:3px; }
.pw-page .pw-file { margin:0; position:relative; overflow:hidden; }
.pw-file input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.pw-status { border-left:4px solid #bc8bf2; padding:12px 16px; background:#30203f; border-radius:8px; margin:14px 0; overflow-wrap:anywhere; }
.pw-status[data-error=true] { border-color:#ff9c9c; color:#ffd3d3; }
.pw-note { color:var(--pw-muted); font-size:13px; line-height:1.7; }
.pw-stats { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; }
.pw-stat { flex:1; min-width:145px; padding:14px 18px; background:#181320; border:1px solid #554062; border-radius:12px; }
.pw-stat b { display:block; font-size:26px; color:#e2c4ff; line-height:1.25; }
.pw-stat span { color:var(--pw-muted); font-size:13px; }
.pw-drop { border:2px dashed #806296; border-radius:14px; text-align:center; padding:26px; background:#b786ee08; }
.pw-drop[data-over=true] { background:#b786ee23; border-color:#d4b3ff; }
.pw-table { width:100%; overflow:auto; max-height:620px; border:1px solid #543f66; border-radius:10px; }
.pw-table table { width:100%; border-collapse:collapse; font-size:14px; }
.pw-table th { position:sticky; top:0; background:#382746; text-align:left; z-index:1; }
.pw-table :is(td,th) { padding:12px; border-bottom:1px solid #4b385b; overflow-wrap:anywhere; max-width:400px; }
.pw-table tr:nth-child(even) { background:#ffffff03; }
.pw-table td input { min-width:90px; }
.pw-file-row { display:flex; gap:12px; align-items:center; padding:12px; border-top:1px solid #493651; overflow-wrap:anywhere; }
.pw-file-row input { flex:0 0 20px; }
.pw-file-row small { display:block; color:var(--pw-muted); }
.pw-file-row button { margin-left:auto; flex-shrink:0; }
.pw-group { border:1px solid #5b426e; background:#19141f; border-radius:12px; margin:14px 0; overflow:hidden; }
.pw-group h3 { padding:12px; margin:0; background:#34233f; }
.pw-scroll { max-height:650px; overflow:auto; }
.pw-paper { background:#fff; color:#24202a; padding:36px; min-height:400px; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:5px; font:16px/1.75 Georgia,serif; }
.pw-canvas-wrap { background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 0 / 20px 20px; overflow:auto; max-height:700px; border-radius:10px; min-height:120px; }
.pw-canvas-wrap canvas { display:block; max-width:100%; height:auto; margin:auto; }
.pw-images { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pw-images img { width:100%; max-height:400px; object-fit:contain; background:#15111e; border-radius:10px; }
.pw-page progress { width:100%; height:12px; accent-color:#bf8aef; }
.pw-page details { border:1px solid #594468; padding:14px; border-radius:10px; margin:12px 0; }
.pw-page summary { cursor:pointer; font-weight:650; }
.pw-page video { width:100%; max-height:380px; background:#08070b; border-radius:12px; }
.pw-cue { padding:14px 20px; background:#0c0910; text-align:center; min-height:100px; border-radius:10px; font-size:20px; white-space:pre-line; }
.pw-page a { color:#dab8ff; }
.pw-page:fullscreen { overflow:auto; background:#16111f; max-width:none; width:100%; padding:25px; }
.pw-page:fullscreen .pw-hero,.pw-page:fullscreen .pw-guide { display:none; }
.pw-badge { font-size:12px; border-radius:20px; padding:4px 9px; background:#70558b44; }
@media(max-width:1000px) { .pw-grid { grid-template-columns:280px minmax(0,1fr); } .pw-grid-wide { grid-template-columns:1fr; } .pw-hero { grid-template-columns:1fr; } .pw-path { grid-template-columns:repeat(3,1fr); } }
@media(max-width:720px) { .pw-grid,.pw-two,.pw-images { grid-template-columns:1fr; } .pw-page { padding:12px 3px; } .pw-hero,.pw-panel { padding:18px; } .pw-path { grid-template-columns:1fr; } .pw-paper { padding:20px; } .pw-file-row { flex-wrap:wrap; } }
/* Keep document previews readable independently of the site's heading colors. */
.pw-page .pw-paper :is(h1,h2,h3,p,div,span) { color:#24202a; }
.pw-page .pw-file-row { display:flex; margin:0; }
.pw-page input[type=checkbox] { min-width:19px; flex-shrink:0; }
.pw-page #bsRows { max-height:900px; overflow:auto; padding-right:6px; }
.pw-page #bsRows textarea { min-height:96px; }
.pw-page #dfGroups { max-height:750px; overflow:auto; }
@media(min-width:1001px) {
  .pw-grid > aside { position:sticky; top:95px; max-height:calc(100vh - 115px); overflow:auto; }
  .pw-page:fullscreen .pw-grid > aside { top:0; max-height:calc(100vh - 50px); }
}
