
:root{
  --bg:#05171a;--panel:#11312f;--panel2:#153c39;--text:#f6f7ef;--muted:#bdd0c7;
  --green:#78c39b;--teal:#67cbbd;--gold:#e8bf68;--line:rgba(255,255,255,.14);
  --danger:#f0a09b;--shadow:0 18px 60px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:radial-gradient(circle at 75% 5%,rgba(70,180,160,.16),transparent 30rem),
  linear-gradient(145deg,#05191c,#050b13);color:var(--text);font-family:Arial,Helvetica,sans-serif
}
a{color:var(--teal)}
button,input,textarea{font:inherit}
button{cursor:pointer}
.shell{width:min(1120px,calc(100% - 24px));margin:auto;padding:15px 0 76px}
.topbar{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:8px 0 18px
}
.home-link{
  align-self:flex-start;
  color:var(--text);
  text-decoration:none;
  font-weight:800
}
.jump{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:min(100%,760px);
  min-height:46px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  overflow:hidden
}
.jump a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 12px;
  border-radius:11px;
  color:var(--muted);
  text-align:center;
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap
}
.jump a + a{border-left:1px solid var(--line)}
.jump a:hover,
.jump a:focus-visible{
  color:var(--text);
  background:rgba(103,203,189,.09);
  outline:none
}
section{background:rgba(17,49,47,.88);border:1px solid var(--line);border-radius:25px;padding:25px;margin:14px 0;box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:1fr minmax(280px,430px);gap:30px;align-items:center}
.hero img{width:100%;border-radius:20px;display:block}
h1{font-size:clamp(2.8rem,8vw,5.9rem);line-height:.92;margin:.2em 0}
h2{font-size:clamp(1.55rem,4vw,2.55rem);margin:.15em 0 .55em}
h3{margin:.35em 0}
p,li{line-height:1.58;color:var(--muted)}
.badge{display:inline-block;padding:8px 12px;border-radius:999px;border:1px solid var(--line);margin:4px 4px 4px 0}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border:0;border-radius:14px;background:var(--gold);color:#061618;text-decoration:none;font-weight:800}
.cta.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.info{padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}
.info strong{display:block;font-size:1.14rem;color:var(--text);margin-top:5px}
.flow{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.flow span{padding:9px 11px;border-radius:999px;background:rgba(103,203,189,.09);border:1px solid rgba(103,203,189,.24);color:var(--muted)}
.callout{padding:16px 18px;border-left:4px solid var(--gold);border-radius:14px;background:rgba(232,191,104,.08)}
.prototype-note{font-size:.91rem;border:1px dashed rgba(232,191,104,.45);border-radius:15px;padding:13px 15px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
label{display:block;color:var(--text);font-weight:700;margin-bottom:7px}
input[type=text],textarea{
  width:100%;border:1px solid var(--line);border-radius:14px;background:#071b1c;color:var(--text);
  padding:13px 14px;outline:none
}
textarea{min-height:112px;resize:vertical}
input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(103,203,189,.12)}
.rating-row{padding:13px 0;border-bottom:1px solid var(--line)}
.rating-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}
.rating-value{color:var(--gold);font-weight:800;min-width:26px;text-align:right}
.rating-buttons{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.rate{
  aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;color:var(--muted);
  min-width:30px
}
.rate:hover,.rate.selected{background:var(--gold);border-color:var(--gold);color:#071618;font-weight:800}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;color:var(--muted);font-weight:400}
.check input{margin-top:4px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.action{min-height:48px;border:0;border-radius:14px;padding:0 17px;background:var(--teal);color:#051618;font-weight:800}
.action.secondary{background:var(--gold)}
.action.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.action.danger{background:transparent;color:var(--danger);border:1px solid rgba(240,160,155,.4)}
.saved-status{margin-top:14px;min-height:24px;color:var(--green)}
.discussion-list{display:grid;gap:10px;margin-top:17px}
.comment{padding:14px 15px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.comment-head{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}
.comment-name{color:var(--gold);font-weight:800}
.empty{padding:18px;border:1px dashed var(--line);border-radius:15px;color:var(--muted)}
.card-stack{display:grid;gap:34px}
.research-card{padding:21px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}
.research-card img{display:block;width:min(100%,820px);height:auto;margin:0 auto;border-radius:18px}
.image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.hint{text-align:center;font-size:.9rem}
table{width:100%;border-collapse:collapse}
th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--text)}
.lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.93)}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:94vh;width:auto;height:auto}
.close{position:fixed;top:15px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#102321;color:#fff;font-size:29px}
.footer{margin-top:40px;padding:22px 2px;border-top:1px solid var(--line);color:var(--muted);font-size:.91rem}

@media(max-width:840px){
  .hero{grid-template-columns:1fr}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:580px){
  .shell{width:min(100% - 14px,1120px)}
  section{padding:16px;border-radius:20px}
  .jump{
    width:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden
  }
  .jump a{
    min-width:0;
    padding:7px 4px;
    font-size:.76rem;
    white-space:nowrap
  }
  .info-grid{grid-template-columns:1fr}
  .rating-buttons{gap:4px}
  .rate{font-size:.78rem;min-width:27px}
  .actions,.cta-row{flex-direction:column}
  .action,.cta{width:100%}
}


.server-state{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}
.state-dot{width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(232,191,104,.10)}
.state-dot.online{background:var(--green);box-shadow:0 0 0 5px rgba(120,195,155,.10)}
.state-dot.offline{background:var(--danger);box-shadow:0 0 0 5px rgba(240,160,155,.10)}
.receipt{display:none;margin-top:16px;padding:16px;border:1px solid rgba(120,195,155,.4);border-radius:15px;background:rgba(120,195,155,.08)}
.receipt.show{display:block}
.receipt code{word-break:break-all;color:var(--text)}
.hidden-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.legal-footer nav{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.legal-footer a{color:var(--accent);text-decoration:none}
.legal-footer a:hover{text-decoration:underline}
.privacy-brief{margin:16px 0;padding:16px;border:1px solid rgba(103,203,189,.35);border-radius:16px;background:rgba(103,203,189,.07)}
.privacy-brief strong{color:var(--text)}
.required-consent{border:1px solid rgba(236,185,95,.40);border-radius:15px;padding:14px;background:rgba(236,185,95,.07)}
.required-consent a{color:var(--accent)}
.form-warning{padding:14px;border:1px solid rgba(236,185,95,.34);border-radius:15px;background:rgba(236,185,95,.06)}
