
/* Colour + provenance layer for the Luna AI Act PoC */
:root{
  --pink:#ff62c7;
  --orange:#ff9b63;
  --blue:#68a7ff;
  --lime:#91f18a;
  --gold:#ffd166;
}
body{
  background:
    radial-gradient(circle at 8% 8%,rgba(255,98,199,.18),transparent 24rem),
    radial-gradient(circle at 88% 15%,rgba(94,231,247,.17),transparent 28rem),
    radial-gradient(circle at 70% 86%,rgba(159,122,234,.17),transparent 30rem),
    #070b17;
}
.app-header{
  border-bottom-color:rgba(255,255,255,.14);
  background:linear-gradient(90deg,rgba(8,12,25,.92),rgba(20,17,48,.88),rgba(8,12,25,.92));
}
.luna-mark{background:conic-gradient(from 210deg,var(--cyan),var(--purple),var(--pink),var(--orange),var(--cyan))}
.ghost-button:hover,.secondary:hover,.tiny:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1)}
.hero{
  isolation:isolate;
  border-color:rgba(255,255,255,.18);
  background:
    linear-gradient(120deg,rgba(255,98,199,.14),transparent 35%),
    linear-gradient(225deg,rgba(94,231,247,.17),transparent 42%),
    linear-gradient(145deg,rgba(32,39,85,.96),rgba(13,17,37,.9));
}
.hero:before{
  content:"";
  position:absolute;inset:auto -10% -60% 35%;height:90%;
  background:radial-gradient(circle,rgba(255,209,102,.18),transparent 60%);
  z-index:-1;
}
.hero h1 em{
  background:linear-gradient(90deg,var(--cyan),#9d8cff,var(--pink),var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.colour-orbit{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.colour-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;filter:blur(.2px);box-shadow:0 0 28px currentColor}
.colour-orbit i:nth-child(1){color:var(--pink);background:currentColor;top:14%;right:38%}
.colour-orbit i:nth-child(2){color:var(--cyan);background:currentColor;top:24%;right:10%;width:8px;height:8px}
.colour-orbit i:nth-child(3){color:var(--gold);background:currentColor;bottom:15%;left:48%;width:9px;height:9px}
.colour-orbit i:nth-child(4){color:var(--lime);background:currentColor;bottom:28%;right:29%;width:6px;height:6px}
.moon{border-color:rgba(255,255,255,.28);box-shadow:inset 0 0 65px rgba(94,231,247,.08),0 0 80px rgba(159,122,234,.12)}
.moon b{background:linear-gradient(145deg,rgba(94,231,247,.28),rgba(159,122,234,.34),rgba(255,98,199,.18))}
.moon span:nth-of-type(1){border-color:rgba(94,231,247,.45);box-shadow:0 0 24px rgba(94,231,247,.12)}
.moon span:nth-of-type(2){border-color:rgba(145,241,138,.4);box-shadow:0 0 24px rgba(145,241,138,.1)}
.moon span:nth-of-type(3){border-color:rgba(255,209,102,.45);box-shadow:0 0 24px rgba(255,209,102,.1)}
.moon span:nth-of-type(4){border-color:rgba(255,98,199,.4);box-shadow:0 0 24px rgba(255,98,199,.1)}
.saved-card{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,rgba(28,37,73,.9),rgba(14,20,42,.88));
}
.saved-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--orange))}
.layout{--stage:var(--cyan);--stage-rgb:94,231,247}
.layout.stage-0{--stage:var(--pink);--stage-rgb:255,98,199}
.layout.stage-1{--stage:var(--cyan);--stage-rgb:94,231,247}
.layout.stage-2{--stage:var(--lime);--stage-rgb:145,241,138}
.layout.stage-3{--stage:var(--red);--stage-rgb:255,112,133}
.layout.stage-4{--stage:#ad8cff;--stage-rgb:173,140,255}
.layout.stage-5{--stage:var(--gold);--stage-rgb:255,209,102}
.layout aside{
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(var(--stage-rgb),.07),transparent 38%),
    rgba(13,19,39,.9);
}
.flow-head span{color:var(--stage);font-weight:800}
.node:nth-child(1) i{color:var(--pink);border-color:rgba(255,98,199,.28)}
.node:nth-child(2) i{color:var(--cyan);border-color:rgba(94,231,247,.28)}
.node:nth-child(3) i{color:var(--lime);border-color:rgba(145,241,138,.28)}
.node:nth-child(4) i{color:var(--red);border-color:rgba(255,112,133,.28)}
.node:nth-child(5) i{color:#ad8cff;border-color:rgba(173,140,255,.28)}
.node:nth-child(6) i{color:var(--gold);border-color:rgba(255,209,102,.28)}
.node.active{border-color:rgba(var(--stage-rgb),.42);background:rgba(var(--stage-rgb),.09)}
.node.active i{color:#07111d!important;background:var(--stage);border-color:var(--stage);box-shadow:0 0 26px rgba(var(--stage-rgb),.2)}
.panel{
  position:relative;overflow:hidden;
  border-color:rgba(var(--stage-rgb),.24);
  background:
    radial-gradient(circle at 96% 2%,rgba(var(--stage-rgb),.16),transparent 22rem),
    linear-gradient(155deg,rgba(24,31,63,.94),rgba(13,18,39,.92));
}
.panel:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--stage),transparent 78%)}
.layout .eyebrow{color:var(--stage)!important}
.question-head>a{
  display:inline-flex;align-items:center;padding:.55rem .75rem;border:1px solid rgba(var(--stage-rgb),.25)!important;border-radius:999px;background:rgba(var(--stage-rgb),.08);color:var(--text)!important
}
.source-note{
  margin:1rem 0 0;padding:.8rem .95rem;border-radius:14px;
  border:1px solid rgba(var(--stage-rgb),.22);
  background:rgba(var(--stage-rgb),.07);
  color:var(--muted);font-size:.75rem;line-height:1.5
}
.source-note span{
  display:inline-block;margin-right:.45rem;padding:.16rem .42rem;border-radius:999px;
  background:var(--stage);color:#07111d;font-weight:900;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em
}
.stack{gap:1rem}
.field{
  padding:1rem;border:1px solid rgba(255,255,255,.11);border-radius:19px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  transition:border-color .18s,transform .18s,background .18s
}
.field:focus-within{border-color:rgba(var(--stage-rgb),.4);background:rgba(var(--stage-rgb),.045)}
.field>b{font-size:1rem;letter-spacing:-.01em}
input,textarea,select{border-color:rgba(255,255,255,.14);background:rgba(5,9,22,.72)}
input:focus,textarea:focus,select:focus{outline:2px solid rgba(var(--stage-rgb),.3);border-color:var(--stage)}
.choice{overflow:hidden;background:rgba(7,11,24,.52)}
.choice:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.choice:hover{border-color:rgba(var(--stage-rgb),.28);transform:translateY(-1px)}
.choice:has(input:checked){border-color:rgba(var(--stage-rgb),.52);background:rgba(var(--stage-rgb),.1);box-shadow:0 8px 30px rgba(var(--stage-rgb),.07)}
.choice:has(input:checked):before{background:var(--stage)}
.binary input:checked+span{color:#07111d;border-color:var(--stage);background:var(--stage);font-weight:850}
.primary{background:linear-gradient(100deg,var(--stage,var(--cyan)),#8fa6ff);box-shadow:0 10px 30px rgba(var(--stage-rgb,94,231,247),.12)}
.redlist{gap:1rem}
.redrow{
  position:relative;
  padding:1.05rem;border-radius:19px;
  background:linear-gradient(145deg,rgba(255,112,133,.055),rgba(255,255,255,.018));
}
.redrow:focus-within{border-color:rgba(255,112,133,.38)}
.why-card{
  grid-column:1/-1;
  margin-top:.15rem;
  border:1px solid rgba(var(--stage-rgb),.18);
  border-radius:14px;
  background:rgba(4,8,19,.38);
  overflow:hidden
}
.why-card summary{
  list-style:none;display:grid;grid-template-columns:30px 1fr 24px;gap:.55rem;align-items:center;
  min-height:50px;padding:.55rem .7rem;cursor:pointer;color:#dce3ff
}
.why-card summary::-webkit-details-marker{display:none}
.why-card summary b,.why-card summary small{display:block}
.why-card summary b{font-size:.75rem}
.why-card summary small{margin-top:.05rem;color:var(--muted);font-size:.64rem;font-weight:500}
.why-icon{
  width:27px;height:27px;display:grid;place-items:center;border-radius:9px;
  background:rgba(var(--stage-rgb),.11);color:var(--stage);font-weight:900
}
.chevron{color:var(--muted);font-size:1.1rem;transition:transform .16s}
.why-card[open] .chevron{transform:rotate(180deg)}
.why-body{padding:0 .8rem .8rem 2.9rem}
.why-body p{margin:0 0 .65rem;color:var(--muted);font-size:.74rem;line-height:1.55}
.source-chip{
  display:inline-flex!important;align-items:center;gap:.4rem;
  max-width:100%;padding:.36rem .55rem!important;border:1px solid rgba(255,255,255,.13)!important;
  border-radius:999px!important;text-decoration:none!important;
  background:rgba(255,255,255,.055);font-size:.66rem!important;color:#e9edff!important
}
.source-chip span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-weight:900}
.source-chip.law span{background:rgba(94,231,247,.12);color:var(--cyan)}
.source-chip.guidance span{background:rgba(173,140,255,.12);color:#c3adff}
.report-box{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.verdict{position:relative;overflow:hidden}
.verdict:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:currentColor}
@media(max-width:680px){
  .source-note{font-size:.7rem}
  .why-body{padding-left:.8rem}
  .source-chip{white-space:normal;border-radius:12px!important}
}
