/*
Theme Name: Deweyspace Professional (Refined)
Theme URI: https://davidgoodman.org/
Author: OpenAI
Description: An old-web-inspired professional WordPress theme with nocturnal colors, restrained glow, compact profile panels, and a clear academic/professional focus.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: deweyspace-professional
*/
:root {
  --night: #080d1b;
  --night-2: #0c1428;
  --panel: #101b31;
  --panel-soft: #0c172b;
  --line: #344763;
  --line-soft: #243650;
  --text: #e2e8f2;
  --muted: #aab8cc;
  --dim: #788ba6;
  --ice: #b8e9ff;
  --blue: #75c9ff;
  --red: #ff647a;
  --gold: #e6c48a;
  --green: #a7e7c1;
  --glow-blue: 0 0 9px rgba(117,201,255,.35);
  --glow-red: 0 0 10px rgba(255,100,122,.22);
  --max: 1320px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(ellipse at 50% -15%, rgba(40,76,125,.26), transparent 48%),
    linear-gradient(180deg, #080d1b 0%, #090f1e 58%, #070b15 100%);
  font: 16px/1.65 "Courier New", Courier, monospace;
  letter-spacing: .005em;
}
body::before {
  content: "";
  pointer-events: none;
  position: fixed; inset: 0; z-index: 10;
  opacity: .07;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 3px, rgba(0,0,0,.36) 4px);
}
a { color: var(--blue); text-decoration: underline; text-decoration-color: rgba(117,201,255,.45); text-underline-offset: 3px; }
a:hover, a:focus { color: #fff; text-shadow: var(--glow-blue); text-decoration-color: var(--red); }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:1rem; top:1rem; z-index:100; background:#fff; color:#000; padding:.75rem; }
.site-shell { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
.site-topline { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding: 11px 0 8px; color:var(--dim); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--line-soft); }
.site-topline .signal { color:var(--green); }
.site-topline .signal::before { content:"●"; margin-right:.55rem; font-size:.7rem; text-shadow:0 0 7px rgba(167,231,193,.5); }
.masthead { display:grid; grid-template-columns: 1fr auto; align-items:end; gap:2rem; padding: 25px 0 22px; }
.site-title { margin:0; font-size:clamp(2rem, 5vw, 3.5rem); line-height:1.02; letter-spacing:-.075em; font-weight:700; }
.site-title a { color:var(--ice); text-decoration:none; text-shadow: 0 0 2px rgba(184,233,255,.65), 0 0 20px rgba(117,201,255,.25); }
.site-description { margin:.65rem 0 0; color:var(--muted); font-size:.86rem; max-width:650px; }
.masthead-mark { color:var(--red); font-size:.72rem; text-align:right; line-height:1.9; text-transform:uppercase; letter-spacing:.1em; text-shadow:var(--glow-red); }
.site-nav { display:flex; flex-wrap:wrap; gap:0; border:1px solid var(--line); background:rgba(9,17,33,.8); margin-bottom:24px; }
.site-nav a { display:block; padding:10px 15px; font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; color:var(--muted); border-right:1px solid var(--line-soft); }
.site-nav a:hover, .site-nav .current-menu-item > a { color:var(--ice); background:rgba(117,201,255,.07); text-shadow:var(--glow-blue); }
.site-nav ul { display:flex; flex-wrap:wrap; gap:0; list-style:none; margin:0; padding:0; }
.site-nav li { margin:0; }
.content-grid { display:block; width:100%; max-width:1120px; margin-left:auto; margin-right:auto; }
.main-column { width:100%; min-width:0; }
.panel { border:1px solid var(--line); background:rgba(12,22,41,.94); box-shadow:none; margin-bottom:15px; min-width:0; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:9px 13px; background:rgba(24,41,68,.55); border-bottom:1px solid var(--line); color:var(--ice); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; }
.panel-heading .micro { color:var(--dim); font-size:.65rem; letter-spacing:.07em; text-align:right; }
.panel-body { padding:18px; }
.profile-intro { display:grid; grid-template-columns: 120px minmax(0,1fr); gap:20px; align-items:start; }
.profile-emblem { min-height:130px; border:1px solid #47617f; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle, rgba(117,201,255,.13), rgba(9,17,32,.5) 68%); color:var(--blue); font-size:2.6rem; text-shadow:0 0 18px rgba(117,201,255,.4); }
.eyebrow { color:var(--red); text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; margin:0 0 .45rem; }
h1,h2,h3,h4 { font-family: "Courier New", Courier, monospace; line-height:1.25; }
h1 { font-size:clamp(1.65rem, 3.5vw, 2.5rem); color:var(--ice); margin:.1rem 0 .8rem; letter-spacing:-.04em; }
h2 { color:var(--ice); font-size:1.25rem; margin:0 0 .8rem; }
h3 { color:var(--gold); font-size:.95rem; margin:0 0 .45rem; }
p { margin:0 0 1rem; }
p:last-child { margin-bottom:0; }
.lead { color:#d4e0ef; font-size:1.02rem; }
.muted { color:var(--muted); }
.small { font-size:.78rem; color:var(--muted); }
.meta-list { list-style:none; padding:0; margin:0; }
.meta-list > li { padding:8px 0; border-bottom:1px dotted var(--line); display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; font-size:.8rem; }
.meta-list > li:last-child { border-bottom:0; }
.meta-list strong { color:var(--dim); font-weight:normal; text-transform:uppercase; font-size:.68rem; letter-spacing:.08em; }
.tag-list { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.tag-list li { border:1px solid var(--line); background:rgba(117,201,255,.045); color:#c9d8e9; padding:4px 8px; font-size:.74rem; }
.link-list { list-style:none; padding:0; margin:0; }
.link-list li { padding:8px 0; border-bottom:1px dotted var(--line-soft); }
.link-list li:last-child { border-bottom:0; }
.link-list a { text-decoration:none; }
.callout { border-left:2px solid var(--red); padding:12px 14px; background:rgba(255,100,122,.045); color:#d6dfed; }
.entry-list { display:grid; gap:12px; }
.entry-card { border:1px solid var(--line-soft); padding:14px; background:rgba(5,11,23,.24); }
.entry-card .date { color:var(--dim); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
.entry-card h3 a { color:var(--gold); text-decoration:none; }
.entry-card p { color:#c4d0df; font-size:.9rem; }
.button-link, .wp-block-button__link { display:inline-block; border:1px solid #5d83a5; color:var(--ice); background:rgba(117,201,255,.08); padding:9px 13px; text-decoration:none; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.button-link:hover, .wp-block-button__link:hover { border-color:var(--red); color:white; }
.section-kicker { color:var(--red); text-transform:uppercase; font-size:.67rem; letter-spacing:.15em; margin-bottom:.5rem; }
.rule { height:1px; background:linear-gradient(90deg, var(--line), transparent); margin:18px 0; }
.site-footer { border-top:1px solid var(--line-soft); margin-top:26px; padding:20px 0 34px; color:var(--dim); font-size:.72rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; }
.site-footer a { color:var(--muted); }
.post-content, .page-content { max-width:820px; }
.post-content h2, .page-content h2 { margin-top:1.6rem; }
.post-content ul, .page-content ul { padding-left:1.3rem; }
.post-meta { color:var(--dim); font-size:.74rem; margin-bottom:1.2rem; }
.wp-block-image img { border:1px solid var(--line); }
input, textarea { max-width:100%; color:var(--text); background:#080f20; border:1px solid var(--line); padding:9px; }
blockquote { margin:1.2rem 0; padding:12px 16px; border-left:2px solid var(--gold); background:rgba(230,196,138,.05); color:#d9e2ef; }
code, pre { color:var(--ice); background:#080f20; }
pre { overflow:auto; padding:1rem; border:1px solid var(--line); }
@media (max-width: 760px) {
  .masthead { grid-template-columns:1fr; gap:.75rem; }
  .masthead-mark { text-align:left; }
  .content-grid { width:100%; }
  .profile-intro { grid-template-columns:82px minmax(0,1fr); gap:13px; }
  .profile-emblem { min-height:94px; font-size:2rem; }
  .site-nav a { padding:9px 10px; font-size:.68rem; }
  .meta-list li { grid-template-columns:78px minmax(0,1fr); }
  .panel-body { padding:14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { animation:none !important; transition:none !important; } }

/* Responsive layout: one source of truth for the page frame and profile details. */
html, body { width: 100%; max-width: 100%; }
body { overflow-x: hidden; }
.site-shell {
  width: min(900px, calc(100% - 32px));
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.content-grid, .main-column { width: 100%; max-width: 100%; min-width: 0; }
.content-grid { display: block; margin-left: auto; margin-right: auto; }

@media (max-width: 760px) {
  .site-shell { width: calc(100% - 24px); max-width: 560px; margin-left: auto; margin-right: auto; }
  .content-grid, .main-column, .panel, .panel-body { width: 100%; max-width: 100%; min-width: 0; }
  .panel-body { padding: 14px; }
  .profile-intro { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .profile-emblem { width: 76px; min-height: 76px; font-size: 1.7rem; }
  .meta-list > li { display: block; min-width: 0; overflow-wrap: anywhere; }
  .meta-list > li > strong { display: block; margin-bottom: 5px; }
  .tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
  .tag-list li { max-width: 100%; overflow-wrap: anywhere; }
  .site-nav ul { width: 100%; }
  .site-nav li { max-width: 100%; }
  .site-nav a { padding: 8px 9px; font-size: .65rem; overflow-wrap: anywhere; }
  .panel-heading { padding: 9px 11px; }
  .entry-card { padding: 11px; }
}
