/*
Theme Name: Junkmori
*/

/* ===== Fonts ===== */
@font-face{
  font-family:"iceland";
  src:url("/assets/fonts/IcelandWinterstorm.otf") format("opentype");
  font-weight:normal; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"oldeng";
  src:url("/assets/fonts/OLDENGL.TTF") format("truetype");
  font-weight:normal; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"venice";
  src:url("/assets/fonts/VeniceClassic.ttf") format("truetype");
  font-weight:normal; font-style:normal; font-display:swap;
}

/* ===== Base ===== */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:"SimSun","Noto Serif SC","Songti SC",STSong,
              "PMingLiU","MingLiU","Times New Roman",serif;
  line-height:1.6;
  color:#ffffff;
  background:url("https://junkumori.rip/assets/backgrounds/bg-grey-02.jpg") center top repeat;
}
input,select,textarea,button{ font-family:inherit; }
a{ color:#ffffff; }
a:hover{ text-decoration:underline; }

/* ===== Outer lace frame ===== */
#outer-lace{
  width:860px; max-width:calc(100% - 40px);
  margin:0 auto; position:relative;
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; padding:0;
}
#outer-lace::before,#outer-lace::after{
  content:""; position:absolute; top:0; bottom:0; width:24px;
  background:url("https://assets.junkumori.rip/lace/vert-lace-05.png") repeat-y;
  background-size:24px auto; pointer-events:none; z-index:0;
}
#outer-lace::before{ left:0;  transform:translateX(-100%) scaleX(-1); }
#outer-lace::after { right:0; transform:translateX(100%); }

/* ===== Main container ===== */
.site-container{
  flex:1 0 auto; width:100%; margin:0;
  background:#171617;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
  position:relative; z-index:1; overflow:hidden;
}

/* ======================
   Header (desktop default)
   - Keep your current look on normal/wide view
   ====================== */

.site-header{
  background-image:url('https://assets.junkumori.rip/header/blog-header-01.jpg');
  background-repeat:no-repeat;
  background-position:center top;
  background-size:100% auto;         /* no cropping on wide/normal view */
  min-height:251px;
  position:relative;
  margin:0;
  padding:0;
  line-height:0;                      /* avoids tiny baseline gaps */
}

/* Keep the brand link across the whole header */
.site-header .brand{
  position:absolute;
  inset:0;
  display:block;
  text-decoration:none;
  color:inherit;
  z-index:2;
}

/* If you use decorative corner frames via pseudo-elements */
.site-header::before,
.site-header::after{
  pointer-events:none;
}

/* You’re using a graphic banner, so hide text title/description */
.site-header .site-title,
.site-header .site-description{
  display:none;
}

/* Ensure the nav hugs the header (no accidental gap) */
.site-header + .main-nav,
.site-header + nav{
  margin-top:0;
}

/* ======================
   Header 
   ====================== */

@media (max-width: 1200px){
  .site-header{
    /* Fill the header box; crop as needed and anchor to bottom
       so the image visually touches the nav */
    background-position:center bottom;
    background-size:cover;

    /* Give it a responsive height so the image can cover cleanly.
       This only applies on small viewports. */
    height: clamp(220px, 40vh, 420px);
    min-height: unset; /* height now controls the box */
  }
}

/* Slightly stronger behavior for very small screens */
@media (max-width: 768px){
  .site-header{
    height: clamp(240px, 46vh, 460px);
  }
}

/* ===== Navigation – glossy, slimmer ===== */
.site-nav{
  background:#161616; padding:0;
  border-top:1px solid #000; border-bottom:1px solid #2a2a2a;
}
.site-nav .menu{
  display:flex; gap:0; list-style:none; margin:0; padding:0;
}
.site-nav .menu li{ flex:1 1 0; position:relative; }
.site-nav .menu li + li::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:#2b2b2b;
}
.site-nav .menu a{
  display:block; text-align:center; padding:5px 0;
  font-size:14px; line-height:1.1;
  color:#e9e9e9; text-decoration:none; border:0; border-radius:0;
  background:linear-gradient(to bottom,#3f3f3f 0%,#2b2b2b 45%,#242424 55%,#181818 100%);
  text-shadow:0 1px 0 rgba(0,0,0,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.03);
  transition:background .15s ease, box-shadow .15s ease, color .15s ease;
}
.site-nav .menu a:hover{
  background:linear-gradient(to bottom,#4a4a4a 0%,#343434 45%,#2e2e2e 55%,#1b1b1b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
}

/* ===== Content wrapper ===== */
.site-wrap{ padding:16px; }

/* ===== Layout (sidebar left, content right) ===== */
.layout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);   /* let content actually grow */
  gap:24px;
  align-items:start;
}
#sidebar{
  grid-column:1 / 2;
  grid-row:1;                     /* same row as .main */
  margin-top:0 !important;        /* kill the old -3px lift */
  align-self:start;
}
.main{
  grid-column:2 / 3;
  grid-row:1;                     /* same row as sidebar */
  min-width:0;                    /* prevent “content squeeze” in grid */
}

/* Guardrails: ensure inner wrappers don't clamp width */
.main > article.post{ width:100%; max-width:none; display:block; }
.main .entry,
.main .entry-content{
  width:100%;
  max-width:none;
  float:none;
  white-space:normal;
  word-break:normal;
  writing-mode:horizontal-tb;
}

@media (max-width:820px){
  .layout{ grid-template-columns:1fr; }
  #sidebar, .main{ grid-column:1 / -1; grid-row:auto; margin-top:0 !important; }
}

/* ===== Posts (double outline) ===== */
.post{
  position:relative;
  background:#171617;
  border:1px solid #303030;
  box-shadow:inset 0 1px 0 rgba(36,36,36,.06), 0 1px 0 rgba(255,255,255,.03);
  margin-top:-3px;                /* single-post look by default */
  margin-bottom:30px;
}
.post::after{
  content:""; position:absolute; inset:-3px;  /* outer ring (bleeds 3px) */
  border:1px solid #303030; pointer-events:none;
}
.post::before{
  content:""; position:absolute; inset:-1px;  /* subtle inner shadow ring */
  box-shadow:0 0 0 1px rgba(63,63,63,.6); pointer-events:none;
}
.post-header,
.entry-header{ text-align:center; margin:18px 0 10px; position:relative; }
.post:last-child{ margin-bottom:0; }

/* --- Prevent overlay clicks on index/archive pages --- */
.home .post,
.blog .post,
.archive .post{ margin-top:0; }                 /* no vertical overlap */
.home .post::after,
.blog .post::after,
.archive .post::after{ inset:-1px; }            /* keep ring without bleed */
.home .post, .blog .post, .archive .post{ position:relative; z-index:0; }
.home .post .entry-header,
.blog .post .entry-header,
.archive .post .entry-header,
.home .post .entry,
.blog .post .entry,
.archive .post .entry,
.home .post .read-more-container,
.blog .post .read-more-container,
.archive .post .read-more-container{ position:relative; z-index:1; }
.entry-title a, .post-title a{
  position:static; display:inline; z-index:auto; /* confine link hit-area */
}
/* decorative layers never capture clicks */
.post::before, .post::after,
.entry-header::before, .entry-header::after{ pointer-events:none !important; }

/* ===== Titles ===== */
h1.post-title,h2.post-title,h1.entry-title,h2.entry-title{
  margin:0 6% .4rem;
  font-family:'oldeng', sans-serif;
  font-weight:400 !important; font-size:50px; line-height:1.1; color:#fff;
  font-synthesis:none; text-shadow:none;
  filter:drop-shadow(0 0 1px #000) drop-shadow(0 -1px #000) drop-shadow(0 1px #000)
         drop-shadow(0 0 #000) drop-shadow(0 1px #000);
}
h1.post-title a,h2.post-title a,h1.entry-title a,h2.entry-title a{
  display:block; color:inherit !important; text-decoration:none !important; font:inherit !important;
}
h1.post-title a:hover,h2.post-title a:hover,h1.entry-title a:hover,h2.entry-title a:hover,
.single h1.post-title:hover,.single h2.post-title:hover{
  filter:drop-shadow(0 0 1px #000) drop-shadow(0 -1px #000) drop-shadow(0 1px #000)
         drop-shadow(0 0 #000) drop-shadow(0 1px #000);
}

/* ===== Read more (centered) ===== */
.read-more {                /* this matches the <p class="read-more"> in your template */
  text-align: center;
  margin: 20px 0 0;
}

.read-more .read-more-btn,
.read-more-btn {            /* keep both selectors so it also works if you wrap it differently */
  display: inline-block;
  padding: 4px 18px;
  font-family: "oldeng", serif;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  background: linear-gradient(180deg, #333 0%, #111 100%);
  border: 1px solid #000;
}

.read-more .read-more-btn:hover,
.read-more-btn:hover {
  background: linear-gradient(180deg, #555 0%, #222 100%);
  border-color: #111;
  text-decoration: none;
}

/* ===== Date + comments row with ✦ ===== */
.post-meta-top{
  position:relative; display:flex; justify-content:center; align-items:center; gap:.45rem;
  margin:6px 0 14px; padding-bottom:18px; color:#aaaaaa; font-size:.95rem;
}
.post-meta-top .meta-comments{ color:#aaaaaa; text-decoration:none; }
.post-meta-top .meta-comments:hover{ color:#ffffff; text-decoration:underline; }
.post-meta-top .meta-sep{ display:inline-block; margin:0; line-height:1; opacity:.9; }
.post-meta-top .meta-sep::before{ content:"\2726"; font-size:.70rem; vertical-align:middle; }
.post-meta-top::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:15px;
  background:url("https://assets.junkumori.rip/dividers/dvr-01.png") center/100% 100% no-repeat;
  transform:scaleY(-1);
}


/* ===== Tags row ===== */
.post-tags-row{
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: 14px;
  border-top: 1px solid #000; padding-top: 12px;
}
.tags-label{ font-size: .95rem; font-weight: 700; color: #fff; }
.post-tags{ display: flex; gap: .45rem; flex-wrap: wrap; }
.post-tags a{ font-size: 15px; color: #fff; text-decoration: none; margin-top: 1px; }
.post-tags a:hover{ color: #d7d7d7; text-decoration: underline; }
.post-tags a:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* Bold links on hover — post content only */
.post .entry-content a:hover,
.post .post-content a:hover,
.single .post .entry-content a:hover{ font-weight: 700; }

/* ===== Back-to-top button (single post) ===== */
.post-backwrap{ margin: 10px 0 6px; text-align: center; }
.post-backwrap .back-to-top{
  display: inline-block; padding: 4px 12px; font-family: "oldeng", serif; font-size: 14px;
  color: #fff; text-decoration: none; border-radius: 4px;
  background: linear-gradient(180deg,#333 0%,#111 100%); border: 1px solid #000;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.04);
}
.post-backwrap .back-to-top:hover{
  background: linear-gradient(180deg,#555 0%,#222 100%);
  border-color: #111;
}

/* ===== Smooth scroll ===== */
html{ scroll-behavior: smooth; }

/* Keep “To Comments” link color consistent */
.post-meta-top .to-comments,
.post-meta-top .to-comments:visited{ color: inherit; text-decoration: none; }
.post-meta-top .to-comments:hover,
.post-meta-top .to-comments:focus{ color: inherit; text-decoration: underline; }

/* count inside each tag pill */
#tax-boxes .tagcloud a .tag-count{ opacity: .85; font-size: 10px; }
#tax-boxes .tagcloud a:hover .tag-count{ opacity: 1; }

/* ===== Post styling helpers ===== */
.spoiler{ display: inline-block; padding: 0 .3em; background: #000; color: transparent; cursor: pointer; }
.spoiler:hover, .spoiler:focus, .spoiler.revealed{ background: transparent; color: inherit; outline: 0; }
.blackout{ color: transparent; background: #000; padding: 0 .25em; }
.blackout-reveal{ background: none; }


/* =======================================
   Content Warning modal (per-post)
   ======================================= */
.cw-modal-open #outer-lace,
.cw-modal-open .site-container{ filter:blur(3px) brightness(.96); transition:filter .2s ease; }
.cw-overlay[hidden]{ display:none; }
.cw-overlay{
  position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.55);
}
.cw-box{
  width:min(560px,92vw); background:#222223; color:#fff; border:1px solid #3a3a3a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 1px 0 rgba(255,255,255,.03), 0 12px 36px rgba(0,0,0,.45);
  padding:16px 18px; border-radius:6px;
}
.cw-box h3{ margin:.25rem 0 .5rem; font-family:"oldeng",serif; font-weight:400; font-size:26px; text-align:center; }
.cw-box p{ margin:.5rem 0; line-height:1.5; }
.cw-remember{ display:flex; align-items:center; gap:.5rem; margin:.5rem 0 .75rem; font-size:14px; }
.cw-actions{ display:flex; gap:10px; justify-content:center; margin-top:4px; }
.cw-actions .btn{
  padding:6px 18px; border-radius:4px; border:1px solid #000; color:#fff; cursor:pointer;
  background:linear-gradient(180deg,#333 0%,#111 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.6);
  text-decoration:none;
}
.cw-actions .btn:hover{ background:linear-gradient(180deg,#555 0%,#222 100%); }
.cw-actions .btn-secondary{ opacity:.92; }
body.cw-modal-open{ overflow:hidden; }

/* =========================
   COMMENTS
   ========================= */
#comments h2.comments-title,#comments h3.comments-title,#comments .comments-title{
  border-bottom:1px dotted #fff; padding-bottom:10px; margin-bottom:16px;
}
#comments .comment-list,
#comments .comment-list ul,#comments .comment-list ol,#comments .comment-list .children{ list-style:none !important; margin:0 !important; padding:0 !important; }
#comments .comment-list li{ list-style:none !important; }
#comments .comment-list li::marker{ content:none; }
#comments .comment-list li.comment{ margin-left:0 !important; padding:15px 0; border:0; width:100%; box-sizing:border-box; }
#comments .comment-list .comment-body{ position:relative; }
.comments-area .comment-list{ border-top:0 !important; padding-top:0; margin-top:8px; }
#comments .comment-list > li.comment.depth-1{ margin-bottom:22px; }
#comments .comment-list .children > li.comment{ margin-bottom:14px; }
#comments .comment-list > li.comment.depth-1.parent > .children > li.comment:last-of-type{ margin-bottom:35px !important; }
#comments .comment-list > li.comment:last-of-type,
#comments .comment-list .children > li.comment:last-of-type{ padding-bottom:0; }
#comments .comment-list li.comment:not(.depth-1){ margin-left:0 !important; }
#comments .comment-list ol.children{ margin-left:32px !important; }
#comments .comment-list ol.children ol.children{ margin-left:0 !important; }
#comments li.comment:not(.depth-1) .comment-body{ padding-left:20px; }
#comments .comment .reply{ margin-left:0 !important; margin-top:6px; }
#comments .comment-author .says{ display:none !important; }
.reply-target{ margin:4px 0 8px; color:#fff; font-style:italic; }
.reply-target strong{ font-weight:700; }
#comments .comment .comment-meta{
  position:relative; display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; width:100%; padding-right:48px;
}
#comments .comment .comment-author .fn,
#comments .comment .comment-author .fn a,
#comments .comment .comment-author .fn a:link,
#comments .comment .comment-author .fn a:visited{ color:#fff !important; text-decoration:none; font-weight:700; }
#comments .comment .comment-metadata time,
#comments .comment .comment-metadata a,
#comments .comment .comment-metadata a:link,
#comments .comment .comment-metadata a:visited{ color:#fff !important; text-decoration:none; }
#comments .comment .comment-body .edit-link,
#comments .comment .comment-body a.comment-edit-link{
  position:absolute; top:0; right:0; white-space:nowrap; font-size:.9rem; color:#fff; text-decoration:none;
}
#comments .comment .edit-link a{ color:inherit; text-decoration:none; }
#comments .comment .edit-link a:hover,
#comments .comment a.comment-edit-link:hover{ text-decoration:underline; }
#comments a{ color:#fff; text-decoration:none; }
#comments a:hover{ text-decoration:underline; }

/* ===== Comment form ===== */
#respond{ width:100%; max-width:740px; margin:0 auto 24px; }
#respond #reply-title,#respond .comment-notes,#respond .logged-in-as{ text-align:center; }
#respond form.comment-form{ align-items:stretch; }
#respond .comment-form input[type="text"],
#respond .comment-form input[type="email"],
#respond .comment-form input[type="url"]{ display:block; width:100%; max-width:100%; box-sizing:border-box; margin:0 auto 12px; }
#respond .comment-form textarea:focus,
#respond .comment-form textarea:focus-visible,
#respond .comment-form input[type="text"]:focus-visible,
#respond .comment-form input[type="email"]:focus-visible,
#respond .comment-form input[type="url"]:focus-visible{ outline:none !important; box-shadow:none; }
#respond .comment-form p.comment-form-comment{ max-width:640px; margin:0 auto 14px; }
#respond .comment-form p.comment-form-comment > label{ display:block; margin:0 0 6px; text-align:left; }
#respond .comment-form textarea{ display:block; width:100%; min-height:180px; max-width:100%; resize:vertical; box-sizing:border-box; }
#respond p.form-submit{ text-align:center; margin-top:10px; }
#respond p.form-submit input[type="submit"]{
  appearance:none; border:0; border-radius:8px; padding:8px 16px; cursor:pointer;
  color:#e9e9e9; font-weight:600; text-shadow:0 1px 0 rgba(0,0,0,.6);
  background:linear-gradient(to bottom,#3f3f3f 0%,#2b2b2b 45%,#242424 55%,#181818 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.04);
  transition:background .15s ease, box-shadow .15s ease, transform .04s ease;
}
#respond p.form-submit input[type="submit"]:hover{
  background:linear-gradient(to bottom,#4a4a4a 0%,#343434 45%,#2e2e2e 55%,#1b1b1b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.05);
}
#respond p.form-submit input[type="submit"]:active{ transform:translateY(1px); filter:brightness(.98); }
#respond p.form-submit input[type="submit"]:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.nav-hidden #respond{ max-width:620px; margin-left:auto; margin-right:auto; }

/* ===== Optional ornate frame class ===== */
.fancy-frame{
  --f:28px; --fill:#222322; position:relative; box-sizing:border-box; padding:calc(var(--f) + 12px);
  background:
    url('https://assets.junkumori.rip/frame/frame-01.png') no-repeat left top,
    url('https://assets.junkumori.rip/frame/frame-03.png') no-repeat right top,
    url('https://assets.junkumori.rip/frame/frame-05.png') no-repeat right bottom,
    url('https://assets.junkumori.rip/frame/frame-07.png') no-repeat left bottom,
    url('https://assets.junkumori.rip/frame/frame-02.png') repeat-x left var(--f) top,
    url('https://assets.junkumori.rip/frame/frame-06.png') repeat-x left var(--f) bottom,
    url('https://assets.junkumori.rip/frame/frame-08.png') repeat-y left top var(--f),
    url('https://assets.junkumori.rip/frame/frame-04.png') repeat-y right top var(--f),
    var(--fill);
  background-size:
    var(--f) var(--f), var(--f) var(--f), var(--f) var(--f), var(--f) var(--f),
    calc(100% - (var(--f) * 2)) var(--f), calc(100% - (var(--f) * 2)) var(--f),
    var(--f) calc(100% - (var(--f) * 2)), var(--f) calc(100% - (var(--f) * 2));
}

/* =========================
   SIDEBAR (same double outline as posts)
   ========================= */
.sidebar .widget.fancy-frame{ background:none !important; padding:0 !important; box-shadow:none !important; }
#sidebar .widget, .sidebar .widget{
  position:relative; margin:0 0 26px; padding:0; background:#222223; border:1px solid #1f1f1fff;
}
#sidebar .widget::after, .sidebar .widget::after{ content:""; position:absolute; inset:-3px; border:1px solid #303030; pointer-events:none; }
#sidebar .widget::before, .sidebar .widget::before{ content:""; position:absolute; inset:-1px; box-shadow:0 0 0 1px rgba(0,0,0,.6); pointer-events:none; }
#sidebar .widget .widget-title, .sidebar .widget .widget-title{
  display:block; margin:0; padding:4px 8px; text-align:center; font-family:"oldeng",serif; font-size:1.2rem; font-weight:normal; letter-spacing:.5px;
  background:linear-gradient(#2f2f2f,#0e0e0e); border:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.15), inset 0 -1px 0 rgba(0,0,0,.65);
}
#sidebar .widget > :not(.widget-title), .sidebar .widget > :not(.widget-title){ padding:12px; }
#sidebar .widget ul, .sidebar .widget ul{ margin:0; padding:0; list-style:none; }
#sidebar .widget ul li, .sidebar .widget ul li{ position:relative; padding-left:14px; margin:6px 0; }
#sidebar .widget ul li::before, .sidebar .widget ul li::before{ content:"•"; position:absolute; left:2px; top:0; color:#bbb; }

/* =========================
   RSS BUTTON
   ========================= */
.about-subscribe{ margin-top:-25px; text-align:center; }
.rss-banner{
  --radius:9px; display:flex; align-items:center; justify-content:flex-start; gap:8px; padding:4px 14px; min-width:160px;
  border-radius:var(--radius); color:#fff; text-decoration:none;
  background:linear-gradient(#3a3a3a 0%, #1b1b1b 100%); border:1px solid #000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.02);
  position:relative;
}
.rss-banner::before{
  content:""; position:absolute; left:0; right:0; top:0; height:26%;
  background:linear-gradient(to bottom, rgba(255,255,255,.10), rgba(255,255,255,0));
  border-radius:var(--radius) var(--radius) 0 0;
  pointer-events:none;
}
.rss-banner:hover{ background:linear-gradient(#424242 0%, #1e1e1e 100%); text-decoration:none; }
.rss-icon{ width:18px; height:18px; object-fit:contain; display:block; margin-left:2px; }
.rss-label{ font-family:"venice",serif; font-size:20px; text-shadow:0 1px 0 rgba(0,0,0,.5); margin-top:2px; margin-left:10px; }

/* ===== Music widget — compact ===== */
#music-widget .textwidget{ padding:6px 8px 8px; }
#music-widget .jk-player{ gap:4px; align-items:center; margin:0; }
#music-widget .jk-track-title{ margin:0; font-size:14px; line-height:1.1; text-align:center; color:#e9e9e9; }
#music-widget .jk-player-time{
  margin:0; width:100%; display:grid; grid-template-columns:32px 1fr 32px; column-gap:6px; align-items:center; font-size:.9rem; color:#e9e9e9;
}
#music-widget .jk-seek{ -webkit-appearance:none; appearance:none; width:100%; height:2px; background:transparent; cursor:pointer; }
#music-widget .jk-seek::-webkit-slider-runnable-track{ height:2px; background:#3a3a3a; border-radius:2px; }
#music-widget .jk-seek::-moz-range-track{ height:2px; background:#3a3a3a; border-radius:2px; }
#music-widget .jk-seek::-ms-track{ height:2px; background:transparent; border-color:transparent; color:transparent; }
#music-widget .jk-seek::-ms-fill-lower,#music-widget .jk-seek::-ms-fill-upper{ background:#3a3a3a; }
#music-widget .jk-seek::-webkit-slider-thumb{ -webkit-appearance:none; width:8px; height:8px; border-radius:50%; background:#cfcfcf; margin-top:-3px; }
#music-widget .jk-seek::-moz-range-thumb{ width:8px; height:8px; border-radius:50%; background:#cfcfcf; border:0; }
#music-widget .jk-seek::-ms-thumb{ width:8px; height:8px; border-radius:50%; background:#cfcfcf; border:0; }
#music-widget .jk-player-controls{ margin-top:0; gap:6px; width:100%; display:flex; justify-content:center; }
#music-widget .jk-player-controls button{
  width:28px; height:22px; line-height:20px; font-size:12px; padding:0;
  border:1px solid #2a2a2a; border-radius:3px; color:#e9e9e9; text-shadow:0 1px 0 rgba(0,0,0,.6);
  background:linear-gradient(to bottom,#3f3f3f 0%,#2b2b2b 45%,#242424 55%,#181818 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.04);
}
#music-widget .jk-player-controls button:hover{ background:linear-gradient(to bottom,#4a4a4a 0%,#343434 45%,#2e2e2e 55%,#1b1b1b 100%); }

/* Hide the native audio element — we use custom controls */
.jk-player .jk-audio{
  display:none !important;
  width:0 !important;
  height:0 !important;
  visibility:hidden !important;
}


/* =============== Taxonomy Boxes =============== */
#tax-boxes .tax-fallback-cats{ list-style:none; margin:0; padding:0; }
#tax-boxes .tax-fallback-cats li::before{ content:none !important; }
#tax-boxes > :not(.widget-title){ padding:8px 0 8px 10px !important; margin:0; }
#tax-boxes .tagcloud, #tax-boxes .tax-fallback-cats{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
#tax-boxes .tagcloud a, #tax-boxes .tax-fallback-cats a{
  display:inline-block; padding:4px 10px; background:#222; border:1px solid #555; border-radius:0; font-size:13px; color:#fff; text-decoration:none;
}
#tax-boxes .tagcloud a:hover, #tax-boxes .tax-fallback-cats a:hover{ background:#333; border-color:#777; }

/* ============ Archives Tree (adjusted) ============ */
#archives-tree .archive-tree, #archives-tree .archive-tree ul, #archives-tree .archive-tree li{ list-style:none; margin:0; padding:0; }
#archives-tree .archive-tree li::marker, #archives-tree .archive-tree li::before{ content:none !important; }
#archives-tree .widget-content{ padding:6px 10px 8px 10px; }
#archives-tree .archive-toggle{
  position:relative; display:flex; align-items:center; gap:6px; background:transparent; border:0; padding:2px 0;
  font-family:inherit; font-size:15px; line-height:1.4; color:#fff; cursor:pointer; text-align:left;
}
#archives-tree .archive-toggle:hover, #archives-tree .archive-toggle:focus-visible{ color:#fff; text-decoration:underline; outline:none; }
#archives-tree .archive-toggle .arrow{
  display:inline-block; width:0; height:0; border-left:6px solid #fff; border-top:4px solid transparent; border-bottom:4px solid transparent; transform:rotate(0deg);
}
#archives-tree li.open > .archive-toggle .arrow{ transform:rotate(90deg); }
#archives-tree .months{ margin-left:14px; }
#archives-tree .posts{ margin-left:18px; }
#archives-tree .posts a{ display:inline; background:none !important; border:none !important; padding:0 !important; margin:0 !important; color:#fff; font-size:15px; text-decoration:none; }
#archives-tree .posts a:hover, #archives-tree .posts a:focus-visible{ color:#fff; text-decoration:underline; }

/* ======================================================
   ASKBOX — COMPLETE STYLE SHEET (form + feed)
   ====================================================== */

/* ---------- Layout containers ---------- */
.askbox-article { max-width: 820px; margin: 0 auto; padding: 0 14px; }
.ask-form-card  { margin: 0 0 26px; }
.ask-feed-article { margin: 26px 0 0; }

/* Give the form and feed their own framed cards (matches dark theme) */
.ask-form-card.fancy-frame,
.ask-feed-article.fancy-frame { padding-top: 8px; padding-bottom: 12px; }

/* ---------- Form ---------- */
.askbox-form { margin-top: 8px; }
.askbox-form .askbox-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 10px;
}
.askbox-form label {
  display: block; margin: 0 0 4px; font-size: 14px; color: #e8e8e8;
}
.askbox-form input[type="text"],
.askbox-form textarea {
  width: 100%;
  color: #eee; background: #121212;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px; padding: 8px 10px; font-size: 15px;
}
.askbox-form textarea { min-height: 140px; resize: vertical; }
.askbox-actions { text-align: center; margin-top: 12px; }
.askbox-submit {
  display: inline-block; padding: 8px 22px;
  color: #f0f0f0; background: #1b1b1b;
  border: 1px solid rgba(255,255,255,.18); border-radius: 6px;
  text-decoration: none; cursor: pointer;
}
.askbox-submit:hover { background: #232323; }

@media (max-width: 760px){
  .askbox-form .askbox-grid { grid-template-columns: 1fr; }
  .askbox-submit { width: 100%; }
}

/* Messages */
.askbox-message { text-align:center; margin-top: 10px; }
.askbox-error { color: #ff9a9a; }

/* ---------- Feed list ---------- */
.ask-list {
  display: grid;
  gap: 22px;            /* << padding between ask containers */
  margin: 8px 0 0;
}

.ask-feed-card{
  background: #171717;
  border: 1px solid rgba(5, 5, 5, 0.1);
  padding: 16px 18px 12px;
}

/* Question bubble */
.ask-q-bubble{
  background: #1f1f1f;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 5px;
  padding: 12px 14px;
  margin: 0 0 12px;
  position: relative;
}
/* Make sure no little caret/arrow shows up */
.ask-q-bubble::before,
.ask-q-bubble::after { content: none !important; display:none !important; }

/* “{name} asked:” line + question text */
.ask-asker{ font-weight: 700; color:#dcdcdc; margin: 0 0 6px; }
.ask-question p { margin: 0; }
.ask-question p + p { margin-top: .55rem; }

/* --------- IMPORTANT: kill any “extra inner box” some themes add --------- */
.ask-a-bubble .ask-answer,
.ask-a-bubble .ask-a-text,
.ask-a-bubble .fancy-frame,
.ask-a-bubble blockquote,
.ask-a-bubble .panel,
.ask-a-bubble .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Keep answer text tidy */
.ask-answer p { margin: 0; }
.ask-answer p + p { margin-top: .55rem; }

/* Meta line (date/contact) */
.ask-meta{
  font-size: .92rem;
  color: #bcbcbc;
  opacity: .9;
  margin-top: 2px;
}


/* =========================================================
   MiniBlog (archive)
   ========================================================= */
.post-type-archive-miniblog .post.fancy-frame{ padding:12px 14px 26px; }
.post-type-archive-miniblog .post.fancy-frame .entry.entry-content{ margin:0; padding:0; }
.post-type-archive-miniblog .post.fancy-frame > .entry-header{ margin:0 0 26px !important; padding:0; }
.post-type-archive-miniblog .post-title{ margin:0; }
.post-type-archive-miniblog .mini-stream{ display:grid; gap:12px; margin:0; padding:0; }
.post-type-archive-miniblog .mini-item{
  background:#171617 !important; border:1px solid #2a2a2a !important; border-radius:0 !important;
  box-shadow:none !important; border-image:none !important; padding:10px 12px 10px; margin:0;
}
.post-type-archive-miniblog .mini-item .mini-inner,
.post-type-archive-miniblog .mini-item .entry,
.post-type-archive-miniblog .mini-item .entry-content{ background:transparent !important; background-image:none !important; border:0 !important; border-image:none !important; box-shadow:none !important; padding:0 !important; }
.post-type-archive-miniblog .mini-item::before,
.post-type-archive-miniblog .mini-item::after,
.post-type-archive-miniblog .mini-item.fancy-frame::before,
.post-type-archive-miniblog .mini-item.fancy-frame::after,
.post-type-archive-miniblog .mini-item .mini-inner::before,
.post-type-archive-miniblog .mini-item .mini-inner::after,
.post-type-archive-miniblog .mini-item .entry::before,
.post-type-archive-miniblog .mini-item .entry::after,
.post-type-archive-miniblog .mini-item .entry-content::before,
.post-type-archive-miniblog .mini-item .entry-content::after{ content:none !important; display:none !important; }
.post-type-archive-miniblog .mini-stream > .mini-item:last-child{ margin-bottom:6px; }
.post-type-archive-miniblog .mini-header{ display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.post-type-archive-miniblog .mini-avatar img{ width:28px; height:28px; border-radius:50%; display:block; }
.post-type-archive-miniblog .mini-byline{ display:flex; align-items:center; gap:10px; line-height:1.2; }
.post-type-archive-miniblog .mini-author, .post-type-archive-miniblog .mini-author a{ color:#eaeaea !important; font-weight:700; text-decoration:none !important; border:none !important; cursor:default; pointer-events:none; }
.post-type-archive-miniblog .mini-time, .post-type-archive-miniblog .mini-time a, .post-type-archive-miniblog .mini-byline time{ color:#c9c9c9 !important; text-decoration:none !important; border:none !important; }
.post-type-archive-miniblog .mini-content p{ margin:0 0 .6rem; }
.post-type-archive-miniblog .mini-content a{ color:#fff; text-decoration:underline; }
.post-type-archive-miniblog .mini-media{ margin-top:8px; display:grid; gap:6px; }
.post-type-archive-miniblog .mini-media .mini-img img{ width:100%; height:auto; display:block; }
.post-type-archive-miniblog .mini-video{ width:100%; max-height:70vh; display:block; background:#000; }
.post-type-archive-miniblog .mini-media.mini-grid-2{ grid-template-columns:1fr 1fr; }
.post-type-archive-miniblog .mini-media.mini-grid-3{ grid-template-columns:1fr 1fr; }
.post-type-archive-miniblog .mini-media.mini-grid-4{ grid-template-columns:1fr 1fr; }
.post-type-archive-miniblog .pagination.numbers ul{
  display:flex; gap:6px; list-style:none; margin:16px 0 0; padding:0; justify-content:center;
}
.post-type-archive-miniblog .pagination.numbers a,
.post-type-archive-miniblog .pagination.numbers span{
  display:inline-block; padding:4px 10px; background:#222; border:1px solid #555; color:#fff; text-decoration:none; line-height:1;
}
.post-type-archive-miniblog .pagination.numbers .current{ background:#333; border-color:#777; cursor:default; }
.post-type-archive-miniblog .pagination.numbers a:hover{ background:#2a2a2a; border-color:#777; }
.post-type-archive-miniblog .mini-stream{ gap:20px; }
.post-type-archive-miniblog .mini-item.post + .mini-item.post{ margin-top:20px; }
.post-type-archive-miniblog .mini-item.post:last-child{ margin-bottom:15px; }

/* ===== Mini Lightbox ===== */
.mini-lb{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;                 /* hidden until opened */
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.92);
}
.mini-lb.open{ display:flex; }

/* Stage (holds the image; also used for zoom/drag cursors) */
.mini-lb .mlb-stage{
  margin: 0;
  max-width: 92vw;
  max-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;              /* required for panning clamp */
  cursor: zoom-in;               /* default cursor */
}
.mini-lb.zoomed .mlb-stage{ cursor: grab; }
.mini-lb.dragging .mlb-stage{ cursor: grabbing; }

/* Image */
.mini-lb .mlb-stage img{
  display: block;
  max-width: 92vw;
  max-height: 92vh;
  box-shadow: 0 0 0 1px #444, 0 10px 40px rgba(0,0,0,.6);
  transform: translate3d(0,0,0) scale(1);
  transform-origin: center center;
  will-change: transform;
}

/* Controls (close / prev / next) */
.mini-lb .mlb-close,
.mini-lb .mlb-prev,
.mini-lb .mlb-next{
  position: absolute;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  background: rgba(28,28,28,.85);
  color: #eee;
  line-height: 1;
  text-shadow: 0 1px 0 #000;
  user-select: none;
  cursor: pointer;
}

/* Close (top-right) */
.mini-lb .mlb-close{ top: 14px; right: 16px; }
.mini-lb .mlb-close:hover{ background: rgba(50,50,50,.9); }

/* Prev/Next — vertically centered */
.mini-lb .mlb-prev,
.mini-lb .mlb-next{
  top: 50%;
  transform: translateY(-50%);
  font-size: 0;                  /* hide any inner text; use ::before for glyphs */
}
.mini-lb .mlb-prev{ left: 16px; }
.mini-lb .mlb-next{ right: 16px; }
.mini-lb .mlb-prev:hover,
.mini-lb .mlb-next:hover{ background: rgba(50,50,50,.9); }

/* Arrow glyphs — nudge these only to fine-tune centering */
.mini-lb .mlb-prev::before{
  content: "‹";
  position: relative;
  top: -1px;                     /* tweak vertical alignment */
  left: -1px;                    /* tweak horizontal alignment */
  font-size: 26px;
}
.mini-lb .mlb-next::before{
  content: "›";
  position: relative;
  top: -1px;
  left:  1px;
  font-size: 26px;
}

html.lb-open-lock, body.lb-open-lock { overflow: hidden; }

/* Larger touch targets */
@media (hover:none) and (pointer:coarse){
  .mini-lb .mlb-prev,
  .mini-lb .mlb-next{ width: 52px; height: 52px; }
  .mini-lb .mlb-prev::before,
  .mini-lb .mlb-next::before{ font-size: 30px; }
}

/* Reset button beside close (top-right) */
.mini-lb .mlb-close,
.mini-lb .mlb-reset{
  position:absolute; top:14px; width:42px; height:42px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #000; background:rgba(28,28,28,.85); color:#eee;
  line-height:1; text-shadow:0 1px 0 #000; cursor:pointer;
}
.mini-lb .mlb-close{ right:16px; }
.mini-lb .mlb-reset{ right:64px; }       /* sits left of the X */
.mini-lb .mlb-close:hover,
.mini-lb .mlb-reset:hover{ background:rgba(50,50,50,.9); }


/* Ensure thumbnails are clickable */
.mini-media a.mini-img,
.mini-media-grid a.mini-img,
.mini-media .mini-img img{
  cursor: pointer !important;
}


/* Hide media block if empty */
.post-type-archive-miniblog .mini-media:not(:has(.mini-img img)){ display:none; }

/* Square tiles only when there is an image */
.post-type-archive-miniblog .mini-media .mini-img{ aspect-ratio:auto; overflow:visible; }
.post-type-archive-miniblog .mini-media .mini-img:has(img){ display:block; aspect-ratio:1/1; overflow:hidden; background:#111; }
.post-type-archive-miniblog .mini-media .mini-img img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

/* Text-only cards */
.post-type-archive-miniblog .mini-item:not(:has(.mini-media .mini-img img)){ padding-bottom:15px; }
.post-type-archive-miniblog .mini-item:not(:has(.mini-media .mini-img img)) .mini-content > *:last-child{ margin-bottom:0 !important; }
.post-type-archive-miniblog .mini-media{ margin-top:0; }
.post-type-archive-miniblog .mini-item:has(.mini-media .mini-img img) .mini-media{ margin-top:8px; }

/* Sensitive veil */
.mini-media-wrap{ position:relative; }
.mini-media-wrap.mini-has-sensitive .mini-img img,
.mini-media-wrap.mini-has-sensitive .mini-video{ filter:blur(8px) grayscale(40%); pointer-events:none; user-select:none; }
.mini-media-wrap.revealed .mini-img img,
.mini-media-wrap.revealed .mini-video{ filter:none; pointer-events:auto; }
.mini-sensitive-veil{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.6); backdrop-filter:blur(3px); border-radius:2px; z-index:2;
}
.mini-media-wrap.revealed .mini-sensitive-veil{ display:none; }
.msv-card{
  background:rgba(22,22,22,.92); border:1px solid #333; box-shadow:0 10px 40px rgba(0,0,0,.45);
  color:#ddd; max-width:520px; width:min(92%,520px); padding:14px 16px; text-align:left;
}
.msv-title{ font-weight:700; margin:0 0 8px; }
.msv-desc{ margin:0 0 12px; color:#c9c9c9; font-size:.95rem; line-height:1.35; }
.msv-show{
  display:inline-block; background:#2a2a2a; color:#eee; border:1px solid #444; padding:6px 12px; border-radius:999px; cursor:pointer; line-height:1; text-decoration:none;
}
.msv-show:hover{ background:#333; border-color:#666; }
.msv-show:focus-visible{ outline:2px solid #888; outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  .mini-media-wrap.mini-has-sensitive .mini-img img,
  .mini-media-wrap.mini-has-sensitive .mini-video{ transition:none; }
}

/* ===== Miniblog tabs ===== */
.post-type-archive-miniblog .post.fancy-frame > .entry-header{ margin-bottom:10px !important; }
.mini-tabs{ display:flex; justify-content:center; align-items:center; padding:6px 0; margin:2px 0 8px; font-size:.95rem; line-height:1.2; }
.mini-tab{ position:relative; color:#cfcfcf; text-decoration:none; padding:2px 0; }
.mini-tab + .mini-tab{ margin-left:22px; }
.mini-tabs .mini-tab + .mini-tab{ margin-left:26px; }
.mini-tabs .mini-tab + .mini-tab::before{ left:-26px; width:26px; }
.mini-tab + .mini-tab::before{
  content:"✦"; position:absolute; left:-22px; width:22px; text-align:center; top:5px; transform:translateY(1px); color:#8e8e8e;
  font-size:.8em; line-height:1;
}
.mini-tab.is-active{ color:#fff; font-weight:700; }
.mini-tab.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:#9a9a9a; }
.post-type-archive-miniblog .entry.entry-content{ margin-top:0; }
.post-type-archive-miniblog .entry.entry-content > .mini-item:first-of-type{ margin-top:6px; }

/* ===== Miniblog Media grid ===== */
.post-type-archive-miniblog .mini-media-grid{
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; align-items:stretch; max-width:100%;
}
.post-type-archive-miniblog .mini-media-grid .mmg-item{ position:relative; display:block; overflow:hidden; background:#111; aspect-ratio:1/1; }
.post-type-archive-miniblog .mini-media-grid .mmg-item img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
@media (max-width:520px){ .post-type-archive-miniblog .mini-media-grid{ grid-template-columns:repeat(2,1fr); } }

/* ===== Pagination alignment ===== */
.pagination.mini-pagination, .navigation.pagination{ display:flex; justify-content:center; align-items:center; gap:.5rem; margin:16px 0; text-align:center; }
.pagination.mini-pagination a, .navigation.pagination a, .pagination .page-numbers, .navigation .page-numbers{ text-decoration:none; border-bottom:0; }

/* Remove spinner arrows in the jump-to input */
.mini-jump .mj-input{
  appearance: textfield;        /* modern + Safari */
  -moz-appearance: textfield;   /* Firefox */
}
.mini-jump .mj-input::-webkit-outer-spin-button,
.mini-jump .mj-input::-webkit-inner-spin-button{
  -webkit-appearance: none; 
  margin: 0;
}

/* =========================================================
   COMPOSER PAGE
   ========================================================= */
.page-template-template-miniblog-compose .post.fancy-frame,
.page-template-template-miniblog-compose .post.fancy-frame .entry,
.page-template-template-miniblog-compose #mini-previews{ overflow:visible; }
.page-template-template-miniblog-compose .mini-compose{ margin:0; }
.page-template-template-miniblog-compose .mini-compose textarea{
  width:100%; min-height:140px; padding:10px 12px; background:#111; color:#fff; border:1px solid #2a2a2a; border-radius:0; resize:vertical; font:inherit; line-height:1.4;
}
.page-template-template-miniblog-compose .mini-compose-media{ display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap; }
.page-template-template-miniblog-compose .mini-upload-label{ position:relative; display:inline-block; margin:0; line-height:1; }
.page-template-template-miniblog-compose .mini-upload-label input[type="file"]{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.page-template-template-miniblog-compose .mini-upload-label span{
  display:inline-block; white-space:nowrap; padding:6px 14px; border:1px solid #000;
  background:linear-gradient(180deg,#333 0%,#111 100%); color:#fff; text-shadow:0 1px 0 rgba(0,0,0,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 1px 1px rgba(0,0,0,.4); user-select:none;
}
.page-template-template-miniblog-compose .mini-upload-label:hover span,
.page-template-template-miniblog-compose .mini-upload-label:focus-within span{ background:linear-gradient(180deg,#4a4a4a 0%,#1c1c1c 100%); }
.page-template-template-miniblog-compose .mini-upload-label:focus-within span{ outline:2px solid #555; outline-offset:2px; }
.page-template-template-miniblog-compose .mini-upload-help{ margin:0; font-size:.95rem; color:#bbb; }
.page-template-template-miniblog-compose .mini-compose-tags .widefat{ max-width:520px; background:#171717; color:#eee; border:1px solid #444; padding:6px 8px; border-radius:3px; }
.page-template-template-miniblog-compose #mini-previews{ display:flex; align-items:flex-start; gap:12px; margin-left:0; flex-wrap:wrap; }
.page-template-template-miniblog-compose #mini-previews .mini-thumb{ width:160px; }
.page-template-template-miniblog-compose #mini-previews .mini-pic{ position:relative; width:160px; height:160px; }
.page-template-template-miniblog-compose #mini-previews .mini-pic img{ display:block; width:100%; height:100%; object-fit:cover; background:#000; border:1px solid #2a2a2a; }
.page-template-template-miniblog-compose #mini-previews .mini-preview-file{ display:inline-block; width:160px; min-height:38px; padding:8px; border:1px solid #2a2a2a; background:#1a1a1a; color:#e9e9e9; line-height:1.2; }
.page-template-template-miniblog-compose #mini-previews .mini-remove-x{
  position:absolute; top:6px; right:6px; z-index:3; background:none; border:0; padding:0 4px; line-height:1; font-size:18px; color:#e6e6e6; cursor:pointer; text-shadow:0 1px 2px rgba(0,0,0,.7);
}
.page-template-template-miniblog-compose #mini-previews .mini-remove-x:hover{ color:#fff; }
.page-template-template-miniblog-compose #mini-previews .mini-remove-x:focus{ outline:2px solid #777; outline-offset:2px; }
.page-template-template-miniblog-compose #mini-previews .mini-ctl{ margin-top:6px; }
.page-template-template-miniblog-compose #mini-previews .sens-ctl{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-size:.9rem; color:#ddd; }
.page-template-template-miniblog-compose #mini-previews .sens-ctl input[type="checkbox"]{ accent-color:#888; }
.page-template-template-miniblog-compose #mini-previews .sens-ctl .sens-type{ width:100%; background:#1c1c1c; color:#eaeaea; border:1px solid #444; padding:2px 6px; }
.page-template-template-miniblog-compose .mini-compose-actions{ margin-top:12px; display:flex; justify-content:flex-end; gap:8px; }
.page-template-template-miniblog-compose .mini-btn{
  padding:6px 14px; border:1px solid #000; color:#fff; background:linear-gradient(180deg,#333 0%,#111 100%);
  text-shadow:0 1px 0 rgba(0,0,0,.6); box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 1px 1px rgba(0,0,0,.4);
}
.page-template-template-miniblog-compose .mini-btn:hover{ background:linear-gradient(180deg,#555 0%,#222 100%); }
.page-template-template-miniblog-compose .mini-btn:disabled{ opacity:.55; cursor:not-allowed; filter:grayscale(.2); }
.page-template-template-miniblog-compose .mini-notice{ margin:0 0 12px; padding:8px 10px; background:#112; border:1px solid #2a2a2a; color:#eaeaea; }
.page-template-template-miniblog-compose .mini-notice a{ color:#fff; text-decoration:underline; }
@media (max-width:560px){
  .page-template-template-miniblog-compose .mini-compose-media{ gap:10px; }
  .page-template-template-miniblog-compose #mini-previews .mini-thumb{ width:128px; }
  .page-template-template-miniblog-compose #mini-previews .mini-pic{ width:128px; height:128px; }
  .page-template-template-miniblog-compose #mini-previews .mini-preview-file{ width:128px; height:128px; }
}

/* ===== Footer ===== */
.site-footer{
  margin-top:auto;
  padding:14px 16px;
  text-align:center;
  color:#c9c9c9;
  border-top:1px solid #313130;
  background:#161617; /* or your theme's panel color */
}

.site-footer .footer-brand, .site-footer .footer-brand:visited{ color:inherit; text-decoration:underline; }
.site-footer .footer-brand:hover, .site-footer .footer-brand:focus-visible{ color:#fff; text-decoration:underline; }

/* ===== HARD RESET: unsqueeze main column & post wrappers ===== */

/* Grid stays: sidebar left, content right */
.layout{ display:grid !important; grid-template-columns:240px minmax(0,1fr) !important; gap:24px !important; align-items:start !important; }
#sidebar{ grid-column:1 !important; grid-row:1 !important; }
.main{ grid-column:2 !important; grid-row:1 !important; min-width:0 !important; }

/* Clear any leaked floats so the container takes full width */
.main::after{ content:""; display:block; clear:both; }

/* Nuke legacy width/float/column/writing-mode on top-level post wrappers */
.main article.post,
.main article.post > .entry-header,
.main article.post > .entry,
.main article.post > .entry-content{
  position:static !important;
  display:block !important;
  float:none !important;
  clear:none !important;

  width:auto !important;
  max-width:none !important;
  min-width:0 !important;

  column-count:initial !important;
  column-width:auto !important;

  writing-mode:horizontal-tb !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow:visible !important;
}

/* Make sure inner blocks aren’t clamped by any inherited max-widths */
.main article.post > .entry > *,
.main article.post > .entry-content > *{
  max-width:none !important;
}

/* Two-column content + sidebar */
.layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 24px; align-items: start; }
.sidebar { min-width: 0; }
.main { min-width: 0; }

/* Stack on small screens */
@media (max-width: 900px) {
  .layout { grid-template-columns: 1fr; }
}

/* ===== Mini “Go to page” popover ===== */
.mini-jump{
  position:absolute; top:-9999px; left:-9999px; z-index:10000; display:none;
}
.mini-jump.open{ display:block; }
.mini-jump .mj-card{
  background:#1c1c1c; color:#e6e6e6; border:1px solid #2f2f2f; box-shadow:0 10px 40px rgba(0,0,0,.6);
  padding:12px; min-width:260px; border-radius:2px; position:relative;
}
.mini-jump .mj-title{ font-weight:700; margin:0 0 8px; line-height:1.2; }
.mini-jump .mj-row{ display:flex; align-items:center; gap:8px; }
.mini-jump .mj-input{
  width:80px; padding:6px 8px; border:1px solid #3a3a3a; background:#111; color:#fff; line-height:1; text-align:center;
}
.mini-jump .mj-btn{
  width:34px; height:34px; border:1px solid #000; background:linear-gradient(180deg,#333 0%,#111 100%);
  color:#eee; cursor:pointer; line-height:1; font-size:18px; text-shadow:0 1px 0 #000;
}
.mini-jump .mj-btn:hover{ background:linear-gradient(180deg,#4a4a4a 0%,#1c1c1c 100%); }
.mini-jump .mj-go{
  padding:6px 14px; border:1px solid #000; background:linear-gradient(180deg,#333 0%,#111 100%); color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.6); cursor:pointer;
}
.mini-jump .mj-go:hover{ background:linear-gradient(180deg,#555 0%,#222 100%); }
.mini-jump .mj-close{
  position:absolute; top:6px; right:6px; width:28px; height:28px; border:0; background:none; color:#e6e6e6; font-size:20px; cursor:pointer;
}
.mini-jump .mj-close:hover{ color:#fff; }

/* Make the “…” look interactive */
.pagination .page-numbers.dots{
  cursor:pointer; background:#222; border:1px solid #555; color:#fff; padding:4px 3px; display:inline-block; line-height:1;
}
.pagination .page-numbers.dots:hover{ background:#2a2a2a; border-color:#777; }

.pagination, .navigation.pagination { position: relative; z-index: 20; }

.pagination, .navigation.pagination, .pagination * { pointer-events: auto !important; }
