/* ========================================================================
   7R CORE 1.25.0 – CLEAN FRONTEND REBUILD
   ------------------------------------------------------------------------
   Ziele:
   - eine einzige, nachvollziehbare Layout-Schicht
   - keine positionssetzenden Responsive-Overrides
   - vier getrennte Profile: Desktop, Tablet, Handy hoch, Handy quer
   - gespeicherte Positionen werden ausschließlich per JS als Inline-Layout
     angewendet; CSS bestimmt nur Aussehen und gerätespezifische Größen
   ======================================================================== */

:root{
  --core-cyan:#76dcff;
  --core-cyan-soft:rgba(118,220,255,.18);
  --core-cyan-line:rgba(118,220,255,.34);
  --core-gold:#d4a653;
  --core-red:#ff4b52;
  --core-panel:rgba(5,13,21,.86);
  --core-panel-strong:rgba(4,10,17,.96);
  --core-text:#e9f7ff;
  --core-muted:#86a9be;
}

/* ------------------------------------------------------------------------
   Core page shell
   ------------------------------------------------------------------------ */
body.core-chamber-page{
  margin:0;
  height:100svh;
  min-height:100svh;
  overflow:hidden;
  background:#03070b;
  color:var(--core-text);
}
body.core-chamber-page>.footer{display:none!important}

.core-chamber-page .sevenr-page-frame{
  height:100svh;
  min-height:100svh;
  display:grid;
  grid-template-rows:78px minmax(0,1fr) 44px;
  overflow:hidden;
  background:#03070b;
}
.core-chamber-page .sevenr-page-frame-top{
  height:78px;
  min-height:78px;
}
.core-chamber-page .sevenr-page-frame-content{
  min-height:0;
  height:auto;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#03070b;
}
.core-chamber-page .sevenr-page-frame-bottom{
  height:44px;
  min-height:44px;
  overflow:hidden;
  background-position:center bottom;
}
.core-chamber-page .sevenr-frame-nav-cover,
.core-chamber-page .sevenr-frame-hall-nav,
.core-chamber-page .sevenr-frame-mobile-nav{display:none!important}
.core-chamber-page .sevenr-frame-legal-hits{
  position:relative;
  inset:auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:4px 18px;
  padding:0 12px;
  pointer-events:auto;
  background:linear-gradient(180deg,rgba(30,17,9,.20),rgba(4,6,8,.42));
}
.core-chamber-page .sevenr-frame-legal-hits a{
  position:static!important;
  width:auto!important;
  height:auto!important;
  top:auto!important;
  left:auto!important;
  padding:5px 2px;
  color:#cbb996!important;
  font:600 10px/1 Inter,system-ui,sans-serif!important;
  text-decoration:none;
  background:transparent!important;
  outline:none!important;
}
.core-chamber-page .sevenr-frame-legal-hits a::after{content:attr(aria-label)}

/* Standard-Frame compatibility: the Core stage needs a definite middle-row height. */
body.core-chamber-page .sevenr-standard-frame{
  height:100svh;
  min-height:100svh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  background:#03070b;
}
body.core-chamber-page .srf-content{
  min-height:0;
  height:auto;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#03070b;
}

.core-chamber-shell,
.core-chamber-stage{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  overflow:hidden;
  isolation:isolate;
  background:#03080d;
}

/* ------------------------------------------------------------------------
   Room / video / ambient overlays
   ------------------------------------------------------------------------ */
.core-main-video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#03080d;
  filter:saturate(.95) contrast(1.03) brightness(.93);
}
.core-chamber-vignette{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,transparent 22%,rgba(0,4,8,.10) 52%,rgba(0,3,6,.48) 100%),
    linear-gradient(180deg,rgba(0,7,12,.11),transparent 20%,transparent 78%,rgba(0,3,5,.35));
}
.core-chamber-grid{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.12;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(89,204,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,204,255,.08) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg,transparent 4%,#000 20%,#000 84%,transparent 98%);
}
.core-scan-sweep{
  position:absolute;
  z-index:2;
  left:-18%;
  width:136%;
  height:1px;
  opacity:.16;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(107,220,255,.85),transparent);
  box-shadow:0 0 18px rgba(78,200,255,.32);
  animation:coreScan 9s linear infinite;
}
.core-scan-sweep-a{top:24%}
.core-scan-sweep-b{top:68%;animation-delay:-4.3s;animation-duration:12s}
.core-beacon{
  position:absolute;
  z-index:2;
  width:4px;
  height:4px;
  border-radius:50%;
  pointer-events:none;
  background:#ff5158;
  box-shadow:0 0 7px #ff5158,0 0 16px rgba(255,81,88,.45);
  animation:coreBeacon 2.4s ease-in-out infinite;
}
.core-beacon-a{left:21.3%;top:9.5%}
.core-beacon-b{right:21.1%;top:10.2%;animation-delay:-.9s}
.core-beacon-c{right:9.7%;top:55%;animation-delay:-1.5s}

/* Every editable object uses the stage as its coordinate system. */
.core-chamber-stage [data-core-layout-key]{
  position:absolute;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  margin:0;
  transform:translate(-50%,-50%);
  transform-origin:center center;
  box-sizing:border-box;
}
.core-holo-field,
.core-data-wall{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}
.core-holo-field>* ,
.core-data-wall>*{pointer-events:auto}

/* ------------------------------------------------------------------------
   Status / identity rail
   ------------------------------------------------------------------------ */
.core-status-rail{
  z-index:14;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:230px;
  max-width:min(92vw,520px);
  min-height:34px;
  padding:6px 8px 6px 10px;
  border:1px solid rgba(109,213,255,.22);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(5,17,28,.86),rgba(3,10,17,.90));
  box-shadow:0 9px 24px rgba(0,0,0,.34),inset 0 0 18px rgba(65,173,222,.035);
  backdrop-filter:blur(9px);
  white-space:nowrap;
}
.core-status-dot{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#edb74f;
  box-shadow:0 0 8px rgba(237,183,79,.68);
}
.core-status-rail-live .core-status-dot,
.core-chamber-stage.is-recognized .core-status-dot{
  background:#58e7a3;
  box-shadow:0 0 9px rgba(88,231,163,.78);
}
.core-status-rail>span:not(.core-status-dot){display:grid;gap:1px;min-width:0}
.core-status-rail small{
  color:#70badc;
  font:800 7px/1 Inter,system-ui,sans-serif;
  letter-spacing:.15em;
}
.core-status-rail b{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#edf8ff;
  font:700 10px/1.1 Inter,system-ui,sans-serif;
}
.core-sound-toggle,
.core-fullscreen-toggle,
.core-nav-launch,
.core-layout-editor-launch{
  appearance:none;
  border:1px solid rgba(214,170,85,.42);
  background:linear-gradient(180deg,rgba(70,45,18,.85),rgba(24,16,9,.95));
  color:#ead8ae;
  box-shadow:0 7px 20px rgba(0,0,0,.26);
  cursor:pointer;
}
.core-sound-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-left:auto;
  padding:6px 9px;
  border-radius:999px;
  font:700 9px/1 Inter,system-ui,sans-serif;
}
.core-sound-toggle.is-on{border-color:rgba(95,219,255,.36);color:#dcf8ff}
.core-sound-toggle span{font-size:11px}

/* ------------------------------------------------------------------------
   Central core control
   ------------------------------------------------------------------------ */
.core-heart-hit{
  z-index:12;
  width:116px;
  height:116px;
  padding:0;
  border:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,113,148,.13),rgba(4,16,24,.08) 45%,transparent 70%);
  color:#dff7ff;
  cursor:pointer;
  filter:drop-shadow(0 0 16px rgba(85,216,255,.12));
}
.core-heart-ring{
  position:absolute;
  inset:7px;
  border:1px solid rgba(105,217,255,.32);
  border-radius:50%;
  box-shadow:inset 0 0 18px rgba(63,188,244,.10),0 0 18px rgba(63,188,244,.08);
  animation:coreHeart 4.6s ease-in-out infinite;
}
.core-heart-ring::before,
.core-heart-ring::after{
  content:"";
  position:absolute;
  inset:11px;
  border:1px solid rgba(105,217,255,.16);
  border-radius:50%;
}
.core-heart-ring::after{inset:22px;border-style:dashed;animation:coreRotate 13s linear infinite}
.core-heart-label{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:2px;
  text-align:center;
  text-shadow:0 2px 6px #000;
}
.core-heart-label small{color:#75d3f5;font:800 7px/1 Inter,system-ui,sans-serif;letter-spacing:.16em}
.core-heart-label b{color:#f0e4c8;font:700 17px/1 Georgia,'Times New Roman',serif}
.core-heart-label em{color:#81cbe5;font:600 8px/1 Inter,system-ui,sans-serif;font-style:normal}
.core-heart-hit:hover .core-heart-ring,
.core-heart-hit:focus-visible .core-heart-ring{border-color:rgba(135,235,255,.72);box-shadow:0 0 25px rgba(75,205,255,.24)}
.core-heart-hit:focus-visible{outline:1px solid rgba(137,231,255,.62);outline-offset:4px}

/* ------------------------------------------------------------------------
   Hologram modules
   ------------------------------------------------------------------------ */
.core-holo{
  z-index:11;
  width:clamp(78px,6.3vw,112px);
  display:grid;
  gap:5px;
  padding:0;
  border:0;
  background:transparent;
  color:#eaf8ff;
  text-align:center;
  cursor:pointer;
  opacity:0;
  transition:opacity .9s ease,filter .25s ease;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.42));
}
.core-chamber-stage.is-holos-online .core-holo,
.core-chamber-stage.is-layout-editing .core-holo{opacity:.93}
.core-holo:hover,
.core-holo:focus-visible{filter:drop-shadow(0 0 14px rgba(83,213,255,.35)) brightness(1.10);outline:none}
.core-holo-media{
  position:relative;
  display:block;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(103,219,255,.22);
  border-radius:13px;
  background:radial-gradient(circle at 50% 38%,rgba(71,187,227,.13),rgba(3,13,21,.50));
  box-shadow:inset 0 0 20px rgba(71,187,227,.07),0 0 16px rgba(42,160,212,.08);
}
.core-holo-media video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  mix-blend-mode:screen;
}
.core-holo-scan{
  position:absolute;
  inset:-20% 0 auto;
  height:26%;
  background:linear-gradient(180deg,transparent,rgba(129,230,255,.13),transparent);
  animation:coreHoloScan 4.8s linear infinite;
  pointer-events:none;
}
.core-holo-caption{display:grid;gap:2px;text-shadow:0 2px 5px rgba(0,0,0,.96)}
.core-holo-caption small{color:#73d5f5;font:800 6px/1 Inter,system-ui,sans-serif;letter-spacing:.15em}
.core-holo-caption b{color:#e8eef1;font:700 clamp(10px,.72vw,12px)/1.05 Georgia,'Times New Roman',serif}

/* ------------------------------------------------------------------------
   Live data racks and streams
   ------------------------------------------------------------------------ */
.core-data-rack{
  z-index:8;
  width:118px;
  display:grid;
  gap:5px;
}
.core-data-card{
  display:grid;
  gap:1px;
  min-height:52px;
  padding:7px 8px;
  border:1px solid rgba(92,202,244,.15);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(4,17,27,.70),rgba(3,10,17,.78));
  box-shadow:inset 0 0 17px rgba(69,181,224,.035),0 5px 14px rgba(0,0,0,.18);
  backdrop-filter:blur(5px);
}
.core-data-card small{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#66bad8;
  font:800 6px/1.1 Inter,system-ui,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.core-data-card b{color:#eff9ff;font:700 17px/1.05 Georgia,'Times New Roman',serif}
.core-data-card span{color:#83a7b8;font:600 7px/1.15 Inter,system-ui,sans-serif}

.core-stream{
  z-index:7;
  width:212px;
  height:176px;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(96,207,248,.13);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(4,16,25,.48),rgba(2,9,15,.68));
  box-shadow:inset 0 0 26px rgba(77,182,225,.035),0 10px 24px rgba(0,0,0,.20);
  opacity:.72;
  backdrop-filter:blur(4px);
}
.core-stream header{
  height:27px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  padding:0 2px 6px;
  border-bottom:1px solid rgba(108,211,249,.10);
}
.core-stream header small{color:#70c7e5;font:800 6px/1 Inter,system-ui,sans-serif;letter-spacing:.13em}
.core-stream header strong{color:#dceef5;font:700 11px/1 Georgia,'Times New Roman',serif}
.core-stream-viewport{height:calc(100% - 28px);overflow:hidden}
.core-stream-list{
  list-style:none;
  margin:0;
  padding:5px 0 0;
  display:grid;
  gap:4px;
  animation:coreStreamSystem 32s linear infinite;
}
.core-stream-list-achievements{animation-name:coreStreamAchievements;animation-duration:72s}
.core-stream-list li{
  margin:0;
  padding:4px 5px;
  border-radius:6px;
  background:rgba(60,153,192,.045);
  color:#99bdcc;
  font:600 7px/1.25 Inter,system-ui,sans-serif;
}
.core-stream-list-achievements li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center}
.core-stream-list-achievements span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.core-stream-list-achievements b{color:#e1f3f9;font-size:7px}
.core-stream-list-achievements em{color:#75bad2;font-size:6px;font-style:normal}

.core-data-ticker{
  z-index:9;
  width:min(68vw,1160px);
  height:22px;
  overflow:hidden;
  border-top:1px solid rgba(105,216,255,.12);
  border-bottom:1px solid rgba(105,216,255,.08);
  background:rgba(2,9,14,.54);
  opacity:.88;
  pointer-events:none;
}
.core-data-ticker-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:22px;
  padding-left:40px;
  animation:coreTicker 42s linear infinite;
}
.core-data-ticker span{
  color:#9bc2d0;
  font:700 7px/22px Inter,system-ui,sans-serif;
  letter-spacing:.03em;
  white-space:nowrap;
}
.core-data-ticker span::before{content:'✦';margin-right:8px;color:#6ccdec}

/* ------------------------------------------------------------------------
   Mobile highscore card – only shown in phone profiles
   ------------------------------------------------------------------------ */
.core-mobile-highscores{
  z-index:10;
  width:180px;
  max-height:150px;
  display:none;
  padding:8px;
  border:1px solid rgba(106,213,251,.18);
  border-radius:11px;
  background:rgba(3,12,19,.68);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  backdrop-filter:blur(6px);
  pointer-events:auto;
}
.core-mobile-highscores header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.core-mobile-highscores header small{color:#72cce9;font:800 6px/1 Inter,sans-serif;letter-spacing:.12em}
.core-mobile-highscores header strong{color:#e6f5fb;font:700 10px/1 Georgia,serif}
.core-mobile-highscores ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.core-mobile-highscores li{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;gap:4px;align-items:center;color:#8eb3c1;font:600 6.5px/1.15 Inter,sans-serif}
.core-mobile-highscores li b{color:#6ed4f1}
.core-mobile-highscores li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.core-mobile-highscores li strong{color:#e7f5fa;font-size:7px}
.core-mobile-highscores li em{color:#7ba8b9;font-size:6px;font-style:normal}

/* ------------------------------------------------------------------------
   Stage hint / navigation / mobile controls
   ------------------------------------------------------------------------ */
.core-stage-hint{
  z-index:13;
  max-width:min(88vw,520px);
  padding:7px 12px;
  border:1px solid rgba(102,209,248,.15);
  border-radius:999px;
  background:rgba(3,11,17,.72);
  color:#9fc3d0;
  font:600 9px/1.2 Inter,system-ui,sans-serif;
  text-align:center;
  backdrop-filter:blur(6px);
  pointer-events:none;
}
.core-stage-hint span{color:#74d4f2;margin-right:5px}
.core-nav-launch{
  z-index:15;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  font:700 9px/1 Inter,system-ui,sans-serif;
}
.core-nav-launch span{color:#ddb45f;font-size:12px}
.core-sound-mobile,
.core-fullscreen-toggle{display:none;position:absolute;z-index:17}
.core-sound-mobile{
  left:10px;
  bottom:24px;
  align-items:center;
  gap:5px;
}
.core-fullscreen-toggle{
  right:10px;
  top:10px;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border-radius:999px;
  font:700 8px/1 Inter,system-ui,sans-serif;
}

/* ------------------------------------------------------------------------
   Entry gate / opening sequence
   ------------------------------------------------------------------------ */
.core-gate{
  position:absolute;
  inset:0;
  z-index:40;
  display:grid;
  place-items:center;
  padding:18px;
  background:
    radial-gradient(circle at 50% 46%,rgba(11,67,89,.22),transparent 31%),
    linear-gradient(180deg,rgba(1,7,11,.72),rgba(1,5,8,.91));
  backdrop-filter:blur(3px);
  transition:opacity 1.6s ease,visibility 1.6s ease;
}
.core-gate[hidden]{display:none}
.core-gate-idle,
.core-gate-sequence{
  width:min(460px,90vw);
  padding:22px 24px;
  border:1px solid rgba(92,210,255,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(5,17,27,.90),rgba(2,9,15,.96));
  box-shadow:0 26px 80px rgba(0,0,0,.52),inset 0 0 32px rgba(58,177,224,.045);
  text-align:center;
}
.core-entry-kicker{margin:0 0 7px;color:#69c8e8;font:800 8px/1 Inter,sans-serif;letter-spacing:.16em}
.core-gate h1{margin:0;color:#f0e4c7;font:700 clamp(27px,3vw,42px)/1 Georgia,serif;letter-spacing:.02em}
.core-gate-idle>p:not(.core-entry-kicker){margin:9px auto 0;max-width:390px;color:#9bb7c4;font:500 12px/1.45 Inter,sans-serif}
.core-gate-orb{
  position:relative;
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  margin:22px auto 18px;
  border:1px solid rgba(101,215,255,.28);
  border-radius:50%;
  box-shadow:inset 0 0 26px rgba(70,190,240,.08),0 0 25px rgba(58,184,233,.08);
}
.core-gate-orb::before,
.core-gate-orb::after{content:"";position:absolute;border:1px solid rgba(101,215,255,.14);border-radius:50%;inset:11px}
.core-gate-orb::after{inset:24px;border-style:dashed;animation:coreRotate 9s linear infinite}
.core-gate-sensor-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--core-red);
  box-shadow:0 0 9px var(--core-red),0 0 24px rgba(255,75,82,.55);
  animation:coreSensor 2s ease-in-out infinite;
}
.core-gate-button{
  min-width:205px;
  padding:11px 18px;
  border:1px solid rgba(222,175,85,.58);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(92,58,20,.92),rgba(35,22,10,.98));
  color:#f1deac;
  box-shadow:0 10px 28px rgba(0,0,0,.30),inset 0 0 18px rgba(237,190,94,.045);
  font:800 10px/1 Inter,sans-serif;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
  transition:opacity .35s ease,transform .35s ease,border-color .2s ease;
}
.core-gate-button:hover,.core-gate-button:focus-visible{border-color:#e9bb61;color:#fff0c2;outline:none}
.core-gate-button.is-spent{opacity:0;transform:scale(.92);pointer-events:none}
.core-gate-blink{display:block;margin-bottom:14px;color:#76dafa;font:800 8px/1 Inter,sans-serif;letter-spacing:.14em;animation:coreBlink 1s steps(2,end) infinite}
.core-gate-progress{height:7px;overflow:hidden;border:1px solid rgba(105,214,255,.25);border-radius:999px;background:#071019}
.core-gate-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1d799b,#75dcff);box-shadow:0 0 12px rgba(109,221,255,.52);transition:width .5s ease}
.core-gate-status{margin:16px 0 6px;color:#e7f5fa;font:800 9px/1.25 Inter,sans-serif;letter-spacing:.07em}
.core-gate-wait{margin:0;color:#83a9ba;font:600 9px/1.35 Inter,sans-serif}
.core-gate.is-revealing{background:rgba(1,6,10,.45)}
.core-gate.is-opening{opacity:0;visibility:hidden;pointer-events:none}

/* ------------------------------------------------------------------------
   Core terminal
   ------------------------------------------------------------------------ */
.core-terminal-shade{
  position:absolute;
  inset:0;
  z-index:50;
  background:rgba(0,4,8,.66);
  backdrop-filter:blur(4px);
}
.core-terminal-shade[hidden]{display:none}
.core-terminal{
  position:absolute;
  z-index:51;
  left:50%;
  top:50%;
  width:min(920px,88vw);
  max-height:min(78vh,660px);
  display:grid;
  grid-template-columns:minmax(220px,34%) minmax(0,1fr);
  overflow:auto;
  transform:translate(-50%,-50%) scale(.96);
  opacity:0;
  visibility:hidden;
  border:1px solid rgba(105,215,255,.31);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(5,17,28,.98),rgba(3,9,15,.99) 70%);
  color:#e7f6fc;
  box-shadow:0 32px 110px rgba(0,0,0,.76),inset 0 0 50px rgba(65,177,221,.035);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.core-terminal.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.core-terminal-close{
  position:absolute;
  z-index:3;
  right:12px;
  top:12px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(5,11,17,.82);
  color:#eaf8ff;
  font-size:21px;
  cursor:pointer;
}
.core-terminal-visual{
  min-height:330px;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(circle,rgba(72,197,240,.12),rgba(2,8,13,.68));
  border-right:1px solid rgba(101,212,250,.12);
}
.core-terminal-visual img{width:min(100%,300px);max-height:420px;object-fit:contain;filter:drop-shadow(0 0 26px rgba(74,199,241,.12))}
.core-terminal-copy{padding:28px 30px 30px;overflow:auto}
.core-terminal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:28px}
.core-terminal-head small{color:#75cde9;font:800 8px/1 Inter,sans-serif;letter-spacing:.13em}
.core-terminal-head h2{margin:5px 0 0;color:#f0e5cd;font:700 clamp(29px,3vw,44px)/1 Georgia,serif}
.core-terminal-head>span{padding:5px 8px;border:1px solid rgba(96,216,255,.23);border-radius:999px;color:#7ce1ff;font:800 7px/1 Inter,sans-serif;letter-spacing:.12em}
.core-terminal-copy>p{margin:16px 0;color:#abc2cc;font:500 14px/1.55 Inter,sans-serif}
.core-terminal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}
.core-terminal-metric{padding:11px;border:1px solid rgba(101,209,247,.13);border-radius:10px;background:rgba(58,154,194,.045)}
.core-terminal-metric small{display:block;margin-bottom:4px;color:#78afc3;font:700 7px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.core-terminal-metric b{display:block;overflow:hidden;text-overflow:ellipsis;color:#edf8fb;font:700 16px/1.2 Georgia,serif;white-space:nowrap}
.core-terminal-features{margin:0;padding:0 0 0 18px;display:grid;gap:8px;color:#9fb8c3;font:500 12px/1.45 Inter,sans-serif}
.core-terminal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.core-terminal-actions a{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:9px;text-decoration:none;font:800 9px/1 Inter,sans-serif}
.core-terminal-primary{border:1px solid rgba(218,173,84,.50);background:linear-gradient(180deg,rgba(82,52,19,.9),rgba(31,20,10,.96));color:#edd9aa}
.core-terminal-secondary{border:1px solid rgba(105,213,250,.22);background:rgba(33,96,122,.18);color:#bcecff}
.core-terminal-secondary[hidden]{display:none}

/* ------------------------------------------------------------------------
   Layout editor
   ------------------------------------------------------------------------ */
.core-layout-editor-launch{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:30;
  padding:8px 12px;
  border-radius:999px;
  font:800 9px/1 Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.core-chamber-stage:not(.is-entered) .core-layout-editor-launch{display:none}
.core-layout-editor{
  position:fixed;
  z-index:80;
  right:14px;
  top:86px;
  width:min(360px,calc(100vw - 28px));
  padding:13px;
  border:1px solid rgba(111,216,255,.32);
  border-radius:15px;
  background:linear-gradient(180deg,rgba(6,16,25,.98),rgba(3,9,15,.99));
  color:#dff2fa;
  box-shadow:0 24px 78px rgba(0,0,0,.64);
  backdrop-filter:blur(12px);
  font:500 11px/1.35 Inter,system-ui,sans-serif;
}
.core-layout-editor[hidden]{display:none}
.core-layout-editor[data-collapsed="true"]{width:min(220px,calc(100vw - 28px))}
.core-layout-editor[data-collapsed="true"] [data-core-layout-body]{display:none}
.core-layout-editor header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;cursor:move;user-select:none;touch-action:none}
.core-layout-editor header strong{color:#f0dfb8;font:700 18px/1 Georgia,serif}
.core-layout-editor-tools{display:flex;gap:6px}
.core-layout-editor header button{width:29px;height:29px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:#09121b;color:#dff2fa;font-size:18px;cursor:pointer}
.core-layout-editor label{display:grid;gap:5px;color:#8ebbd2;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.core-layout-editor select,.core-layout-editor input{width:100%;box-sizing:border-box;padding:8px;border:1px solid rgba(116,194,229,.20);border-radius:8px;background:#07111a;color:#edf8fc;outline:none;font:600 11px/1 Inter,sans-serif}
.core-layout-editor select:focus,.core-layout-editor input:focus{border-color:rgba(109,220,255,.55);box-shadow:0 0 0 2px rgba(78,183,225,.08)}
.core-layout-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}
.core-layout-editor p{margin:10px 0;color:#7fa7ba;font-size:9px;line-height:1.45}
.core-layout-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.core-layout-editor-actions button{min-height:34px;border:1px solid rgba(214,170,83,.31);border-radius:8px;background:linear-gradient(180deg,rgba(63,41,17,.84),rgba(24,16,9,.95));color:#e8d3a3;font:800 9px/1 Inter,sans-serif;cursor:pointer}
.core-layout-editor-actions button:first-child{grid-column:1/-1;border-color:rgba(104,211,250,.34);background:linear-gradient(180deg,rgba(31,83,119,.90),rgba(16,46,70,.96));color:#e9f8ff}
.core-layout-editor small{display:block;min-height:14px;margin-top:7px;color:#68dda5;font:700 9px/1.2 Inter,sans-serif}
.core-layout-editor small.is-error{color:#ff8e8e}
.core-chamber-stage.is-layout-editing [data-core-layout-key]{
  outline:1px dashed rgba(255,203,97,.62);
  outline-offset:4px;
  cursor:move;
  pointer-events:auto;
  touch-action:none;
}
.core-chamber-stage.is-layout-editing [data-core-layout-key].is-layout-selected{
  outline:2px solid rgba(104,222,255,.96);
  outline-offset:5px;
  filter:drop-shadow(0 0 12px rgba(89,208,255,.35));
}
.core-chamber-stage.is-layout-editing .core-terminal,
.core-chamber-stage.is-layout-editing .core-terminal-shade{display:none}

/* ------------------------------------------------------------------------
   FX layer – intentionally sparse
   ------------------------------------------------------------------------ */
.core-fx-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.core-fx-bolt{
  position:absolute;
  top:39%;
  width:23%;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,rgba(129,231,255,.95),rgba(90,208,255,.16),transparent);
  filter:drop-shadow(0 0 5px rgba(104,219,255,.82));
  transform-origin:left center;
}
.core-fx-bolt-left{left:48%;transform:rotate(196deg)}
.core-fx-bolt-right{left:52%;transform:rotate(-16deg)}
.core-fx-bolt-alt{top:48%;width:31%;filter:drop-shadow(0 0 4px rgba(104,219,255,.62))}
.core-fx-bolt.is-firing{animation:coreBolt .82s steps(2,end)}
.core-fx-vapor{
  position:absolute;
  bottom:-8%;
  width:150px;
  height:110px;
  border-radius:50%;
  opacity:0;
  filter:blur(16px);
  background:radial-gradient(circle at 50% 70%,rgba(160,204,218,.22),rgba(111,158,174,.05) 55%,transparent 72%);
}
.core-fx-vapor-left{left:10%}.core-fx-vapor-right{right:10%}.core-fx-vapor-center{left:50%;margin-left:-75px}
.core-fx-vapor.is-rising{animation:coreVapor 4.3s ease-out}
.core-fx-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#84e3ff;opacity:.2;box-shadow:0 0 8px #84e3ff;animation:coreSpark 4s ease-in-out infinite}
.core-fx-spark-a{left:43%;top:26%}.core-fx-spark-b{right:42%;top:59%;animation-delay:-2.1s}
.core-chamber-stage.is-rail-fx::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(98,218,255,.09),transparent 36%);
  animation:coreRail .9s ease-out;
}

/* ------------------------------------------------------------------------
   Device-specific sizing only. Positions are NEVER set here.
   ------------------------------------------------------------------------ */
body.core-device-tablet .core-holo{width:clamp(72px,8.2vw,94px)}
body.core-device-tablet .core-data-rack{width:102px}
body.core-device-tablet .core-data-card{min-height:46px;padding:6px 7px}
body.core-device-tablet .core-stream{width:170px;height:148px}
body.core-device-tablet .core-heart-hit{width:100px;height:100px}
body.core-device-tablet .core-data-ticker{width:min(74vw,840px)}

body.core-device-mobile .core-chamber-page{}
body.core-device-mobile .sevenr-page-frame{
  grid-template-rows:66px minmax(0,1fr) 42px;
}
body.core-device-mobile .sevenr-page-frame-top{height:66px;min-height:66px}
body.core-device-mobile .sevenr-page-frame-bottom{height:42px;min-height:42px}
body.core-device-mobile .core-main-video{object-position:center center}
body.core-device-mobile .core-status-rail{min-width:0;max-width:88vw;min-height:28px;padding:5px 9px;gap:7px}
body.core-device-mobile .core-status-rail small{font-size:6px}
body.core-device-mobile .core-status-rail b{font-size:8px;max-width:58vw}
body.core-device-mobile .core-status-rail .core-sound-toggle{display:none}
body.core-device-mobile .core-heart-hit{width:76px;height:76px}
body.core-device-mobile .core-heart-ring{inset:5px}
body.core-device-mobile .core-heart-label small{font-size:5.5px}
body.core-device-mobile .core-heart-label b{font-size:12px}
body.core-device-mobile .core-heart-label em{font-size:6px}
body.core-device-mobile .core-holo{width:clamp(54px,16vw,70px);gap:2px}
body.core-device-mobile .core-holo-media{border-radius:10px}
body.core-device-mobile .core-holo-caption small{font-size:5px}
body.core-device-mobile .core-holo-caption b{font-size:8px;line-height:1}
body.core-device-mobile .core-data-rack{display:none}
body.core-device-mobile .core-stream{width:118px;height:82px;padding:5px;border-radius:8px;opacity:.68}
body.core-device-mobile .core-stream header{height:18px;padding-bottom:3px}
body.core-device-mobile .core-stream header small{font-size:4.5px}
body.core-device-mobile .core-stream header strong{font-size:7px}
body.core-device-mobile .core-stream-viewport{height:calc(100% - 19px)}
body.core-device-mobile .core-stream-list{gap:2px;padding-top:3px}
body.core-device-mobile .core-stream-list li{padding:2px 3px;font-size:4.6px;line-height:1.1}
body.core-device-mobile .core-stream-list-achievements b,
body.core-device-mobile .core-stream-list-achievements em{font-size:4.3px}
body.core-device-mobile .core-data-ticker{width:92vw;height:18px}
body.core-device-mobile .core-data-ticker-track{gap:15px;padding-left:28px}
body.core-device-mobile .core-data-ticker span{font-size:5.3px;line-height:18px}
body.core-device-mobile .core-stage-hint{max-width:82vw;padding:5px 8px;font-size:6.5px}
body.core-device-mobile .core-nav-launch{padding:6px 9px;font-size:7px}
body.core-device-mobile .core-sound-mobile{display:inline-flex;padding:6px 8px;font-size:7px;border-radius:999px}
body.core-device-mobile .core-mobile-highscores{display:block;width:148px;max-height:105px;padding:6px}
body.core-device-mobile .core-terminal{width:min(92vw,560px);max-height:82vh;grid-template-columns:1fr;border-radius:14px}
body.core-device-mobile .core-terminal-visual{display:none}
body.core-device-mobile .core-terminal-copy{padding:20px 18px 18px}
body.core-device-mobile .core-terminal-head h2{font-size:26px}
body.core-device-mobile .core-terminal-copy>p{font-size:11px;margin:12px 0}
body.core-device-mobile .core-terminal-metrics{gap:5px;margin:12px 0}
body.core-device-mobile .core-terminal-metric{padding:7px}
body.core-device-mobile .core-terminal-metric small{font-size:6px}
body.core-device-mobile .core-terminal-metric b{font-size:11px}
body.core-device-mobile .core-terminal-features{font-size:10px;gap:5px}
body.core-device-mobile .core-terminal-actions{margin-top:14px}
body.core-device-mobile .core-terminal-actions a{padding:8px 10px;font-size:7px}
body.core-device-mobile .core-layout-editor{left:auto;right:8px;top:72px;width:min(300px,calc(100vw - 16px));max-height:calc(100svh - 82px);overflow:auto}
body.core-device-mobile .core-layout-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

body.core-device-mobile.core-orientation-landscape .sevenr-page-frame{
  grid-template-rows:58px minmax(0,1fr) 34px;
}
body.core-device-mobile.core-orientation-landscape .sevenr-page-frame-top{height:58px;min-height:58px}
body.core-device-mobile.core-orientation-landscape .sevenr-page-frame-bottom{height:34px;min-height:34px}
body.core-device-mobile.core-orientation-landscape .core-holo{width:clamp(48px,8.6vw,66px)}
body.core-device-mobile.core-orientation-landscape .core-stream{width:105px;height:70px}
body.core-device-mobile.core-orientation-landscape .core-mobile-highscores{width:155px;max-height:94px}
body.core-device-mobile.core-orientation-landscape .core-sound-mobile{left:calc(50% - 92px);bottom:20px}
body.core-device-mobile.core-orientation-landscape .core-fullscreen-toggle{display:inline-flex;top:8px;right:8px}
body.core-device-mobile.core-orientation-landscape .core-terminal{max-height:90vh;grid-template-columns:minmax(140px,26%) minmax(0,1fr)}
body.core-device-mobile.core-orientation-landscape .core-terminal-visual{display:grid;min-height:230px;padding:12px}
body.core-device-mobile.core-orientation-landscape .core-terminal-copy{padding:17px 20px}
body.core-device-mobile.core-orientation-landscape .core-terminal-head h2{font-size:24px}
body.core-device-mobile.core-orientation-landscape .core-terminal-copy>p{font-size:10px}

body.core-fullscreen-active .sevenr-page-frame-top,
body.core-fullscreen-active .sevenr-page-frame-bottom{display:none!important}
body.core-fullscreen-active .sevenr-page-frame{grid-template-rows:minmax(0,1fr)}
body.core-fullscreen-active .sevenr-page-frame-content{height:100svh;min-height:100svh}
body.core-fullscreen-active .core-chamber-shell,
body.core-fullscreen-active .core-chamber-stage{height:100svh}

/* ------------------------------------------------------------------------
   Reduced motion
   ------------------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .core-scan-sweep,.core-beacon,.core-heart-ring,.core-heart-ring::after,
  .core-holo-scan,.core-stream-list,.core-data-ticker-track,.core-gate-orb::after,
  .core-gate-sensor-dot,.core-gate-blink,.core-fx-spark{animation:none}
}

/* Small physical phone widths. Again: sizes only, never positions. */
@media (max-width:420px){
  body.core-device-mobile .core-holo{width:clamp(50px,15.5vw,62px)}
  body.core-device-mobile .core-mobile-highscores{width:138px}
  body.core-device-mobile .core-stream{width:108px}
}

/* ------------------------------------------------------------------------
   Animations
   ------------------------------------------------------------------------ */
@keyframes coreScan{0%{transform:translateY(-22vh);opacity:0}12%{opacity:.16}88%{opacity:.16}100%{transform:translateY(72vh);opacity:0}}
@keyframes coreBeacon{0%,100%{opacity:.28}50%{opacity:1}}
@keyframes coreHeart{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.04);opacity:1}}
@keyframes coreRotate{to{transform:rotate(360deg)}}
@keyframes coreHoloScan{0%{transform:translateY(-120%)}100%{transform:translateY(520%)}}
@keyframes coreStreamAchievements{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(-50%)}}
@keyframes coreStreamSystem{0%,10%{transform:translateY(0)}90%,100%{transform:translateY(-50%)}}
@keyframes coreTicker{to{transform:translateX(-50%)}}
@keyframes coreSensor{0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.15);opacity:1}}
@keyframes coreBlink{50%{opacity:.36}}
@keyframes coreBolt{0%,100%{opacity:0}18%{opacity:1}33%{opacity:.12}45%{opacity:.9}68%{opacity:.18}}
@keyframes coreVapor{0%{opacity:0;transform:translateY(0) translateX(0) scale(.8)}18%{opacity:.16}100%{opacity:0;transform:translateY(-180px) translateX(var(--drift,0px)) scale(var(--scale,1.1))}}
@keyframes coreSpark{0%,100%{opacity:.08;transform:scale(.7)}50%{opacity:.42;transform:scale(1.4)}}
@keyframes coreRail{0%{opacity:0}28%{opacity:.75}100%{opacity:0}}

/* 1.24.35 · Standardrahmen: Systemwächter-Footer erreichbar */
body.core-chamber-page.core-systemwaechter-page.sevenr-framed-page{
  height:auto;
  min-height:100svh;
  overflow-x:hidden;
  overflow-y:auto;
}
