@font-face { font-family: "AK Pixel"; src: url("fonts/fusion-pixel-12px-sc.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
:root { color-scheme: dark; --ink: #090705; --paper: #e6cda2; --amber: #c39b5b; font-family: "AK Pixel", "Noto Sans Mono CJK SC", monospace; font-synthesis: none; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--ink); color: var(--paper); }
body { overscroll-behavior: none; }
a { color: #ddb367; text-underline-offset: 5px; }
button, input { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 1px solid var(--amber); outline-offset: 3px; }
#terminal { display: none; }
#reader-toggle { display: none; }
#reader { max-width: 960px; padding: 32px; margin: auto; font-size: 18px; line-height: 1.85; }
#reader h1 { color: #d65536; }
#reader h2 { border-bottom: 1px solid #775626; color: #ddb367; padding-bottom: 8px; font-size: 24px; }
#reader h3 { font-size: 18px; color: #ddb367; }
#reader section { margin-block: 50px; }
#reader pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 20px; background: #171008; border: 1px solid #715225; font-size: 13px; }
#reader img { display: block; max-width: 100%; height: auto; }
#reader [data-action] { margin-right: 24px; }
.canvas-mode { height: 100dvh; overflow: hidden; }
.canvas-mode #terminal { display: block; position: fixed; inset: 0; width: 100%; height: 100dvh; outline-offset: -3px; touch-action: none; }
.canvas-mode #reader { display: none; }
.canvas-mode #reader-toggle { display: block; position: fixed; z-index: 2; top: 6px; right: 10px; border: 1px solid #72562a; background: #0b0806; color: #d3af74; padding: 5px 10px; font-size: 11px; opacity: 0; }
.canvas-mode #reader-toggle:focus { opacity: 1; }
#reader-toggle.reader-visible { display: block; position: fixed; top: 10px; right: 10px; color: #e6cda2; border: 1px solid #775626; background: #171008; padding: 8px; z-index: 2; }
#command { position: fixed; z-index: 2; color: transparent; caret-color: transparent; background: transparent; border: 0; outline: none; padding: 0; font: 16px monospace; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#image-viewer { background: #090705; color: var(--paper); border: 1px solid #94703b; width: 96vw; max-width: 96vw; height: 94dvh; max-height: 94dvh; padding: 0; }
#image-viewer[open] { display: flex; flex-direction: column; }
#image-viewer::backdrop { background: #030201f2; }
#image-viewer header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 16px; border-bottom: 1px solid #614a29; font-size: 12px; }
#image-viewer button { border: 0; background: transparent; color: #ddb367; white-space: nowrap; }
#image-viewer > div { display: grid; place-items: center; flex: 1; min-height: 0; overflow: auto; }
#image-viewer img { max-width: 100%; max-height: 100%; object-fit: contain; }
#image-viewer footer { text-align: center; font-size: 12px; padding: 10px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
