@font-face { font-family: 'Righteous'; src: url('/assets/fonts/Righteous-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Julius Sans One'; src: url('/assets/fonts/JuliusSansOne-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'YummyCupcakes'; src: url('/assets/fonts/YummyCupcakes.ttf') format('truetype'); font-weight: normal; font-style: normal; } html, body { margin: 0; padding: 0; height: 100%; background: #0f0d0a; color: #f2ead8; font-family: 'Julius Sans One', system-ui, sans-serif; overflow: hidden; } #game-container { position: relative; width: 100%; height: 100%; } #game-container canvas { display: block; margin: 0 auto; } /* DOM overlay used by UI components (text inputs, file pickers) positioned absolutely above the canvas. Pointer events are enabled per-element. */ #dom-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } #dom-layer * { pointer-events: auto; } #dom-layer input[type="text"], #dom-layer input[type="email"], #dom-layer input[type="password"], #dom-layer textarea { font: inherit; background: rgba(15, 23, 36, 0.95); color: #e6edf3; border: 1px solid #2c3a4d; border-radius: 6px; padding: 8px 10px; outline: none; } #dom-layer input:focus, #dom-layer textarea:focus { border-color: #c8a84b; box-shadow: 0 0 0 2px rgba(200, 168, 75, 0.3); } #dom-layer button { font: inherit; } /* ── Tutorial modal ─────────────────────────────────────────────────────────── */ .tutorial-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, 0.82); display: flex; align-items: center; justify-content: center; } .tutorial-dialog { display: flex; flex-direction: column; width: 82vw; max-width: 1400px; height: 84vh; background: #1e1a12; border: 2px solid #c8a84b; border-radius: 10px; overflow: hidden; } .tutorial-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid #c8a84b44; flex-shrink: 0; } .tutorial-header h2 { margin: 0; font-family: 'Righteous', sans-serif; font-size: 24px; color: #c8a84b; font-weight: normal; } .tutorial-close { background: none; border: 1px solid #9e9080; color: #9e9080; width: 36px; height: 36px; border-radius: 6px; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color 0.15s, color 0.15s; } .tutorial-close:hover { border-color: #f2ead8; color: #f2ead8; } .tutorial-body { flex: 1; display: flex; overflow: hidden; } .tutorial-video-panel { width: 33%; flex-shrink: 0; position: relative; background: #0f0d0a; display: flex; align-items: center; justify-content: center; border-right: 1px solid #c8a84b44; } .tutorial-video-panel video { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; } .tutorial-replay-btn { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.55); cursor: pointer; } .tutorial-replay-btn.visible { display: flex; } .tutorial-replay-btn svg { width: 64px; height: 64px; fill: #c8a84b; opacity: 0.9; transition: opacity 0.15s; } .tutorial-replay-btn:hover svg { opacity: 1; } .tutorial-text-panel { flex: 1; overflow-y: auto; padding: 28px 36px; color: #f2ead8; font-family: 'Julius Sans One', system-ui, sans-serif; font-size: 15px; line-height: 1.7; } .tutorial-text-panel::-webkit-scrollbar { width: 6px; } .tutorial-text-panel::-webkit-scrollbar-track { background: #0f0d0a; } .tutorial-text-panel::-webkit-scrollbar-thumb { background: #4a4030; border-radius: 3px; } .tutorial-text-panel::-webkit-scrollbar-thumb:hover { background: #c8a84b; } .tutorial-text-panel h2 { font-family: 'Righteous', sans-serif; font-size: 20px; color: #c8a84b; font-weight: normal; margin: 28px 0 10px; border-bottom: 1px solid #c8a84b33; padding-bottom: 6px; } .tutorial-text-panel h2:first-child { margin-top: 0; } .tutorial-text-panel h3 { font-family: 'Julius Sans One', sans-serif; font-size: 16px; color: #d8c498; margin: 20px 0 8px; } .tutorial-text-panel p { margin: 0 0 12px; } .tutorial-text-panel em { color: #b8aa90; font-style: italic; } .tutorial-text-panel strong { color: #e8d8b0; font-style: normal; } .tutorial-text-panel hr { border: none; border-top: 1px solid #3a3020; margin: 20px 0; } .tutorial-text-panel ul, .tutorial-text-panel ol { margin: 0 0 12px; padding-left: 24px; } .tutorial-text-panel li { margin-bottom: 4px; } .tutorial-text-panel table { border-collapse: collapse; width: 100%; margin: 12px 0 18px; font-size: 14px; } .tutorial-text-panel th { background: #2a2418; color: #c8a84b; padding: 8px 12px; text-align: left; border: 1px solid #3a3020; } .tutorial-text-panel td { padding: 7px 12px; border: 1px solid #2a2418; color: #d8cdb8; } .tutorial-text-panel tr:nth-child(even) td { background: #1a1710; }