* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    padding: 0;
    background-color: #000000;
    background-image: url('https://sccpsteve.com/body_tile.gif');
    background-repeat: repeat;
    font-family: Helvetica, Arial, sans-serif;
    color: #111111;
}

a { color: #1a5fbf; text-decoration: none; }
a:hover { color: #000000; text-decoration: underline; }
a:focus-visible, button:focus-visible { outline: 2px solid #2f5e9b; outline-offset: 2px; }

#top-bar {
    background-color: #000000;
    background-image: url('https://sccpsteve.com/header_shell.png');
    background-repeat: repeat-x;
    border-bottom: 1px solid #000000;
}

#top-bar-inner {
    width: 96%;
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
}

#identity {
    float: left;
    margin: 10px 0;
    color: #ffffff;
}

#identity h1 {
    margin: 0;
    font-size: 24px;
    font-weight: normal;
}

#identity h1 .handle { font-weight: bold; }

#mini-nav {
    float: right;
    margin: 16px 0 0 0;
    color: #c1c8d4;
    font-size: 12px;
    white-space: nowrap;
}

#mini-nav a { color: #dfe7f0; }
#mini-nav a:hover { color: #ffffff; }
#mini-nav span { margin: 0 4px; color: #718096; }

#content-shell {
    background-image: url('https://sccpsteve.com/content_gradient.png');
    background-repeat: repeat-x;
    padding: 30px 0 40px;
}

#content-inner {
    width: 96%;
    max-width: 980px;
    margin: 0 auto;
    background-color: #f7fbff;
    border: 1px solid #b1c0cf;
    padding: 26px 26px 30px;
    overflow: hidden;
}

h2 {
    font-size: 21px;
    margin: 0 0 10px;
    color: #1b2634;
}

h3 {
    font-size: 15px;
    margin: 0 0 6px;
    color: #1b2634;
}

p {
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 10px;
}

.eyebrow {
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #526a84;
    font-weight: bold;
    font-size: 10px;
}

.lead {
    color: #35475b;
    font-size: 14px;
    font-weight: bold;
}

.hero-section { margin-bottom: 20px; }

.status-strip {
    margin-top: 14px;
    padding: 8px 10px;
    border: 1px solid #c5d1de;
    background: #e5edf7;
    color: #1b2634;
    font-size: 12px;
    overflow: hidden;
}

.status-strip span { display: inline-block; margin-right: 18px; }

.section-block {
    margin-top: 18px;
    border: 1px solid #c5d1de;
    background-color: #ffffff;
}

.bar-header {
    height: 32px;
    line-height: 32px;
    padding-left: 10px;
    color: #ffffff;
    text-shadow: 1px 1px 2px #000000;
    font-weight: bold;
    font-size: 12px;
    background-color: #2f5e9b;
}

.box-body { padding: 12px; }

.interest-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
}

.interest-item {
    padding: 13px 14px;
    border-right: 1px solid #d7e0ea;
    border-bottom: 1px solid #d7e0ea;
    min-height: 86px;
}

.interest-item:nth-child(even) { border-right: 0; }
.interest-item:nth-last-child(-n+2) { border-bottom: 0; }
.interest-item p { margin: 0; color: #35475b; }

.section-intro { color: #35475b; }

.link-list { border: 1px solid #c5d1de; }

.link-row {
    display: grid;
    grid-template-columns: 92px 1fr 20px;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    border-bottom: 1px solid #d7e0ea;
    background: #ffffff;
    color: #111111;
    font-size: 13px;
}

.link-row:last-child { border-bottom: 0; }
.link-row:hover { background: #edf4fb; text-decoration: none; }
.link-kind { color: #526a84; font-size: 11px; font-weight: bold; text-transform: uppercase; }
.link-title { color: #1a5fbf; font-weight: bold; }
.link-arrow { color: #2f5e9b; font-size: 21px; text-align: right; }

.two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.site-button {
    width: 92px;
    height: 41px;
    border: 0;
    padding: 0 6px;
    background-color: #2f5e9b;
    background-image: url('https://sccpsteve.com/but_92x41.png');
    background-repeat: no-repeat;
    background-position: left top;
    color: #ffffff;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
}

.site-button:hover {
    background-image: url('https://sccpsteve.com/but_92x41_O.png');
    color: #ffffff;
}

.small-text { font-size: 11px; color: #526a84; margin-top: 6px; min-height: 18px; }
.home-link { margin-top: 18px; font-size: 12px; }

#footer {
    width: 96%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 0 18px;
    color: #c1c8d4;
    text-align: center;
    font-size: 11px;
}

#footer a { color: #dfe7f0; }
.footer-admin { margin-left: 9px; }

/* Shared admin styling */
.admin-page #content-inner { max-width: 860px; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-panel { border: 1px solid #c5d1de; background: #ffffff; margin-top: 16px; }
.form-panel .box-body { padding: 14px; }
label { display: block; margin: 10px 0 4px; font-weight: bold; font-size: 12px; color: #1b2634; }
input[type="text"], input[type="password"], input[type="url"], textarea {
    width: 100%;
    border: 1px solid #9fb0c1;
    background: #ffffff;
    color: #111111;
    font: 12px/1.4 Helvetica, Arial, sans-serif;
    padding: 7px;
}
textarea { min-height: 82px; resize: vertical; }
input:focus, textarea:focus { outline: 2px solid #b1c0cf; }
.field-row { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.repeat-row { border-top: 1px solid #d7e0ea; padding-top: 8px; margin-top: 8px; }
.flash { background: #e7f4e4; border: 1px solid #8eb487; padding: 8px; font-size: 12px; }
.error { background: #ffe2df; border: 1px solid #c57b73; padding: 8px; font-size: 12px; }
.warning { background: #fff6b3; border: 1px solid #cabb6a; padding: 8px; font-size: 12px; }
.admin-actions { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.text-button {
    border: 1px solid #2a527f;
    background: #2f5e9b;
    color: white;
    padding: 7px 12px;
    font: bold 12px Helvetica, Arial, sans-serif;
    cursor: pointer;
}
.text-button:hover { background: #244c7e; }

.danger-button {
    border: 1px solid #8d332d;
    background: #a84037;
    color: #ffffff;
    padding: 7px 12px;
    font: bold 12px Helvetica, Arial, sans-serif;
    cursor: pointer;
}
.danger-button:hover { background: #8f332d; }
input[type="file"] { padding: 5px; }
.text-link-button {
    display: inline-block;
    border: 1px solid #8294a8;
    background: #e5edf7;
    color: #1b2634;
    padding: 7px 12px;
    font-size: 12px;
}
.text-link-button:hover { background: #d6e3f0; text-decoration: none; }
.health-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.health-table th, .health-table td { border: 1px solid #c5d1de; padding: 7px; text-align: left; }
.health-table th { width: 42%; background: #e5edf7; }

@media screen and (max-width: 760px) {
    #identity { float: none; margin: 8px 0 4px; }
    #mini-nav { float: none; margin: 0 0 8px; white-space: normal; line-height: 1.7; }
    #content-inner { padding: 18px 14px 22px; }
    .interest-grid, .two-column, .admin-grid, .field-row { grid-template-columns: 1fr; }
    .interest-item { border-right: 0; }
    .interest-item:nth-last-child(-n+2) { border-bottom: 1px solid #d7e0ea; }
    .interest-item:last-child { border-bottom: 0; }
    .link-row { grid-template-columns: 74px 1fr 16px; }
    .status-strip span { display: block; margin: 0 0 4px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
