/* ========================================================================== RCSS User Agent Defaults (Plain HTML Style) ========================================================================== */ * { box-sizing: border-box; font-family: "Hubballi"; --background-color: #54703f; --foreground-color: #000000; } body { display: block; width: 100vw; height: 100vh; /* font-family: "rmlui-debugger-font"; */ font-size: 15pt; background-color: var(--background-color); color: var(--foreground-color); margin: 0px; padding: 20px; } /* Generic Structural Layout Defaults */ div, section, article, header, footer, main, nav, aside { display: block; } span, em, strong, a { display: inline; } /* Typographic Defaults */ p { display: block; margin: 1em 0px; } h1, h2, h3, h4, h5, h6 { display: block; font-weight: bold; margin: 0.83em 0px; } h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.17em; } h4 { font-size: 1em; } h5 { font-size: 0.83em; } h6 { font-size: 0.67em; } em { font-style: italic; } strong { font-weight: bold; } a { color: #0000ee; text-decoration: underline; } a:hover { color: #551a8b; } blockquote { display: block; margin: 1em 40px; padding-left: 10px; border-left: 2px #cccccc; color: #555555; } code, pre { font-family: "rmlui-debugger-font"; background-color: #606060; color: #000000; padding: 3px; font-style: italic; } pre { display: block; white-space: pre; margin: 1em 0px; padding: 8px; } /* Lists */ ul, ol { display: block; margin: 1em 0px; padding-left: 40px; } li { display: block; } /* ========================================================================== Tables ========================================================================== */ table { display: table; } tr { display: table-row; } td, th { display: table-cell; padding: 4px 8px; text-align: left; } th { font-weight: bold; background-color: #eaeaea; } col { display: table-column; } colgroup { display: table-column-group; } thead, tbody, tfoot { display: table-row-group; } /* ========================================================================== Form Inputs & Interactive UI Components ========================================================================== */ button, input, select, textarea { display: inline-block; font-family: "rmlui-debugger-font"; font-size: 14px; margin: 2px; vertical-align: middle; } button, input[type="submit"], input[type="button"] { padding: 4px 12px; min-width: 40px; background-color: transparent; color: var(--foreground-color); border: 1px var(--foreground-color); text-align: center; } button:hover, input[type="submit"]:hover, input[type="button"]:hover { background-color: transparent; border: 2px var(--foreground-color); } button:active, input[type="submit"]:active, input[type="button"]:active { background-color: #b5b5b5; border: 2px var(--foreground-color); } /* Standard text field styling */ input[type="text"], input[type="password"], textarea { padding: 4px; background-color: transparent; color: var(--foreground-color); border: 1px var(--foreground-color); } input[type="text"]:focus, input[type="password"]:focus, textarea:focus { /* border: 1px #005aff; */ border-width: 2px; } textarea { display: block; /* white-space: pre-wrap; */ width: 300px; height: 100px; } /* Select Box & Dropdowns */ select { padding: 4px; background-color: #ffffff; color: #000000; border: 1px #767676; text-align: left; } /* ========================================================================== RmlUi Specific Elements (Tabsets, Progress Bars, etc.) ========================================================================== */ tabset { display: block; } tabset tabs { display: block; border-bottom: 1px #cccccc; } /* Simple default layout style for built-in tabs */ tab { display: inline-block; padding: 6px 12px; background-color: #f0f0f0; border: 1px #cccccc; margin-right: 2px; } tab:selected { background-color: #ffffff; border-bottom: 1px #ffffff; /* Overlap the bottom border line */ font-weight: bold; } panel { display: block; padding: 10px; background-color: #ffffff; } /* Standard HTML5 / RmlUi Progress Bar Fallback */ progress { display: inline-block; width: 160px; height: 20px; background-color: #e6e6e6; border: 1px #b0b0b0; } progress-value { display: block; height: 100%; background-color: #0078d7; /* Classic Windows Blue fill */ } /* ========================================================================== Utility & Modern Layout Helpers ========================================================================== */ .flex { display: flex; } .flex-row { flex-direction: row; } .flex-col { flex-direction: column; } .justify-center { justify-content: center; } .align-center { align-items: center; } .hidden { display: none; } /* =================================== Specific app stuff =================================== */ #header { display: flex; flex-direction: row; align-items: center; gap: 50px; } #new-critter-btn { height: 50px; width: 50px; border-radius: 10px; font-size: 30pt; display: flex; text-align: center; align-items: center; border-width: 2px; border-color: var(--foreground-color); background-color: transparent; color: var(--foreground-color); transition: border-width 0.2s linear-in-out; } #new-critter-btn:hover { border-width: 4px; } /* Critter Cards Container */ .critter-list { display: flex; flex-direction: column; flex-wrap: wrap; padding: 10px; } /* Interactive Card Base */ .critter-card { display: block; width: 50%; margin: 10px; padding: 10px; background-color: transparent; color: var(--foreground-color); border: 2px var(--foreground-color); text-align: left; border-radius: 10px; } .critter-card:hover { border: 3px var(--foreground-color); } .critter-card:active { background-color: #222222; } /* Header with Small ID & Delete Button */ .critter-card-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px var(--foreground-color); padding-bottom: 4px; margin-bottom: 8px; } .critter-id { font-size: 12pt; color: var(--foreground-color); } .btn-delete { padding: 2px 6px; min-width: 0px; font-size: 10px; background-color: #aa2222; color: #ffffff; border: 0px; } .btn-delete:hover { background-color: #ff3333; } /* Body & Thumbnail */ .critter-card-body { display: flex; align-items: center; } .critter-thumb { width: 100px; height: 100px; margin-right: 10px; background-color: transparent; border: 1px var(--foreground-color); } .critter-info { flex: 1; } .critter-name { margin: 0px 0px 4px 0px; font-size: 20pt; color: var(--foreground-color); } .critter-info p { margin: 2px 0px; font-size: 18pt; color: var(--foreground-color); } /* Modals */ .modal-overlay { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background-color: var(--background-color); display: flex; align-items: center; justify-content: center; } .modal-content { background-color: transparent; color: var(--foreground-color); border-color: var(--foreground-color); border-width: 2px; padding: 20px; border-radius: 10px; width: 80%; height: 80%; } .modal-content h2 { position: relative; top: -65px; background-color: var(--background-color); text-align: center; padding: 0px; max-width: 300px; } .modal-content label { display: block; margin-top: 8px; font-size: 20pt; } .modal-content input { width: 100%; margin-bottom: 8px; background-color: transparent; font-size: 15pt; } .modal-content textarea { width: 100%; } .error { color: #ff5555; font-weight: bold; } .dialog-text { font-size: 25pt; /* font-style: italic; */ } .modal-buttons { margin-top: 15px; display: flex; flex-direction: row; gap: 20px; /* justify-content: space-between; */ align-items: center; justify-content: center; font-size: 18pt; width: 100%; } .modal-buttons button { width: 50%; height: 50px; font-size: 20pt; line-height: 50px; }