@import url('https://fonts.googleapis.com/css2?family=Anton&family=DM+Mono:wght@400;500&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--bg:#17141e;--surface:#24202c;--surface-2:#322c3d;--paper:#fff8f2;--muted:#c8becb;--red:#ef6a81;--gold:#e8bf8b;--line:#4b4355;--ink:#0e0c12;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.75 'Libre Baskerville',Georgia,serif}body:before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 12% 2%,#3f263c 0,transparent 36%),radial-gradient(ellipse at 92% 35%,#2e293e 0,transparent 32%)}
a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}header{height:72px;position:sticky;top:0;z-index:10;background:rgba(23,20,30,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font:24px/1 Anton,sans-serif;letter-spacing:.03em}.brand i{color:var(--red);font-style:normal}.navlinks{display:flex;gap:22px;color:var(--muted);font:12px 'DM Mono',monospace}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--paper)}
.crumbs{padding-top:44px;color:var(--gold);font:12px 'DM Mono',monospace}.crumbs a{color:var(--muted)}.hero{padding:28px 0 48px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:900px;margin:14px 0 20px;font:clamp(48px,7vw,84px)/.98 Anton,sans-serif;letter-spacing:.015em}.hero h1 i{font-style:normal;color:var(--red)}.lede{max-width:780px;color:var(--muted);font-size:18px}.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.meta span{padding:7px 9px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:12px 'DM Mono',monospace}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding:48px 0 80px}.content{min-width:0}.content h2{margin:52px 0 16px;font:38px/1.08 Anton,sans-serif;letter-spacing:.02em}.content h2:first-child{margin-top:0}.content h3{margin:30px 0 10px;font:25px/1.15 Anton,sans-serif;letter-spacing:.02em}.content p,.content li{color:var(--muted)}.content strong{color:var(--paper)}.content ol,.content ul{padding-left:24px}.content li{margin:10px 0}.quick{padding:24px;border-left:4px solid var(--red);background:var(--surface)}.quick h2{margin:0 0 10px;font-size:30px}.quick p{margin:0}.step-list{list-style:none!important;padding:0!important;counter-reset:steps}.step-list li{position:relative;padding:22px 24px 22px 76px;margin:12px 0;border:1px solid var(--line);background:var(--surface);counter-increment:steps}.step-list li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:22px;top:21px;color:var(--red);font:18px 'DM Mono',monospace}.step-list strong{display:block;margin-bottom:4px}.note{padding:18px 20px;border:1px solid #755061;background:#2c202c}.note p{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{padding:15px;border:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--gold);font:12px 'DM Mono',monospace}td{color:var(--muted);font-size:14px}.cta{display:inline-flex;margin-top:14px;padding:13px 18px;background:var(--red);border:1px solid #ff9caf;box-shadow:4px 4px 0 #682f44;color:#28161d;text-decoration:none;font:500 12px 'DM Mono',monospace}
.sidebar{align-self:start;position:sticky;top:100px}.sidebox{padding:22px;border:1px solid var(--line);background:var(--surface)}.sidebox b{display:block;margin-bottom:13px;color:var(--gold);font:12px 'DM Mono',monospace}.sidebox a{display:block;padding:9px 0;border-top:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:13px}.sidebox a:hover{color:var(--paper)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{display:flex;min-height:240px;flex-direction:column;padding:25px;border:1px solid var(--line);background:var(--surface);text-decoration:none}.card:hover{background:var(--surface-2)}.card span{color:var(--gold);font:11px 'DM Mono',monospace}.card h2{margin:20px 0 12px;font-size:29px}.card p{font-size:13px}.card b{margin-top:auto;color:var(--red);font:12px 'DM Mono',monospace}
footer{border-top:1px solid var(--line);padding:34px 0 46px;color:var(--muted);font-size:12px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;font:12px 'DM Mono',monospace}
@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{position:static}.cards{grid-template-columns:1fr}.navlinks{gap:12px}.navlinks a:last-child{display:none}}@media(max-width:560px){.wrap{width:min(calc(100% - 28px),var(--max))}.brand{font-size:19px}.navlinks a:nth-last-child(2){display:none}.hero{padding-bottom:38px}.hero h1{font-size:46px}.lede{font-size:16px}.layout{padding-top:36px}.step-list li{padding-left:64px}}

/* ===== Endings page · 2026-09-17 ===== */
.label{color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.title{max-width:980px;margin:10px 0 22px;font:clamp(44px,6vw,76px)/.98 Anton,sans-serif;letter-spacing:.015em;color:var(--paper)}
.title i{font-style:normal;color:var(--red)}
.lede b{color:var(--paper)}
.section-title{font:clamp(30px,4vw,52px)/1.05 Anton,sans-serif;letter-spacing:.02em;margin:0 0 18px;color:var(--paper)}
.section-lede{max-width:780px;color:var(--muted);font-size:16px;margin:0 0 28px}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.meta-tag{padding:7px 10px;border:1px solid var(--line);background:var(--surface);color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.06em}

.guide-toc{padding:48px 0;border-bottom:1px solid var(--line)}
.toc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.toc-card{display:block;padding:20px;border:1px solid var(--line);background:var(--surface);text-decoration:none;transition:.2s}
.toc-card:hover{background:var(--surface-2);transform:translateY(-2px)}
.toc-card span{color:var(--red);font:700 11px 'DM Mono',monospace;letter-spacing:.1em}
.toc-card b{display:block;margin:10px 0 6px;color:var(--paper);font:18px/1.2 Anton,sans-serif;letter-spacing:.02em}
.toc-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}

.endings-overview,.endings-form,.endings-death,.endings-lewd,.endings-achievement,.endings-cure,.endings-strategy,.endings-faq,.endings-related{padding:64px 0;border-bottom:1px solid var(--line)}
.endings-faq,.endings-related{border-bottom:none}

.ending-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.ending-card{padding:24px;border:1px solid var(--line);background:var(--surface)}
.ending-card b{font:34px/1 Anton,sans-serif;color:var(--red);letter-spacing:.04em;display:block;margin-bottom:6px}
.ending-card span{display:block;margin-bottom:10px;color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.ending-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}

.form-bucket{margin-top:36px;padding:28px;border:1px solid var(--line);background:var(--surface)}
.bucket-head{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin-bottom:14px}
.bucket-tag{display:inline-block;padding:6px 9px;background:var(--ink);border:1px solid var(--line);color:var(--red);font:700 11px 'DM Mono',monospace;letter-spacing:.12em}
.bucket-head h3{margin:0;font:22px/1.15 Anton,sans-serif;letter-spacing:.02em;color:var(--paper)}
.form-bucket>p{color:var(--muted);font-size:14px;margin:0 0 18px}
.form-bucket>a{color:var(--red)}
.word-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.chip{padding:7px 11px;border:1px solid var(--line);background:var(--ink);color:var(--paper);font:13px 'DM Mono',monospace;letter-spacing:.02em}
.chip-note{margin-top:14px;color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.04em}
.recipe-list{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--line)}
.recipe-list li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.recipe-list li b{color:var(--paper);font-weight:700;margin-right:8px}
.recipe-list li a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}

.death-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.death-card{position:relative;padding:24px 24px 24px 78px;border:1px solid var(--line);background:var(--surface)}
.death-num{position:absolute;left:22px;top:22px;color:var(--red);font:700 22px/1 Anton,sans-serif;letter-spacing:.04em}
.death-card h3{margin:0 0 8px;font:20px/1.15 Anton,sans-serif;color:var(--paper);letter-spacing:.02em}
.death-card p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.55}
.trigger{display:block;margin-top:10px;padding:6px 9px;background:var(--ink);border:1px solid var(--line);color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.06em}

.lewd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.lewd-card{padding:24px;border:1px solid var(--line);background:var(--surface)}
.lewd-card h3{margin:0 0 10px;font:18px/1.2 Anton,sans-serif;letter-spacing:.02em;color:var(--paper)}
.lewd-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.lewd-card b{color:var(--paper);font-weight:700}

.ending-table{width:100%;border-collapse:collapse;margin-top:24px;background:var(--surface)}
.ending-table th,.ending-table td{padding:15px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}
.ending-table th{color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.ending-table td{color:var(--muted);font-size:14px}
.ending-table td b{color:var(--paper);font-weight:700}

.strategy-list{counter-reset:strat;list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.strategy-list li{position:relative;padding:18px 20px 18px 70px;border:1px solid var(--line);background:var(--surface);counter-increment:strat}
.strategy-list li:before{content:"Phase " counter(strat,decimal-leading-zero);position:absolute;left:18px;top:18px;color:var(--red);font:11px 'DM Mono',monospace;letter-spacing:.08em}
.strategy-list li b{display:block;margin-bottom:6px;color:var(--paper);font:18px/1.2 Anton,sans-serif;letter-spacing:.02em}
.strategy-list li p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.strategy-list li a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}

.faq-list{margin-top:24px;display:grid;gap:8px}
.faq-list details{padding:18px 22px;border:1px solid var(--line);background:var(--surface)}
.faq-list summary{cursor:pointer;color:var(--paper);font:18px/1.2 Anton,sans-serif;letter-spacing:.02em;list-style:none;display:flex;gap:14px;align-items:baseline}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .faq-num{color:var(--red);font:11px 'DM Mono',monospace;letter-spacing:.1em}
.faq-list p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.6}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.related-card{display:flex;flex-direction:column;min-height:200px;padding:24px;border:1px solid var(--line);background:var(--surface);text-decoration:none;transition:.2s}
.related-card:hover{background:var(--surface-2);transform:translateY(-2px)}
.related-card .rc-tag{color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.related-card h3{margin:14px 0 10px;font:21px/1.1 Anton,sans-serif;letter-spacing:.02em;color:var(--paper)}
.related-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.55}
.related-card b{margin-top:auto;color:var(--red);font:500 11px 'DM Mono',monospace;letter-spacing:.08em}
.endings-cta{margin-top:28px;color:var(--muted);font-size:14px}
.endings-cta a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}

.endings-footer{border-top:1px solid var(--line);padding:42px 0 48px;margin-top:64px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:20px}
.footer-grid b{display:block;margin-bottom:10px;color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.footer-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;max-width:420px}
.footer-grid a{display:block;padding:6px 0;color:var(--muted);text-decoration:none;font-size:13px}
.footer-grid a:hover{color:var(--paper)}
.footer-meta{margin:0;color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:18px}

@media(max-width:980px){.toc-grid,.ending-grid,.related-grid{grid-template-columns:repeat(2,1fr)}.death-list,.lewd-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}
@media(max-width:560px){.toc-grid,.ending-grid,.death-list,.lewd-grid,.related-grid{grid-template-columns:1fr}.title{font-size:36px}.section-title{font-size:30px}.bucket-head h3{font-size:18px}.ending-table{display:block;overflow-x:auto}}

/* ===== Story-nodes page · 2026-09-17 ===== */
.quick-answer{margin:32px 0 0;padding:22px 24px;border:1px solid var(--line);background:var(--surface);border-left:4px solid var(--gold)}
.quick-answer .qa-label{display:block;margin-bottom:10px;color:var(--gold);font:11px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.quick-answer p{margin:0;color:var(--paper);font-size:14px;line-height:1.7}
.quick-answer p b{color:var(--paper);font-weight:700}
.quick-answer p i{font-style:italic}

.node-card{margin-top:18px;padding:22px 24px;border:1px solid var(--line);background:var(--surface)}
.node-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.node-id{color:var(--red);font:700 12px 'DM Mono',monospace;letter-spacing:.12em}
.node-head h3{margin:0;font:22px/1.15 Anton,sans-serif;letter-spacing:.02em;color:var(--paper);flex:1 1 100%;order:3}
.fun-tag{display:inline-flex;align-items:center;padding:5px 9px;font:700 10px 'DM Mono',monospace;letter-spacing:.08em;border:1px solid var(--line)}
.fun-must{background:rgba(239,106,129,.12);color:var(--red);border-color:rgba(239,106,129,.4)}
.fun-warm{background:rgba(232,191,139,.12);color:var(--gold);border-color:rgba(232,191,139,.4)}
.fun-skip{background:rgba(120,120,120,.12);color:var(--muted);border-color:var(--line)}
.fun-bonus{background:rgba(170,140,200,.12);color:#c2a8e4;border-color:rgba(170,140,200,.4)}
.spoiler-tag{display:inline-flex;align-items:center;padding:5px 9px;font:700 9px 'DM Mono',monospace;letter-spacing:.1em;border:1px solid var(--line);text-transform:uppercase}
.spoiler-none{color:var(--muted);background:transparent}
.spoiler-mild{background:rgba(232,191,139,.12);color:var(--gold);border-color:rgba(232,191,139,.4)}
.spoiler-heavy{background:rgba(239,106,129,.14);color:var(--red);border-color:rgba(239,106,129,.5)}
.node-card p{margin:8px 0;color:var(--muted);font-size:14px;line-height:1.65}
.node-card p b{color:var(--paper);font-weight:700}
.node-card p a{color:var(--red);text-decoration:none;border-bottom:1px dotted var(--red)}

.rank-list{counter-reset:rank;list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.rank-list li{position:relative;padding:14px 18px 14px 64px;border:1px solid var(--line);background:var(--surface);counter-increment:rank;color:var(--muted);font-size:14px;line-height:1.55}
.rank-list li:before{content:"#" counter(rank);position:absolute;left:18px;top:14px;color:var(--red);font:700 13px 'DM Mono',monospace;letter-spacing:.06em}
.rank-list li b{color:var(--paper);font-weight:700}

@media(max-width:760px){.node-head h3{font-size:18px}.fun-tag,.spoiler-tag{font-size:9px;padding:4px 7px}}
