.gl-title{align-items:flex-start}
.gl-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(6,minmax(120px,1fr));gap:11px;margin-bottom:21px;padding:14px}.gl-toolbar label{display:grid;gap:6px}.gl-toolbar label>span{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.7px;text-transform:uppercase}.gl-toolbar input,.gl-toolbar select{width:100%;min-width:0;height:44px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background-color:var(--surface-soft);color:var(--ink);font-size:14px;outline:0;transition:border-color .15s,background-color .15s,box-shadow .15s}.gl-toolbar select{padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23aeb4be' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.gl-toolbar input:hover,.gl-toolbar select:hover{border-color:var(--ink)}.gl-toolbar input:focus-visible,.gl-toolbar select:focus-visible{border-color:var(--info-border);box-shadow:0 0 0 2px rgba(69,143,255,.22)}.gl-toolbar .is-active{border-color:var(--peach);background-color:color-mix(in srgb,var(--peach) 8%,var(--surface-soft))}
.gl-section-head{margin-bottom:11px}.gl-section-head h2{margin:0;font-size:20px}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}.gl-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--panel);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.gl-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent2) 60%,var(--border));box-shadow:0 14px 30px rgba(0,0,0,.2)}.gl-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--panel2)}.gl-media>img{display:block;width:100%;height:100%;object-fit:cover}.gl-placeholder{position:absolute;inset:0;display:none;place-items:center;align-content:center;gap:6px;color:var(--accent2);font-size:28px}.gl-placeholder span{color:var(--muted);font-size:9px;letter-spacing:.7px;text-transform:uppercase}.gl-media.missing .gl-placeholder{display:grid}.gl-video-frame{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0;background:#000}.gl-score{position:absolute;z-index:3;right:9px;bottom:9px;min-width:42px;padding:7px 9px;border-radius:8px;background:rgba(9,11,15,.88);color:#fff;text-align:center;backdrop-filter:blur(9px);box-shadow:0 3px 14px rgba(0,0,0,.25)}.gl-score b{display:block;color:#ffad78;font-size:17px;font-weight:650}.gl-actions{position:absolute;z-index:4;left:9px;bottom:9px;display:flex;gap:6px}.gl-actions button{min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(9,11,15,.88);color:#fff;font:inherit;font-size:11px;font-weight:650;backdrop-filter:blur(9px);cursor:pointer}.gl-actions button:hover:not(:disabled),.gl-actions button:focus-visible{border-color:var(--accent2);outline:0}.gl-actions button:disabled{cursor:not-allowed;opacity:.52}.gl-empty{padding:50px;text-align:center}.gl-empty h2{margin:0 0 6px}.gl-empty p{margin:0;color:var(--muted)}
.gl-test-plan{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:13px 15px}.gl-test-plan>div{display:flex;align-items:baseline;gap:8px;min-width:0}.gl-test-plan small{color:var(--muted);font-size:9px;letter-spacing:.6px;text-transform:uppercase}.gl-test-plan b{font-size:14px}.gl-test-plan span{color:var(--muted);font-size:12px}.gl-test-plan>strong{margin-left:auto;color:var(--accent2);font-size:15px}.gl-test-modal{display:grid;gap:14px}.gl-test-modal>h2{margin:0}.gl-test-modal>p{margin:-8px 0 0;color:var(--muted)}.gl-test-modal>label{display:grid;gap:6px;color:var(--muted);font-size:12px}.gl-test-modal>label span{font-weight:400}.gl-test-modal select,.gl-test-modal input,.gl-test-modal textarea{width:100%}.gl-test-modal textarea{min-height:94px;resize:vertical}.gl-test-week{min-height:58px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--muted);font-size:12px}.gl-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.gl-week-grid span{padding:8px 5px;border:1px solid var(--border);border-radius:7px;text-align:center}.gl-week-grid span.available{border-color:var(--success-border)}.gl-week-grid span.occupied{border-color:color-mix(in srgb,var(--border) 55%,transparent)}.gl-week-grid span.occupied b{opacity:.55}.gl-week-grid b,.gl-week-grid small{display:block}.gl-week-grid small{margin-top:3px;color:var(--muted);font-size:8px}.gl-test-error{min-height:16px;color:var(--danger);font-size:12px}
.gl-untested{margin-top:12px;padding-top:11px;border-top:1px solid var(--hairline);color:var(--muted);font-size:12px}.gl-more{display:flex;justify-content:center;padding:24px 0}.gl-detail-untested{margin:14px 0;padding:14px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-soft);color:var(--muted)}
.gl-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.gl-detail-head h2{margin:5px 0 14px}.gl-detail-preview{display:grid;width:100%;height:360px;place-items:center;border:0;border-radius:11px;background:var(--panel2);object-fit:contain}.gl-detail-missing{display:grid;height:220px;place-items:center;border-radius:11px;background:var(--panel2);color:var(--muted)}.gl-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.gl-detail-grid>div{padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}.gl-detail-grid b{display:block;margin-top:5px;font-size:16px}.gl-identity{display:grid;gap:5px;margin:14px 0;padding:11px;border:1px solid var(--border);border-radius:9px}.gl-identity b{font-size:10px}.gl-identity code{overflow-wrap:anywhere;color:var(--accent2);font-size:11px}.gl-posts h3{margin:20px 0 7px}.gl-post{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.gl-post>div{min-width:0}.gl-post>div>span{margin-right:7px;color:var(--muted);font-size:9px}.gl-post a{color:var(--text);font-weight:650;text-decoration:none}.gl-post a:hover{text-decoration:underline}.gl-post p{margin:5px 0;color:var(--muted);font-size:10.5px}.gl-post>div>small{display:block;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.gl-post>strong{color:var(--accent2);font-size:12px;text-align:right;white-space:nowrap}.gl-post>strong small{display:block;margin-top:4px;color:var(--muted);font-size:8.5px;font-weight:450}
@media(max-width:1200px){.gl-toolbar{grid-template-columns:repeat(3,minmax(150px,1fr))}.gl-toolbar .wide{grid-column:span 3}}
@media(max-width:850px){.gl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gl-title{display:block}.gl-title>.row{margin-top:12px}.gl-toolbar{grid-template-columns:1fr}.gl-toolbar .wide{grid-column:auto}.gl-grid{grid-template-columns:1fr}.gl-section-head{align-items:flex-start;flex-direction:column}.gl-detail-grid{grid-template-columns:repeat(2,1fr)}.gl-detail-preview{height:260px}.gl-post{display:block}.gl-post>strong{display:block;margin-top:8px;text-align:left}.gl-test-plan{align-items:flex-start;flex-wrap:wrap}.gl-test-plan>div{align-items:flex-start;flex-direction:column;gap:3px}.gl-test-plan>strong{margin-left:0}.gl-week-grid{grid-template-columns:repeat(2,1fr)}}

.gl-subreddit-picker{position:relative;display:grid;gap:6px;color:var(--muted);font-size:12px}.gl-sub-input{position:relative}.gl-sub-input input{padding-right:32px}.gl-sub-input>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.gl-sub-list{position:absolute;z-index:10;top:100%;left:0;right:0;max-height:230px;overflow:auto;background:var(--surface-solid,#191e26);border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 30px #0005;padding:4px}.gl-sub-list[hidden]{display:none}.gl-sub-list button{display:block;width:100%;text-align:left;background:transparent;color:var(--body,#f4f4f5);border:0;border-radius:5px;padding:10px 12px;font:inherit;cursor:pointer}.gl-sub-list button:hover,.gl-sub-list button:focus{background:var(--panel2);outline:1px solid var(--border)}.gl-sub-empty{padding:12px}

.gl-sub-input input{min-height:44px}.gl-sub-list button:hover,.gl-sub-list button:focus{background:var(--hover,rgba(128,128,128,.16))}.gl-sub-list{isolation:isolate}

/* The test editor uses the existing Review media and context components. */
.modal.wide:has(.gl-test-workspace){width:min(1280px,96vw);height:min(90vh,960px);max-height:90vh}
.gl-test-workspace{height:100%;min-height:0;display:flex;flex-direction:column;gap:16px}
.gl-test-workspace .modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.gl-test-workspace h2{margin:0}.gl-test-workspace .modal-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.gl-test-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr);gap:24px;flex:1;min-height:0}
.gl-test-preview{min-height:0;display:flex;flex-direction:column;background:#000}
.gl-test-preview .media-editor-preview{flex:1;min-height:300px;width:100%;border-radius:0}
.gl-test-preview .media-editor-preview iframe{height:100%;min-height:420px}
.gl-test-fields{display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:0;padding-right:8px}
.gl-test-fields>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.gl-test-context{padding:12px 16px}.gl-test-context .review-context-block{padding:10px 0}
.gl-test-titles{padding-left:22px;max-height:220px;overflow-y:auto;margin-bottom:0}
.gl-test-titles li{padding:6px 0;overflow-wrap:anywhere}.gl-test-titles li>span{margin-right:8px}.gl-test-titles button{float:right;margin:0 0 4px 8px}
.gl-test-fields .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:0;padding-bottom:2px}
@media(max-width:820px){.modal.wide:has(.gl-test-workspace){height:auto;max-height:94vh;width:96vw;overflow:auto}.gl-test-layout{display:flex;flex-direction:column;gap:16px}.gl-test-fields{overflow:visible;padding-right:0}.gl-test-preview{height:45vh;min-height:260px;flex:none}.gl-test-preview .media-editor-preview iframe{min-height:260px}.gl-test-workspace{height:auto}.gl-test-titles{max-height:180px}}

.gl-week-grid .available small{color:var(--success)}
.gl-week-grid .occupied small{color:light-dark(#b91c1c,#fca5a5)}

.gl-prototype-notice{margin:0;padding:9px 12px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:12px}
.gl-test-preview:has(#glGalleryComposition){overflow:auto;display:block;padding:14px}
.gl-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.gl-gallery-selected{list-style:none;margin:0;padding:0;display:grid;gap:10px}.gl-gallery-selected li{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px}.gl-gallery-selected img{width:110px;height:135px;object-fit:contain;background:var(--panel2);border-radius:5px}.gl-gallery-selected b,.gl-gallery-selected small{display:block;overflow-wrap:anywhere}.gl-gallery-selected small{color:var(--muted);margin-top:4px}.gl-gallery-order{display:flex;gap:5px;margin-top:10px}.gl-gallery-order button{font:inherit;font-size:12px;padding:5px 8px;background:var(--surface);color:var(--body);border:1px solid var(--border);border-radius:5px}.gl-gallery-order button:disabled{opacity:.4}.gl-gallery-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.gl-gallery-filters label{font-size:12px;color:var(--muted)}.gl-gallery-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gl-gallery-picker-grid button{padding:5px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--body);text-align:left;cursor:pointer}.gl-gallery-picker-grid button:disabled{opacity:.45}.gl-gallery-picker-grid img{width:100%;height:125px;object-fit:contain;background:var(--panel2)}.gl-gallery-picker-grid span,.gl-gallery-picker-grid small{display:block;font-size:11px;overflow-wrap:anywhere}.gl-gallery-picker-grid small{color:var(--muted)}.gl-gallery-review{padding:14px}.gl-gallery-review h3{margin:0 0 8px}.gl-gallery-review p{font-size:13px;overflow-wrap:anywhere}.gl-gallery-review .btn{margin-top:8px}
@media(max-width:820px){.gl-test-preview:has(#glGalleryComposition){height:auto;max-height:55vh}.gl-gallery-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
