.title-bar-text {
    margin: 0;
    font: inherit;
    user-select: none;
}

address {
    font-style: normal;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --z-maximized: 10;
}

body {
    background: linear-gradient(180deg, #0d5381 0%, #2e6380 35%, #7493a3 100%) #7493a3;
    min-block-size: 100dvh;
    padding-block: 2rem;
    padding-inline: 1rem;
    border: none;
    box-shadow: none;
    margin: 0;
}

@media (prefers-color-scheme: dark) {
    body {
        background: linear-gradient(180deg, #0b2036 0%, #163852 35%, #2c5470 100%) #2c5470;
    }
}

body:has(.window.minimizing) {
    overflow: hidden;
}

button {
    cursor: pointer;
}

.desktop {
    display: flex;
    justify-content: center;
}

.desktop>.window {
    position: relative;
    display: flex;
    flex-direction: column;
    inline-size: min(48rem, 100% - 2rem);
}

@media (min-width: 701px) {
    .window {
        resize: both;
        overflow: hidden;
        min-inline-size: 16rem;
    }

    .window.maximized {
        resize: none;
    }

    .window-body {
        overflow: auto;
    }
}

.window-body {
    flex: 1;
    padding: 0.5rem;
    scrollbar-gutter: stable;
}

.window.minimizing {
    transform-origin: bottom left;
    translate: -25dvw 50dvh;
    scale: 0.05 0.02;
    opacity: 0;
    transition: scale .14s cubic-bezier(.4, 0, .2, 1), translate .35s cubic-bezier(.4, 0, .2, 1), opacity .35s ease-in;
}

@media (prefers-reduced-motion: reduce) {
    .window.minimizing {
        transition-duration: .01s;
    }
}

.title-bar-controls button {
    cursor: pointer;
}

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

@media (min-width: 701px) {
    .title-bar {
        cursor: grab;
        touch-action: none;
        user-select: none;
    }

    .window.maximized .title-bar {
        cursor: default;
    }
}

.window.maximized {
    position: fixed;
    inset: 1rem;
    inline-size: auto;
    z-index: var(--z-maximized);
}

.window.closed {
    display: none;
}

.egg {
    border: 0;
    padding: 0;
    color: inherit;
}

.egg:popover-open {
    display: flex;
    flex-direction: column;
}

.egg-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
}

.egg-message {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.egg-icon {
    inline-size: 2rem;
    block-size: 2rem;
    flex-shrink: 0;
}

.egg-message p {
    margin: 0;
}

.egg-ok {
    align-self: flex-end;
}

.profile {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
    margin-block-end: 1rem;
}

.profile>div {
    min-inline-size: min(100%, 10rem);
    flex: 1;
}

.profile img {
    inline-size: min(10rem, 100%);
    block-size: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid var(--w7-el-bd, #8e8f8f);
    border-radius: var(--w7-el-bdr, 3px);
    box-shadow: var(--w7-el-sd), 0 1px 4px light-dark(rgb(0 0 0 / .35), rgb(0 0 0 / .6));
    flex-shrink: 0;
}

.profile h1 {
    margin-block: 0 4px;
    margin-inline: 0;
}

.profile p {
    margin-block: 4px;
    margin-inline: 0;
}

[role="tabpanel"] {
    display: none;
}

[role="tabpanel"]:target,
:root:not(:has(#projects:target, #links:target)) #bio {
    display: block;
}

:root:not(:has(#projects:target, #links:target)) [role="tab"][href="#bio"],
:root:has(#projects:target) [role="tab"][href="#projects"],
:root:has(#links:target) [role="tab"][href="#links"] {
    background: var(--w7-tab-bg);
    border-block-end: 0;
    box-shadow: none;
    margin-block: -2px 1px;
    margin-inline: -3px 0;
    padding-block-end: 4px;
    z-index: 8;
}

[role="tabpanel"] ul {
    margin: 0;
    padding-inline-start: 1.1rem;
    list-style-type: "▪  ";
}

[role="tabpanel"] ul ul {
    margin-block: 0.4rem 0;
    margin-inline: 0;
    list-style-type: "▫  ";
}

[role="tabpanel"] li::marker {
    color: var(--w7-el-bd-h, #3c7fb1);
}

[role="tabpanel"] li {
    margin-block-end: 0.4rem;
}

[role="tabpanel"] li:last-child {
    margin-block-end: 0;
}

.desktop>.window.egg-404 {
    inline-size: min(28rem, 100%);
}

.egg-404 h1 {
    margin: 0;
    font: inherit;
}
