/* QG : styles isolés, proportions identiques du bureau au mobile. */
.gs-qg{--qg-red:#d11337;--qg-line:#36363b;overflow:hidden;border:1px solid var(--qg-line);border-radius:18px;background:#121316;color:#f7f4ef;margin:24px 0;box-shadow:0 18px 50px #0003}
.gs-qg *{box-sizing:border-box}.gs-qg [hidden]{display:none!important}
.gs-qg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 26px;background:linear-gradient(110deg,#2e151b,#141519 60%)}
.gs-qg .gs-qg-kicker{margin:0 0 5px;font-size:11px;letter-spacing:.16em;color:#ff9cae;font-weight:800}
.gs-qg h2{margin:0;font-size:clamp(23px,3vw,36px);line-height:1.15;overflow-wrap:anywhere}
.gs-qg .gs-qg-rank{font-size:13px;color:#c3bfc0;margin:8px 0 0}
.gs-qg button,.gs-qg select{font:inherit;font-size:13px;line-height:1.3;min-height:42px;border-radius:8px;border:1px solid #525059;background:#232329;color:#fff;padding:10px 14px;cursor:pointer;letter-spacing:normal;text-transform:none;box-shadow:none}
.gs-qg button:hover,.gs-qg select:hover{background:#34333a;border-color:#c18e98}
.gs-qg button:focus-visible,.gs-qg select:focus-visible,.gs-qg input:focus-visible{outline:3px solid #ffe2a7;outline-offset:3px}
.gs-qg button:disabled{cursor:default;opacity:.5}
.gs-qg .gs-qg-primary{background:linear-gradient(120deg,#d3163c,#a70928);border-color:#f23d5f;font-weight:750}
.gs-qg .gs-qg-primary:hover{background:#df2044}
.gs-qg-viewport{overflow:auto;overscroll-behavior:contain;max-height:72vh;max-height:72svh;scrollbar-color:#b6324b #18181d;background:#0b0c0e}
.gs-qg-scene{width:100%;position:relative;isolation:isolate;aspect-ratio:1586/992;flex-shrink:0;overflow:hidden;user-select:none;-webkit-user-select:none}
.gs-qg .gs-qg-background{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;max-width:none;margin:0;border-radius:0;pointer-events:none}
.gs-qg-objects{position:absolute;inset:0;pointer-events:none}
.gs-qg .gs-qg-prop{display:block;position:absolute;transform:translate(-50%,-100%);margin:0;padding:0;border:0;border-radius:3px;background:none!important;min-height:0;line-height:0;box-shadow:none;opacity:1;pointer-events:none}
.gs-qg .gs-qg-prop img{display:block;width:100%;height:auto;max-width:none;margin:0;border-radius:0;pointer-events:none;filter:drop-shadow(0 4px 3px #0003)}
.gs-qg button.gs-qg-prop:disabled{opacity:1}
.gs-qg.is-editing .gs-qg-prop{pointer-events:auto;cursor:grab;touch-action:none}
.gs-qg.is-editing .gs-qg-prop.is-selected{outline:2px dashed #ffe4a3;outline-offset:3px}
.gs-qg.is-editing .gs-qg-prop:active{cursor:grabbing}
.gs-qg.is-saving .gs-qg-prop{pointer-events:none}
.gs-qg.is-editing .gs-qg-viewport{border-top:2px solid #cd294a;border-bottom:2px solid #cd294a}
.gs-qg-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 24px;color:#c7c0bc;font-size:12px;border-bottom:1px solid #ffffff0a}
.gs-qg .gs-qg-welcome{font-size:14px;line-height:1.6;color:#c8c4c1;margin:0;padding:16px 24px}
.gs-qg-editor{padding:22px 24px;border-top:1px solid var(--qg-line)}
.gs-qg-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gs-qg-toolbar label{display:flex;gap:8px;align-items:center;margin-right:auto;font-size:13px}
.gs-qg .gs-qg-help{color:#c6c2bd;font-size:13px;line-height:1.65;margin:16px 0}
.gs-qg-selected{border:1px solid #806b44;background:#292319;padding:16px;border-radius:12px;margin:16px 0}
.gs-qg-selection-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.gs-qg-selection-tools label{display:flex;align-items:center;gap:10px;font-size:13px;flex:1;min-width:220px}
.gs-qg-selection-tools input{accent-color:#e83451;width:110px;max-width:36vw;min-height:35px;margin:0}
.gs-qg-selection-tools output{min-width:43px}
.gs-qg-nudge{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.gs-qg-nudge button{min-width:44px;min-height:44px;font-size:20px;padding:6px}
.gs-qg-nudge span{font-size:12px;color:#d5c9b7;margin-left:4px}
.gs-qg-inventory-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 14px}
.gs-qg-inventory-head h3{margin:0;font-size:20px}.gs-qg-inventory-head>span{font-size:12px;color:#c2bec1}
.gs-qg-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gs-qg .gs-qg-choice{display:flex;flex-direction:column;text-align:left;padding:12px;position:relative;gap:6px;background:#1c1c22;min-width:0;width:100%;height:100%;min-height:230px}
.gs-qg-choice img{width:100%;height:105px;object-fit:contain;margin:0 0 6px;background:radial-gradient(ellipse,#46362d66,transparent 70%)}
.gs-qg-choice strong{font-size:14px;line-height:1.3}.gs-qg-choice small{display:block;font-size:12px;line-height:1.45;color:#c6c1bf}
.gs-qg-choice .gs-qg-choice-state{font-size:11px;font-weight:700;color:#f4c88b;margin-top:auto;padding-top:8px}
.gs-qg .gs-qg-choice[aria-disabled=true]{cursor:default;border-style:dashed}
.gs-qg-choice[aria-disabled=true] img{filter:grayscale(1);opacity:.55}
.gs-qg-choice.is-placed{border-color:#9b7250}.gs-qg-choice.is-selected{outline:2px solid #ffe4a3;outline-offset:2px}
.gs-qg .gs-qg-clear{margin-top:18px;color:#ffc1c8;background:transparent;border-color:#78414d}
.gs-qg .gs-qg-status{font-size:13px;line-height:1.5;margin:0;color:#bce6ca;padding:0 24px}
.gs-qg .gs-qg-status:not(:empty){padding:14px 24px;border-top:1px solid var(--qg-line)}
.gs-qg .gs-qg-status.is-error{color:#ffb7b7}
.gs-qg-passport-details{margin:24px 0;border:1px solid #3b3439;border-radius:14px;background:#17171c;overflow:hidden}
.gs-qg-passport-details>summary{cursor:pointer;padding:18px 22px;color:#f9f1e7;font-weight:750;list-style:disclosure-closed}
.gs-qg-passport-details[open]>summary{list-style:disclosure-open}.gs-qg-passport-details .gs-passport-panel{margin:0;border:0;border-radius:0;box-shadow:none}
.gs-passport-stamp .gs-qg-stamp-reward{display:block;margin-top:12px;font-size:12px;line-height:1.4;color:#f3cb8e;letter-spacing:0;text-transform:none}
@media(max-width:600px){
 .gs-qg-head{padding:18px 16px;align-items:flex-start;flex-direction:column;gap:14px}
 .gs-qg-head>button{min-height:44px}.gs-qg-caption{padding:11px 16px;flex-wrap:wrap;font-size:11px;gap:5px 12px}
 .gs-qg-editor{padding:16px 12px}.gs-qg .gs-qg-welcome{padding:14px 16px;font-size:13px}
 .gs-qg-toolbar{gap:8px}.gs-qg-toolbar label{width:100%}.gs-qg-toolbar>button{flex:1}
 .gs-qg-inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .gs-qg .gs-qg-choice{padding:10px;min-height:230px}.gs-qg-choice img{height:87px}
 .gs-qg-choice strong{font-size:13px}.gs-qg-choice small{font-size:11px}
 .gs-qg-selected{padding:12px}.gs-qg-selection-tools label{min-width:100%;flex:1}
 .gs-qg-nudge{gap:6px}.gs-qg-nudge span{width:100%;margin-top:4px}
}
/* Mobilier vivant — les transformations portent sur l'objet et ses boîtiers. */
.gs-qg-art{display:block;position:relative;width:100%;pointer-events:none}
.gs-qg-books{position:absolute;inset:0;pointer-events:none}
.gs-qg-book-row{position:absolute;left:17%;width:66%;height:18%;display:flex;align-items:flex-end;gap:.4%;pointer-events:none}
.gs-qg-book-row-1{bottom:67%}.gs-qg-book-row-2{bottom:44.5%}.gs-qg-book-row-3{bottom:20%}
.gs-qg .gs-qg-case{display:block;position:relative;flex:0 0 4.6%;height:85%;background:linear-gradient(90deg,#171819,#7d4034 25%,#352725 80%,#151616);border-radius:1px;box-shadow:inset 0 1px 0 #dcc79288,inset -1px 0 1px #0008,1px 0 1px #0009}
.gs-qg-case:after{content:'';position:absolute;top:15%;bottom:12%;left:32%;width:25%;background:linear-gradient(#ccb17d 0 5%,transparent 5% 70%,#a99b77 70% 73%,transparent 73%)}
.gs-qg .gs-qg-case.tone-1{filter:hue-rotate(150deg);height:88%}.gs-qg .gs-qg-case.tone-2{filter:hue-rotate(50deg);height:82%}.gs-qg .gs-qg-case.tone-3{filter:hue-rotate(230deg);height:88%}.gs-qg .gs-qg-case.tone-4{filter:saturate(.2);height:84%}.gs-qg .gs-qg-case.tone-5{filter:hue-rotate(300deg);height:87%}
.gs-qg-starter-bar{display:flex;align-items:center;gap:14px;margin-top:20px;padding:14px;border:1px solid #514436;border-radius:10px;background:#241e18}
.gs-qg-starter-bar>span{font-size:12px;line-height:1.5;color:#d3c5b6}
.gs-qg .gs-qg-starter-bar>button{flex-shrink:0;border-color:#b88b4d;color:#ffe1b4}
.gs-qg .gs-qg-shelf-note{font-size:12px;line-height:1.5;color:#baa990;margin:12px 0}
.gs-qg-inventory-filters{display:flex;gap:7px;overflow:auto;touch-action:auto;overscroll-behavior-y:auto;padding:3px 0 12px}
.gs-qg .gs-qg-inventory-filters button{white-space:nowrap;font-size:12px;padding:8px 12px;min-height:40px}
.gs-qg .gs-qg-inventory-filters [aria-pressed=true]{background:#b81635;border-color:#f24a66}
.gs-qg-inventory{max-height:600px;max-height:min(600px,65svh);overflow-y:auto;overscroll-behavior-y:auto;padding:4px;align-items:stretch}
.gs-qg-prop-desk .gs-qg-art:after{content:'';position:absolute;left:34%;top:12%;width:32%;height:24%;background:#88cce8;opacity:.035;filter:blur(3px);pointer-events:none;animation:gs-qg-screen-life 6s ease-in-out infinite alternate}
.gs-qg-prop-arcade .gs-qg-art:after{content:'';position:absolute;left:29%;top:27%;width:40%;height:23%;background:#70abdc;opacity:.04;filter:blur(3px);pointer-events:none;animation:gs-qg-screen-life 5s ease-in-out infinite alternate}
@keyframes gs-qg-screen-life{from{opacity:.02}to{opacity:.09}}
.gs-qg.is-editing .gs-qg-art:after{animation:none}
@media(prefers-reduced-motion:reduce){.gs-qg-art:after{animation:none!important}}
@media(max-width:600px){.gs-qg-starter-bar{align-items:stretch;flex-direction:column;gap:8px}.gs-qg-starter-bar>span{font-size:11px}}
.gs-qg-theme-picker{margin:18px 0 6px;padding:14px 16px;border:1px solid #3f3942;border-radius:12px;background:#17181d}
.gs-qg-theme-picker label{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}
.gs-qg-theme-picker select{min-width:240px;max-width:100%}
.gs-qg-theme-hint{margin:10px 0 0;font-size:12px;line-height:1.55;color:#d2c5b7}
.gs-qg-caption span[data-qg-room-label]{color:#f3cb8e;font-weight:700}
@media(max-width:600px){.gs-qg-theme-picker{padding:12px}.gs-qg-theme-picker label{flex-direction:column;align-items:flex-start}.gs-qg-theme-picker select{min-width:0;width:100%}}
.gs-qg .gs-qg-choice{position:relative}
.gs-qg-choice-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:#3a2a17;color:#ffd98b;font-size:10px;font-weight:800;letter-spacing:.03em;box-shadow:0 4px 12px #0004}
.gs-qg-choice.is-locked-special{border-style:dashed;border-color:#8b744f;background:#19181d}
.gs-qg-choice.is-locked-special img{filter:grayscale(1) brightness(.72);opacity:.7}
.gs-qg-choice.is-special .gs-qg-choice-state{color:#ffd98b}
.gs-qg-exclusive-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px;background:#000a;backdrop-filter:blur(3px)}
.gs-qg-exclusive-dialog{position:relative;max-width:460px;width:min(100%,460px);padding:24px 22px 20px;border-radius:18px;border:1px solid #6d5340;background:linear-gradient(180deg,#1a1b20,#111216);box-shadow:0 18px 50px #0008;text-align:center}
.gs-qg-exclusive-dialog h4{margin:0 0 8px;font-size:24px;color:#fff3dc}
.gs-qg-exclusive-dialog p{margin:0 0 18px;font-size:14px;line-height:1.65;color:#dfd6cb}
.gs-qg-exclusive-star{font-size:36px;line-height:1;color:#ffd98b;margin-bottom:10px;text-shadow:0 0 16px #f1b34055}
.gs-qg-exclusive-close{position:absolute;top:10px;right:10px;width:38px;height:38px;padding:0;border-radius:50%;font-size:22px;line-height:1}
.gs-qg.has-exclusive-modal .gs-qg-editor{position:relative;z-index:1}
@media(max-width:600px){.gs-qg-choice-badge{top:8px;right:8px;font-size:9px;padding:5px 7px}.gs-qg-exclusive-dialog{padding:22px 16px 18px}.gs-qg-exclusive-dialog h4{font-size:21px}}
