/* Readability and navigation improvements; original theme remains in control. */
html.sg-optimized{scroll-padding-top:6rem}
.sg-optimized body{padding-bottom:env(safe-area-inset-bottom)}
.sg-optimized #page-root{opacity:1!important;transform:none!important}
.sg-optimized .card-base{background-color:rgba(255,253,251,.93)!important}
.sg-optimized.dark .card-base{background-color:rgba(32,29,35,.92)!important}
.sg-optimized .prose{font-size:16px;line-height:1.95;overflow-wrap:anywhere}
.sg-optimized .prose p,.sg-optimized .prose li{line-height:1.95}
.sg-optimized .prose a{text-underline-offset:4px;text-decoration-thickness:1px}
.sg-optimized .prose img{height:auto;max-width:100%;border-radius:10px}
.sg-optimized .prose pre{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.sg-optimized .prose table{display:block;max-width:100%;overflow-x:auto}
.sg-optimized .prose :is(h1,h2,h3,h4){scroll-margin-top:6rem;line-height:1.55}
.sg-optimized .card-hover a.font-bold[href^="/posts/"]{font-size:clamp(18px,2vw,27px);line-height:1.5;overflow-wrap:anywhere}
.sg-optimized a:focus-visible,.sg-optimized button:focus-visible,.sg-optimized input:focus-visible{outline:3px solid var(--primary,#c55367);outline-offset:4px}
.sg-skip{position:fixed;left:16px;top:-100px;z-index:10000;padding:10px 16px;border-radius:8px;background:#fff;color:#25252b;box-shadow:0 4px 20px #0002}
.sg-skip:focus{top:12px}
.sg-intro{padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#302b33}
.dark .sg-intro{color:#f2edf0}
.sg-intro .sg-eyebrow{font-size:10px;letter-spacing:2px;color:var(--primary);margin:0 0 8px}
.sg-intro h1{font-size:clamp(21px,2.1vw,28px);line-height:1.5;font-weight:700;margin:0;color:inherit}
.sg-intro p{font-size:13px;line-height:1.8;opacity:.7;margin:8px 0 0}
.sg-intro>a{font-size:12px;white-space:nowrap;color:var(--primary);padding:10px 0}
.sg-quickbar{position:fixed;left:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;gap:2px;padding:5px;background:#fffef9f2;border:1px solid #dedbd4;border-radius:30px;box-shadow:0 5px 25px #181b2520;color:#414149;backdrop-filter:blur(12px);font-family:inherit}
.dark .sg-quickbar{background:#27272bf2;border-color:#49464b;color:#f0ebee}
.sg-quickbar button,.sg-quickbar a{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:inherit;padding:9px 12px;min-height:38px;border-radius:24px;font-size:12px;font-weight:500;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.2}
.sg-quickbar button:hover,.sg-quickbar a:hover{background:#80708012;color:var(--primary)}
.sg-quickbar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sg-quickbar .sg-divider{width:1px;height:15px;background:#8884}
.sg-nav-search{display:flex;align-items:center;gap:8px;min-height:42px;border:0;border-radius:12px;background:transparent;color:inherit;padding:8px 12px;font-family:inherit;font-size:12px;cursor:pointer;opacity:.8}
.sg-nav-search:hover{background:#8882;color:var(--primary);opacity:1}
.dark .sg-nav-search{color:#eee8ef}
.sg-nav-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.sg-search-dialog{position:fixed;inset:0;margin:7vh auto auto;width:min(660px,calc(100% - 28px));max-height:84vh;padding:0;overflow:hidden;border:1px solid #e0dce0;border-radius:20px;background:#fcfbf9;color:#2c2b33;box-shadow:0 24px 100px #11182740;font-family:inherit}
.sg-search-dialog::backdrop{background:#15132380;backdrop-filter:blur(5px)}
.dark .sg-search-dialog{background:#242427;color:#f1edef;border-color:#49444b}
.sg-search-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 24px 12px}
.sg-search-head h2{font-size:18px;font-weight:700;margin:0}
.sg-close{border:0;background:transparent;color:inherit;width:36px;height:36px;min-width:36px;border-radius:9px;cursor:pointer;font-family:inherit;font-size:25px;line-height:1}
.sg-close:hover{background:#8882}
.sg-search-label{display:block;margin:0 24px;font-size:11px;opacity:.65}
.sg-search-input{display:block;box-sizing:border-box;width:calc(100% - 48px);margin:9px 24px 0;border:1px solid #c6c1c8;background:#fff7;color:inherit;border-radius:10px;padding:13px 15px;font-size:16px;line-height:1.5;font-family:inherit;appearance:none}
.dark .sg-search-input{background:#151519;border-color:#59515d}
.sg-search-status{margin:15px 24px 10px;font-size:11px;line-height:1.6;opacity:.65}
.sg-search-results{margin:0;padding:0 12px 14px;list-style:none;overflow-y:auto;max-height:calc(84vh - 225px);overscroll-behavior:contain}
.sg-search-results li{margin:0;list-style:none}
.sg-search-results a{display:block;padding:15px 12px;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s}
.sg-search-results a:hover,.sg-search-results a:focus-visible{background:#a98d9b16}
.sg-search-results strong{display:block;font-size:14px;line-height:1.7;font-weight:650}
.sg-search-results p{font-size:12px;line-height:1.8;opacity:.7;margin:6px 0 0;overflow-wrap:anywhere}
.sg-search-results small{display:block;font-size:10px;opacity:.5;margin-top:7px}
.sg-search-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;border-top:1px solid #8883;font-size:10px;opacity:.7}
.sg-search-foot a{color:var(--primary);text-decoration:none}
.sg-retry{display:block;margin:14px 24px 25px;padding:9px 17px;font-size:12px;background:var(--primary,#a64a61);color:#fff;border:0;border-radius:8px;cursor:pointer}
.sg-reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--primary,#c55367);transform:scaleX(0);transform-origin:left;z-index:9999;pointer-events:none}
.sg-optimized [hidden]{display:none!important}
@media(max-width:767px){
  .sg-optimized .prose{font-size:16px;line-height:1.9}
  .sg-optimized #swup-container .card-hover{overflow:hidden}
  .sg-optimized #swup-container .card-hover a.font-bold[href^="/posts/"]{font-size:18px;line-height:1.6}
  .sg-optimized #swup-container .card-hover .line-clamp-1{font-size:13px;line-height:1.8}
  .sg-intro{padding:20px 22px;gap:10px}
  .sg-intro h1{font-size:21px}
  .sg-intro p{font-size:12px}
  .sg-intro>a{display:none}
  .sg-quickbar{left:12px;bottom:calc(13px + env(safe-area-inset-bottom))}
  .sg-quickbar button,.sg-quickbar a{padding:9px 10px;font-size:11px;min-height:36px}
  .sg-nav-search{width:40px;padding:9px;justify-content:center}
  .sg-nav-search span{display:none}
  .sg-search-dialog{margin:4vh auto auto;max-height:88dvh}
  .sg-search-head{padding:16px 18px 8px}
  .sg-search-label,.sg-search-status{margin-left:18px;margin-right:18px}
  .sg-search-input{width:calc(100% - 36px);margin-left:18px;margin-right:18px}
  .sg-search-results{max-height:calc(88dvh - 222px)}
  .sg-search-foot{padding:12px 18px}
}
@media(prefers-reduced-motion:reduce){
  .sg-optimized{scroll-behavior:auto!important}
  .sg-optimized .onload-animation{animation-duration:1ms!important;animation-delay:0ms!important}
  .sg-optimized .sg-search-results a{transition:none}
}
