.ch-grid{display:grid;gap:28px var(--gap);margin-top:clamp(36px,5vw,64px)}.ch-rail{z-index:20}.ch-count{display:none}.ch-links{position:relative}.ch-links a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink-2);transition:color .2s}.ch-links a .n{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;border:1px solid var(--hair);font:500 12px/1 var(--f-mono);transition:background-color .2s,color .2s,border-color .2s}.ch-links a .t{font:450 12px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}.ch-links a:hover,.ch-links a.on{color:var(--ink)}.ch-links a.on .n,.ch-links a.done .n{background:var(--signal);border-color:var(--signal);color:var(--white)}.ch-line{position:absolute;background:var(--hair)}.ch-line i{position:absolute;inset:0;background:var(--signal)}.chapters{display:grid;gap:0}.chap{display:grid;gap:22px;padding-block:clamp(36px,5vw,64px);border-top:1px solid var(--hair);min-width:0}.chap:first-child{border-top:0;padding-top:0}.chap-h{display:flex;align-items:baseline;gap:18px}.chap-h .mono{color:var(--signal)}.chap h3{font-size:clamp(40px,5.4vw,84px);letter-spacing:-.05em;line-height:.95}.chap .ph-frame .ph{aspect-ratio:16/8}.spec{display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair)}.spec>div{background:var(--paper-3);padding:20px 22px;display:grid;gap:10px;align-content:start}.spec .mono{color:var(--ink-2)}.spec p{font-size:clamp(17px,1.35vw,20px);line-height:1.4;letter-spacing:-.01em}.spec .get{background:var(--tint)}.spec .get .mono{color:var(--signal)}@media(min-width:700px){.spec{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.ch-grid{grid-template-columns:repeat(12,1fr)}.ch-rail{grid-column:1/span 3;align-self:start;position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hh) + 40px)}.chapters{grid-column:5/span 8}.ch-count{display:block;font:500 clamp(120px,12vw,190px)/.8 var(--f-mono);letter-spacing:-.08em;color:var(--signal);margin:10px 0 28px}.ch-links{padding-left:30px;display:grid}.ch-links a{height:50px}.ch-line{left:5px;top:25px;bottom:25px;width:1.25px}.ch-line i{transform-origin:top;transform:scaleY(var(--p,0))}.ch-links a:before{content:"";position:absolute;left:0;width:11px;height:11px;box-sizing:border-box;margin-left:0;background:var(--paper);border:1.25px solid var(--hair);transition:background-color .2s,border-color .2s}.ch-links a.on:before,.ch-links a.done:before{background:var(--signal);border-color:var(--signal)}}@media(max-width:999px){.ch-rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hh));margin-inline:calc(-1*max(var(--side),env(safe-area-inset-left,0px))) calc(-1*max(var(--side),env(safe-area-inset-right,0px)));padding-inline:max(var(--side),env(safe-area-inset-left,0px)) max(var(--side),env(safe-area-inset-right,0px));background:var(--paper-a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}.ch-rail>.mono{display:none}.ch-links{display:grid;grid-template-columns:repeat(4,1fr)}.ch-links a{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 0}.ch-links a .t{font-size:10.5px;letter-spacing:.05em}.ch-line{left:0;right:0;bottom:-1px;height:1.5px;background:transparent}.ch-line i{transform-origin:left;transform:scaleX(var(--p,0))}}.models{display:grid;gap:var(--gap);margin-top:clamp(36px,5vw,64px)}.model{display:flex;flex-direction:column;gap:18px;min-height:300px;padding:28px;background:var(--paper-3);border:1px solid var(--hair);transition:border-color .25s}.model:hover{border-color:var(--signal)}.model svg{width:100%;max-width:220px;height:76px}.model svg *{fill:none;stroke:var(--ink);stroke-width:1.25}.model svg .a{stroke:var(--signal)}.model svg .f{fill:var(--signal);stroke:none}.model h3{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.04em;margin-top:auto}.model p{font-size:18px;color:var(--ink-2)}@media(min-width:900px){.models{grid-template-columns:repeat(3,1fr)}}.pr-head{padding-block:28px 0}.pr .marquee-set>*{font-size:clamp(26px,3.2vw,46px)}.bring{display:grid;gap:32px var(--gap);margin-top:clamp(40px,6vw,88px)}.ck{border-top:1px solid var(--hair)}.ck li{border-bottom:1px solid var(--hair)}.ck label{display:grid;grid-template-columns:30px 1fr;gap:16px;align-items:center;padding:20px 4px;cursor:pointer;font-size:clamp(19px,1.7vw,24px);font-weight:500;letter-spacing:-.02em;transition:color .2s}.ck input{position:absolute;opacity:0;width:1px;height:1px}.ck .box{position:relative;width:26px;height:26px;box-sizing:border-box;border:1.5px solid var(--ink);transition:background-color .2s,border-color .2s}.ck .box:after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .2s var(--ease)}.ck input:checked+.box{background:var(--signal);border-color:var(--signal)}.ck input:checked+.box:after{transform:rotate(45deg) scale(1)}.ck input:checked~.t{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1.25px}.ck input:focus-visible+.box{outline:2px solid var(--signal);outline-offset:3px}.ck label:hover .box{border-color:var(--signal)}.bring .hint{color:var(--ink-2);margin-top:16px}@media(min-width:1000px){.bring{grid-template-columns:repeat(12,1fr)}.bring>div:first-child{grid-column:1/span 4}.bring .ck-wrap{grid-column:6/span 7}}
