/* Raslak Works + Hub texture overlays — käytä body-luokkana */

/* Raslak Works: arkkitehtuuripiirros cream 8% opacity */
.tx-arch-bg{position:relative}
.tx-arch-bg::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#1a1a18;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='800' height='800' viewBox='0 0 800 800'><g opacity='0.08' stroke='%23e8dcc8' fill='none' stroke-width='0.6' stroke-linecap='square'><rect x='40' y='40' width='720' height='720'/><line x1='320' y1='40' x2='320' y2='440'/><line x1='520' y1='440' x2='520' y2='760'/><line x1='320' y1='200' x2='520' y2='200'/><line x1='520' y1='40' x2='520' y2='200'/><line x1='40' y1='440' x2='760' y2='440'/><line x1='320' y1='600' x2='760' y2='600'/><circle cx='320' cy='320' r='28' stroke-dasharray='4 4'/><circle cx='440' cy='440' r='24' stroke-dasharray='4 4'/><circle cx='520' cy='560' r='22' stroke-dasharray='4 4'/><line x1='144' y1='40' x2='256' y2='40' stroke-width='2.5'/><line x1='440' y1='40' x2='496' y2='40' stroke-width='2.5'/><line x1='144' y1='760' x2='256' y2='760' stroke-width='2.5'/><line x1='440' y1='760' x2='576' y2='760' stroke-width='2.5'/><rect x='56' y='240' width='104' height='40' stroke-width='0.4'/><rect x='560' y='280' width='144' height='96' stroke-width='0.4'/><rect x='56' y='480' width='176' height='48' stroke-width='0.4'/><rect x='320' y='656' width='144' height='48' stroke-width='0.4'/><line x1='200' y1='100' x2='280' y2='100' stroke-width='0.4'/><line x1='200' y1='112' x2='260' y2='112' stroke-width='0.4'/><line x1='560' y1='100' x2='720' y2='100' stroke-width='0.4'/><line x1='560' y1='112' x2='700' y2='112' stroke-width='0.4'/></g></svg>");
  background-size:800px 800px;
  background-repeat:repeat;
  background-position:center top;
}
body.tx-arch-bg{background:#1a1a18}

/* Slide-level texture overlay for Raslak — näkyy slideja peittäen */
.tx-arch-bg .slide,.tx-arch-bg .paper,.tx-arch-bg .deck > section{position:relative;isolation:isolate}
.tx-arch-bg .slide::after,.tx-arch-bg .paper::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'><g opacity='0.07' stroke='%23e8dcc8' fill='none' stroke-width='0.5' stroke-linecap='square'><rect x='30' y='30' width='540' height='540'/><line x1='240' y1='30' x2='240' y2='330'/><line x1='390' y1='330' x2='390' y2='570'/><line x1='240' y1='150' x2='390' y2='150'/><line x1='390' y1='30' x2='390' y2='150'/><line x1='30' y1='330' x2='570' y2='330'/><line x1='240' y1='450' x2='570' y2='450'/><circle cx='240' cy='240' r='22' stroke-dasharray='3 3'/><circle cx='330' cy='330' r='18' stroke-dasharray='3 3'/><line x1='108' y1='30' x2='192' y2='30' stroke-width='2'/><line x1='330' y1='30' x2='372' y2='30' stroke-width='2'/><line x1='108' y1='570' x2='192' y2='570' stroke-width='2'/><line x1='330' y1='570' x2='432' y2='570' stroke-width='2'/><rect x='42' y='180' width='78' height='30' stroke-width='0.3'/><rect x='420' y='210' width='108' height='72' stroke-width='0.3'/><rect x='42' y='360' width='132' height='36' stroke-width='0.3'/></g></svg>");
  background-size:600px 600px;background-repeat:repeat;
}
.tx-arch-bg .slide > *,.tx-arch-bg .paper > *{position:relative;z-index:1}

/* Raslak Hub: piirilevykuvio sininen 8% opacity */
.tx-circuit-bg{position:relative}
.tx-circuit-bg::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#0e1820;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'><g opacity='0.10' stroke='%237ab0e8' fill='%237ab0e8' stroke-width='1.2' stroke-linecap='square'><polyline points='30,90 150,90 150,210 270,210' fill='none'/><polyline points='330,60 330,180 450,180 450,270' fill='none'/><polyline points='60,270 180,270 180,360 300,360' fill='none'/><polyline points='360,330 480,330 480,450 570,450' fill='none'/><polyline points='90,450 240,450 240,540 330,540' fill='none'/><polyline points='390,510 510,510' fill='none'/><circle cx='150' cy='90' r='3.5'/><circle cx='150' cy='210' r='3.5'/><circle cx='270' cy='210' r='3.5'/><circle cx='330' cy='60' r='3.5'/><circle cx='330' cy='180' r='3.5'/><circle cx='450' cy='180' r='3.5'/><circle cx='450' cy='270' r='3.5'/><circle cx='180' cy='270' r='3.5'/><circle cx='180' cy='360' r='3.5'/><circle cx='300' cy='360' r='3.5'/><circle cx='360' cy='330' r='3.5'/><circle cx='480' cy='330' r='3.5'/><circle cx='480' cy='450' r='3.5'/><circle cx='240' cy='450' r='3.5'/><circle cx='240' cy='540' r='3.5'/><circle cx='390' cy='510' r='3.5'/><rect x='192' y='330' width='20' height='10' stroke-width='0.8' fill='%237ab0e8'/><rect x='372' y='150' width='22' height='12' stroke-width='0.8' fill='none'/><rect x='48' y='372' width='18' height='9' stroke-width='0.8' fill='%237ab0e8'/><rect x='420' y='360' width='28' height='10' stroke-width='0.8' fill='none'/><rect x='558' y='120' width='9' height='5' fill='%237ab0e8'/><rect x='558' y='240' width='9' height='5' fill='%237ab0e8'/><rect x='558' y='360' width='9' height='5' fill='%237ab0e8'/><rect x='12' y='90' width='8' height='5' fill='%237ab0e8'/><rect x='12' y='210' width='8' height='5' fill='%237ab0e8'/><rect x='12' y='330' width='8' height='5' fill='%237ab0e8'/></g></svg>");
  background-size:600px 600px;
  background-repeat:repeat;
}
body.tx-circuit-bg{background:#0e1820}

/* Slide-level circuit overlay for Hub */
.tx-circuit-bg .slide,.tx-circuit-bg .paper,.tx-circuit-bg .deck > section{position:relative;isolation:isolate}
.tx-circuit-bg .slide::after,.tx-circuit-bg .paper::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='500' height='500' viewBox='0 0 500 500'><g opacity='0.09' stroke='%237ab0e8' fill='%237ab0e8' stroke-width='1' stroke-linecap='square'><polyline points='25,75 125,75 125,175 225,175' fill='none'/><polyline points='275,50 275,150 375,150 375,225' fill='none'/><polyline points='50,225 150,225 150,300 250,300' fill='none'/><polyline points='300,275 400,275 400,375 475,375' fill='none'/><polyline points='75,375 200,375 200,450 275,450' fill='none'/><circle cx='125' cy='75' r='3'/><circle cx='125' cy='175' r='3'/><circle cx='225' cy='175' r='3'/><circle cx='275' cy='50' r='3'/><circle cx='275' cy='150' r='3'/><circle cx='375' cy='150' r='3'/><circle cx='375' cy='225' r='3'/><circle cx='150' cy='225' r='3'/><circle cx='150' cy='300' r='3'/><circle cx='250' cy='300' r='3'/><circle cx='300' cy='275' r='3'/><circle cx='400' cy='275' r='3'/><circle cx='400' cy='375' r='3'/><circle cx='200' cy='375' r='3'/><circle cx='200' cy='450' r='3'/><rect x='160' y='275' width='18' height='9' stroke-width='0.6' fill='%237ab0e8'/><rect x='310' y='125' width='20' height='10' stroke-width='0.6' fill='none'/></g></svg>");
  background-size:500px 500px;background-repeat:repeat;
}
.tx-circuit-bg .slide > *,.tx-circuit-bg .paper > *{position:relative;z-index:1}

/* Nobiqo: marble veins (brass, light) — voi käyttää myös vaaleilla pohjilla */
.tx-marble-bg{position:relative}
.tx-marble-bg::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#fafaf7;
  background-image:
    repeating-linear-gradient(115deg, transparent 0, transparent 80px, rgba(168,149,107,.04) 80px, rgba(168,149,107,.08) 82px, rgba(168,149,107,.04) 84px, transparent 86px, transparent 220px),
    repeating-linear-gradient(155deg, transparent 0, transparent 140px, rgba(168,149,107,.03) 140px, rgba(168,149,107,.06) 142px, transparent 144px, transparent 360px);
}
body.tx-marble-bg{background:#fafaf7}
