/* CharlieAKAN shares the watch log's starfield, typefaces, amber, and teal. */
.skip-link { position:fixed; top:8px; left:12px; transform:translateY(-150%); padding:10px 15px; background:var(--amber); color:var(--bg); z-index:100; }
.skip-link:focus { transform:none; }
.site-header { display:flex; align-items:center; gap:35px; min-height:92px; border-bottom:1px solid #354051; position:relative; z-index:2; }
.site-brand { font-size:16px; letter-spacing:.09em; }
.site-brand .brand-mark { width:38px; height:38px; font-size:23px; }
.site-nav { display:flex; align-items:center; gap:28px; margin-left:auto; color:#b8c5d2; font-size:13px; }
.site-nav a { padding:8px 0; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--amber); }
.site-frequency { display:flex; align-items:center; gap:8px; font:600 9px 'Space Grotesk',sans-serif; letter-spacing:.15em; color:var(--cyan); margin-left:26px; }
.site-frequency i { width:5px; height:5px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px #79d8d044; }
.home-hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:25px; padding:85px 0 70px; position:relative; }
.home-hero-copy { position:relative; z-index:1; }
.home-hero h1 { font:700 clamp(54px,5.8vw,84px)/1.035 'Space Grotesk',sans-serif; letter-spacing:-.065em; margin:0 0 29px; }
.home-hero h1 em { font-style:normal; color:var(--amber); }
.home-lead { font:500 22px/1.45 'Space Grotesk',sans-serif; letter-spacing:-.025em; margin:0 0 16px; }
.home-desc { font-size:14px; max-width:480px; color:#a9b9c9; line-height:1.8; }
.home-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:26px; }
.home-hero-actions .button { display:inline-block; padding:13px 20px; }
.home-hero-actions .button span { padding-left:15px; }
.personal-orbit { width:100%; aspect-ratio:1; max-width:490px; justify-self:center; position:relative; isolation:isolate; }
.orbit-grid { position:absolute; inset:0; border:1px solid #30425666; background:linear-gradient(#30425633 1px,transparent 1px),linear-gradient(90deg,#30425633 1px,transparent 1px); background-size:12.5% 12.5%; mask-image:radial-gradient(ellipse,#000 10%,transparent 70%); }
.personal-orbit:before,.personal-orbit:after { content:''; position:absolute; top:50%; left:3%; right:3%; height:1px; background:#48607b77; }
.personal-orbit:after { transform:rotate(90deg); }
.orbit-ring { position:absolute; border:1px solid #58718b; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
.ring-one { width:88%; height:88%; border-style:dashed; opacity:.55; }
.ring-two { width:66%; height:66%; border-color:#9a7151; border-width:1.5px; box-shadow:0 0 50px #f2a45f09; }
.ring-three { width:44%; height:44%; border-color:#4d7e87; }
.orbit-core { position:absolute; inset:25%; display:grid; place-items:center; font:400 160px 'Space Grotesk',sans-serif; color:var(--amber); text-shadow:0 0 50px #f2a45f2b; transform:rotate(-14deg); }
.orbit-node { position:absolute; padding:7px 10px; font:600 10px 'Space Grotesk',sans-serif; letter-spacing:.14em; background:#101d2d; border:1px solid #436473; border-radius:4px; color:var(--cyan); z-index:1; }
.orbit-node:before { content:''; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%; background:currentColor; }
.node-tech { left:10%; top:19%; }
.node-movies { right:0; top:48%; color:var(--amber); border-color:#836045; }
.node-tv { left:17%; bottom:17%; }
.orbit-caption { position:absolute; top:2%; left:0; color:#a5b7c8; font:500 9px 'Space Grotesk',sans-serif; letter-spacing:.18em; }
.orbit-coordinates { position:absolute; bottom:1%; right:1%; color:#6e879e; font:500 9px 'Space Grotesk',sans-serif; letter-spacing:.13em; }
.home-signal { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:17px 0; display:flex; justify-content:space-between; gap:20px; font:500 10px 'Space Grotesk',sans-serif; letter-spacing:.16em; color:#a0b1c3; }
.home-signal>span { display:flex; align-items:center; gap:11px; }
.home-signal .signal-dot { width:5px; height:5px; box-shadow:none; }
.home-signal b { color:var(--amber); margin-left:10px; font-size:15px; }
.channels { margin:68px 0 76px; }
.channels .section-heading h2,.latest-section .section-heading h2 { font-size:clamp(30px,3vw,42px); }
.channel-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.channel-tile { position:relative; padding:23px; border:1px solid #35485d; border-radius:12px; background:linear-gradient(140deg,#17263a,#101b2b); min-width:0; transition:border-color .2s,transform .2s; }
.channel-tile:hover { border-color:var(--amber); transform:translateY(-3px); }
.channel-number { display:block; color:#a7b9c9; font:600 9px 'Space Grotesk',sans-serif; letter-spacing:.14em; }
.channel-icon { display:block; margin:22px 0 17px; color:var(--amber); font-size:32px; line-height:1; }
.channel-tile.category-tv .channel-icon,.channel-tile.category-tech .channel-icon { color:var(--cyan); }
.channel-tile h2 { display:flex; justify-content:space-between; align-items:center; gap:5px; margin:0 0 7px; font-size:22px; letter-spacing:-.045em; }
.channel-tile h2 span { font-size:16px; color:#a5b6c8; }
.channel-tile p { margin:0; color:#98aabd; font-size:12px; line-height:1.6; }
.latest-section { scroll-margin-top:24px; margin-bottom:70px; }
.category-filter { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 26px; }
.category-filter a { padding:7px 15px; border:1px solid var(--line); border-radius:25px; color:#b7c6d6; font-size:12px; }
.category-filter a:hover,.category-filter a[aria-current="page"] { border-color:var(--cyan); color:var(--cyan); background:#17303966; }
.transmission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.transmission-card { display:flex; flex-direction:column; align-items:start; min-width:0; padding:25px; border:1px solid #35485d; border-radius:12px; background:linear-gradient(140deg,#16263a,#101b2b); border-top:2px solid var(--amber); }
.transmission-card.category-tech,.transmission-card.category-tv { border-top-color:var(--cyan); }
.card-channel { display:flex; justify-content:space-between; align-items:center; width:100%; margin:0 0 20px; }
.channel-label { color:var(--amber); font:600 10px 'Space Grotesk',sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.category-tech .channel-label,.category-tv .channel-label { color:var(--cyan); }
.card-channel>span:last-child { color:#899fb4; }
.card-subject { color:#9daec0; font-size:11px; margin:0 0 8px; overflow-wrap:anywhere; }
.transmission-card h3 { font-size:25px; letter-spacing:-.04em; line-height:1.25; margin:0 0 13px; overflow-wrap:anywhere; }
.transmission-card h3 a:hover { color:var(--amber); }
.card-excerpt { color:#b3c1cf; font-size:13px; line-height:1.8; margin:0 0 20px; overflow-wrap:anywhere; }
.transmission-card .review-meta { margin-top:auto; gap:7px 12px; font-size:11px; }
.transmission-card>.text-link { margin-top:24px; }
.transmission-empty { display:flex; align-items:flex-start; gap:25px; padding:38px; border:1px dashed #455a70; border-radius:12px; background:#111e2e99; }
.transmission-empty>span { color:var(--amber); font-size:42px; line-height:1; }
.transmission-empty .eyebrow { margin-bottom:12px; font-size:10px; }
.transmission-empty h2,.transmission-empty h3 { margin-bottom:10px; font-size:26px; letter-spacing:-.04em; }
.transmission-empty p:not(.eyebrow) { font-size:14px; color:#aabaca; max-width:650px; }
.trek-beacon { display:flex; align-items:center; gap:40px; padding:42px; background:linear-gradient(115deg,#193039,#132132 75%); border:1px solid #466675; border-radius:16px; position:relative; overflow:hidden; }
.trek-beacon-symbol { width:140px; height:140px; display:grid; place-items:center; border-radius:50%; border:1px solid #789083; outline:1px dashed #4f6c7b; outline-offset:17px; color:var(--amber); font-size:95px; flex-shrink:0; transform:rotate(-10deg); margin:0 18px; }
.trek-beacon .eyebrow { color:var(--cyan); margin-bottom:15px; }
.trek-beacon h2 { font-size:clamp(30px,3.2vw,43px); line-height:1.1; letter-spacing:-.05em; margin-bottom:17px; }
.trek-beacon p:not(.eyebrow) { font-size:14px; color:#b4c5ce; max-width:550px; }
.beacon-coordinate { position:absolute; right:42px; top:40px; font:500 55px/1.1 'Space Grotesk',sans-serif; letter-spacing:-.05em; color:#3b54664f; text-align:right; }
.about-charlie { padding:65px 0; max-width:770px; }
.about-charlie .eyebrow { margin-bottom:17px; }
.about-charlie>p:not(.eyebrow) { color:#c0cddb; font-size:19px; line-height:1.8; letter-spacing:-.015em; }
.signature { color:#91a4b8; font-size:12px; }
.signature b { color:var(--amber); padding-left:12px; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:30px 0 38px; border-top:1px solid var(--line); }
.site-footer p { font-size:11px; color:#8d9eb0; margin:12px 0 0; }
.footer-coordinates { display:flex; align-items:flex-end; flex-direction:column; gap:13px; }
.footer-coordinates span { color:#7f93a7; font:500 9px 'Space Grotesk',sans-serif; letter-spacing:.13em; }
.footer-coordinates a { color:var(--cyan); font-size:12px; }
.category-intro { padding:60px 0 28px; max-width:820px; }
.category-intro .eyebrow { margin:38px 0 18px; }
.category-intro h1 { font:700 clamp(40px,5vw,67px)/1.08 'Space Grotesk',sans-serif; letter-spacing:-.055em; margin:0 0 20px; }
.category-intro>p:not(.eyebrow) { color:#adbdcd; font-size:16px; line-height:1.8; max-width:640px; }
.archive-count { color:var(--muted); font-size:12px; margin:0 0 18px; }
.category-archive { margin-bottom:70px; }
.charlie-site .transmission-empty { margin-bottom:70px; }
.general-entry { margin-top:50px; }
.entry-deck { color:#bccbda; font-size:18px; line-height:1.7; white-space:pre-wrap; }
.general-entry .journal-intro h1 { font-size:clamp(36px,5vw,62px); }
.general-entry .review-meta { font-size:13px; }
.entry-back { display:inline-block; margin-top:35px; }
.spoiler-notice { padding:13px 17px; border-left:3px solid var(--amber); color:#dbc3a6; background:#3a2c2544; font-size:13px; margin-bottom:25px; }
.spoiler-label { color:#d1ad86; }
.trek-topbar .brand { font-size:11px; }
.admin-intro { margin:45px 0 0; }
.admin-intro h1 { font:700 clamp(40px,5vw,65px)/1.1 'Space Grotesk',sans-serif; letter-spacing:-.06em; margin-bottom:15px; }
.admin-intro>p:not(.eyebrow) { color:#adbdcd; }
.admin-page .trek-topbar { display:none; }
.admin-page .review-admin { margin-top:55px; }
.admin-tracker { margin:60px 0; border-top:1px solid var(--line); padding-top:24px; }
.admin-tracker>summary { cursor:pointer; font:700 26px 'Space Grotesk',sans-serif; color:var(--amber); }
.admin-tracker>summary span { display:block; margin:10px 0 0 27px; font:400 13px 'DM Sans',sans-serif; color:#a9b9c9; }
.library-filter { display:block; margin:20px 0 0; color:#bcc8d5; font-size:12px; }
.library-filter select { display:block; width:100%; margin-top:7px; padding:9px; background:#0b1726; border:1px solid #536577; color:var(--text); border-radius:6px; font:inherit; }
.review-form .spoiler-checkbox { display:flex; align-items:center; gap:10px; }
.review-form .spoiler-checkbox input { display:inline-block; width:18px; height:18px; margin:0; accent-color:var(--cyan); }
select:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
@media(max-width:1100px) {
  .site-frequency { display:none; }
  .site-nav { gap:23px; }
  .home-hero { padding:65px 0; }
  .home-hero h1 { font-size:65px; }
  .channel-tile { padding:18px; }
  .channel-tile h2 { font-size:19px; }
  .transmission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .site-header { flex-wrap:wrap; padding:19px 0 13px; gap:16px; min-height:0; }
  .site-brand { font-size:14px; }
  .site-nav { margin:0; flex-basis:100%; gap:24px; overflow-x:auto; white-space:nowrap; padding-bottom:2px; font-size:13px; }
  .site-nav a { padding:0 0 4px; }
  .home-hero { grid-template-columns:1fr; padding:44px 0 35px; gap:20px; }
  .home-hero h1 { font-size:clamp(46px,9.8vw,70px); margin-bottom:24px; }
  .home-hero .eyebrow { font-size:10px; letter-spacing:.12em; }
  .home-lead { font-size:20px; }
  .home-desc { font-size:13px; }
  .home-hero-actions { gap:20px; }
  .personal-orbit { max-width:310px; margin-top:10px; }
  .orbit-core { font-size:120px; }
  .orbit-caption,.orbit-coordinates { font-size:8px; }
  .orbit-node { font-size:8px; padding:6px 8px; }
  .home-signal { padding:14px 0; font-size:8px; letter-spacing:.11em; }
  .home-signal>span:last-child { display:none; }
  .channels { margin:43px 0 50px; }
  .channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .channel-tile { padding:18px 15px; }
  .channel-icon { font-size:28px; margin:20px 0 16px; }
  .channel-tile h2 { font-size:19px; }
  .channel-tile p { font-size:11px; }
  .channel-number { font-size:8px; }
  .transmission-grid { grid-template-columns:1fr; }
  .transmission-card { padding:23px; }
  .transmission-empty { gap:17px; padding:25px 20px; }
  .transmission-empty>span { font-size:30px; }
  .transmission-empty h2,.transmission-empty h3 { font-size:23px; }
  .trek-beacon { flex-direction:column; align-items:flex-start; gap:35px; padding:30px 24px; }
  .trek-beacon-symbol { width:85px; height:85px; font-size:65px; margin:7px 13px; outline-offset:11px; }
  .trek-beacon .eyebrow { font-size:9px; }
  .beacon-coordinate { font-size:45px; top:35px; right:24px; }
  .trek-beacon .home-hero-actions { gap:20px; }
  .about-charlie { padding:45px 0; }
  .about-charlie>p:not(.eyebrow) { font-size:16px; }
  .site-footer { flex-direction:column; align-items:flex-start; }
  .footer-coordinates { align-items:flex-start; }
  .category-intro { padding:35px 0 20px; }
  .category-intro .eyebrow { margin-top:25px; }
  .category-intro>p:not(.eyebrow) { font-size:14px; }
  .general-entry { margin-top:30px; }
  .general-entry .journal-intro h1 { font-size:36px; }
  .entry-deck { font-size:16px; }
  .trek-topbar { margin-top:0; }
  .admin-intro { margin-top:32px; }
  .admin-tracker>summary { font-size:22px; }
}
@media(max-width:350px) { .site-nav { gap:19px; font-size:12px; } .channel-tile h2 { font-size:17px; } }
