/* Canvas follows the explicit background preference on every page. */
body {background:var(--bg)}
label,.form-field>label,.facts dt,table th {font-size:1rem;font-weight:700}
label input,label select,label textarea {font-weight:400}
.inline-note{padding:1rem 0;border-bottom:1px solid var(--border,#9a7b66)}
.note-body{white-space:normal;overflow-wrap:anywhere;padding:.6rem 0;line-height:1.6}
#cash-live{display:block;padding:1rem;font-size:1.15rem;font-weight:700}
.builder-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:1rem}
.builder-tools button{margin:.2rem}.builder-canvas{position:relative;min-height:500px;background:#fff;color:#222;padding:0;border:1px solid #aaa;overflow:hidden;max-width:640px}
.builder-block{position:relative;padding:12px;margin:0;border:0;outline:1px dashed #aaa;cursor:grab;overflow-wrap:anywhere;min-width:40px;min-height:30px}
.builder-block[aria-selected=true]{outline:3px solid #916234}.builder-block img,.builder-block video{max-width:100%;max-height:280px;pointer-events:none}
.builder-canvas.advanced{height:900px;padding:0}.advanced .builder-block{position:absolute;margin:0;touch-action:none;overflow:auto}
.builder-properties{display:grid;gap:.5rem}.builder-properties input,.builder-properties textarea,.builder-properties select{width:100%}
.builder-canvas .graphic{font-size:48px}.builder-block h2{color:inherit}.builder-status{min-height:2em}
@media(max-width:760px){.builder-layout{grid-template-columns:1fr}.builder-canvas{min-width:0}}
#builder-stage{position:relative;min-width:0}
.builder-block{box-sizing:border-box}
.builder-inline-tools{position:absolute;z-index:5;background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;font:12px Arial,sans-serif;text-align:left}
.builder-inline-tools[hidden],#builder-more-tools[hidden]{display:none}
.builder-quick-tools{position:relative;display:flex;align-items:center;gap:4px;padding:4px;overflow-x:auto}
.builder-quick-tools label{display:flex;align-items:center;gap:3px;flex-shrink:0;font-size:11px;font-weight:400;margin:0;white-space:nowrap}
.builder-quick-tools button,.builder-quick-tools select,.builder-quick-tools input{font:12px Arial,sans-serif;margin:0;min-height:28px;height:28px;padding:3px 5px;width:auto;border-radius:3px;flex-shrink:0}
.builder-quick-tools input[type=number]{width:48px}.builder-quick-tools input[type=color]{width:28px;padding:1px}.builder-quick-tools select{max-width:110px}
.builder-quick-tools button[aria-pressed=true]{outline:2px solid var(--text-on-surface);outline-offset:-3px;background:var(--surface-hover)}
#builder-more-tools{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);padding:12px;max-height:320px;overflow:auto;box-sizing:border-box}
#builder-more-tools .builder-properties{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.builder-resize{position:absolute;display:none;padding:0!important;min-height:20px!important;width:20px!important;height:20px;font:14px Arial,sans-serif!important;color:#2a211c!important;background:#f3ebdd!important;border:1px solid #9a7b66!important;border-radius:2px!important;line-height:18px!important;touch-action:none;z-index:2}
.builder-block[aria-selected=true] .builder-resize{display:block}
.builder-resize.east{right:0;top:45%;cursor:ew-resize}.builder-resize.south{bottom:0;left:45%;cursor:ns-resize}.builder-resize.corner{right:0;bottom:0;cursor:nwse-resize}
.builder-block.photo-block{overflow:hidden!important;padding:0!important;min-height:30px}
.photo-frame{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.builder-block .photo-frame img{position:absolute;max-width:none;max-height:none;display:block;object-fit:fill}
.photo-tools .builder-quick-tools>label,.photo-tools #quick-bold,.photo-tools #quick-italic,.photo-tools #quick-underline,.photo-tools #quick-transparent{display:none}
.photo-tools #block-text{display:none}.photo-tools label:has(#block-text){display:none}
#photo-crop-dialog{width:min(620px,94vw);max-height:90vh;overflow:auto;background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:6px;padding:16px}
#photo-crop-dialog::backdrop{background:rgba(0,0,0,.45)}
#photo-crop-preview{position:relative;width:100%;max-width:400px;margin:0 auto 12px;cursor:crosshair;touch-action:none}
#photo-crop-image{width:100%;display:block;pointer-events:none}
#photo-crop-selection{position:absolute;outline:2px solid #f3ebdd;background:rgba(90,56,37,.18);pointer-events:none}

.builder-editable{min-height:1.5em;white-space:pre-wrap;cursor:text;outline:none;color:inherit;background:transparent;font:inherit;line-height:inherit}.builder-editable:focus{outline:1px dotted currentColor;outline-offset:2px}.builder-block:has(.builder-editable){cursor:default}.builder-block iframe{width:100%;min-height:180px;border:0;background:white}
.builder-canvas{box-sizing:content-box;width:640px;max-width:calc(100% - 2px)}
