/* Custom Retro Fonts */
/* Chicago is bundled as TTF; optional retro fonts are intentionally omitted. */
@font-face {
    font-family: Chicago;
    src: url("../ChicagoFLF.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Chicago_12;
    src: url("../ChicagoFLF.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Wii Cursor Pack */

/* Default cursor */
* {
    cursor: url("../cursors/WiiCursor.cur"), auto;
}

/* Pointer/Open cursor for links and buttons */
a,
button,
.clickable,
[role="button"],
.start-btn,
.window-buttons button {
    cursor: url("../cursors/wii-open.cur"), pointer;
}

/* Reverse pointer for alternative actions */
.alt-action {
    cursor: url("../cursors/wii-pointer-reverse.cur"), pointer;
}

/* Blue pointer for special interactions */
.special {
    cursor: url("../cursors/wii-pointer-blue.cur"), pointer;
}

/* Draggable elements - grab cursor */
.window-title,
.desktop-icon {
    cursor: url("../cursors/wii-grab.cur"), grab;
}

.window-title:active,
.desktop-icon:active {
    cursor: url("../cursors/wii-grab-ccw.cur"), grabbing;
}

/* Move cursor for moveable items */
.moveable,
.window {
    cursor: url("../cursors/wii-move.cur"), move;
}

/* Resize cursors */
.resize-handle-n,
.resize-handle-s {
    cursor: url("../cursors/wii-move.cur"), ns-resize;
}

.resize-handle-e,
.resize-handle-w {
    cursor: url("../cursors/wii-move.cur"), ew-resize;
}

.resize-handle-ne,
.resize-handle-se,
.resize-handle-nw,
.resize-handle-sw {
    cursor: url("../cursors/wii-move-ccw.cur"), grab;
}

/* Help cursor */
[title],
.help {
    cursor: url("../cursors/wii-help.cur"), help;
}

/* Loading cursor */
.loading,
.busy {
    cursor: url("../cursors/wii-loading-ring.ani");
}

/* Modern Dark Theme */
body {
    font-family: Chicago_12, Chicago, Arial, sans-serif;
    --accent: #6366f1;
    --accent-dark: #4f46e5;
    --accent-light: #818cf8;
    --accent-contrast: #f5f3ff;
    --accent-scroll: #4f46e5;
    --primary: var(--accent);
    --primary-dark: var(--accent-dark);
    --primary-light: var(--accent-light);
    --highlight: #e5e7eb;
    --shadow: #1f1f24;
    --dark-shadow: #0a0a0f;
    --bg: #0a0a0f;
    --bg-secondary: #1a1a1f;
    --button-face: #2a2a30;
    --text: #e5e7eb;
    --text-secondary: #a0aab8;
}

/* Luna theme (modern) - desktop background */
body.theme-luna {
    background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f0f1a 100%);
    background-attachment: fixed;
}

/* Classic theme (modern) - desktop background */
body.theme-classic {
    background: linear-gradient(135deg, #1f2937 0%, #2d3748 100%);
    background-attachment: fixed;
}

/* Window styling - all themes use dark gray title */
.window-title {
    background: #3a3a3a !important;
}

.window-title .title-text {
    color: #e5e7eb;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Start button Modern */
body.theme-luna .start-button {
    background: linear-gradient(180deg, var(--accent-dark), #3d38a8);
    border: none;
    color: white;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

body.theme-luna .start-button:hover {
    background: linear-gradient(180deg, var(--accent), var(--accent-dark));
    box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4);
}

body.theme-luna .start-button:active {
    box-shadow: 0 2px 4px rgba(79, 70, 229, 0.5);
    transform: translateY(1px);
}

/* Start menu Modern */
body.theme-luna .start-menu {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 8px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
}

body.theme-luna .start-menu-header {
    background: linear-gradient(90deg, var(--accent-dark), var(--accent));
    border-radius: 8px 8px 0 0;
}

body.theme-luna .user-banner {
    color: white;
}

/* Luna dialog boxes */
body.theme-luna .window {
    background: transparent;
    border: none;
    border-radius: inherit;
    box-shadow: none;
}

body.theme-luna .window-content {
    background: transparent;
}

body.theme-luna .window-body {
    color: #e5e7eb;
}

/* Classic dialog boxes */
body.theme-classic .window {
    background: transparent;
    border-radius: inherit;
    box-shadow: none;
}

body.theme-classic .window-content {
    background: transparent;
}

/* XP buttons - Modern */
.xp-button {
    padding: 8px 16px;
    background: linear-gradient(135deg, var(--accent-dark), var(--accent));
    border: none;
    cursor: pointer;
    font-size: 11px;
    font-family: inherit;
    min-width: 75px;
    transition: all 0.2s;
    box-shadow: 0 4px 6px rgba(79, 70, 229, 0.25);
    color: white;
    border-radius: 4px;
    font-weight: 500;
}

.xp-button:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent-light));
    box-shadow: 0 6px 12px rgba(79, 70, 229, 0.35);
    transform: translateY(-1px);
}

.xp-button:active {
    box-shadow: 0 2px 4px rgba(79, 70, 229, 0.4);
    transform: translateY(0px);
}

.xp-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* XP input - Modern */
input[type="text"],
input[type="email"],
textarea,
select {
    padding: 8px 12px;
    border: 1px solid #334155;
    background: #0f172a;
    font-family: inherit;
    font-size: 11px;
    color: #e5e7eb;
    border-radius: 4px;
    transition: all 0.2s;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--accent-dark);
    background: #1e293b;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

/* Checkbox XP style */
input[type="checkbox"] {
    accent-color: var(--accent-dark);
}

/* Scrollbar Modern */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: var(--accent-scroll);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent);
}

::-webkit-scrollbar-button {
    display: none;
}

/* Firefox scrollbar */
* {
    scrollbar-color: var(--accent-scroll) #0f172a;
    scrollbar-width: thin;
}

/* Selection */
::selection {
    background: #4f46e5;
    color: white;
}

/* Cursor */
body {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 0l8 11H4v16h18V11h-4l8-11z" fill="%23e5e7eb"/></svg>') 0 0, auto;
}

a {
    cursor: pointer;
}

button {
    cursor: pointer;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #f5f3ff;
}

p, li, span, div {
    color: #b0b9c3;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

