:root{--bb-bg:#141414;--bb-surface:#202020;--bb-surface-raised:#292929;--bb-surface-selected:#3b3b3b;--bb-line:#414141;--bb-text:#f0f0f0;--bb-muted:#a7a7a7;--bb-action:#333;--bb-action-hover:#454545}.setup-page,.photos-page,.group-review-page,.cover-page,.review-page{background:var(--bb-bg)!important}.setup-page .page-heading,.photos-page .page-heading,.group-review-page .page-heading,.cover-page .page-heading,.review-page .page-heading{color:var(--bb-text)}.setup-dark .setup-form,.photos-dark .photo-browser,.photos-dark .assembly-panel,.group-card,.group-review-actions,.cover-options>button,.cover-page .cover-editor,.review-page .book-overview,.review-page .delivery-form,.review-page .order-summary{background:var(--bb-surface)!important;border-color:var(--bb-line)!important}.btn-dark{background:var(--bb-action)!important;color:var(--bb-text)!important;border:1px solid #555!important}.btn-dark:hover{background:var(--bb-action-hover)!important}.btn-dark:focus-visible{outline-color:#d8d8d8!important}.btn-dark:disabled{color:#777!important;background:#282828!important}.brand-compact{background:0 0!important;border:0!important;place-items:center!important;width:52px!important;height:52px!important;display:grid!important;overflow:visible!important}.brand-compact .brand-mark{background:url(/brand/bulgakbook-logo-mini-transparent.png) 50%/contain no-repeat;width:48px;height:48px;display:block}.welcome-header .brand-compact{width:66px!important;height:66px!important}.welcome-header .brand-mark{width:58px;height:58px}.welcome-login{color:#f1f1f1;border-bottom:1px solid #0000;padding:10px 2px;text-decoration:none}.welcome-login:hover{border-bottom-color:#f1f1f1}.welcome-cinematic .hero-title{letter-spacing:-.045em;flex-direction:column;gap:10px;max-width:780px;font-family:Georgia,Times New Roman,serif;line-height:1.02;display:flex}.welcome-cinematic .hero-title strong{font-size:clamp(58px,6.3vw,94px);font-weight:520}.welcome-cinematic .hero-title span{max-width:720px;font-size:clamp(38px,4.4vw,68px);font-weight:520}.welcome-cinematic .hero-copy>.eyebrow{letter-spacing:.22em!important;font-size:16px!important}.setup-dark .book-kind-grid button{border-radius:8px!important}.setup-dark .book-kind-grid .book-kind-photo{border-radius:8px;object-fit:cover!important;object-position:center!important;width:calc(100% - 40px)!important;height:calc(100% - 40px)!important;inset:20px!important;transform:none!important}.photos-dark .assembly-wide{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.photos-dark .assembly-wide>div{flex-direction:column;min-width:0;display:flex}.photos-dark .assembly-wide .assembly-block,.photos-dark .assembly-wide .assembly-intro{background:#242424;border:1px solid #353535;border-radius:7px;padding:16px}.photos-dark .assembly-wide .segmented,.photos-dark .assembly-wide .select-row,.photos-dark .assembly-wide .counter,.photos-dark .assembly-wide .density button,.spread-count-mode button{min-height:42px;border-radius:4px!important}.photos-dark .assembly-wide .select-row{flex:1}.spread-count-mode{grid-template-columns:1fr 1fr;gap:5px;display:grid}.spread-count-mode button{color:#bdbdbd;cursor:pointer;background:#2d2d2d;border:0}.spread-count-mode button.active{color:#fff;background:#4a4a4a;box-shadow:inset 0 0 0 1px #777}.counter button:disabled{opacity:.3;cursor:default}.assembly-block-disabled{opacity:.45;pointer-events:none}.density-four{grid-template-columns:repeat(2,1fr)!important}.analysis-warning-banner{color:#deded9;background:#34302d;border:1px solid #665b54;gap:10px;margin:-14px 0 26px;padding:12px 14px;font-size:11px;line-height:1.5;display:flex}.analysis-warning-banner svg{color:#d8a875;flex:none;margin-top:1px}.analysis-warning-banner p{margin:0}.analysis-warning-banner p+p{margin-top:4px}.spread-capacity-warning{color:#deded9;background:#34302d;border:1px solid #665b54;gap:8px;margin-top:10px;padding:10px;font-size:11px;line-height:1.45;display:flex}.production-blocked-note{color:#dbdbdb;background:#2d2d2d;border:1px solid #555;align-items:center;gap:8px;margin:12px 0;padding:11px 13px;font-size:11px;display:flex}.format-options button:disabled{opacity:.3;cursor:not-allowed}.spread-capacity-warning svg{flex:none}.group-card>header{cursor:grab;border-radius:6px 6px 0 0}.group-card>header:active{cursor:grabbing}.group-card .group-name{cursor:text}.group-card>header>span{color:#f0f0f0;place-items:center;min-width:30px;height:26px;padding:0 8px;display:grid;background:#3b3b3b!important;border-radius:6px!important}.group-drag-handle{display:none!important}.template-mini.reference-template-mini i{overflow:hidden}.template-mini.reference-template-mini i img{object-fit:cover;width:100%;height:100%}.template-ribbon>button.template-compromise{opacity:.62}.template-ribbon>button.template-compromise:hover,.template-ribbon>button.template-compromise.active{opacity:1}.spread-canvas:after{display:none!important}.spread-canvas .fold-guide{background:#28282838!important;width:1px!important}.spread-canvas .fold-guide span{display:none!important}.spread-canvas .trim{background:#2d2d2d38!important}.cover-options{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center}.cover-options>button{aspect-ratio:1;border-radius:7px;overflow:hidden;border:0!important;min-height:0!important;padding:0!important}.cover-options>button.active{box-shadow:inset 0 0 0 2px #7e7e7e!important}.cover-options>button>svg{z-index:2}.cover-options .cover-icon{background:#e6e6e6;position:absolute;inset:0;border-radius:0!important;width:100%!important;height:100%!important}.cover-options .cover-icon img{width:100%;height:100%;object-fit:cover!important;object-position:center!important;padding:0!important}.cover-icon-caption{z-index:1;color:#fff;background:linear-gradient(#0000,#121212b8);flex-direction:column;gap:2px;padding:10px 12px 9px;display:flex;position:absolute;bottom:0;left:0;right:0}.cover-icon-caption strong{font:400 13px Georgia,serif}.cover-icon-caption small{color:#ffffffc7;font-size:9px}.cover-title-interactive{overflow:visible}.cover-title-resize{opacity:0;background:#fff;border:1px solid #111;border-radius:2px;width:10px;height:10px;transition:opacity .15s;position:absolute}.cover-title-interactive:hover .cover-title-resize,.cover-title-interactive:focus .cover-title-resize{opacity:1}.cover-title-resize-nw{cursor:nwse-resize;top:-6px;left:-6px}.cover-title-resize-ne{cursor:nesw-resize;top:-6px;right:-6px}.cover-title-resize-se{cursor:nwse-resize;bottom:-6px;right:-6px}.cover-title-resize-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.cover-production-guides{z-index:12;pointer-events:none;position:absolute;inset:0}.cover-guide{background:#ffffff75;display:block;position:absolute}.cover-guide-left{left:var(--cover-left);width:1px;top:0;bottom:0}.cover-guide-right{right:var(--cover-right);width:1px;top:0;bottom:0}.cover-guide-top{top:var(--cover-top);height:1px;left:0;right:0}.cover-guide-bottom{bottom:var(--cover-bottom);height:1px;left:0;right:0}.cover-guide-center{background:#ffffff47;width:1px;top:0;bottom:0;left:50%}.spread-text{cursor:move;white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;line-height:1.25;display:flex;overflow:hidden}.spread-text.selected{outline-offset:2px;outline:2px dashed #1a1a1a99}.text-options label{color:var(--muted);flex-direction:column;gap:6px;margin:14px 0;font-size:10px;display:flex}.text-options textarea{font:inherit;resize:vertical;border:1px solid #d5d5d5;padding:8px}.text-style-row{align-items:center;gap:8px;margin:14px 0;display:flex}.text-style-row input[type=color]{cursor:pointer;background:0 0;border:1px solid #d5d5d5;width:32px;height:32px;padding:0}.text-align-buttons{border:1px solid #d5d5d5;flex:1;display:flex}.text-align-buttons button{cursor:pointer;background:0 0;border:0;flex:1;padding:8px 0;font-size:9px}.text-align-buttons button.active,.text-style-row>button.active{color:#fff;background:#303030}.text-delete{color:#a85433;cursor:pointer;background:0 0;border:1px solid #ba704e;align-items:center;gap:6px;margin-top:6px;padding:8px 10px;font-size:10px;display:flex}.background-options-wrap{flex-direction:column;flex:1;gap:14px;display:flex}.swatch-white,.swatch-gray,.swatch-black{border-radius:50%}.swatch-palette{background:conic-gradient(from 90deg,#ff3b30,#ff9500,#fc0,#34c759,#007aff,#af52de,#ff3b30);border-radius:50%}.color-swatch-button{cursor:pointer;border:1px solid #d5d6d0;border-radius:50%;width:32px;height:32px;padding:0}.photo-sort-select{cursor:pointer;color:inherit;background:0 0;border:0;padding:8px 4px;font-size:11px}.photos-dark .photo-sort-select{color:#aaa}.photos-dark .photo-sort-select option{color:#1c1c1a}.cover-photo-scale{flex-direction:column;gap:6px;display:flex!important}.cover-photo-scale output{text-transform:none;color:var(--ink);font-weight:400}.cover-photo-scale input[type=range]{width:100%}.color-wheel-picker{background:#1b1c1a;border:1px solid #3a3a3a;border-radius:8px;flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:220px;padding:12px;display:flex}.color-wheel-square-wrap{cursor:crosshair;touch-action:none;aspect-ratio:1;border-radius:6px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 1px #3a3a3a}.color-wheel-square-wrap canvas{width:100%;height:100%;display:block}.color-wheel-marker{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.color-wheel-hue-wrap{cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:7px;width:100%;height:14px;position:relative;box-shadow:0 0 0 1px #3a3a3a}.color-wheel-hue-marker{pointer-events:none;background:#fff;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.color-wheel-hex-row{letter-spacing:.06em;color:#f1f1f1;align-items:center;gap:8px;font-size:10px;display:flex}.color-wheel-hex-row input{color:#f1f1f1;text-transform:uppercase;background:#232323;border:1px solid #3a3a3a;border-radius:5px;flex:1;min-width:0;height:26px;padding:0 8px;font:11px/1 SFMono-Regular,Consolas,monospace}@media (max-width:1050px){.photos-dark .assembly-wide{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:680px){.photos-dark .assembly-wide{grid-template-columns:1fr!important}.cover-options{grid-template-columns:repeat(2,1fr)}}
.welcome-cinematic{--u:clamp(8px, min(1.05vw, 1.4dvh), 15px);flex-direction:column;height:100dvh;min-height:0;display:flex}.welcome-cinematic .welcome-header{flex:none;height:clamp(56px,9dvh,88px)}.welcome-stage{text-align:center;justify-content:center;align-items:center;gap:calc(var(--u) * 1.6);min-height:0;padding:0 24px calc(var(--u) * 2);flex-direction:column;flex:1;display:flex;position:relative}.welcome-brand{align-items:center;gap:calc(var(--u) * .8);flex-direction:column;display:flex}.welcome-logo{box-sizing:border-box;width:calc(var(--u) * 11);height:calc(var(--u) * 11);object-fit:contain;filter:drop-shadow(0 16px 35px #00000040);border:3px solid #fffffffa}.welcome-constructor{box-sizing:border-box;width:calc(var(--u) * 11);color:#e2e2e2;font-size:calc(var(--u) * .85);justify-content:space-between;font-weight:700;line-height:1;display:flex}.welcome-constructor i{font-style:normal}.welcome-title{max-width:20em;font:600 calc(var(--u) * 3.5) / 1.18 Inter, Manrope, "Segoe UI", Arial, sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#f6f6f6;text-shadow:0 3px 30px #0000006b;text-wrap:balance;margin:0}.welcome-lead{max-width:34em;font-size:clamp(14px, calc(var(--u) * 1.25), 19px);color:#f4f4f4c7;text-wrap:balance;margin:0;line-height:1.55}.welcome-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;display:flex}.welcome-trust{color:#f1f1f1a3;font-size:clamp(11px, calc(var(--u) * .85), 13px);flex-wrap:wrap;justify-content:center;gap:8px 26px;display:flex}.welcome-trust span{align-items:center;gap:7px;display:flex}.welcome-cinematic .text-button{color:#f0f0f0}@media (max-height:560px){.welcome-trust{display:none}}@media (max-width:620px){.welcome-stage{padding-inline:18px}.welcome-buttons{flex-direction:column;gap:10px}}.how-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
