:root{color-scheme:dark;font-family:Consolas,'Cascadia Mono','Courier New',monospace;color:#ccc;background:#333;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #e6e6e6;outline-offset:3px}[hidden]{display:none!important}p,h1,h2{margin:0}.desktop{min-height:100dvh;padding:32px 24px;display:flex;justify-content:center;align-items:center}.terminal{width:min(1120px,100%);min-height:min(710px,calc(100dvh - 64px));background:#0c0c0c;border:1px solid #555;border-radius:8px;overflow:hidden;box-shadow:0 15px 50px #0005}.titlebar{height:41px;display:flex;align-items:center;background:#2b2b2b;color:#fff;font:12px 'Segoe UI',Arial,sans-serif;gap:6px;padding-left:8px}.tab{height:33px;align-self:flex-end;border-radius:6px 6px 0 0;background:#0c0c0c;display:flex;align-items:center;gap:10px;padding:0 13px;min-width:230px}.cmd-icon{font:9px Consolas,monospace;border:1px solid #999;line-height:12px;height:14px;width:17px}.tab-close{margin-left:auto;font-size:18px}.new-tab{font-size:20px;padding:0 8px;white-space:nowrap}.new-tab span{font-size:15px;border-left:1px solid #555;padding-left:12px;margin-left:9px}.window-controls{margin-left:auto;display:flex;align-self:stretch;align-items:center;gap:0}.window-controls span{width:45px;text-align:center;font:17px 'Segoe UI',sans-serif}.window-controls span:last-child{font-size:22px}.terminal-body{padding:10px 10px 22px;font-size:16px;line-height:1.32;overflow-wrap:anywhere}.command-echo{margin-top:24px}.instructions{margin:22px 0}.instructions strong{font-weight:400;color:#fff}#command-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:22px}#command-form label{white-space:nowrap}#command{min-width:70px;flex:1;width:0;max-width:430px;border:0;background:transparent;color:#ccc;caret-color:#fff;outline-offset:0;padding:3px 0;border-radius:0;font-size:16px}#terminal-log p{white-space:pre-wrap;margin-bottom:4px}#terminal-log .error{color:#ff9c96}.terminal-button{background:#242424;border:1px solid #606060;border-radius:2px;color:#e8e8e8;padding:8px 12px;font-size:14px;line-height:1.4}.terminal-button:hover{background:#353535}.run{font-size:12px;padding:5px 9px;margin-left:8px}.hack-warning{font-size:clamp(1.2rem,3.2vw,1.7rem);font-weight:700;color:#ff7272;margin:25px 0 12px}.memory-instructions{margin:23px 0 15px}.soundtrack{max-width:400px;margin-top:24px}.soundtrack iframe{display:block;max-width:100%;border:0;border-radius:8px}.music-hint{font-size:12px;color:#aaa;margin-top:7px;line-height:1.5}.music-status{font-size:12px;color:#888;margin-top:24px}#birthday-title{font-size:16px;font-weight:400;color:#fff;margin:18px 0 12px;line-height:1.5}.text-rule{white-space:nowrap;overflow:hidden;max-width:650px;color:#888}.personal-message{max-width:780px;white-space:pre-wrap;margin:18px 0;line-height:1.6}.sign-off{margin-top:20px}.replay-line{display:flex;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}
#memory-dialog{padding:0;width:min(450px,calc(100vw - 28px));max-height:calc(100dvh - 28px);border:1px solid #555;border-radius:12px;background:#101010;color:#fff;overflow:auto;font-family:'Segoe UI',Arial,sans-serif;box-shadow:0 20px 100px #000b}#memory-dialog::backdrop{background:#000d;backdrop-filter:blur(3px)}.memory-header{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#181818;position:sticky;top:0;z-index:2}.memory-badge{font-size:12px;background:#ffffff17;border:1px solid #ffffff30;border-radius:4px;padding:5px 7px;white-space:nowrap}.memory-countdown{margin-left:auto;font-size:13px;color:#ddd;font-variant-numeric:tabular-nums}#memory-close{width:36px;height:36px;border:0;border-radius:0;background:transparent;color:white;font:26px Arial,sans-serif;line-height:1}#memory-close:disabled{visibility:hidden}.memory-media{position:relative;background:black;display:flex;align-items:center;justify-content:center;height:min(58dvh,520px);min-height:180px}.memory-media video,.memory-media img{width:100%;height:100%;object-fit:contain}.memory-footer{display:flex;align-items:center;gap:12px;background:#202020;padding:17px 15px}.game-icon{width:45px;height:45px;flex-shrink:0;background:linear-gradient(145deg,#3e7edb,#754ab3);border:1px solid #ffffff30;border-radius:10px;display:grid;place-items:center;font:bold 22px Arial,sans-serif}.memory-footer h2{font-size:16px;font-weight:600;line-height:1.3}.memory-footer p{font-size:12px;line-height:1.6;color:#bdbdbd}.game-rating{color:#ffcd57!important}.game-rating span{color:#aaa;font-size:11px}.memory-free{margin-left:auto;font-size:12px;color:#97dbaa;border:1px solid #56876a;padding:7px 10px;border-radius:6px}#memory-hint{background:#202020;color:#aaa;text-align:center;font-size:12px;padding:0 12px 14px}#video-play{position:absolute;border:1px solid #fff;border-radius:6px;background:#222e;color:#fff;padding:14px;font-size:16px}#media-error{position:absolute;margin:20px;text-align:center;font-size:14px;line-height:1.6;background:#181818;padding:20px}.memory-media:has(#media-error:not([hidden])) video,.memory-media:has(#media-error:not([hidden])) img{visibility:hidden}noscript{padding:20px;display:block}
@media(max-width:620px){.desktop{padding:12px 8px;align-items:flex-start}.terminal{min-height:calc(100dvh - 24px)}.titlebar{padding-left:6px;gap:2px}.tab{min-width:0;flex:1;max-width:220px;padding-inline:9px;gap:7px}.new-tab{display:none}.window-controls{display:none}.terminal-body{font-size:14px;padding:12px 9px}#command{font-size:16px;max-width:none}.run{margin-left:0}.terminal-button{max-width:100%;text-align:left}.boot{font-size:13px}.soundtrack{max-width:100%}.personal-message{font-size:14px;line-height:1.7}#birthday-title{font-size:15px}.memory-footer{gap:9px;padding:14px 12px}.memory-free{display:none}.game-icon{width:38px;height:38px}.memory-footer h2{font-size:15px}}
.memory-header{gap:9px}.memory-countdown{font-size:12px}#memory-close{flex-shrink:0}
#memory-close.dodged{order:-1}
#memory-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:14px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
#memory-dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.memory-card{width:min(450px,100%);min-height:0;flex-shrink:1;overflow:auto;border:1px solid #555;border-radius:12px;background:#101010;box-shadow:0 20px 100px #000b}
.prank-spot{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;color:#fff;font-size:14px;text-align:center}
.prank-spot p{line-height:1.4}.prank-spot #memory-close{flex-shrink:0}
#memory-bottom{background:#181818;min-height:60px}
#memory-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:100%;background:#000c;border-radius:6px}
#memory-outside{flex-shrink:0;width:min(450px,100%);height:154px;padding:0;background:#101010;border-radius:8px}
#memory-outside img{height:144px;width:108px;object-fit:cover;border-radius:6px}
.outside-prank .memory-media{height:min(42dvh,340px);min-height:100px}
.chase-prank .memory-media{height:min(48dvh,420px);min-height:100px}
#memory-chase{flex-shrink:0;width:min(450px,100%);padding:8px;color:white;background:#101010;text-align:center;border-radius:8px;font-size:14px}
#memory-chase-track{position:fixed;inset:8px;z-index:5;pointer-events:none}
#memory-chase-track #memory-close{position:absolute;left:8%;top:12%;width:44px;height:44px;pointer-events:auto;text-shadow:0 1px 4px #000,0 0 2px #000;animation:chase-close 14s linear infinite}
#memory-chase-track #memory-close:hover,#memory-chase-track #memory-close:active{animation-play-state:paused}
@keyframes chase-close{0%,100%{left:8%;top:12%}15%{left:calc(88% - 44px);top:calc(75% - 44px)}30%{left:25%;top:calc(100% - 44px)}45%{left:0;top:42%}60%{left:65%;top:0}75%{left:calc(100% - 44px);top:65%}90%{left:35%;top:calc(80% - 44px)}}
@media(prefers-reduced-motion:reduce){#memory-chase-track #memory-close{animation:none;left:calc(50% - 22px);top:calc(50% - 22px)}}
body{background:#173d6c url('media/windows-wallpaper.jpg') center center / cover fixed no-repeat}
#command:focus,#command:focus-visible{outline:none;border:0;box-shadow:none}.music-status:empty{display:none}
#static-effect{position:fixed;inset:0;width:100%;height:100%;z-index:1000;image-rendering:pixelated;opacity:.7;background:#555}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the terminal, ads, and roaming control inside each device's usable screen. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.desktop{padding:max(12px,var(--safe-top)) max(clamp(8px,2vw,24px),var(--safe-right)) max(12px,var(--safe-bottom)) max(clamp(8px,2vw,24px),var(--safe-left))}
.terminal{min-width:0}.terminal-body{line-height:1.45}
#command-form label{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#memory-dialog{position:fixed;inset:0;height:100vh;height:100dvh}
#memory-dialog #video-poster{position:absolute;inset:0;pointer-events:none;visibility:visible}
#video-play,#media-error{z-index:1}
#command{min-width:10ch;min-height:44px}
#memory-dialog{width:100%;padding:max(10px,var(--safe-top)) max(10px,var(--safe-right)) max(10px,var(--safe-bottom)) max(10px,var(--safe-left));gap:10px}
.memory-card{max-width:100%;overscroll-behavior:contain}
.memory-header{padding:8px 10px}.memory-countdown{min-width:0;text-align:right}
#memory-close{width:44px;height:44px}
.memory-footer>div:not(.game-icon){min-width:0;overflow-wrap:anywhere}
.prank-spot{gap:8px}.prank-spot p{min-width:0;overflow-wrap:anywhere}
#memory-chase-track{inset:max(8px,var(--safe-top)) max(8px,var(--safe-right)) max(8px,var(--safe-bottom)) max(8px,var(--safe-left))}
@media(max-width:620px){
 .terminal{min-height:calc(100dvh - max(12px,var(--safe-top)) - max(12px,var(--safe-bottom)))}
 .terminal-body{font-size:14px}.personal-message{font-size:15px;line-height:1.65}
 .memory-footer{padding:10px}.game-icon{flex-shrink:0}
}
@media(max-height:600px){
 .memory-media{height:clamp(100px,calc(100dvh - 205px),340px);min-height:100px}
 #memory-outside{height:112px}#memory-outside img{height:104px;width:78px}
 .outside-prank .memory-media{height:clamp(80px,calc(100dvh - 320px),220px);min-height:80px}
 .chase-prank .memory-media{height:clamp(90px,calc(100dvh - 245px),260px);min-height:90px}
}
@media(min-width:600px) and (max-height:500px){
 .desktop{align-items:flex-start}.terminal{min-height:calc(100dvh - 24px)}
 .memory-card{width:min(760px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);grid-template-rows:auto auto auto 1fr}
 .memory-header{grid-column:1/-1;grid-row:1;padding-block:4px}
 .memory-media,.outside-prank .memory-media,.chase-prank .memory-media{grid-column:1;grid-row:2/5;height:clamp(100px,calc(100dvh - 100px),300px);min-height:0}
 .memory-footer{grid-column:2;grid-row:2;padding:10px;align-items:flex-start;gap:8px}
 .memory-footer h2{font-size:14px}.memory-free{display:none}.game-icon{width:32px;height:32px}
 #memory-hint{grid-column:2;grid-row:3;padding:8px}
 #memory-bottom{grid-column:2;grid-row:4;padding:8px;min-height:44px}
 #memory-dialog.outside-prank{flex-direction:row}
 .outside-prank .memory-card{flex:0 1 620px}
 #memory-outside{width:140px;height:auto;max-height:100%;flex-direction:column;padding:8px}
 #memory-outside img{width:78px;height:104px}
 .chase-prank .memory-media{height:clamp(100px,calc(100dvh - 145px),260px)}
}
