*{
    box-sizing:border-box;
}

@font-face {
  font-family: "TahomaBit";
  src: local("TahomaBit"), url("./TahomaBit.ttf") format("truetype");
  font-display: swap;
}

:root {
  --retro-ui-font: "TahomaBit", Tahoma, "MS Sans Serif", "Segoe UI", sans-serif;
  --xpify-scale: 1.5;
  --green: #1dc48f; 
  --tan: #eadaba;
}

html, body, button, input, textarea, select, option {
    font-family: var(--retro-ui-font) !important;
}

button, input, textarea, select {
    font-size: inherit;
}

img {
    max-width: 100%;
}



.icon-with-label {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 60px;
    margin: 8px;
    cursor: pointer;
}



.icon-with-label .icon-img {
    width: 50px;
    height: 50px;
    display: block;
}

.icon-with-label .icon-label {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.2;
    min-height: 1.2em;
    text-align: center;
    color: #222;
}

.title-bar .title,
#clock-container,
#clock-text,
#hours,
#minutes,
#ampm{
    white-space: nowrap;
    display: inline-block;
    color: white;
    /* font-weight: 700; */
    margin-left: 12px;
    line-height: 1.2;
    text-shadow: #22222238 1px 1px 2px;
}

.title-bar button{

    font-weight: normal;
}

/* fullscreen iframe overlay */
#iframe-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    background: rgba(0,0,0,0.75);
    z-index: 2000;
}

#iframe-overlay.hidden { display: none; }

#iframe-overlay .title-bar {
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    margin: 0;
}



#iframe-overlay .title-bar .title {
    white-space: nowrap;
    display: inline-block;
    color: white;
    /* font-weight: 700; */
    margin-left: 12px;
    line-height: 1.2;
    text-shadow: #22222238 1px 1px 2px;
}

#iframe-overlay .title-bar .close {
    width: auto;
    height: auto;
    padding: 8px 12px;
    background: rgba(255,255,255,0.95);
    border-radius: 6px;
    color: #1a1a1a;
}

#iframe-overlay iframe {
    width: 100%;
    height: calc(100% - 48px);
    border: none;
    background: white;
}

body{
    margin:0;
    padding:0;
}

body.filefolder{font-family:var(--retro-ui-font);margin:12px;background:#FFF1D4;}
.list{list-style:none;padding:0;margin:0}
.list li{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid #ccc5b4;cursor:pointer}
.thumb{width:40px;height:40px;border-radius:6px;;display:flex;align-items:center;justify-content:center}
.list li:active{opacity:0.8}

@media screen and (max-width:900px) {
   
    body {
        background:lightgoldenrodyellow;
    }

    .flexible {
        border:1px solid;
        max-width:80%;
    }

}

@media screen and (max-width:600px) {

body{font-family:var(--retro-ui-font);margin:12px;background:#FFF1D4;}
.list{list-style:none;padding:0;margin:0}
.list li{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid #ccc5b4;cursor:pointer}
.thumb{width:40px;height:40px;border-radius:6px;;display:flex;align-items:center;justify-content:center}
.list li:active{opacity:0.8}

    body{
        background:lightgreen;

    }

    .flexible {
        max-width:100%;
    }
}

/* Fullscreen popup styles */
#fullscreen-popup {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.35);
    z-index: 1000;
}

#fullscreen-popup[hidden] {
    display: none;
}

#fullscreen-popup .popup-inner {
    /* border: 5px solid #1DC48F;
    border-top: 40px solid #1DC48F; */
    outline: 1px solid black;
    background: #FFF1D4;
    padding: 16px 20px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.25);
    max-width: 92%;
    width: 380px;
    text-align: center;
}


#fullscreen-popup .popup-actions {
    margin-top: 12px;
}

#fullscreen-popup button {
    margin: 6px 8px 0 8px;
    padding: 8px 12px;
    border: 1px solid #eadaba;
    outline: 1px solid black;
    background: #f6f6f6;
}

#fullscreen-popup button#popup-enter-btn {
    background:  #FFF1D4;
    color: black;
}

button.popup-enter-btn,
#fullscreen-popup button#popup-enter-btn {
    background:  #FFF1D4;
    color: black;
    border: 1px solid #eadaba;
    outline: 1px solid black;
    padding: 8px 12px;
}

button.popup-enter-btn:hover,
#fullscreen-popup button#popup-enter-btn:hover {
    background: #f0e4d1;
}

.room-dialog-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
    z-index: 10010;
}

.room-dialog-overlay[hidden] {
    display: none;
}

.room-menu-dialog {
    outline: 1px solid black;
    background: #FFF1D4;
    padding: 30px;
    text-align: center;
    max-width: 500px;
    z-index: 1;
}

.room-dialog-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
}

.room-dialog-actions .popup-enter-btn {
    margin-top: 0;
    min-width: 88px;
}

.menu {
    position: absolute;
    right: 10px;
    top: 0;
    width: 500px;
    height: 200px;
    margin: 0;
    z-index: 6;
}

.menu .profile {
    position: absolute;
    width: 220px;
    height: 220px;
    top: 10px;
    right: 0;
    overflow: hidden;
    z-index: 4;
}

.menu .profile-icon {
    position: absolute;
    width: 200px;
    height: 200px;
    top: 14px;
    left: 10px;
    overflow: hidden;
}

.menu .map {
    position: absolute;
    width: 200px;
    height: 150px;
    top: 35px;
    overflow: hidden;
    background-size: contain;
    z-index: 5;
    padding: 12px 0 12px 12px;
    margin: -12px 0 -12px -12px;
    box-sizing: content-box;
}

.menu .map img {
    cursor: pointer;
}

.menu .exit {
    position: absolute;
    width: 200px;
    height: 150px;
    left: 20%;
    top: 35px;
    overflow: hidden;
    z-index: 6;
    padding: 12px 12px 12px 0;
    margin: -12px -12px -12px 0;
    box-sizing: content-box;
}

.menu .exit img {
    cursor: pointer;
}

.menu-bottom {
    position: relative;
    bottom: 180px;
    left: 0.9vw;
    width: 94.5%;
    height: 15px;
    background: #005751;
    z-index: 5;
    border-radius: 3px;
    pointer-events: none;
}

.map-window {
    z-index: 7;
}

.map-window .title-bar {
    background-image: linear-gradient(to bottom, #ffd6dc, #ef9ca2, #d86d92);
}

.map-window .title-bar button:hover {
    background: rgba(116, 32, 63, 0.18);
}

.map-window .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 20px;
    border: #ef9ca2 solid 4px;
    border-top: none;
    background-color: #226eab;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
    background-size: 24px 24px, 24px 24px, 100% 100%;
    color: #f8fcff;
    text-align: center;
}

.map-window .content img {
    width: 300px;
    height: auto;
}

.map-window .content p {
    margin: 0;
}

.map-window-note {
    max-width: 240px;
    color: rgba(248, 252, 255, 0.9);
    line-height: 1.35;
}

/* room overlays should cover the scene UI without hiding the content windows */
body > #overlay,
body > #error-overlay {
    z-index: 100;
}

/* windows mock screen */

#computer-screen {
    width:100vw;
    height:100vh;
    background: linear-gradient(to bottom, #87CEEB 0%, #B0E0E6 50%, #E0F7FA 100%);
    overflow: hidden;

}

#taskbar {
    position: absolute;
    bottom:0;
    left:0;
    width:100%;
    height:40px;
    background-image: linear-gradient(to bottom, #1dc48f, #4dc09c, #16966e, #13805e, #106b4e);
    box-shadow: 0 4px 12px rgba(0,0,0,0.50);
    -webkit-box-shadow: inset 0 0 30px #1dc48f;
    -moz-box-shadow: inset 0 0 30px #1dc48f;
    box-shadow: inset 0 0 30px #1dc48f;


    z-index: 1;
}

#clock-container {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 12px;
    line-height: 1.2;
}

/* desktop background */
#computer-screen {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to bottom, #87CEEB 0%, #B0E0E6 50%, #E0F7FA 100%);
}

/* homebase archive logo in bottom right */
#computer-screen .logo-bg {
    position: absolute;
    bottom: -80px;
    right: 20px;
    width: 400px;
    height: 400px;
    mix-blend-mode: multiply;
    opacity: 50%;
    pointer-events: none;
    z-index: 0;
}

/* window container */
.window {
    position: absolute;
    top: 100px;
    left: 100px;
    width: 600px;
    height: 400px;
    /* background: #1a1a1a;
    border: 2px solid #000; */
    display: flex;
    flex-direction: column;
    cursor: move;
    z-index: 999;
}

/* title bar (your green bar) */
.title-bar {
    width: 100%;
    height: 40px;
    background-image: linear-gradient(to bottom, #1dc48f, #4dc09c, #16966e);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 8px;
    box-sizing: border-box;
    cursor: grab;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: none;
    border-radius: 10px 10px 0 0;
}

#image-entries-window {
height:600px;
}

.title-bar.dragging {
    cursor: grabbing;
}

/* buttons */
.title-bar button {
    width: 30px;
    height: 30px;
    border: none;
    background: rgba(0, 0, 0, 0);
    font-size: 16px;
    line-height: 1.2;
    cursor: pointer;
    padding:0;
}

/* button hover effect */
.title-bar button:hover {
    background: #333;
}

/* iframe content area */
.window iframe {
    flex: 1;
    width: 100%;
    border: var(--green) solid 4px;
    border-top: none;
    background: white;
}

/* hidden window state */
.window.hidden {
    display: none;
}

/* mini tabs inside iframes */
.content{
    flex: 1;
    width: 100%;
    border: var(--green) solid 4px;
    border-top: none;
    background: white;
}

