:root{--bg:#f8f7f4;--ink:#252521;--sub:#77766e;--line:#e5e3dc;--accent:#b84e33;--card:#fff;--font:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1100px,calc(100% - 48px));margin:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-1.3px;font-size:24px;line-height:1;white-space:nowrap}.brand span{font-weight:400}.brand i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-left:3px}.header-side{display:flex;align-items:center;gap:26px;font-size:11px}.header-note{color:var(--sub)}.header-side a,.side-card a{border-bottom:1px solid currentColor}.intro{padding:82px 0 82px;border-bottom:1px solid var(--line)}.eyebrow{font:700 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:2px}.eyebrow.muted{color:var(--sub)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:9px}.intro h1{font-size:clamp(39px,5.8vw,76px);letter-spacing:-.075em;line-height:1.25;margin:24px 0 23px;font-weight:800}.intro h1 em{font-style:normal;color:var(--accent)}.intro p{color:#626159;font-size:14px;line-height:2.1;margin:0}.content{padding:60px 0 100px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:16px}.section-top h2{font-size:25px;letter-spacing:-.04em;margin:8px 0 0}.updated{font-size:11px;color:var(--sub)}.tabs{display:flex;gap:8px;overflow-x:auto;padding:28px 0 24px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:12px;color:#69685f}.tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.tab:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;align-items:start}.posts{display:grid;gap:12px}.post{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:25px 27px}.post-top{display:flex;align-items:center;gap:12px;margin-bottom:13px}.rank{font:700 24px/1 Arial,Helvetica,sans-serif;color:var(--accent);letter-spacing:-1px}.category{font-size:10px;color:var(--sub);background:#f3f2ee;padding:3px 9px;border-radius:2px}.post h3{font-size:19px;letter-spacing:-.04em;line-height:1.55;margin:0 0 10px}.post p{color:#64635d;margin:0 0 16px;line-height:1.9}.post time{color:var(--sub);font-size:11px}.post .embed{max-width:550px;margin:18px auto 4px}.post .source-link{font-size:12px;color:var(--accent);display:inline-block;margin-top:12px}.side-card{background:#efeee9;padding:26px 24px;margin-bottom:14px}.side-card h3{font-size:18px;letter-spacing:-.04em;line-height:1.6;margin:16px 0}.side-card p{color:#68675f;font-size:12px;margin:0 0 17px}.side-card a{font-size:12px}.side-card.slim{background:transparent;border:1px solid var(--line)}.side-card.slim p{margin:13px 0 0}.empty,.loading{background:#fff;border:1px solid var(--line);padding:55px 28px;text-align:center;color:var(--sub)}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:10px}.empty p{margin:0;font-size:13px}.info-page{max-width:760px;padding:70px 0 120px}.info-page h1{font-size:36px;letter-spacing:-.05em}.info-page h2{font-size:19px;margin-top:36px}.info-page p,.info-page li{color:#5c5b54}footer{border-top:1px solid var(--line)}.footer-inner{min-height:105px;display:flex;align-items:center;gap:30px}.brand.small{font-size:18px}.footer-inner nav{display:flex;gap:20px;font-size:11px;margin-left:auto}.footer-inner>span:last-child{font:11px Arial;color:var(--sub)}@media(max-width:750px){.shell{width:min(100% - 36px,560px)}.header-inner{height:68px}.header-note{display:none}.header-side{font-size:10px}.intro{padding:62px 0 64px}.intro h1{font-size:clamp(38px,10vw,56px)}.intro p{font-size:12px}.content{padding:44px 0 75px}.section-top h2{font-size:21px}.main-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr;gap:12px}.side-card{margin:0}.post{padding:21px 18px}.post h3{font-size:17px}.footer-inner{padding:25px 0;min-height:0;flex-wrap:wrap;gap:16px}.footer-inner nav{margin-left:auto}.footer-inner>span:last-child{width:100%}}
