[hidden]{display:none!important}

:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f6f6;background:#0b0b0b}
*{box-sizing:border-box}body{margin:0;background:#0b0b0b;color:#f6f6f6}
button,input,select,textarea{font:inherit}
.topbar{position:sticky;top:0;z-index:10;background:#111;border-bottom:1px solid #2a2a2a;padding:16px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.brand{font-size:1.4rem;font-weight:900;letter-spacing:.04em}.brand span{color:#f4c928}.sub,.muted{color:#aaa}
.libbox{display:flex;align-items:end;gap:8px}.libbox label{margin:0;min-width:220px}
main{max-width:1200px;margin:auto;padding:18px}
.card{background:#141414;border:1px solid #2c2c2c;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}h2{margin:0 0 4px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wide{grid-column:1/-1}
label{display:block;font-size:.82rem;color:#bdbdbd;margin-bottom:2px}
input,select,textarea{width:100%;margin-top:5px;background:#0d0d0d;color:#fff;border:1px solid #3a3a3a;border-radius:9px;padding:10px;outline:none}
input::placeholder,textarea::placeholder{color:#666}
input:focus,select:focus,textarea:focus{border-color:#f4c928}
button,.file-button{border:0;border-radius:9px;padding:10px 13px;background:#f4c928;color:#111;font-weight:800;cursor:pointer}
button.ghost,.file-button{background:#242424;color:#f6f6f6;border:1px solid #444}
.file-button{display:inline-flex;align-items:center}.file-button input{display:none}
.actions,.bulk-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.report{margin-top:10px;white-space:pre-wrap}
.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) 1fr;gap:8px;margin-bottom:12px}
.item{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid #292929;padding:13px 0}.item:first-child{border-top:0}
.item h3{margin:0 0 5px;font-size:1rem}.meta{font-size:.8rem;color:#999}.desc{font-size:.86rem;color:#c8c8c8;margin-top:5px}.item-actions{display:flex;gap:6px;align-items:start;flex-wrap:wrap}
.small{padding:7px 9px;font-size:.8rem}
.type-pill{display:inline-block;border:1px solid #555;border-radius:999px;padding:2px 7px;margin-right:5px;font-size:.72rem}
@media(max-width:800px){.topbar{position:static;display:block}.libbox{margin-top:12px;align-items:center}.grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters #search{grid-column:1/-1}.item{grid-template-columns:1fr}.item-actions{justify-content:flex-start}}
@media(max-width:520px){main{padding:10px}.grid,.filters{grid-template-columns:1fr}.libbox{display:grid;grid-template-columns:1fr auto}.libbox label{min-width:0}}

.hint{font-size:.78rem;margin-top:6px}.choice-row{display:grid;grid-template-columns:42px 1fr 105px 42px;gap:7px;align-items:center;margin:7px 0}.choice-letter{font-weight:900;text-align:center;background:#222;border:1px solid #444;border-radius:8px;padding:10px 5px}.choice-correct{display:flex;gap:5px;align-items:center;font-size:.78rem}.choice-correct input{width:auto;margin:0}dialog{width:min(760px,94vw);max-height:92vh;border:1px solid #444;border-radius:14px;background:#141414;color:#fff;padding:0}dialog::backdrop{background:rgba(0,0,0,.72)}.preview-shell{padding:18px}.preview-card{background:#0d0d0d;border:1px solid #333;border-radius:14px;padding:18px}.preview-prompt{font-size:clamp(1.25rem,3vw,2rem);font-weight:850;line-height:1.2;margin:4px 0 18px}.preview-media{display:block;max-width:100%;max-height:360px;margin:0 auto 16px;border-radius:10px}.media-error{border:1px solid #9b4141;background:#281313;padding:10px;border-radius:9px;margin-bottom:12px}.preview-option{display:block;width:100%;text-align:left;margin:7px 0;background:#202020;color:#fff;border:1px solid #444}.preview-option.selected{outline:2px solid #f4c928}.test-result{margin-top:12px;font-weight:800}.poll-badge{display:inline-block;border:1px solid #666;border-radius:999px;padding:3px 8px;margin-bottom:10px;font-size:.75rem}
.author-panel{border:1px solid #303030;border-radius:10px;padding:12px;background:#101010}.builder-title{font-weight:850;margin-bottom:8px}.pair-row,.sequence-row,.category-row{display:grid;gap:7px;align-items:center;margin:7px 0}.pair-row{grid-template-columns:1fr 32px 1fr 42px}.pair-arrow{text-align:center;color:#888;font-weight:900}.sequence-row{grid-template-columns:42px 1fr 42px 42px 42px}.sequence-num{font-weight:900;text-align:center;background:#222;border:1px solid #444;border-radius:8px;padding:10px 5px}.category-row{grid-template-columns:1fr 2fr 42px;align-items:start}.category-row textarea{min-height:76px}.inline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media(max-width:650px){.pair-row{grid-template-columns:1fr 24px 1fr 38px}.sequence-row{grid-template-columns:36px 1fr 36px 36px 36px}.category-row,.inline-grid{grid-template-columns:1fr}.category-row button{width:max-content}}

.tf-options{display:flex;gap:22px;flex-wrap:wrap;margin:10px 0}.tf-options label{display:flex;align-items:center;gap:8px;font-weight:800}.tf-options input{width:auto;margin:0}

/* 0.3.3 learner-style preview: media first; scrolling is preferred to shrinking media. */
.preview-card{overflow:hidden;padding:0}
.preview-media-wrap{width:100%;display:flex;justify-content:center;background:#080808}
.preview-media{display:block;width:auto;max-width:min(100%,1000px);height:auto;max-height:none;margin:0;object-fit:contain;cursor:zoom-in;touch-action:auto}
.preview-prompt,.preview-controls,.test-result{margin-left:18px;margin-right:18px}.preview-prompt{margin-top:18px}.preview-controls{padding-bottom:2px}.test-result{margin-bottom:18px}
.match-test-row,.categorize-test-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:10px;align-items:center;margin:9px 0;padding:9px;border:1px solid #333;border-radius:10px;background:#171717}
.match-test-left,.categorize-test-row>div{font-weight:750}
.sequence-test-list{display:grid;gap:8px;margin-bottom:10px}.sequence-test-row{display:grid;grid-template-columns:34px 1fr 38px 38px;gap:7px;align-items:center;padding:8px;border:1px solid #333;border-radius:10px;background:#171717}.sequence-test-row>span{text-align:center;font-weight:900}
.range-value{font-size:1.2rem;font-weight:900;text-align:center;margin:6px}.hotspot-test-note{padding:12px;border:1px dashed #555;border-radius:10px;color:#bbb;margin-bottom:10px}
.image-viewer{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.94);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:48px 12px 12px;touch-action:auto}.image-viewer-img{display:block;max-width:none;width:auto;height:auto;min-width:min(100%,900px);object-fit:contain;touch-action:auto}.image-viewer-close{position:fixed;right:14px;top:10px;z-index:1001;font-size:1.5rem;padding:5px 12px}
@media(max-width:650px){dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.preview-shell{padding:0 0 18px}.preview-shell>.section-head{padding:12px 12px 0}.preview-card{border-left:0;border-right:0;border-radius:0}.preview-media-wrap{width:100%}.preview-media{width:100%;max-width:none}.preview-prompt,.preview-controls,.test-result{margin-left:14px;margin-right:14px}.preview-prompt{font-size:1.35rem}.match-test-row,.categorize-test-row{grid-template-columns:1fr}.compact-choice{min-height:48px}.image-viewer{display:block;padding:48px 0 0}.image-viewer-img{min-width:100vw}}

/* 0.3.5 */
.hotspot-author,.hotspot-test-image{position:relative;margin-top:10px;width:100%;background:#090909;overflow:hidden;border-radius:10px}.hotspot-author img,.hotspot-test-image img{display:block;width:100%;height:auto;touch-action:auto}.hotspot-author-mark,.hotspot-test-pin{position:absolute;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:rgba(0,0,0,.25);transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 3px rgba(0,0,0,.65)}
.media-view-toggle{display:flex;justify-content:flex-end;gap:6px;padding:10px 14px 0}.media-stack{display:grid;gap:10px}.media-carousel{position:relative}.carousel-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}.carousel-nav button{min-width:44px}.ordinal-option{display:block;width:100%;text-align:left}.preview-media-zone .preview-media-wrap{margin:0}.preview-media-zone.media-stack .preview-media-wrap+ .preview-media-wrap{margin-top:10px}
@media(max-width:650px){.media-view-toggle{padding-left:8px;padding-right:8px;justify-content:center;flex-wrap:wrap}.hotspot-test-image,.hotspot-author{border-radius:0}.preview-media-zone{width:100%}.preview-media-zone .preview-media-wrap{width:100%}}


/* 0.3.13 hotspot/editor separation */
.hotspot-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.hotspot-author{touch-action:none}
.hotspot-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;touch-action:none}
.hotspot-region{fill:rgba(255,204,0,.18);stroke:#ffcc00;stroke-width:.65;vector-effect:non-scaling-stroke}
.hotspot-region.draft{fill:rgba(255,255,255,.10);stroke:#fff;stroke-dasharray:2 1}
.image-viewer-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#050505;color:#fff}
.image-viewer-dialog::backdrop{background:rgba(0,0,0,.96)}
.image-viewer-stage{box-sizing:border-box;width:100%;height:100%;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:52px 10px 10px}
.image-viewer-dialog .image-viewer-img{max-width:none;min-width:min(100%,900px);width:auto;height:auto;display:block}
.image-viewer-dialog .image-viewer-close{position:fixed;z-index:2;right:14px;top:10px}

#choiceBuilder[hidden],#mediaLayoutWrap[hidden]{display:none!important}

.runtime-strip{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:7px 20px;border-bottom:1px solid #2a2a2a;background:#151515;color:#aaa;font-size:.76rem}
.runtime-strip strong{color:#f4c928}
#runtimeStatus.bad{color:#ff7676;font-weight:800}

/* 0.3.20 Hotspot drawing visibility + selection prevention */
.hotspot-author,
.hotspot-author *{
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}
.hotspot-author img{
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
}
.hotspot-overlay{
  cursor:crosshair;
  background:transparent;
}
.hotspot-region{
  fill:rgba(255, 215, 0, .34);
  stroke:#ffffff;
  stroke-width:2.4;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 2px rgba(0,0,0,.95));
}
.hotspot-region.draft{
  fill:rgba(255, 230, 0, .22);
  stroke:#ffea00;
  stroke-width:2.4;
  stroke-dasharray:7 5;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 2px rgba(0,0,0,.95));
}
.hotspot-author::selection,
.hotspot-author img::selection{
  background:transparent;
}

/* 0.3.22 safe staged imports */
.import-stage{margin-top:14px;border:1px solid #3c3c3c;border-radius:12px;padding:12px;background:#0d0d0d}
.import-summary{font-size:.9rem;margin-bottom:10px}
.import-new{color:#8fe388}.import-update{color:#ffd66b}.import-invalid{color:#ff8a8a}
.import-mode-row{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:12px;align-items:end}
.import-warning{min-height:38px;padding:9px 11px;border:1px solid #353535;border-radius:8px;color:#bbb;background:#151515}
.import-warning.warn{border-color:#9a7622;color:#ffe098;background:#2b240f}
.import-warning.danger{border-color:#9d3838;color:#ffb0b0;background:#2a1111;font-weight:800}
.import-stage-actions{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}
.import-preview-list{display:grid;gap:7px;max-height:440px;overflow:auto}
.import-preview-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px;border:1px solid #2f2f2f;border-radius:9px;background:#141414}
.import-preview-row.status-update{border-color:#6d5a22}
.import-preview-row.status-invalid{border-color:#713535;background:#211212}
@media(max-width:700px){.import-mode-row,.import-preview-row{grid-template-columns:1fr}}

/* 0.3.24 G-Force Live product shell */
.product-lockup{min-width:0}
.gforce-wordmark{display:flex;align-items:center;gap:9px;margin-bottom:2px}
.gforce-name{font-size:.76rem;font-weight:900;letter-spacing:.16em;color:#f4c928}
.alpha-pill{display:inline-flex;align-items:center;border:1px solid #6d5c16;border-radius:999px;padding:2px 7px;font-size:.62rem;font-weight:900;letter-spacing:.09em;color:#f4c928;background:#211d0a}
.app-name{font-size:1.55rem;line-height:1.05;font-weight:900;letter-spacing:-.025em;color:#fff}
.runtime-strip{font-variant-numeric:tabular-nums}
.support-meta{opacity:.9}
@media(max-width:700px){
  .app-name{font-size:1.35rem}
  .gforce-name{font-size:.7rem}
}

.set-create-grid{display:grid;grid-template-columns:1fr 220px 1fr auto;gap:9px;align-items:end}
#questionSets{display:grid;gap:8px;margin-top:12px}
.qset-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px;border:1px solid #303030;border-radius:10px;background:#111}
@media(max-width:850px){.set-create-grid{grid-template-columns:1fr 1fr}.qset-row{grid-template-columns:1fr}}

.advanced-classification{border:1px solid #333;border-radius:10px;padding:10px 12px;background:#101010}
.advanced-classification summary,.filter-advanced summary{cursor:pointer;font-weight:800}
.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.library-intro{margin:-5px 0 12px}
.library-empty-state{padding:28px;border:1px dashed #444;border-radius:12px;text-align:center;color:#aaa}
.library-empty-state strong{display:block;color:#eee;margin-bottom:5px}
.set-purpose-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 14px}
.set-purpose-grid label{display:flex;align-items:center;gap:5px}
.set-purpose-pill{display:inline-block;border:1px solid #59512a;border-radius:999px;padding:2px 7px;color:#e9ce58;font-size:.72rem}
.filter-advanced{margin:8px 0 12px}
@media(max-width:700px){.advanced-grid{grid-template-columns:1fr}}

.filter-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:7px 0 5px}
.active-filters{font-size:.78rem;line-height:1.35}
@media(max-width:700px){.filter-status-row{align-items:flex-start;flex-direction:column}}

.question-save-actions{flex-wrap:wrap}
.selection-bar,.set-builder-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0}
.danger-button{background:#2a1111!important;border:1px solid #873b3b!important;color:#ffb3b3!important}
.danger-button:hover{background:#3a1616!important}
.set-builder-list{display:grid;gap:7px;max-height:560px;overflow:auto;margin:10px 0 14px}
.set-builder-row{position:relative;display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto auto auto auto;gap:7px;align-items:center;padding:9px;border:1px solid #303030;border-radius:9px;background:#111}
.set-builder-pos{min-width:1.5rem;text-align:center;color:#888;font-variant-numeric:tabular-nums}
.set-builder-title{min-width:0}
.set-builder-row.dragging{opacity:.45}
.set-builder-row.drop-before::before,.set-builder-row.drop-after::after{content:"";position:absolute;left:5px;right:5px;height:3px;background:#f4c928;border-radius:4px;z-index:3}
.set-builder-row.drop-before::before{top:-3px}.set-builder-row.drop-after::after{bottom:-3px}
.set-save-panel{border-top:1px solid #333;padding-top:14px;display:grid;gap:9px}
.set-save-panel textarea{width:100%}
.set-notes-preview{font-size:.78rem;color:#aaa;margin-top:5px;font-style:italic}
.selectable-question{grid-template-columns:auto 1fr auto!important}
.question-select{align-self:start;margin-top:7px}
@media(max-width:760px){
 .set-builder-row{grid-template-columns:auto auto auto 1fr}
 .set-builder-row button{grid-row:auto}
 .selectable-question{grid-template-columns:auto 1fr!important}
 .selectable-question .item-actions{grid-column:2}
}

/* 0.6.1 drag affordance */
.set-builder-row .drag-handle{
  cursor:grab;
  min-width:32px;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  user-select:none;
}
.set-builder-row .drag-handle:hover{background:#252525}
.set-builder-row .drag-handle:active{cursor:grabbing;background:#303030}

.help-button{white-space:nowrap}.info-button{border:0!important;background:transparent!important;color:#9a9a9a!important;padding:0 3px!important;min-height:0!important;font-size:.8em;vertical-align:middle}.info-button:hover{color:#f0cf38!important}
.help-dialog{width:min(680px,92vw);border:1px solid #3a3a3a;border-radius:14px;background:#111;color:#eee;padding:18px}.help-dialog::backdrop{background:rgba(0,0,0,.72)}
.help-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #333;padding-bottom:10px;margin-bottom:12px}.help-dialog-head h2{margin:0}.help-body{line-height:1.5}

/* A198 import workflow */
.import-set-row{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:12px;align-items:end;margin:12px 0}
.import-set-row label{display:grid;gap:6px;font-weight:700}
.import-preview-row.is-held{opacity:.72;border-style:dashed}
.import-preview-row.is-held strong{text-decoration:line-through;text-decoration-thickness:1px}
.import-row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.import-held{color:#f2c96d;font-weight:800}
.import-removed-note{color:#aaa}
@media(max-width:700px){.import-set-row{grid-template-columns:1fr}.import-row-actions{justify-content:flex-start}}


/* Integration A253 — QBank managed navigation + safer library tools */
body{padding-bottom:78px}
.library-tools{position:relative}
.library-tools>summary{cursor:pointer;color:#ddd;font-weight:800;list-style:none;border:1px solid #444;border-radius:8px;padding:9px 11px;background:#191919}
.library-tools>summary::-webkit-details-marker{display:none}
.library-tools-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:25;width:min(360px,82vw);padding:12px;border:1px solid #444;border-radius:10px;background:#151515;box-shadow:0 12px 28px rgba(0,0,0,.38)}
.library-tools-panel p{margin:0 0 10px;color:#bbb;font-size:.82rem;line-height:1.35}
@media(max-width:640px){body{padding-bottom:72px}.library-tools-panel{position:fixed;left:12px;right:12px;top:auto;bottom:76px;width:auto}}
