*{box-sizing:border-box}html{background:#030207}body{margin:0;color:#e3deec;font:17px Georgia,'Times New Roman',serif;background:radial-gradient(ellipse at 50% 5%,#17122e 0,#04030b 55%,#000 100%);min-height:100vh}a{color:#9fb5ff}a:hover{color:white}.site{position:relative;isolation:isolate;max-width:1536px;margin:auto;min-height:100vh;border:5px ridge #5d5677;box-shadow:inset 0 0 0 2px #a6a0bb,0 0 24px #000;overflow:hidden}.site:before,.site:after{content:'';position:absolute;z-index:-1;top:0;height:900px;width:19%;background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:1}.site:before{left:0;background-image:url('tower-side-crop.png');background-position:center top}.site:after{right:0;background-image:url('lady-side-crop.png');background-position:48% top}header,main,footer{max-width:1030px;margin:auto}header{padding:12px 10px 0;text-align:center}.logo{display:block;width:min(100%,960px);height:95px;object-fit:cover;object-position:center;margin:-2px auto 0;image-rendering:pixelated}nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0 24px}nav a,.download-button{display:inline-block;text-decoration:none;color:#e8eaff;text-shadow:1px 2px #080c32;font-weight:bold;font-size:15px;white-space:nowrap;padding:10px 16px;border:3px ridge #9b99b9;background:linear-gradient(#404d9e 0%,#131c61 24%,#000a40 56%,#192b8e 88%,#101342);box-shadow:inset 0 0 0 2px #05071d,0 2px 4px #000}nav a:hover,nav a[aria-current=page],.download-button:hover{background:linear-gradient(#6777dc,#172c91 40%,#070c51 75%,#3049ad);color:white}main{padding:0 12px 12px;display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}.main-column,.sidebar{min-width:0}.frame{background:rgba(3,2,12,.94);border:4px ridge #9994b1;outline:1px solid #292344;box-shadow:inset 0 0 0 2px #352c51,0 0 0 1px #000,0 6px 12px #000;margin-bottom:16px;position:relative}.frame:before,.frame:after{position:absolute;color:#c4bad7;font-size:23px;line-height:1;text-shadow:0 0 5px #6a4db2;pointer-events:none}.frame:before{content:'❦';left:6px;top:3px}.frame:after{content:'❦';right:6px;bottom:3px;transform:rotate(180deg)}.hero{padding:8px}.hero img{display:block;width:100%;height:auto;image-rendering:pixelated}.panel{padding:15px 21px 20px}.panel h1,.panel h2{font-weight:normal;text-align:center;color:#b5c5ff;text-shadow:0 0 8px #384bbd;font-variant:small-caps;margin:0 0 13px;padding-bottom:9px;border-bottom:1px solid #615977;font-size:27px}.panel h1{font-size:29px}.panel p{line-height:1.5}.news-entry{border-bottom:1px solid #514a65;padding:7px 0 12px}.news-entry:last-child{border:0}.news-entry time{display:block;color:#bcb7c7;font-size:13px}.news-entry strong{color:#a6b9ff}.side-art{width:100%;max-height:145px;object-fit:contain;object-position:center;image-rendering:pixelated}.center{text-align:center}.small{font-size:13px;color:#aaa2b8}.muted{color:#a49bb4}footer{margin:4px auto 10px;padding:15px;text-align:center;border:3px ridge #77718b;background:#05040dcc;font-size:13px}footer a{margin:0 6px}.feature{display:flex;align-items:center;gap:18px}.feature img{width:115px;max-width:30%;image-rendering:pixelated}.placeholder{padding:20px;border:1px dashed #665c84;color:#c1b9ce;background:#100d1b}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery img{width:100%;image-rendering:pixelated;border:2px ridge #8880a6}.side-portrait{display:block;max-width:100%;max-height:220px;object-fit:contain;object-position:center;image-rendering:pixelated}@media(max-width:800px){.site:before,.site:after{opacity:.25;width:30%}main{grid-template-columns:1fr}.logo{height:75px}header{padding-top:0}nav{gap:5px;margin-bottom:16px}nav a{padding:8px 10px;font-size:13px}.panel{padding:15px}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sidebar .frame{margin:0}}@media(max-width:500px){.sidebar{display:block}.sidebar .frame{margin-bottom:15px}.panel h1,.panel h2{font-size:22px}.gallery{grid-template-columns:1fr}}
/* Game page: four original screenshots in a 2-by-2 gothic gallery. */
.game-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 24px}
.game-shot{margin:0;padding:7px;background:#080611;border:3px ridge #938aa8;box-shadow:inset 0 0 0 1px #2c2548,0 3px 8px #000;min-width:0}
.game-shot a{display:block;line-height:0;overflow:hidden;border:1px solid #494366;background:#000}
.game-shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;image-rendering:auto;transition:filter .15s}
.game-shot a:hover img,.game-shot a:focus-visible img{filter:brightness(1.15)}
.game-shot figcaption{padding:9px 4px 5px;text-align:center;font-size:13px;line-height:1.4;color:#c4bdd2}
.game-shot figcaption strong{display:block;color:#b5c5ff;font-size:16px;font-variant:small-caps;margin-bottom:4px}
.game-shot figcaption span{display:block}
@media(max-width:520px){.game-gallery{grid-template-columns:1fr}}

/* The Travelers: classic early-web chapter directory and reading pages */
.chapter-list{padding-left:26px;line-height:2.1}.chapter-list li{border-bottom:1px dotted #4c4663;padding:5px 0}.chapter-list a{color:#b7c8ff}.chapter-reader{padding:22px 30px 28px}.chapter-subtitle{text-align:center;color:#c3b7d8;font-style:italic;margin-bottom:28px}.chapter-prose{font-size:17px;line-height:1.75;color:#e6e0e8}.chapter-prose p{line-height:1.75;margin:0 0 1.25em}.chapter-nav{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #615977;padding-top:20px;margin-top:28px}.chapter-nav a{font-size:14px}@media(max-width:500px){.chapter-reader{padding:16px}.chapter-prose{font-size:16px}}

/* Chapter reading pages: solid black backdrop; disable side art only here. */
body.chapter-page{background:#000;}
.chapter-page .site{background:#000;}
.chapter-page .site::before,.chapter-page .site::after{content:none !important;display:none !important;background-image:none !important;}

/* v18: fixed classic framed desktop layout. Only the central column scrolls. */
@media (min-width:801px) {
 html,body {height:100%;overflow:hidden;}
 .site {height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden;}
 .site::before,.site::after {top:0;bottom:0;height:100%;width:19%;background-size:cover;background-repeat:no-repeat;}
 .site header {width:100%;flex:0 0 auto;position:relative;z-index:2;}
 .site main {width:100%;flex:1 1 auto;min-height:0;overflow:hidden;align-content:stretch;position:relative;z-index:2;}
 .site .main-column {min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-color:#756b9a #080613;scrollbar-width:thin;padding-right:4px;}
 .site .sidebar {min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#756b9a #080613;}
 .site footer {width:100%;flex:0 0 auto;position:relative;z-index:2;margin-top:4px;margin-bottom:8px;}
 .chapter-page .site::before,.chapter-page .site::after {display:none!important;}
}
/* Smaller screens retain ordinary page scrolling for accessibility. */

/* v19: itch.io development-log archive */
.devlog-list {display:grid;gap:12px;margin:14px 0}
.devlog-entry {background:#080b19;border:1px solid #646c90;padding:12px;box-shadow:inset 0 0 0 1px #20243c}
.devlog-entry h3 {font-size:1.05rem;margin:0 0 5px;color:#c5d5ff}
.devlog-entry h3 a {color:inherit}
.devlog-entry time {font-size:.8rem;color:#aab4d4}
.devlog-entry p {margin:8px 0 0;line-height:1.5}
