/* Generated by Build/build_site.py from the approved gallery. Do not edit. */
.fit{width:100%;position:relative;overflow:hidden;border-radius:12px}
.stage{width:1200px;height:700px;transform-origin:0 0;position:absolute;top:0;left:0;overflow:hidden;font-family:var(--body)}
.dk{--s-bg:#07060C;--s-fg:#EEEAFB;--s-mute:#A9A2C2;--s-panel:rgba(19,16,31,.9);--s-panel2:rgba(7,6,12,.6);--s-edge:#3A2E63;--s-line:rgba(255,255,255,.08);--s-acc:#8B5CF6;--s-acc-text:#B79CFF;--s-hl:rgba(139,92,246,.32);--s-no:#F2A7C0;background:var(--s-bg);color:var(--s-fg)}
.lt{--s-bg:#FFFFFF;--s-fg:#0E0B18;--s-mute:#4B4560;--s-panel:#FFFFFF;--s-panel2:#F5F3FA;--s-edge:#E4DFF0;--s-line:#E9E5F2;--s-acc:#6D28D9;--s-acc-text:#5B21B6;--s-hl:#E9DFFF;--s-no:#8A1C3C;background:linear-gradient(180deg,#fff,#F5F3FA);color:var(--s-fg)}
.dk::before{content:"";position:absolute;width:1100px;height:700px;left:50px;top:-470px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.38),transparent 72%)}
.dk::after{content:"";position:absolute;width:1400px;height:520px;left:-100px;bottom:-400px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.4),transparent 72%)}
.scr{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;gap:18px;padding:0 36px 28px}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px;border-bottom:1px solid var(--s-line);margin:0 -36px;padding:0 36px}
.mk{font-family:var(--display);font-weight:600;font-size:27px;letter-spacing:-.015em}
.mk b,.mk i{font-weight:600;font-style:normal;color:var(--s-acc)}
.dk .mk b,.dk .mk i{color:#A47BFF}
.lt .bar{background:#0E0B18;color:#fff;border-bottom:0}
.lt .bar .mk b,.lt .bar .mk i{color:#B79CFF}
.nav{display:flex;gap:4px;font-size:13px}
.nav a{padding:6px 13px;border-radius:8px;color:var(--s-mute)}
.lt .nav a{color:#CFC9E2}
.nav a.on{background:var(--s-acc);color:#fff}
.q{display:flex;align-items:center;gap:14px;border-radius:14px;padding:13px 16px;background:#fff;border:1px solid #fff;box-shadow:0 0 0 5px rgba(139,92,246,.2),0 16px 50px rgba(139,92,246,.28)}
.darkq .dk .q{background:rgba(19,16,31,.88);border-color:#3A2E63;box-shadow:0 0 0 5px rgba(139,92,246,.08)}
.darkq .dk .q .l{color:#B79CFF}
.darkq .dk .q .t{color:#FFFFFF}
.darkq .dk .q .m{background:rgba(139,92,246,.18);color:#E9DDFF}
.darkq .dk .q .go{background:#8B5CF6}
.toggle{display:inline-flex;border:1px solid var(--sheet-rule);border-radius:999px;padding:3px;gap:2px;justify-self:start}
.toggle button{font:500 13px var(--body);color:var(--sheet-muted);background:transparent;border:0;border-radius:999px;padding:7px 14px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--violet);color:#fff}
.toggle button:focus-visible{outline:2px solid var(--violet-hi);outline-offset:2px}
.lt .q{border-color:var(--s-edge);box-shadow:0 8px 30px rgba(91,33,182,.10)}
.q .l{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#5B21B6}
.q .t{flex:1;font-family:var(--body);font-size:16px;color:#0E0B18}
.q .m{font-family:var(--mono);font-size:11.5px;padding:4px 10px;border-radius:999px;background:#EEE8FD;color:#5B21B6}
.q .go{width:34px;height:34px;border-radius:10px;background:#0E0B18;display:grid;place-items:center}
.res{flex:1;border:1px solid var(--s-edge);background:var(--s-panel);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:14px;min-height:0}
.lt .res{box-shadow:0 10px 30px rgba(91,33,182,.08)}
.tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid var(--s-edge);color:var(--s-mute);white-space:nowrap}
.exp{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.exp .xl{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-mute);margin-right:2px}
.xb{font-family:var(--body);font-size:12px;font-weight:500;padding:5px 11px;border-radius:8px;border:1px solid var(--s-edge);color:var(--s-fg);background:var(--s-panel2)}
.chip.on{background:var(--s-acc);border-color:var(--s-acc);color:#fff}
.lead{margin:0;font-family:var(--display);font-weight:400;font-size:21px;line-height:1.4;letter-spacing:-.005em}
.lead em{font-style:normal;color:var(--s-acc-text);font-weight:500}
.mute{color:var(--s-mute);font-size:12.5px;line-height:1.55}
mark{background:var(--s-hl);color:inherit;border-radius:3px;padding:0 3px}
q{quotes:"\201C" "\201D"}

/* A: compare */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{border:1px solid var(--s-line);background:var(--s-panel2);border-radius:12px;padding:14px 16px;display:grid;gap:8px;align-content:start}
.card .id{font-family:var(--mono);font-size:11.5px;color:var(--s-acc-text);letter-spacing:.06em}
.card p{margin:0;font-size:13.5px;line-height:1.6}
.stage.cmp{height:540px}
.cmp .lead{font-size:24px}
.cmp .card{padding:20px 22px;gap:12px}
.cmp .card p{font-size:17px;line-height:1.6}
.cmp .dot{width:36px;height:36px;font-size:12.5px}
.dots{display:flex;align-items:center;gap:10px;padding-top:2px}
.dots .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--s-mute);margin-right:4px}
.dot{width:30px;height:30px;border-radius:9px;border:1px solid var(--s-edge);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--s-mute)}
.dot.on{background:var(--s-acc);border-color:var(--s-acc);color:#fff}

/* B: matrix */
table.mx{width:100%;border-collapse:collapse;font-size:13px;color:var(--s-fg);font-family:var(--body)}
.mx th{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--s-mute);padding:8px 6px;border-bottom:1px solid var(--s-line);text-align:center}
.mx th:first-child,.mx td:first-child{text-align:left;padding-left:0}
.mx td{padding:20px 6px;font-size:15px;border-bottom:1px solid var(--s-line);text-align:center;color:var(--s-fg)}
.mx td:first-child{font-size:15.5px}
.y,.n,.o{display:inline-grid;place-items:center;min-width:34px;height:32px;border-radius:9px;font-family:var(--mono);font-size:12.5px;padding:0 8px}
.y{background:var(--s-acc);color:#fff!important;font-weight:500}
.n{border:1px dashed var(--s-edge);color:var(--s-mute)}
.o{background:var(--s-hl);color:var(--s-acc-text)}
.mx.lv td{padding:16px 6px;font-size:16px}
.mx.lv th:nth-child(2),.mx.lv th:nth-child(3),.mx.lv td:nth-child(2),.mx.lv td:nth-child(3){width:26%}
.legend{display:flex;gap:16px;font-size:12px;color:var(--s-mute);align-items:center;margin-top:auto}
.legend span{display:inline-flex;gap:6px;align-items:center}

/* C: chain */
.chain{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch;flex:1}
.link{position:relative;border:1px solid var(--s-edge);background:var(--s-panel2);border-radius:14px;padding:16px;margin-right:26px;display:flex;flex-direction:column;gap:8px}
.link:last-child{margin-right:0}
.link::after{content:"";position:absolute;right:-24px;top:50%;width:22px;height:2px;background:var(--s-acc)}
.link::before{content:"";position:absolute;right:-26px;top:calc(50% - 5px);border:6px solid transparent;border-left-color:var(--s-acc);transform:translateX(6px)}
.link:last-child::after,.link:last-child::before{display:none}
.link .lv{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-acc-text)}
.link h4{margin:0;font-family:var(--display);font-weight:500;font-size:18px;line-height:1.3}
.link p{margin:0;font-size:14px;line-height:1.55;color:var(--s-mute)}
.link.hot{border-color:var(--s-acc);box-shadow:0 0 0 1px var(--s-acc) inset}
.link ul{margin:0;padding-left:16px;font-size:13.5px;line-height:1.75;color:var(--s-fg)}

.link .more{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--s-acc-text)}
.link .src{margin-top:auto;border-top:1px solid var(--s-line);padding-top:10px;font-size:13px;line-height:1.5;color:var(--s-fg)}
.link .src+.src{margin-top:0;border-top:0;padding-top:4px}
.link .src b{font-family:var(--display);font-weight:500;font-size:26px;color:var(--s-acc-text);display:block;line-height:1.1}
/* D: vagueness */
.vg{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;flex:1}
.blur{filter:blur(4px);user-select:none}
.term{border:1px solid var(--s-acc);border-radius:12px;padding:16px;display:grid;gap:10px;align-content:start;background:var(--s-panel2)}
.row{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px solid var(--s-line);padding-bottom:8px}
.row:last-child{border-bottom:0}
.row b{font-weight:500}
.row .no{color:var(--s-no);font-weight:600}
