:root { --ink:#211d1b; --cream:#fffaf1; --paper:#e8e0cc; --red:#8f2929; --line:#635c53; --dark:#171816; }
* { box-sizing:border-box; }
html { min-height:100%; }
html,body,body * { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 7C14 2 20 1 23 4c3 3 1 7 5 9' fill='none' stroke='%233d3731' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M8 8c0-3 2-5 5-5s5 2 5 5v7c0 5-2 8-5 8s-5-3-5-8z' fill='%23ded4bf' stroke='%233d3731' stroke-width='1.5'/%3E%3Cpath d='M13 3v8M8 11h10' fill='none' stroke='%23786e61' stroke-width='1'/%3E%3Crect x='11.5' y='5' width='3' height='5' rx='1.2' fill='%238f2929'/%3E%3C/svg%3E") 13 7,auto; }
a,button,label,a *,button *,label * { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 7C14 2 20 1 23 4c3 3 1 7 5 9' fill='none' stroke='%238f2929' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M8 8c0-3 2-5 5-5s5 2 5 5v7c0 5-2 8-5 8s-5-3-5-8z' fill='%23fffaf1' stroke='%238f2929' stroke-width='1.6'/%3E%3Cpath d='M13 3v8M8 11h10' fill='none' stroke='%238f2929' stroke-width='1'/%3E%3Crect x='11.5' y='5' width='3' height='5' rx='1.2' fill='%238f2929'/%3E%3C/svg%3E") 13 7,pointer; }
body { margin:0; padding:18px 12px 90px; color:var(--ink); background-color:#171816; background-image:radial-gradient(#4d4a43 1px,transparent 1px); background-size:13px 13px; font:12px/1.48 Georgia,serif; }
a { color:#7b2222; text-decoration:underline; }
a:hover { color:#c14343; background:#fff2a8; }
.page-shell { width:88vw; max-width:none; margin:auto; background:#d8d0bf; border:2px solid #080808; box-shadow:0 0 0 3px #8e887c,8px 10px 0 #0008; }
.site-header { padding:14px 24px; text-align:center; background-color:#eee6d4; background-image:repeating-linear-gradient(0deg,transparent 0 27px,#8f29290c 28px),radial-gradient(#6f625d12 1px,transparent 1.5px); background-size:100% 28px,23px 23px; border-bottom:1px solid #4b443d; }
.site-header img { display:block; width:min(100%,1156px); max-height:300px; margin:auto; object-fit:contain; }
.film-tabs { display:flex; align-items:stretch; flex-wrap:wrap; padding:4px; background:#211d1b; border-top:1px solid #5b5550; border-bottom:3px double #fffaf1; font:11px/1.2 "Courier New",monospace; }
.film-tabs a { padding:7px 12px; color:#fffaf1; background:#211d1b; border-right:1px solid #756e66; text-decoration:none; }
.film-tabs a:hover,.film-tabs a.active { color:#211d1b; background:#fffaf1; }
.ticker { overflow:hidden; padding:4px 8px; color:#fffaf1; background:#8f2929; border-bottom:1px solid #2c1111; white-space:nowrap; font:11px "Courier New",monospace; }
.ticker span { display:inline-block; min-width:max-content; padding-left:100%; animation:ticker 22s linear infinite; }
@keyframes ticker { to { transform:translateX(-100%); } }
.layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; padding:24px; align-items:start; }
.window,.side-box { margin:0 0 12px; background:var(--cream); border:1px solid #292522; box-shadow:2px 2px 0 #756e63; }
.window-title,.side-box>h2 { margin:0; padding:4px 8px; color:#fffaf1; background:#312d2a; border-bottom:1px solid #0e0d0c; font:normal 12px/1.2 "Courier New",monospace; letter-spacing:.5px; }
.window-title::before { content:"■ "; color:#b94b42; }
.window-body { padding:14px; }
.welcome-grid { display:grid; grid-template-columns:220px 1fr; gap:26px; align-items:start; }
.welcome-photo { width:100%; padding:7px 7px 22px; background:#f3efe5; border:1px solid #776f65; box-shadow:2px 2px #aaa; }
.welcome-grid h2 { margin:0 0 7px; color:#8f2929; font:normal 18px "Courier New",monospace; }
.quick-links { font-family:"Courier New",monospace; }
.objects-row { display:grid; grid-template-columns:1fr 1.7fr; gap:15px; align-items:center; text-align:center; }
.objects-row a { display:block; padding:8px; background:#e3ddce; border:1px dashed #776e64; font-family:"Courier New",monospace; }
.objects-row img { display:block; width:100%; max-height:230px; object-fit:contain; margin:auto; }
.mixtape-object span,.shelf-object span { display:block; margin:3px 0 6px; }
.cassette-feature { display:grid; grid-template-columns:minmax(280px,1fr) minmax(270px,.9fr); gap:14px; height:100%; text-align:center; }
.cassette-feature .cassette-link { display:grid; grid-template-columns:minmax(130px,44%) 1fr; align-items:center; gap:20px; height:100%; padding:8px 18px; color:#211d1b; background:#e3ddce; border:1px dashed #776e64; text-decoration:none; font-family:"Courier New",monospace; }
.cassette-feature .cassette-only-link { grid-template-columns:1fr; place-items:center; gap:0; }
.cassette-click { display:block!important; padding:2px 7px; color:#fffaf1; background:#8f2929; border:2px outset #c9bfb0; text-align:center!important; font:bold 8px "Courier New",monospace; letter-spacing:.5px; }
.cassette-feature img { display:block; width:100%; max-height:190px; object-fit:contain; filter:drop-shadow(3px 4px 2px #0005); }
.cassette-feature span { display:block; text-align:left; }
.cassette-feature strong,.cassette-feature small { display:block; }.cassette-feature strong { color:#8f2929; font-size:17px; }.cassette-feature small { margin-top:7px; text-decoration:underline; }
.currently-card { padding:9px 13px; text-align:left; background:#fffaf1; border:1px dotted #776e64; font-family:"Courier New",monospace; }
.currently-card h3 { margin:0 0 7px; padding-bottom:4px; color:#8f2929; border-bottom:1px dashed #8f2929; font:normal 15px "Courier New",monospace; }
.currently-card dl { display:grid; grid-template-columns:auto 1fr; gap:2px 9px; margin:0 0 8px; font-size:10px; }.currently-card dt { color:#8f2929; font-weight:bold; }.currently-card dd { margin:0; }
.home-tracklist { margin:0; padding:6px 6px 4px 24px; background:#e8e0cc; border:1px solid #c3b9a9; font-size:9px; line-height:1.5; }
.mini-tape-display { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:6px; }.mini-tape-display>a,.mini-tape-display>.future-tape { display:flex; align-items:center; justify-content:space-between; gap:5px; padding:4px 6px; color:#fffaf1; background:#312d2a; border:1px outset #8c8378; text-decoration:none; font:8px "Courier New",monospace; }.mini-tape-display b { color:#e2b75a; }.mini-tape-display span span { color:#d8d0bf; }.mini-tape-display>a:hover { color:#211d1b; background:#fffaf1; }.mini-tape-display>a:hover b { color:#8f2929; }
.home-mixtape-stage { position:relative; height:210px; margin:0!important; }
.home-mixtape-stage img { position:absolute; height:auto; margin:0; }
.home-box { inset:auto 0 0; z-index:1; width:100%!important; max-height:none!important; }
.home-box-front { z-index:10; clip-path:polygon(0 49%,30% 53%,51% 49%,76% 43%,100% 43%,100% 100%,0 100%); }
.home-mix-piece { z-index:5; filter:drop-shadow(2px 3px 2px #0006); }
.home-cd { top:34px; left:17%; width:39%!important; transform:rotate(-13deg); }
.home-beige-tape { top:51px; left:35%; width:40%!important; transform:rotate(5deg); }
.home-black-tape { top:42px; right:10%; width:39%!important; transform:rotate(13deg); }
.home-shelf-stage { position:relative; height:210px; margin:0!important; }
.home-shelf-photo { position:absolute; inset:0; width:100%!important; height:100%; max-height:none!important; object-fit:fill!important; }
.home-books { position:absolute; left:22%; right:20%; top:24%; bottom:22%; display:flex!important; align-items:flex-end; justify-content:center; gap:4px; margin:0!important; }
.home-books img { width:23%!important; height:100%; max-height:none!important; object-fit:cover!important; margin:0!important; box-shadow:1px 2px 2px #0008; }
.updates p { margin:6px 0; padding-bottom:6px; border-bottom:1px dotted #999084; }
.updates time { color:#8f2929; font:bold 12px "Courier New",monospace; }
.home-middle-row,.home-bottom-row { display:grid; grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr); gap:10px; min-height:0; }.home-middle-row>.window,.home-bottom-row>.window { min-height:0; margin:0; overflow:hidden; }.home-film-link { display:block; padding:7px; color:#211d1b; background:#e8e0cc; text-decoration:none; font:9px "Courier New",monospace; }.home-film-link>span:last-child { display:block; margin-top:4px; text-align:center; }.home-contact-sheet { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; height:72px; padding:7px; background:#101110; border-top:5px dotted #d8d0bf; border-bottom:5px dotted #d8d0bf; }.home-contact-sheet img,.home-contact-sheet i { display:grid; place-items:center; width:100%; height:100%; min-width:0; overflow:hidden; color:#aaa; background:#292d29; border:1px solid #c8c1b4; object-fit:cover; font:7px "Courier New",monospace; }
.weekly-mixtape-card { display:grid; grid-template-columns:105px minmax(0,1fr); gap:12px; height:100%; align-items:center; padding:8px; }.weekly-cassette-link { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:4px; color:#fffaf1; background:#e3ddce; border:1px dashed #776e64; text-decoration:none; }.weekly-cassette-link img { width:76px; max-height:58px; object-fit:contain; filter:drop-shadow(2px 3px 1px #0005); }.weekly-cassette-link span { padding:2px 6px; color:#fffaf1; background:#8f2929; border:2px outset #c9bfb0; font:bold 7px "Courier New",monospace; }.weekly-mixtape-copy { min-width:0; font:8px/1.35 "Courier New",monospace; }.weekly-mixtape-copy strong,.weekly-mixtape-copy small { display:block; }.weekly-mixtape-copy strong { color:#8f2929; font-size:12px; }.weekly-mixtape-copy small { margin:2px 0 5px; }.weekly-mixtape-copy ol { margin:0 0 4px; padding-left:18px; }.currently-window .currently-card { height:100%; padding:8px 12px; border:0; }.currently-window .currently-card dl { margin:0; }
.weekly-mixtape-card { grid-template-columns:minmax(125px,42%) minmax(0,1fr); align-items:stretch; }.weekly-cover-preview { display:grid; place-items:center; min-height:0; overflow:hidden; color:#fffaf1; background:#211d1b; border:6px solid #e3ddce; outline:1px solid #776e64; text-decoration:none; font:8px "Courier New",monospace; }.weekly-cover-preview img { display:block; width:100%; height:100%; object-fit:cover; filter:contrast(1.04) saturate(.92); }.weekly-cover-preview span { padding:8px; text-align:center; }.weekly-mixtape-copy { display:flex; flex-direction:column; justify-content:center; }.weekly-mixtape-copy h3 { margin:2px 0; color:#211d1b; font:bold 11px/1.2 "Courier New",monospace; }.weekly-mixtape-copy p { display:-webkit-box; margin:4px 0; overflow:hidden; font:9px/1.35 Georgia,serif; -webkit-box-orient:vertical; -webkit-line-clamp:3; }.weekly-mixtape-copy>a { margin-top:auto; }
.side-box { font-family:"Courier New",monospace; }
.side-box>p,.side-box>div { padding:0 10px; }
.now-playing audio { display:block; width:calc(100% - 16px); height:32px; margin:8px; }
.cbox { display:block; width:100%; height:340px; border:0; }
.link-list a { display:block; padding:6px 9px; border-bottom:1px dotted #9b9387; }
.feature-links { padding-bottom:8px; }.sidebar-button-shelf { display:grid; grid-template-columns:88px 1fr; gap:5px 8px; align-items:center; padding:8px!important; }.sidebar-button-shelf>a:first-child { grid-row:1 / 3; }.sidebar-button-shelf img { display:block; width:88px; height:31px; image-rendering:pixelated; }.tiny-web-link { font-size:8px; white-space:nowrap; }.open-link-drawer { display:block; margin:0 8px; padding:5px 7px; color:#fffaf1; background:#8f2929; border:2px outset #c9bfb0; text-align:center; text-decoration:none; font:9px "Courier New",monospace; }.open-link-drawer:hover { color:#211d1b; background:#fffaf1; }
.webring-box { text-align:center; padding-bottom:9px; }
.ring-status { color:#8f2929; font-size:9px; }
.coming-soon { color:#8f2929; animation:blink 1s steps(1,end) infinite; }
@keyframes blink { 50% { visibility:hidden; } }
footer { padding:12px; text-align:center; color:#dcd4c5; background:#211d1b; border-top:3px double #fffaf1; font:11px "Courier New",monospace; }
.footer-webring { white-space:nowrap; }.footer-webring a { color:#fffaf1; }.footer-webring a:hover { color:#211d1b; }
.buttons { display:flex; justify-content:center; flex-wrap:wrap; gap:4px; margin-bottom:9px; }
.button88 { display:grid; place-items:center; width:88px; height:31px; padding:2px; color:#fff!important; border:2px outset #aaa; text-align:center; text-decoration:none!important; font:bold 9px/1 "Courier New",monospace; text-shadow:1px 1px #000; }
.handcoded { background:repeating-linear-gradient(45deg,#6f2b21 0 4px,#b8a164 4px 8px); }.misty-approved { color:#171513!important; text-shadow:none; background:#d9d1c1; }.best-headphones { background:#23312e; }.sign-button { background:#8f2929; }
.counter { padding:1px 3px; color:#65ff65; background:#000; border:2px inset #777; letter-spacing:2px; }
.guestbook-page { padding:12px; }.guestbook-intro { text-align:center; }.kicker,.prompt { color:#8f2929; font-family:"Courier New",monospace; }.guestbook-frame { height:820px; background:#fffaf1; border:1px solid #292522; box-shadow:2px 2px #756e63; }.guestbook-frame iframe { display:block; width:100%; height:100%; border:0; }.guestbook-fallback { padding:10px; text-align:center; background:#fffaf1; border:1px dashed #8f2929; }
.feed-status { padding:14px; text-align:center; color:#8f2929; background:#fffaf1; border:1px dashed #8f2929; font-family:"Courier New",monospace; }.synced-post-content { overflow-wrap:anywhere; }.synced-post-content img { max-width:100%; height:auto; }.synced-post-content iframe,.synced-post-content video { max-width:100%; }.synced-post-footer { padding:8px 14px; text-align:right; background:#e3ddce; border-top:1px dotted #776e64; font:11px "Courier New",monospace; }
.about-dashboard { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr); grid-template-rows:minmax(0,1fr) minmax(0,.8fr); gap:12px; padding:12px; overflow:hidden; }.about-dashboard .window { min-height:0; margin:0; overflow:hidden; }.about-profile { grid-row:1 / 3; }.profile-grid { display:grid; grid-template-columns:minmax(170px,38%) 1fr; gap:18px; height:100%; align-items:center; }.straight-polaroid { margin:0; padding:7px 7px 24px; background:#f3efe5; border:1px solid #776f65; text-align:center; font:11px "Courier New",monospace; }.straight-polaroid img { display:block; width:100%; max-height:43vh; object-fit:cover; margin-bottom:7px; }.profile-copy h2 { color:#8f2929; font:normal 20px "Courier New",monospace; }.profile-facts { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; margin-top:12px; font:11px/1.35 "Courier New",monospace; }.profile-facts dt { color:#8f2929; font-weight:bold; }.profile-facts dd { margin:0; }.about-books { grid-column:2; grid-row:1; }.mini-bookshelf { position:relative; height:100%; min-height:180px; }.mini-shelf-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; }.mini-shelf-books { position:absolute; left:22%; right:20%; top:24%; bottom:22%; display:flex; align-items:flex-end; justify-content:center; gap:3px; }.mini-shelf-books img { width:23%; height:100%; object-fit:cover; box-shadow:1px 2px 2px #0008; }.about-misty { grid-column:2; grid-row:2; }.misty-card { display:grid; grid-template-columns:minmax(100px,35%) 1fr; gap:13px; height:100%; align-items:center; }.misty-card img { width:100%; max-height:22vh; object-fit:cover; border:5px solid #f3efe5; box-shadow:1px 1px #776f65; }.misty-card h3 { margin:0 0 5px; color:#8f2929; font:normal 16px "Courier New",monospace; }.misty-card p { margin:4px 0; font-size:11px; }.about-soundtrack { display:none; }
.archive-page { padding:16px; }.archive-intro { text-align:center; }.archive-intro h2 { color:#8f2929; font:normal 19px "Courier New",monospace; }.mixtape-entry-grid { display:grid; grid-template-columns:270px 1fr; gap:20px; align-items:center; }.mini-box-art { padding:9px; background:#e3ddce; border:1px dashed #776e64; }.mini-box-art img { display:block; width:100%; max-height:240px; object-fit:contain; }.tracklist { margin:0 0 16px; padding-left:24px; font:12px/1.75 "Courier New",monospace; }.blogspot-button { display:inline-block; padding:7px 11px; color:#fffaf1; background:#8f2929; border:2px outset #c9bfb0; font:11px "Courier New",monospace; text-decoration:none; }
.cassette-cover img { filter:drop-shadow(3px 4px 2px #0005); }
.mixtape-library-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px; align-items:start; }.week-archive-nav { position:sticky; top:0; padding-bottom:10px; color:#211d1b; background:#fffaf1; border:2px solid #292522; box-shadow:3px 3px 0 #756e63; font-family:"Courier New",monospace; }.week-archive-nav h2 { margin:0; padding:7px 9px; color:#fffaf1; background:#312d2a; border-bottom:3px double #fffaf1; font:bold 13px "Courier New",monospace; letter-spacing:.4px; }.week-archive-nav>p,.week-archive-nav>small { display:block; margin:8px; font-size:9px; }.archive-instruction { color:#8f2929; font-weight:bold; letter-spacing:.3px; }.week-link { display:block; width:calc(100% - 12px); margin:6px; padding:9px 10px; color:#211d1b; background:#e8e0cc; border:2px outset #aaa095; text-align:left; font:11px "Courier New",monospace; }.week-link::before { content:"▶ "; color:#8f2929; }.week-link b,.week-link span { display:block; }.week-link span { margin:3px 0 0 16px; font-size:9px; }.week-link:hover,.week-link.active { color:#fffaf1; background:#8f2929; }.week-link:hover::before,.week-link.active::before { color:#fffaf1; }.tape-viewer { min-width:0; }.tape-viewer .window { margin-bottom:0; }
.misty-bottom-story { position:fixed; right:0; bottom:0; left:0; z-index:999999; display:block; visibility:visible; width:100%; height:100px; overflow:hidden; pointer-events:none; background:transparent; }.misty-sprite { position:absolute; bottom:0; display:block; height:auto; filter:drop-shadow(3px 4px 0 #1f1b1938) saturate(.9); transform-origin:bottom center; }.misty-walking { left:-150px; width:120px; animation:misty-walk 18s steps(48,end) infinite,misty-step .5s steps(2,end) infinite,misty-normal 18s linear infinite; }.misty-reaching { right:1%; width:195px; opacity:0; animation:misty-reach 18s steps(1,end) infinite,misty-bob .42s steps(2,end) infinite; }.misty-story-pigeon { position:absolute; right:3%; top:10px; width:58px; opacity:0; animation:pigeon-show 18s linear infinite,pigeon-flutter .45s steps(2,end) infinite; }
@keyframes misty-walk { 0%{left:-150px} 25%{left:12%} 45%{left:34%} 63%{left:56%} 74%,100%{left:calc(100% - 210px)} } @keyframes misty-step { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-4px) rotate(1deg)} } @keyframes misty-normal { 0%,74%{opacity:1} 75%,100%{opacity:0} } @keyframes misty-reach { 0%,74%{opacity:0} 75%,93%{opacity:1} 94%,100%{opacity:0} } @keyframes misty-bob { 0%,100%{transform:translateY(1px)} 50%{transform:translateY(-3px)} } @keyframes pigeon-show { 0%,48%{opacity:0} 56%,74%{opacity:1} 75%,100%{opacity:0} } @keyframes pigeon-flutter { 0%,100%{transform:translateY(4px) rotate(-3deg)} 50%{transform:translateY(-5px) rotate(3deg)} }
@media(max-width:750px){body{padding:6px 5px 80px}.page-shell{width:100%}.layout{grid-template-columns:1fr;padding:10px;gap:10px}.welcome-grid{grid-template-columns:110px 1fr;gap:14px}.objects-row,.mixtape-entry-grid,.cassette-feature,.mixtape-library-layout,.home-middle-row,.home-bottom-row{grid-template-columns:1fr}.archive-page{padding:10px}.week-archive-nav{overflow-x:auto}.week-archive-nav #week-links{display:flex}.week-link{flex:0 0 145px}.site-header{padding:6px}.film-tabs{flex-wrap:nowrap;overflow-x:auto}.film-tabs a{white-space:nowrap}.cbox{height:300px}.about-dashboard{display:block;overflow:visible;padding:8px}.about-dashboard .window{margin-bottom:10px}.profile-grid,.misty-card{grid-template-columns:1fr}.straight-polaroid img{max-height:none}.misty-bottom-story{height:75px}.misty-walking{width:88px}.misty-reaching{width:140px}.misty-story-pigeon{width:42px}}
@media(prefers-reduced-motion:reduce){.ticker span,.coming-soon{animation:none}.misty-bottom-story{display:none}}

/* BIRDFOXGIRL WEBRING */
.webring-page { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); grid-template-rows:minmax(0,1fr) auto; gap:12px; padding:14px; overflow:auto; }.ring-intro { grid-row:1 / 3; margin:0; }.ring-intro>.window-body { display:grid; grid-template-columns:minmax(190px,34%) 1fr; gap:22px; align-items:center; height:calc(100% - 25px); }.ring-intro h2 { color:#8f2929; font:normal 20px "Courier New",monospace; }.cassette-ring-badge { position:relative; display:flex; flex-direction:column; justify-content:center; aspect-ratio:1.55/1; padding:12%; color:#211d1b; background:#d7caa8; border:8px solid #4d4942; border-radius:9px; box-shadow:4px 5px 0 #0005; text-align:center; font-family:"Courier New",monospace; }.cassette-ring-badge::before,.cassette-ring-badge::after { content:""; position:absolute; top:40%; width:22%; aspect-ratio:1; background:#292522; border:5px double #d8d0bf; border-radius:50%; }.cassette-ring-badge::before { left:14%; }.cassette-ring-badge::after { right:14%; }.cassette-ring-badge b { position:absolute; top:9%; right:8%; left:8%; padding:3px; color:#fffaf1; background:#8f2929; letter-spacing:1px; }.cassette-ring-badge span { position:absolute; right:8%; bottom:10%; left:8%; font-size:9px; }.cassette-ring-badge i { position:absolute; right:7%; top:48%; font-style:normal; font-size:9px; }.ring-directory,.ring-join { margin:0; }.ring-directory ol { margin:0; padding-left:22px; font:11px "Courier New",monospace; }.ring-directory li { padding:7px 0; border-bottom:1px dotted #8f2929; }.ring-directory li span { display:block; margin-top:3px; color:#514440; font-family:Georgia,serif; }.ring-join p { margin-top:0; }
@media(max-width:750px){.webring-page{display:block;overflow:visible;padding:8px}.webring-page>.window{margin-bottom:10px}.ring-intro>.window-body{grid-template-columns:1fr;height:auto}.cassette-ring-badge{width:min(100%,260px);margin:auto}}

/* 88x31 LINK WALL */
.links-page { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); grid-template-rows:minmax(0,1fr) auto; gap:12px; padding:14px; overflow:auto; }.links-wall-window { grid-row:1 / 3; margin:0; }.links-intro { max-width:650px; margin:0 auto 18px; text-align:center; }.button-wall { display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:center; gap:5px; padding:18px; background:#211d1b; border:3px ridge #aaa095; }.site-button { display:flex; flex-direction:column; justify-content:center; width:88px; height:31px; padding:2px; overflow:hidden; border:2px outset #aaa; text-align:center; text-decoration:none!important; font:7px/1 "Courier New",monospace; image-rendering:pixelated; }.site-button:hover { transform:translateY(-2px); filter:brightness(1.15); }.site-button b,.site-button span { display:block; }.neocities-button { color:#fff!important; background:linear-gradient(135deg,#cd4f4f,#52232e); }.hotline-button { color:#111!important; background:repeating-linear-gradient(45deg,#f5cf47 0 4px,#ef596f 4px 8px); }.archive-button { color:#fff!important; background:#222; }.atabook-button { color:#472f21!important; background:#efdcae; }.blogger-button { color:#fff!important; background:#ef7421; }.cbox-button { color:#fff!important; background:#536e79; }.future-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; margin-top:10px; }.future-buttons span { display:grid; place-items:center; width:88px; height:31px; color:#776f65; background:#e3ddce; border:1px dashed #776f65; font:6px "Courier New",monospace; }.link-back-window,.link-rules-window { margin:0; }.link-back-grid { display:grid; grid-template-columns:135px 1fr; gap:15px; align-items:center; }.birdfox-own-button { display:block; width:88px; height:31px; margin:auto; image-rendering:pixelated; }.link-back-grid code { display:block; overflow-wrap:anywhere; font-size:8px; }.link-back-grid h3 { margin-top:0; color:#8f2929; font:normal 14px "Courier New",monospace; }.link-rules-window ul { margin:0; padding-left:20px; font-size:10px; }

/* MIXTAPE PAGE: scrollable week drawer + separate listening-room Cbox */
.mixtape-sidebar { display:flex; flex-direction:column; gap:12px; min-width:0; }
.mixtape-sidebar .week-archive-nav { position:static; }
.mixtape-sidebar #week-links { max-height:210px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#8f2929 #e8e0cc; }
.mixtape-chat-window { margin:0; }
.mixtape-cbox { display:block; width:100%; height:285px; border:0; background:#fffaf1; }

@media(max-width:750px) {
  .mixtape-sidebar #week-links { display:flex; max-height:none; overflow-x:auto; overflow-y:hidden; }
  .mixtape-sidebar .week-link { flex:0 0 145px; }
  .mixtape-cbox { height:330px; }
}

/* ================================================================
   HOMEPAGE WEEKLY MIXTAPE — TINY TWEE PAPER PREVIEW
   The words and tracks update from mixtape-data.js.
================================================================ */
.home-page .weekly-mixtape-card {
  display:block;
  min-height:0;
  padding:7px;
  background:#ddd5c4;
}

.home-page .weekly-twee-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(170px, 1.1fr);
  grid-template-areas:
    "kicker tracks"
    "title tracks"
    "date tracks"
    "intro open";
  gap:2px 14px;
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:105px;
  padding:14px 15px 10px;
  overflow:hidden;
  color:#302923;
  background-color:#fffaf1;
  background-image:repeating-linear-gradient(0deg,transparent 0,transparent 22px,rgba(165,42,42,.055) 23px);
  border:1px solid #8e8579;
  box-shadow:3px 3px 0 rgba(31,27,25,.28);
  text-decoration:none;
}

.home-page .weekly-twee-card:hover {
  color:#302923;
  border-color:#a52a2a;
  box-shadow:3px 3px 0 rgba(165,42,42,.32);
}

.home-page .weekly-twee-tape {
  position:absolute;
  top:-4px;
  left:19%;
  width:50px;
  height:12px;
  background:rgba(165,42,42,.48);
  border-right:1px solid rgba(70,32,28,.18);
  border-left:1px solid rgba(70,32,28,.18);
  transform:rotate(-1deg);
}

.home-page .weekly-twee-kicker {
  grid-area:kicker;
  align-self:end;
  color:#a52a2a;
  font:10px/1.2 "Courier New",Courier,monospace;
  letter-spacing:.5px;
}

.home-page .weekly-twee-title {
  grid-area:title;
  display:block;
  font:normal 18px/1.08 Georgia,serif;
  text-transform:lowercase;
}

.home-page .weekly-twee-date {
  grid-area:date;
  color:#695e55;
  font:9px/1.2 "Courier New",Courier,monospace;
}

.home-page .weekly-twee-intro {
  grid-area:intro;
  align-self:end;
  max-height:30px;
  overflow:hidden;
  font:10px/1.35 Georgia,serif;
}

.home-page .weekly-twee-tracks {
  grid-area:tracks;
  align-self:center;
  margin:0;
  padding:5px 5px 5px 26px;
  border-left:1px dashed #a52a2a;
  font:9px/1.45 "Courier New",Courier,monospace;
}

.home-page .weekly-twee-open {
  grid-area:open;
  align-self:end;
  justify-self:end;
  color:#a52a2a;
  font:bold 9px/1.25 "Courier New",Courier,monospace;
  border-bottom:1px dashed #a52a2a;
}

@media(max-width:750px) {
  .home-page .weekly-twee-card {
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "date" "intro" "tracks" "open";
    height:auto;
    padding:17px 15px 13px;
  }

  .home-page .weekly-twee-tracks {
    margin-top:7px;
    border-top:1px dashed #a52a2a;
    border-left:0;
  }
}

/* FULL LOCAL WEEKLY-MIXTAPE POST — preserved from the original diary */
.local-mixtape-post { padding:16px; }
.weekly-mixtape-intro { margin:0 0 24px; padding:24px; background:#fffaf1; border:1px dashed #a52a2a; box-shadow:5px 5px 0 rgba(31,27,25,.3),0 1px 4px rgba(31,27,25,.14); text-align:center; }
.mixtape-label,.mixtape-date { color:#a52a2a; font:12px/1.5 "Courier New",Courier,monospace; letter-spacing:1px; text-transform:lowercase; }
.weekly-mixtape-intro h2 { margin:8px 0 4px; color:#1f1b19; font:bold 25px "Courier New",Courier,monospace; letter-spacing:1px; text-transform:lowercase; }
.weekly-mixtape-intro p { max-width:620px; margin:18px auto 0; color:#514440; font:14px/1.75 Georgia,serif; }
.weekly-song { position:relative; display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; margin:0 0 24px; padding:22px; background-color:#fffaf1; background-image:repeating-linear-gradient(0deg,transparent 0,transparent 27px,rgba(165,42,42,.045) 28px); border:1px dashed #a52a2a; box-shadow:5px 5px 0 rgba(31,27,25,.3),0 1px 4px rgba(31,27,25,.14); }
.song-number { color:#a52a2a; font:bold 20px "Courier New",Courier,monospace; }
.song-details h3 { margin:0; color:#1f1b19; font:bold 20px/1.35 "Courier New",Courier,monospace; letter-spacing:.5px; }
.song-meta { margin:5px 0 15px; color:#a52a2a; font:12px/1.5 "Courier New",Courier,monospace; }
.song-details h4 { margin:20px 0 7px; color:#a52a2a; font:bold 13px "Courier New",Courier,monospace; letter-spacing:.7px; text-transform:lowercase; }
.song-details p { margin:0; color:#514440; font:14px/1.75 Georgia,serif; }
.video-frame { position:relative; width:100%; padding-bottom:56.25%; overflow:hidden; background:#1f1b19; border:1px solid #1f1b19; box-shadow:3px 3px 0 rgba(165,42,42,.25); }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.bandcamp-frame-small { box-sizing:border-box; width:100%; height:42px; margin:0; overflow:hidden; line-height:0; }
.bandcamp-frame-small iframe { display:block; box-sizing:border-box; width:100%!important; height:42px!important; margin:0; border:0!important; }
.mixtape-ending { margin:6px 0 10px; color:#a52a2a; text-align:center; font:bold 12px "Courier New",Courier,monospace; letter-spacing:1px; }
@media(max-width:550px) { .weekly-song { grid-template-columns:1fr; padding:17px; } .weekly-mixtape-intro { padding:19px; } .weekly-mixtape-intro h2 { font-size:21px; } .song-details h3 { font-size:18px; } }

.button-wall-heading { margin:10px 0 4px; color:#8f2929; text-align:center; font:normal 13px "Courier New",monospace; }.things-heading { margin-top:14px; }.things-wall { padding:10px; background:#312d2a; }.rym-button { color:#fffaf1!important; background:repeating-linear-gradient(135deg,#173a42 0 6px,#28636d 6px 12px); text-shadow:1px 1px #000; }.rym-button b { color:#f1cf58; }.rym-button span { margin-top:2px; font-size:5px; }
.friend-image-button { display:block; width:88px; height:31px; border:2px outset #aaa; text-decoration:none!important; }.friend-image-button:hover { transform:translateY(-2px); }.friend-image-button img { display:block; width:88px; height:31px; image-rendering:pixelated; }
@media(max-width:750px){.links-page{display:block;overflow:visible;padding:8px}.links-page>.window{margin-bottom:10px}.link-back-grid{grid-template-columns:1fr;text-align:center}}
@media(max-width:480px){.weekly-mixtape-card{grid-template-columns:1fr}.weekly-cover-preview{min-height:150px}}

/* ABOUT ME: chalkboard wall */
.about-screen .about-dashboard { grid-template-columns:minmax(0,1.35fr) minmax(165px,.46fr) minmax(180px,.5fr) minmax(210px,.58fr); grid-template-rows:minmax(0,1fr) minmax(0,.72fr); padding:14px; background-color:#202622; background-image:linear-gradient(87deg,#ffffff08 1px,transparent 1px),radial-gradient(#fff 0.5px,transparent .8px); background-size:97px 100%,31px 29px; border:9px ridge #5b3b25; }
.about-screen .about-profile { grid-column:1; grid-row:1 / 3; border-color:#d8d0bf; box-shadow:3px 3px 0 #0008; }
.about-screen .straight-polaroid img { filter:grayscale(1) contrast(1.12) brightness(.92); }
.about-screen .about-posters { grid-column:2; grid-row:1; }
.about-screen .about-photos { grid-column:3; grid-row:1; }
.about-screen .about-books { grid-column:4; grid-row:1; }
.about-screen .about-misty { grid-column:2 / 5; grid-row:2; }
.chalk-card { min-height:0; overflow:hidden; padding:9px; color:#eee9dc; background:#27302b; border:1px solid #d8d0bfa8; box-shadow:2px 2px 0 #080a08; font-family:"Courier New",monospace; }
.chalk-card>h2 { margin:-9px -9px 8px; padding:5px 8px; color:#f6f0df; background:#161b18; border-bottom:1px dashed #ddd5c4; font:normal 12px "Courier New",monospace; }
.film-drawer-link { display:flex; flex-direction:column; height:calc(100% - 25px); padding:7px; color:#f4edde; background:#191d1a; border:1px dashed #d8d0bf; text-decoration:none; }
.film-drawer-link:hover { color:#fff; background:#303a34; }
.film-drawer-link strong { margin-top:7px; font-size:11px; }.film-drawer-link small { margin-top:4px; color:#e7bf72; font-size:9px; }
.contact-sheet-preview { display:grid; grid-template-columns:1fr 1fr; gap:4px; flex:1; min-height:55px; padding:7px; background:#0b0c0b; border-top:5px dotted #d8d0bf; border-bottom:5px dotted #d8d0bf; }
.contact-sheet-preview i { background:linear-gradient(135deg,#969b91,#353b37 52%,#c7c3b7); border:1px solid #d8d0bf; filter:grayscale(1); }
.poster-pair { display:grid; grid-template-columns:1fr 1fr; gap:7px; height:calc(100% - 25px); align-items:start; }.poster-pair figure { position:relative; margin:5px 0 0; padding:5px 5px 18px; background:#e8e0cc; border:1px solid #766f65; box-shadow:2px 2px 0 #0007; }.poster-pair figure::before { content:""; position:absolute; top:-7px; left:50%; width:34px; height:12px; background:#d2bd83c9; transform:translateX(-50%); }.poster-pair img { display:block; width:100%; max-height:22vh; object-fit:contain; background:#111; }.poster-pair figcaption { position:absolute; right:4px; bottom:3px; left:4px; overflow:hidden; color:#292522; text-align:center; white-space:nowrap; font:7px "Courier New",monospace; }.poster-pair figure:nth-child(2) { margin-top:13px; }
.about-screen .mini-bookshelf { width:min(100%,230px); height:100%; min-height:100px; max-height:145px; margin:auto; }
.about-screen .misty-card { grid-template-columns:minmax(90px,24%) 1fr; gap:16px; }.about-screen .misty-card img { max-height:16vh; filter:grayscale(.2); }

/* 35MM PHOTO ARCHIVE */
.photos-screen .page-shell { background:#202622; }
.photo-archive { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:220px minmax(0,1fr); gap:14px; padding:14px; overflow:hidden; background:#202622; border:8px ridge #5b3b25; }
.roll-nav { min-height:0; padding-bottom:8px; overflow:auto; color:#eee9dc; background:#161b18; border:1px solid #d8d0bf; font-family:"Courier New",monospace; }
.roll-nav h1 { margin:0; padding:7px 9px; color:#191b18; background:#e8e0cc; font:normal 14px "Courier New",monospace; }.roll-nav>p,.roll-nav>a { display:block; margin:9px; font-size:9px; }.roll-nav>a { color:#eee9dc; }
.roll-button { display:block; width:calc(100% - 12px); margin:6px; padding:9px; color:#eee9dc; background:#303832; border:2px outset #777c76; text-align:left; font:10px "Courier New",monospace; }.roll-button small { color:#d2c9b8; }.roll-button:hover,.roll-button.active { color:#171816; background:#e7bf72; }.roll-button:hover small,.roll-button.active small { color:#5b251e; }
.darkroom-viewer { min-width:0; min-height:0; overflow:auto; color:#eee9dc; background:#101310; border:1px solid #d8d0bf; }
.darkroom-heading { display:flex; justify-content:space-between; gap:10px; padding:6px 9px; color:#171816; background:#e8e0cc; border-bottom:1px solid #aaa095; font:11px "Courier New",monospace; }
.empty-contact-sheet { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:16px; }.empty-contact-sheet p { grid-column:1 / -1; text-align:center; font-family:"Courier New",monospace; }.film-frame { display:grid; place-items:center; aspect-ratio:3/2; color:#777; background:#050505; border:7px solid #171717; outline:1px solid #aaa; }
.film-post-content { padding:14px; overflow-wrap:anywhere; }.film-post-content img { max-width:100%; height:auto; filter:contrast(1.03) saturate(.9); }.film-post-content iframe,.film-post-content video { max-width:100%; }.film-original { margin:0; padding:8px 14px; text-align:right; border-top:1px dashed #d8d0bf; font:10px "Courier New",monospace; }.film-original a { color:#e7bf72; }
.film-roll-notes { margin:0 0 10px; color:#d8d0bf; font:10px/1.5 "Courier New",monospace; }
.film-contact-sheet { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:10px; background:#070807; border-top:7px dotted #d8d0bf; border-bottom:7px dotted #d8d0bf; }
.film-photo { position:relative; min-width:0; margin:0; padding:6px 6px 22px; background:#111; border:1px solid #8d897e; }
.film-photo img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; background:#050505; }
.film-photo figcaption { position:absolute; right:6px; bottom:5px; left:6px; overflow:hidden; color:#d8d0bf; text-align:center; text-overflow:ellipsis; white-space:nowrap; font:8px "Courier New",monospace; }
.film-frame-number { position:absolute; top:9px; left:9px; z-index:1; padding:2px 4px; color:#eee9dc; background:#111c; font:7px "Courier New",monospace; }

@media(max-width:750px){.about-screen .about-dashboard{display:block;border-width:5px}.about-screen .about-dashboard>*{margin-bottom:10px}.about-screen .mini-bookshelf{height:160px;max-height:none}.photo-archive{display:block;overflow:visible;border-width:5px}.roll-nav{margin-bottom:10px}.roll-nav #roll-links{display:flex;overflow-x:auto}.roll-button{flex:0 0 155px}.darkroom-viewer{overflow:visible}.empty-contact-sheet{grid-template-columns:1fr 1fr}.film-contact-sheet{grid-template-columns:1fr}}

/* Fit the unchanged desktop homepage into one computer screen. */
@media (min-width:751px) {
  body.home-page {
    height:100vh;
    padding:16px 0;
    overflow:hidden;
  }

  .home-page .page-shell {
    flex:none;
    width:88vw;
    max-width:none;
    margin-left:6vw;
    margin-right:0;
    transform-origin:top left;
  }

  body.screen-page {
    height:100vh;
    padding:16px 0;
    overflow:hidden;
  }

  .screen-page .page-shell {
    display:flex;
    flex-direction:column;
    width:88vw;
    height:calc(100vh - 32px);
    overflow:hidden;
  }

  .screen-page .site-header {
    flex:0 0 clamp(105px,15vh,155px);
    min-height:0;
    padding:5px 20px;
  }

  .screen-page .site-header img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:contain;
  }

  .screen-page .film-tabs,
  .screen-page .ticker,
  .screen-page footer {
    flex:0 0 auto;
  }

  .screen-page .guestbook-page,
  .screen-page .archive-page {
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    scrollbar-color:#8f2929 #e3ddce;
    scrollbar-width:thin;
  }

  .guestbook-screen .guestbook-page {
    display:grid;
    grid-template-columns:minmax(280px,32%) 1fr;
    grid-template-rows:minmax(0,1fr) auto;
    gap:12px;
  }

  .guestbook-screen .guestbook-page > .window {
    grid-column:1;
    grid-row:1;
    margin:0;
  }

  .guestbook-screen .guestbook-frame {
    grid-column:2;
    grid-row:1;
    height:auto;
    min-height:0;
  }

  .guestbook-screen .guestbook-fallback {
    grid-column:1 / -1;
    grid-row:2;
    margin:0;
    padding:5px;
  }

  .mixtapes-screen .archive-page {
    padding:12px 18px;
  }

  .about-screen .about-dashboard { flex:1 1 auto; }

  .home-page .layout {
    flex:1 1 auto;
    min-height:0;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:12px;
    padding:12px;
    overflow:hidden;
  }

  /* Compact homepage pieces so the updates and footer remain on-screen. */
  .home-page .site-header {
    flex-basis:clamp(105px,15vh,155px);
  }

  .home-page .layout main {
    grid-template-rows:auto minmax(118px,1fr) 104px;
  }

  .home-page .welcome-window .window-body {
    padding:9px 12px;
  }

  .home-page .welcome-grid {
    grid-template-columns:112px 1fr;
    gap:13px;
  }

  .home-page .welcome-photo {
    max-height:128px;
    padding:5px 5px 13px;
  }

  .home-page .welcome-grid h2 {
    margin-bottom:3px;
    font-size:16px;
  }

  .home-page .welcome-grid p {
    margin:5px 0;
    line-height:1.35;
  }

  .home-page .cassette-feature {
    grid-template-columns:minmax(225px,.8fr) minmax(240px,1.2fr);
    gap:9px;
    padding:7px 9px;
  }

  .home-page .cassette-feature .cassette-link {
    grid-template-columns:92px 1fr;
    gap:10px;
    padding:5px 9px;
  }

  .home-page .cassette-feature img {
    max-height:92px;
  }

  .home-page .cassette-feature strong {
    font-size:14px;
  }

  .home-page .cassette-feature small {
    margin-top:3px;
    font-size:8px;
  }

  .home-page .currently-card {
    padding:6px 9px;
  }

  .home-page .currently-card h3 {
    margin-bottom:4px;
    padding-bottom:2px;
    font-size:12px;
  }

  .home-page .currently-card dl {
    gap:1px 7px;
    margin-bottom:4px;
    font-size:8px;
    line-height:1.25;
  }

  .home-page .home-tracklist {
    padding:3px 4px 2px 20px;
    font-size:7px;
    line-height:1.3;
  }

  .home-page .mini-tape-display {
    margin-top:3px;
  }

  .home-page .mini-tape-display>a,
  .home-page .mini-tape-display>.future-tape {
    padding:2px 4px;
    font-size:7px;
  }

  .home-page .home-contact-sheet {
    height:50px;
    padding:4px;
    border-top-width:3px;
    border-bottom-width:3px;
  }

  .home-page .home-film-link {
    padding:4px 6px;
    font-size:8px;
  }

  .home-page .home-film-link>span:last-child {
    margin-top:2px;
  }

  .home-page .home-bottom-row .window-body {
    padding:7px 9px;
  }

  .home-page .layout main {
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:10px;
    align-self:stretch;
    height:100%;
    min-height:0;
    overflow:hidden;
  }

  .home-page .layout main .window {
    min-height:0;
    margin:0;
    overflow:hidden;
  }

  .home-page .welcome-grid {
    grid-template-columns:150px 1fr;
    gap:16px;
  }

  .home-page .welcome-photo {
    max-height:175px;
    object-fit:cover;
  }

  .home-page .cassette-feature {
    min-height:0;
    padding:10px 12px;
  }

  .home-page .cassette-feature img {
    max-height:155px;
  }

  .home-page .updates p {
    display:inline;
    margin-right:14px;
    padding:0;
    border:0;
    font-size:10px;
  }

  .home-page aside {
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:0;
    overflow:hidden;
  }

  .home-page aside .side-box {
    flex:0 0 auto;
    margin:0;
  }

  .home-page .chat-box {
    display:flex;
    flex:1 1 220px;
    flex-direction:column;
    min-height:145px;
  }

  .home-page .chat-box .cbox {
    flex:1 1 auto;
    height:auto;
    min-height:0;
  }

  .home-page footer {
    padding:6px 10px;
  }

  .home-page footer .buttons {
    display:inline-flex;
    margin:0 10px 0 0;
    vertical-align:middle;
  }

  .home-page footer p {
    display:inline;
    margin:0;
  }
}

/* Smaller browser windows become scrollable instead of clipping content. */
@media (min-width:751px) and (max-width:980px),
       (min-width:751px) and (max-height:720px) {
  body.home-page,
  body.screen-page {
    height:auto;
    min-height:100vh;
    padding:12px 0 70px;
    overflow:auto;
  }

  .home-page .page-shell,
  .screen-page .page-shell {
    display:block;
    width:92vw;
    height:auto;
    min-height:calc(100vh - 24px);
    margin:0 auto;
    overflow:visible;
    transform:none!important;
  }

  .home-page .site-header,
  .screen-page .site-header {
    height:auto;
    min-height:100px;
  }

  .home-page .site-header img,
  .screen-page .site-header img {
    height:auto;
    max-height:155px;
  }

  .film-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
  }

  .film-tabs a {
    flex:0 0 auto;
    white-space:nowrap;
  }

  .home-page .layout {
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    overflow:visible;
  }

  .home-page .layout main,
  .home-page .layout aside {
    display:block;
    overflow:visible;
  }

  .home-page .layout main .window,
  .home-page aside .side-box {
    margin-bottom:12px;
    overflow:visible;
  }

  .home-page .chat-box {
    display:block;
  }

  .home-page .chat-box .cbox {
    height:320px;
  }

  .screen-page .guestbook-page,
  .screen-page .archive-page,
  .about-screen .about-dashboard {
    display:block;
    overflow:visible;
  }

  .guestbook-screen .guestbook-frame {
    height:650px;
    margin-bottom:12px;
  }

  .about-dashboard .window {
    margin-bottom:12px;
  }
}

/* Final desktop sizing overrides: keep every homepage row and footer visible. */
@media (min-width:981px) and (min-height:721px) {
  .home-page .layout main { grid-template-rows:auto minmax(145px,1fr) 112px; }
  .home-page .welcome-grid { grid-template-columns:112px 1fr; gap:13px; }
  .home-page .welcome-photo { max-height:128px; padding:5px 5px 13px; }
  .home-page .cassette-feature { grid-template-columns:125px minmax(0,1fr); gap:9px; padding:5px 8px; }
  .home-page .cassette-feature .cassette-only-link { display:grid; place-items:center; grid-template-columns:1fr; gap:0; padding:4px; }
  .home-page .cassette-feature .cassette-only-link { width:105px; height:96px; margin:auto; padding:4px; }
  .home-page .cassette-feature .cassette-only-link img { width:67px; max-height:53px; transition:transform .18s ease; }
  .home-page .cassette-feature .cassette-only-link:hover img { transform:rotate(-2deg) scale(1.06); }
  .home-page .home-middle-row,.home-page .home-bottom-row { height:100%; }
  .home-page .home-middle-row>.window,.home-page .home-bottom-row>.window { display:flex; flex-direction:column; }
  .home-page .home-film-link { display:flex; flex:1; flex-direction:column; min-height:0; }
  .home-page .home-contact-sheet { flex:1; height:auto; min-height:88px; }
  .home-page .weekly-mixtape-card { flex:1; min-height:0; }
  .home-page .currently-window .currently-card { flex:1; min-height:0; }
  .home-page .home-bottom-row .updates { flex:1; }
  .home-page .home-bottom-row .updates p { display:block; margin:4px 0; padding:0 0 5px; border-bottom:1px dotted #999084; }
}

/* Final homepage listening-room height override. */
@media(min-width:751px) {
  .home-page aside .chat-box { flex:1 1 310px; min-height:240px; }
  .home-page aside .chat-box .cbox { flex:1 1 auto; height:100%; min-height:230px; }
}

/* Final homepage alignment: equal bottom windows and balanced sidebar boxes. */
@media(min-width:751px) {
  .home-page .home-bottom-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .home-bottom-row > .window { height:100%; }
  .home-page aside { gap:6px; }
  .home-page aside .chat-box { position:relative; top:-2px; }
  .home-page aside .feature-links { flex:0 0 112px; min-height:112px; padding-bottom:5px; }
  .home-page aside .feature-links .sidebar-button-shelf { padding:5px 8px!important; }
  .home-page aside .feature-links .open-link-drawer { padding:3px 7px; }
}

/* Keep homepage sidebar above the footer */
@media (min-width: 751px) {
  .home-page aside .chat-box {
    flex: 1 1 250px;
    min-height: 180px;
  }

  .home-page aside .chat-box .cbox {
    height: 100%;
    min-height: 170px;
  }

  .home-page aside .feature-links {
    flex: 0 0 100px;
    min-height: 100px;
    margin-bottom: 6px;
    padding-bottom: 4px;
  }

  .home-page aside .feature-links .sidebar-button-shelf {
    padding: 4px 8px !important;
  }

  .home-page aside .feature-links .open-link-drawer {
    padding: 2px 7px;
  }
}
