:root{--bg:#0d0f14;--panel:#171b23;--panel2:#202633;--gold:#d7a73d;--text:#f4f1e8;--muted:#a7adba;--red:#b84343}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#202638,#0d0f14 45%);color:var(--text);font-family:Arial,sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}.top{height:70px;padding:0 max(20px,5vw);display:flex;align-items:center;justify-content:space-between;background:#0a0c11dd;border-bottom:1px solid #ffffff14;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:bold}.brand b{width:40px;height:40px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);border-radius:10px}.top nav{display:flex;gap:18px}.top nav a{color:var(--muted)}
.wrap{max-width:1180px;margin:auto;padding:42px 20px 80px}.hero{text-align:center;padding:35px 10px 50px}.hero small,.adminhead small,.card small{color:var(--gold);letter-spacing:2px;font-weight:bold}.hero h1,.adminhead h1{font-size:clamp(34px,6vw,62px);margin:10px 0}.hero p{color:var(--muted);font-size:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.card,.panel,.row,.editcard,.item{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid #ffffff12;border-radius:18px;padding:24px;box-shadow:0 18px 50px #0005}.card{transition:.2s}.card:hover{transform:translateY(-4px);border-color:#d7a73d80}.card p,.row p{color:var(--muted)}.variant{display:flex;align-items:center;gap:18px}.avatar{width:58px;height:58px;border-radius:50%;background:#0c0e13;border:1px solid var(--gold);display:grid;place-items:center;font-size:25px;color:var(--gold)}
.eqgrid,.editgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.item{text-align:center}.item img,.editcard img{width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:#090b10}.slot{color:var(--gold);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}.empty{padding:45px 10px;color:#707887;border:1px dashed #ffffff22;border-radius:12px}.item pre{white-space:pre-wrap;color:#c9ced8;text-align:left}
.panel.narrow{max-width:520px;margin:30px auto}.stack{display:grid;gap:16px}label{display:grid;gap:7px;color:#c9ced8;font-size:14px}input,textarea{width:100%;background:#0d1017;color:white;border:1px solid #ffffff20;border-radius:10px;padding:12px;font:inherit}textarea{min-height:100px}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--gold);color:#17120a;font-weight:bold;padding:12px 18px;border-radius:10px;cursor:pointer}.btn.secondary{background:#343c4c;color:white}.btn.danger{background:var(--red);color:white}
.adminhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.adminhead h1{font-size:42px}.adminlist{display:grid;gap:14px}.row{display:flex;justify-content:space-between;align-items:center}.actions{display:flex;gap:10px;flex-wrap:wrap}.inlineform{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.editcard{display:grid;gap:12px}.check{display:flex;align-items:center;grid-template-columns:auto 1fr}.check input{width:auto}.sticky{position:sticky;bottom:18px;margin:25px auto 0;display:flex;min-width:240px}.error,.success{padding:13px;border-radius:10px;margin:12px 0}.error{background:#6c2424}.success{background:#245b3b}footer{text-align:center;padding:30px;color:#747b88}
@media(max-width:720px){.top nav a:first-child{display:none}.row,.adminhead{align-items:flex-start;gap:15px;flex-direction:column}.inlineform{grid-template-columns:1fr}.actions{width:100%}.actions .btn{flex:1}.wrap{padding-top:20px}}


/* V2 */
.paste-help{background:#171d28;border:1px solid #d7a73d55;border-radius:12px;padding:14px 18px;margin-bottom:22px;color:#cdd2dc}
kbd{background:#080a0e;border:1px solid #ffffff2c;border-bottom-width:3px;border-radius:6px;padding:2px 7px;color:white}
.dropzone{cursor:pointer;outline:none;transition:.2s}.dropzone:hover,.dropzone:focus,.dropzone.dragging{border-color:var(--gold);transform:translateY(-2px)}
.dropzone.paste-flash{box-shadow:0 0 0 4px #d7a73d55,0 18px 50px #0005}
.slot-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.slot-heading span{font-size:12px;color:var(--muted)}
.preview-wrap{height:210px;background:#0a0c11;border:1px dashed #ffffff28;border-radius:13px;display:grid;place-items:center;position:relative;overflow:hidden}
.preview-wrap img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;z-index:2}
.drop-hint{text-align:center;display:grid;gap:7px;color:#dfe3eb}.drop-hint span{font-size:12px;color:var(--muted)}
.file-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.inventory{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;grid-template-areas:
". helmet helmet ."
"weapon armor shield earrings"
"bracelet necklace shoes talisman"
"ring1 ring2 alchemy costume"
". pet mount ."}
.gear-slot{min-height:240px;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid #ffffff14;border-radius:17px;padding:16px;text-align:center;cursor:pointer;transition:.2s;overflow:hidden}
.gear-slot:not(.is-empty):hover{transform:translateY(-4px);border-color:#d7a73d88}.gear-slot img{width:100%;height:150px;object-fit:contain;background:#090b10;border-radius:10px}
.gear-slot h3{margin:12px 0 8px}.gear-slot p{color:#c3c9d4;font-size:14px;margin:0}.gear-slot .empty{height:170px;display:grid;place-items:center;color:#6f7786}
.zoom-label{display:block;color:var(--gold);font-size:11px;margin-top:12px}
.gear-helmet{grid-area:helmet}.gear-weapon{grid-area:weapon}.gear-armor{grid-area:armor}.gear-shield{grid-area:shield}.gear-earrings{grid-area:earrings}.gear-necklace{grid-area:necklace}.gear-bracelet{grid-area:bracelet}.gear-shoes{grid-area:shoes}.gear-ring1{grid-area:ring1}.gear-ring2{grid-area:ring2}.gear-talisman{grid-area:talisman}.gear-alchemy{grid-area:alchemy}.gear-costume{grid-area:costume}.gear-pet{grid-area:pet}.gear-mount{grid-area:mount}
.hero.compact{padding-bottom:30px}.hero.compact h1{font-size:clamp(34px,5vw,54px)}
.item-modal{position:fixed;inset:0;background:#000d;z-index:99;display:grid;place-items:center;padding:25px}.item-modal[hidden]{display:none}
.modal-card{width:min(900px,95vw);max-height:88vh;overflow:auto;background:#151a24;border:1px solid #d7a73d66;border-radius:20px;padding:22px;display:grid;grid-template-columns:minmax(250px,1fr) 1fr;gap:25px;box-shadow:0 30px 100px #000}
.modal-card img{width:100%;max-height:70vh;object-fit:contain;background:#090b10;border-radius:14px}.modal-copy small{color:var(--gold);letter-spacing:2px}.modal-copy pre{white-space:pre-wrap;color:#ccd1dc;font:inherit}
.modal-close{position:fixed;right:28px;top:22px;background:none;border:0;color:white;font-size:44px;cursor:pointer}.modal-open{overflow:hidden}
@media(max-width:850px){.inventory{grid-template-columns:repeat(2,1fr);grid-template-areas:none}.gear-slot{grid-area:auto!important}.modal-card{grid-template-columns:1fr}.modal-card img{max-height:50vh}}
@media(max-width:520px){.inventory{grid-template-columns:1fr}.gear-slot{min-height:auto}.preview-wrap{height:180px}}


.focus-editor{
  margin-top:12px;padding:12px;border:1px solid #ffffff14;border-radius:10px;
  background:#0a0c12;display:grid;gap:8px
}
.focus-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.focus-editor label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;font-size:13px}
.focus-editor input[type=range]{width:100%;accent-color:#ff0a68}
.btn.compact{padding:7px 10px;font-size:12px}
.preview-wrap{overflow:hidden}
.preview-wrap img{transition:transform .12s ease}
@media(max-width:600px){.focus-editor label{grid-template-columns:1fr}}


/* ===== V15 DRAG & WHEEL FOCUS ===== */
.preview-wrap[data-focus-surface]{
  position:relative;
  cursor:grab;
  touch-action:none;
  user-select:none;
  overscroll-behavior:contain;
}
.preview-wrap[data-focus-surface].is-panning{
  cursor:grabbing;
}
.preview-wrap[data-focus-surface] img{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  will-change:transform;
}
.focus-drag-help{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:4;
  padding:7px 9px;
  border:1px solid #ff0a6840;
  border-radius:8px;
  background:#050609d9;
  color:#d6d8df;
  font-size:11px;
  text-align:center;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.preview-wrap[data-focus-surface]:hover .focus-drag-help,
.editcard.is-focus-active .focus-drag-help{
  opacity:1;
  transform:translateY(0);
}
.focus-editor label{
  grid-template-columns:105px 46px minmax(0,1fr);
}
.focus-value{
  min-width:40px;
  padding:4px 6px;
  border:1px solid #ff0a6835;
  border-radius:6px;
  background:#07090e;
  color:#ff70a8;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.focus-save-note{
  padding:8px 10px;
  border-left:2px solid #69707d;
  background:#07090d;
  color:#8f96a3;
  font-size:12px;
}
.editcard.focus-unsaved .focus-save-note{
  border-left-color:#ff0a68;
  color:#ff9bc0;
}
.editcard.focus-unsaved{
  box-shadow:0 0 0 1px #ff0a6840,0 0 24px #ff0a681c;
}
@media(max-width:600px){
  .focus-editor label{
    grid-template-columns:1fr 46px;
  }
  .focus-editor input[type=range]{
    grid-column:1/-1;
  }
}


/* ===== V24 BUILD PROFILE ADMIN ===== */
.v24-create-panel h2{margin-top:0}
.v24-create-form,.v24-profile-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.v24-create-form label,.v24-profile-form label{
  display:grid;
  gap:6px;
  color:#c6cad2;
  font-size:13px;
}
.v24-create-form input,.v24-create-form select,
.v24-profile-form input,.v24-profile-form select{
  width:100%;
  padding:11px 12px;
  border:1px solid #ffffff19;
  border-radius:8px;
  background:#080a0f;
  color:#fff;
}
.v24-create-form input:focus,.v24-create-form select:focus,
.v24-profile-form input:focus,.v24-profile-form select:focus{
  outline:none;
  border-color:#ff0a6880;
  box-shadow:0 0 16px #ff0a6820;
}
.v24-create-form .btn{align-self:end;min-height:43px}
.v24-profile-list{display:grid;gap:16px}
.v24-profile-card{
  padding:18px;
  border:1px solid #ffffff14;
  border-radius:13px;
  background:linear-gradient(145deg,#11131a,#08090e);
}
.v24-profile-card-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding-bottom:14px;
  border-bottom:1px solid #ffffff10;
}
.v24-profile-card-head small{color:#ff5a9f}
.v24-profile-card-head h2{margin:4px 0 0}
.v24-profile-form{margin-top:15px}
.v24-profile-form .wide{grid-column:span 2}
.v24-profile-footer{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}
.v24-profile-footer small{color:#8f96a2}
.notice.success{
  margin-bottom:14px;padding:12px;border:1px solid #37d87950;border-radius:8px;
  background:#082113;color:#73e6a0
}
.notice.error{
  margin-bottom:14px;padding:12px;border:1px solid #ff416050;border-radius:8px;
  background:#250810;color:#ff91a2
}
@media(max-width:1000px){
  .v24-create-form,.v24-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .v24-create-form,.v24-profile-form{grid-template-columns:1fr}
  .v24-profile-form .wide{grid-column:auto}
  .v24-profile-card-head,.v24-profile-footer{align-items:flex-start;flex-direction:column}
}


/* ===== V27 BUILD CENTER ADMIN ===== */
.v24-create-form textarea,
.v24-profile-form textarea{
  width:100%;
  resize:vertical;
  padding:11px 12px;
  border:1px solid #ffffff19;
  border-radius:8px;
  background:#080a0f;
  color:#fff;
  font:inherit;
}
.v24-create-form textarea:focus,
.v24-profile-form textarea:focus{
  outline:none;
  border-color:#ff0a6880;
  box-shadow:0 0 16px #ff0a6820;
}


/* ===== V28 DUNGEON GUIDE ADMIN ===== */
.v28-dungeon-form{display:grid;gap:20px}
.v28-banner-editor{
  display:grid;grid-template-columns:minmax(280px,.8fr) minmax(260px,1fr);
  gap:18px;align-items:end
}
.v28-banner-preview{
  min-height:230px;overflow:hidden;display:grid;place-items:center;
  border:1px solid #ffffff16;border-radius:12px;background:#080a0f;color:#7f8792
}
.v28-banner-preview img{width:100%;height:230px;object-fit:cover}
.v28-banner-editor label,.v28-form-grid label{
  display:grid;gap:7px;color:#c5cad2;font-size:13px
}
.v28-form-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px
}
.v28-form-grid .wide{grid-column:span 2}
.v28-dungeon-form input,.v28-dungeon-form textarea{
  width:100%;padding:11px 12px;border:1px solid #ffffff19;border-radius:8px;
  background:#080a0f;color:#fff;font:inherit
}
.v28-dungeon-form input:focus,.v28-dungeon-form textarea:focus{
  outline:none;border-color:#ff0a6880;box-shadow:0 0 16px #ff0a6820
}
.v28-form-footer{
  display:flex;justify-content:space-between;align-items:center;gap:18px
}
.v28-form-footer small{color:#8e95a0}
@media(max-width:950px){
  .v28-banner-editor{grid-template-columns:1fr}
  .v28-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .v28-form-grid{grid-template-columns:1fr}
  .v28-form-grid .wide{grid-column:auto}
  .v28-form-footer{align-items:flex-start;flex-direction:column}
}


/* ===== V31 TIMELINE & STREAM ADMIN ===== */
.v31-snapshot-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:13px;align-items:end}
.v31-snapshot-form label{display:grid;gap:7px;color:#c5cad2;font-size:13px}
.v31-snapshot-form input,.v31-snapshot-form textarea{
  width:100%;padding:11px 12px;border:1px solid #ffffff19;border-radius:8px;
  background:#080a0f;color:#fff;font:inherit
}
.v31-history-admin{display:grid;gap:13px}
.v31-history-admin article{
  padding:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;
  border:1px solid #ffffff14;border-radius:12px;background:linear-gradient(145deg,#101219,#07080c)
}
.v31-history-admin small{color:#ff5a9f}
.v31-history-admin h2{margin:5px 0}
.v31-history-admin p{margin:0;color:#9ca3ad}
.v31-history-admin span{display:block;margin-top:9px;color:#777f8b;font-size:12px}
.v31-stream-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px}
.v31-stream-admin-grid form{
  padding:18px;border:1px solid #ffffff14;border-radius:12px;
  background:linear-gradient(145deg,#101219,#07080c)
}
.v31-stream-admin-grid form.active{
  border-color:#42dc83;box-shadow:0 0 24px #42dc8328
}
.v31-stream-admin-grid small{color:#ff5a9f}
.v31-stream-admin-grid h2{margin:5px 0}
.v31-stream-admin-grid p{color:#9097a2}
.v31-stream-admin-grid form>div{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.v31-stream-admin-grid span{
  padding:5px 8px;border:1px solid #ffffff14;border-radius:999px;color:#c5cad2;font-size:10px
}
.v31-obs-info{margin-top:20px}
.v31-obs-info code{
  display:block;padding:12px;border:1px solid #ff0a6840;border-radius:8px;
  background:#080a0f;color:#ff83b5;word-break:break-all
}
@media(max-width:850px){
  .v31-snapshot-form{grid-template-columns:1fr}
}
@media(max-width:600px){
  .v31-history-admin article{align-items:flex-start;flex-direction:column}
}


/* ===== V32 PREMIUM STREAM CONTROL ===== */
.v31-stream-admin-grid form{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.v31-stream-admin-grid form:hover{
  transform:translateY(-3px);
  border-color:#ff0a6865;
  box-shadow:0 0 24px #ff0a6820
}
.v31-stream-admin-grid form.active::before{
  content:"AKTIV";
  position:absolute;
  top:12px;
  right:-28px;
  width:110px;
  padding:5px 0;
  background:#42dc83;
  color:#07110b;
  text-align:center;
  font-size:9px;
  font-weight:900;
  transform:rotate(38deg);
  box-shadow:0 0 16px #42dc8350
}
.v32-active-indicator{
  margin-top:11px;
  display:flex;
  align-items:center;
  gap:7px;
  color:#6fe99f;
  font-size:11px;
  font-weight:900
}
.v32-active-indicator span{
  width:8px!important;
  height:8px;
  padding:0!important;
  border:0!important;
  border-radius:50%;
  background:#42dc83!important;
  box-shadow:0 0 12px #42dc83;
  animation:v32AdminPulse 1.5s ease-in-out infinite
}
@keyframes v32AdminPulse{
  0%,100%{opacity:.45;transform:scale(.8)}
  50%{opacity:1;transform:scale(1.2)}
}
.v32-obs-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:14px
}
.v32-obs-steps span{
  padding:10px;
  border:1px solid #ffffff12;
  border-radius:8px;
  background:#080a0f;
  color:#c3c8d0;
  font-size:11px
}
@media(max-width:700px){
  .v32-obs-steps{grid-template-columns:1fr}
}
