/* Panelcraft book workspace. Every rule is scoped to the mount (.uwapp-root.uwapp-panelcraft): the platform puts
   .uwapp-panelcraft on <body> too, and bare rules would restyle the platform top bar. Dialogs live in <body>
   and use the shared Comic Desk dialog variables (--cd-*). */
.uwapp-root.uwapp-panelcraft{--pc-bg:#f2eee5;--pc-paper:#fffdf8;--pc-ink:#263d43;--pc-muted:#4d6064;--pc-line:#becbc9;--pc-control:#7d8d8b;--pc-accent:#835028;--pc-on-accent:#fffdf8;--pc-stage:#d4dcd6;background:var(--pc-bg);color:var(--pc-ink);font:14px/1.5 system-ui,sans-serif;box-sizing:border-box;height:calc(100dvh - 48px);min-height:520px;padding:12px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.uwapp-root.uwapp-panelcraft[data-theme=dark]{--pc-bg:#152b30;--pc-paper:#203b41;--pc-ink:#eff0e3;--pc-muted:#bccdcd;--pc-line:#526b70;--pc-control:#8aa1a5;--pc-accent:#e5b482;--pc-on-accent:#152b30;--pc-stage:#102126}
.uwapp-root.uwapp-panelcraft *{box-sizing:border-box}
.uwapp-root.uwapp-panelcraft .pc-heading{display:flex;justify-content:space-between;align-items:center;gap:8px 20px;flex-wrap:wrap;flex:none}
.uwapp-root.uwapp-panelcraft h1{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0;font:600 22px/1.2 Georgia,serif;margin:0}
.uwapp-root.uwapp-panelcraft .pc-eyebrow{font:700 11px/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--pc-accent)}
.uwapp-root.uwapp-panelcraft .pc-book-title{overflow-wrap:anywhere}
.uwapp-root.uwapp-panelcraft h2{font:600 16px/1.3 Georgia,serif;margin:0 0 12px}
.uwapp-root.uwapp-panelcraft .pc-report{font-size:12px;color:var(--pc-muted);margin:0}
.uwapp-root.uwapp-panelcraft :is(button,input,textarea,select){font:inherit;color:var(--pc-ink);background:var(--pc-paper);border:1px solid var(--pc-control);border-radius:6px;padding:6px 10px;min-height:34px;max-width:100%;width:auto;margin:0;line-height:1.3}
.uwapp-root.uwapp-panelcraft button{cursor:pointer}
.uwapp-root.uwapp-panelcraft button:hover:not(:disabled){border-color:var(--pc-accent)}
.uwapp-root.uwapp-panelcraft button:disabled{opacity:.55;cursor:default}
.uwapp-root.uwapp-panelcraft :focus-visible{outline:3px solid var(--pc-accent);outline-offset:2px}
.uwapp-root.uwapp-panelcraft .pc-primary{background:var(--pc-accent);color:var(--pc-on-accent);border-color:var(--pc-accent);font-weight:600}
.uwapp-root.uwapp-panelcraft button[aria-pressed=true]{background:var(--pc-ink);color:var(--pc-bg)}
.uwapp-root.uwapp-panelcraft .pc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 0;border-block:1px solid var(--pc-line);flex:none}
.uwapp-root.uwapp-panelcraft .pc-group,.uwapp-root.uwapp-panelcraft .pc-actions,.uwapp-root.uwapp-panelcraft .pc-view-tools{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.uwapp-root.uwapp-panelcraft .pc-group+.pc-group{padding-inline-start:10px;border-inline-start:1px solid var(--pc-line)}
.uwapp-root.uwapp-panelcraft .pc-toolbar button,.uwapp-root.uwapp-panelcraft .pc-view-tools button{font-size:12.5px;padding:5px 8px}
.uwapp-root.uwapp-panelcraft .pc-group{gap:4px}
.uwapp-root.uwapp-panelcraft .pc-workspace{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:14px;flex:1;min-height:0}
.uwapp-root.uwapp-panelcraft .pc-tree,.uwapp-root.uwapp-panelcraft .pc-properties{min-width:0;min-height:0;overflow:auto;background:var(--pc-paper);border:1px solid var(--pc-line);border-radius:10px;padding:14px}
.uwapp-root.uwapp-panelcraft .pc-pages{display:grid;gap:6px}
.uwapp-root.uwapp-panelcraft .pc-page{width:100%;display:block;text-align:start;white-space:normal;overflow-wrap:anywhere;font-size:12.5px}
.uwapp-root.uwapp-panelcraft .pc-page[aria-current=true]{border-inline-start:4px solid var(--pc-accent);font-weight:700}
.uwapp-root.uwapp-panelcraft .pc-actions{margin:12px 0 0}
.uwapp-root.uwapp-panelcraft .pc-actions button{font-size:12px;flex:1 1 84px;text-wrap:balance}
.uwapp-root.uwapp-panelcraft .pc-properties h2:not(:first-child){margin-top:20px}
.uwapp-root.uwapp-panelcraft .pc-properties>button{display:block;width:100%;margin:8px 0}
.uwapp-root.uwapp-panelcraft .fl-field{display:flex;flex-direction:column;gap:4px;margin:0 0 11px;font-size:12.5px;min-width:0}
.uwapp-root.uwapp-panelcraft .fl-field :where(input:not([type=checkbox]),textarea,select){width:100%}
.uwapp-root.uwapp-panelcraft .fl-field span{color:var(--pc-muted)}
.uwapp-root.uwapp-panelcraft input[type=checkbox]{width:22px;height:22px;min-height:22px;padding:0;accent-color:var(--pc-accent)}
.uwapp-root.uwapp-panelcraft details{font-size:12.5px;border-top:1px solid var(--pc-line);margin-top:14px;padding-top:12px}
.uwapp-root.uwapp-panelcraft summary{font-weight:600;cursor:pointer;min-height:24px}
.uwapp-root.uwapp-panelcraft .pc-stage{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px}
.uwapp-root.uwapp-panelcraft .pc-view-tools .fl-field{flex-direction:row;align-items:center;margin:0;gap:6px}
.uwapp-root.uwapp-panelcraft .pc-viewport{flex:1;min-height:240px;background:var(--pc-stage);border:1px solid var(--pc-line);padding:20px;border-radius:10px;overflow:auto}
.uwapp-root.uwapp-panelcraft .pc-preview{min-width:150px;margin:auto;user-select:none;border-radius:2px}
.uwapp-root.uwapp-panelcraft .pc-preview svg{width:100%;height:auto;display:block;box-shadow:0 8px 35px #10242c33}
.uwapp-root.uwapp-panelcraft .pc-preview:focus-visible{outline-offset:6px}
.uwapp-root.uwapp-panelcraft .pc-muted{font-size:12.5px;color:var(--pc-muted)}
.uwapp-root.uwapp-panelcraft .pc-hint{margin:0}
.uwapp-root.uwapp-panelcraft .pc-status{flex:none;border-inline-start:3px solid var(--pc-accent);background:var(--pc-paper);padding:7px 12px;margin:0;min-height:34px;font-size:12.5px}
.uwapp-root.uwapp-panelcraft .pc-error{color:#a53525}
.uwapp-root.uwapp-panelcraft[data-theme=dark] .pc-error{color:#ffb9a7}
@media (max-width:1100px),(max-height:620px){
 .uwapp-root.uwapp-panelcraft{height:auto;min-height:calc(100dvh - 48px);overflow:visible}
 .uwapp-root.uwapp-panelcraft .pc-workspace{grid-template-columns:180px minmax(0,1fr);flex:none}
 .uwapp-root.uwapp-panelcraft .pc-tree,.uwapp-root.uwapp-panelcraft .pc-properties{overflow:visible}
 .uwapp-root.uwapp-panelcraft .pc-properties{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .uwapp-root.uwapp-panelcraft .pc-properties>:where(h2,details,p,button){grid-column:1/-1}
 .uwapp-root.uwapp-panelcraft .pc-viewport{flex:none;height:min(600px,70dvh)}
}
@media (max-width:600px){
 .uwapp-root.uwapp-panelcraft{padding:10px}
 .uwapp-root.uwapp-panelcraft h1{font-size:19px}
 .uwapp-root.uwapp-panelcraft .pc-group+.pc-group{padding-inline-start:0;border-inline-start:0}
 .uwapp-root.uwapp-panelcraft .pc-toolbar{gap:5px}
 .uwapp-root.uwapp-panelcraft .pc-toolbar button{font-size:12px;padding:6px 8px}
 .uwapp-root.uwapp-panelcraft .pc-workspace{grid-template-columns:minmax(0,1fr)}
 .uwapp-root.uwapp-panelcraft .pc-stage{order:1}
 .uwapp-root.uwapp-panelcraft .pc-tree{order:2}
 .uwapp-root.uwapp-panelcraft .pc-properties{order:3;display:block}
 .uwapp-root.uwapp-panelcraft .pc-pages{grid-template-columns:1fr 1fr}
 .uwapp-root.uwapp-panelcraft .pc-viewport{padding:10px;height:min(480px,62dvh)}
}

/* Book dialogs (rendered in <body>, coloured by the Comic Desk dialog variables). */
.cd-dialog .pc-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cd-dialog .pc-templates section{border:1px solid var(--cd-line);border-radius:8px;padding:12px}
.cd-dialog .pc-templates h3{margin:0 0 6px;font-size:15px}
.cd-dialog .pc-recent,.cd-dialog .pc-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cd-dialog .pc-recent li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cd-dialog .pc-recent li>button:first-child{flex:1 1 200px;text-align:start}
.cd-dialog .pc-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0 0 12px}
.cd-dialog .pc-table{overflow:auto;max-width:100%}
.cd-dialog .pc-table table,.cd-dialog .pc-keys{border-collapse:collapse;width:100%;margin:8px 0}
.cd-dialog .pc-table :where(th,td),.cd-dialog .pc-keys :where(th,td){border-bottom:1px solid var(--cd-line);padding:5px 8px;text-align:start;background:transparent;color:inherit}
.cd-dialog :where(caption){text-align:start;font-weight:600;padding:4px 0}
.cd-dialog .pc-keys kbd{font:12px ui-monospace,monospace;border:1px solid var(--cd-line);border-radius:4px;padding:1px 5px;background:var(--cd-paper);color:var(--cd-ink)}
.cd-dialog .pc-muted{opacity:1;font-size:12.5px}
.cd-dialog.cd-mini a{color:var(--cd-ink);text-decoration:underline;text-underline-offset:2px}

/* Book-wide lettering review */
.fl-dialog.cd-dialog.pc-lettering-dialog{width:min(850px,95vw);height:auto;max-height:92dvh}
.pc-lettering-dialog .pc-lettering-page{padding:12px 0;border-top:1px solid var(--cd-line)}
.pc-lettering-dialog .pc-lettering-page h3{font-size:16px}
.pc-lettering-dialog .pc-lettering-warning{margin:-4px 0 16px;font-size:12px}
.pc-lettering-dialog .pc-lettering-warning.pc-warn{font-weight:700}
.pc-lettering-dialog>label{max-width:none}
