/* Prasinum.ai teaser. Colours, fonts and the topo lines follow prasinum.se
   (prasinum-web/site/css/styles.css), so the two read as one family. */
:root{
  --ink:#16210c;
  --ink-soft:#3c4630;
  --paper:#f7f4ea;
  --panel:#ffffff;
  --green:#7aa404;
  --green-deep:#3f5504;
  --rust:#c1502c;
  --stone:#8a8570;
  --line:rgba(22,33,12,.16);
  --shadow:0 1px 2px rgba(22,33,12,.08), 0 14px 30px -16px rgba(22,33,12,.28);
  --visor:#16210c;
  --eye:#b7e63a;
  --topo:.09;
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Newsreader',Georgia,serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  color-scheme:light dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#f3f1e4; --ink-soft:#cdc9b6;
    --paper:#11170a; --panel:#1a2110;
    --green:#b7e63a; --green-deep:#d8f98c;
    --rust:#e2794a; --stone:#9a957e;
    --line:rgba(243,241,228,.16);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 14px 30px -16px rgba(0,0,0,.6);
    --visor:#070a03;
    --topo:.14;
  }
}
:root[data-theme="dark"]{
  --ink:#f3f1e4; --ink-soft:#cdc9b6;
  --paper:#11170a; --panel:#1a2110;
  --green:#b7e63a; --green-deep:#d8f98c;
  --rust:#e2794a; --stone:#9a957e;
  --line:rgba(243,241,228,.16);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 14px 30px -16px rgba(0,0,0,.6);
  --visor:#070a03;
  --topo:.14;
}

*{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){ *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;} }

html,body{height:100%;}
body{
  margin:0;
  min-height:100svh;
  display:flex;flex-direction:column;
  position:relative;
  overflow-x:clip;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.55;
}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding-inline:24px;position:relative;z-index:1;}
@media (max-width:560px){ .wrap{padding-inline:16px;} }

.topo{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.55;pointer-events:none;}
.topo path{fill:none;stroke:var(--ink);stroke-opacity:var(--topo);stroke-width:1.4;}

/* TOP */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px;}
.wordmark{
  font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em;
  display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);
}
.wordmark .dot{width:9px;height:9px;border-radius:50%;background:var(--green);}
.wordmark .tld{color:var(--green-deep);margin-left:-6px;}
.lang{
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.09em;
  color:var(--ink);background:var(--panel);text-decoration:none;
  border:1px solid var(--line);border-radius:999px;padding:7px 12px;
  transition:border-color .15s;
}
.lang:hover{border-color:var(--green);}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;}

/* COPY */
.stage{flex:1;display:flex;align-items:center;padding-block:40px 80px;}
.copy{max-width:640px;}
.coords{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--stone);
  display:flex;gap:14px;flex-wrap:wrap;margin:0 0 26px;
}
h1{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.98;
  font-size:clamp(46px,8vw,100px);margin:0;text-wrap:balance;
}
h1 em{font-family:var(--font-body);font-style:italic;font-weight:400;color:var(--green-deep);letter-spacing:-.01em;}
.lede{font-size:clamp(18px,2vw,21px);color:var(--ink-soft);max-width:34em;margin:28px 0 0;text-wrap:pretty;}
.actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;align-items:center;}
.btn{
  font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border-radius:999px;padding:14px 22px;
  transition:transform .15s, background .15s, border-color .15s;
}
.btn-primary{background:var(--green);color:#16210c;}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--green);}

/* FOOT */
.foot{
  display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;
  padding-block:22px;border-top:1px solid var(--line);
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--stone);
}

/* THE ROBOT — it slides in from the right edge, tilts its head and starts talking.
   .peek-clip hides the part that is "behind" the edge, so the page never scrolls sideways. */
.stage{position:static;}
.peek-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;}
.peek{pointer-events:auto;
  position:absolute;z-index:2;right:0;top:50%;
  width:min(30vw,330px);
  transform:translate(118%,-46%);
  animation:peek-in 1.1s cubic-bezier(.3,1.5,.5,1) .5s forwards;
}
@keyframes peek-in{ to{transform:translate(30%,-46%);} }
.robot-btn{
  display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
  transform-origin:100% 80%;transform:rotate(-12deg);
  transition:transform .3s cubic-bezier(.3,1.6,.5,1);
}
.robot-btn:hover{transform:rotate(-16deg) translateX(-4%);}
.robot-btn:focus-visible{outline-offset:-20px;border-radius:40px;}
.robot{display:block;width:100%;height:auto;overflow:visible;animation:bob 3.4s ease-in-out 1.8s infinite;}
@keyframes bob{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }

.robot .head{fill:var(--panel);stroke:var(--ink);stroke-width:5;}
.robot .ear{fill:var(--green);stroke:var(--ink);stroke-width:5;}
.robot .bolt{fill:var(--green);stroke:var(--ink);stroke-width:5;}
.robot .visor{fill:var(--visor);}
.robot .eye circle:first-child{fill:var(--eye);}
.robot .glint{fill:#fff;opacity:.85;}
.robot .smile{fill:none;stroke:var(--eye);stroke-width:7;stroke-linecap:round;}
.robot .cheek{fill:var(--rust);opacity:.35;}
.robot .hand rect{fill:var(--panel);stroke:var(--ink);stroke-width:5;}
.robot .antenna line{stroke:var(--ink);stroke-width:6;stroke-linecap:round;}
.robot .antenna-ball{fill:var(--rust);stroke:var(--ink);stroke-width:5;}
.robot .spark{fill:none;stroke:var(--green);stroke-width:4;opacity:0;}
.robot .antenna{transform-box:view-box;transform-origin:170px 78px;animation:wobble 2.6s ease-in-out infinite;}
@keyframes wobble{ 0%,100%{transform:rotate(-5deg);} 50%{transform:rotate(6deg);} }

#eyes{transition:transform .25s ease-out;}
.robot .eye{transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite;}
.robot .eye + .eye{animation-delay:.04s;}
@keyframes blink{ 0%,92%,100%{transform:scaleY(1);} 95%{transform:scaleY(.08);} }

.robot-btn.poked .robot{animation:jiggle .5s ease-in-out;}
.robot-btn.poked .spark{animation:spark .6s ease-out;}
@keyframes jiggle{ 0%,100%{transform:rotate(0);} 25%{transform:rotate(4deg);} 50%{transform:rotate(-3deg);} 75%{transform:rotate(2deg);} }
@keyframes spark{ from{opacity:1;transform:scale(.6);} to{opacity:0;transform:scale(1.6);} }
.robot .spark{transform-box:fill-box;transform-origin:center;}

/* SPEECH BUBBLE */
.bubble{
  position:absolute;right:66%;bottom:84%;
  width:max-content;max-width:min(270px,62vw);margin:0;
  background:var(--panel);color:var(--ink);
  border:2px solid var(--ink);border-radius:22px;padding:14px 18px;
  font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.3;letter-spacing:-.005em;
  box-shadow:var(--shadow);
  transform-origin:90% 100%;
  opacity:0;transform:scale(.4);
  animation:pop .45s cubic-bezier(.3,1.6,.5,1) 1.5s forwards;
}
.bubble::after{
  content:"";position:absolute;right:26px;bottom:-13px;width:22px;height:22px;
  background:var(--panel);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
  transform:skewX(-25deg) rotate(45deg);border-bottom-right-radius:4px;
}
.bubble.swap{animation:swap .35s cubic-bezier(.3,1.6,.5,1);opacity:1;transform:none;}
@keyframes pop{ to{opacity:1;transform:scale(1);} }
@keyframes swap{ from{transform:scale(.85);} to{transform:scale(1);} }

/* Narrower screens: the robot moves to the bottom corner, under the text. */
@media (max-width:860px){
  .stage{align-items:flex-start;padding-block:16px 230px;}
  .coords{margin-bottom:18px;gap:6px 14px;}
  .coords span:nth-child(2){display:none;}
  .actions{margin-top:28px;}
  .peek{top:auto;bottom:62px;width:190px;transform:translateX(118%);}
  @keyframes peek-in{ to{transform:translateX(28%);} }
  .bubble{font-size:15.5px;padding:12px 15px;right:84%;bottom:auto;top:14%;max-width:min(210px,52vw);transform-origin:100% 50%;}
  .bubble::after{right:-12px;bottom:auto;top:calc(50% - 11px);transform:skewY(-20deg) rotate(-45deg);}
}

/* AI MOGNADSINDEX (ai-mognadsindex/). The quiz look is copied from HR Mognadsindex on
   prasinum.se, plus the adoption × transformation chart. */
.quiz-page{flex:1;padding-block:24px 72px;}
.quiz-page .coords{margin-bottom:14px;}
.quiz-title{font-size:clamp(40px,6.4vw,72px);}
.label{font-family:var(--font-mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--green-deep);margin:0;}
.mono{font-family:var(--font-mono);}
.fig{font-variant-numeric:tabular-nums;}
.quiz-page h2,.quiz-page h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;line-height:1.15;margin:0;}
.lede-sm{font-family:var(--font-body);font-style:italic;font-size:16.5px;color:var(--ink-soft);max-width:56ch;margin:14px 0 36px;}
.quiz-panel{background:var(--panel);border:1.5px solid var(--ink);box-shadow:var(--shadow);padding:36px 32px;}
.quiz-progress{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap;font-size:13px;}
.quiz-progress-track{flex:1;min-width:120px;height:6px;background:var(--line);border-radius:3px;overflow:hidden;}
.quiz-progress-bar{height:100%;background:var(--green);width:0%;transition:width .25s ease;}
.quiz-dim{color:var(--green-deep);margin:0 0 10px;font-size:11.5px;letter-spacing:.1em;}
.quiz-page .quiz-q{font-size:23px;margin-bottom:24px;max-width:34ch;}
.quiz-opt{display:block;width:100%;text-align:left;font-family:var(--font-body);font-size:16px;color:var(--ink);
  background:var(--panel);border:1.5px solid var(--ink);padding:14px 16px;margin-bottom:10px;cursor:pointer;
  transition:background .15s,color .15s;}
/* Hover only with a real mouse, and not until it moves after a new statement appears. */
@media (hover:hover){ .quiz-options:not(.fresh) .quiz-opt:hover{background:var(--green);color:#16210c;} }
.quiz-opt:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px;}
.result-top{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:center;margin-bottom:40px;}
.matrix-top{padding-top:36px;border-top:1.5px dashed var(--line);}
.radar-wrap svg,.matrix-wrap svg{display:block;width:100%;height:auto;}
.radar-grid{fill:none;stroke:var(--line);stroke-width:1;}
.radar-axis{stroke:var(--line);stroke-width:1;}
.radar-label{font-family:var(--font-mono);font-size:10.5px;fill:var(--stone);}
.radar-shape{fill:var(--green);fill-opacity:.28;stroke:var(--green-deep);stroke-width:2;}
.radar-dot{fill:var(--paper);stroke:var(--green-deep);stroke-width:2;}
.matrix-cell{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:4 4;}
.matrix-cell.on{fill:var(--green);fill-opacity:.22;}
.matrix-frame{fill:none;stroke:var(--ink);stroke-width:1.5;}
.matrix-name{font-family:var(--font-mono);font-size:9.5px;fill:var(--stone);}
.matrix-name.on{fill:var(--green-deep);}
.matrix-axis{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;fill:var(--stone);}
.matrix-dot{fill:var(--rust);stroke:var(--panel);stroke-width:3;}
.result-level{font-size:clamp(26px,3.4vw,34px);margin-top:8px!important;}
.result-quad{font-size:24px;margin-top:8px!important;}
.result-desc{color:var(--ink-soft);font-size:15px;margin:10px 0 0;max-width:46ch;}
.result-scores{margin-top:22px;display:flex;flex-direction:column;}
.score-row{display:flex;justify-content:space-between;gap:12px;padding-block:9px;border-top:1px dashed var(--line);font-size:13.5px;}
.score-row:first-child{border-top:none;}
.gap-flag{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--rust);background:var(--paper);font-size:15px;color:var(--ink);max-width:46ch;}
.scale{margin-top:22px;}
.scale .label::before{content:"✓ ";}
.scale.no .label{color:var(--rust);}
.scale.no .label::before{content:"✕ ";}
.reco{padding-top:32px;border-top:1.5px dashed var(--line);}
.reco-list{margin-top:18px;}
.reco-item{display:flex;gap:16px;align-items:flex-start;padding-block:16px;border-top:1.5px dashed var(--line);}
.reco-item:first-child{border-top:none;}
.reco-item .ring{width:28px;height:28px;border-radius:50%;border:2px solid var(--green);display:flex;
  align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--green-deep);flex:none;}
.reco-item p{color:var(--ink-soft);font-size:15.5px;margin:0;padding-top:3px;}
.quiz-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center;}
.quiz-actions button.btn{background:none;cursor:pointer;}
.cross{margin:28px 0 0;font-size:16px;}
.cross a{color:var(--green-deep);}
@media (max-width:860px){
  .result-top{grid-template-columns:1fr;gap:28px;}
  .radar-wrap,.matrix-wrap{max-width:340px;}
}
@media (max-width:560px){
  .quiz-panel{padding:24px 18px;}
  .quiz-page .quiz-q{font-size:20px;}
  .quiz-actions .btn{text-align:center;width:100%;}
}
