.tb-shell{--s-canvas:#c9cfdd;--s-panel:#d9dde7;--s-inset:#bdc4d4;--s-ink:#10254f;--ink-1:#10254f;--ink-2:#303d6a;--ink-3:#44506f;--rule-hair:#b9c0d0;--rule:#a8b1c5;--rule-strong:#8a94af;--rule-axis:#44506f;--accent:#75346f;--accent-wash:#cdc8d8;--accent-ink:#632b61;--warn-line:#b84e00;--warn-text:#843900;--warn-wash:#d6cfcf;--on-ink-1:#edf0f6;--tb-font-sans:var(--font-text);--tb-font-mono:var(--font-code);--t-h1:500 clamp(2.1rem, 3.8vw, 2.9rem)/1.08 var(--font-display);--t-h2:700 1.375rem/1.25 var(--tb-font-sans);--t-h3:700 1rem/1.35 var(--tb-font-sans);--t-label:700 .75rem/1.3 var(--tb-font-sans);--t-body:400 1rem/1.62 var(--tb-font-sans);--t-ui:400 .875rem/1.45 var(--tb-font-sans);--t-num:400 .875rem/1.45 var(--tb-font-mono);--t-caption:400 .8125rem/1.55 var(--tb-font-sans);--t-micro:500 .6875rem/1.35 var(--tb-font-mono);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-20:80px;max-width:84rem;padding-inline:clamp(1rem,3vw,2.5rem);padding-block:clamp(3rem, 7vh, 5rem) var(--sp-20);background:var(--s-canvas);font-family:var(--tb-font-sans);color:var(--ink-2);margin-inline:auto;font-weight:400}.tb-shell,.tb-shell *{font-variant-numeric:lining-nums tabular-nums}body:has(.tb-shell){background-color:var(--s-canvas)}.tb-shell{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.018'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}.tb-shell :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tb-shell ::selection{background:var(--accent-wash);color:var(--ink-1)}.tb-shell a{color:var(--accent)}.tb-back{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.5rem;margin-bottom:2.5rem;font-size:.8125rem;font-weight:700;display:inline-flex}.tb-shell a.tb-back{color:var(--ink-3)}.tb-back svg{width:.85rem;height:.85rem}@media (pointer:coarse){.tb-back{margin-top:-1.6rem;padding-top:1.6rem}}.tb-title{font:var(--t-h1);letter-spacing:.005em;color:var(--ink-1);margin:var(--sp-3) 0 0}.tb-section{margin-top:var(--sp-10);grid-template-columns:minmax(0,1fr);display:grid}.tb-body{min-width:0;padding-top:var(--sp-6);border-top:1px solid var(--rule-strong)}.tb-panel-h{font:var(--t-h2);letter-spacing:-.01em;color:var(--ink-1);margin:0}.tb-field{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.tb-field[hidden]{display:none}.tb-field>label{font:var(--t-ui);color:var(--ink-3);display:block}.tb-shell input[type=number],.tb-shell select{font-family:var(--tb-font-mono);color:var(--ink-1);background:var(--s-inset);border:1px solid var(--rule);border-bottom-color:var(--rule-strong);border-radius:0;width:100%;height:36px;padding:8px 10px;font-size:.875rem;font-weight:400}.tb-shell input:hover,.tb-shell select:hover{border-color:var(--rule-strong)}.tb-shell input:focus-visible,.tb-shell select:focus-visible{background:var(--s-panel);border-color:var(--accent)}.tb-shell select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235A6169' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.tb-bar{gap:var(--sp-4) var(--sp-5);margin-top:var(--sp-5);flex-wrap:wrap;align-items:flex-end;display:flex}.tb-bar>.tb-field{flex:8rem}.tb-bar>.tb-field:has(#build){flex-basis:12rem}.tb-bar>.tb-field:has(#motor){flex-basis:13rem}.tb-bar>.tb-field:has(#grid){flex-basis:10rem}@media (width<=30rem){.tb-bar{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.tb-field[data-role]>label{align-items:center;gap:var(--sp-2);display:flex}.tb-field[data-role]>label:before{content:"";box-sizing:border-box;border:1px solid var(--ink-3);flex:none;width:8px;height:8px}.tb-field[data-role=driver]>label{color:var(--ink-1)}.tb-field[data-role=driver]>label:before{background:var(--ink-1);border-color:var(--ink-1)}.tb-shell .tb-field[data-role=driver] input{border-color:var(--ink-1)}.tb-shell .tb-field[data-role=solved] input{border-style:dashed;border-color:var(--rule-strong);color:var(--ink-2);background:0 0}.tb-shell .tb-field[data-role=solved] input:focus-visible{background:var(--s-panel);border-style:solid;border-color:var(--accent)}.tb-check{align-items:center;gap:var(--sp-2);min-height:28px;font:var(--t-ui);color:var(--ink-2);cursor:pointer;display:flex}.tb-check input{width:16px;height:16px;accent-color:var(--ink-1);flex:none;margin:0}.tb-check:has(input:disabled){color:var(--ink-3);cursor:default}.tb-btn{height:36px;font-family:var(--tb-font-sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink-1);border:1px solid var(--rule-axis);cursor:pointer;transition:transform .12s var(--ease-out-strong);background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0 14px;font-size:.8125rem;font-weight:700;display:inline-flex}.tb-btn-sm{height:32px;padding:0 12px;font-size:.75rem}.tb-btn-primary{background:var(--ink-1);border-color:var(--ink-1);color:var(--on-ink-1)}.tb-btn-ghost{color:var(--ink-3);padding-inline:var(--sp-2);border-color:#0000}.tb-btn:active{transform:translateY(1px)}.tb-textbtn{font:var(--t-caption);color:var(--ink-3);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.tb-session{align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 0;font:var(--t-caption);color:var(--ink-3);flex-wrap:wrap;display:flex}.tb-session[hidden]{display:none}.tb-session:before{content:"";border:1px solid var(--ink-3);flex:none;width:8px;height:8px}.tb-session button{font:var(--t-ui);color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.tb-work{gap:var(--sp-6);margin-top:var(--sp-6);grid-template-columns:minmax(0,1fr);display:grid}.tb-stagecol{min-width:0}.tb-side{gap:var(--sp-6);flex-direction:column;min-width:0;display:flex}@media (width>=62rem){.tb-work{align-items:start;gap:var(--sp-8);grid-template-columns:minmax(0,1fr) 24rem}.tb-stagecol{top:var(--sp-4);position:sticky}}@media (width>=80rem){.tb-work{grid-template-columns:minmax(0,1fr) 27rem}}.tb-stagebar,.tb-acts{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.tb-stagebar{margin-bottom:var(--sp-3)}.tb-acts{margin-top:var(--sp-3)}.tb-stage{background:var(--s-panel);border:1px solid var(--rule);touch-action:manipulation;-webkit-user-select:none;user-select:none;height:clamp(20rem,60svh,38rem);position:relative;overflow:hidden}@media (width<=61.99rem){.tb-stage{aspect-ratio:5/4;height:auto;max-height:34rem}}.tb-dia{width:100%;height:100%;display:block;position:absolute;inset:0}.tb-dia .tb-dot{fill:var(--rule-strong)}.tb-dia .tb-w,.tb-dia .tb-g,.tb-dia .tb-p,.tb-dia .tb-belt,.tb-dia .tb-hit{vector-effect:non-scaling-stroke}.tb-dia .tb-w{fill:#10254f0d;stroke:var(--ink-3);stroke-width:1.25px;cursor:pointer}.tb-dia .tb-g,.tb-dia .tb-p{fill:var(--s-inset);stroke:var(--ink-2);stroke-width:1px;cursor:pointer}.tb-dia .tb-belt{fill:none;stroke:var(--ink-1);stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.tb-dia .is-sel{stroke:var(--accent);stroke-width:2px}.tb-dia .tb-belt.is-sel{stroke:var(--accent);stroke-width:3px}.tb-dia .tb-belt.is-bad,.tb-dia .tb-g.is-bad{stroke:var(--warn-line)}.tb-dia .tb-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.tb-ov{pointer-events:none;position:absolute;inset:0}.tb-ov-tags{z-index:1}.tb-ov-links{z-index:2}.tb-ov-ax{z-index:3}.tb-tag,.tb-lbl,.tb-ax-tag{white-space:nowrap;font:var(--t-micro);letter-spacing:0;color:var(--ink-1);background:var(--s-panel);border:1px solid var(--rule-hair);padding:1px 5px;position:absolute;top:0;left:0}.tb-lbl{pointer-events:auto;cursor:pointer;border-radius:0}.tb-lbl.is-sel{color:var(--accent)}.tb-lbl.is-bad{color:var(--warn-text);border-color:var(--warn-line)}.tb-ax{width:0;height:0;color:inherit;font:inherit;pointer-events:auto;cursor:grab;touch-action:none;background:0 0;border:0;margin:0;padding:0;position:absolute;top:0;left:0;overflow:visible}.tb-ax:before{content:"";width:36px;height:36px;position:absolute;top:-18px;left:-18px}.tb-ax:focus-visible{outline:none}.tb-ax-mark{box-sizing:border-box;border:2px solid var(--ink-1);background:var(--s-panel);width:12px;height:12px;transition:transform .14s var(--ease-out-strong);position:absolute;top:-6px;left:-6px}.tb-ax.is-motor .tb-ax-mark{background:var(--ink-1)}.tb-ax.is-sel .tb-ax-mark{border-color:var(--accent)}.tb-ax.is-motor.is-sel .tb-ax-mark{background:var(--accent)}.tb-ax:focus-visible .tb-ax-mark{outline:2px solid var(--accent);outline-offset:3px}.tb-ax.is-drag{cursor:grabbing}.tb-ax.is-drag .tb-ax-mark{transform:scale(1.35)}.tb-ax-turn{pointer-events:none;fill:none;width:34px;height:34px;stroke:var(--ink-3);stroke-width:1.4px;position:absolute;top:-17px;left:-17px}.tb-ax-turn polygon{fill:var(--ink-3);stroke:none}.tb-ax-tag{pointer-events:none;top:9px;left:12px}.tb-ax-tag b{font-family:var(--tb-font-sans);font-weight:700}.tb-ax.is-sel .tb-ax-tag b{color:var(--accent)}.tb-ax.is-off .tb-ax-tag{color:var(--ink-3)}.tb-scale{left:var(--sp-3);bottom:var(--sp-3);z-index:1;font:var(--t-micro);color:var(--ink-3);pointer-events:none;flex-direction:column;gap:3px;display:flex;position:absolute}.tb-scale i{border:1.5px solid var(--ink-3);border-top:0;height:5px;display:block}@media (width<=30rem){.tb-tag,.tb-lbl,.tb-ax-tag{padding:0 4px;font-size:.625rem}}@media (pointer:coarse){.tb-ax:before{width:44px;height:44px;top:-22px;left:-22px}}.tb-insp{background:var(--s-panel);border:1px solid var(--rule);padding:var(--sp-4)}.tb-insp-empty{font:var(--t-ui);color:var(--ink-3);margin:0}.tb-insp-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.tb-insp-h{font:var(--t-h3);color:var(--ink-1);margin:0}.tb-insp-h:focus{outline:none}.tb-insp-h:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tb-insp-sub{margin:var(--sp-5) 0 var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--rule-hair);font:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.tb-insp-note{margin:0 0 var(--sp-3);font:var(--t-caption);color:var(--ink-3)}.tb-grid2{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.tb-mt{margin-top:var(--sp-3)}.tb-part{margin:0 0 var(--sp-3);padding:0 0 var(--sp-3);border:0;border-bottom:1px solid var(--rule-hair);min-width:0;position:relative}.tb-part legend{float:left;width:100%;margin:0 0 var(--sp-2);padding:0 4.5rem 0 0}.tb-part>.tb-grid2{clear:both}.tb-part-head{align-items:baseline;gap:0 var(--sp-2);flex-wrap:wrap;display:flex}.tb-part-k{font:var(--t-ui);color:var(--ink-1);font-weight:700}.tb-part.is-hl .tb-part-k{color:var(--accent)}.tb-part-note{font:var(--t-caption);color:var(--ink-3)}.tb-part-rm{position:absolute;top:0;right:0}.tb-acts-row{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.tb-insp-foot{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--rule-hair)}.tb-insp-foot:empty{display:none}.tb-out-title{font:var(--t-h3);color:var(--ink-1);margin:0}.tb-out-title:focus{outline:none}.tb-out-h{margin:var(--sp-6) 0 var(--sp-2);font:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.tb-out-hrow{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);margin:var(--sp-6) 0 var(--sp-2);display:flex}.tb-out-hrow .tb-out-h{margin:0}.tb-inline{align-items:center;gap:var(--sp-2);font:var(--t-caption);color:var(--ink-3);display:flex}.tb-shell .tb-inline select{width:auto;height:30px;padding-block:4px}.tb-warns{margin:var(--sp-3) 0 0;padding:var(--sp-3) 0 0;border-top:1px solid var(--warn-line);gap:var(--sp-2);font:var(--t-caption);color:var(--warn-text);list-style:none;display:grid}.tb-table{border-collapse:collapse;width:100%}.tb-table th[scope=col]{font:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;background:var(--s-inset);border-bottom:1px solid var(--rule-axis);padding:6px 8px}.tb-table th[scope=row],.tb-table td{font:var(--t-num);color:var(--ink-1);text-align:left;border-bottom:1px solid var(--rule-hair);white-space:nowrap;padding:7px 8px}.tb-table .is-numeric{text-align:right}.tb-table td.tb-none{font:var(--t-caption);color:var(--ink-3)}.tb-empty{font:var(--t-caption);color:var(--ink-3);margin:0}.tb-name{font:inherit;font-family:var(--tb-font-sans);color:var(--ink-1);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700}.is-sel>.tb-name,.is-sel>th>.tb-name,.is-sel>.tb-item-h>.tb-name{color:var(--accent);text-decoration-color:currentColor}.tb-item{padding:var(--sp-3) 0 var(--sp-4);border-top:1px solid var(--rule-hair)}.tb-item:first-child{border-top-color:var(--rule-axis)}.tb-item-h{font:var(--t-ui);margin:0}.tb-item-sub{font:var(--t-caption);color:var(--ink-3);margin:2px 0 0}.tb-dl{gap:var(--sp-3) var(--sp-4);margin:var(--sp-3) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tb-dl>div{min-width:0}.tb-dl dt{font:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.tb-dl dd{font-family:var(--tb-font-mono);color:var(--ink-1);margin:2px 0 0;font-size:.9375rem;font-weight:500}.tb-dl dd b{font-weight:700}.tb-dl>.is-pick dd b{color:var(--accent)}.tb-dl>.is-warn dt,.tb-dl>.is-warn dd{color:var(--warn-text)}.tb-buy{margin:var(--sp-3) 0 0;gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tb-buy a{text-decoration:none;display:inline-block}.tb-buy .tb-maker{font:var(--t-caption);color:var(--ink-2);display:block}.tb-buy .tb-partno{font:var(--t-num);color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;display:block}.tb-none-buy{margin:var(--sp-3) 0 0;font:var(--t-caption);color:var(--ink-3)}.tb-item .tb-btn{margin-top:var(--sp-3)}.tb-method{margin-top:var(--sp-6);border-bottom:1px solid var(--rule-hair);grid-template-columns:minmax(0,1fr);display:grid}.tb-mblock{min-width:0;padding:var(--sp-5) 0 var(--sp-6);border-top:1px solid var(--rule-hair);font:var(--t-body);color:var(--ink-2)}.tb-clump-h{font:var(--t-h3);color:var(--ink-2);margin:0 0 var(--sp-4)}.tb-mblock p{margin:0 0 var(--sp-3);max-width:68ch}.tb-mblock p:last-child{margin-bottom:0}.tb-mblock a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}@media (width>=62rem){.tb-method{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-mblock:nth-child(odd){padding-right:var(--sp-8)}.tb-mblock:nth-child(2n){padding-left:var(--sp-8);border-left:1px solid var(--rule-hair)}}.tb-mblock .katex{color:var(--ink-1);font-size:1.1em}.tb-eq{margin:var(--sp-3) 0 var(--sp-4);overflow:auto hidden}.tb-eq+.tb-eq{margin-top:calc(-1 * var(--sp-1))}.tb-eq .katex-display{margin:0}.tb-eq .katex-display.fleqn>.katex{padding-left:var(--sp-6);font-size:1.16em}@media (width<=30rem){.tb-eq .katex-display.fleqn>.katex{padding-left:0;font-size:1.04em}}.tb-srsum,.tb-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){.tb-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-ink-1)}.tb-btn-ghost:hover{color:var(--accent-ink);background:0 0;border-color:#0000}.tb-shell a.tb-back:hover{color:var(--accent)}.tb-session button:hover,.tb-textbtn:hover{color:var(--accent-ink)}.tb-name:hover{color:var(--accent);text-decoration-color:currentColor}.tb-lbl:hover,.tb-ax:hover .tb-ax-tag b{color:var(--accent)}.tb-dia .tb-w:hover,.tb-dia .tb-g:hover,.tb-dia .tb-p:hover{stroke:var(--accent)}.tb-buy a:hover .tb-partno{color:var(--accent-ink)}}@media (width<=64rem),(pointer:coarse){.tb-btn,.tb-btn-sm,.tb-check{min-height:44px}.tb-shell input[type=number],.tb-shell select,.tb-shell .tb-inline select{height:44px}.tb-textbtn{min-height:32px}.tb-part-rm{top:-8px}}@media (prefers-reduced-motion:reduce){.tb-btn,.tb-ax-mark{transition:none}.tb-btn:active,.tb-ax.is-drag .tb-ax-mark{transform:none}}
