:root{--ink:#333631;--ink-2:#4a4d47;--ink-3:#6b6f68;--ink-4:#9ea29c;--paper:#fdfdfd;--paper-2:#f4f4f3;--paper-3:#e9e9e7;--rule:#e2e2e0;--accent:oklch(0.65 0.22 145);--accent-soft:oklch(0.94 0.04 145);--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",system-ui,sans-serif;--serif:var(--sans);--mono:var(--sans);--pad-x:20px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"palt";line-height:1.7;font-size:17px}::selection{background:var(--ink);color:var(--paper)}.container{max-width:1280px;margin:0 auto;padding:0 var(--pad-x)}.mono{font-family:var(--mono);letter-spacing:.04em}.serif{font-family:var(--serif)}.rule{height:1px;background:var(--rule);border:0}.eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3)}button{cursor:pointer}button,input,select{font-family:inherit}a{color:inherit;text-decoration:none}.ph{position:relative;background:repeating-linear-gradient(135deg,var(--paper-2) 0 10px,var(--paper-3) 10px 11px);overflow:hidden}.ph,.ph:after{border:1px solid var(--rule)}.ph:after{content:attr(data-label);position:absolute;inset:auto 8px 6px auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);background:var(--paper);padding:2px 6px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .35s ease both}@keyframes hsFill{0%{width:0}to{width:100%}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--paper) 94%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule)}.site-header .row{display:flex;align-items:center;gap:12px;height:56px}.brand{display:flex;align-items:baseline;gap:6px;font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:-.01em}.brand .brand-sub{font-size:.6em;font-weight:500;letter-spacing:.02em;color:var(--ink-3)}.brand sup{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:var(--ink-3);text-transform:uppercase;transform:translateY(-7px);display:none}.brand .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:2px;transform:translateY(-2px)}nav.primary{display:none;gap:18px;margin-left:20px}nav.primary a{font-size:15px;color:var(--ink-2);padding:6px 0;border-bottom:1px solid transparent}nav.primary a:hover{color:var(--ink);border-bottom-color:var(--ink)}.header-spacer{flex:1 1}.icon-btn{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0;transition:background .15s,color .15s}.icon-btn:hover{background:var(--paper-2)}.cta{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:8px 14px;font-size:14px;font-weight:500;letter-spacing:.02em;white-space:nowrap}.cta:hover{background:var(--ink-2)}.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:8px 14px;font-size:14px;white-space:nowrap;display:none}.ghost:hover{background:var(--ink);color:var(--paper)}.hero-slider{padding:28px 0 36px;border-bottom:1px solid var(--rule)}.hs-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.hs-count{font-size:14px;color:var(--ink);font-weight:600}.hs-stage{position:relative;min-height:360px}.hs-slide{display:none;grid-template-columns:1fr;gap:20px}.hs-slide.on{display:grid;animation:fadeUp .4s ease both}.hs-img{aspect-ratio:16/10;width:100%}.hs-body{display:flex;flex-direction:column;gap:14px}.hs-meta{display:flex;gap:8px;font-size:11px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}.hs-meta .hs-step{color:var(--accent);font-weight:600}.hs-title{font-family:var(--serif);font-weight:600;font-size:clamp(26px,5.5vw,34px);line-height:1.28;letter-spacing:-.015em;margin:0;color:var(--ink);text-wrap:pretty;cursor:pointer}.hs-title:hover{color:var(--accent)}.hs-dek{font-size:16px;color:var(--ink-2);margin:0;text-wrap:pretty}.hs-author{gap:8px;font-size:14px;color:var(--ink-2);flex-wrap:wrap}.hs-author,.hs-controls{display:flex;align-items:center}.hs-controls{justify-content:space-between;margin-top:24px;gap:16px}.hs-dots{display:flex;gap:6px;flex:1 1;max-width:320px}.hs-dot{background:transparent;border:0;padding:8px 0;flex:1 1;cursor:pointer}.hs-dot .bar{display:block;height:2px;background:var(--rule);position:relative;overflow:hidden}.hs-dot.on .bar{background:var(--paper-3)}.hs-dot .fill{position:absolute;left:0;top:0;height:100%;background:var(--ink);animation-duration:6s;animation-timing-function:linear;animation-fill-mode:forwards;width:0}.hs-dot.on .fill{animation-name:hsFill}.hs-arrows{display:flex;gap:6px}.stepnav-wrap{background:var(--paper);border-bottom:1px solid var(--rule)}.stepnav-head{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:28px 0 16px}.stepnav-head h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:4px 0 0;letter-spacing:-.01em}.stepnav-head .helper{font-size:13px;color:var(--ink-3);line-height:1.5}.stepnav{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:28px}.stepnav button{background:transparent;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left;padding:14px 12px 16px;display:flex;flex-direction:column;gap:4px;position:relative;transition:background .15s;min-height:84px}.stepnav button:nth-child(2n){border-right:0}.stepnav button:nth-last-child(-n+2){border-bottom:0}.stepnav button:hover{background:var(--paper-2)}.stepnav button.active{background:var(--ink);color:var(--paper)}.stepnav .sn{font-family:var(--mono);font-size:11px;letter-spacing:.18em;opacity:.7}.stepnav .sl{font-family:var(--serif);font-size:17px;font-weight:500}.stepnav .sc{font-size:11px;color:var(--ink-3);line-height:1.4}.stepnav button.active .sc{color:rgba(253,253,253,.7)}.stepnav button .progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--accent);width:0;transition:width .3s}.stepnav button.active .progress{width:100%}.controls{padding:4px 0 16px;display:flex;flex-direction:column;gap:12px}.searchbox{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);background:var(--paper);padding:0 12px;height:44px}.searchbox input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font-size:16px;color:var(--ink)}.searchbox input::placeholder{color:var(--ink-4)}.searchbox .kbd{font-family:var(--mono);font-size:11px;color:var(--ink-3);border:1px solid var(--rule);padding:2px 6px;cursor:pointer;flex-shrink:0;display:none}.controls .sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3)}.sort select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--paper);border:1px solid var(--ink);padding:10px 32px 10px 12px;font-family:inherit;font-size:15px;color:var(--ink);background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 16px),calc(100% - 10px);background-size:6px 6px;background-repeat:no-repeat;cursor:pointer;flex:1 1}.filterrow{display:flex;flex-direction:column;gap:16px;padding:8px 0 20px;border-bottom:1px solid var(--rule)}.filtergroup{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filtergroup .lbl{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3);width:100%;margin-bottom:2px}.chip{font-size:14px;border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);padding:6px 11px;transition:all .15s}.chip:hover{color:var(--ink)}.chip.on,.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);color:var(--paper)}.chip .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;transform:translateY(-1px)}.seg{display:inline-flex;border:1px solid var(--ink)}.seg button{border:0;background:var(--paper);color:var(--ink);font-size:14px;padding:6px 12px;border-right:1px solid var(--ink)}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:var(--paper)}.resultbar{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0 12px}.resultbar .count{font-family:var(--mono);font-size:13px;color:var(--ink-3)}.resultbar .count b{color:var(--ink);font-weight:600}.clearlink{font-size:14px;color:var(--ink-3);padding:0 0 2px;background:transparent;border:0;border-bottom:1px solid var(--rule)}.clearlink:hover{color:var(--accent);border-bottom-color:var(--accent)}.featured{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;padding:8px 0 40px;border-bottom:1px solid var(--rule);margin-bottom:40px}.featured .ph{aspect-ratio:16/10}.featured .meta{display:flex;gap:10px;font-size:11px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;flex-wrap:wrap}.featured .meta .step{color:var(--accent)}.featured h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,4.5vw,34px);line-height:1.28;letter-spacing:-.015em;margin:0 0 16px;text-wrap:pretty}.featured h2:hover{color:var(--accent);cursor:pointer}.featured .dek{font-size:16px;color:var(--ink-2);margin:0 0 20px}.author{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);flex-wrap:wrap}.avatar{width:28px;height:28px;border-radius:50%;background:var(--paper-3);border:1px solid var(--rule);display:inline-grid;place-items:center;font-family:var(--serif);font-size:14px;color:var(--ink)}.grid{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;border-top:1px solid var(--rule)}.card{border-bottom:1px solid var(--rule);padding:22px 0;display:flex;flex-direction:column;cursor:pointer;position:relative;background:var(--paper);transition:background .15s}.card-link{position:absolute;inset:0;z-index:1}.card .fav,.slide-card .fav{position:relative;z-index:2}.card:hover{background:var(--paper-2)}.card:hover .title{color:var(--accent)}.card .topline{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.card .step-badge{letter-spacing:.16em;color:var(--ink);border:1px solid var(--ink);padding:3px 6px}.card .cat,.card .step-badge{font-family:var(--mono);font-size:11px}.card .cat{letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.card .cat .dot{width:6px;height:6px;border-radius:50%}.card .tag{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent)}.card .title{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.45;letter-spacing:-.005em;color:var(--ink);text-wrap:pretty;margin:0 0 10px;transition:color .15s}.card .dek{font-size:15px;color:var(--ink-2);line-height:1.65;margin:0 0 16px;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .foot{justify-content:space-between;font-size:13px;color:var(--ink-3)}.card .foot,.card .foot .left{display:flex;align-items:center}.card .foot .left{gap:8px}.card .fav{width:28px;height:28px;border:1px solid var(--rule);background:transparent;display:inline-grid;place-items:center;color:var(--ink-3)}.card .fav.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.card .fav:hover{border-color:var(--ink);color:var(--ink)}.card .fav.on:hover{color:var(--paper)}.empty{grid-column:1/-1;text-align:center;padding:60px 16px;color:var(--ink-3)}.empty h3{font-family:var(--serif);color:var(--ink);margin:12px 0;font-weight:500}.sec-slider{padding:28px 0;border-bottom:1px solid var(--rule)}.sec-slider:last-of-type{border-bottom:0}.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.sec-title h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.3;letter-spacing:-.01em;margin:6px 0 0}.sec-title .sec-count{font-family:var(--mono);font-size:14px;color:var(--ink-4);margin-left:8px;font-weight:400;letter-spacing:.06em}.sec-sub{margin:6px 0 0;font-size:14px;color:var(--ink-3);max-width:48ch}.sec-nav{display:flex;gap:6px;flex-shrink:0}.sec-nav .icon-btn:disabled{opacity:.35;cursor:not-allowed}.sec-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin:0 calc(var(--pad-x) * -1);padding-left:var(--pad-x);padding-right:var(--pad-x)}.sec-track::-webkit-scrollbar{display:none}.slide-card{flex:0 0 280px;scroll-snap-align:start;background:var(--paper);border:1px solid var(--rule);display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s,transform .2s;position:relative}.slide-card:hover{border-color:var(--ink)}.slide-card:hover .slide-title{color:var(--accent)}.slide-thumb{position:relative;aspect-ratio:4/3;border-bottom:1px solid var(--rule)}.slide-thumb-overlay{position:absolute;top:10px;left:10px;display:flex;gap:6px;align-items:center}.slide-step{background:var(--ink);color:var(--paper);padding:3px 6px}.slide-step,.slide-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em}.slide-tag{background:var(--paper);color:var(--accent);border:1px solid var(--accent);padding:2px 5px}.slide-thumb-mark{position:absolute;bottom:10px;right:10px;font-size:11px;letter-spacing:.12em;background:var(--paper);color:var(--ink-3);border:1px solid var(--rule);padding:2px 6px}.slide-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1 1}.slide-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px}.slide-meta .cat{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.slide-meta .cat .dot{width:6px;height:6px;border-radius:50%}.slide-title{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.45;color:var(--ink);text-wrap:pretty;transition:color .15s;-webkit-line-clamp:3}.slide-dek,.slide-title{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.slide-dek{font-size:14px;color:var(--ink-2);line-height:1.6;flex:1 1;-webkit-line-clamp:2}.slide-foot{justify-content:space-between;font-size:13px;color:var(--ink-2);padding-top:10px;border-top:1px solid var(--rule)}.slide-foot,.slide-foot .left{display:flex;align-items:center}.slide-foot .left{gap:8px}.slide-foot .fav{width:26px;height:26px;border:1px solid var(--rule);background:transparent;display:inline-grid;place-items:center;color:var(--ink-3)}.slide-foot .fav.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.slide-foot .fav:hover{border-color:var(--ink);color:var(--ink)}.slide-foot .fav.on:hover{color:var(--paper)}.sections-wrap{padding:8px 0 32px}.news{background:var(--ink);color:var(--paper);padding:56px 0;margin-top:56px}.news .row{display:flex;flex-direction:column;gap:28px}.news h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.35;margin:0;letter-spacing:-.01em}.news p{color:rgba(253,253,253,.7);margin:12px 0 0;font-size:15px}.news form{display:flex;gap:0;align-items:stretch}.news input{flex:1 1;min-width:0;background:transparent;border:1px solid rgba(253,253,253,.3);border-right:0;color:var(--paper);padding:12px 14px;font-size:16px;outline:none}.news input::placeholder{color:rgba(253,253,253,.4)}.news input:focus{border-color:var(--paper)}.news button{background:var(--paper);color:var(--ink);border:1px solid var(--paper);padding:0 18px;font-size:15px;font-weight:500;white-space:nowrap}.news button:hover{background:var(--accent-soft)}footer.site{background:var(--paper-2);padding:48px 0 24px;color:var(--ink-2);font-size:15px}footer.site .cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px 24px;gap:32px 24px}footer.site .col-brand{grid-column:1/-1}footer.site h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin:0 0 12px;font-weight:500}footer.site ul{list-style:none;padding:0;margin:0;gap:8px}footer.site .copy,footer.site ul{display:flex;flex-direction:column}footer.site .copy{margin-top:32px;padding-top:20px;border-top:1px solid var(--rule);gap:6px;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}.modal-bg{position:fixed;inset:0;background:color-mix(in oklab,var(--ink) 35%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:130;display:flex;flex-direction:column;align-items:center;padding-top:60px;overflow-y:auto;animation:fadeUp .2s ease both}.modal{background:var(--paper);width:min(720px,94vw);border:1px solid var(--ink);box-shadow:0 30px 80px -20px rgba(51,54,49,.4);margin-bottom:40px}.modal-head{display:flex;align-items:center;padding:0 14px;height:56px;border-bottom:1px solid var(--rule);gap:10px}.modal-head input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font-size:18px;font-family:var(--serif);color:var(--ink)}.modal-head input::placeholder{color:var(--ink-4)}.modal-body{padding:14px;max-height:480px;overflow:auto}.modal-section{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;padding:10px 4px 6px}.modal-hit{display:grid;grid-template-columns:56px 1fr;grid-gap:10px;gap:10px;align-items:center;padding:10px 6px;cursor:pointer}.modal-hit:hover{background:var(--paper-2)}.modal-hit .mh-step{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.12em}.modal-hit .mh-title{font-family:var(--serif);font-size:16px;color:var(--ink);line-height:1.4}.modal-hit .mh-meta{grid-column:2}.modal-foot,.modal-hit .mh-meta{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.08em}.modal-foot{display:flex;gap:14px;padding:12px 14px;border-top:1px solid var(--rule);flex-wrap:wrap}.modal-foot .kbd{border:1px solid var(--rule);padding:2px 6px}@media (min-width:720px){:root{--pad-x:28px}body{font-size:17.5px}.site-header .row{height:60px;gap:18px}.brand{font-size:26px}.ghost{display:inline-flex}.hero-slider{padding:40px 0 48px}.hs-head{margin-bottom:20px}.hs-slide{grid-template-columns:1.25fr 1fr;gap:32px;align-items:center}.hs-img{aspect-ratio:4/3}.hs-title{font-size:clamp(30px,4vw,44px)}.hs-dek{font-size:17px}.stepnav-head{flex-direction:row;justify-content:space-between;align-items:end;padding:36px 0 18px}.stepnav-head h2{font-size:24px}.stepnav{grid-template-columns:repeat(4,1fr)}.stepnav button{padding:16px 14px 18px;min-height:100px}.stepnav button:nth-child(2n){border-right:1px solid var(--rule)}.stepnav button:nth-child(4n){border-right:0}.stepnav button:nth-last-child(-n+2){border-bottom:1px solid var(--rule)}.stepnav button:nth-last-child(-n+3):nth-child(n+5){border-bottom:0}.stepnav .sl{font-size:18px}.stepnav .sc{font-size:13px}.controls{flex-direction:row;align-items:center;gap:14px;padding:8px 0 20px}.searchbox{flex:1 1;height:46px}.searchbox .kbd{display:inline-block}.sort select{flex:0 0 auto}.filterrow{flex-direction:row;flex-wrap:wrap;gap:20px;align-items:center}.filtergroup .lbl{width:auto;margin-bottom:0}.featured{grid-template-columns:1.3fr 1fr;gap:40px;padding:8px 0 48px;margin-bottom:48px;align-items:center}.featured .ph{aspect-ratio:4/3}.featured .dek{font-size:17px}.grid{grid-template-columns:repeat(2,1fr)}.card{padding:26px 22px;border-right:1px solid var(--rule)}.card:nth-child(2n){border-right:0;padding-right:0}.card:nth-child(odd){padding-left:0}.card .title{font-size:20px}.news{padding:72px 0}.news .row{flex-direction:row;gap:56px;align-items:center}.news .row>div{flex:1 1}.news h3{font-size:34px}.sec-slider{padding:36px 0}.sec-title h3{font-size:26px}.slide-card{flex:0 0 320px}footer.site{padding:64px 0 32px}footer.site .cols{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:36px}footer.site .col-brand{grid-column:auto}footer.site .copy{flex-direction:row;justify-content:space-between}}@media (min-width:1024px){:root{--pad-x:32px}body{font-size:18px}.site-header .row{height:64px;gap:24px}.brand{font-size:28px}.brand sup{display:inline}nav.primary{display:flex}.cta,.ghost{padding:9px 16px;font-size:15px}.hero-slider{padding:56px 0 64px}.hs-stage{min-height:460px}.hs-slide{gap:56px}.hs-title{font-size:clamp(38px,3.4vw,54px);line-height:1.18}.hs-dek{font-size:18px}.hs-meta{font-size:13px}.stepnav{grid-template-columns:repeat(7,1fr)}.stepnav button{border-bottom:0!important;padding:18px 16px 20px;min-height:110px}.stepnav button,.stepnav button:nth-child(4n){border-right:1px solid var(--rule)}.stepnav button:last-child{border-right:0}.stepnav .sl{font-size:19px}.stepnav .sc{font-size:13px}.featured{grid-template-columns:1.3fr 1fr}.featured h2{font-size:clamp(30px,3.2vw,44px);line-height:1.25}.featured .dek{font-size:18px}.grid{grid-template-columns:repeat(3,1fr)}.card{padding:28px}.card,.card:nth-child(2n){border-right:1px solid var(--rule)}.card:nth-child(2n){padding-right:28px}.card:nth-child(odd){padding-left:28px}.card:nth-child(3n){border-right:0;padding-right:0}.card:nth-child(3n+1){padding-left:0;padding-right:28px}.card:nth-child(3n+2){padding-left:28px;padding-right:28px}.card .title{font-size:21px}.news h3{font-size:38px}.sec-slider{padding:48px 0}.sec-title h3{font-size:28px}.slide-card{flex:0 0 340px}}html[data-showtags="0"] .card .tag,html[data-showtags="0"] .featured .meta span:nth-child(3),html[data-showtags="0"] .featured .meta span:nth-child(4),html[data-showtags="0"] .hs-meta span:nth-child(3),html[data-showtags="0"] .hs-meta span:nth-child(4),html[data-showtags="0"] .slide-tag{display:none}html[data-density=compact] .card{padding-top:18px;padding-bottom:18px}html[data-density=compact] .card .title{font-size:18px}html[data-density=compact] .card .dek{-webkit-line-clamp:2}html[data-density=compact] .hero-slider{padding-top:24px;padding-bottom:28px}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.mobile-footer{position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in oklab,var(--paper) 96%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.mobile-footer button{background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;min-height:60px;position:relative}.mobile-footer button.on{color:var(--ink)}.mobile-footer button.on:before{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--accent)}.mobile-footer button:active{color:var(--ink);background:var(--paper-2)}.mobile-footer button svg{display:block}.mobile-footer .badge{position:absolute;top:4px;right:calc(50% - 18px);min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:var(--paper);font-family:var(--mono);font-size:11px;display:inline-grid;place-items:center;line-height:1}@media (min-width:720px){body{padding-bottom:0}.mobile-footer{display:none}}.article-full{position:fixed;inset:0;z-index:110;background:var(--paper);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeUp .22s ease both;padding-bottom:calc(60px + env(safe-area-inset-bottom))}@media (min-width:720px){.article-full{padding-bottom:0}}.article-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:color-mix(in oklab,var(--paper) 94%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:10px;padding:0 var(--pad-x);height:52px}.article-topbar .back{background:transparent;border:0;color:var(--ink-2);display:inline-flex;align-items:center;gap:4px;font-size:15px;padding:8px 8px 8px 0;flex-shrink:0}.article-topbar .back:hover{color:var(--accent)}.crumbs{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0;font-size:14px;color:var(--ink-3);overflow:hidden}.crumbs a,.crumbs button{background:transparent;border:0;padding:0;color:var(--ink-3);cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.crumbs a:hover,.crumbs button:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-4);flex-shrink:0}.crumbs .current{color:var(--ink);font-family:var(--serif);font-size:15px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:719px){.crumbs .current{display:none}}.article-stage{max-width:760px;margin:0 auto;padding:28px var(--pad-x) 48px}.article-stage .meta{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--ink-3);margin-bottom:18px}.article-stage h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,5.5vw,42px);line-height:1.3;letter-spacing:-.01em;margin:0 0 16px;text-wrap:pretty}.article-stage .lead{font-size:18px;line-height:1.75;color:var(--ink-2);margin:0 0 24px}.article-stage .author{margin-bottom:28px}.article-stage .lead-img{aspect-ratio:16/9;margin-bottom:28px}.article-body{color:var(--ink);font-size:18px;line-height:1.9}.article-body p{margin:0 0 20px;color:var(--ink-2)}.article-body h2{font-family:var(--serif);font-weight:600;font-size:24px;margin:32px 0 12px;letter-spacing:-.005em;color:var(--ink)}.article-related{border-top:1px solid var(--rule);background:var(--paper-2);padding:36px 0 48px}.article-related .container{max-width:760px}.article-related .group{margin-bottom:28px}.article-related .group:last-child{margin-bottom:0}.article-related .ghead{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.article-related .ghead h3{font-family:var(--serif);font-weight:500;font-size:19px;margin:0;letter-spacing:-.005em}.step-prevnext{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.step-prevnext .pn{background:var(--paper);border:1px solid var(--rule);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;transition:border-color .15s}.step-prevnext .pn:hover{border-color:var(--ink)}.step-prevnext .pn:hover .ttl{color:var(--accent)}.step-prevnext .pn.next{text-align:right;align-items:flex-end}.step-prevnext .pn .dir{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.step-prevnext .pn .ttl{font-family:var(--serif);font-size:17px;line-height:1.45;color:var(--ink);transition:color .15s}.step-prevnext .pn-empty{background:transparent;border:1px dashed var(--rule);padding:16px;color:var(--ink-4);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-align:center;display:flex;align-items:center;justify-content:center}.related-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.related-grid .ri{background:var(--paper);border:1px solid var(--rule);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;text-align:left;transition:border-color .15s}.related-grid .ri:hover{border-color:var(--ink)}.related-grid .ri:hover .ri-ttl{color:var(--accent)}.related-grid .ri-meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;display:flex;gap:8px;align-items:center}.related-grid .ri-meta .step{color:var(--accent);font-weight:600}.related-grid .ri-ttl{font-family:var(--serif);font-size:17px;line-height:1.45;color:var(--ink);margin:0;transition:color .15s}@media (min-width:720px){.step-prevnext{gap:14px}.related-grid,.step-prevnext{grid-template-columns:1fr 1fr}.article-topbar{height:56px}.article-stage{padding:36px var(--pad-x) 60px}}@media (min-width:1024px){.related-grid{grid-template-columns:repeat(3,1fr)}}.tag-chip{display:inline-flex;align-items:center;font-size:13px;padding:4px 10px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-2);background:var(--paper);text-decoration:none;transition:border-color .15s,color .15s,background .15s}.tag-chip:hover{border-color:var(--ink);color:var(--accent);background:var(--paper-2)}.news-slider{padding:28px 0;border-bottom:1px solid var(--rule);background:var(--bg-1)}.news-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin:0 calc(var(--pad-x) * -1);padding-left:var(--pad-x);padding-right:var(--pad-x)}.news-track::-webkit-scrollbar{display:none}.news-card{flex:0 0 280px;scroll-snap-align:start;background:var(--paper);border:1px solid var(--rule);display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s,transform .2s;position:relative}.news-card:hover{border-color:var(--ink)}.news-card:hover .news-title{color:var(--accent)}.news-thumb{position:relative;aspect-ratio:16/9;border-bottom:1px solid var(--rule);background:var(--bg-2);overflow:hidden}.news-thumb-fallback{width:100%;height:100%;background:repeating-linear-gradient(135deg,oklch(.94 .02 145) 0 12px,oklch(.9 .03 145) 12px 13px)}.news-breaking{position:absolute;top:10px;left:10px;padding:3px 8px}.news-breaking,.news-breaking-inline{font-family:var(--mono);font-size:11px;letter-spacing:.14em;background:#c0392b;color:#fff;border-radius:2px;font-weight:600}.news-breaking-inline{display:inline-block;padding:2px 6px;margin-right:6px}.news-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1}.news-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3)}.news-date{font-size:11px;letter-spacing:.08em}.news-source{font-size:13px;color:var(--ink-2)}.news-title{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.45;color:var(--ink);margin:0;transition:color .15s}.news-dek{font-size:14px;color:var(--ink-3);line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-cover{aspect-ratio:16/9;margin:-16px -16px 14px;border-bottom:1px solid var(--rule);overflow:hidden;background:var(--bg-2)}.card-cover img{width:100%;height:100%;object-fit:cover;display:block}.article-figure{margin:28px 0}.article-figcaption{margin-top:8px;font-size:14px;color:var(--ink-3);font-family:var(--sans)}.article-body .article-list{margin:0 0 20px;padding-left:1.6em;color:var(--ink-2)}.article-body .article-list li{margin-bottom:8px;line-height:1.85}.article-quote{margin:24px 0;padding:14px 18px;border-left:3px solid var(--accent);background:var(--bg-1);color:var(--ink-2);font-size:17px;line-height:1.8}.article-code{font-family:var(--mono);font-size:.92em;background:var(--bg-2);padding:1px 6px;border-radius:2px}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-stage .lead-img img{width:100%;height:100%;object-fit:cover;display:block}