/* bboy-blog.com v2 template (bb) */
:root{--bg:#f5f5f2;--card:#fff;--ink:#17181d;--muted:#5d6068;--line:#e2e2dc;--acc:#5b2a9a;--acc-h:#3f1a70;--lime:#d2df00;--soft:#f0ecf7;--limesoft:#f6f8d9;--w:1140px;--r:12px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 -apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--acc)}
a:hover{color:var(--acc-h)}
.w{max-width:var(--w);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:8px;top:8px;background:#fff;padding:6px 10px;z-index:10}
/* header: static, never sticky */
.hd{background:var(--ink);color:#fff;position:static;border-bottom:4px solid var(--lime)}
.hd .w{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;min-width:0}
.brand svg{flex:0 0 auto}
.brand b{display:block;font-size:21px;line-height:1.15;letter-spacing:.3px}
.brand small{display:block;color:#c9cbd2;font-size:13px;line-height:1.3}
.brand:hover{color:#fff}
.nav{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.nav a{display:inline-block;padding:6px 11px;border-radius:8px;text-decoration:none;color:#fff;font-size:15px;line-height:1.3;border:1px solid #3a3c45}
.nav a:hover,.nav a[aria-current]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
@media (max-width:880px){.nav{margin-left:0;width:100%}.nav a{font-size:14px;padding:6px 9px}}
main{padding:18px 0 40px}
.bc{font-size:14px;color:var(--muted);margin:4px 0 14px;display:flex;flex-wrap:wrap;gap:4px 6px}
.bc a{color:var(--muted)}
.bc .cur{color:var(--ink)}
h1{font-size:34px;line-height:1.2;margin:6px 0 14px;letter-spacing:-.3px}
h2{font-size:26px;line-height:1.25;margin:34px 0 12px}
h3{font-size:20px;line-height:1.3;margin:24px 0 8px}
h4{font-size:18px;line-height:1.3;margin:20px 0 8px}
@media (max-width:600px){h1{font-size:27px}h2{font-size:22px}h3{font-size:18px}body{font-size:16px}}
.layout{display:block}
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 28px 28px;max-width:880px}
@media (max-width:600px){.post{padding:16px 14px 22px;border-radius:10px}}
.post p,.post li{margin:0 0 12px}
.post ul,.post ol{padding-left:22px;margin:0 0 14px}
.post blockquote{margin:18px 0;padding:12px 16px;background:var(--limesoft);border-left:4px solid var(--lime);border-radius:8px;font-style:italic}
.post blockquote p:last-child{margin-bottom:0}
.meta{color:var(--muted);font-size:14px;margin:-6px 0 14px;display:flex;flex-wrap:wrap;gap:4px 14px}
.meta a{color:var(--muted)}
figure{margin:18px 0}
figure picture{display:block;max-width:100%}
figure img{border-radius:10px;width:100%;max-width:100%}
figure.sm img{width:auto;max-width:min(100%,640px)}
figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.tw{overflow-x:auto;margin:16px 0;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:460px}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--soft)}
.yt{position:relative;aspect-ratio:16/9;background:#111;border-radius:10px;overflow:hidden;margin:18px 0}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rel{max-width:880px}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:16px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card a.im{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.card a.im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .tx{padding:12px 14px 14px}
.card .rb{display:inline-block;font-size:12px;letter-spacing:.3px;background:var(--limesoft);color:#4a4f00;border-radius:6px;padding:1px 7px;margin-bottom:6px}
.card h3{font-size:18px;margin:0 0 6px}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--acc)}
.card p{font-size:15px;color:var(--muted);margin:0}
.hero{background:linear-gradient(135deg,#f3f6cf,#efe8fa);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin-bottom:8px}
.hero p{max-width:820px}
.hero p:last-child{margin-bottom:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;padding:0;list-style:none}
.chips li{margin:0}
.chips a{display:inline-block;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:15px}
.more{margin:6px 0 0;font-weight:600}
.txt{max-width:880px}
.txt ul,.txt ol{padding-left:22px}
.list{padding-left:20px;columns:2 320px;column-gap:28px}
.list li{margin:0 0 6px;break-inside:avoid}
.legal{max-width:880px}
/* footer */
.ft{background:var(--ink);color:#d3d5db;margin-top:20px;font-size:15px;border-top:4px solid var(--lime)}
.ft .w{padding-top:26px;padding-bottom:22px}
.ft a{color:#e6e8ff}
.ft .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
@media (max-width:800px){.ft .cols{grid-template-columns:1fr}}
.ft nav a{display:block;margin:4px 0}
.ft b{color:#fff}
.ft .bot{border-top:1px solid #34363f;margin-top:18px;padding-top:12px;font-size:13px;color:#a7aab3}
.credit{font-size:12px;color:var(--muted);margin-top:4px}.credit a{color:var(--muted)}
