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

body {
    font-family: monospace, monospace;
    font-size: 14px;
    line-height: 1.5;
    padding: 10px;
}

a,
a:visited,
a:hover,
a:active,
a:focus {
    text-decoration: none !important;
}

/* Light Theme */
body.light {
    background-color: #ffffff;
    color: #000000;
}
body.light a,
body.light a:visited,
body.light .howto-link {
    color: inherit;
}
body.light a:hover,
body.light .howto-link:hover {
    opacity: 0.8;
}

/* Dark Theme */
body.dark {
    background-color: #1e1e1e;
    color: #d4d4d4;
}
body.dark a,
body.dark a:visited,
body.dark .howto-link {
    color: inherit;
}
body.dark a:hover,
body.dark .howto-link:hover {
    color: #ffffff;
}

/* Unix Theme */
body.unix {
    background-color: #000000;
    color: #00ff00;
}
body.unix a,
body.unix a:visited,
body.unix .howto-link {
    color: inherit;
}
body.unix a:hover,
body.unix .howto-link:hover {
    background-color: #00ff00;
    color: #000000;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid currentColor;
    margin-bottom: 15px;
}

.header-controls {
    display: flex;
    gap: 10px;
    align-items: center;
}

.container {
    display: flex;
    gap: 20px;
    min-height: calc(100vh - 120px);
}

.sidebar {
    width: 250px;
    flex-shrink: 0;
    border-right: 1px solid currentColor;
    padding-right: 15px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar li {
    list-style-type: none;
    margin-bottom: 6px;
}

.sidebar-chapter {
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: 14px;
}

.content {
    flex-grow: 1;
    padding-left: 5px;
}

footer {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid currentColor;
    display: flex;
    gap: 15px;
    font-size: 0.9em;
}

button.type-btn,
button.theme-btn,
a.theme-btn,
input[type="text"],
input[type="file"],
select,
textarea {
    font-family: monospace;
    font-size: 13px;
    background: transparent;
    color: inherit;
    border: 1px solid currentColor;
    padding: 3px 8px;
    cursor: pointer;
}

/* Dropdown & Optionen */
select,
select option {
    background-color: inherit;
    color: inherit;
}

/* Theme-spezifische Anpassungen für Eingabefelder und Dropdowns */
body.unix select,
body.unix select option,
body.unix input[type="text"],
body.unix textarea {
    background-color: #000000;
    color: #00ff00;
}

body.dark select,
body.dark select option,
body.dark input[type="text"],
body.dark textarea {
    background-color: #1e1e1e;
    color: #d4d4d4;
}

body.light select,
body.light select option,
body.light input[type="text"],
body.light textarea {
    background-color: #ffffff;
    color: #000000;
}

button.theme-btn:hover,
a.theme-btn:hover {
    background: rgba(128, 128, 128, 0.2);
}

pre {
    font-family: monospace;
    white-space: pre-wrap;
    word-wrap: break-word;
}

mark {
    background-color: #ffff00;
    color: #000000;
    font-weight: bold;
    padding: 0 2px;
}
