@charset "utf-8";

:root{
  --paper:#FFFFFF;
  --ink:#141414;
  --ink-mid:#3D3D38;      
  --ink-soft:#5A5A54;     
  --yellow:#FFD500;       
  --yellow-ink:#7A5C00;   
  --yellow-wash:rgba(255,213,0,.18);
  --line:#DCDCD6;
  --line-strong:#B9B9B0;
  --panel:#F6F6F3;
  --panel-2:#EFEFEA;
  --tool:#1F6F3F;         
  --warn:#A3301C;         
  --onink:#F4F4F0;        
  --onink-soft:#B9B9B2;   
  --measure:34em;         
  --radius:4px;
  --shadow:0 1px 0 rgba(20,20,20,.06);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic",
              Meiryo,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.9;
  font-feature-settings:"palt" 0;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.5;letter-spacing:-.01em;margin:0}
p{margin:0 0 1.4em}
ul,ol{margin:0 0 1.4em;padding-left:1.6em}
li{margin:.35em 0}
hr{border:none;border-top:1px solid var(--line);margin:2.6em 0}
code{
  font-family:ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;
  font-size:.86em;background:var(--panel-2);border:1px solid var(--line);
  border-radius:3px;padding:1px 5px;white-space:nowrap
}
:focus-visible{outline:3px solid var(--yellow-ink);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.wrap-narrow{max-width:calc(var(--measure) + 40px);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--yellow);color:#141414;padding:10px 16px;font-weight:700}
.skip:focus{left:0}

a{color:var(--yellow-ink);text-decoration:none}
.u{position:relative;display:inline;background-image:linear-gradient(var(--yellow),var(--yellow));
   background-repeat:no-repeat;background-position:0 100%;background-size:0% 2px;
   transition:background-size .28s ease;padding-bottom:2px}
.u:hover,.u:focus-visible{background-size:100% 2px}
.onink .u{background-image:linear-gradient(var(--yellow),var(--yellow))}
.onink a{color:var(--yellow)}

.site-head{position:fixed;top:0;left:0;right:0;z-index:80;height:46px;
  background:rgba(20,20,20,.55);color:var(--onink);
  -webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(244,244,240,.12);
  transition:background .35s ease, border-color .35s ease, color .35s ease}

.site-head.solid,.site-head.stuck{background:rgba(255,255,255,.92);color:#141414;
  border-bottom-color:var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:14px;height:46px;padding-inline:16px;
  max-width:1120px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;
  color:inherit;letter-spacing:0;text-decoration:none}
.brand .mark{width:26px;height:26px;flex:none;border-radius:50%}
.site-nav{margin-left:auto;display:flex;gap:2px;list-style:none;margin-block:0;padding:0}
.site-nav a{display:inline-block;padding:5px 10px;font-size:13px;color:inherit;border-radius:3px;
  opacity:.86}
.site-nav a:hover{opacity:1;background:rgba(255,213,0,.18)}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--yellow);font-weight:700;opacity:1}
.head-cta{display:inline-block;background:var(--yellow);color:#141414;font-weight:800;font-size:12.5px;
  padding:6px 12px;border-radius:4px;white-space:nowrap;text-decoration:none}
.head-cta:hover{background:#FFDE33}

body{padding-top:46px}
body.has-hero{padding-top:0}

.burger{display:none;width:32px;height:32px;border:0;background:transparent;padding:0;
  cursor:pointer;place-items:center;color:inherit;margin-right:-4px}
.burger span{display:block;width:17px;height:1.6px;background:currentColor;border-radius:2px;
  transition:transform .3s ease, opacity .3s ease}
.burger span + span{margin-top:4px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}

.drawer{position:fixed;inset:0;z-index:90;pointer-events:none}
.drawer .veil{position:absolute;inset:0;background:rgba(20,20,20,.5);opacity:0;
  transition:opacity .3s ease}
.drawer .panel{position:absolute;top:0;bottom:0;left:0;width:min(76%,300px);background:var(--paper);
  transform:translateX(-100%);transition:transform .32s cubic-bezier(.3,0,.2,1);
  padding:18px 18px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;
  box-shadow:4px 0 26px rgba(20,20,20,.22)}
.drawer.open{pointer-events:auto}
.drawer.open .veil{opacity:1}
.drawer.open .panel{transform:none}
.drawer .panel .lead{font-size:10.5px;letter-spacing:.16em;color:var(--ink-soft);
  font-weight:800;margin:2px 0 10px}
.drawer .panel a{font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;
  padding:13px 4px;border-bottom:1px solid var(--line)}
.drawer .panel a[aria-current="page"]{color:var(--yellow-ink)}
.drawer .panel .d-cta{margin-top:14px;background:var(--yellow);color:#141414;text-align:center;
  border:0;border-radius:4px;padding:12px;font-weight:800}

@media (max-width:720px){
  .burger{display:grid}
  .site-nav{display:none}          
  .head-cta{padding:6px 10px;font-size:12px}
  .brand{font-size:14px}
}
@media (min-width:721px){
  .drawer{display:none}
}

.btn{display:inline-block;font-weight:700;font-size:15px;padding:12px 22px;border-radius:3px;
  border:1px solid transparent;cursor:pointer;text-align:center;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-y{background:var(--yellow);color:#141414;border-color:#E0BB00}       
.btn-y:hover{background:#FFDE33}
.btn-ghost{background:transparent;color:var(--onink);border-color:#5A5A54}
.btn-ghost:hover{border-color:var(--yellow);background:rgba(255,213,0,.10)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-line:hover{border-color:var(--ink);background:var(--yellow-wash)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}

.onink{background:#141414;color:var(--onink)}
.onink h1,.onink h2,.onink h3{color:var(--onink)}
.onink .lede,.onink .sub{color:var(--onink-soft)}
section{padding:60px 0}
section.tight{padding:38px 0}
.sec-label{display:inline-block;background:var(--yellow);color:#141414;font-weight:800;font-size:12px;
  letter-spacing:.14em;padding:3px 10px;border-radius:3px;margin-bottom:12px}
.sec-title{font-size:27px;margin:0 0 10px}
.sec-lede{color:var(--ink-soft);max-width:var(--measure);margin:0 0 26px;font-size:15.5px}
.divide{border-top:1px solid var(--line)}

.hero{background:#141414;color:var(--onink);padding:76px 0 66px;border-bottom:6px solid var(--yellow)}
.hero .eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;color:var(--onink-soft);margin:0 0 16px}
.hero h1{font-size:clamp(28px,4.4vw,44px);line-height:1.42;margin:0 0 18px;max-width:22em}
.hero h1 .mk{background:var(--yellow);color:#141414;padding:0 10px;border-radius:2px}
.hero .lede{font-size:16.5px;max-width:var(--measure);margin:0}
.hero-note{margin:26px 0 0;font-size:13.5px;color:var(--onink-soft)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.onink .stats{background:#33332F;border-color:#33332F}
.stat{background:var(--paper);padding:22px 18px}
.onink .stat{background:#141414}
.stat .num{font-size:38px;font-weight:800;line-height:1.1;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;display:block}
.onink .stat .num{color:var(--yellow)}                 
.stat .unit{font-size:.5em;font-weight:700;margin-left:2px}
.stat .cap{display:block;font-size:13px;color:var(--ink-soft);margin-top:6px}
.onink .stat .cap{color:var(--onink-soft)}
@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}}

.marquee{overflow:hidden;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;background:var(--panel);--speed:34s}
.onink .marquee,.marquee.dark{background:#1D1D1B;border-color:#33332F}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--panel),rgba(246,246,243,0))}
.marquee::after{right:0;background:linear-gradient(270deg,var(--panel),rgba(246,246,243,0))}
.marquee.dark::before{background:linear-gradient(90deg,#1D1D1B,rgba(29,29,27,0))}
.marquee.dark::after{background:linear-gradient(270deg,#1D1D1B,rgba(29,29,27,0))}
.mq-track{display:flex;width:max-content;animation:mq var(--speed) linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-group{display:flex;gap:38px;padding-right:38px;flex:none}
.mq-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink-soft);white-space:nowrap}
.marquee.dark .mq-item{color:#C8C8C0}
.mq-item .dot{width:7px;height:7px;background:var(--yellow);border-radius:50%;flex:none}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.boards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:860px){.boards{grid-template-columns:1fr}}
.board{border:2px solid var(--line-strong);border-radius:6px;background:var(--paper);
  padding:26px 24px 22px;display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease}
.board:hover{border-color:var(--ink);box-shadow:0 6px 0 var(--yellow-wash)}
.board .bno{display:inline-block;background:var(--yellow);color:#141414;font-weight:800;font-size:13px;
  padding:2px 9px;border-radius:3px;margin-bottom:12px;align-self:flex-start}
.board h3{font-size:22px;margin:0 0 8px}
.board .bsub{color:var(--ink-soft);font-size:14.5px;margin:0 0 16px}
.board ul{font-size:14.5px;color:var(--ink-mid);margin:0 0 20px}
.board .go{margin-top:auto}
.spine{display:flex;align-items:center;justify-content:center}
.spine .key{background:var(--yellow);color:#141414;font-weight:800;font-size:13px;padding:8px 12px;
  border-radius:4px;text-align:center;line-height:1.6}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
@media(max-width:900px){.steps{grid-template-columns:1fr}}
.step{background:var(--paper);padding:22px 18px;opacity:.42;filter:saturate(.2);
  transition:opacity .5s ease,filter .5s ease,box-shadow .5s ease}
.step.is-on{opacity:1;filter:none;box-shadow:inset 0 4px 0 var(--yellow)}
.step .sn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:var(--ink);color:var(--paper);font-size:13px;font-weight:800;margin-bottom:10px}
.step.is-on .sn{background:var(--yellow);color:#141414}
.step h4{font-size:15.5px;margin:0 0 6px}
.step p{font-size:13.5px;color:var(--ink-soft);margin:0}

.sticky-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:900px){.sticky-wrap{grid-template-columns:1fr;gap:20px}}
.sticky-figs{position:sticky;top:80px;border:1px solid var(--line);border-radius:6px;
  background:var(--panel);padding:20px;min-height:300px;display:grid}
@media(max-width:900px){.sticky-figs{position:static;min-height:0}}
.sfig{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.sfig.is-on{opacity:1;transform:none;pointer-events:auto}
.sfig .cap{font-size:13px;color:var(--ink-soft);margin:10px 0 0}
.sblock{padding:26vh 0;border-left:3px solid var(--line);padding-left:22px;margin-left:2px;transition:border-color .35s ease}
.sblock.is-on{border-left-color:var(--yellow)}
.sblock h3{font-size:20px;margin:0 0 10px}
.sblock p{font-size:15px;color:var(--ink-mid);margin:0;max-width:30em}
@media(max-width:900px){.sblock{padding:20px 0}}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}
.card{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:20px 18px;
  display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}
.card:hover{border-color:var(--ink);transform:translateY(-2px)}
.card h3,.card h4{font-size:16.5px;margin:0 0 8px}
.card p{font-size:14px;color:var(--ink-soft);margin:0 0 14px}
.card .foot{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.card .ico{width:30px;height:30px;margin-bottom:10px}

.badge{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  padding:2px 8px;border-radius:3px;border:1px solid var(--line-strong);color:var(--ink-mid);white-space:nowrap}
.badge-tool{background:var(--tool);border-color:var(--tool);color:#fff}   

.badge-art{background:var(--panel-2);border-color:var(--line-strong)}
.badge-none{background:transparent;color:var(--ink-soft);border-style:dashed}
.badge-y{background:var(--yellow);border-color:#E0BB00;color:#141414}     
.tags{display:flex;gap:6px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 18px}
.tags li{margin:0}
.tag{display:inline-block;font-size:12.5px;padding:3px 10px;border-radius:999px;
  border:1px solid var(--line-strong);color:var(--ink-mid);background:var(--paper)}
.tag:hover{border-color:var(--ink);background:var(--yellow-wash)}
.tag .n{color:var(--ink-soft);font-size:11px;margin-left:5px;font-variant-numeric:tabular-nums}

.mx-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  padding:14px 16px;border:1px solid var(--line);border-radius:6px 6px 0 0;background:var(--panel);margin:0}
.mx-tools label{font-size:13.5px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.mx-search{font:inherit;font-size:14px;padding:8px 12px;border:1px solid var(--line-strong);
  border-radius:3px;background:var(--paper);color:var(--ink);min-width:230px}
.mx-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);margin:10px 0 18px}
.mx-legend span{display:inline-flex;align-items:center;gap:6px}
.mx-count{font-size:13px;color:var(--ink-soft);margin:0 0 10px;font-variant-numeric:tabular-nums}

.mx-scroll{overflow-x:auto;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper)}
table.mx{border-collapse:collapse;width:100%;min-width:940px;font-size:13px}
table.mx th,table.mx td{border:1px solid var(--line);padding:0;vertical-align:top}
table.mx thead th{background:#141414;color:var(--onink);font-weight:700;font-size:12.5px;
  padding:10px 8px;text-align:center;position:sticky;top:0;z-index:5;border-color:#33332F;line-height:1.5}
table.mx thead th:first-child{text-align:left;width:190px;min-width:190px}
table.mx thead th .sy{display:block;font-size:11px;color:#B9B9B2;font-weight:400;margin-top:3px}
tr.grp th{background:var(--panel-2);font-size:13px;font-weight:800;letter-spacing:.08em;
  padding:8px 12px;text-align:left;border-left:5px solid var(--yellow)}
tbody th.gy{background:var(--panel);text-align:left;padding:10px 12px;font-weight:700;font-size:13.5px;
  width:190px;min-width:190px;position:relative}
tbody th.gy .gyslug{display:block;font-size:11px;color:var(--ink-soft);font-weight:400;
  font-family:ui-monospace,Consolas,monospace}

td.cell{background:var(--paper)}
.cellbox{display:block;padding:9px 8px;min-height:64px;text-align:center;color:var(--ink);
  transition:background .18s ease}
a.cellbox:hover{background:var(--yellow-wash)}
.cellbox .cnum{display:block;font-size:19px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.cellbox .clab{display:block;font-size:11px;color:var(--ink-soft);margin-top:1px}
.cellbox .cid{display:block;font-size:9.5px;color:var(--ink-soft);margin-top:5px;
  font-family:ui-monospace,Consolas,monospace;word-break:break-all;opacity:.8}
.cellbox .badge{margin-top:5px}
td.cell.is-empty{background:repeating-linear-gradient(135deg,transparent,transparent 6px,var(--panel) 6px,var(--panel) 12px)}
td.cell.is-empty .cellbox{color:var(--ink-soft)}
td.cell.has-tool{box-shadow:inset 4px 0 0 var(--tool)}   
td.cell.is-hit{outline:2px solid var(--yellow-ink);outline-offset:-2px}

.swbox{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.mx-switches{display:flex;gap:18px;flex-wrap:wrap;align-items:center;
  padding:12px 16px;border:1px solid var(--line);border-top:none;border-radius:0 0 6px 6px;
  background:var(--panel);margin:0 0 14px}
.mx-switches label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
.mx-switches label::before{content:"";width:17px;height:17px;flex:none;border-radius:3px;
  border:2px solid var(--line-strong);background:var(--paper);transition:background .15s ease,border-color .15s ease}
#hide-empty:checked ~ .mx-switches label[for="hide-empty"]::before,
#zero-mode:checked ~ .mx-switches label[for="zero-mode"]::before{
  background:var(--ink);border-color:var(--ink);
  box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 9px var(--yellow)}
#hide-empty:focus-visible ~ .mx-switches label[for="hide-empty"]::before,
#zero-mode:focus-visible ~ .mx-switches label[for="zero-mode"]::before{
  outline:3px solid var(--yellow-ink);outline-offset:2px}

#hide-empty:checked ~ .mx-scroll td.cell.is-empty .cellbox{visibility:hidden}
#hide-empty:checked ~ .mx-scroll td.cell.is-empty{background:var(--panel)}

#zero-mode:checked ~ .mx-scroll td.cell .cellbox .cnum,
#zero-mode:checked ~ .mx-scroll td.cell .cellbox .clab,
#zero-mode:checked ~ .mx-scroll td.cell .cellbox .badge-art{display:none}
#zero-mode:checked ~ .mx-scroll td.cell{background:repeating-linear-gradient(135deg,transparent,transparent 6px,var(--panel) 6px,var(--panel) 12px)}
#zero-mode:checked ~ .mx-scroll td.cell .cellbox::before{content:"準備中";font-size:12px;color:var(--ink-soft);display:block;padding-top:14px}
#zero-mode:checked ~ .mx-scroll td.cell.has-tool{background:var(--paper)}
#zero-mode:checked ~ .mx-scroll td.cell.has-tool .cellbox::before{content:""}
#zero-mode:checked ~ .mx-scroll td.cell.has-tool .cellbox .badge-tool{display:inline-block}
#zero-mode:checked ~ .mx-zeronote{display:block}
.mx-zeronote{display:none;margin:12px 0 0;padding:12px 16px;border-left:5px solid var(--yellow);
  background:var(--panel);font-size:13.5px;border-radius:0 4px 4px 0}

.crumbs{font-size:12.5px;color:var(--ink-soft);padding:14px 0 0;margin:0}
.crumbs ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0}
.crumbs li::after{content:"›";margin-left:8px;color:var(--line-strong)}
.crumbs li:last-child::after{content:""}
.art-head{padding:22px 0 26px;border-bottom:1px solid var(--line)}
.art-head h1{font-size:clamp(24px,3.4vw,34px);line-height:1.5;margin:8px 0 16px;max-width:24em}
.art-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin:0 0 16px}
.art-meta b{color:var(--ink);font-weight:700}
.tldr{border:1px solid var(--line);border-left:5px solid var(--yellow);background:var(--panel);
  border-radius:0 4px 4px 0;padding:16px 20px;margin:0 0 22px}
.tldr h2{font-size:13px;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 8px}
.tldr p{margin:0;font-size:15.5px}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px;align-items:start;padding:34px 0 0}
@media(max-width:960px){.art-layout{grid-template-columns:1fr;gap:0}}
.toc{position:sticky;top:78px;font-size:13.5px;border-left:2px solid var(--line);padding-left:16px}
@media(max-width:960px){.toc{position:static;border:1px solid var(--line);border-radius:6px;
  padding:16px 18px;margin:0 0 28px;background:var(--panel)}}
.toc h2{font-size:12px;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 10px}
.toc ol{list-style:none;padding:0;margin:0;counter-reset:t}
.toc li{margin:0 0 7px;counter-increment:t}
.toc a{color:var(--ink-mid);display:block;line-height:1.6}
.toc a::before{content:counter(t) ". ";color:var(--ink-soft)}
.toc a:hover{color:var(--ink)}
.art-body{max-width:var(--measure);font-size:17px;line-height:1.95}
.art-body h2{font-size:22px;margin:2.4em 0 .8em;padding-bottom:8px;border-bottom:3px solid var(--yellow)}
.art-body h2:first-child{margin-top:0}
.art-body h3{font-size:18px;margin:2em 0 .6em;border-left:5px solid var(--yellow);padding-left:12px}
.art-body table{border-collapse:collapse;width:100%;font-size:14px;margin:1.6em 0}
.art-body table th,.art-body table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.art-body table thead th{background:#141414;color:var(--onink);border-color:#33332F}
.art-body blockquote{margin:1.6em 0;padding:2px 0 2px 18px;border-left:5px solid var(--line-strong);
  color:var(--ink-mid);font-size:16px}
.note{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:14px 18px;margin:1.6em 0;font-size:15px}
.note.warn{border-color:#E8CFC8;background:#FBF3F1;border-left:5px solid var(--warn)}

.note h4{font-size:14px;margin:0 0 6px}
.methods{border:2px solid var(--line-strong);border-radius:6px;padding:20px 22px;margin:2.4em 0;background:var(--panel)}
.methods h2{border:none;margin:0 0 10px;font-size:18px;padding:0}
.methods dl{margin:0;font-size:14.5px;display:grid;grid-template-columns:9em 1fr;gap:4px 14px}
.methods dt{font-weight:700;color:var(--ink-mid)}
.methods dd{margin:0}
@media(max-width:600px){.methods dl{grid-template-columns:1fr}.methods dd{margin:0 0 8px}}

.toolblock{border:2px solid var(--ink);border-radius:6px;overflow:hidden;margin:2.6em 0}
.toolblock .th{background:#141414;color:var(--onink);padding:12px 20px;font-weight:700;font-size:14.5px;
  display:flex;align-items:center;gap:10px}
.toolblock .th .badge{background:var(--yellow);border-color:var(--yellow);color:#141414}
.toolblock .tb{padding:20px 22px}
.toolblock h3{font-size:19px;margin:0 0 8px}
.toolblock p{font-size:15px;margin:0 0 14px}

.backlinks{border-top:1px solid var(--line);margin:3em 0 0;padding:22px 0 0}
.backlinks h2{font-size:16px;margin:0 0 10px}
.backlinks ul{list-style:none;padding:0;margin:0;font-size:14.5px}
.backlinks li{margin:0 0 8px;padding-left:18px;position:relative}
.backlinks li::before{content:"↖";position:absolute;left:0;color:var(--yellow-ink)}

.prod-head{background:#141414;color:var(--onink);padding:44px 0 40px;border-bottom:6px solid var(--yellow)}
.prod-head h1{font-size:clamp(25px,3.6vw,38px);margin:10px 0 14px;max-width:20em}
.prod-head .one{font-size:17px;color:var(--onink-soft);max-width:var(--measure);margin:0}

.prod-head .crumbs{color:var(--onink-soft)}
.prod-head .crumbs a{color:var(--yellow)}
.prod-head .crumbs li::after{color:#5A5A54}
.prod-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start;padding:40px 0}
@media(max-width:960px){.prod-grid{grid-template-columns:1fr;gap:28px}}
.prod-side{position:sticky;top:78px;border:2px solid var(--line-strong);border-radius:6px;padding:20px;background:var(--panel)}
@media(max-width:960px){.prod-side{position:static}}
.prod-side h3{font-size:15px;margin:0 0 10px}
.prod-side dl{margin:0 0 16px;font-size:14px;display:grid;grid-template-columns:6.5em 1fr;gap:4px 10px}
.prod-side dt{color:var(--ink-soft)}
.prod-side dd{margin:0;font-weight:700}

.vslot{border:2px solid var(--line-strong);border-radius:6px;overflow:hidden;background:#141414;margin:0 0 10px;position:relative}
.vslot .vhead{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#1D1D1B;
  border-bottom:1px solid #33332F;font-size:12.5px;color:#B9B9B2}
.vslot .vhead .badge{border-color:#4E4E48;color:#D6D6CE}
.vslot .vstage{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:#0E0E0E}
.vslot video{width:100%;height:100%;object-fit:cover}
.vslot .vstate{position:absolute;right:10px;bottom:10px;font-size:11.5px;background:rgba(20,20,20,.9);
  color:#B9B9B2;border:1px solid #4E4E48;border-radius:3px;padding:2px 8px;z-index:3}
.vslot .vcap{padding:10px 14px;font-size:13px;color:var(--ink-soft);background:var(--paper);border-top:1px solid var(--line)}

.vmock{width:100%;height:100%;position:relative;overflow:hidden}
.vmock .row{position:absolute;left:8%;height:9px;border-radius:2px;background:#3A3A36}
.vmock .bar{position:absolute;left:8%;height:9px;border-radius:2px;background:var(--yellow);width:0}
.vmock .cursor{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--yellow);
  box-shadow:0 0 0 6px rgba(255,213,0,.22);left:12%;top:70%;opacity:.9}
.vslot .vstage.is-playing .bar{animation:fill 2.6s ease-in-out infinite alternate}
.vslot .vstage.is-playing .cursor{animation:cur 3.4s ease-in-out infinite alternate}
@keyframes fill{from{width:0}to{width:62%}}
@keyframes cur{from{transform:translate(0,0)}to{transform:translate(190px,-96px)}}
.vmock .lbl{position:absolute;left:8%;bottom:12%;font-size:12px;color:#8A8A82;
  font-family:ui-monospace,Consolas,monospace;letter-spacing:.06em}

.shots{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 10px}
@media(max-width:700px){.shots{grid-template-columns:1fr}}
.shot{border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--panel)}
.shot .scap{font-size:12.5px;color:var(--ink-soft);padding:8px 12px;border-top:1px solid var(--line);background:var(--paper)}

.cannot{border:2px solid var(--warn);border-radius:6px;padding:20px 22px;margin:0 0 10px;background:var(--paper)}
.cannot h3{font-size:17px;margin:0 0 12px;color:var(--warn)}
.cannot ul{list-style:none;padding:0;margin:0;font-size:15px}
.cannot li{padding-left:26px;position:relative;margin:0 0 9px}
.cannot li::before{content:"×";position:absolute;left:4px;top:0;color:var(--warn);font-weight:800}

.roi{border:2px solid var(--ink);border-radius:6px;overflow:hidden;margin:0 0 10px}
.roi .rh{background:#141414;color:var(--onink);padding:12px 20px;font-weight:700;font-size:15px}
.roi .rb{padding:20px 22px;background:var(--paper)}
.roi-in{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}
@media(max-width:700px){.roi-in{grid-template-columns:1fr}}
.roi-in label{display:block;font-size:13.5px;font-weight:700;margin:0 0 6px}
.roi-in .hint{display:block;font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:2px}
.roi-in input{font:inherit;font-size:16px;width:100%;padding:9px 12px;border:1px solid var(--line-strong);
  border-radius:3px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}
.roi-out{background:#141414;color:var(--onink);border-radius:4px;padding:18px 20px;
  display:flex;gap:26px;align-items:baseline;flex-wrap:wrap}
.roi-out .big{font-size:36px;font-weight:800;color:var(--yellow);font-variant-numeric:tabular-nums;line-height:1.1}
.roi-out .sm{font-size:14px;color:var(--onink-soft);font-variant-numeric:tabular-nums}
.roi-formula{font-size:13px;color:var(--ink-soft);margin:14px 0 0;line-height:1.9}
.roi-formula code{font-size:12.5px;white-space:normal}

.cta{background:#141414;color:var(--onink);padding:52px 0;border-top:6px solid var(--yellow)}
.cta h2{font-size:26px;margin:0 0 12px}
.cta p{color:var(--onink-soft);max-width:var(--measure)}
.site-foot{background:#141414;color:var(--onink-soft);padding:34px 0 46px;font-size:13px;border-top:1px solid #33332F}
.site-foot a{color:#D9D9D2}
.site-foot .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 0 24px}
@media(max-width:800px){.site-foot .cols{grid-template-columns:1fr 1fr}}
.site-foot h4{font-size:12px;letter-spacing:.1em;color:#8A8A82;margin:0 0 10px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:0 0 6px}
.tplnote{border-top:1px dashed #4E4E48;padding-top:16px;color:#8A8A82;font-size:12px;line-height:1.9}

.tpl{border:2px dashed var(--line-strong);border-radius:6px;padding:14px 18px;margin:0 0 22px;
  background:var(--panel);font-size:13.5px;color:var(--ink-mid)}
.tpl b{color:var(--ink)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}

@media print{
  .site-head,.site-foot,.cta,.marquee,.mx-tools{display:none}
  body{font-size:11pt}
  a{color:#000}
}

.stats-band{background:var(--panel);border-bottom:1px solid var(--line)}
.stats-band .wrap{padding-top:20px;padding-bottom:20px}
.stats-band .lead{margin:0 0 12px;font-size:11.5px;font-weight:800;letter-spacing:.14em;
  color:var(--ink-soft)}
.stats-band ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(15em,1fr));gap:10px 26px}
.stats-band a{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);
  padding:6px 0;border-bottom:2px solid transparent}
.stats-band a:hover{border-bottom-color:var(--yellow)}
.stats-band b{font-size:27px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;
  flex:none}
.stats-band span{font-size:12.5px;line-height:1.6;color:var(--ink-soft)}
@media (max-width:640px){
  .stats-band ul{grid-template-columns:1fr;gap:2px}
  .stats-band b{font-size:23px}
}

.site-foot .foot-terms{margin:16px 0 0;font-size:12.5px;line-height:1.8;
  color:#B9B9B2;max-width:44em}
