@font-face{font-family:Russo;src:url('/fonts/rusone.ttf') format('truetype');font-display:swap}
:root{--ink:#202c22;--muted:#596151;--wall:#cecec7;--paper:#f2f2eb;--soft:#e4e6dd;--line:#b9bfb1;--accent:#315c37;--heading:Arial,Helvetica,sans-serif;--body:Arial,Helvetica,sans-serif;--mono:Consolas,'Liberation Mono',monospace;--scene:url('/themes/assets/shelf-light.jpg')}
*{box-sizing:border-box}html{min-width:300px;scroll-behavior:smooth}body{margin:0;background:var(--wall);color:var(--ink);font:16px/1.65 var(--body)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.2}h1{font-size:44px;letter-spacing:-.035em;overflow-wrap:anywhere}h2{font-size:26px;letter-spacing:-.02em}h3{font-size:20px}p+p{margin-top:16px}[hidden]{display:none!important}button{border:1px solid var(--line);background:var(--soft);padding:9px 16px;min-height:44px}input,textarea,select{max-width:100%;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:9px 11px;min-height:44px}textarea{resize:vertical}summary{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:18px;z-index:100;padding:10px 16px;background:var(--paper)}.skip-link:focus{top:12px}.muted{color:var(--muted)}.eyebrow,.entry-meta{font:400 12px/1.6 var(--body);letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.text-button{border:0;background:transparent;padding:0;min-height:30px;text-decoration:underline}.inline-frog{height:28px;width:auto;vertical-align:middle;image-rendering:pixelated}
/* The home scene is one approved image. Links cover its actual objects and plaques. */
.shelf-app{min-height:calc(100svh - 66px);display:grid;place-items:start center;max-width:1487px;margin:auto}.scene-shell{position:relative;width:min(100%,calc(max(600px,100svh - 66px)*1.40321));aspect-ratio:1486/1059;isolation:isolate;container-type:inline-size}.scene-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene-header{position:absolute;top:3%;left:10.2%;right:8.2%;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;z-index:3}.brand{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:2.98cqw;letter-spacing:-.045em;line-height:1;text-decoration:none;white-space:nowrap}.brand small{display:block;font:400 1.45cqw/1.35 Arial,Helvetica,sans-serif;letter-spacing:0;margin-top:.35cqw}.scene-header .utility-nav{gap:2.65cqw;font:400 clamp(14px,1.25cqw,19px) Arial,Helvetica,sans-serif;padding-top:.1cqw;white-space:nowrap}.scene-header .utility-nav img{width:2.7cqw;height:auto}.scene-intro{position:absolute;top:11%;left:5%;right:5%;text-align:center}.scene-intro .home-prompt{font:900 3.5cqw/1.12 Arial,Helvetica,sans-serif;letter-spacing:-.035em}.scene-intro p{font:400 1.72cqw/1.4 Arial,Helvetica,sans-serif;margin-top:.5cqw}.object{position:absolute;display:block;text-decoration:none;cursor:pointer}.object:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.mobile-home{display:none}.compact-header{max-width:1200px;margin:auto;padding:27px 30px;display:flex;justify-content:space-between;align-items:center;gap:22px}.compact-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:900 30px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.04em}.compact-brand img,.utility-nav img{image-rendering:pixelated}.utility-nav{display:flex;align-items:center;gap:26px;font-size:14px}.utility-nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.utility-nav a:hover{text-decoration:underline}body[data-page=home]>.compact-header{display:none}.section-nav{max-width:1140px;margin:0 auto 18px;display:flex;gap:12px 28px;flex-wrap:wrap;padding:0 3px;font-size:14px}.section-nav a{text-decoration:none;padding:7px 0}.section-nav a[aria-current]{border-bottom:2px solid var(--accent);font-weight:700}.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:16px auto 22px;padding:0 20px;font-size:12px;color:var(--muted)}.site-footer .text-button{font-size:12px}.account-links{display:flex;gap:15px}.owner-preview{padding:10px 20px;text-align:center;background:#e7eed7;color:#243021;font:14px/1.6 Arial,Helvetica,sans-serif}.owner-preview a{margin-left:12px}
/* Shared page hierarchy: section, short catalog, material, return to the same list. */
.page-view{max-width:1140px;margin:0 auto 28px;background:var(--paper);border:1px solid var(--line);padding:32px 42px 48px;min-height:62svh}.breadcrumbs{font-size:12px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:30px}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px 9px}.breadcrumbs li{display:flex;align-items:baseline;gap:9px;min-width:0;overflow-wrap:anywhere}.breadcrumbs li+li::before{content:'/';opacity:.6}.breadcrumbs li:last-child{max-width:100%}.breadcrumbs a{text-decoration:none}.page-heading{margin-bottom:32px;max-width:940px}.page-heading .eyebrow{margin-bottom:10px}.page-lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:68ch;margin-top:17px}.material-meta{font-size:13px;color:var(--muted);margin-top:14px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:19px}.filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:130px;max-width:100%}.filters label span{color:var(--muted)}.filters .filter-query{flex:1;min-width:210px}.filters input,.filters select{font-size:14px;width:100%}.filter-reset{font-size:13px;margin:10px 0}.result-count{font-size:12px;color:var(--muted);margin-bottom:8px}.catalog-entry{padding:26px 0;border-bottom:1px solid var(--line)}.catalog-entry.has-thumbnail{display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px}.entry-thumbnail{align-self:start}.entry-thumbnail img{display:block;width:100%;max-height:150px;object-fit:contain;object-position:left top}.entry-text{min-width:0}.entry-meta span{margin-left:12px;letter-spacing:0;white-space:nowrap}.entry-meta:empty{display:none}.catalog-entry h2{font-size:27px;margin:6px 0 10px;overflow-wrap:anywhere}.catalog-entry h2 a{text-decoration:none}.entry-facts{font-size:12px;color:var(--muted);margin-bottom:10px}.entry-summary{font-size:15px;line-height:1.8;max-width:74ch}.read-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line)}.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:28px;font-size:14px}.pagination a,.pagination span{padding:8px 13px;min-width:40px;text-align:center;border:1px solid var(--line);text-decoration:none}.pagination [aria-current]{background:var(--accent);color:var(--paper)}.empty-state{padding:34px 0;max-width:65ch}.empty-state h2{margin-bottom:12px}.empty-state a{display:inline-block;margin-top:15px}.hub-links{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;margin:34px 0 0}.hub-links article{border-top:2px solid var(--accent);padding-top:20px}.hub-links h2{font-size:25px;margin-bottom:13px}.hub-links a{text-decoration:none}.hub-links p{font-size:15px;color:var(--muted);max-width:46ch}.simple-list{list-style:none;margin:20px 0;padding:0}.simple-list li{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:13px 0}.simple-list a{text-decoration:none}.simple-list span{font-size:12px;color:var(--muted);white-space:nowrap}.archive-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.archive-groups h2{font-size:23px}.archive-groups .simple-list li{display:block}
/* Long-form pages use a quiet reading column and a separate information rail. */
.back-link{display:inline-block;margin:0 0 28px;font-size:13px}.detail-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:36px;align-items:start}.material-content,.material-rail{min-width:0}.material-rail{font-size:13px;border-right:1px solid var(--line);padding-right:25px}.material-rail h2{font-size:15px;font-family:var(--body);letter-spacing:0;margin-bottom:14px}.metadata{margin:0;overflow-wrap:anywhere}.metadata div{margin-bottom:13px}.metadata dt{color:var(--muted);font-size:11px}.metadata dd{margin:3px 0 0}.contents{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.contents a{display:block;padding:5px 0;text-decoration:none}.progress-note{margin-top:22px}.material-section{margin-bottom:38px;scroll-margin-top:22px}.material-section>h2{margin:0 0 21px;font-size:24px}.reading-body{font-size:16px;line-height:1.85;max-width:74ch;overflow-wrap:anywhere;min-width:0}.detail-reading .reading-body{font-size:18px;line-height:1.9;max-width:68ch}.reading-body img{max-width:100%;height:auto}.reading-body img[src*='/smiles/'],.reading-body img[src*='images/smiles/']{display:inline;max-height:32px;width:auto;vertical-align:middle;image-rendering:pixelated}.reading-body iframe,.reading-body video{max-width:100%}.reading-body pre,.code-block,.code-container{max-width:100%;overflow:auto;text-align:left;white-space:pre;background:var(--soft);color:var(--ink);font:14px/1.65 var(--mono)}.reading-body table{display:block;max-width:100%;overflow-x:auto}.reading-body blockquote{border-left:3px solid var(--line);margin:22px 0;padding:5px 0 5px 22px}.additional-info{margin-top:24px;font-size:14px;overflow-wrap:anywhere}.additional-info h3{font-size:18px;margin-bottom:10px}.downloads{list-style:none;margin:0;padding:0}.downloads li{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;align-items:flex-start}.downloads span,.downloads small{font-size:12px;color:var(--muted)}.action-link{display:inline-block;padding:10px 16px;border:1px solid var(--accent);text-decoration:none;font:700 14px/1.5 Arial,Helvetica,sans-serif;max-width:100%;overflow-wrap:anywhere}.action-link:hover{background:var(--accent);color:var(--paper)}.screenshot-grid{display:grid;grid-template-columns:1fr;gap:24px}.screenshot-grid img{display:block;max-height:520px;width:auto;object-fit:contain;object-position:left top}.screenshot-grid figcaption{font-size:11px;color:var(--muted);margin-top:8px}.game-screens{grid-template-columns:1fr 1fr}.game-screens img{width:100%;image-rendering:pixelated}.gallery-picture img{display:block}.material-end{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.catalog-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.catalog-gallery .catalog-entry{display:block}.catalog-gallery .entry-thumbnail img{height:180px;object-fit:contain;object-position:left bottom}.catalog-gallery h2{font-size:20px}.catalog-gallery .entry-summary{font-size:13px}
/* Existing posting handlers and BBCode tools retain their data contract. */
.legacy-content{min-width:0;overflow-wrap:anywhere}.legacy-content table{width:100%;max-width:100%;border-collapse:collapse;font-size:13px}.legacy-content td{padding:7px;vertical-align:top}.legacy-content table table{width:100%}.legacy-content input:not([type=hidden]),.legacy-content textarea{max-width:100%}.legacy-content .spoilerbox{margin:18px 0;padding:14px;background:var(--soft);border:1px solid var(--line)}.legacy-content #n1{display:none}.legacy-content .new-message-btn{display:inline-block;padding:9px 16px;min-height:44px;border:1px solid var(--line);background:var(--soft);font:14px/1.6 var(--body);text-decoration:none}.legacy-content .table-default{border:1px solid var(--line);margin:16px 0}.legacy-content hr{border:0;border-top:1px solid var(--line);margin:23px 0}.comment{padding:24px 0;border-bottom:1px solid var(--line)}.comment-meta{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-size:12px;margin-bottom:12px}.comment .reading-body{font-size:15px}.comment blockquote{padding:15px;border-left:3px solid var(--accent);margin:18px 0 0;background:var(--soft);font-size:14px}.comment blockquote p{font-size:12px;color:var(--muted)}
/* Native dialogs keep Escape, focus trapping, and keyboard return behavior. */
.utility-dialog,.image-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);width:min(92vw,520px);max-height:90svh;margin:auto;padding:26px;box-shadow:0 22px 80px #0006;overflow:auto}.utility-dialog::backdrop,.image-dialog::backdrop{background:#142015bc;backdrop-filter:blur(4px)}.dialog-close{display:block;margin:0 0 20px auto;font-size:13px}.utility-dialog h2{margin-bottom:22px}.account-form{display:flex;flex-direction:column;gap:16px;text-align:left;font:14px/1.65 var(--body)}.account-form label{display:flex;flex-direction:column;gap:4px}.account-form button{align-self:start}.register-details{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.register-details summary{margin-bottom:20px}.form-error{padding:12px;margin:15px 0;color:#832921;background:#fbe6de;border:1px solid #c78b81}.image-dialog{width:auto;max-width:94vw}.image-dialog img{display:block;max-width:100%;max-height:72svh;width:auto;height:auto;margin:auto}.image-dialog figcaption{font-size:13px;text-align:center;margin-top:13px}
@media(max-width:1200px){.page-view{margin-inline:22px}.section-nav{margin-inline:27px}}
@media(max-width:820px){body{font-size:16px}.scene-shell{display:none}.shelf-app{min-height:0;display:block}.compact-header,body[data-page=home]>.compact-header{display:flex;padding:23px 20px 16px;gap:15px;flex-wrap:wrap}.compact-brand{font-size:24px}.compact-brand img{width:26px;height:26px}.utility-nav{gap:22px;font-size:14px}.utility-nav .guestbook-frog{display:none}.mobile-home{display:block;padding:19px 20px 6px;max-width:640px;margin:auto}.mobile-home h2{font:900 36px/1.16 Arial,Helvetica,sans-serif;letter-spacing:-.04em}.mobile-home .eyebrow{margin-bottom:10px}.mobile-hint{font-size:14px;color:var(--muted);margin:15px 0 22px}.mobile-object-grid{--object-column-gap:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:17px var(--object-column-gap);align-items:stretch}.mobile-object{display:flex;flex-direction:column;min-width:0;background:var(--soft);border:1px solid var(--line);overflow:hidden;text-decoration:none}.mobile-art-frame{display:grid;place-items:end center;aspect-ratio:4/3;flex:none;overflow:hidden}.mobile-art{display:block;width:min(100%,calc(75% * var(--crop-ratio)));background-image:var(--scene);background-repeat:no-repeat}.mobile-name{display:grid;place-items:center;flex:1;padding:10px 5px;text-align:center;overflow-wrap:anywhere;font:700 14px/1.4 Arial,Helvetica,sans-serif;min-height:44px}.mobile-object:last-child{grid-column:1/-1;max-width:calc((100% - var(--object-column-gap))/2);width:100%;justify-self:center}.site-footer{font-size:11px;margin-top:24px;gap:8px 17px}.section-nav{margin:3px 20px 15px;gap:4px 18px;font-size:12px}.page-view{padding:24px 22px;margin:8px 12px 24px;min-height:0}.page-view h1{font-size:34px}.page-heading{margin-bottom:25px}.breadcrumbs{margin-bottom:24px}.page-lead{font-size:16px}.catalog-entry.has-thumbnail{grid-template-columns:120px minmax(0,1fr);gap:20px}.catalog-entry h2{font-size:25px}.detail-layout{grid-template-columns:1fr;gap:26px}.material-rail{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px;display:flex;gap:20px;flex-wrap:wrap}.material-rail>section{flex:1;min-width:140px}.metadata{display:flex;flex-wrap:wrap;gap:4px 20px}.metadata div{min-width:100px;max-width:100%;flex:1}.material-rail .contents{border:0;margin:0;padding:0;min-width:130px}.contents a{font-size:12px}.hub-links{gap:27px}.hub-links h2{font-size:23px}.archive-groups{grid-template-columns:1fr;gap:20px}.archive-groups .simple-list{margin:10px 0}.catalog-gallery{grid-template-columns:1fr 1fr;gap:20px}.catalog-gallery .catalog-entry{display:block}.catalog-gallery .entry-thumbnail img{height:150px}.detail-reading .reading-body{font-size:17px}.legacy-content td{padding:4px}.legacy-content .spoilerbox{padding:8px}.legacy-content form table td:first-child{width:25%!important}.legacy-content form table td input:not([type=hidden]):not([type=submit]){width:100%}.legacy-content .table-default{font-size:11px}.owner-preview{font-size:12px}}
@media(max-width:480px){.filters{gap:12px}.filters .filter-query{min-width:100%;flex:1}.filters label{min-width:0;flex:1}.filters button{flex:none}.catalog-entry.has-thumbnail{display:block}.entry-thumbnail{float:right;width:100px;margin:4px 0 14px 15px}.catalog-entry::after{content:'';display:table;clear:both}.entry-summary{font-size:14px}.catalog-entry h2{font-size:23px}.hub-links{grid-template-columns:1fr;gap:26px}.game-screens{grid-template-columns:1fr}.material-end{flex-direction:column;gap:10px}.detail-reading .reading-body{font-size:16px}.page-view{padding:23px 18px}.page-view h1{font-size:30px}.catalog-gallery{grid-template-columns:1fr}.catalog-gallery .entry-thumbnail{float:none;width:auto;margin:0 0 16px}.catalog-gallery .entry-thumbnail img{height:200px}.catalog-gallery h2{font-size:22px}.legacy-content form table tr{display:block}.legacy-content form table td{display:block;text-align:left!important;width:100%!important}.legacy-content form table td:empty{display:none}.legacy-content form table td:first-child{width:100%!important}.legacy-content .table-default td{overflow-wrap:anywhere}}
@media(max-width:355px){.compact-header{padding-inline:15px}.compact-brand{font-size:22px}.mobile-home{padding:15px}.mobile-home h2{font-size:33px}.mobile-name{font-size:12px}.mobile-object-grid{--object-column-gap:10px;row-gap:13px}.page-view{margin-inline:8px;padding-inline:16px}.page-view h1{font-size:28px}.utility-nav{gap:18px}.section-nav{margin-inline:16px;gap:3px 14px}.catalog-entry h2{font-size:22px}.entry-thumbnail{width:80px}.filters select{padding-inline:6px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
