:root { --night:#080807; --paper:#d4d0c8; --muted:#938f87; --chrome:#1b1a18; --blue:#76151d; --red:#971f28; --red-light:#e34b55; --line:#35322d; }
* { box-sizing:border-box; }
html { min-height:100%; background:#090908; }
body { min-height:100vh; margin:0; color:var(--paper); font-family:Arial,Helvetica,sans-serif; background:#0c0805 url("assets/vintage-texture-hq.png") center/cover fixed; overflow-x:hidden; }
body::before { content:""; position:fixed; z-index:0; inset:0; pointer-events:none; background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.7) 100%); }
body::after,.grain { display:none; }
.page-shell { position:relative; z-index:2; width:min(100% - 34px,600px); margin:48px auto 72px; padding:3px; background:#151310; border:2px solid; border-color:#4d4941 #050505 #050505 #4d4941; outline:1px solid #000; box-shadow:13px 14px 0 rgba(0,0,0,.62),0 30px 60px rgba(0,0,0,.65); transition:width .2s ease,margin .2s ease; }
.page-shell::before { display:none; }
.masthead { min-height:29px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#d9d5cc; background:linear-gradient(90deg,#38070d,var(--blue)); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }.window-controls { display:flex; gap:3px; }.window-controls button { width:19px; height:18px; padding:0 0 2px; color:#d6d2c9; background:#272825; border:1px solid; border-color:#77746d #050505 #050505 #77746d; font:700 12px/1 Arial,sans-serif; cursor:pointer; }.window-controls button:hover,.window-controls button:focus-visible { color:#fff; background:var(--red); outline:1px dotted #fff; outline-offset:-4px; }.window-controls button:active { border-color:#050505 #77746d #77746d #050505; padding:2px 0 0 2px; }
.profile { margin:0; padding:37px 19px 28px; text-align:center; background:rgba(7,6,5,.95); border:1px solid #302b25; border-top:0; animation:reveal .75s both; }
.portrait-wrap { position:relative; isolation:isolate; width:143px; height:143px; margin:0 auto 22px; padding:6px; overflow:visible; background:#302d28; border:2px solid; border-color:#514d46 #050505 #050505 #514d46; box-shadow:6px 7px 0 rgba(0,0,0,.45),0 0 23px rgba(0,0,0,.2); transform:rotate(-2deg); }.portrait-wrap::after { content:""; position:absolute; z-index:1; inset:6px; pointer-events:none; background:radial-gradient(circle at 50% 42%,transparent 44%,rgba(4,3,2,.34) 100%); box-shadow:inset 0 0 0 1px rgba(218,190,142,.11); }.portrait { position:relative; z-index:0; display:block; width:100%; height:100%; object-fit:cover; object-position:50% 42%; filter:contrast(1.08) brightness(.78) saturate(.56) sepia(.1); }
h1 { margin:0; color:#d3ccbd; font:700 clamp(2.6rem,10vw,4.2rem)/1 Tahoma,"MS Sans Serif",Arial,sans-serif; letter-spacing:-.055em; text-shadow:2px 2px 0 #050505; } .bio { max-width:355px; margin:17px auto 0; color:#aaa398; font-size:.88rem; line-height:1.7; }.ornament { display:flex; align-items:center; justify-content:center; gap:10px; margin:25px 0 0; color:#aaa397; }.ornament span { width:62px; height:1px; background:#464037; }.ornament i { font-size:15px; font-style:normal; }
.links { display:grid; gap:9px; margin:0; padding:15px; background:#0d0c0a; border:1px solid #302b25; border-top:0; }
.social-card { min-height:61px; display:grid; grid-template-columns:43px 1fr 26px; align-items:center; padding:8px 11px; color:#cac3b6; text-decoration:none; background:var(--chrome); border:2px solid; border-color:#403d37 #050505 #050505 #403d37; animation:reveal .6s var(--delay) both; transition:transform .14s ease,background .14s ease,color .14s ease; }.social-card:hover,.social-card:focus-visible { color:#f5dfe1; background:linear-gradient(90deg,#4b1117,var(--red)); border-color:#050505 #a33a42 #a33a42 #050505; transform:translate(1px,1px); outline:none; }.social-card:focus-visible { box-shadow:0 0 0 2px var(--red-light); }.card-icon { width:29px; height:29px; display:grid; place-items:center; border:1px solid currentColor; font:500 .85rem/1 "DM Mono",monospace; }.card-copy { display:grid; gap:3px; text-align:left; }.card-copy strong { font-size:.86rem; font-weight:700; letter-spacing:-.01em; }.card-copy small { color:#817c73; font:400 9px/1 "DM Mono",monospace; letter-spacing:.04em; }.social-card:hover small { color:#f2b7bc; }.arrow { text-align:right; font:400 1.4rem/1 Georgia,serif; }
.curio { position:relative; min-height:104px; margin:0; padding:16px 49px 15px 16px; color:#bab2a5; background:#12110f; border:2px solid; border-color:#3e3a34 #050505 #050505 #3e3a34; }.curio::before { content:"SYSTEM NOTE"; position:absolute; top:7px; left:8px; padding:2px 4px; color:#f0d6d8; background:#76151d; font:700 8px/1 Arial,sans-serif; letter-spacing:.08em; }.curio-number { display:block; margin-top:18px; margin-bottom:6px; color:#827c72; font:500 9px/1 "DM Mono",monospace; }.curio p { margin:0; color:#d2cabe; font:700 14px/1.35 Tahoma,"MS Sans Serif",Arial,sans-serif; letter-spacing:-.02em; }.curio-arrow { position:absolute; right:18px; bottom:12px; color:#857f73; font:1.7rem/1 Georgia,serif; animation:wander 2.5s ease-in-out infinite; }
footer { display:flex; justify-content:space-between; align-items:center; min-height:23px; margin:3px 0 0; padding:3px 6px; color:#858076; background:#131210; border:1px solid; border-color:#050505 #45413b #45413b #050505; font:400 8px/1 "DM Mono",monospace; letter-spacing:.05em; }.footer-mark { padding:2px 4px; border:1px solid #403d37; color:#aaa398; font:bold 7px/1 Tahoma,"MS Sans Serif",Arial,sans-serif; letter-spacing:0; }
.desktop-shortcut { position:fixed; z-index:3; top:21px; left:18px; width:66px; padding:4px; display:grid; gap:4px; place-items:center; color:#c5c0b6; background:transparent; border:1px solid transparent; font:10px/1.15 Tahoma,"MS Sans Serif",Arial,sans-serif; text-align:center; text-shadow:1px 1px #050505; cursor:grab; touch-action:none; }.desktop-shortcut--ie { top:107px; }.shortcut-icon { display:grid; place-items:center; width:31px; height:31px; color:#f1d5d7; background:linear-gradient(135deg,#69121a,#15130f); border:2px solid; border-color:#55534f #050505 #050505 #55534f; box-shadow:2px 2px #000; font:bold 18px/1 Tahoma,Arial,sans-serif; }.shortcut-icon--ie { color:#ee878d; background:radial-gradient(circle at 66% 32%,#d8cf97 0 7%,transparent 8%),linear-gradient(135deg,#76151d,#161410); border-radius:50%; font:italic bold 23px/1 Georgia,serif; }.desktop-shortcut--game { top:201px; }.desktop-shortcut:hover,.desktop-shortcut:focus-visible { background:rgba(151,31,40,.32); border-color:#a98386; outline:none; }.desktop-shortcut:active { cursor:grabbing; }.desktop-shortcut:focus-visible { outline:1px dotted #fff; outline-offset:2px; }
.taskbar { position:fixed; z-index:100; right:0; bottom:0; left:0; min-height:34px; display:flex; align-items:center; gap:6px; padding:3px 5px; background:#171614; border-top:2px solid #48443d; box-shadow:0 -1px #050505; }.start-button,.task-button { min-height:25px; padding:3px 8px; color:#c6c0b5; background:#24221f; border:2px solid; border-color:#4a4741 #050505 #050505 #4a4741; font:700 10px/1 Tahoma,"MS Sans Serif",Arial,sans-serif; cursor:pointer; }.start-button:hover,.start-button:focus-visible,.task-button:hover,.task-button:focus-visible,.task-button.is-active { color:#f2dcde; background:#55141b; outline:none; }.start-button:active,.task-button:active { border-color:#050505 #4a4741 #4a4741 #050505; }.task-button { min-width:128px; font-weight:400; text-align:left; }.taskbar time { margin-left:auto; min-width:61px; padding:5px 6px; color:#979187; border:1px solid; border-color:#050505 #3e3b35 #3e3b35 #050505; font:9px/1 "DM Mono",monospace; text-align:center; }
.taskbar-raccoon { position:relative; flex:none; width:53px; height:28px; padding:0; color:#f0d8cc; background:transparent; border:0; cursor:pointer; }.taskbar-raccoon canvas { display:block; width:52px; height:31px; image-rendering:pixelated; }.taskbar-raccoon:hover canvas,.taskbar-raccoon:focus-visible canvas { filter:brightness(1.17); }.taskbar-raccoon:focus-visible { outline:1px dotted #f4ded2; outline-offset:2px; }.taskbar-raccoon.is-petted::after { content:"♥  ♥"; position:absolute; bottom:22px; left:7px; color:#ef6871; font:700 11px/1 Arial,sans-serif; animation:pixel-hearts .85s ease-out both; pointer-events:none; }.raccoon-bubble { position:absolute; z-index:101; bottom:33px; left:-17px; min-width:88px; padding:5px 6px; color:#ead9ce; background:#311015; border:1px solid #b54951; box-shadow:2px 2px #050505; font:8px/1.15 Tahoma,Arial,sans-serif; white-space:nowrap; }.raccoon-bubble::after { content:""; position:absolute; bottom:-5px; left:28px; width:7px; height:7px; background:#311015; border-right:1px solid #b54951; border-bottom:1px solid #b54951; transform:rotate(45deg); }.taskbar-raccoon + .taskbar time { margin-left:auto; } @keyframes pixel-hearts { from { opacity:0; transform:translateY(7px) scale(.7); } 35% { opacity:1; } to { opacity:0; transform:translateY(-17px) scale(1.15); } }
.start-menu { position:fixed; z-index:11; bottom:34px; left:5px; width:205px; padding:4px; background:#1b1916; border:2px solid; border-color:#545049 #050505 #050505 #545049; box-shadow:5px -5px 0 rgba(0,0,0,.4); }.start-menu[hidden] { display:none; }.start-menu p { margin:0 0 4px; padding:5px 6px; color:#aca59a; border-bottom:1px solid #3c3832; font:700 9px/1 Tahoma,Arial,sans-serif; letter-spacing:.09em; }.start-menu button { display:block; width:100%; padding:9px 7px; color:#cdc6b9; background:transparent; border:0; font:400 11px/1 Tahoma,Arial,sans-serif; text-align:left; cursor:pointer; }.start-menu button:hover,.start-menu button:focus-visible { color:#fff; background:var(--red); outline:none; }
.page-shell.is-minimized { position:fixed; z-index:8; bottom:33px; left:6px; width:290px; margin:0; box-shadow:5px -5px 0 rgba(0,0,0,.54); }.page-shell.is-minimized .profile,.page-shell.is-minimized .links,.page-shell.is-minimized .curio,.page-shell.is-minimized footer { display:none; }.page-shell.is-closed { display:none; }.page-shell.is-maximized { width:min(100% - 18px,940px); margin-top:13px; }
.ie-window { position:fixed; z-index:9; top:clamp(42px,13vh,120px); left:50%; width:min(100% - 34px,650px); transform:translateX(-50%); padding:3px; color:#cfc8bc; background:#171512; border:2px solid; border-color:#504b43 #050505 #050505 #504b43; outline:1px solid #000; box-shadow:10px 12px 0 rgba(0,0,0,.58),0 22px 48px rgba(0,0,0,.5); }.ie-window[hidden] { display:none; }.ie-titlebar { min-height:29px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#d9d5cc; background:linear-gradient(90deg,#38070d,var(--blue)); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.02em; }.ie-toolbar { display:flex; align-items:center; gap:6px; min-height:35px; padding:5px 7px; color:#8d8a82; background:#201e1b; border-bottom:1px solid #0a0908; font:700 13px/1 Tahoma,Arial,sans-serif; }.ie-toolbar > button { display:grid; place-items:center; width:21px; height:20px; padding:0; color:#b8b2a7; background:#24221e; border:1px solid; border-color:#44413c #080706 #080706 #44413c; font:700 11px/1 Arial,sans-serif; cursor:pointer; }.ie-toolbar > button:hover,.ie-toolbar > button:focus-visible { color:#fff; background:var(--red); outline:none; }.address-form { flex:1; min-width:0; }.address-bar { display:block; width:100%; padding:4px 6px; color:#aaa398; background:#0c0b0a; border:1px solid; border-color:#070606 #36332f #36332f #070606; font:9px/1 "DM Mono",monospace; }.ie-content { min-height:267px; display:grid; place-content:center; justify-items:center; gap:17px; padding:33px 20px; background:radial-gradient(ellipse at center,rgba(42,36,29,.36),transparent 65%),#0a0908; text-align:center; }.ie-home-screen { display:grid; justify-items:center; gap:17px; }.ie-home-screen[hidden] { display:none; }.ie-window.is-browsing .ie-content { display:block; min-height:430px; padding:0; background:#0a0908; }.ie-window.is-browsing #ie-frame { display:block; width:100%; height:430px; border:0; background:#101010; }.ie-eyebrow { margin:0; color:#787269; font:500 8px/1 "DM Mono",monospace; letter-spacing:.13em; }.ie-content h2 { margin:0; color:#d5d0c7; font:700 clamp(2.4rem,8vw,3.4rem)/.9 Tahoma,"MS Sans Serif",Arial,sans-serif; letter-spacing:-.09em; text-shadow:2px 2px #000; }.ie-content h2 span { color:#e34b55; }.ie-search { width:min(100%,430px); display:flex; gap:6px; }.ie-search input { min-width:0; flex:1; padding:9px 10px; color:#e0dbd0; background:#171512; border:2px solid; border-color:#060606 #3d3934 #3d3934 #060606; outline:none; font:12px/1 Tahoma,Arial,sans-serif; }.ie-search input:focus { border-color:#050505 #9e2730 #9e2730 #050505; }.ie-search button { padding:6px 10px; color:#d4cdc1; background:#24211e; border:2px solid; border-color:#48443d #050505 #050505 #48443d; font:700 10px/1 Tahoma,Arial,sans-serif; white-space:nowrap; cursor:pointer; }.ie-search button:hover,.ie-search button:focus-visible { color:#fff; background:var(--red); outline:none; }.google-settings { color:#a5a097; font:10px/1 Tahoma,Arial,sans-serif; }.google-settings:hover,.google-settings:focus-visible { color:var(--red-light); }.ie-status { min-height:20px; padding:4px 6px; color:#7d776e; background:#171512; border:1px solid; border-color:#070606 #45413b #45413b #070606; font:9px/1 Tahoma,Arial,sans-serif; }.draggable-window .window-drag-handle { cursor:grab; touch-action:none; user-select:none; }.draggable-window.is-dragging .window-drag-handle { cursor:grabbing; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.game-window { position:fixed; z-index:9; top:clamp(42px,12vh,100px); left:50%; width:min(100% - 34px,620px); transform:translateX(-50%); padding:3px; color:#cfc8bc; background:#171512; border:2px solid; border-color:#504b43 #050505 #050505 #504b43; outline:1px solid #000; box-shadow:10px 12px 0 rgba(0,0,0,.58),0 22px 48px rgba(0,0,0,.5); }.game-window[hidden] { display:none; }.game-titlebar { min-height:29px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#f1d6d8; background:linear-gradient(90deg,#38070d,var(--blue)); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.02em; }.game-toolbar { min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:5px 7px; color:#d3cabd; background:#211d19; border-bottom:1px solid #090807; font:700 10px/1 "DM Mono",monospace; }.game-toolbar button { padding:4px 7px; color:#d6cabe; background:#24211e; border:1px solid; border-color:#4b4740 #050505 #050505 #4b4740; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }.game-toolbar button:hover,.game-toolbar button:focus-visible { color:#fff; background:var(--red); outline:none; }.game-content { padding:10px; background:#0d0b09; text-align:center; }.game-content canvas { display:block; width:100%; height:auto; max-height:390px; background:#17130f; border:2px solid; border-color:#060505 #4c463e #4c463e #060505; image-rendering:pixelated; }.game-content p { margin:8px 0 7px; color:#a9a095; font:9px/1.2 "DM Mono",monospace; }.game-touch-controls { display:flex; justify-content:center; gap:6px; }.game-touch-controls button { width:37px; height:29px; color:#d8d0c4; background:#24211e; border:2px solid; border-color:#4d4840 #050505 #050505 #4d4840; font:700 13px/1 Arial,sans-serif; cursor:pointer; touch-action:none; }.game-touch-controls button:active,.game-touch-controls button:focus-visible { color:#fff; background:var(--red); border-color:#050505 #4d4840 #4d4840 #050505; outline:none; }.game-statusbar { min-height:20px; padding:4px 6px; color:#817a71; background:#171512; border:1px solid; border-color:#070606 #45413b #45413b #070606; font:8px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }.shortcut-icon--game { color:#f2d6c0; background:linear-gradient(135deg,#76151d,#1a100d); font-size:17px; }.card-icon svg { width:18px; height:18px; display:block; }.fallback-icon { font:500 .85rem/1 "DM Mono",monospace; }.page-shell,.ie-window,.game-window { min-width:310px; min-height:235px; overflow:auto; resize:both; }.page-shell.is-minimized { overflow:visible; resize:none; }.resize-grip { position:absolute; right:4px; bottom:2px; z-index:20; color:#bf7b80; font:12px/1 Arial,sans-serif; pointer-events:none; }.ie-window .resize-grip,.game-window .resize-grip { right:3px; bottom:3px; }
.shooter-window { position:fixed; z-index:9; top:clamp(38px,9vh,78px); left:50%; width:min(100% - 34px,690px); transform:translateX(-50%); padding:3px; color:#d4cdc1; background:#12100f; border:2px solid; border-color:#5d554d #030303 #030303 #5d554d; outline:1px solid #000; box-shadow:13px 15px 0 rgba(0,0,0,.62),0 26px 55px rgba(0,0,0,.62); }.shooter-window[hidden] { display:none; }.shooter-titlebar { min-height:30px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#ffe4e5; background:linear-gradient(90deg,#20050a,#8c202b); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.05em; }.shooter-toolbar { min-height:34px; display:flex; align-items:center; gap:6px; padding:5px 7px; color:#e1d4c6; background:#1b1717; border-bottom:1px solid #060505; font:700 10px/1 "DM Mono",monospace; }.shooter-toolbar span { margin-right:auto; }.shooter-toolbar button { padding:4px 7px; color:#d9cdbf; background:#282220; border:1px solid; border-color:#544945 #050404 #050404 #544945; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }.shooter-toolbar button:hover,.shooter-toolbar button:focus-visible { color:#fff; background:#9c2530; outline:none; }.shooter-content { padding:10px; background:radial-gradient(circle at 50% 15%,rgba(139,34,44,.16),transparent 45%),#080706; text-align:center; }.shooter-content canvas { display:block; width:100%; height:auto; max-height:420px; background:#080607; border:2px solid; border-color:#050404 #574842 #574842 #050404; cursor:crosshair; outline:none; }.shooter-content p { margin:8px 0 7px; color:#b4a69a; font:9px/1.2 "DM Mono",monospace; }.shooter-touch-controls { display:flex; justify-content:center; gap:7px; }.shooter-touch-controls button { min-width:38px; height:30px; padding:4px 8px; color:#e7d6ca; background:#2a2220; border:2px solid; border-color:#594a45 #050404 #050404 #594a45; font:700 10px/1 Tahoma,Arial,sans-serif; cursor:pointer; touch-action:none; }.shooter-touch-controls button:nth-child(2) { min-width:62px; color:#fff2e7; background:#7d1822; }.shooter-touch-controls button:active,.shooter-touch-controls button:focus-visible { background:#b72d39; border-color:#050404 #594a45 #594a45 #050404; outline:none; }.shooter-statusbar { min-height:20px; padding:4px 6px; color:#8a7e75; background:#12100f; border:1px solid; border-color:#070606 #4a403b #4a403b #070606; font:8px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }.desktop-shortcut--shooter { top:289px; }.shortcut-icon--shooter { color:#f2c7ca; background:radial-gradient(circle at 50% 40%,#b5303a 0 9%,transparent 10%),linear-gradient(135deg,#490d14,#160c0d); font-size:20px; }.shooter-window { min-width:310px; min-height:260px; overflow:auto; resize:both; }.shooter-window .resize-grip { right:3px; bottom:3px; }
@keyframes reveal { from { opacity:0; transform:translateY(13px); } to { opacity:1; transform:none; } } @keyframes wander { 50% { transform:translate(2px,2px); } }
.taskbar { min-height:54px; }.start-button,.task-button { min-height:32px; }.taskbar-raccoon { width:120px; height:50px; }.taskbar-raccoon canvas { width:118px; height:56px; margin-top:-4px; }.taskbar-raccoon.is-petted::after { bottom:39px; left:39px; font-size:13px; }.raccoon-bubble { bottom:52px; left:6px; }.raccoon-bubble::after { left:45px; }.start-menu { bottom:54px; }.page-shell.is-minimized { bottom:53px; }
@media(max-width:690px) { .page-shell::before,.desktop-shortcut,.resize-grip { display:none; }.page-shell,.ie-window,.game-window,.shooter-window { min-width:0; resize:none; } }
@media(max-width:520px) { .taskbar { gap:3px; padding-right:3px; padding-left:3px; }.taskbar-raccoon { width:96px; }.taskbar-raccoon canvas { width:96px; height:46px; margin-top:0; }.taskbar time { min-width:50px; padding-right:3px; padding-left:3px; }.task-button { min-width:0; max-width:72px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.start-button { padding-right:5px; padding-left:5px; } }
@media(min-width:700px) { body { overflow:hidden; }.page-shell { position:fixed; top:calc(50% - 17px); left:50%; margin:0; max-height:calc(100vh - 72px); overflow-y:auto; transform:translate(-50%,-50%); }.page-shell.is-maximized { top:13px; left:9px; margin:0; max-height:calc(100vh - 47px); transform:none; }.page-shell.is-minimized { top:auto; max-height:none; overflow:visible; transform:none; } }
@media(max-width:450px) { .page-shell { width:min(100% - 22px,600px); margin-top:25px; }.profile { padding:32px 14px 24px; }.portrait-wrap { width:130px; height:130px; }.links { padding:11px; gap:8px; }.social-card { min-height:57px; }.curio p { font-size:1.02rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* Clearer archival wallpaper, compact taskbar, and lively desktop feedback. */
body { background:#0a0706 url("assets/vintage-wallpaper-clear.png") center/cover fixed; }
body::before { background:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.18) 66%,rgba(0,0,0,.58) 100%); }
.draggable-window.window-opening,.page-shell.window-opening { animation:window-open .28s cubic-bezier(.2,.86,.25,1) both; }
.draggable-window.window-closing,.page-shell.window-closing { pointer-events:none; animation:window-close .21s cubic-bezier(.6,0,.9,.34) both; }
.draggable-window.window-minimizing,.page-shell.window-minimizing { pointer-events:none; transform-origin:center; }
.social-card,.desktop-shortcut,.start-button,.task-button,.ie-toolbar button,.ie-search button,.ie-quick-links button,.ie-result-card { transition:transform .16s ease,filter .16s ease,background-color .16s ease,color .16s ease; }
.social-card:hover,.desktop-shortcut:hover,.ie-quick-links button:hover,.ie-result-card:hover { transform:translateY(-2px); }
.start-menu:not([hidden]) { animation:menu-open .18s ease-out both; }
@keyframes window-open { from { opacity:0; filter:brightness(1.5); clip-path:inset(42% 44% 42% 44%); } 65% { opacity:1; filter:brightness(1.08); } to { opacity:1; filter:none; clip-path:inset(0); } }
@keyframes window-close { from { opacity:1; filter:none; clip-path:inset(0); } to { opacity:0; filter:brightness(.65); clip-path:inset(40% 44% 40% 44%); } }
@keyframes menu-open { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:none; } }

/* The raccoon now walks on the taskbar edge while the taskbar stays classic and small. */
.taskbar { min-height:34px; }
.start-button,.task-button { min-height:25px; }
.taskbar-raccoon { position:fixed; z-index:104; right:74px; bottom:27px; width:118px; height:56px; padding:0; overflow:visible; }
.taskbar-raccoon canvas { width:118px; height:56px; margin:0; }
.taskbar-raccoon.is-petted::after { bottom:51px; left:43px; font-size:13px; }
.raccoon-bubble { bottom:58px; left:6px; }
.raccoon-bubble::after { left:45px; }
.start-menu { bottom:34px; }
.page-shell.is-minimized { bottom:33px; }

/* Internet Explorer becomes a more useful, in-window web desk. */
.ie-window { width:min(100% - 26px,760px); background:#141210; border-color:#645d54 #050505 #050505 #645d54; }
.ie-titlebar { background:linear-gradient(90deg,#250509 0%,#6f1720 62%,#3a090f 100%); }
.ie-tabs { display:flex; align-items:end; gap:3px; min-height:30px; padding:5px 7px 0; background:#181512; border-bottom:1px solid #080706; }
.ie-tab,.ie-new-tab { height:24px; border:1px solid; border-color:#49443e #080706 #080706 #49443e; color:#bdb5aa; background:#211e1a; font:9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }
.ie-tab { min-width:152px; padding:4px 7px; color:#eee5db; background:#30231f; text-align:left; }.ie-tab span { float:right; color:#b87d80; }
.ie-new-tab { width:25px; color:#c5bcb0; font-size:15px; }
.ie-tab:hover,.ie-tab:focus-visible,.ie-new-tab:hover,.ie-new-tab:focus-visible { color:#fff; background:var(--red); outline:none; }
.ie-toolbar { min-height:42px; gap:5px; padding:7px; background:#211e1b; }
.ie-toolbar > button,.ie-go { width:auto; min-width:25px; height:24px; padding:0 6px; }
.ie-go { color:#f0d8da; background:#54151b; border:1px solid; border-color:#9f4b52 #090706 #090706 #9f4b52; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }
.ie-go:hover,.ie-go:focus-visible { color:#fff; background:#8f202a; outline:none; }
.address-bar { min-height:24px; padding:6px 8px; color:#ded5ca; background:#0c0a09; font-size:10px; }
.ie-content { min-height:350px; padding:0; background:radial-gradient(ellipse at 52% 38%,rgba(106,34,40,.15),transparent 56%),#0b0908; }
.ie-home-screen { width:100%; min-height:350px; gap:16px; padding:33px 28px 25px; }
.ie-content h2 { font-size:clamp(2.25rem,6vw,3.5rem); letter-spacing:-.075em; }
.ie-intro { max-width:330px; margin:-7px 0 2px; color:#a8a095; font:11px/1.45 "DM Mono",monospace; }
.ie-search { width:min(100%,500px); }
.ie-search button { min-width:74px; }
.ie-quick-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.ie-quick-links button { padding:6px 8px; color:#cfc3b7; background:#201c19; border:1px solid; border-color:#4c433d #070606 #070606 #4c433d; font:9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }
.ie-quick-links button:hover,.ie-quick-links button:focus-visible { color:#fff; background:#5f1720; outline:none; }
.ie-home-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,570px); gap:7px; text-align:left; }
.ie-home-notes section { display:flex; gap:8px; padding:9px; background:rgba(38,30,27,.64); border:1px solid #3f3731; }
.ie-note-icon { display:grid; flex:none; place-items:center; width:24px; height:24px; color:#e38a90; background:#2d1014; border:1px solid #713038; font:700 13px/1 Tahoma,Arial,sans-serif; }
.ie-home-notes strong,.ie-home-notes small { display:block; }.ie-home-notes strong { margin-bottom:3px; color:#dcd3c8; font:700 9px/1 Tahoma,Arial,sans-serif; }.ie-home-notes small { color:#918980; font:8px/1.28 "DM Mono",monospace; }
.ie-results { min-height:350px; padding:26px; text-align:left; }.ie-results[hidden] { display:none; }
.ie-results-heading { padding-bottom:15px; border-bottom:1px solid #342d29; }.ie-results-heading h2 { margin:7px 0 6px; font-size:clamp(1.75rem,4vw,2.6rem); }.ie-results-heading p:last-child { margin:0; color:#9c9388; font:10px/1.4 "DM Mono",monospace; }
.ie-result-list { display:grid; gap:7px; margin-top:14px; }
.ie-result-card { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:9px; color:#d8d0c5; background:#161311; border:1px solid; border-color:#453c36 #050505 #050505 #453c36; text-align:left; cursor:pointer; animation:result-in .28s ease both; animation-delay:var(--result-delay); }
.ie-result-card:hover,.ie-result-card:focus-visible { background:#2c1618; border-color:#9c4a51 #080606 #080606 #9c4a51; outline:none; }
.ie-result-mark { display:grid; place-items:center; width:28px; height:28px; color:#f2d9d9; background:#5d161e; border:1px solid #a04b52; font:700 13px/1 Georgia,serif; }.ie-result-copy strong,.ie-result-copy small { display:block; }.ie-result-copy strong { margin-bottom:3px; font:700 11px/1 Tahoma,Arial,sans-serif; }.ie-result-copy small { color:#9c9187; font:9px/1.3 "DM Mono",monospace; }.ie-result-arrow { color:#de888d; font:700 9px/1 Tahoma,Arial,sans-serif; }
.ie-window.is-results .ie-content { display:block; min-height:350px; padding:0; }.ie-window.is-browsing #ie-frame { height:470px; }.ie-status { display:flex; align-items:center; justify-content:space-between; gap:12px; }.ie-status a { color:#d9858b; font-weight:700; text-decoration:none; }.ie-status a:hover,.ie-status a:focus-visible { color:#fff; outline:none; }
@keyframes result-in { from { opacity:0; transform:translateX(-8px); } to { opacity:1; transform:none; } }

@media(max-width:520px) { .taskbar-raccoon { right:52px; bottom:26px; width:96px; height:46px; }.taskbar-raccoon canvas { width:96px; height:46px; }.taskbar-raccoon.is-petted::after { bottom:42px; left:35px; }.raccoon-bubble { left:-13px; bottom:49px; }.ie-window { width:calc(100% - 14px); }.ie-tabs { padding-right:4px; padding-left:4px; }.ie-tab { min-width:0; flex:1; }.ie-toolbar { flex-wrap:wrap; }.address-form { order:2; flex-basis:calc(100% - 43px); }.ie-go { order:2; }.ie-home-screen,.ie-results { padding:23px 14px; }.ie-home-notes { grid-template-columns:1fr; }.ie-result-card { grid-template-columns:30px minmax(0,1fr); }.ie-result-arrow { display:none; } }

/* Resizable Explorer content and real, switchable tabs. */
.ie-window { display:flex; flex-direction:column; height:min(72vh,620px); min-height:420px; max-height:calc(100vh - 48px); overflow:hidden; }
.ie-titlebar,.ie-tabs,.ie-toolbar,.ie-status { flex:none; }
.ie-tabs { align-items:stretch; min-width:0; }
.ie-tab-list { display:flex; flex:1; min-width:0; gap:3px; overflow:auto hidden; scrollbar-width:none; }.ie-tab-list::-webkit-scrollbar { display:none; }
.ie-tab-wrap { display:flex; flex:none; min-width:0; }.ie-tab { min-width:132px; max-width:185px; overflow:hidden; border-right:0; text-overflow:ellipsis; white-space:nowrap; }.ie-tab:not(.is-active) { color:#938b81; background:#1c1917; }.ie-tab.is-active { color:#f2e6d8; background:#342420; }
.ie-tab-close { width:22px; padding:0; color:#a89b91; background:#30231f; border:1px solid; border-color:#49443e #080706 #080706 transparent; font:700 12px/1 Arial,sans-serif; cursor:pointer; }.ie-tab-close:hover,.ie-tab-close:focus-visible { color:#fff; background:#7d1b24; outline:none; }
.ie-content { display:flex; flex:1; min-height:0; width:100%; overflow:hidden; }.ie-home-screen { flex:1; min-height:100%; align-content:center; overflow:auto; }.ie-results { flex:1; min-height:0; overflow:auto; }.ie-youtube { display:grid; align-content:start; flex:1; min-height:0; gap:13px; width:100%; padding:25px; overflow:auto; text-align:left; }.ie-youtube[hidden] { display:none; }
.ie-youtube-heading h2 { margin:6px 0; }.ie-youtube-heading p:last-child { max-width:480px; margin:0; color:#aaa095; font:10px/1.45 "DM Mono",monospace; }.youtube-form { display:flex; width:min(100%,620px); gap:6px; }.youtube-form input { min-width:0; flex:1; min-height:34px; padding:8px 9px; color:#eee2d5; background:#100e0d; border:2px solid; border-color:#050505 #544944 #544944 #050505; font:10px/1 "DM Mono",monospace; outline:none; }.youtube-form input:focus { border-color:#050505 #9e2730 #9e2730 #050505; }.youtube-form button { min-width:78px; padding:7px 9px; color:#f5dfdf; background:#681820; border:2px solid; border-color:#a44a51 #080606 #080606 #a44a51; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }.youtube-form button:hover,.youtube-form button:focus-visible { color:#fff; background:#9c2530; outline:none; }.youtube-help { max-width:620px; margin:-6px 0 0; color:#998f85; font:9px/1.4 "DM Mono",monospace; }.youtube-stage { width:min(100%,650px); aspect-ratio:16 / 9; background:#050505; border:2px solid; border-color:#070606 #50433e #50433e #070606; box-shadow:4px 5px 0 rgba(0,0,0,.35); }.youtube-stage[hidden] { display:none; }.youtube-stage iframe { display:block; width:100%; height:100%; border:0; }
.ie-window.is-results .ie-content,.ie-window.is-browsing .ie-content { display:flex; flex:1; min-height:0; padding:0; }.ie-window.is-browsing #ie-frame { display:block; flex:1; width:100%; height:auto; min-height:0; border:0; }.ie-window.is-browsing #ie-frame[hidden] { display:none; }
@media(max-width:690px) { .ie-window { height:calc(100vh - 66px); min-height:360px; max-height:none; }.ie-home-screen { min-height:0; }.ie-youtube { padding:22px 15px; } }
@media(max-width:520px) { .ie-tab { min-width:104px; max-width:152px; }.ie-tab-close { width:20px; }.youtube-form { flex-wrap:wrap; }.youtube-form input { flex-basis:100%; }.youtube-form button { min-height:30px; }.ie-youtube { padding:20px 13px; } }

/* Rimzzys guestbook, field notes, and a low-light Rimzzys 98 desktop wallpaper. */
body { background:#100506 url("assets/rimzzys98-wallpaper-dark.png") center/cover fixed; }
body::before { background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34)),radial-gradient(ellipse at center,transparent 21%,rgba(0,0,0,.08) 65%,rgba(0,0,0,.5) 100%); }
.desktop-shortcut--guestbook { top:377px; }.desktop-shortcut--updates { top:465px; }.shortcut-icon--guestbook { color:#f3d4c1; background:linear-gradient(135deg,#7d2418,#1a100d); font:italic bold 21px/1 Georgia,serif; }.shortcut-icon--updates { color:#e8c8ae; background:linear-gradient(135deg,#682018,#160d0b); font-size:16px; }
.guestbook-window,.updates-window { position:fixed; z-index:9; top:clamp(42px,12vh,105px); left:50%; width:min(100% - 34px,590px); min-width:310px; min-height:250px; max-height:calc(100vh - 48px); padding:3px; color:#d4cbc0; background:#15120f; border:2px solid; border-color:#5d554d #050505 #050505 #5d554d; outline:1px solid #000; box-shadow:11px 13px 0 rgba(0,0,0,.58),0 25px 52px rgba(0,0,0,.56); overflow:auto; resize:both; transform:translateX(-50%); }.guestbook-window[hidden],.updates-window[hidden] { display:none; }
.guestbook-titlebar,.updates-titlebar { min-height:29px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#f1dcce; background:linear-gradient(90deg,#3c0c09,#7b251c); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }.guestbook-toolbar,.updates-toolbar { min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 7px; color:#bbad9d; background:#211b17; border-bottom:1px solid #070605; font:700 9px/1 "DM Mono",monospace; letter-spacing:.04em; }
.guestbook-content { padding:12px; background:radial-gradient(ellipse at 80% 0,rgba(130,43,29,.16),transparent 43%),#0d0a09; }.guestbook-form { display:grid; gap:8px; padding:10px; background:#17120f; border:1px solid #40352e; }.guestbook-form label { display:grid; gap:4px; color:#c9b9aa; font:700 9px/1 Tahoma,Arial,sans-serif; }.guestbook-form input,.guestbook-form textarea { width:100%; padding:7px 8px; color:#e5d8ca; background:#0b0908; border:1px solid; border-color:#060505 #51443c #51443c #060505; outline:none; font:10px/1.35 "DM Mono",monospace; resize:vertical; }.guestbook-form input:focus,.guestbook-form textarea:focus { border-color:#050505 #a2382c #a2382c #050505; }.guestbook-form-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }.guestbook-form-footer small { color:#7f746b; font:8px/1 "DM Mono",monospace; }.guestbook-form button { padding:6px 9px; color:#f5ddd3; background:#6b2119; border:2px solid; border-color:#a85245 #080605 #080605 #a85245; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }.guestbook-form button:hover,.guestbook-form button:focus-visible { color:#fff; background:#9a2d23; outline:none; }
.guestbook-divider { display:flex; align-items:center; gap:7px; margin:13px 0 8px; color:#8f8277; font:700 8px/1 "DM Mono",monospace; letter-spacing:.1em; }.guestbook-divider::after { content:""; flex:1; height:1px; background:#3a312c; }.guestbook-entries { display:grid; gap:7px; }.guestbook-entry { padding:9px 10px; color:#cfc3b7; background:#15110f; border:1px solid; border-color:#3b302a #050505 #050505 #3b302a; animation:guest-entry-in .3s ease both; animation-delay:var(--entry-delay); }.guestbook-entry > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }.guestbook-entry strong { color:#ecd0c0; font:700 10px/1 Tahoma,Arial,sans-serif; }.guestbook-entry time { color:#88786c; font:8px/1 "DM Mono",monospace; }.guestbook-entry p { margin:6px 0 0; color:#b8aea3; font:10px/1.4 "DM Mono",monospace; white-space:pre-wrap; }.guestbook-statusbar,.updates-statusbar { min-height:20px; padding:4px 6px; color:#877b70; background:#15120f; border:1px solid; border-color:#070606 #494039 #494039 #070606; font:8px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }
.updates-content { padding:17px 16px 13px; background:radial-gradient(ellipse at 75% 4%,rgba(123,36,25,.14),transparent 38%),#0c0a09; }.updates-intro { margin:0 0 17px; color:#aaa095; font:10px/1.45 "DM Mono",monospace; }.updates-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }.updates-list li { position:relative; display:grid; grid-template-columns:52px 1fr; gap:11px; padding:0 0 16px; }.updates-list li::before { content:""; position:absolute; top:17px; bottom:0; left:24px; width:1px; background:#58312a; }.updates-list li:last-child { padding-bottom:0; }.updates-list li:last-child::before { display:none; }.updates-list time { position:relative; z-index:1; display:grid; place-items:center; width:49px; height:18px; color:#f2d9ca; background:#5c1b15; border:1px solid #9a493c; font:700 8px/1 "DM Mono",monospace; }.updates-list strong { display:block; margin:1px 0 4px; color:#dfd3c5; font:700 11px/1 Tahoma,Arial,sans-serif; }.updates-list p { margin:0; color:#9e9389; font:9px/1.45 "DM Mono",monospace; }
@keyframes guest-entry-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(max-width:690px) { .guestbook-window,.updates-window { min-width:0; width:calc(100% - 18px); resize:none; }.guestbook-content,.updates-content { padding:10px; } }
@media(max-width:520px) { .guestbook-window,.updates-window { top:45px; max-height:calc(100vh - 57px); }.guestbook-form-footer { align-items:flex-end; }.updates-list li { grid-template-columns:46px 1fr; gap:8px; }.updates-list time { width:44px; }.updates-list li::before { left:21px; } }

/* Organized desktop app grid after retiring Explorer. */
.desktop-shortcut { top:21px; left:18px; }
.desktop-shortcut--guestbook { top:21px; left:101px; }
.desktop-shortcut--updates { top:110px; left:18px; }
.desktop-shortcut--game { top:110px; left:101px; }
.desktop-shortcut--shooter { top:199px; left:18px; }

/* The activity log has full date-and-time stamps instead of tiny version labels. */
.updates-list li { grid-template-columns:126px 1fr; }.updates-list time { width:120px; min-height:32px; height:auto; padding:4px 5px; font:700 8px/1.2 "DM Mono",monospace; text-align:center; }.updates-list li::before { top:31px; left:59px; }
@media(max-width:520px) { .updates-list li { grid-template-columns:98px 1fr; }.updates-list time { width:92px; font-size:7px; }.updates-list li::before { left:45px; } }

.curio-arrow { text-decoration:none; cursor:pointer; transition:color .16s ease,transform .16s ease; }.curio-arrow:hover,.curio-arrow:focus-visible { color:#f5b0a8; transform:translate(2px,2px); outline:none; }

/* A fuller Start menu, a pocket raccoon oracle, and a low-key idle screensaver. */
.start-menu { z-index:160; display:grid; grid-template-columns:29px minmax(0,1fr); width:257px; max-height:calc(100vh - 39px); padding:0; overflow:auto; background:#171412; border-color:#6a635b #050505 #050505 #6a635b; box-shadow:6px -6px 0 rgba(0,0,0,.45),0 0 0 1px #000; }
.start-menu[hidden] { display:none; }
.start-rail { display:flex; align-items:flex-end; justify-content:flex-start; padding:8px 7px; color:#f0d6d5; background:linear-gradient(180deg,#260508,#741820 52%,#3a090d); border-right:1px solid #0a0505; font:700 11px/1 Tahoma,"MS Sans Serif",Arial,sans-serif; letter-spacing:.09em; text-shadow:1px 1px #120203; writing-mode:vertical-rl; transform:rotate(180deg); }
.start-menu-body { min-width:0; padding:4px; background:linear-gradient(135deg,#211d19,#141210); }
.start-menu .start-menu-body > p { margin:0 0 3px; padding:6px 7px 5px; color:#958b82; border-bottom:1px solid #413a34; font:700 8px/1 Tahoma,Arial,sans-serif; letter-spacing:.13em; }
.start-menu .start-menu-body > button { display:block; width:100%; min-height:29px; padding:7px 8px; color:#d6cec2; background:transparent; border:0; font:400 10px/1.1 Tahoma,Arial,sans-serif; text-align:left; cursor:pointer; }
.start-menu .start-menu-body > button:hover,.start-menu .start-menu-body > button:focus-visible { color:#fff; background:linear-gradient(90deg,#661720,#971f28); outline:1px dotted #fff; outline-offset:-3px; }
.start-divider { display:block; height:1px; margin:4px 3px; background:linear-gradient(90deg,transparent,#4b413a 12%,#4b413a 88%,transparent); }
.start-run { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:5px; margin:4px 1px 1px; padding:7px; background:#0f0d0c; border:1px solid; border-color:#070605 #4d443c #4d443c #070605; }
.start-run[hidden] { display:none; }
.start-run label { color:#b4aaa0; font:700 9px/1 Tahoma,Arial,sans-serif; }
.start-run input { min-width:0; height:23px; padding:4px 5px; color:#eee1d4; background:#201c19; border:1px solid; border-color:#060505 #64534c #64534c #060505; font:9px/1 "DM Mono",monospace; outline:none; }
.start-run input:focus { border-color:#050505 #b3444d #b3444d #050505; }
.start-menu .start-run button { width:auto; min-height:23px; padding:4px 7px; color:#f3dddd; background:#682028; border:1px solid; border-color:#a34c53 #080505 #080505 #a34c53; font:700 8px/1 Tahoma,Arial,sans-serif; }
.start-menu .start-run button:hover,.start-menu .start-run button:focus-visible { background:#9d2934; }
.start-run small { grid-column:1 / -1; color:#897d72; font:8px/1.28 "DM Mono",monospace; }

.desktop-shortcut--fortune { top:199px; left:101px; }
.shortcut-icon--fortune { color:#f3ded1; background:radial-gradient(circle at 50% 40%,#c55b5d 0 8%,transparent 9%),linear-gradient(135deg,#4e1015,#16100e); font-size:20px; }
.fortune-window { position:fixed; z-index:9; top:clamp(60px,16vh,132px); left:50%; width:min(100% - 34px,475px); min-width:300px; min-height:268px; padding:3px; color:#d9cfc3; background:#14110f; border:2px solid; border-color:#645a51 #050505 #050505 #645a51; outline:1px solid #000; box-shadow:12px 14px 0 rgba(0,0,0,.58),0 24px 50px rgba(0,0,0,.56); overflow:auto; resize:both; transform:translateX(-50%); }
.fortune-window[hidden] { display:none; }
.fortune-titlebar { min-height:29px; display:flex; align-items:center; justify-content:space-between; padding:4px 5px 4px 8px; color:#f1deda; background:linear-gradient(90deg,#25050a,#7d2028 62%,#440a10); font:700 11px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }
.fortune-toolbar { min-height:28px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 7px; color:#baa99c; background:#211a16; border-bottom:1px solid #080605; font:700 8px/1 "DM Mono",monospace; letter-spacing:.06em; }
.fortune-toolbar span:last-child { color:#dc7479; font-size:12px; }
.fortune-content { position:relative; display:grid; min-height:181px; place-items:center; align-content:center; gap:12px; padding:26px 27px 23px; overflow:hidden; background:radial-gradient(circle at 50% 28%,rgba(144,41,49,.18),transparent 38%),radial-gradient(circle at 20% 80%,rgba(87,48,32,.22),transparent 42%),#0a0908; text-align:center; }
.fortune-starfield { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle at 8% 18%,#c8a294 0 1px,transparent 1.6px),radial-gradient(circle at 85% 12%,#e57374 0 1px,transparent 1.6px),radial-gradient(circle at 75% 79%,#cbb9a2 0 1px,transparent 1.5px),radial-gradient(circle at 18% 67%,#d86a70 0 1px,transparent 1.5px); opacity:.65; }
.fortune-starfield i { position:absolute; width:3px; height:3px; background:#e6b9aa; box-shadow:0 0 9px #c84c53; animation:fortune-twinkle 2.8s ease-in-out infinite alternate; }
.fortune-starfield i:nth-child(1) { top:20%; left:27%; }.fortune-starfield i:nth-child(2) { top:38%; right:15%; animation-delay:-.6s; }.fortune-starfield i:nth-child(3) { bottom:21%; left:12%; animation-delay:-1.2s; }.fortune-starfield i:nth-child(4) { top:11%; left:62%; animation-delay:-1.8s; }.fortune-starfield i:nth-child(5) { right:31%; bottom:12%; animation-delay:-2.4s; }
.fortune-label,.fortune-content blockquote,.fortune-content button { position:relative; z-index:1; }
.fortune-label { margin:0; color:#a99a8e; font:700 8px/1 "DM Mono",monospace; letter-spacing:.18em; }
.fortune-content blockquote { max-width:330px; margin:0; color:#eee0d3; font:italic 600 clamp(1.15rem,3.4vw,1.5rem)/1.28 Georgia,"Times New Roman",serif; text-shadow:1px 1px #000; }
.fortune-content button { padding:7px 10px; color:#f5d9d6; background:#681b23; border:2px solid; border-color:#a74b53 #080505 #080505 #a74b53; font:700 9px/1 Tahoma,Arial,sans-serif; cursor:pointer; }
.fortune-content button:hover,.fortune-content button:focus-visible { color:#fff; background:#9f2b35; outline:none; }
.fortune-statusbar { min-height:20px; padding:4px 6px; color:#887a70; background:#14110f; border:1px solid; border-color:#070606 #4a4039 #4a4039 #070606; font:8px/1 Tahoma,Arial,sans-serif; letter-spacing:.04em; }
.fortune-window .resize-grip { right:3px; bottom:3px; }
@keyframes fortune-twinkle { from { opacity:.2; transform:scale(.65); } to { opacity:1; transform:scale(1.5); } }

.raccoon-screensaver { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; overflow:hidden; color:#ead7ca; background:radial-gradient(ellipse at 50% 55%,rgba(87,21,25,.38),transparent 48%),linear-gradient(145deg,#080605,#16080a 52%,#050505); cursor:none; }
.raccoon-screensaver[hidden] { display:none; }
.screensaver-stars { position:absolute; inset:0; opacity:.78; background-image:radial-gradient(circle at 8% 20%,#eec5aa 0 1px,transparent 1.4px),radial-gradient(circle at 24% 67%,#bd555d 0 1px,transparent 1.5px),radial-gradient(circle at 45% 17%,#eee2d0 0 1px,transparent 1.5px),radial-gradient(circle at 61% 74%,#d26e6d 0 1px,transparent 1.5px),radial-gradient(circle at 79% 29%,#ead7c3 0 1px,transparent 1.5px),radial-gradient(circle at 93% 83%,#bf4e54 0 1px,transparent 1.5px); background-size:210px 180px,280px 220px,240px 190px,310px 260px,260px 200px,330px 280px; animation:screensaver-stars 16s linear infinite; }
.raccoon-screensaver::before { content:""; position:absolute; width:50vmax; height:50vmax; border:1px solid rgba(196,70,75,.14); border-radius:50%; box-shadow:0 0 0 6vmax rgba(121,31,37,.035),0 0 0 12vmax rgba(121,31,37,.025); animation:screensaver-pulse 5s ease-in-out infinite; }
.raccoon-screensaver img { position:absolute; width:clamp(145px,22vw,285px); aspect-ratio:1; object-fit:cover; object-position:50% 42%; padding:8px; background:#24110f; border:2px solid #9b4849; box-shadow:0 0 0 5px rgba(27,10,10,.7),0 16px 45px rgba(0,0,0,.65),0 0 40px rgba(173,53,59,.34); filter:contrast(1.05) brightness(.85) saturate(.72) sepia(.12); animation:raccoon-roam 19s ease-in-out infinite alternate; }
.raccoon-screensaver p { position:absolute; bottom:clamp(25px,7vh,66px); margin:0; padding:6px 9px; color:#c8bab0; background:rgba(8,6,5,.62); border:1px solid rgba(142,96,88,.55); font:700 clamp(8px,1.4vw,10px)/1 Tahoma,Arial,sans-serif; letter-spacing:.08em; text-align:center; }
@keyframes screensaver-stars { to { background-position:210px 180px,-280px 220px,240px -190px,-310px -260px,260px 200px,-330px 280px; } }
@keyframes screensaver-pulse { 50% { transform:scale(1.12); opacity:.62; } }
@keyframes raccoon-roam { 0% { transform:translate(-20vw,-13vh) rotate(-4deg); } 28% { transform:translate(18vw,-20vh) rotate(5deg); } 55% { transform:translate(26vw,13vh) rotate(2deg); } 78% { transform:translate(-17vw,19vh) rotate(-5deg); } 100% { transform:translate(-28vw,4vh) rotate(4deg); } }

@media(max-width:690px) { .fortune-window { min-width:0; width:calc(100% - 18px); resize:none; }.fortune-content { min-height:168px; padding-right:20px; padding-left:20px; }.start-menu { max-height:calc(100vh - 36px); } }
@media(max-width:520px) { .start-menu { left:3px; width:min(257px,calc(100% - 6px)); }.fortune-window { top:45px; max-height:calc(100vh - 57px); }.raccoon-screensaver img { width:clamp(130px,48vw,220px); }.raccoon-screensaver p { width:calc(100% - 28px); font-size:8px; line-height:1.3; } }

/* Nightfall Protocol has a denser arcade HUD without crowding the compact desktop. */
.shooter-toolbar #shooter-status { margin-right:auto; }.shooter-toolbar .shooter-meta { margin-right:2px; color:#a89689; font-size:8px; white-space:nowrap; }.shooter-toolbar #shooter-pause { color:#e9d4ca; background:#3a2523; }.shooter-toolbar #shooter-pause:hover,.shooter-toolbar #shooter-pause:focus-visible { background:#8d2430; }
.shooter-content canvas { box-shadow:inset 0 0 30px rgba(173,36,48,.18),0 0 0 1px rgba(227,105,109,.12); }.shooter-statusbar { display:flex; align-items:center; min-height:24px; color:#a9998c; }
@media(max-width:560px) { .shooter-toolbar { flex-wrap:wrap; }.shooter-toolbar #shooter-status { flex:1 1 55%; }.shooter-toolbar .shooter-meta { order:2; flex-basis:100%; margin:1px 0 0; }.shooter-touch-controls { flex-wrap:wrap; }.shooter-touch-controls button { min-width:42px; }.shooter-touch-controls button:nth-child(2) { min-width:68px; } }

/* Windows now fold directly into the matching taskbar tab when minimized. */
.page-shell.is-minimized { display:none; }
.task-button.is-minimize-target { color:#fff4ea; background:#7c1c26; box-shadow:inset 1px 1px rgba(255,211,205,.35),0 0 11px rgba(207,57,66,.58); animation:taskbar-receive .3s ease-out both; }
@keyframes taskbar-receive { 0% { transform:scale(1); } 52% { transform:scale(1.08); } 100% { transform:scale(1); } }

/* A larger, tidier desktop: everyday programs first, games clustered beneath. */
.desktop-shortcut { width:84px; min-height:85px; padding:5px; gap:6px; font-size:10px; line-height:1.18; }.shortcut-icon { width:39px; height:39px; font-size:21px; }.shortcut-icon--game { font-size:20px; }.shortcut-icon--shooter,.shortcut-icon--fortune { font-size:23px; }.shortcut-icon--updates { font-size:18px; }.shortcut-icon--guestbook { font-size:23px; }
.desktop-shortcut { top:20px; left:16px; }.desktop-shortcut--guestbook { top:20px; left:116px; }.desktop-shortcut--updates { top:121px; left:16px; }.desktop-shortcut--fortune { top:121px; left:116px; }.desktop-shortcut--game { top:244px; left:16px; }.desktop-shortcut--shooter { top:244px; left:116px; }

/* The taskbar raccoon can travel the whole desktop edge and open a tiny activity menu. */
.taskbar-raccoon { right:auto; left:18px; bottom:27px; width:118px; height:56px; transition:filter .16s ease; }.taskbar-raccoon canvas { width:118px; height:56px; }.raccoon-menu { position:fixed; z-index:108; bottom:84px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:150px; gap:3px; padding:4px; color:#e9dcd0; background:#1b1412; border:2px solid; border-color:#695b53 #050505 #050505 #695b53; box-shadow:5px 6px 0 rgba(0,0,0,.48); }.raccoon-menu[hidden] { display:none; }.raccoon-menu button { min-height:25px; padding:5px 6px; color:#dacbbd; background:#29201d; border:1px solid; border-color:#574942 #080606 #080606 #574942; font:700 8px/1 Tahoma,Arial,sans-serif; text-align:left; cursor:pointer; }.raccoon-menu button:hover,.raccoon-menu button:focus-visible { color:#fff; background:#861f2a; outline:none; }.raccoon-menu button:last-child { grid-column:1 / -1; text-align:center; }
@media(max-width:520px) { .taskbar-raccoon { bottom:26px; width:96px; height:46px; }.taskbar-raccoon canvas { width:96px; height:46px; }.raccoon-menu { bottom:74px; } }
