/* Native adaptations of React Bits; the existing acid green is the only accent. */
@property --entry-angle { syntax:'<angle>'; initial-value:125deg; inherits:true; }
.entry-link {
  position:relative;
  isolation:isolate;
  justify-content:center;
  width:158px;
  min-height:48px;
  padding:13px 28px;
  border:1px solid #72845e;
  border-radius:14px;
  background:linear-gradient(145deg,#30382d,#1d251b);
  color:#e8f2de;
  font-size:13px;
  letter-spacing:.12em;
  box-shadow:inset 0 1px 0 #ffffff15,0 0 0 1px #b8ff3d45,0 0 12px #b8ff3d42,0 5px 16px #17220e14;
  animation:entry-rim-sweep 7.2s linear infinite;
  transition:box-shadow 260ms,border-color 260ms;
}
.entry-link::before,.value-card::before,.decision-tab::before {
  content:''; position:absolute; inset:-1px; padding:1px; border-radius:inherit; pointer-events:none;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  opacity:calc(.58 + var(--light-strength,0) * .42);
  transition:opacity 240ms;
}
.entry-link::before {
  inset:-2.5px; padding:2.5px; opacity:1;
  background:conic-gradient(from var(--entry-angle),transparent 0deg,#b8ff3dd0 5deg,#dfffad 12deg,#b8ff3d 19deg,transparent 26deg,transparent 180deg,#b8ff3d 185deg,#dfffad 192deg,#b8ff3dd0 199deg,transparent 206deg);
  filter:drop-shadow(0 0 7px #b8ff3df2) drop-shadow(0 0 15px #b8ff3d94);
}
@keyframes entry-rim-sweep { from { --entry-angle:125deg; } to { --entry-angle:485deg; } }
.entry-link::after {
  content:''; position:absolute; left:16px; right:16px; bottom:-16px; height:28px; border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse at center,#b8ff3d42 0%,#b8ff3d1b 38%,transparent 72%);
  filter:blur(6px); opacity:0; transition:opacity 340ms ease;
}
.entry-link:hover,.entry-link:focus-visible { border-color:#a8d66c; box-shadow:inset 0 1px 0 #ffffff20,0 0 0 1px #b8ff3d5c,0 0 13px #b8ff3d50,0 5px 16px #17220e14; }
.entry-link:hover::after,.entry-link:focus-visible::after { opacity:.72; }
.entry-link > span { position:relative; z-index:1; }
/* The home header used difference blending, which would invert green to purple. */
body[data-view="home"] .site-header { mix-blend-mode:normal; color:var(--ink); }
.contact-link {
  position:relative; isolation:isolate; justify-content:center;
  min-width:132px; min-height:44px; padding:6px 19px;
  border:1px solid #b6e16e9c; border-radius:11px; overflow:hidden;
  background:linear-gradient(110deg,#76b62b 0%,#a9ec35 16%,#72b128 32%,#b8ff3d 50%,#80c32b 68%,#a9ec35 84%,#76b62b 100%);
  background-size:250% 100%; color:#1f2b17;
  box-shadow:inset 0 1px 0 #ddff994a,0 0 12px #b8ff3d34,0 0 26px #b8ff3d13;
  animation:contact-color 4.4s ease-in-out infinite alternate;
  transition:box-shadow 240ms,transform 240ms var(--ease),border-color 240ms;
}
.contact-link::before {
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(100deg,transparent 28%,#c1fa6880 48%,transparent 64%);
  background-size:220% 100%; background-position:180% 0;
  animation:contact-shine 4.8s ease-in-out infinite;
}
.contact-link::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(90deg,transparent 10%,#315c1b32 30%,#c0fa5c75 52%,#315c1b32 72%,transparent 90%); background-size:230% 100%; mask-image:linear-gradient(to bottom,transparent 36%,#000 100%); animation:contact-bottom 3.4s ease-in-out infinite alternate; box-shadow:inset 0 -1px 0 #25511855; }
.contact-link .contact-label { z-index:1; display:flex; flex-direction:column; align-items:center; gap:2px; position:relative; margin:0; padding:0; background:none; line-height:1; transform:none; }
.contact-link .contact-label strong { font-size:12px; font-weight:600; letter-spacing:.08em; white-space:nowrap; }
.contact-link .contact-label small { font:8px/1 Arial,sans-serif; letter-spacing:.12em; white-space:nowrap; opacity:.7; }
.contact-link:hover,.contact-link:focus-visible { transform:translateY(-1px); border-color:#ccf58e; box-shadow:inset 0 1px 0 #ddff9970,0 0 16px #b8ff3d5c,0 0 32px #b8ff3d27; }
.contact-link:hover,.contact-link:focus-visible { animation-duration:2.4s; }
.contact-link:hover::after,.contact-link:focus-visible::after { animation-duration:2s; }
.contact-link:hover .contact-label { transform:none; }
.contact-link:active { transform:scale(.97); }
@keyframes contact-color { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@keyframes contact-bottom { from { background-position:130% 0; } to { background-position:-55% 0; } }
@keyframes contact-shine { 0%,58%,100% { background-position:180% 0; opacity:0; } 68% { opacity:.9; } 85% { background-position:-130% 0; opacity:.72; } }
.value-grid { gap:10px; border:0; }
.value-card,.value-card:first-child { padding:28px 22px; border:1px solid var(--hairline); border-radius:12px; background:#ffffff02; }
.value-card { isolation:isolate; transition:background 250ms,box-shadow 250ms,transform 300ms var(--ease); }
.value-card::before,.decision-tab::before {
  background:radial-gradient(150px circle at var(--light-x,50%) var(--light-y,0%),#e6ffc4 0%,#b8ff3ddd 18%,#b8ff3d22 58%,transparent 80%);
  opacity:var(--light-strength,0);
}
.value-card::after { left:22px; right:22px; bottom:0; height:1px; background:linear-gradient(90deg,transparent,var(--acid),transparent); transform-origin:center; }
.value-card:hover { background:#b8ff3d07; box-shadow:0 0 22px #b8ff3d09; transform:translateY(-3px); }
.value-card > strong { transition:color 220ms,transform 300ms var(--ease); }
.value-card:hover > strong { transform:translateY(-2px); }
.value-card > .card-spotlight,.decision-tab > .card-spotlight {
  position:absolute; inset:1px; z-index:0; display:block; pointer-events:none;
  border-radius:inherit; background:radial-gradient(circle 165px at var(--spot-x,50%) var(--spot-y,50%),#b8ff3d38 0%,#b8ff3d12 48%,transparent 82%);
  opacity:0; transition:opacity 320ms ease;
}
.value-card:hover > .card-spotlight,.decision-tab:hover > .card-spotlight,.decision-tab:focus-visible > .card-spotlight { opacity:1; }
.value-card > strong,.value-card > span:not(.card-spotlight),.decision-tab > span:not(.card-spotlight),.decision-tab > b,.decision-tab > em { position:relative; z-index:1; }
.decision-tabs { display:grid; gap:8px; border-top:0; }
.decision-tab { border:1px solid var(--hairline); border-radius:9px; transition:background 220ms,border-color 220ms,color 220ms; }
.decision-tab.active { border-color:#b8ff3d50; background:#b8ff3d08; }
.decision-tab:hover { background:#b8ff3d0a; }
.decision-tab:focus-visible::before { opacity:1; }
.decision-marker { right:auto; width:2px; left:0; border-radius:2px; background:var(--acid); border:0; z-index:1; }
.glow-cursor { position:fixed; inset:0; width:100%; height:100%; z-index:1000; pointer-events:none; }
/* Editorial surfaces: readable paper, clear selection and restrained light. */
.article-list { display:grid; gap:12px; border:0; }
.article-row { position:relative; border:1px solid #273a2026; border-radius:14px; background:linear-gradient(110deg,#ffffff70,#ffffff30); box-shadow:0 2px 3px #20311803; transition:background 280ms,border-color 280ms,box-shadow 280ms; }
.article-row::before { content:''; position:absolute; left:-1px; top:24px; bottom:24px; width:2px; border-radius:2px; background:linear-gradient(#b8ff3d,#719642); transform:scaleY(0); transform-origin:top; transition:transform 360ms var(--ease); }
.article-row:hover { border-color:#6d8c4a65; background:linear-gradient(110deg,#ffffff9c,#f4f7ef80); box-shadow:0 6px 22px #263d1607; }
.article-row.open { border-color:#72974b80; background:linear-gradient(115deg,#f5f8eff2,#ffffffa8 70%); box-shadow:0 12px 36px #263d160b; }
.article-row.open::before,.article-row:focus-within::before { transform:scaleY(1); }
.article-summary { grid-template-columns:150px minmax(0,1fr); }
.article-meta { padding:24px; gap:12px; border-right:1px solid #273a2010; }
.article-meta .no { display:flex; align-items:baseline; gap:10px; line-height:1; }
.note-index { font:32px/1 Arial,sans-serif; letter-spacing:-2px; color:#789064; transition:color 280ms; }
.note-caption { font:8px/1.5 Arial,sans-serif; letter-spacing:1px; max-width:36px; }
.note-topic { font-size:11px; color:#556649; line-height:1.5; }
.article-row.open .note-index { color:#436126; }
.article-meta .like-button { margin-top:auto; }
.article-trigger { padding:24px 28px 25px; grid-template-columns:minmax(0,1fr) 90px; align-items:center; gap:22px; border-radius:0 14px 14px 0; }
.article-trigger .title { font-size:clamp(23px,2.15vw,29px); letter-spacing:-.04em; transition:color 240ms; }
.article-trigger:hover .title { transform:none; color:#426124; }
.article-row.open .title { color:#314d20; }
.article-heading { gap:10px; }
.summary-lead { max-width:660px; color:#69725f; line-height:1.85; }
.view-copy { align-items:center; padding:0; gap:10px; font-size:10px; }
.view-copy i { display:grid; place-items:center; width:32px; height:32px; flex:none; border:1px solid #627a4440; border-radius:50%; line-height:1; font-size:20px; background:#ffffff50; transition:transform 340ms var(--ease),background 240ms,border-color 240ms; }
.article-row.open .view-copy i { background:var(--acid); border-color:#9acd45; color:var(--ink); }
.article-trigger:hover .view-copy i { border-color:#71864e; background:#d8edba70; }
.article-trigger:focus-visible { outline:2px solid #72964c; outline-offset:-5px; }
.article-content { overflow:clip; }
.article-content::before { content:''; display:block; height:1px; margin:0 28px 26px 178px; background:linear-gradient(90deg,#76915145,transparent); }
.article-copy { max-width:930px; margin-left:150px; padding:0 40px 10px 28px; }
.article-copy p { color:#505b49; margin-bottom:22px; }
.article-copy p:first-child { color:#2d3a25; font-size:17px; line-height:1.95; }
.article-copy p:last-child { padding:18px 20px; border-left:2px solid #91b358; border-radius:0 9px 9px 0; background:#dceac44a; color:#3f5530; }
.close-reading { min-height:40px; margin:0 28px 28px 178px; padding:9px 16px; border:1px solid #61774840; border-radius:999px; background:#ffffff50; transition:background 220ms,color 220ms; }
.close-reading:hover { background:#b8ff3d40; }
/* Five connected stages and a quiet instrument for the current selection. */
.system-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; }
.workflow-track { position:relative; display:grid; gap:9px; margin-top:18px; }
.workflow-track::before { content:''; position:absolute; left:32px; top:35px; bottom:35px; width:1px; background:linear-gradient(#98bc6680,#71914a30); }
.workflow-step { isolation:isolate; grid-template-columns:34px minmax(0,1fr) auto; gap:16px; min-height:91px; padding:18px 20px 18px 15px; border:1px solid #36482a20; border-radius:12px; background:#f3f4eed9; transition:background 280ms,border-color 280ms,box-shadow 280ms; }
.workflow-step:hover,.workflow-step.active { padding:18px 20px 18px 15px; }
.workflow-step:hover { background:#f9fcf4; border-color:#91aa6c88; box-shadow:0 5px 20px #213c1408; }
.workflow-step.active { border-color:#86aa5985; background:linear-gradient(110deg,#e6efdaa6,#ffffffaa); box-shadow:inset 3px 0 0 #a4cf65,0 6px 24px #2645170c; }
.workflow-step::before { content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none; background:radial-gradient(120px circle at var(--light-x,0%) var(--light-y,50%),#b8ff3d,transparent 75%); mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask-composite:exclude; opacity:var(--light-strength,0); transition:opacity 250ms; }
.step-node { position:relative; z-index:1; width:34px; height:34px; background:#eef0e8; border-color:#8c9c7954; }
.workflow-step.active .step-node { background:#273322; color:var(--acid); border-color:#273322; box-shadow:0 0 0 4px #b8ff3d20; }
.workflow-step strong { color:#35432c; }
.workflow-step p { margin:5px 0 0; line-height:1.75; }
.workflow-step em { padding:4px 8px; border:1px solid #75845c27; border-radius:6px; background:#ffffff65; font-size:10px; color:#657a50; }
.workflow-step.active em { border-color:#8baa5d50; color:#416126; background:#dcecc254; }
.workflow-console { position:relative; overflow:hidden; isolation:isolate; padding:20px 24px 23px; border:1px solid #3c4a32; border-radius:18px; background:radial-gradient(ellipse at 50% 20%,#33472a6b,transparent 68%),#20291e; color:#eef3e7; box-shadow:inset 0 1px 0 #dfffaa12,0 16px 38px #24321c10; }
.workflow-console::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(#b8ff3d06 1px,transparent 1px),linear-gradient(90deg,#b8ff3d06 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(#0009,transparent 85%); }
.console-heading { display:flex; justify-content:space-between; align-items:center; color:#b1bea3; font-size:10px; letter-spacing:.08em; }
.console-heading i { width:5px; height:5px; border-radius:50%; background:var(--acid); box-shadow:0 0 9px #b8ff3d80; }
.workflow-console .flow-dial { width:210px; height:210px; margin:18px auto 13px; border-radius:50%; background:radial-gradient(circle,#3244295c 0%,#29362224 51%,transparent 66%); }
.workflow-console .dial-lines { stroke:#c1d0ab28; }
.workflow-console .dial-lines circle:first-child { stroke-dasharray:1 5; }
.workflow-console .dial-orbit { border-color:#b8ff3d24; }
.workflow-console .dial-orbit::before { border-top-color:var(--acid); filter:drop-shadow(0 0 3px #b8ff3d7a); }
.workflow-console .dial-orbit i { width:7px; height:7px; left:calc(50% - 3.5px); top:-3.5px; background:var(--acid); box-shadow:0 0 0 4px #b8ff3d16,0 0 14px #b8ff3d80; }
.workflow-console .dial-label small { color:#a8ba97; font-size:10px; }
.workflow-console .dial-label strong { color:#f1f5e9; font-size:24px; margin:12px 0 8px; }
.workflow-console .dial-label>span { color:#b8ff3d; font-size:11px; }
.stage-detail { text-align:center; }
.stage-description { margin:0 0 18px; color:#bdc8b1; font-size:12px; line-height:1.8; min-height:22px; }
.stage-output { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding-top:16px; border-top:1px solid #c5df9f23; text-align:left; }
.stage-output>span { font-size:10px; color:#a6b597; white-space:nowrap; }
.stage-output strong { font-size:12px; font-weight:400; color:#e6efd8; text-align:right; }
.radar-caption { margin-top:24px; padding-bottom:11px; }
.radar-tags { column-gap:20px; }
.radar-tags>span { gap:8px; padding:12px 0; line-height:1.7; font-size:11px; color:#64725a; border-bottom-color:#3347231c; }
.radar-tags i { color:#75924e; font-size:9px; }
@media(max-width:1100px) and (min-width:761px) {
  .workflow-step,.workflow-step:hover,.workflow-step.active { grid-template-columns:34px minmax(0,1fr); gap:4px 12px; padding:16px; }
  .workflow-step em { grid-column:2; justify-self:start; margin-top:5px; }
}
@media(max-width:760px) {
  .article-list { gap:12px; }
  .article-summary { display:block; }
  .article-meta { flex-direction:row; align-items:center; padding:18px 18px 0; border:0; gap:12px; }
  .article-meta .no { gap:0; }
  .note-index { font-size:24px; letter-spacing:-1px; }
  .note-caption { display:none; }
  .note-topic { margin-right:auto; font-size:10px; }
  .article-meta .like-button { margin-top:0; }
  .article-trigger { padding:18px; grid-template-columns:minmax(0,1fr) 32px; gap:12px; border-radius:12px; }
  .article-trigger .title { font-size:22px; line-height:1.55; }
  .article-trigger .view-copy { font-size:0; }
  .article-trigger .view-copy i { width:30px; height:30px; font-size:19px; }
  .article-content::before { margin:0 18px 20px; }
  .article-copy { margin:0; padding:0 18px 6px; }
  .article-copy p:first-child { font-size:15px; }
  .article-copy p:last-child { padding:14px; }
  .close-reading { margin:0 18px 22px; }
  .system-grid { display:block; }
  .workflow-step,.workflow-step:hover,.workflow-step.active { grid-template-columns:32px minmax(0,1fr); padding:16px; gap:3px 12px; }
  .workflow-step em { grid-column:2; justify-self:start; margin:5px 0 0; }
  .workflow-step p { font-size:12px; }
  .workflow-track::before { left:32px; }
  .radar-panel { margin-top:28px; }
  .workflow-console { padding:20px; }
  .radar-tags { column-gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .workflow-step,.step-node,.dial-orbit,.article-trigger,.close-reading { transition:none; }
}
@media (min-width:761px) and (max-height:900px) {
  .article-meta,.article-trigger { padding-block:clamp(10px,1.5vh,16px); }
  .article-heading { gap:6px; }
  .article-trigger .title { font-size:clamp(23px,2vw,28px); line-height:1.3; }
  .summary-lead { font-size:12px; line-height:1.55; }
  .workflow-step,.workflow-step:hover,.workflow-step.active { min-height:0; padding-block:clamp(7px,1.2vh,12px); }
  .workflow-step strong { font-size:14px; line-height:1.35; }
  .workflow-step p { margin-top:4px; font-size:11px; line-height:1.45; }
  .workflow-step em { font-size:10px; line-height:1.35; }
  .workflow-console { padding-block:15px; }
  .workflow-console .flow-dial { width:clamp(160px,22vh,200px); height:clamp(160px,22vh,200px); margin-block:8px; }
  .radar-caption { margin-top:14px; }
  .radar-tags>span { padding-block:clamp(5px,1vh,9px); }
}
@media (min-width:761px) and (max-width:1100px) and (max-height:900px) {
  .workflow-step,.workflow-step:hover,.workflow-step.active { grid-template-columns:34px minmax(0,1fr) auto; gap:10px; }
  .workflow-step em { grid-column:auto; margin:0; }
}
@media (min-width:761px) and (max-height:750px) {
  .workflow-track { gap:5px; margin-top:12px; }
  .workflow-step,.workflow-step:hover,.workflow-step.active { padding-block:5px; }
}
@media (min-width:1101px) and (max-height:680px) {
  .workflow-console .flow-dial { width:125px; height:125px; }
  .radar-tags { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .radar-tags>span { font-size:10px; }
}
.lattice-loader { display:inline-flex; align-items:center; gap:11px; min-height:24px; font-size:13px; }
.lattice-grid { display:grid; grid-template-columns:repeat(3,4px); gap:3px; flex:none; }
.lattice-cell { width:4px; height:4px; border-radius:1px; background:var(--acid); opacity:.16; animation:lattice-orbit 960ms ease-in-out infinite; animation-delay:var(--delay); }
.lattice-cell.is-center { animation:none; opacity:.09; }
@keyframes lattice-orbit { 0%,65%,100% {opacity:.16;transform:scale(.85)} 18%,35% {opacity:1;transform:scale(1);box-shadow:0 0 5px #b8ff3d55} }
@media(max-width:760px) {
  .contact-link { min-width:114px; min-height:40px; padding:5px 13px; }
  .contact-link .contact-label strong { font-size:11px; }
  .contact-link .contact-label small { font-size:7px; }
  .value-card,.value-card:first-child,.value-card:nth-child(odd),.value-card:last-child { border:1px solid var(--hairline); padding:24px 18px; }
}
@media(hover:none),(pointer:coarse) { .glow-cursor { display:none; } .value-card:hover { transform:none; } }
@media(prefers-reduced-motion:reduce) {
  .glow-cursor { display:none; }
  .contact-link,.contact-link::before,.contact-link::after,.entry-link,.lattice-cell { animation:none; }
  .lattice-cell { opacity:.65; }
  .entry-link,.value-card,.value-card>strong,.decision-tab,.article-row,.article-row::before,.article-trigger .title,.view-copy i { transition:none; }
  .card-spotlight { transition:none !important; }
  .entry-link:hover,.value-card:hover,.value-card:hover>strong,.article-trigger:hover .title { transform:none; }
}
