/* Real-time storefront geometry. */
.live-product-art{position:relative;display:block;overflow:hidden;isolation:isolate;cursor:grab}
.product-live-view{position:absolute;inset:0;z-index:1}
.product-live-view canvas,.product-live-view iframe{width:100%;height:100%}
.product-live-view .card-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.45}
.product-live-view[data-ready=true] .card-fallback,.product-live-view[data-ready=true] [data-preview-status]{display:none}
.product-live-view [data-preview-status]{position:absolute;left:18px;top:50%;color:#c3b6a0;font-size:10px;z-index:0}
.product-live-view.is-lazy-preview{background:radial-gradient(ellipse at center,#4b352b 0,#211f1c 68%,#151615 100%)}.product-live-view.is-lazy-preview>small,.product-live-view.is-live>small{display:none}.preview-activate{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:4px;min-width:164px;padding:11px 14px;border:1px solid #f15a2480;border-radius:7px;background:#171715e8;color:#f0e9df;text-align:center;box-shadow:0 10px 30px #0008}.preview-activate strong{font-size:11px;color:#ff956c}.preview-activate small{font-size:9px;color:#a9a398}.preview-activate:hover{border-color:#ff8b5b;background:#211b17}.product-live-view.is-live .preview-activate{display:none}
.live-product-art .product-tag,.live-product-art .art-caption{z-index:3;pointer-events:none}
.live-product-art .art-corner{position:absolute;top:14px;right:14px;z-index:4;border:1px solid #ffffff30;background:#17171577;border-radius:50%;width:28px;height:28px;color:#eae6dc;display:grid;place-items:center}
.product-price small{display:block;font-size:8px;color:#8f8a80;font-weight:400;margin-top:3px;white-space:nowrap}

.x3d-youtube-emblem{display:inline-grid;place-content:center;width:22px;height:15px;border-radius:4px;background:#ff0033;color:white;font-size:9px}
.x3d-video-disclaimer{display:block;padding:12px 0;color:#8d8b82;font-size:10px;line-height:1.7}
.x3d-learning-pane[data-pane=text]>p{white-space:pre-wrap;line-height:1.9}
.x3d-preview-loading{pointer-events:none}
.x3d-code-preview[data-ready=true] .x3d-preview-loading{display:none}
.x3d-player-focused{outline:1px solid #f15a2455;outline-offset:8px;border-radius:5px}

@media(max-width:1100px){.x3d-course-card{grid-template-columns:1fr}.x3d-admin-grid{grid-template-columns:1fr}}
.x3d-part-field{min-width:0}.x3d-part-field input,.x3d-part-field textarea{min-width:0}.x3d-part-select select{min-width:0;max-width:100%}

/* Public viewer is deliberately separate from the creator editor. */
.marketplace-actions,.detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.product-meta{flex-wrap:wrap;gap:12px}.product-meta .marketplace-actions{margin-left:auto}.product-meta .marketplace-actions button{white-space:nowrap}
.product-meta .marketplace-actions [data-buy]{border:1px solid #f15a2455;border-radius:6px;padding:7px 15px;color:#ff8559;background:#f15a2410}
.detail-actions{margin-top:20px}.purchase-demo{padding:14px 16px;border:1px solid #f15a2444;border-radius:10px;background:#f15a240a;line-height:1.8;margin-top:18px}.purchase-demo:focus{outline:1px solid #f15a24}
body.public-preview-open{overflow:hidden}
.public-preview{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#151615;color:#eae6dc;overflow:hidden}
.public-preview[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.public-preview::backdrop{background:#151615}
.public-preview-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 30px;border-bottom:1px solid #ffffff12;background:#191a18}
.public-preview-header h2{font-size:24px;line-height:1.2;margin:6px 0}.public-preview-header small{font-size:11px;color:#9a9a90}
.public-preview-actions{display:flex;gap:22px;align-items:center}.public-preview-actions .icon-close{position:static;font-size:29px;flex-shrink:0}
.public-preview-stage{position:relative;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#4c423642,transparent 70%)}
.public-preview-stage [data-preview-status]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#b6b1a6}.public-preview-stage[data-ready=true] [data-preview-status]{display:none}.public-preview-stage[data-protected=true]{display:grid;place-items:center;background:radial-gradient(ellipse at center,#30251f,#151615 72%)}.public-preview-stage[data-protected=true] [data-preview-status]{position:static;transform:none;max-width:290px;padding:20px;border:1px solid #ffffff1c;border-radius:10px;background:#191a18;color:#c9bba9;text-align:center;line-height:1.7}
.public-preview-stage canvas{touch-action:none!important}
.public-preview-footer{padding:16px 30px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #ffffff12;background:#191a18}
.public-preview-footer p{font-size:12px;line-height:1.8;margin:0;color:#c3bcae}.public-preview-footer small{font-size:10px;color:#918c82}
.public-preview-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.public-preview-tools button,.public-preview-tools select{font:inherit;font-size:11px;padding:9px 12px;border:1px solid #ffffff20;color:#ddd8ce;border-radius:6px;background:#262723;cursor:pointer}.public-preview-tools label{font-size:11px;display:flex;gap:8px;align-items:center}.public-preview-tools button[aria-pressed=true]{border-color:#f15a2470;color:#ff996e}
@media(max-width:700px){.public-preview-header{padding:15px 16px}.public-preview-header h2{font-size:18px}.public-preview-actions{gap:12px}.public-preview-actions .button{padding:9px 15px}.public-preview-footer{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:10px}.public-preview-tools{gap:6px}.public-preview-tools button,.public-preview-tools select{font-size:10px;padding:8px}.public-preview-footer small{font-size:9px}}
.public-preview:fullscreen,.public-preview:fullscreen .public-preview-stage{background:#151615}.public-preview:fullscreen iframe{background:#151615}

/* License details and explicit local-only purchase simulation */
.license-summary{padding:18px 20px;border:1px solid #725341;border-radius:14px;background:#2b211c;margin:16px 0}.license-summary p{font-size:14px;line-height:1.7;margin:8px 0}.license-success{color:#b7dcae;font-size:14px}.license-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin:16px 0}.license-check input{width:18px;min-width:18px;height:18px;accent-color:#ee7846;margin-top:3px}.purchase-demo button{white-space:normal}.purchase-demo small{display:block;margin-top:12px;line-height:1.6}.detail-actions{flex-wrap:wrap}.detail-actions button:disabled{opacity:.6;cursor:not-allowed}.product-price small{line-height:1.5}.marketplace-actions button{white-space:normal}.detail-modal{max-height:92dvh;overflow:auto}

/* An opaque dark stage is enforced in normal and native fullscreen modes. */
.public-preview-stage,.public-preview-stage iframe,.public-preview:fullscreen .public-preview-stage{background:#11151b!important;color-scheme:dark}

.detail-uploaded-cover{display:flex;align-items:center;gap:12px;margin:16px 0;color:#aaa;font-size:12px}.detail-uploaded-cover img{width:84px;height:64px;object-fit:contain;border:1px solid #ffffff20;border-radius:6px;background:#171918}

.public-preview{z-index:10000}.public-preview:not([open]){display:none!important}

/* Public preview dark navy-gray control theme; keep every overlay surface aligned with the canvas. */
.public-preview,
.public-preview::backdrop,
.public-preview-header,
.public-preview-footer,
.public-preview:fullscreen,
.public-preview:fullscreen .public-preview-stage,
.public-preview:fullscreen iframe{background:#11151b;color:#e7edf5}
.public-preview-header,.public-preview-footer{border-color:#293343}
.public-preview-header small,.public-preview-footer p,.public-preview-footer small{color:#aab6c7}
.public-preview-stage{background:#11151b!important}
.public-preview-stage[data-protected=true]{background:#11151b!important}
.public-preview-stage[data-protected=true] [data-preview-status]{background:#151b24;border-color:#293343;color:#c5d0df}
.public-preview-tools button,.public-preview-tools select{background:#11151b;border-color:#293343;color:#e7edf5}
.public-preview-tools button:hover,.public-preview-tools button:focus-visible,.public-preview-tools select:hover,.public-preview-tools select:focus-visible{background:#151b24;border-color:#52647c;color:#fff}
.public-preview-tools button[aria-pressed=true]{background:#151b24;border-color:#f15a2470;color:#ff996e}
.public-preview-tools button:disabled{background:#151b24;color:#7f8da0;cursor:wait}
.public-preview-tools label{color:#aab6c7}
.public-preview-actions .icon-close{color:#e7edf5}
.public-preview-actions .icon-close:hover,.public-preview-actions .icon-close:focus-visible{background:#151b24;color:#fff}
.public-preview-footer-copy{display:grid;gap:2px;min-width:0}
.public-preview-build-status{min-height:20px;line-height:20px!important;color:#ffad84!important;font-size:11px!important}
.public-preview button:focus-visible,.public-preview select:focus-visible{outline:2px solid #f15a24;outline-offset:2px}

.public-preview [hidden]{display:none!important}

/* Viewer controls: compact, readable statistics on phone and fullscreen. */
.public-preview-stats{font:600 11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace!important;color:#cfdae9!important;font-variant-numeric:tabular-nums;margin:3px 0}
.public-preview-tools .preview-setting{display:inline-flex;gap:6px;align-items:center;font-size:11px;white-space:nowrap}
.public-preview-tools .preview-setting select{max-width:110px}
.public-preview-footer{flex-wrap:wrap}.public-preview-tools{flex-wrap:wrap}
@media(max-width:640px){.public-preview-tools{gap:5px}.public-preview-tools .preview-setting{font-size:10px}.public-preview-tools .preview-setting select{padding:7px;max-width:96px}.public-preview-stats{font-size:10px!important}.public-preview-stage{min-height:180px}}
