:root{color-scheme:dark;--bg:#070b11;--panel:rgba(8,14,22,.82);--panel-solid:#0e1622;--text:#f5efe4;--muted:#acb5c1;--accent:#d7b36a;--accent2:#4aa7ff;--line:rgba(213,185,121,.23);--max:1320px;--content:860px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}a{color:inherit}.sitebar{height:64px;display:flex;align-items:center;gap:18px;padding:0 max(20px,calc((100vw - var(--max))/2));position:sticky;top:0;z-index:80;background:rgba(5,9,15,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.sitebar-logo,.sitebar-project{font-family:Georgia,serif;text-decoration:none;color:var(--accent)}.sitebar-logo span{font-size:12px;letter-spacing:.16em}.sitebar-project{border-left:1px solid var(--line);padding-left:18px;color:#fff}.sitebar nav{margin-left:auto;display:flex;align-items:center;gap:10px}.sitebar nav a,.sitebar nav button{background:transparent;border:0;color:#dce3eb;text-decoration:none;padding:8px;cursor:pointer}.project-bg{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,7,11,.28),rgba(4,7,11,.93)),var(--project-bg,radial-gradient(circle at 50% 0,#15243a,#070b11 65%));background-size:cover;background-position:center}.project-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,transparent 0 25%,#05080daa 85%)}.eyebrow{letter-spacing:.18em;font-size:12px;color:var(--accent);font-weight:700}.tagline{font-size:clamp(20px,2.4vw,30px);color:#e3e9ef}.footer{min-height:100px;display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;padding:30px;border-top:1px solid var(--line);background:#05080d;color:var(--muted);font-size:13px}.footer a,.footer button{color:inherit;background:none;border:0;text-decoration:none;cursor:pointer}.cta{display:inline-flex;padding:11px 17px;border:1px solid var(--accent);color:#fff;text-decoration:none;border-radius:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 26%,transparent),transparent)}.simple-message{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.simple-message h1{font-family:Georgia,serif;font-size:clamp(34px,7vw,70px)}.consent[hidden]{display:none!important}.consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:200;max-width:980px;margin:auto;padding:18px 20px;display:flex;gap:20px;justify-content:space-between;align-items:center;background:#0b121df5;border:1px solid #45556a;border-radius:14px;box-shadow:0 18px 70px #000d}.consent p{margin:5px 0;color:var(--muted)}.consent button{padding:9px 13px;border-radius:8px;border:1px solid #35465b;background:#141e2b;color:#fff;cursor:pointer}.consent .primary{background:linear-gradient(#d8bd7b,#9d7a38);border-color:#d8bd7b;color:#110e09;font-weight:700}#siteSearch{width:min(740px,calc(100vw - 30px));border:1px solid #324157;border-radius:16px;background:#0c121b;color:#fff;padding:25px;box-shadow:0 20px 80px #000c}#siteSearch::backdrop{background:#020409cc;backdrop-filter:blur(7px)}#siteSearch form{position:relative}#siteSearch label{display:grid;gap:9px;font-weight:700}#siteSearch input{font:inherit;font-size:22px;padding:13px;background:#080d14;border:1px solid #334357;border-radius:9px;color:#fff}.dialog-close{position:absolute;right:-10px;top:-14px;border:0;background:none;color:#fff;font-size:30px;cursor:pointer}#searchResults{display:grid;gap:7px;margin-top:15px}#searchResults a{padding:11px;border:1px solid #243247;border-radius:9px;text-decoration:none;background:#0c1420}#searchResults a strong{display:block}.nexus-home{overflow-x:hidden}.nexus-shell{min-height:calc(100vh - 64px);position:relative;padding:36px 20px 80px;background:linear-gradient(180deg,rgba(3,7,13,.46),rgba(3,7,13,.78)),url('/nexus-test/assets/visual/nexus-hall.webp') center/cover fixed,linear-gradient(#09111c,#06090f 78%)}.nexus-atmosphere{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 32%,rgba(30,119,255,.18),transparent 28%);mix-blend-mode:screen}.nexus-atmosphere:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#a9d7ff 0 1px,transparent 1.5px),radial-gradient(circle,#d6aa5a 0 1px,transparent 1.5px);background-size:83px 83px,127px 127px;opacity:.13;animation:drift 80s linear infinite}.nexus-title{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:18px;text-align:left}.nexus-title img{width:105px;height:105px;object-fit:contain;filter:drop-shadow(0 0 24px #168dff77)}.nexus-title h1{font:clamp(36px,5vw,70px)/.95 Georgia,serif;margin:0;color:#f2e4c4;text-shadow:0 2px 22px #000}.nexus-title p{margin:5px 0;color:#c8d1dc}.portal-stage{position:relative;z-index:2;max-width:1500px;margin:34px auto 0;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center}.portal-rail{min-height:460px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1300px;overflow:hidden;touch-action:pan-y}.portal{position:absolute;width:min(260px,20vw);height:430px;text-decoration:none;transition:transform 1.35s cubic-bezier(.2,.78,.15,1),opacity 1s,filter 1s;will-change:transform}.portal-frame{height:100%;border:2px solid color-mix(in srgb,var(--portal-accent) 70%,#fff 20%);border-radius:130px 130px 18px 18px;overflow:hidden;position:relative;background:#0a1019;box-shadow:0 0 0 7px #070b11,0 0 0 9px color-mix(in srgb,var(--portal-accent) 45%,transparent),0 0 36px color-mix(in srgb,var(--portal-accent) 45%,transparent)}.portal-frame img,.portal-placeholder{width:100%;height:100%;object-fit:cover;background:radial-gradient(circle at 50% 25%,var(--portal-accent),#06101d 58%,#030609)}.portal-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(2,5,9,.93) 88%)}.portal-copy{position:absolute;left:12px;right:12px;bottom:16px;z-index:2;text-align:center}.portal-copy strong{display:block;font:26px Georgia,serif;text-shadow:0 2px 8px #000}.portal-copy>span:last-child{display:block;margin-top:5px;font-size:12px;color:#d9e0e8}.portal-badge{display:inline-flex!important;padding:3px 7px!important;margin-bottom:6px;border-radius:999px;background:var(--portal-accent);color:#071018!important;font-size:10px!important;font-weight:800}.portal-arrow{width:52px;height:52px;border-radius:50%;border:1px solid var(--accent);color:#fff;background:#0b1522cc;font-size:39px;cursor:pointer;z-index:20;transition:.25s}.portal-arrow:hover{transform:scale(1.08);box-shadow:0 0 25px #d5ad5955}.portal-dots{position:relative;z-index:3;display:flex;justify-content:center;gap:8px;margin:8px}.portal-dots button{width:7px;height:7px;padding:0;border-radius:50%;border:0;background:#766a54;cursor:pointer}.portal-dots button.active{background:#fff0c5;box-shadow:0 0 12px #e2b867}.welcome{position:relative;z-index:2;text-align:center;font:24px Georgia,serif;margin:12px auto 18px;color:#f7edd6}.nexus-dock{position:relative;z-index:4;margin:0 auto;max-width:1130px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.nexus-dock a{padding:10px 12px;border:1px solid var(--line);background:#09111ccc;text-decoration:none;border-radius:8px;color:#d9e1e9;font-size:13px}.nexus-dock a:hover{border-color:var(--accent);color:#fff}.project-hub,.book-shell,.content-shell,.collection-shell,.music-release{position:relative;min-height:80vh;padding-bottom:80px}.project-hero,.book-hero,.collection-hero,.content-hero{max-width:var(--max);margin:auto;min-height:520px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:45px;padding:55px 25px}.project-hero-image,.collection-hero-img,.content-hero-img{width:100%;height:min(60vh,560px);object-fit:cover;border-radius:22px;box-shadow:0 25px 80px #0009}.project-hero-copy h1,.book-copy h1,.collection-hero h1,.content-hero h1{font:clamp(44px,6vw,86px)/.95 Georgia,serif;margin:8px 0}.project-hero-copy>p:last-child{font-size:18px;line-height:1.7;color:#d7dde4}.module-grid{max-width:var(--max);margin:-35px auto 60px;padding:0 25px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;z-index:5}.module-card{min-height:150px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,rgba(16,27,41,.95),rgba(6,10,16,.95));text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;transition:.25s}.module-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 15px 40px #0009}.module-card strong{font:20px Georgia,serif}.module-card>span:last-child{font-size:12px;color:var(--muted);margin-top:4px}.module-icon{font-size:28px;color:var(--accent);margin-bottom:auto}.section-wrap{max-width:var(--max);margin:60px auto;padding:0 25px}.section-wrap header h2{font:clamp(30px,4vw,50px) Georgia,serif;margin:7px 0 25px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.content-card{border:1px solid var(--line);border-radius:15px;background:#09111ccc;text-decoration:none;overflow:hidden;padding-bottom:17px}.content-card-image{height:220px;background:#0c1622;overflow:hidden}.content-card-image img{width:100%;height:100%;object-fit:cover}.content-card>span,.content-card>strong,.content-card>p{display:block;margin-left:17px;margin-right:17px}.content-card>span{margin-top:14px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.content-card>strong{font:22px Georgia,serif;margin-top:5px}.content-card>p{color:var(--muted);font-size:14px;line-height:1.5}.continue{max-width:var(--max);margin:80px auto 20px;padding:0 25px}.continue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.continue-grid a{display:flex;justify-content:space-between;padding:18px;border:1px solid var(--line);border-radius:12px;background:#09111ccc;text-decoration:none}.content-hero,.collection-hero{min-height:430px}.content-shell .prose{max-width:var(--content);margin:20px auto;padding:0 25px;font-family:Georgia,serif;font-size:19px;line-height:1.85}.content-block{margin:0 0 30px}.content-block img,.content-block video{max-width:100%;border-radius:12px}.content-block blockquote{margin:40px 0;padding:20px 25px;border-left:3px solid var(--accent);background:#0b1420aa;font-size:24px}.collection-grid{max-width:var(--max);margin:0 auto;padding:20px 25px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.collection-card{min-height:310px;border:1px solid var(--line);border-radius:15px;background:#09111ddd;overflow:hidden;text-decoration:none}.collection-card img{width:100%;height:240px;object-fit:cover}.collection-card>div{padding:14px}.collection-card strong{font:23px Georgia,serif}.collection-card p{color:var(--muted)}.youtube-lazy{min-height:380px;display:grid;place-items:center;align-content:center;gap:9px;background:#05090e;border:1px solid var(--line);border-radius:15px;position:relative;overflow:hidden;text-align:center}.youtube-lazy img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.youtube-lazy button,.youtube-lazy small{position:relative;z-index:2}.youtube-lazy button{font:20px inherit;padding:13px 18px;border:1px solid var(--accent);border-radius:9px;background:#090f17;color:#fff;cursor:pointer}.music-hub{min-height:80vh;padding:70px 25px;background:radial-gradient(circle at 50% 0,#0a4078 0,transparent 28%),#03070c}.music-hero{text-align:center;max-width:900px;margin:auto}.music-orbit{width:130px;filter:drop-shadow(0 0 35px #128cff)}.music-hero h1{font:clamp(60px,10vw,130px)/.8 Georgia,serif;margin:20px 0;color:#ddebff;text-shadow:0 0 45px #168dff66}.music-grid{max-width:1100px;margin:50px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.music-card{border:1px solid #165798;border-radius:15px;overflow:hidden;text-decoration:none;background:#071525}.music-card img{width:100%;aspect-ratio:1;object-fit:cover}.music-card div{padding:14px}.music-card strong{display:block;font:23px Georgia,serif}.music-card span{font-size:12px;color:#74c9ff}.music-release>section{max-width:1050px;margin:auto;min-height:70vh;display:grid;grid-template-columns:430px 1fr;gap:50px;align-items:center;padding:50px 25px}.music-release-cover{width:100%;border-radius:20px;box-shadow:0 0 70px #0b82ff55}.music-release h1{font:clamp(45px,7vw,85px) Georgia,serif;margin:9px 0}.stream-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.stream-links a{padding:11px 15px;border:1px solid var(--accent);border-radius:9px;text-decoration:none}.search-result-meta{color:var(--muted);font-size:12px}@keyframes drift{to{background-position:83px 83px,-127px 127px}}@media(max-width:1000px){.portal{width:270px}.module-grid{grid-template-columns:repeat(3,1fr)}.project-hero,.collection-hero,.content-hero{grid-template-columns:1fr;min-height:0}.project-hero-image,.collection-hero-img,.content-hero-img{height:390px}.card-grid,.collection-grid,.continue-grid,.music-grid{grid-template-columns:repeat(2,1fr)}.music-release>section{grid-template-columns:320px 1fr}}@media(max-width:700px){.sitebar{padding:0 14px}.sitebar-project{max-width:38vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sitebar nav a{display:none}.nexus-shell{padding:25px 8px 60px}.nexus-title{transform:scale(.88);transform-origin:center}.nexus-title>div{display:none}.portal-stage{grid-template-columns:45px minmax(0,1fr) 45px;margin-top:15px}.portal-rail{min-height:460px}.portal{width:min(72vw,290px);height:420px}.portal-arrow{width:42px;height:42px;font-size:31px}.nexus-dock{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8px}.nexus-dock a{text-align:center;font-size:11px;padding:9px 5px}.project-hero,.book-hero,.collection-hero,.content-hero{padding:35px 18px;gap:20px}.project-hero-copy h1,.collection-hero h1,.content-hero h1{font-size:47px}.module-grid{grid-template-columns:1fr;padding:0 18px;margin:0 auto 40px}.module-card{min-height:105px}.card-grid,.collection-grid,.continue-grid,.music-grid{grid-template-columns:1fr}.section-wrap,.collection-grid,.continue{padding-left:18px;padding-right:18px}.music-release>section{grid-template-columns:1fr;padding:35px 18px}.music-release-cover{max-width:360px;margin:auto}.consent{left:10px;right:10px;bottom:10px;display:grid}.consent>div:last-child{display:flex;gap:7px}.footer{gap:15px}.content-shell .prose{padding:0 18px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}}

/* 7R Nexus 0.7.0 — approved five-portal hall */
@media (min-width:1051px){
  body.nexus-home{background:#02050a;overflow:hidden}
  .nexus-home .sitebar,.nexus-home .footer{display:none}
  .nexus-home .nexus-shell{width:min(100vw,177.683vh);height:auto;aspect-ratio:1672/941;min-height:0;margin:0 auto;padding:0;overflow:hidden;background:url('/nexus-test/assets/visual/nexus-hall-5.webp') center/100% 100% no-repeat #03070c;box-shadow:0 0 90px #000;position:relative}
  .nexus-home .nexus-atmosphere{z-index:1;background:radial-gradient(circle at 50% 33%,rgba(40,136,255,.11),transparent 24%);mix-blend-mode:screen}
  .nexus-home .nexus-atmosphere:after{opacity:.06}
  .nexus-home .nexus-title,.nexus-home .welcome{display:none}
  .nexus-home .portal-stage{position:absolute;inset:0;z-index:8;max-width:none;margin:0;display:block;pointer-events:none}
  .nexus-home .portal-rail{position:absolute;inset:0;min-height:0;overflow:visible;perspective:1700px;touch-action:none;pointer-events:auto}
  .nexus-home .portal{position:absolute;left:var(--slot-x,50%);top:var(--slot-y,40%);width:var(--slot-w,17%);height:var(--slot-h,43%);transform:translate(-50%,-50%) scale(var(--slot-scale,1)) rotateY(var(--slot-rot,0deg));transform-origin:center 78%;transition:left 1.6s cubic-bezier(.2,.78,.15,1),top 1.6s cubic-bezier(.2,.78,.15,1),width 1.6s cubic-bezier(.2,.78,.15,1),height 1.6s cubic-bezier(.2,.78,.15,1),transform 1.6s cubic-bezier(.2,.78,.15,1),opacity 1.15s,filter 1.15s;will-change:left,top,width,height,transform,opacity,filter}
  .nexus-home .portal-frame{height:100%;border:1px solid color-mix(in srgb,var(--portal-accent) 65%,#fff 10%);border-radius:48% 48% 7% 7% / 25% 25% 5% 5%;overflow:hidden;background:#070b10;box-shadow:inset 0 0 35px #000b,0 0 14px color-mix(in srgb,var(--portal-accent) 28%,transparent);transition:box-shadow .45s,border-color .45s}
  .nexus-home .portal-frame img,.nexus-home .portal-placeholder{width:100%;height:100%;object-fit:cover;object-position:center}
  .nexus-home .portal-frame:after{background:linear-gradient(180deg,rgba(0,0,0,.08) 0 62%,rgba(1,4,8,.7) 86%,rgba(1,3,6,.96) 100%)}
  .nexus-home .portal-copy{left:7%;right:7%;bottom:4.5%;opacity:.98}
  .nexus-home .portal-copy strong{font:clamp(15px,1.55vw,27px) Georgia,serif;color:#fff7e8;text-shadow:0 2px 8px #000,0 0 16px #000;white-space:normal}
  .nexus-home .portal-copy>span:last-child{font-size:clamp(8px,.68vw,12px);line-height:1.2;color:#f1ede5;text-shadow:0 2px 6px #000}
  .nexus-home .portal-badge{font-size:clamp(7px,.55vw,10px)!important;padding:2px 6px!important}
  .nexus-home .portal.is-focus .portal-frame{border-color:color-mix(in srgb,var(--portal-accent) 86%,#fff 18%);box-shadow:inset 0 0 34px #0009,0 0 22px color-mix(in srgb,var(--portal-accent) 58%,transparent),0 0 55px color-mix(in srgb,var(--portal-accent) 20%,transparent)}
  .nexus-home .portal:hover .portal-frame{filter:brightness(1.05);box-shadow:inset 0 0 30px #0008,0 0 30px color-mix(in srgb,var(--portal-accent) 62%,transparent)}
  .nexus-home .portal-arrow{position:absolute;top:48.8%;width:6.2%;height:11%;border:0;border-radius:50%;background:transparent;color:transparent;box-shadow:none;z-index:50;pointer-events:auto}
  .nexus-home .portal-arrow:hover{transform:none;box-shadow:0 0 30px rgba(224,174,72,.18);background:rgba(255,199,74,.025)}
  .nexus-home .portal-prev{left:.2%}.nexus-home .portal-next{right:.2%}
  .nexus-home .portal-dots{position:absolute;left:41.5%;right:41.5%;bottom:22.8%;z-index:20;margin:0;gap:.45vw;pointer-events:auto}
  .nexus-home .portal-dots button{width:.43vw;height:.43vw;min-width:5px;min-height:5px;background:rgba(124,105,71,.75);box-shadow:0 0 5px #000;border:1px solid rgba(255,226,157,.16)}
  .nexus-home .portal-dots button.active{background:#ffe8aa;box-shadow:0 0 13px #eab450}
  .nexus-home .nexus-dock{position:absolute;left:15.8%;right:15.8%;bottom:2.25%;height:10.1%;z-index:30;display:grid;grid-template-columns:repeat(4,1fr) 1.45fr repeat(5,1fr);gap:.18%;max-width:none;margin:0;padding:0;pointer-events:none}
  .nexus-home .nexus-dock a{display:block;min-width:0;padding:0;border:1px solid transparent;background:transparent;border-radius:5%;color:transparent;font-size:0;pointer-events:auto;transition:.25s}
  .nexus-home .nexus-dock a:hover{border-color:rgba(255,218,129,.32);background:rgba(255,203,89,.035);box-shadow:0 0 24px rgba(219,167,62,.16)}
  .nexus-home .nexus-dock a:nth-child(1){grid-column:1}.nexus-home .nexus-dock a:nth-child(2){grid-column:2}.nexus-home .nexus-dock a:nth-child(3){grid-column:3}.nexus-home .nexus-dock a:nth-child(4){grid-column:4}.nexus-home .nexus-dock a:nth-child(5){grid-column:6}.nexus-home .nexus-dock a:nth-child(6){grid-column:7}.nexus-home .nexus-dock a:nth-child(7){grid-column:8}.nexus-home .nexus-dock a:nth-child(8){grid-column:9}.nexus-home .nexus-dock a:nth-child(9){grid-column:10}
}

@media (min-width:701px) and (max-width:1050px){
  .nexus-home .nexus-shell{min-height:calc(100vh - 64px);background:linear-gradient(180deg,rgba(3,7,13,.25),rgba(3,7,13,.78)),url('/nexus-test/assets/visual/nexus-hall-5.webp') center/cover no-repeat #03070c}
  .nexus-home .portal-stage{margin-top:18px}
  .nexus-home .portal{left:var(--slot-x,50%);top:var(--slot-y,45%);width:var(--slot-w,30%);height:var(--slot-h,52%);transform:translate(-50%,-50%) scale(var(--slot-scale,1)) rotateY(var(--slot-rot,0deg));transition:left 1.45s cubic-bezier(.2,.78,.15,1),top 1.45s cubic-bezier(.2,.78,.15,1),width 1.45s,height 1.45s,transform 1.45s,opacity 1s,filter 1s}
}

@media (max-width:700px){
  body.nexus-home{overflow-x:hidden}
  .nexus-home .sitebar{display:flex}
  .nexus-home .footer{display:flex}
  .nexus-home .nexus-shell{min-height:calc(100vh - 64px);aspect-ratio:auto;width:100%;padding:25px 8px 60px;background:linear-gradient(180deg,rgba(3,7,13,.56),rgba(3,7,13,.9)),url('/nexus-test/assets/visual/nexus-hall-5.webp') 52% center/cover no-repeat #03070c}
  .nexus-home .nexus-title{display:flex}.nexus-home .nexus-title>div{display:none}
  .nexus-home .portal-stage{position:relative;display:grid;grid-template-columns:45px minmax(0,1fr) 45px;margin-top:15px}
  .nexus-home .portal-rail{position:relative;min-height:470px;overflow:hidden;perspective:1200px}
  .nexus-home .portal{left:var(--slot-x,50%);top:var(--slot-y,47%);width:var(--slot-w,74%);height:var(--slot-h,56%);transform:translate(-50%,-50%) scale(var(--slot-scale,1));transition:left 1.2s,top 1.2s,width 1.2s,height 1.2s,transform 1.2s,opacity .8s}
  .nexus-home .portal-frame{border-radius:48% 48% 8% 8% / 24% 24% 5% 5%}
  .nexus-home .portal-copy strong{font-size:25px}.nexus-home .portal-copy>span:last-child{font-size:12px}
}


/* 7R Nexus 0.7.1 — integrate live portal content INTO the rendered hall frames */
@media (min-width:1051px){
  /* The .portal element follows the ornate frame position from the hall render.
     The dynamic artwork itself is inset so the gold/colored frame from the approved render stays visible. */
  .nexus-home .portal-frame{
    position:absolute;
    inset:5.2% 8.5% 6.7%;
    height:auto;
    border:0;
    border-radius:47% 47% 3.5% 3.5% / 22% 22% 2.5% 2.5%;
    overflow:hidden;
    background:#05080d;
    box-shadow:inset 0 0 26px rgba(0,0,0,.52),0 0 15px color-mix(in srgb,var(--portal-accent) 24%,transparent);
  }
  .nexus-home .portal.is-focus .portal-frame{
    border:0;
    box-shadow:inset 0 0 25px rgba(0,0,0,.42),0 0 22px color-mix(in srgb,var(--portal-accent) 45%,transparent);
  }
  .nexus-home .portal:hover .portal-frame{
    filter:brightness(1.035);
    box-shadow:inset 0 0 22px rgba(0,0,0,.38),0 0 27px color-mix(in srgb,var(--portal-accent) 48%,transparent);
  }
  .nexus-home .portal-frame img,
  .nexus-home .portal-placeholder{
    width:100%;height:100%;object-fit:cover;object-position:center;
    transform:scale(1.055);
  }
  .nexus-home .portal-frame:before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    box-shadow:inset 0 0 24px 8px rgba(2,4,8,.42);
    border-radius:inherit;
  }
  .nexus-home .portal-frame:after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.03) 0 58%,rgba(2,4,8,.48) 78%,rgba(2,4,8,.9) 100%);
  }
  /* Put the changing title/tagline on a plaque at the foot of the same portal.
     It masks the static label painted into the concept render without creating a second floating card. */
  .nexus-home .portal-copy{
    left:6.5%;right:6.5%;bottom:1.2%;
    min-height:14.5%;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    padding:2.2% 4.5% 1.8%;
    background:linear-gradient(180deg,rgba(3,6,10,.05),rgba(3,6,10,.84) 24%,rgba(3,6,10,.96));
    border-radius:0 0 12px 12px;
    text-shadow:0 2px 7px #000;
  }
  .nexus-home .portal-copy strong{font-size:clamp(13px,1.22vw,22px);line-height:1.02}
  .nexus-home .portal-copy>span:last-child{font-size:clamp(7px,.58vw,10px);line-height:1.14;margin-top:3px}
  .nexus-home .portal-badge{position:absolute;top:-15%;font-size:clamp(6px,.48vw,9px)!important;padding:2px 5px!important}

  /* The hall itself already contains the ornamental arrows. Invisible hit areas stay exactly over them. */
  .nexus-home .portal-arrow{top:46.2%;width:6.7%;height:12.8%}
  .nexus-home .portal-prev{left:.15%}.nexus-home .portal-next{right:.15%}
}

/* ================================================================
   7R Nexus 0.8.0 — MASTER HALL / WORK TILES
   Fixed ornate portal architecture + dynamic covers behind the frames.
   ================================================================ */
@media (min-width:1051px){
  body.nexus-home{background:#02050a;overflow:hidden}
  .nexus-home .sitebar,.nexus-home .footer{display:none!important}
  .nexus-home .nexus-shell{
    width:min(100vw,177.683vh);aspect-ratio:1672/941;height:auto;min-height:0;
    margin:0 auto;padding:0;position:relative;overflow:hidden;
    background:url('/nexus-test/assets/visual/nexus-hall-master.webp') center/100% 100% no-repeat #03070c;
    box-shadow:0 0 90px #000;
  }
  .nexus-home .nexus-atmosphere{z-index:2;background:radial-gradient(circle at 50% 37%,rgba(71,142,255,.08),transparent 24%);mix-blend-mode:screen}
  .nexus-home .nexus-atmosphere:after{opacity:.035}
  .nexus-home .nexus-title,.nexus-home .welcome{display:none!important}
  .nexus-home .portal-stage{position:absolute;inset:0;z-index:12;max-width:none;margin:0;display:block;pointer-events:none}
  .nexus-home .portal-rail{position:absolute;inset:0;min-height:0;overflow:visible;perspective:none;touch-action:none;pointer-events:auto}

  /* .portal is ONLY the replaceable image opening. The ornate frame remains in the master hall. */
  .nexus-home .portal{
    position:absolute;left:var(--slot-x,49.76%);top:var(--slot-y,41.82%);
    width:var(--slot-w,9.57%);height:var(--slot-h,23.70%);
    transform:translate(-50%,-50%);transform-origin:center;
    text-decoration:none;overflow:visible;
    transition:left 1.6s cubic-bezier(.2,.78,.15,1),top 1.6s cubic-bezier(.2,.78,.15,1),width 1.6s cubic-bezier(.2,.78,.15,1),height 1.6s cubic-bezier(.2,.78,.15,1),opacity 1s,filter 1s;
    will-change:left,top,width,height,opacity,filter;
  }
  .nexus-home .portal-frame{
    position:absolute;inset:0;height:auto;border:0!important;background:transparent!important;
    box-shadow:none!important;overflow:visible!important;border-radius:0!important;
  }
  .nexus-home .portal-frame img,.nexus-home .portal-placeholder{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
    border-radius:48% 48% 3% 3% / 18% 18% 3% 3%;
    clip-path:inset(0 round 48% 48% 3% 3% / 18% 18% 3% 3%);
    background:#07101d;
    box-shadow:inset 0 0 22px #000b;
    transition:filter .65s,opacity .65s,transform .9s cubic-bezier(.2,.8,.2,1);
  }
  .nexus-home .portal-frame:before{
    content:"";position:absolute;inset:-1.2%;z-index:4;pointer-events:none;
    border-radius:48% 48% 3% 3% / 18% 18% 3% 3%;
    box-shadow:inset 0 0 18px #02060ccc,inset 0 0 4px rgba(255,255,255,.2),0 0 8px color-mix(in srgb,var(--portal-accent) 35%,transparent);
  }
  .nexus-home .portal-frame:after{
    content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
    border-radius:48% 48% 3% 3% / 18% 18% 3% 3%;
    background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 28%,transparent 70%,rgba(1,3,8,.17));
  }
  .nexus-home .portal-shimmer{
    position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none;opacity:0;
    border-radius:48% 48% 3% 3% / 18% 18% 3% 3%;
  }
  .nexus-home .portal-shimmer:after{
    content:"";position:absolute;top:-40%;bottom:-40%;width:34%;left:-55%;transform:rotate(12deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),rgba(126,198,255,.22),transparent);
    filter:blur(2px);
  }

  /* Dynamic lettering is painted onto the empty plaques in the master hall. */
  .nexus-home .portal-title,.nexus-home .portal-subtitle{
    position:absolute;z-index:20;left:-20%;width:140%;display:grid;place-items:center;text-align:center;
    pointer-events:none;color:#f5e6bd;text-shadow:0 1px 4px #000,0 0 8px #000;
    transition:opacity .55s,filter .55s,transform .7s;
  }
  .nexus-home .portal-title{top:-20.5%;height:17%}
  .nexus-home .portal-title strong{font:600 clamp(10px,.9vw,17px)/.98 Georgia,serif;letter-spacing:.01em;max-width:100%}
  .nexus-home .portal-subtitle{bottom:-18.5%;height:15%;color:#eee7d8}
  .nexus-home .portal-subtitle span{font:600 clamp(7px,.52vw,10px)/1.08 Inter,system-ui,sans-serif;letter-spacing:.025em;max-width:95%}
  .nexus-home .portal-badge{
    position:absolute;right:-8%;bottom:5%;z-index:25;margin:0!important;padding:2px 5px!important;
    background:#b42f2f;color:#fff!important;border:1px solid #ffc2a6;border-radius:999px;
    font-size:clamp(6px,.45vw,9px)!important;box-shadow:0 0 9px #e13c3c88;
  }

  /* Tiny magical flash at the neutral portal tip. Each portal uses a different delay. */
  .nexus-home .portal-magic{
    position:absolute;z-index:30;left:50%;top:-39%;width:4px;height:4px;border-radius:50%;pointer-events:none;
    background:#fff5ca;opacity:0;transform:translate(-50%,-50%) scale(.2);
    box-shadow:0 0 5px #fff,0 0 12px #ffd97b,0 0 25px color-mix(in srgb,var(--portal-accent) 75%,#fff 25%);
    animation:portalSpark 6.6s ease-in-out infinite var(--spark-delay,0s);
  }
  .nexus-home .portal-magic:before,.nexus-home .portal-magic:after{content:"";position:absolute;left:50%;top:50%;background:#ffe9a0;transform:translate(-50%,-50%);opacity:.8}
  .nexus-home .portal-magic:before{width:22px;height:1px}.nexus-home .portal-magic:after{width:1px;height:22px}

  .nexus-home .portal.is-focus .portal-frame img{
    filter:brightness(1.07) saturate(1.06);
    animation:portalBreath 4.8s ease-in-out infinite;
  }
  .nexus-home .portal.is-focus .portal-frame:before{box-shadow:inset 0 0 16px #02060caa,inset 0 0 5px rgba(255,255,255,.26),0 0 12px color-mix(in srgb,var(--portal-accent) 55%,transparent),0 0 25px color-mix(in srgb,var(--portal-accent) 20%,transparent)}
  .nexus-home .portal.is-focus .portal-shimmer{opacity:.5}
  .nexus-home .portal.is-focus .portal-shimmer:after{animation:portalSweep 6.3s ease-in-out infinite 1.1s}
  .nexus-home .portal:hover .portal-frame img{filter:brightness(1.1) saturate(1.08);transform:scale(1.012)}
  .nexus-home .portal:hover .portal-title{color:#fff2c7}

  /* Ghostly change of plaque lettering while the carousel turns. */
  .nexus-home .portal.is-shifting .portal-title,.nexus-home .portal.is-shifting .portal-subtitle{opacity:.05;filter:blur(6px);transform:translateY(-2px)}
  .nexus-home .portal.is-shifting .portal-frame img{filter:brightness(.82) blur(.8px);opacity:.82}

  /* Click areas stay exactly on top of the golden arrows painted into the hall. */
  .nexus-home .portal-arrow{position:absolute;top:48.5%;width:6.4%;height:13%;border:0;border-radius:50%;background:transparent;color:transparent;box-shadow:none;z-index:60;pointer-events:auto}
  .nexus-home .portal-prev{left:.15%}.nexus-home .portal-next{right:.15%}
  .nexus-home .portal-arrow:hover{transform:none;background:rgba(255,204,96,.03);box-shadow:0 0 30px rgba(224,174,72,.15)}

  .nexus-home .portal-dots{position:absolute;left:41.5%;right:41.5%;bottom:22.7%;z-index:45;margin:0;gap:.42vw;pointer-events:auto}
  .nexus-home .portal-dots button{width:.42vw;height:.42vw;min-width:5px;min-height:5px;background:rgba(122,103,70,.72);border:1px solid rgba(255,226,157,.13);box-shadow:0 0 5px #000}
  .nexus-home .portal-dots button.active{background:#ffe9aa;box-shadow:0 0 12px #eab450}

  .nexus-home .nexus-dock{position:absolute;left:15.7%;right:15.7%;bottom:2.05%;height:10.2%;z-index:50;display:grid;grid-template-columns:repeat(4,1fr) 1.45fr repeat(5,1fr);gap:.18%;max-width:none;margin:0;padding:0;pointer-events:none}
  .nexus-home .nexus-dock a{display:block;min-width:0;padding:0;border:1px solid transparent;background:transparent;border-radius:5%;color:transparent;font-size:0;pointer-events:auto}
  .nexus-home .nexus-dock a:hover{border-color:rgba(255,218,129,.32);background:rgba(255,203,89,.035);box-shadow:0 0 24px rgba(219,167,62,.16)}
  .nexus-home .nexus-dock a:nth-child(1){grid-column:1}.nexus-home .nexus-dock a:nth-child(2){grid-column:2}.nexus-home .nexus-dock a:nth-child(3){grid-column:3}.nexus-home .nexus-dock a:nth-child(4){grid-column:4}.nexus-home .nexus-dock a:nth-child(5){grid-column:6}.nexus-home .nexus-dock a:nth-child(6){grid-column:7}.nexus-home .nexus-dock a:nth-child(7){grid-column:8}.nexus-home .nexus-dock a:nth-child(8){grid-column:9}.nexus-home .nexus-dock a:nth-child(9){grid-column:10}
}

/* Hub series strip: all continuations live on one project page. */
.hub-books{scroll-margin-top:88px}
.hub-selected-note{color:var(--accent);margin-top:-10px}
.hub-book-grid{display:flex;gap:16px;overflow-x:auto;padding:8px 4px 22px;scroll-snap-type:x proximity}
.hub-book{min-width:210px;max-width:230px;scroll-snap-align:start;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:rgba(7,12,19,.88);text-decoration:none;transition:.28s;position:relative}
.hub-book:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 18px 50px #0008}
.hub-book.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent),0 0 35px color-mix(in srgb,var(--accent) 28%,transparent)}
.hub-book-cover{aspect-ratio:2/3;overflow:hidden;background:#07101a}.hub-book-cover img{width:100%;height:100%;object-fit:cover}
.hub-book-copy{display:grid;gap:5px;padding:13px 14px 16px}.hub-book-copy small{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.hub-book-copy strong{font:21px/1.05 Georgia,serif}.hub-book-copy>span:not(.selected-pill){color:var(--muted);font-size:12px}.selected-pill{position:absolute;top:9px;left:9px;background:var(--accent);color:#080b10;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 55%,transparent)}

@keyframes portalSpark{0%,72%,100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}76%{opacity:.18;transform:translate(-50%,-50%) scale(.55)}78%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}80%{opacity:.25;transform:translate(-50%,-50%) scale(.65)}83%{opacity:.9;transform:translate(-50%,-50%) scale(1)}86%{opacity:0;transform:translate(-50%,-50%) scale(.25)}}
@keyframes portalBreath{0%,100%{filter:brightness(1.04) saturate(1.04)}50%{filter:brightness(1.13) saturate(1.09)}}
@keyframes portalSweep{0%,62%{left:-55%;opacity:0}70%{opacity:.65}88%{left:125%;opacity:.45}100%{left:125%;opacity:0}}

@media (prefers-reduced-motion:reduce){.nexus-home .portal-magic,.nexus-home .portal.is-focus .portal-frame img,.nexus-home .portal.is-focus .portal-shimmer:after{animation:none!important}.nexus-home .portal{transition-duration:.25s!important}}

/* ================================================================
   7R Nexus 0.8.1 — PORTAL APERTURE / PLAQUE FIX
   Goal: cover art lives visually INSIDE the empty master portals.
   The painted gold portal architecture stays untouched and readable.
   ================================================================ */
@media (min-width:1051px){
  /* The JS slots now describe only the INNER opening, not the whole gate. */
  .nexus-home .portal{
    overflow:visible;
    isolation:isolate;
  }

  /* No second frame in front of the master artwork. The cover is clipped
     a few pixels inside the opening, so the gold frame in the hall remains visible. */
  .nexus-home .portal-frame{
    inset:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:47% 47% 2.5% 2.5% / 15% 15% 2.5% 2.5%!important;
    clip-path:inset(.7% .8% 1.2% .8% round 47% 47% 2.5% 2.5% / 15% 15% 2.5% 2.5%);
    background:#06101b!important;
    box-shadow:none!important;
    z-index:1;
  }
  .nexus-home .portal-frame img,.nexus-home .portal-placeholder{
    inset:0!important;
    width:100%!important;height:100%!important;
    border:0!important;border-radius:0!important;clip-path:none!important;
    object-fit:cover;object-position:center;
    transform:scale(1.015);
    box-shadow:none!important;
  }
  .nexus-home .portal-frame:before{
    inset:0!important;border-radius:inherit!important;
    box-shadow:inset 0 0 12px 4px rgba(1,4,9,.48),inset 0 0 3px rgba(213,232,255,.18)!important;
  }
  .nexus-home .portal-frame:after{
    inset:0!important;border-radius:inherit!important;
    background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%,transparent 74%,rgba(1,3,8,.12))!important;
  }
  .nexus-home .portal-shimmer{border-radius:inherit!important}

  /* Fixed plaque geometry. Every title gets the same visual box; JS only
     chooses one of three font classes depending on title length. */
  .nexus-home .portal-title{
    left:-25%;width:150%;top:-23.2%;height:17.2%;
    padding:0 7%;overflow:hidden;
  }
  .nexus-home .portal-title strong{
    display:block;width:100%;margin:0;
    font-family:Georgia,serif;font-weight:600;line-height:.98;
    font-size:clamp(10px,.90vw,16px);
    white-space:nowrap;overflow:hidden;text-overflow:clip;
    letter-spacing:0;
  }
  .nexus-home .portal-title strong.title-medium{font-size:clamp(9px,.78vw,14px)}
  .nexus-home .portal-title strong.title-long{font-size:clamp(8px,.66vw,12px);letter-spacing:-.012em}

  .nexus-home .portal-subtitle{
    left:-24%;width:148%;bottom:-20.4%;height:15.5%;
    padding:0 5%;overflow:hidden;
  }
  .nexus-home .portal-subtitle span{
    display:-webkit-box;width:100%;max-width:100%;margin:0;
    -webkit-box-orient:vertical;-webkit-line-clamp:2;
    overflow:hidden;
    font:600 clamp(6px,.49vw,9px)/1.05 Inter,system-ui,sans-serif;
    letter-spacing:.018em;
  }

  /* BALD is a small horizontal seal inside the image opening. */
  .nexus-home .portal-badge{
    position:absolute!important;
    top:3%!important;right:3%!important;bottom:auto!important;left:auto!important;
    display:inline-flex!important;align-items:center;justify-content:center;
    width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
    margin:0!important;padding:3px 6px!important;
    white-space:nowrap!important;writing-mode:horizontal-tb!important;
    border-radius:999px!important;
    border:1px solid rgba(255,220,190,.82)!important;
    background:rgba(164,35,35,.94)!important;color:#fff!important;
    font:800 clamp(6px,.43vw,8px)/1 Inter,system-ui,sans-serif!important;
    box-shadow:0 0 8px rgba(226,59,59,.55)!important;
    z-index:12!important;
  }

  /* The glow belongs to the world behind the door, not to an extra card frame. */
  .nexus-home .portal.is-focus .portal-frame{
    box-shadow:0 0 18px color-mix(in srgb,var(--portal-accent) 20%,transparent)!important;
  }
  .nexus-home .portal.is-focus .portal-frame:before{
    box-shadow:inset 0 0 13px 4px rgba(1,4,9,.4),inset 0 0 4px rgba(255,255,255,.2),0 0 13px color-mix(in srgb,var(--portal-accent) 35%,transparent)!important;
  }
}


/* 7R Project Hub 1.0 · Drachenfunken-first scaffold */
.project-hub[data-project-key="drachenfunken"] .module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.project-hub[data-project-key="drachenfunken"] .module-card{min-height:138px}
.collection-card.is-system{display:flex;flex-direction:column;min-height:310px}
.collection-system-art{height:240px;display:grid;place-items:center;align-content:center;gap:10px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 46%),linear-gradient(145deg,#111b27,#070c12);border-bottom:1px solid var(--line)}
.collection-system-art span{font:76px/1 Georgia,serif;color:var(--accent);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 45%,transparent))}
.collection-system-art small{letter-spacing:.18em;color:var(--muted);font-size:10px;font-weight:800}
.collection-card.is-system:hover .collection-system-art span{transform:scale(1.05)}
@media(max-width:1000px){.project-hub[data-project-key="drachenfunken"] .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-hub[data-project-key="drachenfunken"] .module-grid{grid-template-columns:1fr}.collection-system-art{height:190px}}

/* 1.1.0 · Rich content from Nexus CMS */
.content-shell .prose .wp-block-columns,.content-shell .prose .cms-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.content-shell .prose .cms-columns.cols-3,.content-shell .prose .wp-block-columns:has(>.wp-block-column:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.content-shell .prose .wp-block-column,.content-shell .prose .cms-column{min-width:0}.content-shell .prose .realm-card,.content-shell .prose .cms-info-card{padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#09111ccc;box-shadow:0 15px 45px #0005}.content-shell .prose figure.cms-image{display:block;clear:both;margin-top:32px;margin-bottom:32px}.content-shell .prose figure.cms-image img{display:block;width:100%;height:auto}.content-shell .prose figure.cms-image.size-small{width:36%}.content-shell .prose figure.cms-image.size-medium{width:62%}.content-shell .prose figure.cms-image.size-large{width:100%}.content-shell .prose figure.cms-image.align-left{margin-left:0;margin-right:auto}.content-shell .prose figure.cms-image.align-center{margin-left:auto;margin-right:auto}.content-shell .prose figure.cms-image.align-right{margin-left:auto;margin-right:0}.content-shell .prose figcaption{margin-top:7px;color:var(--muted);font:13px/1.45 Inter,system-ui,sans-serif;text-align:center}.content-shell .prose hr{border:0;border-top:1px solid var(--line);margin:42px 0}
@media(max-width:700px){.content-shell .prose .wp-block-columns,.content-shell .prose .cms-columns,.content-shell .prose .cms-columns.cols-3,.content-shell .prose .wp-block-columns:has(>.wp-block-column:nth-child(3)){grid-template-columns:1fr}.content-shell .prose figure.cms-image.size-small,.content-shell .prose figure.cms-image.size-medium{width:100%}}
.content-shell .prose .text-left{text-align:left}.content-shell .prose .text-center{text-align:center}.content-shell .prose .text-right{text-align:right}
.content-block blockquote footer{margin-top:12px;color:var(--muted);font:14px/1.5 Inter,system-ui,sans-serif}

/* =====================================================================
   7R Project Worlds 1.5.0 — immersive hub + reusable project frame
   A project can opt in by providing assets/visual/projects/<key>-hub-master.*
   ===================================================================== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.project-stage-page{overflow:hidden;background:#030405}
.project-stage-page>.footer,.project-framed-page>.footer{display:none!important}
.project-visual-hub{margin:0;padding:0;min-height:100vh;background:#030405}
.project-stage-scroller{width:100%;height:100dvh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#765321 #080706;scrollbar-width:thin;background:#030405;touch-action:pan-x pan-y}
.project-stage-canvas{position:relative;width:100vw;min-width:1050px;aspect-ratio:1672/941;background-image:var(--stage-master);background-size:100% 100%;background-position:center top;background-repeat:no-repeat;isolation:isolate}
.project-stage-hit{position:absolute;display:block;z-index:12;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:transparent;font-size:0;text-decoration:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.project-stage-hit:hover{background:rgba(232,176,73,.035);box-shadow:inset 0 0 0 1px rgba(255,222,143,.24),0 0 24px rgba(211,148,47,.13)}
.project-stage-hit:focus-visible{box-shadow:inset 0 0 0 2px #ffd98c,0 0 24px rgba(255,192,73,.42);background:rgba(255,204,94,.06)}
/* master-image hit geometry (percentages are relative to 1672×941) */
.project-stage-hit.hit-nexus{left:15.6%;top:.5%;width:9.6%;height:5.2%}
.project-stage-hit.hit-back{left:63.4%;top:.4%;width:11.0%;height:5.3%}
.project-stage-hit.hit-me{left:74.4%;top:.4%;width:5.1%;height:5.3%}
.project-stage-hit.hit-search{left:79.6%;top:.4%;width:2.8%;height:5.3%}
.project-stage-hit.hit-menu{left:82.4%;top:.4%;width:3.0%;height:5.3%}
.project-stage-hit.hit-hero-books{left:15.25%;top:39.55%;width:14.4%;height:5.25%}
.project-stage-hit.hit-hero-world{left:30.15%;top:39.55%;width:14.55%;height:5.25%}
.project-stage-hit.hit-hero-map{left:22.45%;top:46.05%;width:14.4%;height:4.7%}
.project-stage-hit.hit-card-books{left:5.7%;top:56.0%;width:12.2%;height:24.0%}
.project-stage-hit.hit-card-world{left:18.4%;top:56.0%;width:12.2%;height:24.0%}
.project-stage-hit.hit-card-maps{left:31.0%;top:56.0%;width:12.2%;height:24.0%}
.project-stage-hit.hit-card-games{left:43.8%;top:56.0%;width:11.5%;height:24.0%}
.project-stage-hit.hit-card-gallery{left:56.1%;top:56.0%;width:12.2%;height:24.0%}
.project-stage-hit.hit-card-videos{left:68.8%;top:56.0%;width:12.2%;height:24.0%}
.project-stage-hit.hit-card-extras{left:81.45%;top:56.0%;width:12.15%;height:24.0%}
.project-stage-hit.hit-start-band{left:42.1%;top:84.45%;width:12.1%;height:4.8%}
.project-stage-hit.hit-start-world{left:54.8%;top:84.45%;width:12.2%;height:4.8%}
.project-stage-hit.hit-start-map{left:67.5%;top:84.45%;width:12.4%;height:4.8%}
.project-stage-hit.hit-impressum{left:10.6%;top:93.7%;width:4.5%;height:4.4%}
.project-stage-hit.hit-datenschutz{left:15.6%;top:93.7%;width:5.9%;height:4.4%}
.project-stage-hit.hit-kontakt{left:21.7%;top:93.7%;width:3.4%;height:4.4%}
.project-stage-hit.hit-hilfe{left:25.4%;top:93.7%;width:3.4%;height:4.4%}

.project-stage-menu{width:min(720px,calc(100vw - 28px));max-height:min(82vh,760px);overflow:auto;border:1px solid #886128;border-radius:18px;background:linear-gradient(160deg,#15110b,#090b0e 58%);color:#f7eddb;padding:26px;box-shadow:0 28px 100px #000}
.project-stage-menu::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(7px)}
.project-stage-menu h2{margin:6px 0 18px;font:34px/1.05 Georgia,serif;color:#f0d69b}
.project-stage-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.project-stage-menu nav a{display:grid;gap:4px;padding:14px 15px;border:1px solid rgba(208,159,72,.28);border-radius:11px;background:linear-gradient(145deg,rgba(57,39,18,.62),rgba(11,14,18,.88));text-decoration:none;color:#f6ead2}
.project-stage-menu nav a:hover{border-color:#d4a850;box-shadow:0 0 25px rgba(213,160,69,.16)}
.project-stage-menu nav a small{color:#aeb3b8;font-size:11px}

/* Reusable frame for every subpage of a project world. */
.project-framed-page{background:#080705}
.project-world-frame{--frame-gold:#c89949;min-height:100vh;background:#090807;color:var(--text)}
.project-frame-top{height:78px;position:relative;background-image:var(--project-master);background-size:100% auto;background-position:center top;background-repeat:no-repeat;border-bottom:1px solid rgba(204,151,63,.46);box-shadow:0 10px 30px #0008;z-index:60}
.frame-hit{position:absolute;top:0;height:100%;display:block;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.frame-hit:hover,.frame-hit:focus-visible{background:rgba(222,171,75,.04);outline:1px solid rgba(244,204,117,.2);outline-offset:-2px}
.frame-hit-nexus{left:15.2%;width:10.3%}.frame-hit-back{left:63%;width:11.5%}.frame-hit-me{left:74.3%;width:5.4%}.frame-hit-search{left:79.4%;width:3.0%}.frame-hit-menu{left:82.3%;width:3.2%}
.project-sticky-nav{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 14px;border-bottom:1px solid rgba(196,145,60,.4);background:rgba(8,8,8,.94);backdrop-filter:blur(12px);box-shadow:0 8px 28px #0007;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.project-sticky-nav::-webkit-scrollbar{display:none}
.project-sticky-nav a{flex:0 0 auto;padding:8px 11px;border-radius:8px;text-decoration:none;color:#d9c7a7;font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.015em;border:1px solid transparent}
.project-sticky-nav a:hover{color:#fff0c6;border-color:rgba(211,158,65,.28);background:rgba(110,73,23,.13)}
.project-sticky-nav a.active{color:#171006;background:linear-gradient(#e0b85f,#9c6a27);border-color:#f0cf82;box-shadow:0 0 18px rgba(221,168,70,.18)}
.project-sticky-home{margin-right:10px;color:#f2d899!important}.project-sticky-me{margin-left:10px;color:#f2d899!important}
.project-frame-content{position:relative;min-height:64vh;padding:10px 0 40px;background:radial-gradient(circle at 50% 0,rgba(115,75,24,.13),transparent 34%),linear-gradient(180deg,#0d0b08 0,#08090b 35%,#070809 100%)}
.project-framed-page .project-bg{display:none!important}
.project-framed-page .book-shell,.project-framed-page .content-shell,.project-framed-page .collection-shell{padding-bottom:35px}
.project-framed-page .book-hero,.project-framed-page .content-hero,.project-framed-page .collection-hero{margin-top:20px;margin-bottom:12px;border:1px solid rgba(192,142,57,.24);border-radius:18px;background:linear-gradient(150deg,rgba(32,23,12,.78),rgba(8,12,17,.92));box-shadow:0 25px 80px #0008}
.project-framed-page .content-card,.project-framed-page .collection-card,.project-framed-page .hub-book,.project-framed-page .continue-grid a{border-color:rgba(190,141,59,.28);background:linear-gradient(160deg,rgba(28,20,11,.88),rgba(7,12,17,.95))}
.project-framed-page .content-card:hover,.project-framed-page .collection-card:hover,.project-framed-page .hub-book:hover,.project-framed-page .continue-grid a:hover{border-color:#c99a4e;box-shadow:0 17px 45px #0009,0 0 24px rgba(197,145,58,.09)}
.project-frame-bottom{height:82px;position:relative;background-image:var(--project-master);background-size:100% auto;background-position:center bottom;background-repeat:no-repeat;border-top:1px solid rgba(204,151,63,.42);box-shadow:0 -10px 34px #0008}
.project-frame-bottom nav{position:absolute;inset:0}
.project-frame-bottom nav a{position:absolute;top:16%;height:55%;color:transparent;font-size:0;border-radius:6px}
.project-frame-bottom nav a:hover,.project-frame-bottom nav a:focus-visible{background:rgba(222,171,75,.04);box-shadow:inset 0 0 0 1px rgba(244,204,117,.18)}
.project-frame-bottom .pfb-impressum{left:10.5%;width:4.8%}.project-frame-bottom .pfb-datenschutz{left:15.5%;width:6.1%}.project-frame-bottom .pfb-kontakt{left:21.7%;width:3.5%}.project-frame-bottom .pfb-hilfe{left:25.3%;width:3.5%}

@media(max-width:1050px){
 .project-stage-canvas{min-width:1180px;width:1180px}
 .project-frame-top,.project-frame-bottom{background-size:1180px auto;background-position:18% top}
 .project-frame-bottom{background-position:18% bottom}
 .project-sticky-nav{justify-content:flex-start}
 .frame-hit-nexus,.frame-hit-back,.frame-hit-me,.frame-hit-search,.frame-hit-menu{display:none}
}
@media(max-width:800px) and (orientation:landscape){.project-stage-canvas{width:1000px;min-width:1000px}}
@media(max-width:700px){
 .project-stage-page{overflow:auto}
 .project-stage-scroller{min-height:100dvh}
 .project-stage-canvas{width:1180px;min-width:1180px}
 .project-stage-menu{padding:20px}.project-stage-menu nav{grid-template-columns:1fr}
 .project-frame-top{height:66px;background-size:1180px auto;background-position:17% top}
 .project-sticky-nav{padding:6px 8px;gap:2px}.project-sticky-nav a{padding:7px 9px;font-size:11px}.project-sticky-home{margin-right:5px}.project-sticky-me{margin-left:5px}
 .project-frame-content{padding-top:2px}
 .project-framed-page .book-hero,.project-framed-page .content-hero,.project-framed-page .collection-hero{margin:12px 10px;padding:24px 14px;border-radius:13px}
 .project-frame-bottom{height:74px;background-size:1180px auto;background-position:17% bottom;background-color:#080807}
 .project-frame-bottom nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 8px;background:rgba(5,6,7,.82)}
 .project-frame-bottom nav a{position:static;height:auto;color:#cbb994;font:600 11px/1 Inter,system-ui,sans-serif;padding:6px 7px;text-decoration:none;background:rgba(10,10,9,.72);border:1px solid rgba(187,139,58,.2)}
}


/* =====================================================================
   7R Project Worlds 1.5.1 — viewport-fit stage + mobile landscape fullscreen
   Desktop and landscape show the complete 1672×941 master without scrolling.
   Portrait keeps the wide, pannable world stage.
   ===================================================================== */
.project-stage-fullscreen{display:none}

/* Complete stage in every landscape viewport and on desktop/tablet widths. */
@media (min-width:701px), (max-width:700px) and (orientation:landscape){
  html:has(body.project-stage-page),body.project-stage-page{overflow:hidden!important;height:100%}
  .project-stage-page .project-visual-hub{height:100dvh;min-height:0!important;overflow:hidden;display:grid;place-items:center;background:#030405}
  .project-stage-page .project-stage-scroller{width:100vw;height:100dvh;min-height:0!important;overflow:hidden!important;display:grid;place-items:center;overscroll-behavior:none;touch-action:manipulation}
  .project-stage-page .project-stage-canvas{width:min(100vw,177.68332dvh)!important;min-width:0!important;max-width:100vw!important;height:auto!important;aspect-ratio:1672/941!important;flex:0 0 auto;margin:auto}
}

/* Phones in landscape get the same fullscreen control as the Nexus room. */
@media (max-width:950px) and (orientation:landscape){
  .project-stage-fullscreen{display:flex;align-items:center;gap:6px;position:fixed;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:1320;height:34px;padding:0 11px;border:1px solid rgba(222,190,112,.68);border-radius:10px;background:rgba(14,12,9,.82);color:#f2d895;font:700 10px/1 system-ui,sans-serif;letter-spacing:.045em;box-shadow:0 5px 18px rgba(0,0,0,.52);backdrop-filter:blur(7px);cursor:pointer;touch-action:manipulation}
  .project-stage-fullscreen:active{transform:scale(.96)}
  .project-stage-fullscreen .fs-icon{font-size:16px;line-height:1}
  body.project-stage-faux-fullscreen{overflow:hidden!important}
  body.project-stage-faux-fullscreen .project-visual-hub{position:fixed;inset:0;z-index:1290;width:100vw;height:100dvh;background:#030405}
}

/* Portrait deliberately stays pannable. */
@media (max-width:700px) and (orientation:portrait){
  .project-stage-page{overflow:auto!important}
  .project-stage-page .project-stage-scroller{display:block;width:100%;height:100dvh;min-height:100dvh;overflow:auto!important;touch-action:pan-x pan-y}
  .project-stage-page .project-stage-canvas{width:1180px!important;min-width:1180px!important;max-width:none!important;height:auto!important;margin:0}
}


/* =====================================================================
   7R Project Worlds 1.5.2 — Drachenfunken magic layer
   Pure CSS/JS atmosphere over the unchanged master artwork.
   ===================================================================== */
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-canvas{overflow:hidden}
.project-stage-magic{position:absolute;inset:0;z-index:9;pointer-events:none;overflow:hidden;contain:layout paint}
.project-stage-magic .witch-spark{--spark-size:4px;--spark-x:0px;--spark-y:-18px;--spark-dur:6s;--spark-delay:0s;position:absolute;width:var(--spark-size);height:var(--spark-size);border-radius:50%;opacity:0;background:radial-gradient(circle,#fff8d7 0 18%,#ffc765 34%,rgba(255,169,57,.34) 58%,transparent 75%);filter:drop-shadow(0 0 5px rgba(255,190,71,.92)) drop-shadow(0 0 12px rgba(255,143,38,.38));animation:dfSparkFloat var(--spark-dur) ease-in-out var(--spark-delay) infinite}
.project-stage-magic .witch-spark.is-blue{background:radial-gradient(circle,#eefaff 0 16%,#92d9ff 34%,rgba(64,164,255,.34) 58%,transparent 75%);filter:drop-shadow(0 0 5px rgba(120,211,255,.88)) drop-shadow(0 0 12px rgba(44,126,255,.32))}
.project-stage-magic .witch-spark.is-tiny{--spark-size:2px}.project-stage-magic .witch-spark.is-large{--spark-size:6px}
@keyframes dfSparkFloat{0%,100%{opacity:0;transform:translate3d(0,9px,0) scale(.42)}12%{opacity:.82}50%{opacity:.34;transform:translate3d(var(--spark-x),var(--spark-y),0) scale(1)}78%{opacity:.7}92%{opacity:0;transform:translate3d(calc(var(--spark-x)*1.12),calc(var(--spark-y)*1.42),0) scale(.55)}}

/* Soft, slow pools of magic — deliberately sparse. */
.project-stage-magic .magic-haze{position:absolute;border-radius:50%;opacity:.18;filter:blur(16px);mix-blend-mode:screen;animation:dfHaze 9s ease-in-out infinite alternate}
.project-stage-magic .magic-haze.haze-title{left:13%;top:8%;width:31%;height:41%;background:radial-gradient(ellipse,rgba(255,179,60,.22),transparent 66%)}
.project-stage-magic .magic-haze.haze-sera{left:67%;top:20%;width:15%;height:28%;background:radial-gradient(ellipse,rgba(73,166,255,.22),transparent 68%);animation-delay:-3.6s}
.project-stage-magic .magic-haze.haze-cards{left:8%;top:56%;width:84%;height:24%;background:radial-gradient(ellipse,rgba(255,166,47,.12),transparent 68%);animation-delay:-6.1s}
@keyframes dfHaze{from{opacity:.10;transform:scale(.97)}to{opacity:.24;transform:scale(1.035)}}

/* A restrained shimmer on selected functional plates. */
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-hero-books::after,
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-hero-world::after,
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-hero-map::after,
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-world::after,
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-maps::after,
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-games::after{
 content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;
 background:linear-gradient(115deg,transparent 15%,rgba(255,238,180,.08) 36%,rgba(255,205,93,.42) 48%,rgba(255,248,211,.12) 58%,transparent 78%);
 background-size:260% 100%;mix-blend-mode:screen;animation:dfPlateShimmer 9.5s ease-in-out infinite
}
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-hero-world::after{animation-delay:-2.4s}
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-hero-map::after{animation-delay:-4.9s}
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-world::after{animation-delay:-1.3s}
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-maps::after{animation-delay:-5.7s}
.project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit.hit-card-games::after{animation-delay:-7.8s}
@keyframes dfPlateShimmer{0%,72%,100%{opacity:0;background-position:130% 0}77%{opacity:.52}84%{opacity:.18;background-position:-130% 0}89%{opacity:0}}

/* Occasional tiny glints along the brass frame. */
.project-stage-magic .frame-glint{position:absolute;width:9px;height:9px;opacity:0;transform:rotate(45deg);animation:dfGlint 7.2s ease-in-out infinite}
.project-stage-magic .frame-glint::before,.project-stage-magic .frame-glint::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#fff0b2,transparent);border-radius:99px;filter:drop-shadow(0 0 5px #ffc958)}
.project-stage-magic .frame-glint::before{width:18px;height:1px}.project-stage-magic .frame-glint::after{width:1px;height:18px}
.project-stage-magic .frame-glint.g1{left:30.7%;top:8.8%;animation-delay:-1.2s}.project-stage-magic .frame-glint.g2{left:59.4%;top:55.6%;animation-delay:-4.5s}.project-stage-magic .frame-glint.g3{left:79.5%;top:80.3%;animation-delay:-6.2s}.project-stage-magic .frame-glint.g4{left:17.8%;top:79.8%;animation-delay:-2.8s}
@keyframes dfGlint{0%,83%,100%{opacity:0;transform:rotate(45deg) scale(.3)}87%{opacity:.9;transform:rotate(45deg) scale(1.15)}91%{opacity:.2;transform:rotate(45deg) scale(.65)}94%{opacity:0}}

@media (prefers-reduced-motion:reduce){
 .project-stage-magic .witch-spark,.project-stage-magic .magic-haze,.project-stage-magic .frame-glint,
 .project-visual-hub[data-project-key="drachenfunken"] .project-stage-hit::after{animation:none!important}
 .project-stage-magic .witch-spark,.project-stage-magic .frame-glint{display:none!important}.project-stage-magic .magic-haze{opacity:.08!important}
}

/* =====================================================================
   7R Project Worlds 1.6.0 — Books overview
   Compact editable intro + automatically rendered work cards.
   ===================================================================== */
.books-overview-shell{position:relative;max-width:1320px;margin:0 auto;padding:18px 24px 56px}
.books-overview-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:28px;align-items:center;margin:18px 0 26px;padding:28px 30px;border:1px solid rgba(198,147,61,.32);border-radius:17px;background:linear-gradient(145deg,rgba(31,22,12,.84),rgba(8,11,15,.94));box-shadow:0 20px 60px #0007}
.books-overview-intro:not(:has(.books-overview-intro-art)){grid-template-columns:1fr}
.books-overview-intro h1{margin:4px 0 8px;font:clamp(38px,4vw,62px)/1 Georgia,serif;color:#f6edde}
.books-overview-subtitle{margin:0 0 11px;font:600 clamp(17px,1.6vw,22px)/1.35 Georgia,serif;color:#dfbd79}
.books-overview-description{max-width:820px;margin:0;color:#cfd3d7;font-size:16px;line-height:1.7}
.books-overview-intro-art{overflow:hidden;border:1px solid rgba(202,150,64,.3);border-radius:13px;box-shadow:0 14px 42px #0008}
.books-overview-intro-img{display:block;width:100%;height:210px;object-fit:cover}
.books-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,530px),1fr));gap:18px}
.books-overview-card{min-height:300px;display:grid;grid-template-columns:170px minmax(0,1fr);overflow:hidden;border:1px solid rgba(198,145,58,.34);border-radius:16px;background:linear-gradient(155deg,rgba(35,24,12,.9),rgba(7,11,16,.97));box-shadow:0 16px 45px #0007;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.books-overview-card:hover{transform:translateY(-3px);border-color:#c99a4e;box-shadow:0 22px 54px #0009,0 0 26px rgba(197,145,58,.09)}
.books-overview-cover{display:grid;place-items:center;min-height:300px;padding:18px;background:radial-gradient(circle at 50% 30%,rgba(200,145,55,.13),transparent 60%),#080a0c;text-decoration:none}
.books-overview-cover picture,.books-overview-cover img{display:block;max-width:100%;max-height:265px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 24px #000a)}
.books-overview-cover>span{color:#9f8c6e;font:600 13px/1.4 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.books-overview-copy{display:flex;flex-direction:column;align-items:flex-start;padding:23px 24px 21px}
.books-overview-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;color:#bfb39d;font-size:11px;text-transform:uppercase;letter-spacing:.075em}
.books-overview-meta>span{padding:5px 7px;border:1px solid rgba(201,151,66,.18);border-radius:999px;background:rgba(14,13,11,.52)}
.books-overview-meta .books-status{color:#f0d291;border-color:rgba(213,167,82,.36)}
.books-overview-meta .status-published{color:#aad7b5;border-color:rgba(91,170,111,.35)}
.books-overview-meta .status-preorder{color:#ffd786;border-color:rgba(227,174,68,.42)}
.books-overview-meta .status-announced{color:#c9b8ee;border-color:rgba(151,120,205,.38)}
.books-overview-copy h2{margin:0;font:clamp(28px,2.4vw,38px)/1.05 Georgia,serif;color:#fff4df}
.books-overview-work-subtitle{margin:5px 0 12px;color:#d9b870;font:600 17px/1.35 Georgia,serif}
.books-overview-synopsis{margin:0 0 15px;color:#c2c8cd;font-size:14px;line-height:1.62}
.books-overview-formats{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 14px}
.books-overview-formats span{padding:5px 8px;border-radius:7px;border:1px solid rgba(195,145,60,.22);background:rgba(7,10,14,.55);color:#cbbda3;font-size:11px}
.books-overview-cta{display:inline-flex;align-items:center;gap:14px;margin-top:auto;padding:10px 13px;border:1px solid rgba(214,164,73,.46);border-radius:9px;background:linear-gradient(180deg,rgba(94,60,22,.34),rgba(30,20,11,.52));color:#f5dfb1;text-decoration:none;font-weight:700;font-size:13px}
.books-overview-cta:hover{border-color:#e2b65e;color:#fff0c7;box-shadow:0 0 20px rgba(215,166,73,.12)}
.books-overview-empty{grid-column:1/-1;display:grid;gap:5px;padding:34px;border:1px dashed rgba(198,145,58,.3);border-radius:14px;text-align:center;color:#bfb5a5}.books-overview-empty strong{font:25px Georgia,serif;color:#f0dfbd}
@media(max-width:820px){
 .books-overview-shell{padding:10px 12px 38px}
 .books-overview-intro{grid-template-columns:1fr;margin:10px 0 18px;padding:21px 18px;gap:15px}
 .books-overview-intro-art{order:-1}.books-overview-intro-img{height:180px}
 .books-overview-grid{grid-template-columns:1fr}
 .books-overview-card{grid-template-columns:125px minmax(0,1fr);min-height:245px}
 .books-overview-cover{min-height:245px;padding:12px}.books-overview-cover picture,.books-overview-cover img{max-height:220px}
 .books-overview-copy{padding:17px 16px 16px}.books-overview-copy h2{font-size:27px}.books-overview-synopsis{font-size:13px;line-height:1.5}
}
@media(max-width:520px){
 .books-overview-card{grid-template-columns:112px minmax(0,1fr)}
 .books-overview-meta{gap:4px}.books-overview-meta>span{padding:4px 5px;font-size:9px}
 .books-overview-work-subtitle{font-size:15px}.books-overview-formats{display:none}
}


/* 1.6.1 · books cards stay compact + visitor project status */
.books-overview-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,500px),620px));justify-content:start}
.books-overview-meta .status-display-preorder{color:#ffd786;border-color:rgba(227,174,68,.42)}
.books-overview-meta .status-display-in-progress{color:#9fd1ff;border-color:rgba(82,155,214,.42)}
.books-overview-meta .status-display-delayed{color:#ffaaa8;border-color:rgba(207,84,81,.48)}
.books-overview-meta .status-display-release-unknown{color:#c8c2b6;border-color:rgba(156,148,132,.4)}
@media(max-width:700px){.books-overview-grid{grid-template-columns:1fr}}


/* =====================================================================
   7R Project Worlds 1.6.2 — quieter books overview typography
   Compact intro, reliable decorative image, restrained book headings.
   ===================================================================== */
.books-overview-shell{padding-top:10px}
.books-overview-intro{
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  gap:22px;
  align-items:center;
  margin:10px 0 22px;
  padding:20px 24px;
  border-radius:15px;
}
.books-overview-intro h1{
  margin:3px 0 7px;
  font:clamp(34px,3vw,46px)/1.02 Georgia,serif;
}
.books-overview-subtitle{
  margin:0 0 9px;
  font:600 clamp(16px,1.35vw,19px)/1.3 Georgia,serif;
}
.books-overview-description{
  max-width:760px;
  font-size:15px;
  line-height:1.55;
}
.books-overview-intro-art{
  display:block;
  width:100%;
  height:148px;
  min-height:148px;
  overflow:hidden;
  border-radius:11px;
  background:#090b0d;
}
.books-overview-intro-art picture{
  display:block;
  width:100%;
  height:100%;
}
.books-overview-intro-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:148px!important;
  object-fit:cover!important;
}
.books-overview-copy h2{
  font:clamp(25px,1.9vw,31px)/1.08 Georgia,serif;
}
.books-overview-work-subtitle{
  font-size:16px;
}
@media(max-width:820px){
  .books-overview-intro{padding:17px 16px;gap:13px}
  .books-overview-intro h1{font-size:34px}
  .books-overview-intro-art{height:145px;min-height:145px}
  .books-overview-intro-img{min-height:145px!important}
  .books-overview-copy h2{font-size:25px}
}
@media(max-width:520px){
  .books-overview-intro h1{font-size:31px}
  .books-overview-description{font-size:14px;line-height:1.5}
  .books-overview-intro-art{height:132px;min-height:132px}
  .books-overview-intro-img{min-height:132px!important}
  .books-overview-copy h2{font-size:23px}
}

/* =====================================================================
   7R 1.7.4 — mobile project subpages + usable lower project frame
   ===================================================================== */
.project-frame-bottom{
  height:clamp(150px,10.8vw,190px);
  min-height:150px;
  overflow:hidden;
  z-index:12;
  isolation:isolate;
}
.project-frame-cta,.project-frame-legal{position:absolute;inset:0;margin:0;padding:0}
.project-frame-cta a{
  position:absolute;
  top:18%;
  height:30%;
  border-radius:9px;
  color:transparent!important;
  font-size:0!important;
  text-decoration:none;
  background:transparent;
  -webkit-tap-highlight-color:transparent;
}
.project-frame-cta a:hover,.project-frame-cta a:focus-visible{
  background:rgba(226,174,77,.045);
  box-shadow:inset 0 0 0 1px rgba(246,207,119,.24),0 0 25px rgba(222,162,55,.13);
  outline:none;
}
.project-frame-cta .pfb-start-band{left:42.1%;width:12.1%}
.project-frame-cta .pfb-start-world{left:54.8%;width:12.2%}
.project-frame-cta .pfb-start-map{left:67.5%;width:12.4%}
.project-frame-legal a{top:69%;height:21%}
.project-frame-content{padding-bottom:22px}

/* On phones the decorative books image is intentionally omitted. The text
   remains readable and the page does not sacrifice half the viewport to art. */
@media (max-width:950px) and (pointer:coarse){
  .books-overview-intro-art{display:none!important}
  .books-overview-intro{grid-template-columns:1fr!important;gap:0!important;padding:15px 16px!important;margin:8px 0 15px!important}
  .books-overview-intro h1{font-size:clamp(27px,6.8vw,33px)!important;margin-bottom:5px!important}
  .books-overview-subtitle{font-size:15px!important;margin-bottom:7px!important}
  .books-overview-description{font-size:13.5px!important;line-height:1.47!important}
  .books-overview-card{max-width:100%;overflow:hidden}
  .books-overview-copy{min-width:0}
  .books-overview-meta{max-width:100%;gap:5px;align-items:flex-start}
  .books-overview-meta>span{max-width:100%;white-space:normal;line-height:1.15;overflow-wrap:anywhere}
}

/* Portrait phone: enlarge just the useful lower part of the master image so
   the three project buttons are visible and tappable. Legal links get one
   calm, readable strip instead of distorted fragments from the render. */
@media (max-width:700px) and (orientation:portrait){
  .project-frame-content{padding-bottom:12px}
  .project-frame-bottom{
    height:146px;
    min-height:146px;
    background-size:230% auto!important;
    background-position:58.5% bottom!important;
    background-color:#080807;
  }
  .project-frame-cta{display:block!important;position:absolute!important;inset:0!important;padding:0!important;background:transparent!important}
  .project-frame-cta a{position:absolute!important;top:36%!important;height:31%!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important}
  .project-frame-cta .pfb-start-band{left:12.3%!important;width:27.8%!important}
  .project-frame-cta .pfb-start-world{left:41.5%!important;width:28.1%!important}
  .project-frame-cta .pfb-start-map{left:70.7%!important;width:28.3%!important}
  .project-frame-legal{
    display:flex!important;
    position:absolute!important;
    left:0!important;right:0!important;top:auto!important;bottom:0!important;
    height:34px!important;
    align-items:center!important;justify-content:center!important;gap:4px!important;
    padding:4px 6px calc(4px + env(safe-area-inset-bottom))!important;
    box-sizing:content-box!important;
    background:rgba(5,6,7,.90)!important;
    backdrop-filter:blur(7px);
  }
  .project-frame-legal a{
    position:static!important;height:auto!important;top:auto!important;
    padding:6px 7px!important;border:0!important;background:transparent!important;
    color:#bfae91!important;font:600 10px/1 system-ui,sans-serif!important;
    text-decoration:none!important;white-space:nowrap!important;
  }
  .project-frame-legal a:hover,.project-frame-legal a:focus-visible{color:#f0d698!important;background:rgba(194,143,55,.12)!important;box-shadow:none!important}
}

/* Landscape phones: keep the three rendered project switches large enough
   to use, while retaining the complete content page above them. */
@media (max-width:950px) and (orientation:landscape) and (pointer:coarse){
  .project-frame-content{padding-bottom:10px}
  .project-frame-bottom{
    height:124px;
    min-height:124px;
    background-size:145% auto!important;
    background-position:57% bottom!important;
    background-color:#080807;
  }
  .project-frame-cta{display:block!important;position:absolute!important;inset:0!important;padding:0!important;background:transparent!important}
  .project-frame-cta a{position:absolute!important;top:8%!important;height:38%!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important}
  .project-frame-cta .pfb-start-band{left:28.4%!important;width:17.6%!important}
  .project-frame-cta .pfb-start-world{left:46.8%!important;width:17.7%!important}
  .project-frame-cta .pfb-start-map{left:65.2%!important;width:18%!important}
  .project-frame-legal{
    display:flex!important;position:absolute!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;height:30px!important;
    align-items:center!important;justify-content:center!important;gap:12px!important;padding:0 8px!important;
    background:rgba(5,6,7,.89)!important;backdrop-filter:blur(7px);
  }
  .project-frame-legal a{position:static!important;height:auto!important;top:auto!important;padding:5px 4px!important;border:0!important;background:transparent!important;color:#bfae91!important;font:600 10px/1 system-ui,sans-serif!important;text-decoration:none!important;white-space:nowrap!important}
}

@media(max-width:520px){
  .books-overview-card{grid-template-columns:104px minmax(0,1fr)}
  .books-overview-cover{padding:9px;min-height:225px}
  .books-overview-copy{padding:14px 13px 14px}
  .books-overview-copy h2{font-size:21px!important;line-height:1.08!important}
  .books-overview-meta>span{font-size:8.5px!important;padding:4px 5px!important}
  .books-overview-synopsis{font-size:12.5px!important;line-height:1.45!important}
}

/* Keep project subpage navigation inside the same fullscreen document on
   landscape phones. The iframe is only created while native fullscreen is
   active; normal browsing remains regular server navigation. */
.project-fullscreen-frame{position:fixed;inset:0;z-index:1305;background:#070707}
.project-fullscreen-frame[hidden]{display:none!important}
.project-fullscreen-frame iframe{display:block;width:100%;height:100%;border:0;background:#070707}

/* =====================================================================
   7R 1.7.6 — real mobile project footer
   On project subpages phones no longer reuse/crop the desktop master image
   at the bottom. The mobile footer is real HTML: readable, tappable, fluid.
   ===================================================================== */
@media (max-width:950px) and (pointer:coarse){
  .project-frame-content{
    min-height:0!important;
    padding-bottom:18px!important;
  }
  .project-frame-bottom{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    background-image:none!important;
    background:#080807!important;
    border-top:1px solid rgba(204,151,63,.42)!important;
    box-shadow:0 -10px 34px #0008!important;
    padding:0!important;
  }
  .project-frame-bottom nav{
    position:static!important;
    inset:auto!important;
    width:100%!important;
  }
  .project-frame-cta{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px max(14px,env(safe-area-inset-left)) 14px max(14px,env(safe-area-inset-right))!important;
    background:linear-gradient(180deg,rgba(31,20,9,.98),rgba(10,10,9,.98))!important;
    border-bottom:1px solid rgba(197,145,58,.28)!important;
  }
  .project-frame-cta a,
  .project-frame-cta .pfb-start-band,
  .project-frame-cta .pfb-start-world,
  .project-frame-cta .pfb-start-map{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;
    width:auto!important;height:auto!important;min-height:48px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:10px 12px!important;
    border:1px solid rgba(214,164,76,.58)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,rgba(95,61,20,.55),rgba(27,20,12,.9))!important;
    color:#f3dfb4!important;
    font:700 13px/1.2 Inter,system-ui,sans-serif!important;
    text-align:center!important;text-decoration:none!important;
    box-shadow:inset 0 0 0 1px rgba(255,222,148,.04),0 6px 18px rgba(0,0,0,.28)!important;
  }
  .project-frame-cta a:active{transform:translateY(1px)}
  .project-frame-legal{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    height:auto!important;min-height:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;
    column-gap:18px!important;row-gap:4px!important;
    padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    background:#050607!important;
    backdrop-filter:none!important;
  }
  .project-frame-legal a,
  .project-frame-bottom .project-frame-legal a{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;
    width:auto!important;height:auto!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    padding:6px 5px!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
    color:#c6b494!important;
    font:600 11px/1.1 Inter,system-ui,sans-serif!important;
    text-decoration:none!important;white-space:nowrap!important;
  }
  .project-frame-legal a:hover,.project-frame-legal a:focus-visible{color:#f1d797!important}
}

/* Portrait: stack the three useful project actions. The page ends normally
   after the content instead of showing a squashed slice of the master image. */
@media (max-width:700px) and (orientation:portrait) and (pointer:coarse){
  .project-frame-cta{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px 14px!important;
  }
  .project-frame-cta a,
  .project-frame-cta .pfb-start-band,
  .project-frame-cta .pfb-start-world,
  .project-frame-cta .pfb-start-map{
    min-height:44px!important;
    font-size:12.5px!important;
  }
  .project-frame-legal{column-gap:12px!important;padding-top:8px!important}
}

/* Landscape Android/iOS browsers can leave system status icons over the web
   viewport even in immersive mode. Give the sticky project bar breathing room. */
@media (max-width:950px) and (orientation:landscape) and (pointer:coarse){
  .project-sticky-nav{
    padding-top:calc(7px + max(env(safe-area-inset-top),24px))!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
  }
  .project-frame-cta{gap:8px!important;padding-top:12px!important;padding-bottom:12px!important}
  .project-frame-cta a,
  .project-frame-cta .pfb-start-band,
  .project-frame-cta .pfb-start-world,
  .project-frame-cta .pfb-start-map{min-height:42px!important;font-size:11.5px!important;padding:8px 9px!important}
  .project-frame-legal{column-gap:20px!important;padding-top:7px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important}
}

/* 7R 1.7.7 — Rich text output from the shared CMS editor. */
.rich-output{line-height:1.65;min-width:0}.rich-output::after{content:"";display:block;clear:both}.rich-output> :first-child{margin-top:0}.rich-output> :last-child{margin-bottom:0}.rich-output p{margin:0 0 .9em}.rich-output h2,.rich-output h3,.rich-output h4{margin:1.15em 0 .45em;color:inherit;line-height:1.18}.rich-output h2{font-size:1.5em}.rich-output h3{font-size:1.25em}.rich-output h4{font-size:1.1em}.rich-output blockquote{margin:1.1em 0;padding:.75em 1em;border-left:3px solid var(--accent,#d8b56b);background:rgba(216,181,107,.055)}.rich-output ul,.rich-output ol{margin:.7em 0 1em;padding-left:1.55em}.rich-output a{color:var(--accent,#d8b56b)}.rich-output .text-left{text-align:left}.rich-output .text-center{text-align:center}.rich-output .text-right{text-align:right}.rich-output .cms-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25em;margin:1.25em 0}.rich-output .cms-columns.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rich-output .cms-column{min-width:0}.rich-output .realm-card,.rich-output .cms-info-card{padding:1em 1.1em;border:1px solid var(--line,rgba(216,181,107,.28));border-radius:12px;background:rgba(255,255,255,.025)}.rich-output figure.cms-image{display:block;clear:both;max-width:100%;margin:1.15em auto}.rich-output figure.cms-image img{display:block;width:100%;height:auto}.rich-output figure.cms-image.size-25{width:25%}.rich-output figure.cms-image.size-33{width:33%}.rich-output figure.cms-image.size-40{width:40%}.rich-output figure.cms-image.size-50{width:50%}.rich-output figure.cms-image.size-66{width:66%}.rich-output figure.cms-image.size-75{width:75%}.rich-output figure.cms-image.size-100{width:100%}.rich-output figure.cms-image.align-center{margin-left:auto;margin-right:auto}.rich-output figure.cms-image.wrap-left{float:left;clear:left;margin:.35em 1.4em 1em 0}.rich-output figure.cms-image.wrap-right{float:right;clear:right;margin:.35em 0 1em 1.4em}.rich-output figure.cms-image.fx-frame img{border:1px solid rgba(216,181,107,.7);padding:4px;background:rgba(0,0,0,.2)}.rich-output figure.cms-image.fx-rounded img{border-radius:14px}.rich-output figure.cms-image.fx-shadow img{box-shadow:0 14px 34px rgba(0,0,0,.48)}.rich-output figure.cms-image.fx-glow img{filter:drop-shadow(0 0 14px rgba(216,181,107,.5))}.rich-output figcaption{margin-top:.45em;text-align:center;color:var(--muted,#aeb6c1);font:.82em/1.4 Inter,system-ui,sans-serif}.rich-output hr{border:0;border-top:1px solid var(--line,rgba(216,181,107,.25));margin:1.6em 0}.books-overview-description.rich-output{max-width:760px}.book-synopsis.rich-output{max-width:none}
@media(max-width:700px){.rich-output .cms-columns,.rich-output .cms-columns.cols-3{grid-template-columns:1fr}.rich-output figure.cms-image.size-25,.rich-output figure.cms-image.size-33,.rich-output figure.cms-image.size-40,.rich-output figure.cms-image.size-50,.rich-output figure.cms-image.size-66,.rich-output figure.cms-image.size-75,.rich-output figure.cms-image.wrap-left,.rich-output figure.cms-image.wrap-right{float:none;clear:both;width:100%;margin:1em auto}}

/* =====================================================================
   7R 1.7.8 — desktop project-frame hotspot alignment
   The decorative master image supplies the visible buttons/links. The
   transparent interaction layers must never block one another and must
   match the rendered labels precisely.
   ===================================================================== */
@media (min-width:951px), (min-width:701px) and (pointer:fine){
  /* Both nav layers cover the whole decorative footer. Make only the
     actual anchors clickable so the legal layer cannot swallow the three
     CTA buttons underneath it. */
  .project-frame-bottom .project-frame-cta,
  .project-frame-bottom .project-frame-legal{
    pointer-events:none!important;
  }
  .project-frame-bottom .project-frame-cta a,
  .project-frame-bottom .project-frame-legal a{
    pointer-events:auto!important;
  }

  /* Align the three rendered CTA plates with the source artwork. */
  .project-frame-bottom .project-frame-cta a{
    top:21%!important;
    height:29%!important;
  }
  .project-frame-bottom .project-frame-cta .pfb-start-band{left:42.15%!important;width:12.15%!important}
  .project-frame-bottom .project-frame-cta .pfb-start-world{left:54.85%!important;width:12.20%!important}
  .project-frame-bottom .project-frame-cta .pfb-start-map{left:67.55%!important;width:12.35%!important}

  /* The old values were visibly too far left after the larger footer crop. */
  .project-frame-bottom .project-frame-legal a{top:72%!important;height:19%!important}
  .project-frame-bottom .project-frame-legal .pfb-impressum{left:11.15%!important;width:4.25%!important}
  .project-frame-bottom .project-frame-legal .pfb-datenschutz{left:16.35%!important;width:4.90%!important}
  .project-frame-bottom .project-frame-legal .pfb-kontakt{left:22.30%!important;width:3.35%!important}
  .project-frame-bottom .project-frame-legal .pfb-hilfe{left:26.65%!important;width:2.85%!important}
}


/* =====================================================================
   7R 1.9.3 — clearer project navigation + quieter book page headings
   ===================================================================== */
.project-sticky-nav .project-history-back{
  flex:0 0 auto;
  appearance:none;
  border:1px solid rgba(211,158,65,.28);
  border-radius:8px;
  background:rgba(110,73,23,.16);
  color:#ecd7ae;
  padding:8px 11px;
  font:600 12px/1 Inter,system-ui,sans-serif;
  letter-spacing:.015em;
  cursor:pointer;
}
.project-sticky-nav .project-history-back:hover{
  color:#fff0c6;
  border-color:rgba(229,184,96,.48);
  background:rgba(130,86,26,.26);
}
.books-overview-intro h1{
  font-size:clamp(30px,2.4vw,38px)!important;
  line-height:1.05!important;
}
@media(max-width:820px){
  .project-sticky-nav .project-history-back{padding:7px 9px;font-size:11px}
  .books-overview-intro h1{font-size:30px!important}
}
@media(max-width:520px){
  .books-overview-intro h1{font-size:28px!important}
}


/* =====================================================================
   7R 1.11.7 — project world map: show the existing explorer directly.
   No redundant landing hero/card; the map itself is the page content.
   ===================================================================== */
.project-map-shell{
  width:min(1500px,calc(100vw - 28px));
  margin:14px auto 0;
  padding:0;
  border:1px solid rgba(199,149,66,.34);
  border-radius:16px;
  overflow:hidden;
  background:#050607;
  box-shadow:0 18px 55px rgba(0,0,0,.58),0 0 28px rgba(188,134,46,.06);
}
.project-map-embed{
  display:block;
  width:100%;
  height:calc(100dvh - 220px);
  min-height:620px;
  border:0;
  background:#050607;
}
.project-map-missing{
  min-height:58vh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  text-align:center;
  color:#ead9b7;
}
.project-map-missing strong{font:28px/1.1 Georgia,serif}
.project-map-missing span{color:#a99c86}
@media(max-width:950px) and (pointer:coarse){
  .project-map-shell{width:100%;margin:0;border-left:0;border-right:0;border-radius:0}
  .project-map-embed{height:calc(100dvh - 150px);min-height:520px}
}
@media(max-width:700px) and (orientation:portrait) and (pointer:coarse){
  .project-map-embed{height:calc(100dvh - 126px);min-height:560px}
}

/* =====================================================================
   7R 1.12.6 — reusable global 7R frame
   Global overview pages use the same visual rhythm as finished project
   pages: an ornate top frame, contained page body and a full lower frame.
   The frame is neutral (no project name) and can be reused for News,
   Games, Weltkarten, Märkte, Bücher, author pages and legal/help pages.
   ===================================================================== */
.global-framed-page{background:#080705;color:var(--text);overflow-x:hidden}
.global-framed-page>.footer{display:none!important}
.global-site-frame{min-height:100vh;background:#090807;color:var(--text)}
.global-frame-top{height:78px;position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(26px,calc((100vw - 1380px)/2));overflow:hidden;border-bottom:1px solid rgba(204,151,63,.46);background:linear-gradient(180deg,#2a1608 0,#170d06 48%,#0c0907 100%);box-shadow:0 10px 30px #0008}
.global-frame-top::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/nexus-test/assets/visual/projects/drachenfunken-hub-master.webp') center top/100% auto no-repeat;opacity:.14;filter:saturate(.75) brightness(.72)}
.global-frame-top::after{content:"";position:absolute;inset:5px 14px;z-index:-1;border:1px solid rgba(216,166,78,.24);border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,219,144,.035),inset 0 0 24px rgba(0,0,0,.55);background:linear-gradient(90deg,rgba(18,10,5,.76),rgba(51,28,10,.30) 22%,rgba(21,12,6,.54) 58%,rgba(11,8,7,.78))}
.global-frame-brand{min-width:0;display:flex;align-items:center;gap:14px;color:#f0d79f;text-decoration:none}
.global-frame-sigil{width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;border:1px solid rgba(226,185,98,.67);border-radius:50%;background:radial-gradient(circle at 45% 38%,rgba(124,86,34,.52),rgba(13,10,7,.94) 67%);box-shadow:0 0 0 4px rgba(37,24,10,.74),0 0 18px rgba(219,166,65,.18),inset 0 0 15px rgba(219,166,65,.16);font:600 21px/1 Georgia,serif;color:#e8c673;text-shadow:0 1px 7px #000}
.global-frame-crumb{min-width:0;display:flex;align-items:center;gap:12px;font-family:Georgia,serif;white-space:nowrap}
.global-frame-crumb b{color:#d7ae60;font-size:15px;letter-spacing:.12em;font-weight:600}.global-frame-crumb i{color:#c89a4b;font:22px/1 Georgia,serif}.global-frame-crumb strong{max-width:34vw;overflow:hidden;text-overflow:ellipsis;color:#f3e7d2;font-size:16px;font-weight:600}
.global-frame-actions{margin-left:auto;display:flex;align-items:center;gap:11px;white-space:nowrap}.global-frame-actions a,.global-frame-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:0;background:transparent;color:#e8dcc6;text-decoration:none;font:600 13px/1 Inter,system-ui,sans-serif;cursor:pointer}.global-frame-actions a:hover,.global-frame-actions button:hover{color:#ffd987}.global-frame-back{gap:9px}.global-frame-back>span{color:#e0b660;font-size:23px;font-weight:400}.global-frame-back em{font-style:normal}.global-frame-divider{width:1px;height:28px;background:rgba(216,166,78,.26)}.global-frame-icon{width:38px;font-size:20px!important}.global-frame-content{position:relative;min-height:64vh;padding:10px 0 34px;background:radial-gradient(circle at 50% 0,rgba(115,75,24,.13),transparent 34%),linear-gradient(180deg,#0d0b08 0,#08090b 35%,#070809 100%)}
.global-frame-bottom{position:relative;z-index:12;min-height:186px;overflow:hidden;border-top:1px solid rgba(204,151,63,.42);background:linear-gradient(180deg,#1c1108,#0e0a07 66%,#080706);box-shadow:0 -10px 34px #0008;color:#d7c6a7}
.global-frame-bottom::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/nexus-test/assets/visual/projects/drachenfunken-hub-master.webp') center bottom/100% auto no-repeat;opacity:.16;filter:saturate(.7) brightness(.62)}
.global-frame-bottom::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,7,5,.82),rgba(53,30,11,.48) 17%,rgba(18,12,8,.69) 50%,rgba(45,27,12,.43) 82%,rgba(8,7,6,.84))}
.global-frame-continue{width:min(calc(100% - 48px),1320px);min-height:92px;margin:14px auto 0;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(202,151,65,.43);border-radius:10px;background:linear-gradient(180deg,rgba(67,39,14,.62),rgba(25,16,10,.83));box-shadow:inset 0 0 0 1px rgba(255,221,145,.04),0 10px 35px #0005}
.global-frame-continue-copy{display:flex;align-items:center;gap:14px;min-width:0}.global-frame-continue-copy>span{font-size:32px;color:#e0b45d;text-shadow:0 0 16px rgba(225,172,67,.24)}.global-frame-continue-copy p{margin:0;display:grid;gap:2px}.global-frame-continue-copy strong{font:600 18px/1.05 Georgia,serif;color:#f2d8a5}.global-frame-continue-copy small{color:#bca987;font:600 11px/1.25 Inter,system-ui,sans-serif}.global-frame-continue nav{display:flex;align-items:center;gap:10px;flex:0 0 auto}.global-frame-continue nav a{min-width:155px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:10px 14px;border:1px solid rgba(214,164,76,.58);border-radius:9px;background:linear-gradient(180deg,rgba(95,61,20,.55),rgba(27,20,12,.9));color:#f3dfb4;text-decoration:none;font:700 12px/1.2 Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px rgba(255,222,148,.04),0 6px 18px rgba(0,0,0,.28)}.global-frame-continue nav a:hover{border-color:#e3b967;color:#fff0c8;box-shadow:0 0 22px rgba(210,159,66,.12)}.global-frame-continue nav a span{color:#d6a84e;font-size:17px}
.global-frame-legal{min-height:68px;margin-top:10px;padding:10px max(30px,calc((100vw - 1320px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;border-top:1px solid rgba(198,146,58,.20);background:rgba(7,7,7,.72)}.global-frame-legal>nav{display:flex;align-items:center;gap:18px}.global-frame-legal a{color:#c7b79c;text-decoration:none;font:600 11px/1 Inter,system-ui,sans-serif}.global-frame-legal a:hover{color:#f0d89f}.global-frame-wordmark{text-align:center;display:grid;gap:2px;color:#cda65a}.global-frame-wordmark strong{font:600 14px/1 Georgia,serif;letter-spacing:.20em}.global-frame-wordmark small{font:700 8px/1 Inter,system-ui,sans-serif;letter-spacing:.28em;color:#9f7939}.global-frame-copy{justify-self:end;color:#bba98b;font:600 10px/1.2 Georgia,serif;white-space:nowrap}
@media(max-width:1050px){.global-frame-top{padding-left:18px;padding-right:18px}.global-frame-crumb strong{max-width:26vw}.global-frame-continue{width:min(calc(100% - 28px),1320px);align-items:flex-start;flex-direction:column}.global-frame-continue nav{width:100%}.global-frame-continue nav a{flex:1;min-width:0}.global-frame-legal{padding-left:18px;padding-right:18px}}
@media(max-width:700px){.global-frame-top{height:66px;padding:0 max(10px,env(safe-area-inset-left)) 0 max(10px,env(safe-area-inset-right));gap:8px}.global-frame-top::before{background-size:1180px auto;background-position:17% top}.global-frame-top::after{inset:4px 6px}.global-frame-sigil{width:45px;height:45px;flex-basis:45px;font-size:17px}.global-frame-brand{gap:8px}.global-frame-crumb{gap:6px}.global-frame-crumb b{font-size:11px;letter-spacing:.09em}.global-frame-crumb i{font-size:17px}.global-frame-crumb strong{font-size:13px;max-width:26vw}.global-frame-actions{gap:2px}.global-frame-back,.global-frame-divider{display:none!important}.global-frame-actions a,.global-frame-actions button{min-height:34px;padding:5px 7px;font-size:11px}.global-frame-icon{width:31px;font-size:17px!important}.global-frame-content{padding-top:2px;padding-bottom:18px}.global-frame-bottom{min-height:0;background:#080807}.global-frame-bottom::before{display:none}.global-frame-continue{width:100%;margin:0;padding:13px 14px;border-width:1px 0;border-radius:0;background:linear-gradient(180deg,rgba(31,20,9,.98),rgba(10,10,9,.98));gap:11px}.global-frame-continue-copy>span{font-size:25px}.global-frame-continue-copy strong{font-size:16px}.global-frame-continue-copy small{font-size:10px}.global-frame-continue nav{display:grid;grid-template-columns:1fr;gap:8px}.global-frame-continue nav a{min-height:42px;font-size:12px}.global-frame-legal{min-height:0;margin:0;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;background:#050607}.global-frame-legal>nav{width:100%;justify-content:center;flex-wrap:wrap;gap:7px 15px}.global-frame-legal a{font-size:10px}.global-frame-wordmark{order:2}.global-frame-copy{order:3;justify-self:auto;font-size:9px}.global-frame-wordmark strong{font-size:12px}.global-frame-wordmark small{font-size:7px}}
@media(max-width:950px) and (orientation:landscape) and (pointer:coarse){.global-frame-top{padding-top:max(env(safe-area-inset-top),8px);height:calc(58px + max(env(safe-area-inset-top),8px))}.global-frame-continue{flex-direction:row;align-items:center;padding:10px max(14px,env(safe-area-inset-left))}.global-frame-continue-copy{min-width:220px}.global-frame-continue nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.global-frame-continue nav a{min-height:40px;font-size:11px;padding:8px 9px}.global-frame-legal{padding-bottom:calc(7px + env(safe-area-inset-bottom))}}

/* =====================================================================
   7R 1.12.7 — global frame execution fix + polished Nexus sigil
   Root index.php now uses this frame too; keep this as the reusable shell
   for News and the other global 7R overview pages.
   ===================================================================== */
.global-frame-sigil{
  width:56px!important;height:56px!important;flex:0 0 56px!important;
  object-fit:contain!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.75)) drop-shadow(0 0 10px rgba(220,168,69,.16));
}
.global-frame-top{min-height:78px}
.global-frame-content{padding-top:10px}
@media(max-width:700px){
  .global-frame-sigil{width:46px!important;height:46px!important;flex-basis:46px!important}
  .global-frame-content{padding-top:3px}
}

/* =====================================================================
   7R 1.30.0 — Enyria project world
   Full rendered landing page + dedicated top-only subpage frame.
   Drachenfunken remains untouched.
   ===================================================================== */
.project-frame-top{background-image:var(--project-frame-top,var(--project-master))}
.project-frame-bottom{background-image:var(--project-frame-bottom,var(--project-master))}

/* New top-only project frame standard: legal/help links live in the sticky nav. */
.project-world-frame.project-frame-top-only .project-frame-content{padding-bottom:18px}
.project-sticky-nav .project-nav-divider{flex:0 0 auto;width:1px;height:18px;margin:0 5px;background:rgba(199,154,78,.28)}
.project-sticky-nav .project-sticky-meta{color:#a99472;font-weight:500;font-size:11px}
.project-sticky-nav .project-sticky-meta:hover{color:#f0d79b}

/* Enyria subpage header artwork. */
.project-world-frame[data-project-key="enyria"] .project-frame-top{
  height:62px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(181,137,64,.52);
  box-shadow:0 10px 30px rgba(0,0,0,.72),0 0 24px rgba(52,104,72,.08);
}
.project-world-frame[data-project-key="enyria"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(38,89,62,.13),transparent 30%),
    linear-gradient(180deg,#07100d 0,#080b0d 28%,#07090a 100%);
}

/* Hotspots match the supplied 1682×62 Enyria top frame. */
.project-world-frame[data-project-key="enyria"] .enyria-frame-nexus{left:5.0%;width:14.0%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-world{left:23.4%;width:4.8%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-books{left:29.0%;width:5.5%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-bonus{left:35.6%;width:7.5%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-games{left:44.0%;width:4.7%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-gallery{left:50.2%;width:5.7%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-videos{left:56.5%;width:5.7%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-search{left:87.3%;width:2.6%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-me{left:90.0%;width:2.7%}
.project-world-frame[data-project-key="enyria"] .enyria-frame-fullscreen{left:92.8%;width:3.2%}

/* Enyria landing page hotspots, percentages relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="enyria"] .enyria-hit-nexus{left:5.0%;top:.35%;width:14.0%;height:5.8%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-world{left:23.6%;top:.5%;width:4.8%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-books-top{left:29.0%;top:.5%;width:5.8%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-bonus-top{left:35.6%;top:.5%;width:7.3%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-games-top{left:43.9%;top:.5%;width:4.9%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-gallery-top{left:50.3%;top:.5%;width:5.8%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-videos-top{left:56.5%;top:.5%;width:5.9%;height:5.7%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-search{left:87.0%;top:.35%;width:2.5%;height:5.8%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-me{left:90.0%;top:.35%;width:2.6%;height:5.8%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-fullscreen{left:92.8%;top:.35%;width:3.2%;height:5.8%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-cta{left:11.5%;top:57.9%;width:23.7%;height:4.8%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-books{left:4.1%;top:65.4%;width:14.6%;height:24.0%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-world{left:19.4%;top:65.4%;width:14.6%;height:24.0%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-maps{left:34.7%;top:65.4%;width:14.2%;height:24.0%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-games{left:50.0%;top:65.4%;width:13.5%;height:24.0%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-gallery{left:64.2%;top:65.4%;width:14.1%;height:24.0%}
.project-visual-hub[data-project-key="enyria"] .enyria-hit-card-videos{left:79.2%;top:65.4%;width:14.9%;height:24.0%}


/* Mobile fullscreen control uses the compass position in the supplied Enyria artwork. */
.project-fullscreen-toggle{display:none}
.project-fullscreen-toggle .project-fullscreen-icon{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.8));background:
 linear-gradient(#f1cf7a,#f1cf7a) left top/7px 2px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) left top/2px 7px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) right top/7px 2px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) right top/2px 7px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) left bottom/7px 2px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) left bottom/2px 7px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) right bottom/7px 2px no-repeat,
 linear-gradient(#f1cf7a,#f1cf7a) right bottom/2px 7px no-repeat;
 opacity:.96}
.project-fullscreen-toggle:focus-visible .project-fullscreen-icon{filter:drop-shadow(0 0 5px rgba(244,207,122,.95))}
body.project-faux-fullscreen{overflow:hidden!important}
.project-faux-fullscreen-target{position:fixed!important;inset:0!important;z-index:1400!important;width:100vw!important;height:100dvh!important;max-width:none!important;overflow:auto!important;background:#030405!important}
.project-faux-fullscreen-target.project-visual-hub .project-stage-scroller{width:100vw!important;height:100dvh!important;min-height:100dvh!important}

@media (max-width:950px), (pointer:coarse){
 .project-visual-hub[data-project-key="enyria"] .enyria-hit-fullscreen,
 .project-world-frame[data-project-key="enyria"] .enyria-frame-fullscreen{display:block!important;z-index:95;border-radius:50%;background:rgba(5,12,9,.32);box-shadow:inset 0 0 0 1px rgba(224,183,92,.22),0 0 14px rgba(0,0,0,.42)}
 .project-visual-hub[data-project-key="enyria"] .enyria-hit-fullscreen:hover,
 .project-world-frame[data-project-key="enyria"] .enyria-frame-fullscreen:hover{background:rgba(18,38,27,.54);box-shadow:inset 0 0 0 1px rgba(242,205,118,.48),0 0 18px rgba(85,144,105,.25)}
}

/* The artwork itself already carries all labels and frames; interaction stays invisible. */
.project-visual-hub[data-project-key="enyria"] .project-stage-hit:hover{
  background:rgba(209,171,89,.025);
  box-shadow:inset 0 0 0 1px rgba(240,205,124,.18),0 0 20px rgba(70,134,92,.08);
}

/* On narrow screens the sticky project nav is the reliable control layer.
   The decorative Enyria header stays visible, but its tiny artwork links do not compete with touch. */
@media(max-width:1050px){
  .project-world-frame[data-project-key="enyria"] .project-frame-top{
    height:52px;
    background-size:1180px 52px;
    background-position:8% center;
  }
  .project-world-frame[data-project-key="enyria"] .project-frame-top .frame-hit{display:none!important}
  .project-world-frame[data-project-key="enyria"] .project-frame-top .enyria-frame-fullscreen{display:block!important;left:auto;right:8px;width:38px;height:38px;top:7px}
  .project-sticky-nav .project-nav-divider{margin:0 3px}
}
@media(max-width:700px){
  .project-world-frame[data-project-key="enyria"] .project-frame-top{height:48px;background-size:1080px 48px;background-position:7% center}
  .project-world-frame[data-project-key="enyria"] .project-frame-top .enyria-frame-fullscreen{right:6px;top:5px;width:38px;height:38px}
  .project-world-frame.project-frame-top-only .project-frame-content{padding-bottom:10px}
}

/* =====================================================================
   7R 1.30.6 — player profile chip in every project subpage navigation
   ===================================================================== */
.project-sticky-nav a.project-profile-chip{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  margin-right:8px;
  padding:5px 9px;
  border:1px solid rgba(205,158,73,.34);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(31,28,22,.94),rgba(11,14,18,.98));
  color:#f2e8d7;
  box-shadow:0 5px 18px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.025);
}
.project-sticky-nav a.project-profile-chip:hover{
  border-color:rgba(226,183,96,.62);
  background:linear-gradient(145deg,rgba(45,37,24,.96),rgba(13,17,21,.98));
  box-shadow:0 6px 22px rgba(0,0,0,.34),0 0 18px rgba(203,153,61,.08);
}
.project-profile-dot{
  width:9px;height:9px;flex:0 0 auto;border-radius:50%;
  background:#9c7a3e;box-shadow:0 0 0 3px rgba(181,137,63,.08);
}
.project-profile-chip.is-logged-in .project-profile-dot{
  background:#65d69a;box-shadow:0 0 10px rgba(101,214,154,.32);
}
.project-profile-copy{display:grid;gap:2px;min-width:0;text-align:left}
.project-profile-copy strong{
  max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#f7ecda;font:700 12px/1.05 Inter,system-ui,sans-serif;
}
.project-profile-copy small{color:#888f98;font:500 9px/1 Inter,system-ui,sans-serif}
.project-profile-arrow{margin-left:2px;color:#caa052;font-size:14px;line-height:1}
.project-profile-chip.is-guest .project-profile-copy strong{color:#e5cf9f}

@media(max-width:700px){
  .project-sticky-nav a.project-profile-chip{min-height:34px;margin-right:5px;padding:5px 8px;gap:6px;border-radius:15px}
  .project-profile-copy strong{max-width:86px;font-size:11px}
  .project-profile-copy small{display:none}
  .project-profile-arrow{display:none}
  .project-profile-dot{width:8px;height:8px}
}

/* =====================================================================
   7R 1.56.0 — H.O.P.E. / E.O.S project world
   Supplied 1672×941 landing artwork + supplied 1670×62 top frame.
   The rendered artwork carries all visible labels; these layers only add
   accessible interaction and the project subpage frame behaviour.
   ===================================================================== */
.project-world-frame[data-project-key="hope"] .project-frame-top{
  height:62px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(188,142,68,.54);
  box-shadow:0 10px 30px rgba(0,0,0,.76),0 0 28px rgba(66,135,210,.08);
}
.project-world-frame[data-project-key="hope"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(54,111,177,.16),transparent 34%),
    linear-gradient(180deg,#07101a 0,#080c12 30%,#07090d 100%);
}

/* H.O.P.E. subpage top-frame hotspots, percentages relative to 1670×62. */
.project-world-frame[data-project-key="hope"] .hope-frame-nexus{left:5.0%;width:14.0%}
.project-world-frame[data-project-key="hope"] .hope-frame-world{left:21.1%;width:4.6%}
.project-world-frame[data-project-key="hope"] .hope-frame-books{left:26.5%;width:4.8%}
.project-world-frame[data-project-key="hope"] .hope-frame-bonus{left:33.0%;width:7.0%}
.project-world-frame[data-project-key="hope"] .hope-frame-games{left:41.3%;width:4.8%}
.project-world-frame[data-project-key="hope"] .hope-frame-gallery{left:47.3%;width:5.4%}
.project-world-frame[data-project-key="hope"] .hope-frame-videos{left:53.5%;width:5.1%}
.project-world-frame[data-project-key="hope"] .hope-frame-search{left:84.1%;width:2.8%}
.project-world-frame[data-project-key="hope"] .hope-frame-me{left:87.7%;width:2.8%}
.project-world-frame[data-project-key="hope"] .hope-frame-menu{left:91.2%;width:3.0%}

/* H.O.P.E. landing page hotspots, percentages relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="hope"] .hope-hit-nexus{left:5.0%;top:.20%;width:14.0%;height:6.2%}
.project-visual-hub[data-project-key="hope"] .hope-hit-world{left:21.1%;top:.25%;width:4.6%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-books-top{left:26.5%;top:.25%;width:4.8%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-bonus-top{left:33.0%;top:.25%;width:7.0%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-games-top{left:41.3%;top:.25%;width:4.8%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-gallery-top{left:47.3%;top:.25%;width:5.4%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-videos-top{left:53.5%;top:.25%;width:5.1%;height:6.1%}
.project-visual-hub[data-project-key="hope"] .hope-hit-search{left:84.1%;top:.20%;width:2.8%;height:6.2%}
.project-visual-hub[data-project-key="hope"] .hope-hit-me{left:87.7%;top:.20%;width:2.8%;height:6.2%}
.project-visual-hub[data-project-key="hope"] .hope-hit-menu{left:91.2%;top:.20%;width:3.0%;height:6.2%}

.project-visual-hub[data-project-key="hope"] .hope-hit-hero-books{left:3.7%;top:48.7%;width:15.8%;height:5.6%}
.project-visual-hub[data-project-key="hope"] .hope-hit-hero-world{left:20.1%;top:48.7%;width:16.3%;height:5.6%}
.project-visual-hub[data-project-key="hope"] .hope-hit-hero-map{left:11.9%;top:55.5%;width:16.0%;height:4.6%}

.project-visual-hub[data-project-key="hope"] .hope-hit-card-books{left:3.7%;top:61.8%;width:14.9%;height:25.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-card-world{left:19.0%;top:61.8%;width:14.4%;height:25.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-card-maps{left:34.0%;top:61.8%;width:14.3%;height:25.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-card-games{left:49.0%;top:61.8%;width:14.3%;height:25.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-card-gallery{left:64.0%;top:61.8%;width:14.3%;height:25.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-card-videos{left:78.8%;top:61.8%;width:14.5%;height:25.4%}

.project-visual-hub[data-project-key="hope"] .hope-hit-impressum{left:4.7%;top:91.8%;width:4.6%;height:5.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-datenschutz{left:10.0%;top:91.8%;width:5.2%;height:5.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-kontakt{left:16.1%;top:91.8%;width:3.8%;height:5.4%}
.project-visual-hub[data-project-key="hope"] .hope-hit-hilfe{left:20.4%;top:91.8%;width:3.3%;height:5.4%}

.project-visual-hub[data-project-key="hope"] .project-stage-hit:hover{
  background:rgba(92,164,232,.025);
  box-shadow:inset 0 0 0 1px rgba(238,195,111,.18),0 0 20px rgba(58,137,221,.09);
}

/* On compact touch layouts the artwork remains visible while the sticky
   project navigation is the reliable, finger-sized control layer. */
@media(max-width:1050px){
  .project-world-frame[data-project-key="hope"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
  .project-world-frame[data-project-key="hope"] .project-frame-top .frame-hit{display:none!important}
}
@media(max-width:700px){
  .project-world-frame[data-project-key="hope"] .project-frame-top{
    height:48px;
    background-size:auto 48px;
    background-position:center center;
  }
}

/* 1.60.4 · H.O.P.E. start page atmosphere – visual only, hotspots remain untouched. */
.project-visual-hub[data-project-key="hope"] .project-stage-canvas{overflow:hidden}
.project-visual-hub[data-project-key="hope"] .hope-stage-effects{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden;contain:layout paint}
.project-visual-hub[data-project-key="hope"] .hope-haze{position:absolute;border-radius:50%;filter:blur(18px);mix-blend-mode:screen;opacity:.12;animation:hopeHaze 10s ease-in-out infinite alternate}
.project-visual-hub[data-project-key="hope"] .hope-haze.h1{left:3%;top:7%;width:44%;height:34%;background:radial-gradient(ellipse,rgba(82,173,255,.24),transparent 68%)}
.project-visual-hub[data-project-key="hope"] .hope-haze.h2{left:48%;top:12%;width:36%;height:29%;background:radial-gradient(ellipse,rgba(255,179,86,.16),transparent 70%);animation-delay:-4.1s}
@keyframes hopeHaze{from{opacity:.07;transform:scale(.98)}to{opacity:.18;transform:scale(1.04)}}
.project-visual-hub[data-project-key="hope"] .hope-bolt{position:absolute;width:2px;height:17%;opacity:0;mix-blend-mode:screen;background:linear-gradient(180deg,transparent,rgba(204,239,255,.95) 28%,rgba(126,197,255,.72) 56%,transparent);filter:drop-shadow(0 0 6px rgba(105,193,255,.8)) drop-shadow(0 0 16px rgba(75,134,255,.35));animation:hopeBolt 12s ease-in-out infinite}
.project-visual-hub[data-project-key="hope"] .hope-bolt.b1{left:72%;top:11%;transform:rotate(10deg);animation-delay:-2.6s}
.project-visual-hub[data-project-key="hope"] .hope-bolt.b2{left:78%;top:13%;height:14%;transform:rotate(-8deg);animation-delay:-8.2s}
@keyframes hopeBolt{0%,84%,100%{opacity:0}85%{opacity:.18}86%,87%{opacity:.85}88%{opacity:.22}89%{opacity:.68}91%{opacity:0}}
.project-visual-hub[data-project-key="hope"] .hope-dust{position:absolute;width:4px;height:4px;border-radius:50%;opacity:0;background:radial-gradient(circle,#fff7d6 0 20%,#ffd078 38%,rgba(255,193,94,.26) 63%,transparent 78%);filter:drop-shadow(0 0 4px rgba(255,205,111,.88));animation:hopeDust var(--dur,9s) linear var(--delay,0s) infinite}
.project-visual-hub[data-project-key="hope"] .hope-dust:nth-of-type(even){background:radial-gradient(circle,#effaff 0 20%,#9edcff 38%,rgba(87,169,255,.24) 63%,transparent 78%);filter:drop-shadow(0 0 4px rgba(122,214,255,.84))}
.project-visual-hub[data-project-key="hope"] .d1{left:5%;top:88%;--x:18px;--y:-135px;--dur:9.6s;--delay:-1.7s}.project-visual-hub[data-project-key="hope"] .d2{left:13%;top:91%;--x:26px;--y:-165px;--dur:8.2s;--delay:-5.2s}.project-visual-hub[data-project-key="hope"] .d3{left:22%;top:87%;--x:-10px;--y:-122px;--dur:10.4s;--delay:-2.8s}.project-visual-hub[data-project-key="hope"] .d4{left:31%;top:90%;--x:12px;--y:-150px;--dur:8.8s;--delay:-6.4s}.project-visual-hub[data-project-key="hope"] .d5{left:59%;top:89%;--x:-14px;--y:-145px;--dur:9.9s;--delay:-3.6s}.project-visual-hub[data-project-key="hope"] .d6{left:66%;top:87%;--x:20px;--y:-126px;--dur:7.9s;--delay:-5.7s}.project-visual-hub[data-project-key="hope"] .d7{left:73%;top:90%;--x:8px;--y:-158px;--dur:11.1s;--delay:-4.4s}.project-visual-hub[data-project-key="hope"] .d8{left:82%;top:87%;--x:-12px;--y:-132px;--dur:8.6s;--delay:-7.3s}.project-visual-hub[data-project-key="hope"] .d9{left:89%;top:90%;--x:14px;--y:-170px;--dur:10.3s;--delay:-2.2s}.project-visual-hub[data-project-key="hope"] .d10{left:94%;top:84%;--x:-8px;--y:-118px;--dur:9.2s;--delay:-6.8s}
@keyframes hopeDust{0%{opacity:0;transform:translate3d(0,16px,0) scale(.45)}10%{opacity:.68}58%{opacity:.36}100%{opacity:0;transform:translate3d(var(--x,0),var(--y,-140px),0) scale(1)}}

/* 1.60.4 · Books: calm bonus-world style, no tilt or moving covers. */
.books-overview-intro-art,.books-overview-cover,.book-cover,.book-related-card .content-card-image{position:relative;overflow:hidden}
.books-overview-intro-art::after,.books-overview-cover::after,.book-cover::after,.book-related-card .content-card-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 18%,rgba(255,247,220,.04) 38%,rgba(255,230,169,.18) 50%,rgba(255,255,255,.05) 58%,transparent 76%);background-size:240% 100%;background-position:135% 0;opacity:0;transition:opacity .25s ease,background-position .55s ease}
.books-overview-intro-art:hover::after,.books-overview-cover:hover::after,.book-cover:hover::after,.book-related-card:hover .content-card-image::after{opacity:.75;background-position:-130% 0}
.books-overview-intro-art img,.books-overview-cover img,.book-cover img,.book-related-card .content-card-image img{transition:filter .24s ease,box-shadow .24s ease}
.books-overview-intro-art:hover img,.books-overview-cover:hover img,.book-cover:hover img,.book-related-card:hover .content-card-image img{filter:brightness(1.035) saturate(1.025) drop-shadow(0 14px 24px rgba(0,0,0,.34))}
.books-overview-cover:hover,.book-cover:hover,.books-overview-intro-art:hover{box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 24px rgba(215,179,106,.10)}

@media (prefers-reduced-motion:reduce){
 .project-visual-hub[data-project-key="hope"] .hope-haze,.project-visual-hub[data-project-key="hope"] .hope-bolt,.project-visual-hub[data-project-key="hope"] .hope-dust{animation:none!important}
 .project-visual-hub[data-project-key="hope"] .hope-bolt,.project-visual-hub[data-project-key="hope"] .hope-dust{display:none!important}
 .books-overview-intro-art::after,.books-overview-cover::after,.book-cover::after,.book-related-card .content-card-image::after{display:none!important}
}

/* =====================================================================
   7R 1.62.0 — Beyond Restraint project world
   Supplied 1672×941 landing artwork + supplied 1665×71 top frame.
   Visible labels stay inside the artwork; CSS only adds interaction.
   ===================================================================== */
.project-world-frame[data-project-key="beyond-restraint"] .project-frame-top{
  height:71px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(142,28,30,.58);
  box-shadow:0 10px 32px rgba(0,0,0,.82),0 0 30px rgba(28,74,110,.08);
}
.project-world-frame[data-project-key="beyond-restraint"] .project-frame-content{
  background:
    radial-gradient(circle at 68% 0,rgba(28,61,90,.16),transparent 34%),
    radial-gradient(circle at 20% 0,rgba(132,17,22,.10),transparent 30%),
    linear-gradient(180deg,#080b0f 0,#090a0c 34%,#070809 100%);
}

/* Beyond Restraint subpage top-frame hotspots, percentages relative to 1665×71. */
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-nexus{left:5.3%;width:18.8%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-books{left:25.3%;width:8.3%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-bonus{left:34.0%;width:8.8%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-maps{left:43.1%;width:9.0%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-games{left:52.5%;width:7.5%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-gallery{left:60.4%;width:6.8%}
.project-world-frame[data-project-key="beyond-restraint"] .beyond-frame-videos{left:67.3%;width:6.8%}

/* Beyond Restraint landing page hotspots, percentages relative to 1672×941. */
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-nexus{left:5.4%;top:.2%;width:18.8%;height:6.8%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-books-top{left:25.4%;top:.4%;width:8.2%;height:6.4%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-bonus-top{left:34.0%;top:.4%;width:8.8%;height:6.4%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-maps-top{left:43.2%;top:.4%;width:9.0%;height:6.4%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-games-top{left:52.6%;top:.4%;width:7.5%;height:6.4%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-gallery-top{left:60.5%;top:.4%;width:6.8%;height:6.4%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-videos-top{left:67.4%;top:.4%;width:6.6%;height:6.4%}

.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-hero-books{left:3.7%;top:51.1%;width:20.5%;height:4.7%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-hero-world{left:3.7%;top:56.4%;width:20.5%;height:4.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-hero-map{left:3.7%;top:61.2%;width:20.5%;height:4.6%}

.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-books{left:2.1%;top:67.4%;width:15.8%;height:23.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-world{left:18.4%;top:67.4%;width:15.0%;height:23.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-maps{left:34.0%;top:67.4%;width:14.9%;height:23.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-games{left:49.5%;top:67.4%;width:15.1%;height:23.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-gallery{left:65.2%;top:67.4%;width:15.1%;height:23.6%}
.project-visual-hub[data-project-key="beyond-restraint"] .beyond-hit-card-videos{left:80.9%;top:67.4%;width:15.4%;height:23.6%}

.project-visual-hub[data-project-key="beyond-restraint"] .project-stage-hit:hover{
  background:rgba(161,24,29,.035);
  box-shadow:inset 0 0 0 1px rgba(232,205,174,.17),0 0 22px rgba(125,19,24,.12);
}

/* On compact touch layouts the sticky project nav is the reliable control layer. */
@media(max-width:1050px){
  .project-world-frame[data-project-key="beyond-restraint"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
  .project-world-frame[data-project-key="beyond-restraint"] .project-frame-top .frame-hit{display:none!important}
}
@media(max-width:700px){
  .project-world-frame[data-project-key="beyond-restraint"] .project-frame-top{
    height:48px;
    background-size:auto 48px;
    background-position:center center;
  }
}

/* =====================================================================
   7R 1.62.1 — Extraction project world
   Supplied 1672×941 landing artwork + 1673×60 top frame + static Lethane map.
   Search, Mein 7R and fullscreen are real controls on the rendered header.
   ===================================================================== */
.project-world-frame[data-project-key="extraction"] .project-frame-top{
  height:60px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(191,143,64,.56);
  box-shadow:0 10px 32px rgba(0,0,0,.82),0 0 28px rgba(83,59,112,.08);
}
.project-world-frame[data-project-key="extraction"] .project-frame-content{
  background:
    radial-gradient(circle at 58% 0,rgba(78,47,103,.12),transparent 33%),
    radial-gradient(circle at 25% 0,rgba(185,128,48,.08),transparent 28%),
    linear-gradient(180deg,#080b0f 0,#090a0c 34%,#070809 100%);
}

/* Extraction subpage top-frame hotspots, relative to 1673×60. */
.project-world-frame[data-project-key="extraction"] .extraction-frame-nexus{left:4.45%;width:14.7%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-world{left:20.3%;width:4.6%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-books{left:25.1%;width:5.4%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-bonus{left:30.6%;width:8.1%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-games{left:38.9%;width:5.4%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-gallery{left:44.7%;width:6.3%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-videos{left:51.5%;width:6.2%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-search{left:82.7%;width:3.7%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-me{left:86.4%;width:3.7%}
.project-world-frame[data-project-key="extraction"] .extraction-frame-fullscreen{left:90.0%;width:4.0%;display:block!important}

/* Extraction landing page hotspots, relative to 1672×941. */
.project-visual-hub[data-project-key="extraction"] .extraction-hit-nexus{left:4.45%;top:.15%;width:14.7%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-world{left:20.3%;top:.15%;width:4.6%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-books-top{left:25.1%;top:.15%;width:5.4%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-bonus-top{left:30.6%;top:.15%;width:8.1%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-games-top{left:38.9%;top:.15%;width:5.4%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-gallery-top{left:44.7%;top:.15%;width:6.3%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-videos-top{left:51.5%;top:.15%;width:6.2%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-search{left:82.8%;top:.15%;width:3.6%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-me{left:86.4%;top:.15%;width:3.6%;height:6.1%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-fullscreen{left:90.0%;top:.15%;width:4.0%;height:6.1%;display:block!important}

.project-visual-hub[data-project-key="extraction"] .extraction-hit-hero-books{left:3.45%;top:48.35%;width:16.2%;height:5.9%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-hero-world{left:19.95%;top:48.35%;width:16.55%;height:5.9%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-hero-map{left:11.75%;top:55.15%;width:16.25%;height:5.25%}

.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-books{left:3.55%;top:61.4%;width:15.0%;height:25.55%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-world{left:18.8%;top:61.4%;width:14.7%;height:25.55%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-maps{left:33.8%;top:61.4%;width:14.7%;height:25.55%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-games{left:48.55%;top:61.4%;width:14.75%;height:25.55%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-gallery{left:63.25%;top:61.4%;width:15.0%;height:25.55%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-card-videos{left:78.35%;top:61.4%;width:15.1%;height:25.55%}

.project-visual-hub[data-project-key="extraction"] .extraction-hit-impressum{left:4.6%;top:91.7%;width:4.8%;height:5.5%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-datenschutz{left:9.8%;top:91.7%;width:5.3%;height:5.5%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-kontakt{left:15.4%;top:91.7%;width:4.1%;height:5.5%}
.project-visual-hub[data-project-key="extraction"] .extraction-hit-hilfe{left:19.8%;top:91.7%;width:3.5%;height:5.5%}

.project-visual-hub[data-project-key="extraction"] .project-stage-hit:hover{
  background:rgba(151,103,41,.03);
  box-shadow:inset 0 0 0 1px rgba(237,202,133,.18),0 0 22px rgba(100,64,124,.10);
}

/* Lethane is intentionally shown as a bare map for now. */
.project-static-map-shell.extraction-static-map{
  width:100%;
  margin:0;
  padding:0;
  display:grid;
  place-items:start center;
  background:#050607;
}
.project-static-map-shell.extraction-static-map img{
  display:block;
  width:min(100%,1254px);
  height:auto;
  margin:0 auto;
}

/* Keep the supplied header on compact screens; fullscreen remains reachable. */
@media(max-width:1050px){
  .project-world-frame[data-project-key="extraction"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
  .project-world-frame[data-project-key="extraction"] .project-frame-top .frame-hit{display:none!important}
  .project-world-frame[data-project-key="extraction"] .project-frame-top .extraction-frame-fullscreen{
    display:block!important;left:auto;right:8px;top:0;width:48px;height:52px;
  }
}
@media(max-width:700px){
  .project-world-frame[data-project-key="extraction"] .project-frame-top{height:48px;background-size:auto 48px}
  .project-world-frame[data-project-key="extraction"] .project-frame-top .extraction-frame-fullscreen{right:5px;width:44px;height:48px}
  .project-static-map-shell.extraction-static-map img{width:100%}
}

/* =====================================================================
   7R 1.62.2 — Breach project world
   Supplied 1672×941 landing artwork + supplied 1670×70 top frame.
   Arkan is intentionally shown as a bare map for now.
   ===================================================================== */
.project-world-frame[data-project-key="breach"] .project-frame-top{
  height:70px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(184,142,73,.55);
  box-shadow:0 10px 30px rgba(0,0,0,.78),0 0 30px rgba(117,68,184,.09);
}
.project-world-frame[data-project-key="breach"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(102,54,168,.14),transparent 34%),
    linear-gradient(180deg,#0b0811 0,#090a0e 30%,#07080a 100%);
}

/* Breach subpage header hotspots, relative to 1670×70. */
.project-world-frame[data-project-key="breach"] .breach-frame-nexus{left:4.5%;width:19.0%}
.project-world-frame[data-project-key="breach"] .breach-frame-world{left:28.9%;width:4.6%}
.project-world-frame[data-project-key="breach"] .breach-frame-books{left:34.4%;width:5.8%}
.project-world-frame[data-project-key="breach"] .breach-frame-bonus{left:41.4%;width:7.5%}
.project-world-frame[data-project-key="breach"] .breach-frame-games{left:50.1%;width:5.5%}
.project-world-frame[data-project-key="breach"] .breach-frame-gallery{left:57.3%;width:6.1%}
.project-world-frame[data-project-key="breach"] .breach-frame-videos{left:64.7%;width:6.3%}

/* Breach landing page hotspots, relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="breach"] .breach-hit-nexus{left:4.5%;top:.2%;width:19.0%;height:6.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-world{left:28.9%;top:.2%;width:4.6%;height:6.4%}
.project-visual-hub[data-project-key="breach"] .breach-hit-books-top{left:34.4%;top:.2%;width:5.8%;height:6.4%}
.project-visual-hub[data-project-key="breach"] .breach-hit-bonus-top{left:41.4%;top:.2%;width:7.5%;height:6.4%}
.project-visual-hub[data-project-key="breach"] .breach-hit-games-top{left:50.1%;top:.2%;width:5.5%;height:6.4%}
.project-visual-hub[data-project-key="breach"] .breach-hit-gallery-top{left:57.3%;top:.2%;width:6.1%;height:6.4%}
.project-visual-hub[data-project-key="breach"] .breach-hit-videos-top{left:64.7%;top:.2%;width:6.3%;height:6.4%}

.project-visual-hub[data-project-key="breach"] .breach-hit-hero-books{left:8.3%;top:46.0%;width:20.2%;height:5.0%}
.project-visual-hub[data-project-key="breach"] .breach-hit-hero-world{left:8.3%;top:52.0%;width:20.2%;height:5.0%}
.project-visual-hub[data-project-key="breach"] .breach-hit-hero-map{left:10.0%;top:58.0%;width:15.0%;height:4.0%}

.project-visual-hub[data-project-key="breach"] .breach-hit-card-books{left:3.8%;top:65.0%;width:15.0%;height:25.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-card-world{left:19.2%;top:65.0%;width:15.0%;height:25.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-card-maps{left:34.6%;top:65.0%;width:14.8%;height:25.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-card-games{left:49.7%;top:65.0%;width:14.9%;height:25.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-card-gallery{left:65.0%;top:65.0%;width:15.3%;height:25.5%}
.project-visual-hub[data-project-key="breach"] .breach-hit-card-videos{left:80.7%;top:65.0%;width:14.3%;height:25.5%}

.project-visual-hub[data-project-key="breach"] .project-stage-hit:hover{
  background:rgba(125,72,197,.028);
  box-shadow:inset 0 0 0 1px rgba(239,203,137,.18),0 0 22px rgba(133,73,210,.10);
}

/* Arkan is intentionally shown as the supplied bare map. */
.project-static-map-shell.breach-static-map{
  width:100%;
  margin:0;
  padding:0;
  display:grid;
  place-items:start center;
  background:#050607;
}
.project-static-map-shell.breach-static-map img{
  display:block;
  width:min(100%,1254px);
  height:auto;
  margin:0 auto;
}

/* Compact screens keep the artwork; sticky project navigation remains the
   finger-sized control layer. */
@media(max-width:1050px){
  .project-world-frame[data-project-key="breach"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
  .project-world-frame[data-project-key="breach"] .project-frame-top .frame-hit{display:none!important}
}
@media(max-width:700px){
  .project-world-frame[data-project-key="breach"] .project-frame-top{
    height:48px;
    background-size:auto 48px;
    background-position:center center;
  }
  .project-static-map-shell.breach-static-map img{width:100%}
}

/* =====================================================================
   7R 1.62.3 — D/Faced project world
   Supplied 1672×941 landing artwork + supplied 1668×210 top frame.
   Mosel map is intentionally shown as a bare map for now.
   ===================================================================== */
.project-world-frame[data-project-key="dfaced"] .project-frame-top{
  height:78px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(168,122,92,.46);
  box-shadow:0 10px 30px rgba(0,0,0,.80),0 0 24px rgba(129,36,36,.10);
}
.project-world-frame[data-project-key="dfaced"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(132,28,28,.10),transparent 35%),
    linear-gradient(180deg,#080c12 0,#080a10 28%,#06080d 100%);
}

/* D/Faced subpage header: deliberately minimal — only the left nexus switch. */
.project-world-frame[data-project-key="dfaced"] .dfaced-frame-nexus{left:1.8%;top:8%;width:13.4%;height:80%}

/* D/Faced landing page hotspots, relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-nexus{left:1.8%;top:1.0%;width:15.0%;height:13.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-books{left:1.7%;top:88.35%;width:15.6%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-world{left:18.0%;top:88.35%;width:15.9%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-maps{left:34.6%;top:88.35%;width:16.2%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-games{left:51.3%;top:88.35%;width:15.3%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-gallery{left:67.1%;top:88.35%;width:15.1%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .dfaced-hit-card-videos{left:82.7%;top:88.35%;width:15.4%;height:7.0%}
.project-visual-hub[data-project-key="dfaced"] .project-stage-hit:hover{
  background:rgba(149,35,35,.032);
  box-shadow:inset 0 0 0 1px rgba(255,216,188,.17),0 0 22px rgba(168,50,50,.12);
}

/* Mosel map: supplied static artwork only. */
.project-static-map-shell.dfaced-static-map{
  width:100%;
  margin:0;
  padding:0;
  display:grid;
  place-items:start center;
  background:#eef0ea;
}
.project-static-map-shell.dfaced-static-map img{
  display:block;
  width:min(100%,1254px);
  height:auto;
  margin:0 auto;
}

@media(max-width:1050px){
  .project-world-frame[data-project-key="dfaced"] .project-frame-top{
    height:62px;
    background-size:auto 62px;
    background-position:left top;
  }
  .project-world-frame[data-project-key="dfaced"] .project-frame-top .dfaced-frame-nexus{
    left:1.2%;top:0;width:17%;height:100%;
  }
}
@media(max-width:700px){
  .project-world-frame[data-project-key="dfaced"] .project-frame-top{
    height:54px;
    background-size:auto 54px;
    background-position:left top;
  }
  .project-world-frame[data-project-key="dfaced"] .project-frame-top .dfaced-frame-nexus{
    left:.8%;width:20%;height:100%;
  }
  .project-static-map-shell.dfaced-static-map img{width:100%}
}

/* =====================================================================
   7R 1.62.4 — Lagergold project world
   Supplied 1672×941 landing artwork + supplied 1670×70 project strip.
   The 7R logo in the subpage header is a real linked image overlay.
   ===================================================================== */
.project-world-frame[data-project-key="lagergold"] .project-frame-top{
  height:70px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(208,157,67,.44);
  box-shadow:0 10px 30px rgba(0,0,0,.78),0 0 26px rgba(218,156,43,.08);
}
.project-world-frame[data-project-key="lagergold"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(190,124,28,.12),transparent 33%),
    linear-gradient(180deg,#0e0b08 0,#090a0d 28%,#07080a 100%);
}
.project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus{
  position:absolute;
  left:15px;
  top:5px;
  z-index:8;
  width:70px;
  height:60px;
  display:grid;
  place-items:center;
  text-decoration:none;
  border-radius:8px;
  -webkit-tap-highlight-color:transparent;
}
.project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 2px 7px rgba(0,0,0,.78));
}
.project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus:hover,
.project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus:focus-visible{
  background:rgba(214,164,76,.05);
  outline:1px solid rgba(244,204,117,.22);
  outline-offset:-1px;
}

/* Lagergold landing page hotspots, relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-nexus{left:2.0%;top:2.0%;width:13.3%;height:25.0%}
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-card-books{left:10.45%;top:77.45%;width:15.05%;height:10.25%}
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-card-world{left:26.25%;top:77.45%;width:14.85%;height:10.25%}
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-card-games{left:41.95%;top:77.45%;width:14.85%;height:10.25%}
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-card-gallery{left:57.55%;top:77.45%;width:14.85%;height:10.25%}
.project-visual-hub[data-project-key="lagergold"] .lagergold-hit-card-videos{left:73.25%;top:77.45%;width:15.0%;height:10.25%}
.project-visual-hub[data-project-key="lagergold"] .project-stage-hit:hover{
  background:rgba(224,161,43,.026);
  box-shadow:inset 0 0 0 1px rgba(255,220,142,.18),0 0 22px rgba(218,151,42,.10);
}

@media(max-width:1050px){
  .project-world-frame[data-project-key="lagergold"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
  .project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus{
    left:8px;top:3px;width:54px;height:46px;
  }
}
@media(max-width:700px){
  .project-world-frame[data-project-key="lagergold"] .project-frame-top{
    height:48px;
    background-size:auto 48px;
  }
  .project-world-frame[data-project-key="lagergold"] .lagergold-frame-nexus{
    left:6px;top:3px;width:49px;height:42px;
  }
}

/* =====================================================================
   7R 1.62.5 — Das Erbehaus project world
   Supplied 1672×941 landing artwork + supplied 1670×88 atmospheric top strip.
   The subpage strip is intentionally decorative; navigation remains in the
   shared sticky project bar directly below it.
   ===================================================================== */
.project-world-frame[data-project-key="das-erbehaus"] .project-frame-top{
  height:88px;
  background-size:100% 100%;
  background-position:center center;
  border-bottom-color:rgba(201,157,84,.36);
  box-shadow:0 10px 30px rgba(0,0,0,.82),0 0 26px rgba(209,155,72,.07);
}
.project-world-frame[data-project-key="das-erbehaus"] .project-frame-content{
  background:
    radial-gradient(circle at 50% 0,rgba(156,105,38,.09),transparent 34%),
    linear-gradient(180deg,#0b0a09 0,#090a0c 30%,#070809 100%);
}

/* Das Erbehaus landing page hotspots, relative to 1672×941 artwork. */
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-nexus{left:2.2%;top:2.0%;width:11.4%;height:18.0%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-books{left:5.8%;top:77.8%;width:13.2%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-world{left:20.8%;top:77.8%;width:13.3%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-maps{left:35.6%;top:77.8%;width:13.4%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-games{left:50.4%;top:77.8%;width:13.4%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-gallery{left:65.0%;top:77.8%;width:13.4%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .erbehaus-hit-card-videos{left:79.4%;top:77.8%;width:13.5%;height:9.7%}
.project-visual-hub[data-project-key="das-erbehaus"] .project-stage-hit:hover{
  background:rgba(219,164,73,.026);
  box-shadow:inset 0 0 0 1px rgba(244,203,126,.16),0 0 22px rgba(194,137,50,.09);
}

@media(max-width:1050px){
  .project-world-frame[data-project-key="das-erbehaus"] .project-frame-top{
    height:58px;
    background-size:auto 58px;
    background-position:center center;
  }
}
@media(max-width:700px){
  .project-world-frame[data-project-key="das-erbehaus"] .project-frame-top{
    height:52px;
    background-size:auto 52px;
    background-position:center center;
  }
}


/* =====================================================================
   7R 1.62.6 — J. Weynand page height + Erbehaus linked 7R logo
   ===================================================================== */

/* J. Weynand is a short editorial page. Do not reserve the generic
   64–80vh content minimum after the text has already ended. */
body.sevenr-author-page .global-frame-content{
  min-height:0!important;
  padding-bottom:12px!important;
}
body.sevenr-author-page .content-shell.sevenr-standard-content{
  min-height:0!important;
  padding-bottom:14px!important;
}
body.sevenr-author-page .content-shell.sevenr-standard-content .prose{
  margin-bottom:8px;
}

/* Real, linked 7R logo on Das Erbehaus subpage header. */
.project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus{
  position:absolute;
  left:1.25%;
  top:50%;
  z-index:12;
  height:78%;
  width:auto;
  transform:translateY(-50%);
  display:block;
  border:0;
  background:transparent;
  text-decoration:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.82)) drop-shadow(0 0 10px rgba(216,166,75,.16));
  transition:filter .18s ease,transform .18s ease;
}
.project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus img{
  display:block;
  width:auto;
  height:100%;
  object-fit:contain;
}
.project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus:hover,
.project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus:focus-visible{
  filter:brightness(1.08) drop-shadow(0 2px 6px rgba(0,0,0,.82)) drop-shadow(0 0 15px rgba(229,180,82,.28));
  transform:translateY(-50%) scale(1.025);
  outline:none;
}
@media(max-width:1050px){
  .project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus{
    left:1.0%;
    height:80%;
  }
}
@media(max-width:700px){
  .project-world-frame[data-project-key="das-erbehaus"] .erbehaus-frame-nexus{
    left:.8%;
    height:82%;
  }
}

/* 7R Project Worlds 1.6.1 — portrait phone + tablet hub */
.project-mobile-hub{display:none}
@media(max-width:900px) and (orientation:portrait){
 html:has(body.project-stage-page),body.project-stage-page{height:auto!important;min-height:100%;overflow:auto!important;background:#030405}
 .project-stage-page .project-visual-hub{display:block!important;height:auto!important;min-height:100dvh!important;overflow:visible!important;background:#030405}
 .project-stage-page .project-stage-scroller{display:none!important}
 .project-mobile-hub{position:relative;display:flex;width:100%!important;flex-direction:column;min-height:100dvh;overflow:hidden;color:#f5ead5;background:#08090b;isolation:isolate}
 .project-mobile-hub::before{content:"";position:absolute;inset:0;z-index:-3;background-image:var(--project-mobile-master);background-size:cover;background-position:center top;background-repeat:no-repeat;filter:saturate(.9) brightness(.62)}
 .project-mobile-hub::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,6,8,.18) 0%,rgba(4,6,8,.28) 32%,rgba(4,6,8,.88) 70%,#050607 100%)}
 .project-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:max(8px,env(safe-area-inset-top)) 14px 8px;border-bottom:1px solid rgba(216,174,91,.42);background:rgba(5,7,9,.72);backdrop-filter:blur(8px)}
 .project-mobile-bar a{text-decoration:none}.project-mobile-nexus{display:flex;align-items:center;gap:7px;color:#e8c26e}.project-mobile-nexus span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #9e7836;border-radius:50%;font:700 11px Georgia,serif}.project-mobile-nexus b{font:700 12px/1 Georgia,serif;letter-spacing:.12em}.project-mobile-me{padding:8px 11px;border:1px solid rgba(205,160,76,.5);border-radius:9px;color:#f1d794;background:rgba(25,19,11,.7);font:700 11px/1 system-ui,sans-serif}
 .project-mobile-hero{display:flex;align-items:flex-end;flex:1;min-height:390px;padding:34px 18px 20px}.project-mobile-copy{max-width:100%;text-shadow:0 2px 12px #000}.project-mobile-copy p{margin:0 0 7px;color:#d9aa4a;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.32em}.project-mobile-copy h1{margin:0;color:#fff1d2;font:600 clamp(34px,10vw,48px)/.98 Georgia,serif;letter-spacing:-.02em}.project-mobile-copy strong{display:block;margin-top:9px;color:#f0c875;font:600 17px/1.25 Georgia,serif}.project-mobile-copy span{display:-webkit-box;margin-top:10px;max-width:35ch;overflow:hidden;color:#e3d7c2;font:14px/1.42 Georgia,serif;-webkit-box-orient:vertical;-webkit-line-clamp:3}
 .project-mobile-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 10px max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(4,6,8,.22),rgba(4,6,8,.96))}.project-mobile-modules a{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 4px;border:1px solid rgba(205,160,76,.38);border-radius:11px;background:linear-gradient(180deg,rgba(47,34,16,.82),rgba(16,14,11,.92));color:#f4dfad;text-align:center;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,224,145,.04)}.project-mobile-modules a:active{transform:scale(.98);filter:brightness(1.12)}.project-mobile-modules i{font:normal 18px/1 Georgia,serif;color:#e8b950}.project-mobile-modules b{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font:700 11px/1.1 system-ui,sans-serif}
}
@media(max-width:380px) and (orientation:portrait){.project-mobile-hero{min-height:350px;padding-inline:15px}.project-mobile-copy h1{font-size:34px}.project-mobile-modules a{min-height:54px}.project-mobile-copy span{-webkit-line-clamp:2}}


/* 7R Project Subpages 1.63.2 — compact phone + tablet portrait navigation */
.project-sticky-mobile-me,.project-sticky-mobile-menu{display:none}
@media(max-width:900px) and (orientation:portrait){.project-world-frame>.project-frame-top{display:none!important}.project-sticky-nav{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:5px;padding:7px 8px;overflow:visible;white-space:nowrap}.project-sticky-nav .project-profile-chip,.project-sticky-nav>.project-nav-divider,.project-sticky-nav>.project-sticky-meta,.project-sticky-nav>a:not(.project-sticky-home):not(.project-sticky-mobile-me){display:none!important}.project-sticky-mobile-me,.project-sticky-mobile-menu{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border:1px solid rgba(211,158,65,.34);border-radius:9px;background:rgba(67,45,20,.32);color:#efd69b;text-decoration:none;font:700 11px/1 system-ui,sans-serif}.project-sticky-mobile-menu{appearance:none;cursor:pointer}.project-sticky-nav .project-history-back{min-height:38px;padding:8px 9px}.project-sticky-nav .project-sticky-home{display:flex!important;align-items:center;justify-content:center;min-height:38px;margin:0!important;padding:8px 9px!important;border:1px solid rgba(211,158,65,.22);background:rgba(25,20,13,.62)}.project-frame-content{padding-top:0}}

/* 7R 1.63.2 mobile duplicate-bg guard */
@media(max-width:860px){.sevenr-standard-page .project-bg{background-image:none!important}}


/* 7R 1.63.3 compact mobile consent */
@media(max-width:700px){.consent{left:8px;right:8px;bottom:8px;gap:8px;padding:11px 13px;border-radius:12px}.consent strong{font-size:14px;line-height:1.25}.consent p{margin:3px 0 5px;font-size:12px;line-height:1.35}.consent>div:last-child{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}.consent button{min-height:40px;padding:7px 9px;font-size:12px;line-height:1.1}}


/* 7R 1.63.6 — lighter project art on tablets */
@media (min-width:701px) and (max-width:1180px){.project-stage-canvas{background-image:var(--stage-tablet,var(--stage-master))!important}}

/* 7R 1.63.7 — compact tablet consent */
@media (min-width:701px) and (max-width:900px){.consent{left:10px;right:10px;bottom:10px;gap:12px;padding:10px 12px;border-radius:12px}.consent strong{font-size:14px;line-height:1.2}.consent p{margin:3px 0;font-size:12px;line-height:1.3}.consent>div:last-child{display:flex!important;gap:6px;flex:0 0 auto}.consent button{min-height:36px;padding:6px 10px;font-size:11px;line-height:1.1}}


/* 1.64.0 · Sammlerstück-Fund: sichtbar, magisch, belohnend */
.item-find-teaser{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;margin:22px 0;padding:20px;border:1px solid rgba(221,180,82,.62);border-radius:20px;overflow:hidden;background:radial-gradient(circle at 18% 45%,rgba(115,71,255,.22),transparent 26%),radial-gradient(circle at 82% 18%,rgba(53,173,255,.12),transparent 30%),linear-gradient(135deg,#14121b,#0a0f17 62%,#171107);box-shadow:0 18px 50px #0008,inset 0 0 32px rgba(118,80,255,.08)}
.item-find-art{position:relative;z-index:3;display:grid;place-items:center;width:150px;height:150px;border:1px solid rgba(234,193,91,.34);border-radius:22px;background:radial-gradient(circle,rgba(146,93,255,.18),transparent 64%),rgba(5,8,13,.66);box-shadow:0 0 30px rgba(113,75,255,.12),inset 0 0 24px rgba(255,218,121,.05)}
.item-find-art img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(153,94,255,.48));animation:itemFindFloat 3.2s ease-in-out infinite}
.item-find-art b{font-size:58px;color:#f2d482;text-shadow:0 0 18px #9d6cff}
.item-find-copy{position:relative;z-index:4}.item-find-kicker{display:block;margin-bottom:5px;color:#f1cf73;font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 12px rgba(242,195,76,.35)}
.item-find-copy h3{margin:0 0 7px;color:#f4e5be;font:700 27px/1.1 Georgia,serif}.item-find-copy p{margin:0 0 12px;color:#c4ccd5;line-height:1.58}
.item-find-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.item-find-badges span{padding:5px 8px;border:1px solid rgba(116,132,153,.45);border-radius:999px;background:rgba(11,17,25,.72);color:#d8e0e7;font:700 9px/1 system-ui,sans-serif;letter-spacing:.03em}
.item-find-action{position:relative;z-index:5;box-shadow:0 0 0 1px rgba(255,217,120,.08),0 0 18px rgba(143,88,255,.15);animation:itemFindButtonPulse 2.2s ease-in-out infinite}
.item-find-magic{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.item-find-magic::before{content:"";position:absolute;inset:-65%;background:conic-gradient(from 0deg,transparent,rgba(106,67,255,.12),transparent 22%,rgba(62,191,255,.1),transparent 45%,rgba(255,205,94,.12),transparent 68%);animation:itemFindSpin 12s linear infinite}
.item-find-magic::after{content:"";position:absolute;left:-45%;top:-10%;width:55%;height:130%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.03),rgba(191,223,255,.2),rgba(255,255,255,.04),transparent);transform:skewX(-18deg);animation:itemFindSweep 5.6s ease-in-out infinite}
.item-find-magic i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff1a8;box-shadow:0 0 7px #ffe17e,0 0 15px #8d6aff;animation:itemFindSpark 1.4s ease-in-out infinite alternate}.item-find-magic i:nth-child(1){left:5%;top:13%}.item-find-magic i:nth-child(2){left:30%;top:84%;animation-delay:.3s}.item-find-magic i:nth-child(3){left:62%;top:11%;animation-delay:.65s}.item-find-magic i:nth-child(4){left:91%;top:69%;animation-delay:.95s}.item-find-magic i:nth-child(5){left:78%;top:31%;animation-delay:1.2s}
.item-find-magic span{position:absolute;right:13%;top:5%;width:2px;height:43%;background:linear-gradient(180deg,transparent,#d8f3ff 24%,#6bc8ff 51%,transparent);filter:drop-shadow(0 0 5px #88d9ff) drop-shadow(0 0 12px #7d6dff);transform:rotate(18deg);opacity:0;animation:itemFindBolt 7.8s linear infinite}

/* Core-Aktionsdialog: Sammlerstücke bekommen ihren eigenen Belohnungsmoment */
.seven-r-action-dialog{position:relative;width:min(690px,calc(100vw - 28px));border:1px solid #66542f;border-radius:22px;background:linear-gradient(150deg,#111821,#090d14 64%,#171108);color:#edf1f5;padding:0;box-shadow:0 30px 110px #000d,0 0 55px rgba(111,70,255,.15);overflow:hidden}
.seven-r-action-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.seven-r-action-dialog>form{position:absolute;right:0;top:0;z-index:20}.seven-r-action-close{margin:14px;border:1px solid #4e5966;border-radius:10px;background:#202935;color:#fff;padding:7px 11px;cursor:pointer}
.seven-r-action-content{position:relative;z-index:5;padding:30px}.seven-r-action-dialog h2{margin:2px 42px 9px 0;color:#ead29b;font:700 28px/1.08 Georgia,serif}.seven-r-action-dialog p{margin:0;color:#bdc7d1;line-height:1.58}
.seven-r-action-kicker{display:block;min-height:12px;color:#efcd71;font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.seven-r-action-dialog.is-item{display:grid;grid-template-columns:210px minmax(0,1fr)}.seven-r-action-dialog.is-item .seven-r-action-visual{display:grid!important;position:relative;z-index:5;place-items:center;padding:28px 0 28px 28px}
.seven-r-action-image{display:grid;place-items:center;width:180px;height:180px;border:1px solid rgba(225,183,85,.38);border-radius:24px;background:radial-gradient(circle,rgba(123,75,255,.24),transparent 58%),rgba(5,8,14,.72);box-shadow:inset 0 0 28px rgba(115,70,255,.1),0 0 30px rgba(117,75,255,.14)}
.seven-r-action-image img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(150,90,255,.5));animation:itemFindFloat 3s ease-in-out infinite}.seven-r-action-image img:not([src]){visibility:hidden}
.seven-r-action-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.seven-r-action-badges:empty{display:none}.seven-r-action-badges span{padding:5px 8px;border:1px solid rgba(110,128,148,.5);border-radius:999px;background:#101720;color:#d8e0e8;font:700 9px/1 system-ui,sans-serif}
.seven-r-action-options{display:grid;gap:8px;margin:16px 0}.seven-r-action-options button,.seven-r-action-buttons button,.seven-r-action-inventory{display:inline-flex;align-items:center;justify-content:center;border:1px solid #7b6127;border-radius:11px;background:linear-gradient(180deg,#372b14,#211b0f);color:#f4dc99;padding:11px 15px;cursor:pointer;text-decoration:none;font:700 13px/1.1 system-ui,sans-serif;box-shadow:0 0 18px rgba(138,92,255,.09);transition:.18s ease}.seven-r-action-options button:hover,.seven-r-action-buttons button:hover,.seven-r-action-inventory:hover{filter:brightness(1.18);transform:translateY(-1px)}
.seven-r-action-buttons{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.seven-r-action-inventory{border-color:#9a7220;background:linear-gradient(180deg,#5b4316,#33250e);color:#ffe5a0}
.seven-r-action-fx{display:none;position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.seven-r-action-dialog.is-item .seven-r-action-fx{display:block}.seven-r-action-fx::before{content:"";position:absolute;inset:-70%;background:conic-gradient(transparent,rgba(113,71,255,.15),transparent 28%,rgba(67,193,255,.1),transparent 51%,rgba(241,194,81,.13),transparent);animation:itemFindSpin 10s linear infinite}.seven-r-action-fx::after{content:"";position:absolute;left:-55%;top:-30%;width:50%;height:160%;background:linear-gradient(100deg,transparent,rgba(217,239,255,.18),transparent);transform:skewX(-17deg);animation:itemFindSweep 4.8s ease-in-out infinite}
.seven-r-action-fx i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff2aa;box-shadow:0 0 8px #ffe38c,0 0 18px #8d6fff;animation:itemFindSpark 1.3s ease-in-out infinite alternate}.seven-r-action-fx i:nth-child(1){left:7%;top:15%}.seven-r-action-fx i:nth-child(2){left:28%;top:82%;animation-delay:.3s}.seven-r-action-fx i:nth-child(3){left:61%;top:9%;animation-delay:.6s}.seven-r-action-fx i:nth-child(4){left:91%;top:70%;animation-delay:.9s}.seven-r-action-fx i:nth-child(5){left:78%;top:30%;animation-delay:1.1s}
.seven-r-action-fx span{position:absolute;right:14%;top:3%;width:2px;height:45%;background:linear-gradient(180deg,transparent,#e4f6ff 20%,#68caff 50%,transparent);filter:drop-shadow(0 0 6px #8ad9ff) drop-shadow(0 0 14px #795eff);transform:rotate(17deg);opacity:0;animation:itemFindBolt 6.6s linear infinite}
.seven-r-action-dialog.is-success{animation:itemSuccessPop .42s cubic-bezier(.2,.8,.2,1)}.seven-r-action-dialog.is-success .seven-r-action-image{box-shadow:inset 0 0 32px rgba(117,73,255,.18),0 0 42px rgba(247,201,92,.18),0 0 65px rgba(112,74,255,.18)}.seven-r-action-dialog.is-success h2{color:#f7dda0;text-shadow:0 0 16px rgba(232,183,70,.25)}

@keyframes itemFindFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes itemFindSpin{to{transform:rotate(360deg)}}@keyframes itemFindSweep{0%,20%{transform:translateX(0) skewX(-17deg)}70%,100%{transform:translateX(330%) skewX(-17deg)}}@keyframes itemFindSpark{from{opacity:.18;transform:scale(.5)}to{opacity:1;transform:scale(1.5)}}@keyframes itemFindButtonPulse{0%,100%{box-shadow:0 0 0 1px rgba(255,217,120,.08),0 0 10px rgba(143,88,255,.12)}50%{box-shadow:0 0 0 1px rgba(255,217,120,.18),0 0 24px rgba(143,88,255,.3)}}@keyframes itemFindBolt{0%,77%,100%{opacity:0}79%{opacity:.9}80%{opacity:.12}81%{opacity:.7}82%{opacity:0}}@keyframes itemSuccessPop{from{transform:scale(.94);filter:brightness(.7)}to{transform:scale(1);filter:brightness(1)}}
@media(max-width:680px){.item-find-teaser{grid-template-columns:96px 1fr;padding:14px;gap:14px}.item-find-art{width:96px;height:96px}.item-find-art img{width:84px;height:84px}.item-find-copy h3{font-size:22px}.seven-r-action-dialog.is-item{display:block}.seven-r-action-dialog.is-item .seven-r-action-visual{padding:28px 24px 0}.seven-r-action-image{width:150px;height:150px}.seven-r-action-image img{width:132px;height:132px}.seven-r-action-content{padding:22px}.seven-r-action-buttons>*{flex:1 1 145px}}
@media(prefers-reduced-motion:reduce){.item-find-magic::before,.item-find-magic::after,.item-find-magic i,.item-find-magic span,.item-find-art img,.item-find-action,.seven-r-action-fx::before,.seven-r-action-fx::after,.seven-r-action-fx i,.seven-r-action-fx span,.seven-r-action-image img{animation:none!important}}
