:root {
    /* Base Colors */
    --color-black: #0a0a0a;
    --color-white: #fff;
    --color-light-gray: #dfdfdf;
    --color-gray: grey;
    --color-silver: silver;
    --color-navy: navy;
    --color-blue: #1084d0;
    --color-teal: teal;

    /* Typography */
    --base-font-size: 16px;
    --base-font-family: sans-serif;
    --base-line-height: 1.3;
    --title-font-size: 18px;
    --small-font-size: 15px;
    --large-font-size: 22px;
    --button-font-size: 14px;
    --menu-font-size: 14px;
    --status-font-size: 13px;
    --desktop-icon-font-size: 14px;
    --window-title-font-size: 14px;
    --taskbar-font-size: 14px;
    --pre-font-size: 13px;
    --icon-size: 16px;

    /* Layout */
    --button-height: var(--button-height);
    --taskbar-height: 30px;
    --window-border-width: 2px;
    --window-padding: 8px;
    --desktop-icon-size: 48px;

    /* Effects */
    --window-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    --button-border: 1px solid #999;
    --highlight-color:  rgba(255, 255, 150, 0.4);

    /* Background */
    --desktop-bg-start: teal;
    --desktop-bg-end: rgb(0, 80, 80);
    --window-bg: #c0c0c0;
    --taskbar-bg: #c0c0c0;
}

/* Trans flag theme */
:root[data-theme="pink"] {
    --color-white: #ffffff;
    --color-black: #000000;
    --color-light-gray: #f5a9b8;
    --color-gray: #5bcefa;
    --color-silver: #f5a9b8;
    --desktop-bg-start: #f5a9b8;
    --desktop-bg-end: #a9737e;
    --window-bg: #ffffff;
    --taskbar-bg: #f5a9b8;
    --highlight-color: #5bcefa;
}

html {
    height: 100%;
    background: linear-gradient(var(--desktop-bg-start), var(--desktop-bg-end));
    font-family: var(--base-font-family);
    -webkit-font-smoothing: none;
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
}




body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: repeating-linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0px,
            rgba(0, 0, 0, 0) 2px,
            rgba(0, 0, 0, 0.1) 3px);
    z-index: 9999;
}

::selection {
    background-color: rgba(255, 255, 150, 0.4);
    color: inherit;
}

.highlight {
    background: var(--highlight-color);
    padding: 0.1em 0.1em;
}

.multiline {
    white-space: pre-wrap;
}

.title-bar,
.window,
button,
input,
label,
legend,
li[role=tab],
option,
select,
table,
textarea,
ul.tree-view {
    font-size: 14px
}

h1 {
    font-size: 6rem
}

h2 {
    font-size: 3.5rem
}

h3 {
    font-size: 2.5rem
}

h4 {
    font-size: 2rem
}

u {
    border-bottom: .5px solid #222;
    text-decoration: none
}



button,
input[type=reset],
input[type=submit] {
    background: silver;
    border: none;
    border-radius: 0;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
    box-sizing: border-box;
    color: transparent;
    min-height: 23px;
    min-width: 75px;
    padding: 0 12px;
    text-shadow: 0 0 #222
}

button.default,
input[type=reset].default,
input[type=submit].default {
    box-shadow: inset -2px -2px #0a0a0a, inset 1px 1px #0a0a0a, inset 2px 2px #fff, inset -3px -3px grey, inset 3px 3px #dfdfdf
}

.vertical-bar {
    background: silver;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
    height: 20px;
    width: 4px
}

button:not(:disabled):active,
input[type=reset]:not(:disabled):active,
input[type=submit]:not(:disabled):active {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
    text-shadow: 1px 1px #222
}

button.default:not(:disabled):active,
input[type=reset].default:not(:disabled):active,
input[type=submit].default:not(:disabled):active {
    box-shadow: inset 2px 2px #0a0a0a, inset -1px -1px #0a0a0a, inset -2px -2px #fff, inset 3px 3px grey, inset -3px -3px #dfdfdf
}

@media (not(hover)) {

    button:not(:disabled):hover,
    input[type=reset]:not(:disabled):hover,
    input[type=submit]:not(:disabled):hover {
        box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey
    }
}

button:focus,
input[type=reset]:focus,
input[type=submit]:focus {
    outline: 1px dotted #000;
    outline-offset: -4px
}

button::-moz-focus-inner,
input[type=reset]::-moz-focus-inner,
input[type=submit]::-moz-focus-inner {
    border: 0
}

:disabled,
:disabled+label,
input[readonly],
input[readonly]+label {
    color: grey
}

:disabled+label,
button:disabled,
input[type=reset]:disabled,
input[type=submit]:disabled {
    text-shadow: 1px 1px 0 #fff
}

.window {
    background: silver;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #dfdfdf, inset -2px -2px grey, inset 2px 2px #fff;
    padding: 3px;
    position: absolute;
    width: 320px;
    user-select: none;
}

.title-bar {
    align-items: center;
    background: linear-gradient(90deg, navy, #1084d0);
    display: flex;
    justify-content: space-between;
    padding: 3px 2px 3px 3px;

}

.title-bar.inactive {
    background: linear-gradient(90deg, grey, #b5b5b5)
}

.title-bar-text {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0;
    margin-right: 24px
}

.title-bar-controls {
    display: flex
}

.title-bar-controls button {
    display: block;
    min-height: 14px;
    min-width: 16px;
    padding: 0
}

.title-bar-controls button:active {
    padding: 0
}

.title-bar-controls button:focus {
    outline: none
}

.title-bar-controls button[aria-label=Minimize],
.title-bar-controls button[aria-label].minimize {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M0 0h6v2H0z'/%3E%3C/svg%3E");
    background-position: bottom 3px left 4px;
    background-repeat: no-repeat
}

.title-bar-controls button[aria-label=Maximize],
.title-bar-controls button[aria-label].maximize {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='9' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 0H0v9h9V0zM8 2H1v6h7V2z' fill='%23000'/%3E%3C/svg%3E");
    background-position: top 2px left 3px;
    background-repeat: no-repeat
}

.title-bar-controls button[aria-label=Maximize]:disabled,
.title-bar-controls button[aria-label].maximize:disabled {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 1H1v9h9V1zM9 3H2v6h7V3z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 0H0v9h9V0zM8 2H1v6h7V2z' fill='gray'/%3E%3C/svg%3E");
    background-position: top 2px left 3px;
    background-repeat: no-repeat
}

.title-bar-controls button[aria-label=Restore],
.title-bar-controls button[aria-label].restore {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M2 0h6v2H2zM7 2h1v4H7zM2 2h1v1H2zM6 5h1v1H6zM0 3h6v2H0zM5 5h1v4H5zM0 5h1v4H0zM1 8h4v1H1z'/%3E%3C/svg%3E");
    background-position: top 2px left 3px;
    background-repeat: no-repeat
}

.title-bar-controls button[aria-label=Help],
.title-bar-controls button[aria-label].help {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M0 1h2v2H0zM1 0h4v1H1zM4 1h2v2H4zM3 3h2v1H3zM2 4h2v2H2zM2 7h2v2H2z'/%3E%3C/svg%3E");
    background-position: top 2px left 5px;
    background-repeat: no-repeat
}

.title-bar-controls button[aria-label=Close],
.title-bar-controls button[aria-label].close {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h2v1h1v1h2V1h1V0h2v1H7v1H6v1H5v1h1v1h1v1h1v1H6V6H5V5H3v1H2v1H0V6h1V5h1V4h1V3H2V2H1V1H0V0z' fill='%23000'/%3E%3C/svg%3E");
    background-position: top 3px left 4px;
    background-repeat: no-repeat;
    margin-left: 2px;
    margin-right: 4px
}

.status-bar {
    gap: 1px;
    display: flex;
    margin: 0 1px
}

.status-bar-field {
    box-shadow: inset -1px -1px #dfdfdf, inset 1px 1px grey;
    flex-grow: 1;
    margin: 0;
    padding: 2px 3px
}

.window-body {
    margin: 8px;
    max-width: 100%;
    height: auto;
    user-select: none;
}

.window-body img {
    max-width: 100%;
    height: auto;
    image-rendering: pixelated;
}

.resize-handle {
    width: 18px;
    height: 18px;
    position: absolute;
    right: 0;
    bottom: 0;
    cursor: nwse-resize;
    background: rgba(0, 0, 0, 0.2);
    z-index: 10;
}

fieldset {
    border-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' fill='gray' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h5v5H0V2h2v1h1V2H0' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h4v4H0V1h1v2h2V1H0'/%3E%3C/svg%3E") 2;
    margin: 0;
    padding: 10px;
    padding-block-start: 8px
}

legend {
    background: silver
}

.field-row {
    align-items: center;
    display: flex
}

[class^=field-row]+[class^=field-row] {
    margin-top: 6px
}

.field-row>*+* {
    margin-left: 6px
}

.field-row-stacked {
    display: flex;
    flex-direction: column
}

.field-row-stacked *+* {
    margin-top: 6px
}

label {
    align-items: center;
    display: inline-flex;
    user-select: none
}

input[type=checkbox],
input[type=radio] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: 0;
    border: none;
    margin: 0;
    opacity: 0;
    position: fixed
}

input[type=checkbox]+label,
input[type=radio]+label {
    line-height: 13px
}

input[type=radio]+label {
    margin-left: 18px;
    position: relative
}

input[type=radio]+label:before {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='%23fff'/%3E%3C/svg%3E");
    content: "";
    display: inline-block;
    height: 12px;
    left: -18px;
    margin-right: 6px;
    position: absolute;
    top: 0;
    width: 12px
}

input[type=radio]:active+label:before {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='silver'/%3E%3C/svg%3E")
}

input[type=radio]:checked+label:after {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='4' height='4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 0H1v1H0v2h1v1h2V3h1V1H3V0z' fill='%23000'/%3E%3C/svg%3E");
    content: "";
    display: block;
    height: 4px;
    left: -14px;
    position: absolute;
    top: 4px;
    width: 4px
}

input[type=checkbox]:focus+label,
input[type=radio]:focus+label {
    outline: 1px dotted #000
}

input[type=radio][disabled]+label:before {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0H4v1H2v1H1v2H0v4h1v2h1V8H1V4h1V2h2V1h4v1h2V1H8V0z' fill='gray'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1H4v1H2v2H1v4h1v1h1V8H2V4h1V3h1V2h4v1h2V2H8V1z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 3h1v1H9V3zm1 5V4h1v4h-1zm-2 2V9h1V8h1v2H8zm-4 0v1h4v-1H4zm0 0V9H2v1h2z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2h-1v2h1v4h-1v2H8v1H4v-1H2v1h2v1h4v-1h2v-1h1V8h1V4h-1V2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 2h4v1h1v1h1v4H9v1H8v1H4V9H3V8H2V4h1V3h1V2z' fill='silver'/%3E%3C/svg%3E")
}

input[type=radio][disabled]:checked+label:after {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='4' height='4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 0H1v1H0v2h1v1h2V3h1V1H3V0z' fill='gray'/%3E%3C/svg%3E")
}

input[type=checkbox]+label {
    margin-left: 19px;
    position: relative
}

input[type=checkbox]+label:before {
    background: #fff;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    content: "";
    display: inline-block;
    height: 13px;
    left: -19px;
    margin-right: 6px;
    position: absolute;
    width: 13px
}

input[type=checkbox]:active+label:before {
    background: silver
}

input[type=checkbox]:checked+label:after {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='7' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0H6v1H5v1H4v1H3v1H2V3H1V2H0v3h1v1h1v1h1V6h1V5h1V4h1V3h1V0z' fill='%23000'/%3E%3C/svg%3E");
    content: "";
    display: block;
    height: 7px;
    left: -16px;
    position: absolute;
    width: 7px
}

input[type=checkbox][disabled]+label:before {
    background: silver
}

input[type=checkbox][disabled]:checked+label:after {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='7' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0H6v1H5v1H4v1H3v1H2V3H1V2H0v3h1v1h1v1h1V6h1V5h1V4h1V3h1V0z' fill='gray'/%3E%3C/svg%3E")
}

input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0
}

input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select {
    background-color: #fff;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    box-sizing: border-box;
    padding: 3px 4px
}

select,
textarea {
    border: none
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border-radius: 0;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    box-sizing: border-box;
    padding: 3px 4px
}

input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select {
    height: 21px
}

input[type=number] {
    height: 22px
}

input[type=search]::-ms-clear,
input[type=search]::-ms-reveal {
    display: none;
    height: 0;
    width: 0
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url] {
    line-height: 2
}

input[type=email]:disabled,
input[type=email]:read-only,
input[type=number]:disabled,
input[type=number]:read-only,
input[type=password]:disabled,
input[type=password]:read-only,
input[type=search]:disabled,
input[type=search]:read-only,
input[type=tel]:disabled,
input[type=tel]:read-only,
input[type=text]:disabled,
input[type=text]:read-only,
input[type=url]:disabled,
input[type=url]:read-only,
textarea:disabled {
    background-color: silver
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");
    background-position: top 2px right 2px;
    background-repeat: no-repeat;
    border-radius: 0;
    padding-right: 32px;
    position: relative
}

input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
    outline: none
}

input[type=range] {
    appearance: none;
    /* Standard syntax */
    -webkit-appearance: none;
    /* For Safari and older WebKit browsers */
    background: transparent;
    width: 100%;
}

input[type=range]:focus {
    outline: none
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v16h2v2h2v2h1v-1H3v-2H1V1h9V0z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 1v15h1v1h1v1h1v1h2v-1h1v-1h1v-1h1V1z' fill='%23C0C7C8'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v15H8v2H6v2H5v-1h2v-2h2z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v16H9v2H7v2H5v1h1v-2h2v-2h2z' fill='%23000'/%3E%3C/svg%3E");
    border: none;
    box-shadow: none;
    height: 21px;
    transform: translateY(-8px);
    width: 11px
}

input[type=range].has-box-indicator::-webkit-slider-thumb {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v20h1V1h9V0z' fill='%23fff'/%3E%3Cpath fill='%23C0C7C8' d='M1 1h8v18H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v19H1v-1h8z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v21H0v-1h10z' fill='%23000'/%3E%3C/svg%3E");
    transform: translateY(-10px)
}

input[type=range]::-moz-range-thumb {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v16h2v2h2v2h1v-1H3v-2H1V1h9V0z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 1v15h1v1h1v1h1v1h2v-1h1v-1h1v-1h1V1z' fill='%23C0C7C8'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v15H8v2H6v2H5v-1h2v-2h2z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v16H9v2H7v2H5v1h1v-2h2v-2h2z' fill='%23000'/%3E%3C/svg%3E");
    border: 0;
    border-radius: 0;
    height: 21px;
    transform: translateY(2px);
    width: 11px
}

input[type=range].has-box-indicator::-moz-range-thumb {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0v20h1V1h9V0z' fill='%23fff'/%3E%3Cpath fill='%23C0C7C8' d='M1 1h8v18H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 1h1v19H1v-1h8z' fill='%2387888F'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 0h1v21H0v-1h10z' fill='%23000'/%3E%3C/svg%3E");
    transform: translateY(0)
}

input[type=range]::-webkit-slider-runnable-track {
    background: #000;
    border-bottom: 1px solid grey;
    border-right: 1px solid grey;
    box-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 0 0 #a9a9a9, -1px -1px 0 #a9a9a9, 0 -1px 0 #a9a9a9, -1px 1px 0 #fff, 1px -1px #a9a9a9;
    box-sizing: border-box;
    height: 2px;
    width: 100%
}

input[type=range]::-moz-range-track {
    background: #000;
    border-bottom: 1px solid grey;
    border-right: 1px solid grey;
    box-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 0 0 #a9a9a9, -1px -1px 0 #a9a9a9, 0 -1px 0 #a9a9a9, -1px 1px 0 #fff, 1px -1px #a9a9a9;
    box-sizing: border-box;
    height: 2px;
    width: 100%
}

.is-vertical {
    display: inline-block;
    height: 150px;
    transform: translateY(50%);
    width: 4px
}

.is-vertical>input[type=range] {
    height: 4px;
    margin: 0 16px 0 10px;
    transform: rotate(270deg) translateX(calc(-50% + 8px));
    transform-origin: left;
    width: 150px
}

.is-vertical>input[type=range]::-webkit-slider-runnable-track {
    border-bottom: 1px solid grey;
    border-left: 1px solid grey;
    border-right: 0;
    box-shadow: -1px 0 0 #fff, -1px 1px 0 #fff, 0 1px 0 #fff, 1px 0 0 #a9a9a9, 1px -1px 0 #a9a9a9, 0 -1px 0 #a9a9a9, 1px 1px 0 #fff, -1px -1px #a9a9a9
}

.is-vertical>input[type=range]::-moz-range-track {
    border-bottom: 1px solid grey;
    border-left: 1px solid grey;
    border-right: 0;
    box-shadow: -1px 0 0 #fff, -1px 1px 0 #fff, 0 1px 0 #fff, 1px 0 0 #a9a9a9, 1px -1px 0 #a9a9a9, 0 -1px 0 #a9a9a9, 1px 1px 0 #fff, -1px -1px #a9a9a9
}

.is-vertical>input[type=range]::-webkit-slider-thumb {
    transform: translateY(-8px) scaleX(-1)
}

.is-vertical>input[type=range].has-box-indicator::-webkit-slider-thumb {
    transform: translateY(-10px) scaleX(-1)
}

.is-vertical>input[type=range]::-moz-range-thumb {
    transform: translateY(2px) scaleX(-1)
}

.is-vertical>input[type=range].has-box-indicator::-moz-range-thumb {
    transform: translateY(0) scaleX(-1)
}

select:focus {
    background-color: navy;
    color: #fff
}

select:focus option {
    background-color: #fff;
    color: #000
}

select:active {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h16v17H0V0zm1 16h14V1H1v15z' fill='gray'/%3E%3Cpath fill='silver' d='M1 1h14v15H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 7H5v1h1v1h1v1h1v1h1v-1h1V9h1V8h1V7z' fill='%23000'/%3E%3C/svg%3E")
}

a {
    color: #00f
}

a:focus {
    outline: 1px dotted #00f
}

ul.tree-view {
    background: #fff;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    display: block;
    margin: 0;
    padding: 6px
}

ul.tree-view li {
    list-style-type: none
}

ul.tree-view a {
    color: #000;
    text-decoration: none
}

ul.tree-view a:focus {
    background-color: navy;
    color: #fff
}

ul.tree-view li,
ul.tree-view ul {
    margin-top: 3px
}

ul.tree-view ul {
    border-left: 1px dotted grey;
    margin-left: 16px;
    padding-left: 16px
}

ul.tree-view ul>li {
    position: relative
}

ul.tree-view ul>li:before {
    border-bottom: 1px dotted grey;
    content: "";
    display: block;
    left: -16px;
    position: absolute;
    top: 6px;
    width: 12px
}

ul.tree-view ul>li:last-child:after {
    background: #fff;
    bottom: 0;
    content: "";
    display: block;
    left: -20px;
    position: absolute;
    top: 7px;
    width: 8px
}

ul.tree-view details {
    margin-top: 0
}

ul.tree-view details[open] summary {
    margin-bottom: 0
}

ul.tree-view ul details>summary:before {
    margin-left: -22px;
    position: relative;
    z-index: 1
}

ul.tree-view details>summary:before {
    background-color: #fff;
    border: 1px solid grey;
    content: "+";
    display: block;
    float: left;
    height: 9px;
    line-height: 8px;
    margin-right: 5px;
    padding-left: 1px;
    text-align: center;
    width: 8px
}

ul.tree-view details[open]>summary:before {
    content: "-"
}

ul.tree-view details>summary::-webkit-details-marker,
ul.tree-view details>summary::marker {
    content: ""
}

pre {
    background: #fff;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    display: block;
    margin: 0;
    padding: 12px 8px
}

code,
code * {
    font-family: monospace
}

summary:focus {
    outline: 1px dotted #000
}

::-webkit-scrollbar {
    width: 16px
}

::-webkit-scrollbar:horizontal {
    height: 17px
}

::-webkit-scrollbar-corner {
    background: #dfdfdf
}

::-webkit-scrollbar-track {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='2' height='2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 0H0v1h1v1h1V1H1V0z' fill='silver'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 0H1v1H0v1h1V1h1V0z' fill='%23fff'/%3E%3C/svg%3E")
}

::-webkit-scrollbar-thumb {
    background-color: #dfdfdf;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf
}

::-webkit-scrollbar-button:horizontal:end:increment,
::-webkit-scrollbar-button:horizontal:start:decrement,
::-webkit-scrollbar-button:vertical:end:increment,
::-webkit-scrollbar-button:vertical:start:decrement {
    display: block
}

::-webkit-scrollbar-button:vertical:start {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 6H7v1H6v1H5v1H4v1h7V9h-1V8H9V7H8V6z' fill='%23000'/%3E%3C/svg%3E");
    height: 17px
}

::-webkit-scrollbar-button:vertical:end {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");
    height: 17px
}

::-webkit-scrollbar-button:horizontal:start {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 4H8v1H7v1H6v1H5v1h1v1h1v1h1v1h1V4z' fill='%23000'/%3E%3C/svg%3E");
    width: 16px
}

::-webkit-scrollbar-button:horizontal:end {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 4H6v7h1v-1h1V9h1V8h1V7H9V6H8V5H7V4z' fill='%23000'/%3E%3C/svg%3E");
    width: 16px
}

.window[role=tabpanel] {
    z-index: 2;
    position: absolute;
    width: 320px;
    max-width: 100%;
    user-select: none;
}

menu[role=tablist] {
    display: flex;
    list-style-type: none;
    margin: 0 0 -2px;
    padding-left: 3px;
    position: relative;
    text-indent: 0
}

menu[role=tablist]>li {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    box-shadow: inset -1px 0 #0a0a0a, inset 1px 1px #dfdfdf, inset -2px 0 grey, inset 2px 2px #fff;
    z-index: 1
}

menu[role=tablist]>li[aria-selected=true] {
    background-color: silver;
    margin-left: -3px;
    margin-top: -2px;
    padding-bottom: 2px;
    position: relative;
    z-index: 8
}

menu[role=tablist]>li>a {
    color: #222;
    display: block;
    margin: 6px;
    text-decoration: none
}

menu[role=tablist]>li[aria-selected=true]>a:focus {
    outline: none
}

menu[role=tablist]>li>a:focus {
    outline: 1px dotted #222
}

menu[role=tablist].multirows>li {
    flex-grow: 1;
    text-align: center
}

.sunken-panel {
    border: 2px groove transparent;
    border-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='gray' d='M0 0h4v1H0z'/%3E%3Cpath fill='gray' d='M0 0h1v4H0z'/%3E%3Cpath fill='%230a0a0a' d='M1 1h2v1H1z'/%3E%3Cpath fill='%230a0a0a' d='M1 1h1v2H1z'/%3E%3Cpath fill='%23fff' d='M0 4h5v1H0z'/%3E%3Cpath fill='%23fff' d='M4 0h1v5H4z'/%3E%3Cpath fill='%23dfdfdf' d='M3 1h1v3H3z'/%3E%3Cpath fill='%23dfdfdf' d='M1 3h3v1H1z'/%3E%3C/svg%3E") 2;
    box-sizing: border-box;
    overflow: auto
}

.sunken-panel,
table {
    background-color: #fff
}

table {
    border-collapse: collapse;
    position: relative;
    text-align: left;
    white-space: nowrap
}

table>thead>tr>* {
    background: silver;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
    box-sizing: border-box;
    font-weight: 400;
    height: 17px;
    padding: 0 6px;
    position: sticky;
    top: 0
}

table.interactive>tbody>tr {
    cursor: pointer
}

table>tbody>tr.highlighted {
    background-color: navy;
    color: #fff
}

table>tbody>tr>* {
    height: 14px;
    padding: 0 6px
}

.progress-indicator {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    box-shadow: inset -2px -2px #dfdfdf, inset 2px 2px grey;
    box-sizing: border-box;
    height: 32px;
    padding: 4px;
    position: relative
}

.progress-indicator>.progress-indicator-bar {
    background-color: navy;
    display: block;
    height: 100%
}

.progress-indicator.segmented>.progress-indicator-bar {
    background-color: transparent;
    background-image: linear-gradient(90deg, navy 16px, transparent 0 2px);
    background-repeat: repeat;
    background-size: 18px 100%;
    width: 100%
}

.field-border {
    background: #fff
}

.field-border,
.field-border-disabled {
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    padding: 2px
}

.field-border-disabled {
    background: silver
}

.status-field-border {
    background: silver;
    box-shadow: inset -1px -1px #dfdfdf, inset 1px 1px grey;
    padding: 1px
}

.desktop {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    grid-template-columns: 1fr;
    font-size: var(--base-font-size);
    gap: 20px;
    padding: 16px;
    margin-left: 10px;
    width: 100px;
}

.desktop-icons {
    position: absolute;
    top: 50px;
    left: 50px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    z-index: -1;
}

.desktop-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80px;
    cursor: pointer;
    color: rgb(255, 255, 255);
    gap: 5px;
    font-size: var(--base-font-size);
    text-align: center;
}

.desktop-icon img {
    width: 48px;
    height: 48px;
    image-rendering: pixelated;
}

.window.active .title-bar {
    background: linear-gradient(90deg, #000080, #1084d0);
}

.grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    align-content: flex-start;
}



.project-shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    width: 210px;
    cursor: pointer;
    color: #222;

    gap: 5px;
    font-family: Arial;
    font-size: var(--base-font-size);

    transition: background-color 0.2s, box-shadow 0.2s;
    user-select: none;
    padding: 5px;
}

.project-shortcut:hover {
    background-color: rgba(0, 0, 128, 0.2);
    color: #fff;
    box-shadow: inset 0 0 0 1px #000080,
        inset 0 0 0 2px #fff;
    opacity: 0.8;
}

.project-shortcut:active {
    background-color: navy;
    color: #fff;
    box-shadow: inset 0 0 0 1px #fff,
        inset 0 0 0 2px #000;
}


.project-shortcut img {
    width: 200px;
    height: 200px;
    border: 1px solid transparent;
}

.media-scroll-container {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #797979;
    padding: 5px;
}

/* TASKBAR */
.taskbar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 28px;
    background: silver;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #0a0a0a;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #dfdfdf;
    display: flex;
    align-items: center;
    padding: 2px 3px;
    z-index: 1000;

    display: flex;
    justify-self: space-between;
    align-items: center;
    gap: 4px;
}

.taskbar-windows {
    display: flex;
    flex-grow: 1;

    gap: 4px;
    overflow-x: auto;

    height: var(--button-height);
}

.taskbar-windows .taskbar-button {
    background: silver;
    border: none;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
    min-width: 150px;

    height: var(--button-height);
    padding: 0 5px;
    text-align: left;
    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    user-select: none;
}

.taskbar-windows .taskbar-button:active {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
}

.taskbar-windows .taskbar-button.active {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
    background: var(--window-bg);
}

.taskbar-right {
    display: flex;
    align-items: center;
    padding: 0 5px;
    height: 100%;
    font-size: 16px;
    background: var(--window-bg);
    /* Görev çubuğu rengi */
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
}

.taskbar-time {
    padding: 0 4px;
}

.start-button {
    height: var(--button-height);
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: bold;
    font-size: 16px;
    padding: 0 8px;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px grey, inset 2px 2px #dfdfdf;
}

.start-button:active {
    box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px grey;
}

.start-button img {
    height: 15px;
    width: 15px;
    image-rendering: pixelated;
}

.start-menu {
    position: absolute;
    bottom: 30px;
    left: 3px;
    background: silver;
    border: 1px solid #0a0a0a;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    padding: 2px;
    display: flex;
    z-index: 999;
}

.start-menu-sidebar {
    width: 20px;
    background: linear-gradient(to top, navy, #1084d0);
    border-right: 1px solid #0a0a0a;
}

.start-menu-list {
    list-style-type: none;
    margin: 0;
    padding: 2px;
    display: flex;
    flex-direction: column;
}

.start-menu-list li {
    padding: 4px 10px 4px 5px;
}

.start-menu-list li.divider {
    border-top: 1px solid grey;
    border-bottom: 1px solid #fff;
    height: 2px;
    margin: 4px 0;
}

.start-menu-item {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: black;
    gap: 5px;
}

.start-menu-item img {
    width: 16px;
    height: 16px;
    image-rendering: pixelated;
}

.start-menu-item:hover {
    background: navy;
    color: white;
}


/* MENUBAR */
.menubar {
    display: flex;
    background: silver;
    margin: 0;
    padding: 0 2px;
    box-shadow: inset -1px -1px #dfdfdf, inset 1px 1px grey;
}

.menubar li {
    list-style: none;
    padding: 1px 6px;
    cursor: pointer;
}

.menubar li:hover {
    background: navy;
    color: white;
}

.menubar a {
    text-decoration: none;
    color: inherit;
    /* parent color'ı alır */
}

.context-menu {
    background: silver;
    border: 1px solid #0a0a0a;
    box-shadow: inset -1px -1px #fff, inset 1px 1px grey, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
    padding: 2px;
    position: absolute;
    z-index: 1000;
}

.context-menu li {
    list-style: none;
    margin: 0;
    padding: 2px 10px;
    white-space: nowrap;
}

.context-menu li a {
    color: black;
    text-decoration: none;
    display: block;
}

.context-menu li:hover {
    background: navy;
}

.context-menu li:hover a {
    color: white;
}

.context-menu .divider {
    border-top: 1px solid grey;
    border-bottom: 1px solid #fff;
    height: 2px;
    margin: 2px 0;
    padding: 0;
    pointer-events: none;
}



/* --- MOBİL UYUMLULUK STILLERİ --- */
@media (max-width: 768px) {

    /* Base mobile optimizations */
    html {
        font-size: 12px;
        -webkit-text-size-adjust: 100%;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    }

    body {
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    /* 1. Masaüstü ve İkonları Responsive Grid */
    .desktop {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
        gap: 20px;
        padding: 20px 15px;
        width: 100%;
        height: auto;
        margin-left: 0;
        justify-items: center;
    }

    .desktop-icon {
        width: 90px;
        font-size: var(--base-font-size);
        text-align: center;
        padding: 10px 5px;
        border-radius: 4px;
        transition: all 0.2s ease;
    }

    .desktop-icon:active {
        background: rgba(0, 0, 128, 0.2);
        transform: scale(0.95);
    }

    .desktop-icon img {
        width: 48px !important;
        height: 48px !important;
        margin-bottom: 8px;
    }

    /* 2. Pencereleri Tam Ekran Moduna Alalım */
    .window {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        /* Dynamic viewport height */
        max-width: 100% !important;
        max-height: 100% !important;
        z-index: 100 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .window-body {
        height: calc(100vh - 50px) !important;
        height: calc(100dvh - 50px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 15px !important;
        font-size: 16px;
    }

    /* Enhanced title bar for mobile */
    .title-bar {
        height: 50px !important;
        padding: 10px !important;
        font-size: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .title-bar-text {
        font-size: 14px !important;
        font-weight: bold !important;
    }

    .title-bar-controls {
        display: flex !important;
        gap: 10px !important;
    }

    .title-bar-controls button {
        min-width: 35px !important;
        min-height: 35px !important;
        padding: 0 !important;
        border-radius: 4px !important;
        background-size: 60% !important;
        background-position: center !important;
    }

    /* 3. Görev Çubuğunu ve diğer desktop elementlerini gizle */
    .taskbar {
        display: none !important;
    }

    /* 4. Proje klasöründeki grid yapısını düzenle */
    #project-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
        gap: 15px !important;
        padding: 10px !important;
        justify-content: center !important;
    }

    .project-shortcut {
        width: 100% !important;
        max-width: 180px !important;
        padding: 15px !important;
        border-radius: 8px !important;
        transition: all 0.2s ease !important;
    }

    .project-shortcut:active {
        transform: scale(0.98) !important;
        background-color: rgba(0, 0, 128, 0.1) !important;
    }

    .project-shortcut img {
        width: 100% !important;
        height: 120px !important;
        border-radius: 4px !important;
    }

    /* 5. Form elementlerini mobile-friendly yap */
    input[type=text],
    input[type=email],
    input[type=password],
    select,
    textarea {
        font-size: 16px !important;
        /* Prevents zoom on iOS */
        padding: 12px !important;
        height: auto !important;
        min-height: 44px !important;
        /* Touch target size */
    }

    button {
        min-height: 44px !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        border-radius: 4px !important;
    }

    /* 6. Tables responsive */
    .sunken-panel table {
        font-size: 12px !important;
    }

    table th,
    table td {
        padding: 8px 4px !important;
        font-size: 14px !important;
    }

    /* 7. Status bar improvements */
    .status-bar {
        flex-direction: column !important;
        gap: 5px !important;
        padding: 10px !important;
    }

    .status-bar-field {
        font-size: 14px !important;
        padding: 5px !important;
    }

    /* 8. Media scroll containers */
    .media-scroll-container {
        max-height: 300px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 9. Search interface mobile optimizations */
    #search-window {
        width: 95% !important;
        height: auto !important;
        max-height: 80vh !important;
        top: 10px !important;
    }

    #search-input {
        font-size: 16px !important;
        padding: 12px !important;
    }

    .tag-filter {
        padding: 8px 12px !important;
        font-size: 12px !important;
        margin: 2px !important;
        border-radius: 20px !important;
    }

    /* 10. Image optimizations */
    img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* 11. Accessibility improvements */
    .desktop-icon,
    .project-shortcut,
    button {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    }

    /* 12. Safe area insets for newer phones */
    @supports (padding: max(0px)) {
        .window {
            padding-left: max(0px, env(safe-area-inset-left)) !important;
            padding-right: max(0px, env(safe-area-inset-right)) !important;
        }

        .window-body {
            padding-bottom: max(15px, env(safe-area-inset-bottom)) !important;
        }
    }

    /* 13. Dark mode support */
    @media (prefers-color-scheme: dark) {
        .window {
            background: #2d2d2d !important;
        }

        .window-body {
            background: #2d2d2d !important;
            color: #ffffff !important;
        }
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

    .desktop-icon img,
    .title-bar-controls button {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: optimize-contrast;
    }
}

/* Landscape mobile optimizations */
@media (max-width: 768px) and (orientation: landscape) {
    .desktop {
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)) !important;
        padding: 10px !important;
    }

    .desktop-icon {
        width: 80px !important;
        font-size: 10px !important;
    }

    .desktop-icon img {
        width: 40px !important;
        height: 40px !important;
    }
}