:root{--bg:#0d0f14;--bg2:#12151c;--card:#161a23;--text:#e9ecf1;--muted:#959cab;--line:#252b37;--accent:#46d6e6;--accent2:#ff5d8f;--good:#52d39a;--bad:#ff7a6b;--maxw:730px;--flip-ms:420;--lineage-rail:var(--line);--lineage-rail-w:2px;--lineage-indent:22px;--lineage-node-gap:14px;--lineage-node-pad:9px;--lineage-self-accent:var(--accent);--lineage-root-accent:var(--accent2);--lineage-forest-gap:18px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 600px at 80% -10%,rgba(70,214,230,.07),transparent 60%),radial-gradient(900px 500px at -10% 10%,rgba(255,93,143,.06),transparent 55%),var(--bg);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.9;font-size:17px;letter-spacing:.01em}a{color:var(--accent);text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}.topbar{border-bottom:1px solid var(--line);background:#0d0f14b8;backdrop-filter:blur(8px);position:sticky;top:0;z-index:8}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:54px}.brand{font-weight:800;font-size:15px;letter-spacing:.02em;color:#fff}.brand .b-accent{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar nav a{color:var(--muted);font-size:13.5px;margin-left:18px}.topbar nav a:hover{color:var(--accent)}.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(70,214,230,.35);padding:6px 12px;border-radius:999px;margin-bottom:26px;background:#46d6e60f}.kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.flip{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}strong{color:#fff;font-weight:700}.lede{color:var(--muted);font-size:18px}h1{font-size:clamp(30px,5.4vw,44px);line-height:1.28;margin:0 0 18px;font-weight:800;letter-spacing:.005em}h2{font-size:23px;margin:64px 0 18px;font-weight:800;line-height:1.4;padding-top:18px;border-top:1px solid var(--line)}h2 .num{color:var(--accent);font-variant-numeric:tabular-nums;margin-right:10px;font-size:18px;opacity:.9}p{margin:0 0 18px}ul.feel{list-style:none;margin:0 0 18px;padding:0}ul.feel li{position:relative;padding:10px 0 10px 30px;border-bottom:1px dashed var(--line)}ul.feel li:last-child{border-bottom:0}ul.feel li:before{content:"›";position:absolute;left:6px;top:9px;color:var(--accent);font-size:20px;font-weight:700}.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0}@media(max-width:560px){.cols{grid-template-columns:1fr}}.col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 6px}.col h3{margin:0 0 12px;font-size:15px;letter-spacing:.04em}.col.good h3{color:var(--good)}.col.bad h3{color:var(--bad)}.col ul{list-style:none;margin:0 0 12px;padding:0}.col li{padding:6px 0 6px 22px;position:relative;font-size:15.5px;color:#dfe3ea}.col.good li:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:800}.col.bad li:before{content:"✕";position:absolute;left:0;color:var(--bad);font-weight:800}.game{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 14px}.game .name{font-weight:800;font-size:17px;margin:0 0 6px;color:#fff}.game .name .tag{font-size:11px;color:var(--accent);border:1px solid rgba(70,214,230,.3);border-radius:6px;padding:2px 7px;margin-left:8px;letter-spacing:.06em;vertical-align:middle}.game p{margin:0;color:#cfd5df;font-size:15.5px;line-height:1.8}.store{display:inline-flex;align-items:center;gap:5px;margin-top:11px;font-size:14px;font-weight:800;color:var(--accent);letter-spacing:.02em;text-decoration:none}.store:after{content:"↗"}.store:hover{color:#7af0d0}.bitoz{margin-top:18px;border-radius:18px;padding:26px 24px 24px;background:linear-gradient(180deg,#46d6e612,#ff5d8f0d),var(--bg2);border:1px solid rgba(70,214,230,.35);box-shadow:0 20px 50px -30px #46d6e666}.bitoz .own{font-size:13px;letter-spacing:.1em;color:var(--accent2);text-transform:uppercase;margin:0 0 10px;font-weight:700}.bitoz h3{margin:0 0 14px;font-size:26px;font-weight:800}.bitoz p{color:#dde2ea;font-size:16px}.pull{border-left:3px solid var(--accent);background:#46d6e60d;margin:18px 0 6px;padding:14px 18px;border-radius:0 10px 10px 0;font-size:16px;color:#eaf6f8;font-style:italic;line-height:1.7}.cta{margin-top:56px;text-align:center;border-radius:18px;padding:36px 24px;background:var(--card);border:1px solid var(--line)}.cta h2{border:0;padding:0;margin:0 0 10px;font-size:24px}.cta p{color:var(--muted);margin:0 0 22px}.btn{display:inline-block;font-weight:800;font-size:16px;color:#06222a;background:linear-gradient(90deg,var(--accent),#7af0d0);padding:14px 30px;border-radius:999px;text-decoration:none;box-shadow:0 12px 30px -12px #46d6e699}footer{margin-top:50px;color:#5c6373;font-size:13px;border-top:1px solid var(--line);padding-top:18px;padding-bottom:90px}.hero{padding:72px 0 8px}.manifesto{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 24px 8px;margin:6px 0}.manifesto p{color:#d7dce4;font-size:16px}.nodelist{margin:0;padding:0;list-style:none}.node-li{list-style:none;margin:0;padding:0}.node{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 12px;transition:border-color .15s,transform .15s}a.node:hover{border-color:#46d6e680;transform:translateY(-1px)}.node .nid{font-size:12px;letter-spacing:.12em;color:var(--accent);font-variant-numeric:tabular-nums}.node .nt{display:block;color:#fff;font-weight:800;font-size:18px;margin:4px 0;line-height:1.4}.node .nd{color:var(--muted);font-size:14.5px;margin:0}.node .rtag{display:inline-block;font-size:11px;color:var(--accent2);border:1px solid rgba(255,93,143,.35);border-radius:6px;padding:2px 8px;letter-spacing:.06em;margin-bottom:8px}.node .veil{display:none}.node .veil-taste{display:block;color:#cfd5df;font-weight:700;font-size:15.5px;margin:4px 0 0}.node .veil-lin{color:var(--muted);font-weight:400}.node .veil-gem{display:block;color:var(--accent);opacity:.5;letter-spacing:.5em;font-size:18px;margin:10px 0 8px;filter:blur(1px)}.node .veil-cue{display:block;color:var(--muted);font-size:13px;letter-spacing:.04em}html.no-js .filterbar,html.no-js .flipstatus,html.no-js .emptymsg,html.no-js .quiz,html.no-js .node .veil{display:none}html.no-js .node .reveal,html.js .node-li[data-state=unflipped] .veil,html.js .node-li[data-state=flipping] .veil{display:block}html.js .node-li[data-state=unflipped] .reveal,html.js .node-li[data-state=flipping] .reveal,html.js .node-li[data-state=discovered] .veil{display:none}html.js .node-li[data-state=discovered] .reveal{display:block}html.js .node-li[data-state=unflipped] .node{cursor:pointer;border-style:dashed}html.js .node-li[data-state=unflipped] .node:hover{border-color:#ff5d8f73}html.js .node-li[data-state=flipping] .node{animation:flipUp calc(var(--flip-ms) * 1ms) ease both}@keyframes flipUp{0%{opacity:.65;transform:scale(.995)}55%{opacity:.4}to{opacity:1;transform:scale(1)}}html.js .node-li[data-state=discovered] .node{animation:settle .5s ease both}@keyframes settle{0%{border-color:#ff5d8f80}to{border-color:var(--line)}}html.js .node-li[data-firstshown="1"] .node{border-color:#46d6e64d}@media(prefers-reduced-motion:reduce){html.js .node-li[data-state=flipping] .node,html.js .node-li[data-state=discovered] .node{animation:none}}.filterbar{display:flex;flex-wrap:wrap;gap:14px 22px;margin:0 0 16px;padding:14px 0;border-bottom:1px dashed var(--line)}.filterbar .facet{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filterbar .flabel{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:2px}.filterbar .chip{font:inherit;font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.filterbar .chip:hover{color:var(--text);border-color:#46d6e666}.filterbar .chip.on{color:#06222a;background:linear-gradient(90deg,var(--accent),#7af0d0);border-color:transparent;font-weight:800}.filterbar .sortsel{font:inherit;font-size:13px;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}.flipstatus{color:var(--muted);font-size:13px;letter-spacing:.04em;margin:0 0 14px;min-height:1em}.emptymsg{color:var(--muted);font-size:14.5px;margin:0 0 14px}.rarity{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 14px;font-size:14px;color:#cfd5df}.rarity .rstamp{display:inline-flex;align-items:baseline;gap:8px;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.rarity .rsep{color:var(--line);font-weight:400}.rarity .ryet{color:var(--muted);font-weight:400}.lineage-tree{list-style:none;margin:0 0 18px;padding:0}.lineage-tree .lin-node{position:relative;padding:var(--lineage-node-pad) 0 var(--lineage-node-pad) calc(var(--lineage-indent) + 8px);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lineage-tree .lin-node:before{content:"";position:absolute;left:8px;top:0;bottom:0;border-left:var(--lineage-rail-w) solid var(--lineage-rail)}.lineage-tree>.lin-node:first-child:before{top:50%}.lineage-tree .lin-node:after{content:"";position:absolute;left:8px;top:50%;width:var(--lineage-indent);border-top:var(--lineage-rail-w) solid var(--lineage-rail)}.lineage-tree .lin-name{font-weight:800;color:#fff;font-size:16px}.lineage-tree a{color:var(--accent);font-weight:700}.lin-role-flag{font-size:11px;letter-spacing:.06em;border-radius:6px;padding:2px 8px;border:1px solid var(--line);color:var(--muted)}.lin-role-flag.root{color:var(--lineage-root-accent);border-color:#ff5d8f59}.lin-role-flag.here{color:var(--lineage-self-accent);border-color:#46d6e673;background:#46d6e614}.lin-role-flag.sib{color:var(--accent);border-color:#46d6e64d}.lin-role-flag.br{color:var(--accent2);border-color:#ff5d8f4d}.lin-root .lin-name{color:var(--lineage-root-accent)}.lin-self{font-weight:800}.lin-self .lin-name{color:var(--lineage-self-accent)}.lin-cross{position:relative;padding:2px 0 2px calc(var(--lineage-indent) + 8px)}.lin-cross:before{content:"";position:absolute;left:8px;top:0;bottom:0;border-left:var(--lineage-rail-w) solid var(--lineage-rail)}.lin-cross-note{font-size:12px;color:var(--muted);letter-spacing:.06em}.lineage-children{list-style:none;margin:0;padding:0 0 0 var(--lineage-indent);position:relative;width:100%}.lineage-children .lin-node{padding-left:calc(var(--lineage-indent) + 8px)}.lineage-forest{display:grid;gap:var(--lineage-forest-gap);margin:18px 0 0}.forest-root{position:relative;border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--card)}.forest-root-name{margin:0 0 12px;font-size:18px;font-weight:800;color:var(--lineage-root-accent);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.forest-root-flag{font-size:11px;letter-spacing:.06em;border-radius:6px;padding:2px 8px;border:1px solid rgba(255,93,143,.35);color:var(--lineage-root-accent)}.forest-branches{list-style:none;margin:0;padding:0 0 0 calc(var(--lineage-indent) + 4px);position:relative}.forest-branches:before{content:"";position:absolute;left:6px;top:0;bottom:18px;border-left:var(--lineage-rail-w) solid var(--lineage-rail)}.branch-li{position:relative;margin:0 0 var(--lineage-node-gap)}.branch-li:before{content:"";position:absolute;left:calc(-1 * var(--lineage-indent) + 2px);top:24px;width:var(--lineage-indent);border-top:var(--lineage-rail-w) solid var(--lineage-rail)}.branch{display:block;position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 16px;text-decoration:none;transition:border-color .15s,transform .15s}a.branch:hover{border-color:#46d6e680;transform:translateY(-1px)}.branch-tag{display:inline-block;font-size:11px;color:var(--accent2);border:1px solid rgba(255,93,143,.35);border-radius:6px;padding:2px 8px;letter-spacing:.06em;margin-bottom:6px}.branch-name{display:block;color:#fff;font-weight:800;font-size:16px;line-height:1.4}.branch-veil{display:none}.branch-veil-taste{display:block;color:#cfd5df;font-weight:700;font-size:15px}.branch-veil-gem{display:block;color:var(--accent);opacity:.5;letter-spacing:.4em;font-size:16px;margin:8px 0 6px;filter:blur(1px)}.branch-veil-cue{display:block;color:var(--muted);font-size:12.5px;letter-spacing:.04em}.branch-placeholder .placeholder{border-style:dashed;opacity:.7;cursor:default}.branch-placeholder-note{display:block;color:var(--muted);font-size:13px;letter-spacing:.04em}html.no-js .lineage-forest .branch-veil{display:none}html.no-js .lineage-forest .branch-reveal,html.js .branch-li[data-state=unflipped] .branch-veil,html.js .branch-li[data-state=flipping] .branch-veil{display:block}html.js .branch-li[data-state=unflipped] .branch-reveal,html.js .branch-li[data-state=flipping] .branch-reveal,html.js .branch-li[data-state=discovered] .branch-veil{display:none}html.js .branch-li[data-state=discovered] .branch-reveal{display:block}html.js .branch-li[data-state=unflipped] .branch{cursor:pointer;border-style:dashed}html.js .branch-li[data-state=unflipped] .branch:hover{border-color:#ff5d8f73}html.js .branch-li[data-state=flipping] .branch{animation:flipUp calc(var(--flip-ms) * 1ms) ease both}html.js .branch-li[data-state=discovered] .branch{animation:settle .5s ease both}@media(prefers-reduced-motion:reduce){html.js .branch-li[data-state=flipping] .branch,html.js .branch-li[data-state=discovered] .branch{animation:none}}.passzone{position:relative;display:inline-block}.passzone .gemglint{position:absolute;inset:-6px;border-radius:999px;pointer-events:none;opacity:0;background:radial-gradient(120px 60px at 50% 50%,rgba(255,93,143,.35),transparent 70%)}.passzone .passecho{display:block;margin:12px 0 0;font-size:13.5px;color:var(--accent2);letter-spacing:.02em}html.js .passzone[data-surfaced="1"] .btn{animation:passSettle .6s ease both;box-shadow:0 14px 34px -10px #ff5d8f8c,0 0 0 1px #ff5d8f40 inset}html.js .passzone[data-surfaced="1"] .gemglint{animation:passGlint .7s ease both}@keyframes passSettle{0%{transform:scale(.97)}45%{transform:scale(.97)}70%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes passGlint{0%{opacity:0}20%{opacity:0}55%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){html.js .passzone[data-surfaced="1"] .btn{animation:none}html.js .passzone[data-surfaced="1"] .gemglint{animation:none;opacity:0}}.quiz{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;margin:0 0 22px}.quiz-h{margin:0 0 6px;font-size:18px;font-weight:800;color:#fff;letter-spacing:.01em}.quiz-lede{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.7}.quiz-step{margin:0 0 14px}.quiz-q{margin:0 0 10px;font-size:15px;color:#dfe3ea;font-weight:700}.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:520px){.quiz-opts{grid-template-columns:1fr}}.quiz-opt{font:inherit;text-align:left;font-size:14.5px;line-height:1.6;color:#dfe3ea;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;cursor:pointer;transition:color .12s,border-color .12s,background .12s,transform .12s}.quiz-opt:hover{color:#fff;border-color:#46d6e680;background:#46d6e60f;transform:translateY(-1px)}.quiz-result{border-top:1px dashed var(--line);margin-top:4px;padding-top:16px;animation:quizReveal .45s ease both}@keyframes quizReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.quiz-result-lede{margin:0 0 10px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent2)}.quiz-result-card{display:block;background:linear-gradient(180deg,#ff5d8f14,#46d6e60a),var(--bg2);border:1px solid rgba(255,93,143,.35);border-radius:14px;padding:16px 18px;text-decoration:none;box-shadow:0 16px 40px -26px #ff5d8f80;transition:transform .15s,border-color .15s}.quiz-result-card:hover{transform:translateY(-1px);border-color:#ff5d8f8c}.quiz-result-tag{display:inline-block;font-size:11px;color:var(--accent2);border:1px solid rgba(255,93,143,.4);border-radius:6px;padding:2px 8px;letter-spacing:.06em;margin-bottom:8px}.quiz-result-title{display:block;color:#fff;font-weight:800;font-size:16.5px;line-height:1.4;margin:0 0 8px}.quiz-result-cue{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:13.5px;font-weight:800;letter-spacing:.02em}.quiz-result-cue:after{content:"↗"}.quiz-again{display:inline-block;margin-top:12px;font:inherit;font-size:13px;color:var(--muted);background:transparent;border:0;border-bottom:1px dashed var(--line);padding:2px 0;cursor:pointer}.quiz-again:hover{color:var(--accent)}.quiz-skip{display:inline-block;margin-top:14px;color:var(--muted);font-size:13px;border-bottom:1px dashed transparent}.quiz-skip:hover{color:var(--accent);border-bottom-color:#46d6e666}html.js .node-li[data-quizhit="1"] .node{border-color:#ff5d8f80;box-shadow:0 0 0 1px #ff5d8f26 inset}@media(prefers-reduced-motion:reduce){.quiz-result{animation:none}}.soon{padding:64px 0 8px}.soon .soon-on{margin-top:14px;color:var(--accent);font-size:15px;font-weight:800;letter-spacing:.02em}
