/* The KOMATSU illustrated reading experience */
.hope-protocol-page{background:#050b11;color:#eee4d3}.hope-protocol-page .header{position:relative;z-index:10;background:#07111b}.hope-protocol-hero{height:min(74vw,760px);min-height:420px;background:linear-gradient(to bottom,rgba(5,11,17,.06) 0%,rgba(5,11,17,.02) 56%,#050b11 100%),url('assets/hope-protocol-hero.webp') center 36%/cover no-repeat;position:relative}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.eyebrow,.byline{letter-spacing:.28em;font-size:.72rem;color:#c69b57}.begin-reading{font-family:Georgia,serif;color:#f4d69b;text-decoration:none;border-bottom:1px solid #b89150;padding-bottom:4px}.begin-reading:hover{color:#fff}.reading{background:radial-gradient(ellipse at 50% 0%,#101e2a 0%,#070e15 40%,#050b11 100%);padding:22px 22px 90px}.reading-inner{max-width:710px;margin:auto}.story-ornament,.story-end{text-align:center;color:#bc9358;font-size:24px;letter-spacing:.5em}.reading h1{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:400;letter-spacing:.07em;color:#e8c388;margin:12px 0}.reading .byline{text-align:center;margin:0 0 48px}.story-text{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.1rem,1.6vw,1.24rem);line-height:1.83;color:#eee7da}.story-text p{margin:0 0 1.35em}.story-text .opening:first-letter{float:left;font-size:3.9em;line-height:.84;margin:.09em .1em 0 0;color:#d8aa69}.story-text .news-headline{font-family:Georgia,serif;text-align:center;letter-spacing:.065em;font-weight:bold;font-size:1.1em;color:#d9bb87;border-top:1px solid #705938;border-bottom:1px solid #705938;padding:16px 8px;margin:32px 0 18px}.story-text .news-excerpt{font-style:italic;color:#d6c9b6;padding:0 12px}.story-text .last-line{color:#e9c58e;font-style:italic;margin-top:32px}.story-end{margin:48px 0 24px}.story-actions{text-align:center}.hope-protocol-page .button{display:inline-block}.hope-protocol-page footer{gap:15px;flex-wrap:wrap}@media(max-width:700px){.hope-protocol-hero{height:72vh;min-height:400px;background-position:56% center}.reading{padding:14px 20px 65px}.reading .byline{margin-bottom:35px}.story-text{line-height:1.76}}

.hope-protocol-hero{background-position:center 35%;height:min(82vw,860px)}.scene-break{text-align:center;color:#bc9358;letter-spacing:.5em;margin:2.6em 0;font-size:1.3em}@media(max-width:700px){.hope-protocol-hero{height:70vh;background-position:center center}}

/* Final terminal-status reveal: separate from the story text */
.terminal-reveal{margin:3.5rem auto 4.5rem;padding:2.5rem 1rem;max-width:32rem;text-align:center;background:radial-gradient(ellipse at center,rgba(21,53,34,.28),rgba(2,10,9,0) 72%);border-top:1px solid rgba(77,255,135,.12);border-bottom:1px solid rgba(77,255,135,.12)}
.terminal-word{display:inline-block;color:#57ff86;font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-size:clamp(2rem,7vw,3.8rem);font-weight:700;letter-spacing:.17em;text-shadow:0 0 7px rgba(68,255,125,.85),0 0 22px rgba(43,238,107,.4);animation:terminal-blink 2.2s steps(1,end) infinite}
@keyframes terminal-blink{0%,47%,80%,100%{opacity:1}48%,79%{opacity:.12}}
@media(prefers-reduced-motion:reduce){.terminal-word{animation:none}}

/* Show every pixel of the illustrated cover, including title and lower artwork. */
.hope-protocol-hero{height:auto!important;min-height:0!important;background:none!important;display:flex;flex-direction:column;align-items:center;position:relative}
.full-hero-art{display:block;width:100%;height:auto;max-width:1100px;object-fit:contain;object-position:center}
.hope-protocol-hero .hero-bottom{position:static;padding:20px 16px 28px;background:#050b11;width:100%}
@media(max-width:700px){.hope-protocol-hero{height:auto!important;min-height:0!important}.full-hero-art{width:100%;height:auto}}

/* XPRT's final decision is displayed as a terminal, not ordinary prose. */
.xprt-terminal{box-sizing:border-box;margin:3.5rem auto 2.5rem;width:100%;max-width:700px;background:#030d0b;border:1px solid #26523e;border-radius:7px;box-shadow:0 0 38px rgba(39,198,107,.09),inset 0 0 36px rgba(28,102,67,.09);overflow:hidden;color:#94f6ae;font:normal 1rem/1.8 'Courier New',monospace;letter-spacing:0}
.xprt-terminal .terminal-header{padding:.65rem 1.15rem;background:#0c2018;border-bottom:1px solid #26523e;font:normal .7rem/1.5 'Courier New',monospace;letter-spacing:.16em;color:#78b992}
.terminal-light{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5df58e;box-shadow:0 0 9px #5df58e;margin-right:.75rem}
.xprt-terminal .terminal-output{padding:1.6rem 1.7rem 1.9rem}
.xprt-terminal .terminal-output p{font:inherit;line-height:1.8;margin:0 0 .35rem;color:inherit;max-width:none;text-indent:0}
.xprt-terminal .terminal-output .terminal-protocol{font-weight:bold;margin:1.3rem 0;letter-spacing:.06em}
.xprt-terminal .terminal-output .terminal-status{margin:1.35rem 0 0;color:#69ff9b}
.terminal-status strong{font-weight:bold;text-shadow:0 0 11px rgba(102,255,152,.65)}
.terminal-cursor{display:inline-block;width:.62em;height:1.08em;vertical-align:-.18em;background:#69ff9b;margin-left:.5em;animation:xprt-cursor 1.15s steps(1,end) infinite;box-shadow:0 0 8px rgba(102,255,152,.45)}
@keyframes xprt-cursor{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none}}
@media(max-width:600px){.xprt-terminal{font-size:.79rem}.xprt-terminal .terminal-output{padding:1.15rem 1rem 1.35rem}}
