@font-face {
    font-family: xkcd;
    src: url("assets/xkcd-script.woff");
}
@font-face {
    font-family: kedebideri;
    src: url("assets/kedebideri-regular.woff2");
}

*, html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    --paper-color: hsla(217, 100%, 85%);
    --paper-background: hsla(0, 0%, 90%, 1);
    --border-color: hsl(0, 0%, 50%);
    --code-block-bg: hsla(0, 0%, 80%, 1);
    --font-title: xkcd, sans-serif;
    --font-normal: kedebideri, sans-serif;

    font-size: 25px;

}

body {
    width: 100vw;
    height: 100vh;
    overflow: hidden;

    background-color: white;
    
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.paper {
    background-color: var(--paper-background);
    background-image: linear-gradient(var(--paper-color) 4.8px, transparent 4.8px),
        linear-gradient(90deg, var(--paper-color) 4.8px, transparent 4.8px),
        linear-gradient(var(--paper-color) 2.4px, transparent 2.4px),
        linear-gradient(90deg, var(--paper-color) 2.4px, transparent 2.4px);
    background-size:
        120px 120px,
        120px 120px,
        24px 24px,
        24px 24px;
    background-position:
        -4.8px -4.8px,
        -4.8px -4.8px,
        -2.4px -2.4px,
        -2.4px -2.4px;
}

#desktop-nav {
    width: 100%;
    height: 5vh;
    
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    
    background-color: var(--paper-color);
    border-bottom: 3px solid var(--border-color);

    font-family: var(--font-title);

    user-select: none;

    z-index: 100;
}

#desktop-nav ul {
    width: 50%;
    height: 100%;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
    padding: 0 1rem;
}

#information {
    flex-direction: row-reverse;
}

#desktop-nav ul li {
    list-style: none;
    cursor: pointer;
}
#desktop-nav > ul li:hover {
    color: var(--border-color);
}

.menu {
    overflow: scroll;
    scrollbar-width: none;
    width: 12vw;
    min-height: 20vh;
    height: min-content;
    max-height: 90vh;
    background-color: color-mix(var(--paper-background), black 5%);
    box-shadow: 10px 10px 40px color-mix(var(--border-color), transparent 15%);
    box-shadow: 10px 10px 75px color-mix(var(--border-color), transparent 25%);
    border: 3px solid var(--border-color);
    border-top: none;
    color: black;
    opacity: 1;
    position: absolute;
    top: 5vh;
    transform: translateX(-10px);
    transition: opacity 0.1s ease-out;
}

#desktop-nav .menu ul {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0;
}

.menu li {
    width: 100%;
    padding-left: 0.25rem;
    cursor: pointer;
}

.menu li:hover {
    background-color: hsla(217, 100%, 85%);
}


main {
    width: 100vw;
    height: 95vh;
}

div {
    width: 100%;
    height: 100vh;
}


.window {
    width: 50vw;
    min-width: 15%;
    max-width: 90%;
    height: 40vw;
    min-height: 15%;
    max-height: 90%;
    resize: both;

    overflow: hidden;

    top: calc(50% - 20vw);
    left: calc(50% - 25vw);

    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    border: 3px solid var(--border-color);
    border-radius: 5px 5px 15px 15px;
    box-shadow: 10px 10px 40px color-mix(var(--border-color), transparent 15%);
    box-shadow: 10px 10px 75px color-mix(var(--border-color), transparent 25%);

    transition: width 0.2s ease-out, height 0.2s ease-out, top 0.05s ease-out, left 0.05s ease-out;

    z-index: 3;
}

.window-content {
    width: 100%;

    padding: 0;

    overflow: scroll;
    scrollbar-width: none;
    flex: 1;
}

.window-nav {
    width: 100%;
    height: 1.5rem;

    padding: 0 0.5rem;
    
    background-color: var(--paper-color);
    border-bottom: 2px solid var(--border-color);
    
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    font-family: var(--font-title);

    user-select: none;
    cursor: grabbing;

    flex-shrink: 0;
}

.window-nav .title {
    font-size: 0.75em;
    font-weight: normal;
    color: black;
}

.window-nav .btn-close {
    aspect-ratio: 1 / 1;
    padding: 1em;

    font-size: 0.75em;
    font-family: monospace;
    
    background: none;
    border: none;

    cursor: pointer;
}


#information {
    font-family: monospace;
    font-size: 0.85em;
}


/* -------------------- Windows Content -------------------- */
.text-code-block {
    background-color: var(--code-block-bg);
    border-radius: 5px;
    padding: 0 0.25em;
    font-family: monospace;
    font-size: 0.75em;
}

.window-content #browser-page {
    width: 100%;
    flex: 1;
    border: none;
}

.window-content {
    padding: 2rem;
}

.window-content h1 {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
    font-family: var(--font-title);
}

.window-content h2 {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
    font-family: var(--font-title);
}

.window-content p {
    width: 100%;
    font-family: var(--font-normal);
}

.window-content ul {
    width: 100%;
    font-family: var(--font-normal);
}

.window-content ul, ol {
  padding-left: 20px;
  margin-left: 0;
}

.window-content li {
  display: list-item;
  list-style-position: inside;
}

.window[name="browser"] .window-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
}

.window .window-content form {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

#search {
    height: 1.5lh;
    aspect-ratio: 1 / 1;
    background-color: var(--paper-color);
    border: none;
    border-radius: 50%;
    font-size: 1em;
    /* padding: 0.25rem; */
    font-family: monospace;
    transition: filter 0.2s ease-in-out;
}

#url-bar {
    flex: 1;
    font-size: 1em;
    font-family: var(--font-normal);
    height: 1.5lh;
    padding-left: 1rem;
    border: 7px solid var(--paper-color);
    border-radius: 100px;
    transition: border 0.2s ease-in-out;
}

#url-bar::placeholder {
    font-family: var(--font-normal);
    font-size: 0.8em;
}

#url-bar:focus {
    border: 3px solid var(--paper-color);
}

#search:hover {
    filter: brightness(0.75);
}

:focus-visible {
    outline: none;
    box-shadow: none;
}

#note-app-note {
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    font-family: xkcd, sans-serif;
    font-size: 1.25em;
}


