/* =========================================================
   LIME DETOUR NOTE — main stylesheet
   (mock: blog_pink_opus2.html をテーマ化。外部フォント・CDN 不使用)
   ========================================================= */
:root{
  --ink:#0d0b0f; --ink-2:#18151c; --ink-3:#2a2530;
  --pink:#ff3d8b;        /* 主役ピンク: 面・大きい文字 */
  --pink-deep:#c80f5a;   /* 白地の小さいピンク文字用 (AA) */
  --pink-soft:#ffd2e3; --pink-pale:#fff0f6;
  --paper:#fff7fa; --sheet:#fff3f8; --text:#1c161b; --muted:#5e5259; --line:#ecd9e1;
  --lime:#c4f53a; --blue:#1f4bff; --orange:#ff8a1f;
  --f-sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo",system-ui,sans-serif;
  --f-disp:"Segoe UI","Helvetica Neue","Arial Black",Arial,var(--f-sans);
  --f-mono:"Cascadia Mono","SF Mono",Consolas,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-sans);font-size:16px;line-height:1.8;color:var(--text);background:var(--paper);
  font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:var(--pink);color:var(--ink);font-weight:800;padding:10px 16px;border-radius:8px;box-shadow:3px 3px 0 var(--ink);transition:top .2s}
.skip-link:focus{top:12px}
#posts,#side,#about,#comments,#content{scroll-margin-top:84px}

/* 幾何モチーフ(ライムの三角イヤリング・ヘアピンから) */
.shp{display:inline-block;width:.62em;height:.62em;flex:none}
.shp.c{border-radius:50%}
.shp.t{clip-path:polygon(50% 0,100% 100%,0 100%)}
.shp.s{transform:rotate(45deg) scale(.85)}
.k-pink{background:var(--pink)} .k-lime{background:var(--lime);box-shadow:inset 0 0 0 1px var(--ink)} .k-blue{background:var(--blue)} .k-orange{background:var(--orange)} .k-ink{background:var(--ink)}

/* =========================================================
   POSE: キャラ画像の共通部品(画像は 1254px 正方形・背景透過)
   ========================================================= */
.pose{position:relative;display:block;overflow:hidden;pointer-events:none}
.pose img{position:absolute;max-width:none;height:auto}
.js .pose img{opacity:0;transition:opacity .5s}
.js .pose img.ok{opacity:1}
.pose[data-pose=wave]{aspect-ratio:814/1200}  .pose[data-pose=wave] img{width:154.05%;left:-27.76%;top:-2.33%}
.pose[data-pose=point]{aspect-ratio:846/1237} .pose[data-pose=point] img{width:148.23%;left:-27.07%;top:-.73%}
.pose[data-pose=wink]{aspect-ratio:1141/1126} .pose[data-pose=wink] img{width:109.9%;left:-6.05%;top:-5.15%}
.pose[data-pose=bust]{aspect-ratio:1244/1232} .pose[data-pose=bust] img{width:100.8%;left:-.8%;top:-1.79%}
.pose[data-pose=face]{aspect-ratio:1}         .pose[data-pose=face] img{width:174.17%;left:-33.33%;top:-9.72%}

/* ===== reading progress ===== */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pink) 80%,var(--lime));transform-origin:0 50%;transform:scaleX(0)}
.admin-bar .progress{top:32px}

/* =========================================================
   Header
   ========================================================= */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,11,15,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.08);transition:border-color .3s}
.admin-bar .site-header{top:32px}
.site-header.scrolled{border-bottom-color:var(--pink)}
.hdr{display:flex;align-items:center;gap:28px;height:70px;transition:height .3s var(--ease)}
.scrolled .hdr{height:58px}
.logo{display:flex;align-items:center;gap:12px;font-weight:900;line-height:1.1;min-width:0}
.logo-mark{width:40px;height:40px;flex:none;transition:transform .5s var(--spring)}
.logo:hover .logo-mark{transform:rotate(-12deg) scale(1.06)}
.logo-txt{display:flex;flex-direction:column;min-width:0}
.logo-txt b{font-size:17px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-txt small{font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;color:var(--pink);font-weight:700;white-space:nowrap}
.gnav{margin-left:auto;display:flex;align-items:center}
.gnav-list{display:flex;gap:4px}
.gnav-list a{display:block;padding:8px 14px;font-size:14px;font-weight:700;color:#e9e1e6;border-radius:99px;transition:color .2s,background .2s}
.gnav-list a:hover{color:#fff;background:rgba(255,61,139,.16)}
.gnav-list a[aria-current]{color:var(--ink);background:var(--pink)}
.gnav-search{display:none}
.hdr-search{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:none;color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}
.hdr-search:hover,.hdr-search[aria-expanded=true]{border-color:var(--pink);color:var(--pink)}
.hdr-search-panel{border-top:1px solid rgba(255,255,255,.1);padding:14px 0 18px}
.hdr-search-panel .search{max-width:520px;margin-left:auto}
.menu-btn{display:none;flex:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:var(--pink);cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:.3s var(--ease)}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:25px;right:18px}
.nav-open .menu-btn span:nth-child(1){top:21px;transform:rotate(45deg)}
.nav-open .menu-btn span:nth-child(2){top:21px;right:12px;transform:rotate(-45deg)}

/* =========================================================
   Hero
   ========================================================= */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
.hero::before,.page-head::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:radial-gradient(var(--pink) 1.3px,transparent 1.6px);background-size:16px 16px;
  -webkit-mask-image:radial-gradient(ellipse 50% 60% at 78% 30%,#000,transparent 70%);mask-image:radial-gradient(ellipse 50% 60% at 78% 30%,#000,transparent 70%);opacity:.32}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:56px;align-items:end;padding-top:40px}
.hero-copy{padding:56px 0 76px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;color:var(--pink);font-weight:700;margin-bottom:26px}
.kicker .live{width:8px;height:8px;flex:none;border-radius:50%;background:var(--lime);animation:ping 2.4s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(196,245,58,.55)}70%,100%{box-shadow:0 0 0 10px rgba(196,245,58,0)}}
.hero h1{font-size:clamp(44px,6.2vw,92px);line-height:1.05;font-weight:900;letter-spacing:-.035em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.24em;margin-bottom:-.18em}
.hero h1 .ln>span{display:inline-block;transform:translateY(105%);animation:rise 1s var(--ease) forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes rise{to{transform:none}}
.hero h1 em{font-style:normal;color:var(--pink);position:relative;white-space:nowrap}
.hero h1 em svg{position:absolute;left:-2%;bottom:-.14em;width:104%;height:.3em;overflow:visible}
.hero h1 em path{fill:none;stroke:var(--lime);stroke-width:5;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1s .9s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.lead{margin-top:26px;max-width:31em;text-wrap:pretty;font-size:16px;line-height:1.95;color:#ddd3d9}
.lead b,.lead strong{color:#fff;background:linear-gradient(transparent 62%,rgba(255,61,139,.5) 62%)}
.guide-menu{position:relative;z-index:0;margin-top:34px;max-width:440px;border-top:1px solid rgba(255,255,255,.16)}
.guide-menu a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.16);
  font-weight:700;font-size:15px;position:relative;overflow:hidden;transition:color .3s,padding .3s var(--ease)}
.guide-menu a::before{content:"";position:absolute;inset:0;background:var(--pink);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--ease);z-index:-1}
.guide-menu a:hover,.guide-menu a:focus-visible{color:var(--ink);padding-left:14px}
.guide-menu a:hover::before,.guide-menu a:focus-visible::before{transform:scaleX(1)}
.guide-menu .no{font-family:var(--f-mono);font-size:11px;color:var(--pink)}
.guide-menu a:hover .no,.guide-menu a:focus-visible .no{color:var(--ink)}
.guide-menu .arr{font-family:var(--f-mono);transition:transform .3s var(--ease)}
.guide-menu a:hover .arr{transform:translateX(-6px)}
.stats{display:flex;gap:28px;margin-top:28px;font-family:var(--f-mono);font-size:11px;color:#a99ea5;letter-spacing:.08em}
.stats b{display:block;font-family:var(--f-disp);font-size:24px;color:#fff;letter-spacing:0;line-height:1.2}

/* 雑誌の表紙パネル */
.cover{position:relative;align-self:end;margin-top:90px;aspect-ratio:5/6;background:var(--pink-soft);border-radius:4px 4px 0 0;isolation:isolate}
.cover::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background-image:radial-gradient(rgba(255,61,139,.55) 1.4px,transparent 1.8px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(160deg,transparent 30%,#000 90%);mask-image:linear-gradient(160deg,transparent 30%,#000 90%)}
.masthead{position:absolute;left:0;right:0;top:4%;text-align:center;font-family:var(--f-disp);font-weight:900;color:var(--ink);white-space:nowrap;overflow:hidden;
  font-size:clamp(90px,12.2vw,176px);line-height:.8;letter-spacing:-.06em;z-index:0;user-select:none}
.cover-top{position:absolute;left:18px;right:18px;top:-24px;display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:#bfb3ba;white-space:nowrap}
.cover-char{position:absolute;left:52%;bottom:-17%;height:104%;z-index:1;transform:translateX(-50%);transform-origin:50% 100%}
.cover-char .pose{height:100%;filter:drop-shadow(12px 8px 0 var(--pink))}
.cover-char{animation:hello 1s .3s var(--spring) both}
@keyframes hello{from{transform:translateX(-50%) translateY(14%) scale(.92);opacity:0}}
.cover-char .pose{animation:sway 5s 1.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sway{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.6deg)}}
.cover:hover .cover-char .pose{animation:hop .5s var(--spring)}
@keyframes hop{40%{transform:translateY(-14px) rotate(-2deg)}}
.cover-lines{position:absolute;left:16px;bottom:16px;right:96px;z-index:2;display:grid;justify-items:start;gap:6px;font-size:12px;font-weight:800;color:var(--ink);line-height:1.35}
.cover-lines li{background:var(--paper);padding:3px 8px 3px 6px;border-radius:3px;display:flex;align-items:center;gap:6px;box-shadow:2px 2px 0 var(--ink);max-width:100%}
.cover-lines li:first-child{background:var(--ink);color:var(--pink);box-shadow:2px 2px 0 var(--pink)}
.barcode{position:absolute;right:14px;bottom:14px;z-index:2;background:#fff;padding:5px 6px 3px;border-radius:2px}
.barcode svg{width:58px;height:30px}
.barcode small{display:block;font-family:var(--f-mono);font-size:7px;letter-spacing:.12em;text-align:center;color:var(--ink);line-height:1.4}
.say{position:absolute;z-index:3;left:-64px;top:36%;max-width:200px;padding:13px 15px;background:#fff;color:var(--ink);border-radius:18px 18px 4px 18px;
  font-size:13.5px;line-height:1.65;font-weight:700;box-shadow:5px 5px 0 var(--lime),5px 5px 0 1.5px var(--ink);
  opacity:0;transform:translateY(10px) scale(.94);animation:pop .6s 1.3s var(--spring) forwards}
.say small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--pink-deep)}
@keyframes pop{to{opacity:1;transform:none}}

/* ticker */
.ticker{position:relative;z-index:3;background:var(--pink);color:var(--ink);overflow:hidden;border-block:1px solid var(--ink);font-weight:800;font-size:14px}
.ticker-track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker ul{display:flex;align-items:center;gap:28px;padding:13px 14px;white-space:nowrap}
.ticker li{display:flex;align-items:center;gap:10px}
.ticker a:hover{text-decoration:underline;text-underline-offset:3px}
.ticker .tag{font-family:var(--f-mono);font-size:11px;background:var(--ink);color:var(--pink);padding:2px 8px;border-radius:4px;letter-spacing:.1em}
@keyframes marquee{to{transform:translateX(-50%)}}

/* =========================================================
   Page head (アーカイブ・記事・固定ページ・検索・404)
   ========================================================= */
.page-head{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;border-bottom:6px solid var(--pink)}
.page-head-inner{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:end;gap:32px;min-height:300px;padding-top:56px}
.page-head-copy{padding-bottom:52px}
.page-head .kicker{margin-bottom:18px}
.page-title{font-size:clamp(28px,4.2vw,48px);font-weight:900;line-height:1.35;letter-spacing:-.01em;overflow-wrap:anywhere;text-wrap:pretty}
.page-desc{margin-top:16px;max-width:40em;color:#ddd3d9;font-size:15px}
.page-desc p+p{margin-top:.6em}
.page-head-char{align-self:end;height:230px;display:flex;justify-content:center}
.page-head-char .pose{height:100%;filter:drop-shadow(8px 6px 0 var(--pink));animation:hello2 .9s .2s var(--spring) both}
@keyframes hello2{from{transform:translateY(16%);opacity:0}}
.meta.meta-dark{margin-top:18px;color:#c9bec4}
.meta.meta-dark .cat{color:#fff}
.meta.meta-dark a.cat:hover{color:var(--pink)}
.meta .upd{font-family:var(--f-mono);letter-spacing:.04em}

/* =========================================================
   Main layout
   ========================================================= */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-top:120px;padding-bottom:150px}
.page-head+.layout{padding-top:64px}
.main-col,.posts-sec{min-width:0}
.sec-head{display:flex;align-items:flex-end;gap:18px;margin-bottom:44px;padding:0 150px 18px 0;border-bottom:2px solid var(--ink);position:relative}
.sec-no{font-family:var(--f-disp);font-weight:900;font-size:64px;line-height:.78;color:var(--pink);letter-spacing:-.04em}
.sec-head h2{font-size:28px;font-weight:900;line-height:1.2;letter-spacing:.02em}
.sec-head h2 small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.24em;color:var(--muted);font-weight:700;margin-bottom:6px}
.sec-head .more{margin-left:auto;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;padding-bottom:4px}
.sec-head .more span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ink);transition:.3s var(--ease)}
.sec-head .more:hover span{background:var(--ink);color:var(--pink);transform:rotate(-45deg)}
.pointer{position:absolute;right:0;bottom:-2px;width:118px;z-index:2}
.pointer .pose{filter:drop-shadow(6px 4px 0 var(--pink-soft))}
.pointer .pose{transform:translateY(16px);opacity:0;transition:transform .7s var(--spring),opacity .4s}
.sec-head.in .pointer .pose{transform:none;opacity:1}
.pointer .pose{animation:nudge 2.6s 1.2s ease-in-out infinite}
@keyframes nudge{0%,70%,100%{translate:0}80%{translate:-5px 0}90%{translate:-1px 0}}
.pointer-say{position:absolute;right:104px;top:-14px;white-space:nowrap;font-size:12.5px;font-weight:800;background:var(--ink);color:#fff;padding:6px 12px;border-radius:14px 14px 4px 14px;
  opacity:0;transform:translateX(10px);transition:.5s .5s var(--ease)}
.pointer-say b{color:var(--pink)}
.sec-head.in .pointer-say{opacity:1;transform:none}

/* ===== post cards ===== */
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}
.post{position:relative;display:flex;flex-direction:column;min-width:0}
.tw{position:relative;transition:transform .45s var(--ease)}
.post .thumb{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--ink);box-shadow:0 0 0 1.5px var(--ink);transition:box-shadow .45s var(--ease)}
.post .thumb svg,.post .thumb img{width:100%;height:100%}
.post .thumb img{object-fit:cover}
.post:hover .tw{transform:translate(-5px,-5px)}
.post:hover .thumb{box-shadow:0 0 0 1.5px var(--ink),10px 10px 0 var(--pink)}
.post:focus-within .thumb{box-shadow:0 0 0 1.5px var(--ink),10px 10px 0 var(--pink)}
.post .idx{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--f-mono);font-size:11px;font-weight:700;background:var(--paper);color:var(--ink);padding:3px 8px;border-radius:3px;letter-spacing:.1em}
.peek{position:absolute;right:22px;bottom:100%;width:92px;height:94px;overflow:hidden;pointer-events:none;margin-bottom:-6px;z-index:3}
.peek .pose{position:absolute;left:0;right:0;bottom:0;transform:translateY(100%);transition:transform .45s var(--ease)}
.post:hover .peek .pose{transform:translateY(0);transition:transform .5s .08s var(--spring)}
.post .body{padding-top:20px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--muted);font-weight:700}
.meta .cat{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:800}
.meta time,.meta .rt{font-family:var(--f-mono);letter-spacing:.04em}
.post-title{text-wrap:pretty;margin-top:10px;font-size:20px;line-height:1.5;font-weight:800;overflow-wrap:anywhere}
.post-title a{background:linear-gradient(var(--pink),var(--pink)) 0 100%/0 2px no-repeat;transition:background-size .45s var(--ease);padding-bottom:2px}
.post:hover .post-title a,.post-title a:focus-visible{background-size:100% 2px}
.post-title a::after{content:"";position:absolute;inset:0;z-index:4}
.post .ex{margin-top:10px;font-size:14.5px;line-height:1.85;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* ライムのひとこと(カスタムフィールド lime_comment) */
.lime-note{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;font-weight:700;line-height:1.5;color:var(--ink)}
.lime-note .face{width:36px;height:36px;flex:none;border-radius:50%;background:var(--pink-soft);overflow:hidden;box-shadow:0 0 0 1.5px var(--ink)}
.lime-note p{position:relative;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:6px 12px}
.lime-note p::before{content:"";position:absolute;left:-7px;top:50%;width:10px;height:10px;background:#fff;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-50%) rotate(45deg)}
/* 2列目を半段下げる(特集は除外) */
.posts.has-feature .post:nth-child(odd):not(:first-child){margin-top:72px}
.posts:not(.has-feature) .post:nth-child(even){margin-top:72px}
/* 1件目 = 特集 */
.post.feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:center;padding-bottom:60px;border-bottom:1px dashed #d8bfca}
.post.feature .thumb{aspect-ratio:16/10}
.post.feature .body{padding-top:0}
.post.feature .post-title{font-size:28px;line-height:1.45}
.post.feature .ex{-webkit-line-clamp:4;font-size:15px}
.post.feature .peek{width:120px;height:122px;right:40px}
.feature-flag{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--ink);margin-bottom:14px}
.feature-flag::before{content:"";width:34px;height:10px;background:repeating-linear-gradient(-45deg,var(--blue) 0 5px,var(--lime) 5px 10px);border-radius:2px}
.read{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-weight:800;font-size:14px;padding:10px 18px 10px 20px;border-radius:99px;background:var(--ink);color:#fff;transition:.3s var(--ease)}
.read i{font-style:normal;color:var(--pink);transition:transform .3s var(--ease)}
.post:hover .read{background:var(--pink);color:var(--ink)}
.post:hover .read i{color:var(--ink);transform:translateX(4px)}
/* サムネのホバー微演出 */
.press{transform-box:fill-box;transform-origin:center}
.post:hover .press{animation:press .9s infinite}
@keyframes press{0%,100%{transform:none}40%{transform:translateY(3px) scale(.94)}}
.steam path{stroke-dasharray:6 8}
.post:hover .steam path{animation:steam 1.4s linear infinite}
@keyframes steam{to{stroke-dashoffset:-28}}
.post:hover .route{animation:walk 1.6s linear infinite}
@keyframes walk{to{stroke-dashoffset:-48}}
.pin{transform-box:fill-box;transform-origin:50% 100%}
.post:hover .pin{animation:pinhop .8s var(--ease) infinite alternate}
@keyframes pinhop{to{transform:translateY(-8px)}}
.vinyl{transform-box:fill-box;transform-origin:center}
.post:hover .vinyl{animation:spin 2.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pencil{transition:transform .6s var(--ease);transform-box:fill-box;transform-origin:center}
.post:hover .pencil{transform:translate(-18px,10px) rotate(-6deg)}
.books rect{transition:transform .5s var(--ease)}
.post:hover .books .b3{transform:translateX(26px)}

/* 記事なし */
.none{display:flex;align-items:center;gap:28px;padding:40px 32px;background:var(--sheet);border:1.5px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 var(--pink)}
.none-char{width:120px;flex:none}
.none-body{flex:1;min-width:0;display:grid;gap:10px}
.none-lead{font-size:18px;font-weight:800}

/* pagination */
.pager-wrap{position:relative;margin-top:150px;display:flex;justify-content:center}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.pager a,.pager>span{min-width:44px;height:44px;padding:0 6px;display:grid;place-items:center;border-radius:12px;font-family:var(--f-mono);font-weight:700;font-size:14px;border:1.5px solid var(--ink);transition:.25s var(--ease)}
.pager a:hover{background:var(--ink);color:var(--pink)}
.pager [aria-current]{background:var(--pink);border-color:var(--pink);color:var(--ink)}
.pager .dots{border:0;min-width:20px}
.pager .next,.pager .prev{padding:0 18px;display:flex;gap:8px}

/* =========================================================
   Single / Page: 本文(読みやすさ最優先)
   ========================================================= */
.entry{--pad:56px;position:relative;background:var(--sheet);color:var(--text);border:1.5px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--pink-soft);padding:48px var(--pad) 56px}
.entry-eyecatch{margin:-48px calc(-1 * var(--pad)) 40px;border-radius:16px 16px 0 0;overflow:hidden;border-bottom:1.5px solid var(--ink)}
.entry-eyecatch img{width:100%}
.entry>.lime-note{margin:0 0 32px}
.entry-content{font-size:17px;line-height:2.05;letter-spacing:.02em;overflow-wrap:break-word}
.entry-content::after{content:"";display:table;clear:both}
.entry-content>*+*{margin-top:1.5em}
.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{line-height:1.5;font-weight:900;letter-spacing:.01em;scroll-margin-top:84px}
.entry-content h2{margin-top:2.6em;font-size:23px;padding:.65em .9em;background:var(--ink);color:#fff;border-left:7px solid var(--pink);border-radius:4px 10px 10px 4px}
.entry-content h3{margin-top:2.2em;font-size:20px;padding:0 0 .4em 1.1em;border-bottom:2px solid var(--ink);position:relative}
.entry-content h3::before{content:"";position:absolute;left:0;top:.5em;width:.6em;height:.6em;background:var(--pink);transform:rotate(45deg) scale(.85)}
.entry-content h4{margin-top:2em;font-size:18px;color:var(--pink-deep)}
.entry-content h5,.entry-content h6{margin-top:1.8em;font-size:16px}
.entry-content>:first-child{margin-top:0}
.entry-content a{color:var(--pink-deep);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.entry-content a:hover{color:var(--ink);background:var(--pink-soft)}
.entry-content strong,.entry-content b{font-weight:800}
.entry-content mark{background:linear-gradient(transparent 55%,var(--pink-soft) 55%);color:inherit}
.entry-content ul,.entry-content ol{padding-left:1.6em}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li+li{margin-top:.35em}
.entry-content li ul,.entry-content li ol{margin-top:.35em}
.entry-content li::marker{color:var(--pink-deep);font-weight:800}
.entry-content blockquote,.entry-content .wp-block-quote{position:relative;margin-inline:0;padding:1.2em 1.4em 1.2em 1.6em;background:#fff;border-left:5px solid var(--pink);border-radius:0 12px 12px 0;color:#3a3138}
.entry-content blockquote>*+*{margin-top:.8em}
.entry-content blockquote cite,.entry-content .wp-block-quote cite{display:block;font-size:13px;font-style:normal;color:var(--muted)}
.entry-content .wp-block-pullquote{border-block:3px solid var(--ink);text-align:center;padding:1.5em 0}
.entry-content figure{margin-inline:0}
.entry-content img{border-radius:8px}
.entry-content figcaption,.entry-content .wp-caption-text,.entry-content .wp-element-caption{margin-top:.6em;font-size:13px;line-height:1.6;color:var(--muted);text-align:center}
.entry-content code,.entry-content kbd{font-family:var(--f-mono);font-size:.88em;padding:.1em .4em;background:#fff;border:1px solid var(--line);border-radius:5px}
.entry-content pre{font-family:var(--f-mono);font-size:14px;line-height:1.75;background:var(--ink);color:#f6eef2;padding:1.2em 1.4em;border-radius:12px;overflow-x:auto;letter-spacing:0;tab-size:2;border-left:5px solid var(--pink)}
.entry-content pre code{padding:0;background:none;border:0;color:inherit;font-size:inherit}
.entry-content table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
.entry-content th,.entry-content td{border:1px solid #dcc6d0;padding:.6em .8em;text-align:left;vertical-align:top}
.entry-content th,.entry-content thead td{background:var(--pink-soft);font-weight:800}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content hr,.entry-content .wp-block-separator{border:0;border-top:2px dashed #d8bfca;margin:2.5em auto;width:100%}
.entry-content iframe,.entry-content video,.entry-content embed,.entry-content object{max-width:100%}
.entry-content .alignwide{margin-inline:calc(-.5 * var(--pad));max-width:none;width:auto}
.entry-content .alignfull{margin-inline:calc(-1 * var(--pad));max-width:none;width:auto}
.entry-content .alignfull img,.entry-content .alignwide img{width:100%}
.entry-content .alignfull img{border-radius:0}
.entry-content .alignleft{float:left;margin:.3em 1.5em 1em 0;max-width:50%}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.5em;max-width:50%}
.entry-content .aligncenter{margin-inline:auto;text-align:center}
.entry-content .aligncenter img{margin-inline:auto}
.entry-content .wp-block-image.alignleft,.entry-content .wp-block-image.alignright{margin-top:.3em}
.entry-content .has-text-align-center{text-align:center}
.entry-content .has-text-align-right{text-align:right}
.entry-content .wp-block-button__link,.btn,.entry-content input[type=submit],.comment-form input[type=submit]{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;padding:12px 24px;border-radius:99px;border:0;background:var(--ink);color:#fff;text-decoration:none;cursor:pointer;transition:.25s var(--ease)}
.entry-content .wp-block-button__link:hover,.btn:hover,.entry-content input[type=submit]:hover,.comment-form input[type=submit]:hover{background:var(--pink);color:var(--ink)}
.entry-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.entry-content .wp-block-gallery,.entry-content .gallery{display:flex;flex-wrap:wrap;gap:12px}
.entry-content .gallery-item{flex:1 1 30%;margin:0}
.entry-content .wp-block-embed__wrapper{position:relative}
/* フォーム(Contact Form 7 など) */
.entry-content input[type=text],.entry-content input[type=email],.entry-content input[type=url],.entry-content input[type=tel],.entry-content input[type=number],.entry-content input[type=date],
.entry-content select,.entry-content textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;max-width:100%;padding:10px 14px;font-size:16px;line-height:1.6;color:var(--text);background:#fff;border:1.5px solid var(--ink);border-radius:10px;transition:box-shadow .2s}
.entry-content input:focus,.entry-content select:focus,.entry-content textarea:focus,.comment-form input:focus,.comment-form textarea:focus{outline:0;box-shadow:4px 4px 0 var(--pink)}
.entry-content label{font-weight:700}
.page-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2em;font-family:var(--f-mono);font-weight:700}
.page-links a,.page-links>span:not(.page-links-ttl){min-width:38px;height:38px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:10px;text-decoration:none;color:var(--ink)}
.page-links>span.current{background:var(--pink);border-color:var(--pink)}
.entry-foot{margin-top:48px;padding-top:24px;border-top:1px dashed #d8bfca}

/* 前後の記事 */
.post-navigation{margin-top:48px}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-navigation .nav-next{grid-column:2;text-align:right}
.post-navigation a{display:block;height:100%;padding:16px 20px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;transition:.3s var(--ease)}
.post-navigation a:hover{box-shadow:6px 6px 0 var(--pink);transform:translate(-3px,-3px)}
.post-navigation .nav-label{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:var(--pink-deep);font-weight:700}
.post-navigation .nav-title{display:block;margin-top:4px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}

/* コメント(簡素) */
.comments{margin-top:64px}
.comments-title,.comment-reply-title{display:flex;align-items:baseline;gap:12px;font-size:20px;font-weight:900;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:24px}
.comments-title .mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--pink-deep)}
.comment-reply-title small{margin-left:auto;font-size:13px;font-weight:700}
.comment-reply-title small a{color:var(--pink-deep);text-decoration:underline}
.comment-list,.comment-list .children{list-style:none;padding:0;margin:0}
.comment-list .children{margin-left:24px;border-left:2px solid var(--line);padding-left:16px}
.comment-body{padding:16px 18px;margin-bottom:14px;background:#fff;border:1.5px solid var(--line);border-radius:14px;font-size:15px}
.comment-author{font-weight:800}
.comment-author .says{display:none}
.comment-metadata,.comment-meta{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.comment-content{margin-top:8px}
.comment-content p+p{margin-top:.8em}
.reply a,.comment-edit-link{font-size:12px;font-weight:700;color:var(--pink-deep);text-decoration:underline}
.comment-respond{margin-top:40px}
.comment-form{display:grid;gap:14px;font-size:14px}
.comment-form label{display:block;font-weight:700;margin-bottom:4px}
.comment-form .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.comment-form .comment-form-cookies-consent label{font-weight:400;margin:0}
.comment-notes,.logged-in-as{color:var(--muted);font-size:13px}
.no-comments{color:var(--muted)}
.comment-navigation .nav-links{display:flex;justify-content:space-between;margin:16px 0;font-weight:700}

/* =========================================================
   Sidebar
   ========================================================= */
.sidebar{display:flex;flex-direction:column;gap:48px;min-width:0}
.w-title,.sidebar .widget>h2,.sidebar .wp-block-heading{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;letter-spacing:.12em;line-height:1.5;margin:0 0 16px}
.w-title .mono{font-family:var(--f-mono);font-size:10px;color:var(--muted);margin-left:auto;letter-spacing:.16em}
.w-empty{font-size:14px;color:var(--muted)}
.search{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:99px;padding:4px 4px 4px 18px;background:#fff;transition:box-shadow .3s}
.search:focus-within{box-shadow:4px 4px 0 var(--pink)}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:16px;color:var(--text);padding:6px 0}
.search input::placeholder{color:#7f7279}
.search button{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:var(--ink);color:var(--pink);cursor:pointer;display:grid;place-items:center}
.search button:hover{background:var(--pink);color:var(--ink)}
/* profile: 円から頭が飛び出すアイコン */
.profile{position:relative;background:var(--ink);color:#fff;border-radius:20px;padding:0 24px 24px;margin-top:40px;isolation:isolate}
.pf-visual{position:relative;width:184px;height:226px;margin:-40px auto 0}
.pf-visual::before{content:"";position:absolute;left:0;right:0;bottom:0;height:184px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 6px var(--ink)}
.pf-visual::after{content:"";position:absolute;right:-6px;top:58px;width:22px;height:20px;background:var(--lime);clip-path:polygon(50% 0,100% 100%,0 100%);transform:rotate(14deg)}
.pf-clip{position:absolute;left:0;right:0;bottom:0;top:0;border-radius:0 0 92px 92px;overflow:hidden}
.pf-clip .pose{position:absolute;left:50%;bottom:-4px;width:124%;transform:translateX(-50%)}
.profile .role{margin-top:16px;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--pink);text-align:center}
.profile .pf-name{font-size:26px;font-weight:900;line-height:1.3;text-align:center}
.profile .pf-name small{font-family:var(--f-mono);font-size:11px;color:#a99ea5;font-weight:400;margin-left:8px;letter-spacing:.1em}
.profile .bio{margin-top:12px;font-size:14px;line-height:1.85;color:#ddd3d9}
.likes{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.likes li{font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;gap:6px}
.poses-ttl{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:#a99ea5;display:flex;justify-content:space-between}
.poses{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.poses button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;color:#e9e1e6;cursor:pointer;font-size:11px;font-weight:700}
.poses .chip{position:relative;width:100%;aspect-ratio:1;border-radius:14px;background:var(--ink-3);overflow:hidden;transition:background .25s,transform .35s var(--spring)}
.poses .chip .pose{position:absolute;left:50%;bottom:-2px;height:94%;transform:translateX(-50%)}
.poses .chip .pose[data-pose=wink],.poses .chip .pose[data-pose=bust]{height:auto;width:104%;bottom:-6%}
.poses button:hover .chip,.poses button[aria-pressed=true] .chip{background:var(--pink);transform:translateY(-3px) rotate(-3deg)}
.poses button[aria-pressed=true]{color:var(--pink)}
.profile .sns{display:flex;gap:8px;margin-top:18px}
.profile .sns a{flex:1;text-align:center;font-family:var(--f-mono);font-size:11px;font-weight:700;padding:8px 0;border-radius:10px;background:var(--ink-3);letter-spacing:.06em;transition:.25s}
.profile .sns a:hover{background:var(--pink);color:var(--ink)}
/* categories */
.cats li a{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px 10px;padding:12px 2px;border-bottom:1px solid var(--line);font-weight:700;font-size:15px;transition:padding .3s var(--ease)}
.cats li:first-child a{border-top:1px solid var(--line)}
.cats li a:hover{padding-left:10px;color:var(--pink-deep)}
.cats .n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.cats .bar{grid-column:2/4;height:3px;background:var(--line);border-radius:3px;overflow:hidden}
.cats .bar i{display:block;height:100%;width:var(--v);background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s var(--ease),background .3s}
.cats.in .bar i{transform:scaleX(1)}
.cats li a:hover .bar i{background:var(--pink)}
/* tags (テーマ独自 + ブロックのタグクラウド) */
.tags,.tagcloud,.wp-block-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.tags a,.tagcloud a,.wp-block-tag-cloud a{font-size:13px!important;font-weight:700;padding:6px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);transition:.25s var(--ease);text-decoration:none;color:var(--text)}
.tags a::before,.tagcloud a::before,.wp-block-tag-cloud a::before{content:"#";color:var(--pink-deep);margin-right:2px}
.tags a.l{font-size:15px!important;padding:7px 14px;background:var(--ink);color:#fff;border-color:var(--ink)}
.tags a.l::before{color:var(--pink)}
.tags a:hover,.tagcloud a:hover,.wp-block-tag-cloud a:hover{background:var(--pink);border-color:var(--pink);color:var(--ink);transform:translateY(-2px) rotate(-2deg)}
.tags a:hover::before,.tagcloud a:hover::before,.wp-block-tag-cloud a:hover::before{color:var(--ink)}
/* ひとことメモ */
.memo{position:relative;background:var(--pink-soft);border-radius:4px 18px 18px 18px;padding:20px 22px;font-size:14px;line-height:1.85;font-weight:600}
.memo::before{content:"LIME'S MEMO";position:absolute;top:-10px;left:0;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;background:var(--ink);color:var(--pink);padding:2px 8px;border-radius:3px}
/* 標準ウィジェット / ブロックウィジェットの最低限 */
.sidebar .widget ul:not(.cats):not(.likes):not(.wp-block-social-links) li{border-bottom:1px solid var(--line)}
.sidebar .widget ul:not(.cats):not(.likes):not(.wp-block-social-links) li a{display:block;padding:10px 2px;font-weight:700;font-size:14.5px;transition:color .2s,padding .3s var(--ease)}
.sidebar .widget ul:not(.cats):not(.likes):not(.wp-block-social-links) li a:hover{color:var(--pink-deep);padding-left:8px}
.sidebar .widget ul ul{margin-left:1em}
.sidebar .wp-block-search__inside-wrapper{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:99px;padding:4px 4px 4px 18px;background:#fff}
.sidebar .wp-block-search__input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:16px}
.sidebar .wp-block-search__button{border:0;border-radius:99px;background:var(--ink);color:var(--pink);font-weight:700;padding:8px 14px;cursor:pointer;margin:0}
.sidebar .wp-block-search__label{display:block;font-size:13px;font-weight:900;letter-spacing:.12em;margin-bottom:10px}
.sidebar :where(.widget_text,.widget_block) p{font-size:14px}

/* =========================================================
   Footer (ふちに手をかけて、ウインクで覗く)
   ========================================================= */
.site-footer{position:relative;background:var(--ink);color:#d8ced4;padding-top:96px;border-top:6px solid var(--pink)}
.ft-peek{position:absolute;right:max(32px,calc((100vw - var(--wrap))/2 + 60px));bottom:100%;width:210px;height:220px;overflow:hidden;pointer-events:none;margin-bottom:-14px}
.ft-peek .pose{position:absolute;left:0;right:0;bottom:0;transform:translateY(102%);transition:transform .9s var(--spring)}
.site-footer.in .ft-peek .pose{transform:none}
.ft-say{position:absolute;right:calc(max(32px,calc((100vw - var(--wrap))/2 + 60px)) + 200px);bottom:calc(100% + 120px);background:#fff;color:var(--ink);border:1.5px solid var(--ink);
  font-size:13.5px;font-weight:800;line-height:1.6;padding:10px 14px;border-radius:16px 16px 4px 16px;box-shadow:4px 4px 0 var(--pink);
  opacity:0;transform:translateY(8px) scale(.95);transition:.5s .7s var(--spring);white-space:nowrap}
.site-footer.in .ft-say{opacity:1;transform:none}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.12)}
.ft-bye{font-size:24px;font-weight:900;color:#fff;line-height:1.5}
.ft-bye em{font-style:normal;color:var(--pink)}
.ft-desc{margin-top:12px;font-size:14px;color:#b7abb2;max-width:22em}
.ft-col h2{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--pink);margin-bottom:14px;font-weight:700}
.ft-col li a{display:inline-block;padding:5px 0;font-size:14px;font-weight:600;transition:color .2s,transform .3s var(--ease)}
.ft-col li a:hover{color:var(--pink);transform:translateX(4px)}
.wordmark{font-family:var(--f-disp);font-weight:900;font-size:clamp(52px,11.4vw,168px);line-height:.82;letter-spacing:-.05em;color:var(--pink);white-space:nowrap;
  margin:48px 0 0 -.04em;display:flex;align-items:flex-end;gap:.18em;overflow:hidden}
.wordmark span{display:inline-block;transition:transform .5s var(--ease)}
.wordmark:hover span:nth-child(odd){transform:translateY(-.06em)}
.wordmark .o{color:transparent;-webkit-text-stroke:2px var(--pink)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 28px;font-family:var(--f-mono);font-size:11px;color:#8f838a;letter-spacing:.08em;border-top:1px solid rgba(255,255,255,.12)}
.totop{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700}
.totop:hover{color:var(--pink)}

/* =========================================================
   追従ライム: 見ている場所でポーズが変わる
   ========================================================= */
.guide{position:fixed;right:18px;bottom:0;z-index:40;display:flex;align-items:flex-end;gap:4px;pointer-events:none;
  transform:translateY(110%);transition:transform .6s var(--spring)}
.guide.show{transform:none}
.guide-msg{position:relative;margin-bottom:58px;max-width:230px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;line-height:1.6;padding:10px 30px 10px 14px;
  border-radius:16px 16px 4px 16px;box-shadow:4px 4px 0 var(--pink);pointer-events:auto;transition:opacity .3s,transform .3s var(--ease)}
.guide-msg span{display:block;transition:opacity .2s,transform .2s}
.guide-msg span.swap{opacity:0;transform:translateY(4px)}
.guide-x{position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#a99ea5;cursor:pointer;font-size:14px;line-height:1}
.guide-x:hover{color:var(--pink)}
.guide.min .guide-msg{opacity:0;transform:translateX(10px);pointer-events:none}
.guide-char{position:relative;width:118px;height:150px;border:0;padding:0;background:none;cursor:pointer;pointer-events:auto}
.guide-char .pose{position:absolute;left:50%;bottom:0;height:140px;translate:-50% 0;filter:drop-shadow(5px 3px 0 var(--pink));
  opacity:0;transform:translateY(30px) scale(.8) rotate(6deg);transform-origin:50% 100%;transition:opacity .25s,transform .45s var(--spring)}
.guide-char .pose[data-pose=bust]{height:118px}
.guide-char .pose[data-pose=wink]{height:112px}
.guide-char .pose.on{opacity:1;transform:none}
.guide-char:hover .pose.on{transform:translateY(-4px) rotate(-3deg)}
.no-js .guide{display:none}

/* reveal */
.js .rv{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1180px){
  .layout{grid-template-columns:minmax(0,1fr) 290px;gap:44px}
  .post.feature{grid-template-columns:1fr;gap:24px}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px}
  .say{left:-40px}
  .entry{--pad:40px}
}
@media (max-width:900px){
  .wrap{padding-inline:24px}
  .gnav,.hdr-search,.hdr-search-panel{display:none}
  .menu-btn{display:block}
  .nav-open .gnav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--ink);padding:8px 24px 24px;border-bottom:2px solid var(--pink);max-height:calc(100vh - 58px);overflow-y:auto}
  .nav-open .gnav-list{flex-direction:column;gap:0}
  .nav-open .gnav-list a{font-size:18px;padding:14px 8px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav-open .gnav-list a[aria-current]{border-radius:8px}
  .nav-open .gnav-search{display:block;margin-top:18px}
  .hdr,.scrolled .hdr{height:58px}
  .hero-inner{grid-template-columns:1fr;gap:0;padding-top:0}
  .hero-copy{padding:48px 0 28px}
  .cover{width:min(440px,100%);justify-self:center;margin-top:84px}
  .layout{grid-template-columns:1fr;padding-top:96px;padding-bottom:120px}
  .sidebar{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}
  .sidebar>.w-search,.sidebar>.w-profile,.sidebar>.widget_search,.sidebar>.widget_block{grid-column:1/-1}
  .sidebar>.w-profile{max-width:440px;width:100%;justify-self:center}
  .footer-top{grid-template-columns:1fr 1fr}
  .ft-intro{grid-column:1/-1}
  .page-head-inner{grid-template-columns:minmax(0,1fr) 170px;min-height:240px;padding-top:40px}
  .page-head-char{height:180px}
}
@media (max-width:782px){
  .admin-bar .site-header,.admin-bar .progress{top:46px}
}
@media (max-width:600px){
  .admin-bar .site-header,.admin-bar .progress{top:0}
}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{padding-inline:16px}
  .hdr{gap:12px}
  .logo{gap:10px}
  .logo-txt b{font-size:15px}
  .logo-mark{width:34px;height:34px}
  .nav-open .gnav{padding-inline:16px}
  .hero h1{font-size:clamp(40px,12.4vw,56px)}
  .lead{font-size:15px}
  .stats{gap:22px}
  .cover{margin-top:70px}
  .masthead{font-size:27vw}
  .say{left:auto;right:-6px;top:auto;bottom:calc(100% + 6px);max-width:min(300px,calc(100vw - 40px));width:max-content;font-size:12.5px;padding:9px 13px;border-radius:16px 16px 16px 4px}
  .say small{display:none}
  .cover-lines{font-size:11px;left:10px;bottom:10px;right:84px}
  .barcode{right:10px;bottom:10px}
  .sec-head{padding-right:100px}
  .sec-no{font-size:46px}
  .sec-head h2{font-size:21px}
  .sec-head .more b{display:none}
  .pointer{width:86px}
  .pointer-say{right:72px;top:-30px;font-size:11.5px}
  .posts{grid-template-columns:1fr;gap:56px}
  .posts.has-feature .post:nth-child(odd):not(:first-child),.posts:not(.has-feature) .post:nth-child(even){margin-top:0}
  .post.feature{padding-bottom:48px}
  .post.feature .post-title{font-size:22px}
  .post-title{font-size:18px}
  .peek{width:80px;height:82px}
  .post.feature .peek{width:96px;height:98px;right:20px}
  .pager-wrap{margin-top:72px}
  .pager{gap:6px}
  .pager a,.pager>span{min-width:40px;height:40px}
  .sidebar{grid-template-columns:1fr}
  .footer-top{gap:32px 20px}
  .site-footer{padding-top:80px}
  .ft-peek{right:16px;width:150px;height:158px;margin-bottom:-10px}
  .ft-say{right:150px;bottom:calc(100% + 70px);font-size:12.5px}
  .ft-bottom{flex-direction:column;align-items:flex-start}
  .guide{right:6px}
  .guide-msg{max-width:180px;font-size:12px;margin-bottom:44px;padding:9px 28px 9px 12px}
  .guide-char{width:84px;height:112px}
  .guide-char .pose{height:104px}
  .guide-char .pose[data-pose=bust]{height:88px}
  .guide-char .pose[data-pose=wink]{height:84px}
  .page-head-inner{grid-template-columns:minmax(0,1fr) 96px;gap:12px;min-height:0;padding-top:32px}
  .page-head-copy{padding-bottom:32px}
  .page-head-char{height:120px}
  .page-title{font-size:clamp(24px,7vw,30px)}
  .page-head+.layout{padding-top:40px}
  .entry{--pad:18px;padding:28px var(--pad) 36px;border-radius:14px;box-shadow:5px 5px 0 var(--pink-soft)}
  .entry-eyecatch{margin-top:-28px;margin-bottom:28px;border-radius:12px 12px 0 0}
  .entry-content{font-size:16px;line-height:1.95}
  .entry-content h2{font-size:19px}
  .entry-content h3{font-size:17.5px}
  .entry-content .alignleft,.entry-content .alignright{float:none;margin:1.5em auto 0;max-width:100%}
  .entry-content .alignwide{margin-inline:0}
  .post-navigation .nav-links{grid-template-columns:1fr}
  .post-navigation .nav-next{grid-column:1}
  .none{flex-direction:column;text-align:center;padding:28px 18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .ticker-track{animation:none}
  .ticker{overflow-x:auto}
}
