:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#f6edfc;background:#120b1a;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#120b1a}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;background:#765099;color:#fff;padding:10px 15px;font-weight:650}button:hover{filter:brightness(1.14)}button:disabled{opacity:.4;cursor:not-allowed}button.gold,.btn{background:linear-gradient(110deg,#f9d780,#c79735);color:#311c03}button.danger{background:#873849}button.ghost{background:transparent;border:1px solid #654879}button.small{padding:8px 11px;font-size:12px}a{color:#e5c77b}h1,h2,h3,h4,p{margin-top:0}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}h4{font-size:13px}small,.muted{color:#bba9c8}.muted{line-height:1.5}.eyebrow{font-size:10px;letter-spacing:2px;color:#bf9de0;font-weight:700}.app-shell{display:flex;min-height:100vh}.sidebar{width:247px;background:#1c1128;border-right:1px solid #493054;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:24px 18px;border-bottom:1px solid #493054;color:#f3d07c;font-size:13px}.sidebar-brand small{display:block;letter-spacing:2px;font-size:9px;margin-top:3px}.brand-logo{width:42px;height:42px;background:#603d7d;border:1px solid #d5ad51;color:#f6d174;border-radius:13px;display:grid;place-items:center;font-size:29px}.sidebar nav{padding:12px 8px;overflow:auto;flex:1}.nav-item{display:flex;gap:10px;align-items:center;width:100%;padding:10px 14px;border-radius:9px;background:transparent;text-align:left;color:#cfc0d6;font-size:13px}.nav-item:hover{background:#30203c}.nav-item.active{background:#593475;color:#fff;border-left:3px solid #e6ba60}.nav-num{font-size:10px;color:#bcb0d5;width:21px;text-align:center}.side-bottom{padding:17px;border-top:1px solid #493054;display:grid;gap:10px}.side-bottom span{color:#e5d4ef;word-break:break-all;font-size:11px}.main-column{flex:1;min-width:0}.topbar{padding:19px 25px;border-bottom:1px solid #473254;display:flex;justify-content:space-between;align-items:center;background:#1c1026;gap:15px}.topbar h1{margin:4px 0 0;font-size:22px}.top-actions{display:flex;align-items:center;gap:13px;color:#b9a5c8;font-size:11px}.connected{color:#8edaba}.content{padding:22px 25px 50px;max-width:1680px;margin:auto}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel,.stat-card{background:#21162c;border:1px solid #4b365a;border-radius:15px;padding:20px;min-width:0}.panel + .panel{margin-top:16px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-title h2{margin:0}.stat-card .value{font-size:30px;font-weight:780;color:#f5d78c}.stat-card .label{font-size:12px;color:#b9a6c8;margin:0 0 7px}.hint{padding:12px 14px;color:#decceb;background:#382447;border:1px solid #6d4c75;border-radius:10px;line-height:1.5}.warning{padding:12px 14px;color:#ffe4b3;background:#433021;border:1px solid #83663c;border-radius:10px;line-height:1.5}.success{padding:12px 14px;color:#a9f2c7;background:#18462e;border:1px solid #458867;border-radius:9px}.error{padding:12px;color:#ffc6c6;background:#552433;border:1px solid #a65965;border-radius:9px;margin:12px 0}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px;align-items:center}.toolbar .spacer{flex:1}label{display:block;font-weight:650;font-size:12px;color:#dccce5;margin:10px 0}input,select,textarea{display:block;width:100%;background:#160e1e;border:1px solid #655071;border-radius:9px;color:#fff;padding:9px 11px;margin-top:5px;outline:0}input:focus,select:focus,textarea:focus{border-color:#e6b65c}input[type=checkbox]{width:auto;display:inline;margin:0 8px 0 0}input[type=file]{padding:8px}input[type=range]{padding:0}textarea{resize:vertical;min-height:105px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}select option{background:#191020}.row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.row-fields.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.field-note{font-size:11px;color:#ad9abc;line-height:1.55}.table-wrap{overflow:auto;max-height:590px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px 9px;border-bottom:1px solid #443053;font-size:12px;vertical-align:middle}th{color:#d9b978;font-size:11px;white-space:nowrap;position:sticky;top:0;background:#21162c}td .sub{display:block;font-size:10px;color:#a79bb3;margin-top:3px}td button{font-size:11px;padding:6px 10px;margin:2px}.pill{display:inline-block;background:#453053;border:1px solid #755887;border-radius:20px;padding:3px 9px;font-size:10px}.pill.live{background:#20523d;border-color:#427a62;color:#b9f0cc}.pill.draft{background:#45363f;color:#e6bd8b}.empty{padding:30px;text-align:center;color:#b8a6c2;border:1px dashed #5b426a;border-radius:12px}.editor-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.95fr);gap:16px;align-items:start}.template-box{border:1px solid #553e63;border-radius:11px;background:#291a35;padding:12px;margin-bottom:10px}.template-box h3{color:#f3d38b;margin:0 0 10px}.template-box summary{font-weight:700;color:#f5d78b;cursor:pointer}.template-box details[open] summary{margin-bottom:10px}.preview-stage{aspect-ratio:16/9;background:#23102f;border:2px solid #9b719f;border-radius:12px;position:relative;overflow:hidden;min-height:220px;user-select:none}.preview-stage .bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.preview-stage .zone-header,.preview-stage .zone-footer,.preview-stage .zone-left{position:absolute;border:1px dashed #ad84be;background:#3d275966;color:#f1d893;pointer-events:none;font-size:9px;display:grid;place-items:center;text-align:center}.preview-stage .zone-header{top:0;left:0;width:100%;height:17%}.preview-stage .zone-footer{bottom:0;left:0;width:100%;height:11%}.preview-stage .zone-left{left:0;top:21%;width:20%;height:66%}.preview-stage .lobby-item{position:absolute;border:1px solid transparent;display:flex;justify-content:center;align-items:center;flex-direction:column;cursor:move;text-align:center;touch-action:none}.preview-stage .lobby-item img{max-width:100%;max-height:85%;object-fit:contain;pointer-events:none}.preview-stage .lobby-item span{font-size:9px;color:#fce099;text-shadow:0 1px 2px black;pointer-events:none}.preview-stage .lobby-item.selected{border:2px dashed #ffdf6c;background:#e7b94722}.resize-handle{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:3px;background:#ffdf77;cursor:nwse-resize;display:none}.lobby-item.selected .resize-handle{display:block}.game-zone{position:absolute;left:20%;width:79%;top:23%;height:62%;overflow:hidden}.game-scroll{height:100%;width:100%;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:18%;grid-auto-flow:column;overflow-x:auto;scrollbar-width:none;gap:2px;scroll-behavior:smooth;padding:0 17px}.game-scroll::-webkit-scrollbar{display:none}.game-card{border:1px solid transparent;background:#6d479136;border-radius:7px;display:flex;justify-content:center;align-items:center;flex-direction:column;cursor:pointer;min-width:0;padding:3px}.game-card.selected{border:2px solid #f4d170;background:#8c5aae55}.game-card img{max-width:95%;height:78%;object-fit:contain}.game-card span{font-size:9px;color:#fff1be;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.game-card.double{grid-row:span 2}.scroll-arrow{position:absolute;top:45%;z-index:4;background:#362044b9;border:1px solid #b18b3b;padding:3px 5px;color:#f6d77c;border-radius:4px}.scroll-arrow.left{left:0}.scroll-arrow.right{right:0}.color-preview{height:28px;width:100%;border-radius:5px;border:1px solid #6c5880}.modal-backdrop{position:fixed;inset:0;background:#08040bd9;z-index:99;display:grid;place-items:center;padding:12px}.modal-backdrop.hidden{display:none}.modal{width:min(680px,96vw);max-height:94vh;overflow-y:auto;background:#21132d;border:1px solid #ab7ebc;border-radius:15px;padding:20px;box-shadow:0 20px 70px #0009}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0}.icon-button{background:#522d65;font-size:25px;padding:2px 12px}.toast{position:fixed;bottom:24px;right:24px;z-index:120;max-width:480px;box-shadow:0 8px 30px #0007;background:#305c45;border:1px solid #a4cbb1;padding:15px 20px;border-radius:9px;display:none}.toast.error-toast{background:#63303d;border-color:#e38ca1}.popup-preview{position:relative;background:#37174e;border:2px solid #d8ae59;border-radius:15px;margin:15px auto;padding:18px;max-width:100%;min-height:100px}.popup-preview h2{color:#ffe499}.popup-preview .popup-button{display:block;background:#ca9b48;color:#23122b;margin:8px auto;padding:10px;border-radius:9px;font-weight:700;text-align:center}.install,.login-shell{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 50% 25%,#4a285f,#120b1a 65%)}.install-card,.login-card{width:min(480px,94vw);padding:30px;background:#23172d;border:1px solid #745488;border-radius:18px;box-shadow:0 24px 90px #0007}.login-card h1{text-align:center;color:#ffe2a0;font-size:23px;margin:7px 0}.login-card .brand-logo{margin:auto;width:64px;height:64px;font-size:37px}.login-card p{text-align:center}.install-card button,.login-card button{width:100%;margin-top:15px}.install-card hr{border:0;border-top:1px solid #4d3958;margin:19px 0}.code{font-family:ui-monospace,Consolas,monospace;word-break:break-word;font-size:12px;color:#d8c0e9}.actions{display:flex;gap:6px;flex-wrap:wrap}.footnote{color:#b29fc0;font-size:11px;margin-top:10px;line-height:1.5}@media(max-width:1150px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:1fr}.sidebar{width:208px}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar nav{display:flex;overflow:auto}.nav-item{width:max-content;white-space:nowrap}.side-bottom{display:none}.topbar{padding:15px;flex-direction:column;align-items:flex-start}.content{padding:13px}.grid,.two-col,.three-col{grid-template-columns:1fr}.row-fields.triple{grid-template-columns:1fr}.editor-layout{grid-template-columns:1fr}.preview-stage{min-height:180px}.top-actions{flex-wrap:wrap}}

/* Dashboard-only enhancement — scoped, no effect on Lobby/Popup editors */
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.dash-top h2{margin-bottom:4px;color:#ffe29a;font-size:23px}.dash-top p{margin-bottom:3px}
.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dash-card{min-height:136px;display:flex;flex-direction:column;justify-content:center}
.dash-card .value{font-size:clamp(19px,2vw,27px);overflow-wrap:anywhere;line-height:1.25;margin-bottom:8px}
.dash-card small{font-size:11px;line-height:1.4}.dash-card .label{font-weight:700;color:#e2cadf}
.dash-data-note{font-size:12px;color:#c6b4ce;margin:11px 1px 20px;line-height:1.5}
.dash-panels{align-items:start}.dash-search{display:flex;align-items:end;gap:11px;margin-bottom:14px}
.dash-search-label{flex:1;margin:0}.dash-search input{margin-top:7px}.dash-search button{white-space:nowrap}
.dash-results .table-wrap{max-height:380px}.dash-warning-scroll{display:grid;gap:10px;max-height:410px;overflow:auto}
.dash-warning-row{border:1px solid #6c4a53;background:#382635;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;justify-content:space-between}
.dash-warning-row strong{color:#ffe1a5;display:block;margin-bottom:4px}.dash-warning-row small{display:block;color:#d1b8c8;margin-top:5px}
.dash-warning-row button{white-space:nowrap;font-size:11px;padding:8px 10px}
.dash-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.dash-detail>div{background:#33213e;border:1px solid #593967;border-radius:9px;padding:11px;min-width:0}
.dash-detail strong{display:block;color:#bba4c8;font-size:11px;margin-bottom:6px}
.dash-detail span{display:block;font-size:13px;overflow-wrap:anywhere}
.dash-modal-divider{border-top:1px solid #5e426c;margin:19px 0}
@media(max-width:1150px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dash-metrics,.dash-detail{grid-template-columns:1fr}.dash-search{flex-direction:column;align-items:stretch}.dash-warning-row{flex-direction:column;align-items:stretch}}

/* 3 Patti Jalwa Lobby Studio v3 — visual free-move editor */
.preview-stage{background:radial-gradient(circle at 50% 45%,#47245b,#1d0d28 80%);overflow:hidden;touch-action:pan-y}
.preview-stage .zone-outline{position:absolute;pointer-events:none;border:1px dashed rgba(219,169,245,.14);background:transparent;z-index:1}
.preview-stage .outline-header{top:0;left:0;width:100%;height:17%}
.preview-stage .outline-footer{bottom:0;left:0;width:100%;height:11%}
.preview-stage .outline-left{left:0;top:21%;width:20%;height:66%}
.preview-stage .lobby-item{z-index:12;overflow:visible;touch-action:none}
.preview-stage .lobby-item img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;pointer-events:none}
.preview-stage .lobby-item span{display:none}
.preview-stage .lobby-item.is-label span{display:block;font-size:11px;color:#ffe3a8}
.preview-stage .lobby-item.selected{background:rgba(255,222,110,.08);outline:1px dashed #ffdf6c}
.preview-stage .empty-art{font-size:10px;color:#c9aad4;border:1px dotted rgba(243,216,138,.35);border-radius:6px;padding:6px;pointer-events:none;text-align:center}
.preview-stage .resize-handle{height:17px;width:17px;right:-5px;bottom:-5px;display:none;z-index:25;cursor:nwse-resize;background:#ffdf77;border:2px solid #5e2c65;box-shadow:0 0 8px #000a;touch-action:none}
.preview-stage .lobby-item.selected>.resize-handle,.preview-stage .game-card.selected .resize-handle{display:block}
.game-zone{z-index:7;left:20%;top:22%;width:79%;height:64%;overflow:hidden;touch-action:pan-x}
.game-scroll{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:18.18%;grid-auto-flow:column;gap:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:none;padding:0 2px;overscroll-behavior-x:contain}
.game-scroll .game-card{position:relative;border:1px solid transparent;display:flex;align-items:center;justify-content:center;background:transparent;touch-action:pan-x;padding:3px;overflow:visible}
.game-scroll .game-card.selected{border:1px dashed #ffdf78;background:#f4d1700b}
.game-scroll .game-card .game-art{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;min-width:16%;min-height:18%;cursor:grab;touch-action:pan-x}
.game-scroll .game-card .game-art img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;pointer-events:none}
.game-scroll .game-card.dragging{z-index:18}
.game-scroll .game-card.dragging .game-art{cursor:grabbing;opacity:.82}
.game-scroll .game-card span{display:none}
.game-scroll .game-card.double{grid-row:span 2}
.game-zone .scroll-arrow{position:absolute;z-index:20;top:42%;opacity:0;pointer-events:none;transition:opacity .22s ease;min-width:25px;height:40px;border:1px solid #bc9246;border-radius:10px;background:rgba(50,21,62,.85);font-size:22px;color:#ffdb86}
.game-zone.swipe-active .scroll-arrow:not(:disabled){opacity:1;pointer-events:auto}
.game-zone .scroll-arrow:disabled{opacity:0!important;pointer-events:none!important}
.lobby-bg-panel{margin-bottom:14px}
.lobby-bg-panel .row-fields{align-items:end}
.canvas-panel .preview-stage{width:100%}
.canvas-panel.expanded{position:fixed!important;z-index:90!important;inset:12px!important;background:#1b1025!important;overflow:auto!important;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:18px!important;box-shadow:0 0 0 100vmax rgba(0,0,0,.74)}
.canvas-panel.expanded .preview-stage{height:auto;min-height:0;width:min(95%,calc(77vh * 16 / 9));max-height:77vh;margin:auto;flex:none}
.canvas-panel.expanded .panel-title,.canvas-panel.expanded>.field-note{width:min(95%,calc(77vh * 16 / 9));margin:8px auto}
.editor-panel button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:900px){.lobby-bg-panel .row-fields{grid-template-columns:1fr}.canvas-panel.expanded .preview-stage{width:98%;max-height:70vh}}
/* 3 Patti Jalwa - Image Stretch Fix */

/* Lobby background: preserve image proportions */
.preview-stage .bg-img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center center;
    background: #23102f;
}

/* Normal lobby icons */
.preview-stage .lobby-item img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
}

/* Scrollable game icons */
.preview-stage .game-card .game-art img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
}
/* Welcome / Splash landscape editor: scoped, preserves Lobby and Dashboard */
.welcome-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 14px;background:#281a33;border:1px solid #533e61;border-radius:12px;margin-bottom:16px}
.welcome-tabs .spacer{flex:1}
.welcome-stage{width:100%;position:relative;aspect-ratio:16/9;border:2px solid #c99b57;border-radius:12px;background:#251336;overflow:hidden;user-select:none;touch-action:none}
.welcome-stage .welcome-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#24112f}
.welcome-element{position:absolute;display:flex;justify-content:center;align-items:center;gap:5px;padding:2px 7px;overflow:visible;font-weight:800;text-align:center;cursor:grab;touch-action:none;box-shadow:0 2px 9px #0004;white-space:nowrap}
.welcome-element span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;pointer-events:none;font-size:inherit}
.welcome-element img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.welcome-element img+span{position:absolute;bottom:-16px;color:#ffdd80;text-shadow:0 1px 3px #000;max-width:120%}
.welcome-element.as-label{background:transparent!important;box-shadow:none}
.welcome-element.selected{outline:2px dashed #ffe083;outline-offset:3px;z-index:12}
.welcome-resizer{position:absolute;right:-7px;bottom:-7px;width:18px;height:18px;border-radius:5px;background:#ffda70;border:2px solid #4e276a;cursor:nwse-resize;touch-action:none;display:none}
.welcome-element.selected .welcome-resizer{display:block}
@media(max-width:700px){.welcome-tabs .pill{display:none}.welcome-element span{font-size:9px}}

/* Phase 2 universal popup block editor */
#jb-builder-panel{margin-top:16px}.jb-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.jb-block-list{display:grid;gap:6px;margin-bottom:14px}.jb-block{display:flex;align-items:center;gap:7px;background:#34213f;border:1px solid #76578b;border-radius:9px;padding:7px;cursor:grab}.jb-block.selected{border-color:#ffdb75;background:#4b3056}.jb-grip{color:#dbbe7d;cursor:grab}.jb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.jb-block button{padding:5px 8px}.jb-properties{padding:14px;border:1px solid #624775;border-radius:10px;background:#271a35}.jb-properties h3{color:#f9d780}.jb-properties small{color:#baa5cc}.jb-properties select{width:100%}

/* Phase 2B: editor-only canvas controls */
.uc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;padding:10px;border:1px solid #624971;border-radius:10px;background:#271833}.uc-toolbar button{padding:6px 9px;font-size:11px}.uc-toolbar .uc-check{display:inline-flex;align-items:center;gap:5px;margin:0 5px 0 0;white-space:nowrap}.uc-toolbar .uc-check input{margin:0}.uc-tip{font-size:10px;color:#bba9c8}.preview-stage.uc-grid::after,.welcome-stage.uc-grid::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:200;background-image:linear-gradient(to right,#f7d57b20 1px,transparent 1px),linear-gradient(to bottom,#f7d57b20 1px,transparent 1px);background-size:2% 2%}

/* Phase 2C component library */
.uc-library{margin:10px 0 14px;padding:12px;border:1px solid #69507c;background:#251830;border-radius:10px}.uc-library-title{font-weight:700;color:#f3d38b;margin-bottom:8px}.uc-library-title small{font-weight:400;color:#c1aeca}.uc-library-buttons{display:flex;flex-wrap:wrap;gap:7px}.uc-library-buttons button{padding:7px 9px;font-size:11px}.uc-library .field-note{margin:8px 0 0}

/* Phase 2D scalable game UI canvas */
.jb-game-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(250px,1fr);gap:16px}.jb-game-stage{position:relative;width:100%;aspect-ratio:16/9;border:2px solid #b59a65;border-radius:10px;overflow:hidden;user-select:none;touch-action:none}.jb-game-el{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed transparent;cursor:grab;text-align:center;font-size:clamp(10px,1.2vw,22px);overflow:hidden}.jb-game-el.active{border:2px dashed #fbd578;background-color:#a46baa26}.jb-game-el img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.jb-game-el small{font-size:9px;opacity:.8}.jb-game-resize{display:none;position:absolute;width:13px;height:13px;right:0;bottom:0;background:#ffd75b;cursor:nwse-resize}.jb-game-el.active .jb-game-resize{display:block}.jb-game-props{min-width:0}@media(max-width:900px){.jb-game-layout{grid-template-columns:1fr}}

/* Phase 2E: code-to-editable-canvas panel */
.jb-json-box{margin:12px 0;padding:16px;background:#190e25;border:1px solid #705188;border-radius:12px}.jb-json-box[hidden]{display:none}.jb-json-box textarea{min-height:220px;font-family:monospace;white-space:pre;tab-size:2}

/* Lobby Studio: game title caption for every scrollable game image. */
.preview-stage .game-scroll .game-card{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  overflow:hidden;
}
.preview-stage .game-scroll .game-card .game-art{
  flex:1 1 auto;
  min-height:0;
  max-height:calc(100% - 22px);
  width:100%;
}
.preview-stage .game-scroll .game-card .game-art img{
  width:100%;height:100%;object-fit:contain;
}
.preview-stage .game-scroll .game-card .jl-game-name{
  display:block;
  flex:0 0 auto;
  width:100%;
  max-width:100%;
  font-size:clamp(8px,.85vw,12px);
  line-height:1.15;
  text-align:center;
  font-weight:750;
  color:#ffe3a4;
  text-shadow:0 1px 3px #170a22;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
.preview-stage .game-card.double .jl-game-name{font-size:clamp(9px,1vw,14px)}
.jl-game-name-setting{display:flex;align-items:center;gap:5px}
.jl-game-name-setting input{width:auto;margin:0 5px 0 0}

/* Unified Game Control Center, scoped; existing Lobby/Popup editors unaffected. */
.gcc-hero,.gcc-line,.gcc-game-head{display:flex;justify-content:space-between;align-items:center;gap:13px;flex-wrap:wrap}
.gcc-hero{margin:0 0 17px}.gcc-hero h2{margin:0;color:#ffe3a0}.gcc-hero p{margin:5px 0 0}
.gcc-layout{display:grid;grid-template-columns:minmax(190px,225px) minmax(0,1fr);gap:16px;align-items:start}
.gcc-list{position:sticky;top:14px;max-height:calc(100vh - 110px);overflow-y:auto;padding:12px}.gcc-list h3{margin:5px 7px 12px;font-size:14px}
.gcc-game{display:block;text-align:left;width:100%;padding:13px 10px;background:#301c3d;border:1px solid #50365c;margin:6px 0;border-radius:9px;color:#f8e5c7;cursor:pointer}
.gcc-game.selected{background:#5b3472;border-color:#e9bd62;box-shadow:inset 3px 0 #f0c761}.gcc-game b{display:block;font-size:12px}.gcc-game small{display:block;color:#b9a0c5;margin-top:4px;font-size:10px}
.gcc-detail{min-width:0}.gcc-game-head{padding:17px;margin-bottom:11px}.gcc-game-head h2{color:#f9dc9a;font-size:20px;margin:0 0 6px;overflow-wrap:anywhere}.gcc-game-head p{margin:0}
.gcc-status{display:inline-block;vertical-align:middle;background:#5e3b48;border:1px solid #9b6679;border-radius:14px;padding:4px 8px;color:#f8d6df;font-size:10px;margin-left:8px;text-transform:uppercase}.gcc-status.is-active{background:#22543e;border-color:#458362;color:#bcf0c9}
.gcc-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:3px 0 14px}.gcc-tabs button{background:#30203e;border:1px solid #6f5181;color:#e9d7ee;font-size:11px;padding:10px 12px;white-space:nowrap}.gcc-tabs button.selected{background:#81509c;color:#fff;border-color:#efc971}
.gcc-screen .panel{margin-bottom:13px}.gcc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.gcc-metrics>.panel,.gcc-metrics>div{min-width:0}.gcc-metrics small{display:block;color:#d5adca;font-size:11px;margin-bottom:7px}.gcc-metrics strong{display:block;font-size:22px;color:#ffe2a0;overflow-wrap:anywhere}.gcc-metrics p{font-size:11px;margin:6px 0;color:#bcb1c5}
.gcc-metrics.small{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gcc-metrics.small>div{border:1px solid #674b75;background:#2c1939;border-radius:8px;padding:10px}.gcc-metrics.small b{font-size:15px;color:#ffe5b0;display:block;overflow-wrap:anywhere}
.gcc-twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gcc-info{border:1px solid #5b4168;padding:13px;margin:15px 0;border-radius:9px;line-height:2}.gcc-link{display:inline-block;border:1px solid #b08a54;border-radius:7px;padding:10px 13px;color:#ffdc9d;background:#41244e;text-decoration:none}
.gcc-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;margin-top:16px}.gcc-asset{background:#291735;border:1px solid #594368;border-radius:9px;padding:9px;min-width:0;display:flex;flex-direction:column;gap:6px}.gcc-asset img{width:100%;height:90px;object-fit:contain;background:#1f102a}.gcc-asset b{font-size:11px;word-break:break-word}.gcc-asset small{font-size:10px;color:#cfb4d6}.gcc-asset button{margin-top:auto}.gcc-audio{height:90px;display:grid;place-items:center;font-size:31px;color:#f1cb7e}
@media(max-width:1100px){.gcc-layout{grid-template-columns:1fr}.gcc-list{position:static;max-height:none}.gcc-game{display:inline-flex;flex-direction:column;width:auto;min-width:125px;margin:3px}.gcc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.gcc-twocol{grid-template-columns:1fr}.gcc-metrics.small{grid-template-columns:1fr}.gcc-hero .toolbar{width:100%}}

/* Stage 14O: Asset Library safe removal and broken-image diagnostics */
.jl-asset-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.jl-asset-actions button{font-size:11px;padding:6px 9px;margin:0}
.jl-broken-asset{background:rgba(150,43,45,.13)}
.jl-broken-label{display:block;font-size:11px;color:#ffbcbc;margin-top:5px}
.jl-archive-panel{margin-top:18px;border-top:1px solid #5d426a;padding-top:14px}
.jl-archive-panel summary{cursor:pointer;color:#e5c77b;font-weight:700;margin-bottom:12px}

/* Splash Templates: image is the whole button, never a text-backed duplicate. */
.welcome-stage .welcome-element.has-artwork{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible}
.welcome-stage .welcome-element.has-artwork img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}
.welcome-stage .welcome-element.has-artwork span{display:none!important}
.welcome-stage .welcome-element.awaiting-artwork{padding:3px;border:1px dashed #e6bf70;background:rgba(28,16,42,.35)!important;box-shadow:none;white-space:normal}
.welcome-stage .welcome-element.awaiting-artwork span{font-size:11px;color:#ffe6a3;text-shadow:0 1px 3px #000}
