:root { color-scheme: dark; font: 16px/1.6 system-ui, sans-serif; color: #e4eee7; background: #101f1c; }
* { box-sizing: border-box; }
body { margin: 0; }
header { padding: 24px 32px; border-bottom: 1px solid #365247; display: flex; gap: 24px; justify-content: space-between; flex-wrap: wrap; }
header span, .footnote { color: #a6bdb0; }
.layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); max-width: 1200px; margin: auto; }
nav { padding: 24px 16px; }
nav a { display: block; padding: 12px 16px; margin-bottom: 8px; border-radius: 8px; color: inherit; text-decoration: none; }
nav a:hover, nav a[aria-current="page"] { background: #365247; }
a:focus-visible { outline: 2px solid #f4ce76; outline-offset: 3px; }
main { padding: 24px 32px; }
.notice { border-left: 3px solid #c5a45d; padding: 12px 20px; background: #192e28; }
h1 { font-size: 30px; color: #f4ce76; }
li { margin-bottom: 12px; }
section { min-height: 300px; }
@media (max-width: 650px) { .layout { grid-template-columns: 1fr; } nav { display: flex; flex-wrap: wrap; gap: 4px; } nav a { padding: 8px; } main { padding: 16px; } }
[hidden] { display: none !important; }
#login-panel, #auth-status { margin: 24px; }
#access-form { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
button, input, select { font: inherit; padding: 8px; }
#account { overflow-wrap: anywhere; }
.access-view #catalog-section { min-height: 0; }
.access-view .notice, .access-view .footnote { display: none; }
#user-id { width: min(100%, 24rem); }
.fish-view #catalog-section { min-height: 0; }
.fish-view .notice, .fish-view .footnote, .fish-view #entities { display: none; }
#fish-form { margin-top: 24px; padding: 20px; border: 1px solid #365247; }
#fish-form > label { display: block; margin: 12px 0; }
#fish-form input:not([type="checkbox"]) { width: min(100%, 32rem); }
#fish-list { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 12px; border-bottom: 1px solid #365247; overflow-wrap: anywhere; }
.section-actions { display: flex; gap: 12px; }
.world-view #catalog-section { min-height: 0; }
.world-view .notice, .world-view .footnote, .world-view #entities { display: none; }
#location-list, #waterbody-list { overflow-x: auto; }
#location-form, #waterbody-form { margin-top: 24px; padding: 20px; border: 1px solid #365247; }
#world-panel form > label { display: block; margin: 12px 0; }
#world-panel input:not([type="checkbox"]), #world-panel select { width: min(100%, 32rem); }
#waterbody-fish-panel { margin-top: 24px; padding: 20px; border: 1px solid #365247; }
#waterbody-fish-form label { display: block; margin: 12px 0; }
#waterbody-fish-form input, #waterbody-fish-form select { width: min(100%, 24rem); }
#waterbody-fish-list { overflow-x: auto; }
td button + button { margin-left: 8px; }
