.tw-app{color-scheme:dark;--bg: #0b0b0c;--surface: #17191c;--surface-soft: #22262b;--text: #f4f5f2;--muted: #b9bec5;--line: #3b424b;--primary: #ccff00;--primary-strong: #ddff66;--accent: #ccff00;--accent-soft: #283014;--success: #73d2a6;--success-soft: #1b3b31;--danger: #ff9292;--shadow: 0 18px 50px rgba(0,0,0,.25);--radius: 18px;font-family:Barlow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}.tw-app *{box-sizing:border-box}.tw-app [hidden]{display:none!important}.tw-app{margin:0;min-width:320px;background:var(--bg);color:var(--text);line-height:1.55}.tw-app button,.tw-app input,.tw-app select{font:inherit}.tw-app button{cursor:pointer}.tw-app a{color:inherit}.tw-app .section-shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}.tw-app .tw-page-nav{display:flex;gap:clamp(12px,3vw,28px);font-size:.88rem;color:var(--muted)}.tw-app .tw-page-nav a{text-decoration:none}.tw-app .tw-page-nav a:hover,.tw-app .tw-page-nav a:focus-visible{color:var(--primary)}.tw-app .lang-switch{display:flex;flex:none;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.78rem;font-weight:750}.tw-app .lang-switch a{padding:5px 10px;border-radius:999px;color:var(--muted);text-decoration:none;white-space:nowrap;line-height:1.2}.tw-app .lang-switch a:hover,.tw-app .lang-switch a:focus-visible{color:var(--primary)}.tw-app .lang-switch a[aria-current]{color:var(--surface);background:var(--primary)}.tw-app .notfound-links{display:flex;flex-wrap:wrap;gap:10px}.tw-app .tw-hero{padding-block:clamp(40px,8vw,94px) 76px;display:grid;gap:42px}.tw-app .tw-page-hero{display:block;padding-block-end:38px}.tw-app .hero-callout{max-width:430px;padding:22px;border-left:4px solid var(--accent);border-radius:12px;background:var(--accent-soft);color:var(--muted)}.tw-app .hero-callout strong{color:var(--text)}.tw-app .hero-callout p{margin:8px 0 0}.tw-app .hero-copy{max-width:760px}.tw-app .tw-eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800;color:var(--primary)}.tw-app h1,.tw-app h2,.tw-app h3,.tw-app p{margin-top:0}.tw-app h1,.tw-app h2,.tw-app h3{letter-spacing:-.04em;line-height:1.1}.tw-app h1{max-width:750px;margin-bottom:22px;font-size:clamp(2.5rem,6vw,5.5rem)}.tw-app h2{margin-bottom:14px;font-size:clamp(1.8rem,3.6vw,3rem)}.tw-app h3{font-size:1.08rem}.tw-app .hero-lede{max-width:630px;margin-bottom:28px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.22rem)}.tw-app .hero-facts{display:flex;flex-wrap:wrap;gap:9px}.tw-app .hero-facts span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.82rem}.tw-app .hero-facts b{color:var(--text)}.tw-app .type-picker{padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.tw-app .section-kicker-row,.tw-app .result-card-top,.tw-app .diagram-toolbar,.tw-app .result-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.tw-app .section-kicker-row .tw-eyebrow{margin:0}.tw-app .microcopy,.tw-app .diagram-angle{font-size:.75rem;color:var(--muted)}.tw-app .type-picker h2{margin-block:10px 22px;font-size:clamp(1.3rem,3vw,1.8rem)}.tw-app .type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tw-app .type-card{min-height:164px;padding:0;border:0;border-radius:14px;color:var(--text);background:transparent;perspective:800px;text-align:left}.tw-app .type-card-inner{display:block;position:relative;width:100%;height:100%;min-height:164px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.tw-app .type-card.is-flipped .type-card-inner{transform:rotateY(180deg)}.tw-app .type-card-face{position:absolute;inset:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.tw-app .type-card-front{justify-content:flex-start}.tw-app .type-card-back{transform:rotateY(180deg);justify-content:center;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.tw-app .type-card.is-selected .type-card-front{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.tw-app .card-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:22px;border-radius:11px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary) 15%,transparent);font-size:1.4rem}.tw-app .type-card strong{font-size:.95rem}.tw-app .type-card small{margin-top:5px;color:var(--muted);font-size:.77rem}.tw-app .flip-hint{margin-top:auto;color:var(--primary);font-size:.72rem}.tw-app .success-text{color:var(--success)}.tw-app .calculator-section,.tw-app .step-section,.tw-app .measure-section,.tw-app .mistakes-section,.tw-app .faq-section,.tw-app .examples-section,.tw-app .simulation-section,.tw-app .converter-section,.tw-app .placeholder-section,.tw-app .angle-section{padding-block:74px}.tw-app .section-heading{max-width:700px;margin-bottom:30px}.tw-app .section-heading p:not(.tw-eyebrow){color:var(--muted)}.tw-app .calculator-layout{display:grid;gap:18px;align-items:start}.tw-app .diagram-panel,.tw-app .calculator-form{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tw-app .diagram-panel{overflow:hidden}.tw-app .diagram-toolbar{padding:14px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem}.tw-app .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.tw-app .diagram-toolbar .live-dot{margin-right:auto}.tw-app .live-diagram{min-height:365px;padding:10px;background:linear-gradient(145deg,var(--surface),var(--surface-soft))}.tw-app .live-diagram svg{display:block;width:100%;height:auto;min-height:340px}.tw-app .diagram-caption{margin:0;padding:4px 18px 18px;color:var(--muted);font-size:.78rem}.tw-app .calculator-form{padding:clamp(18px,3vw,28px)}.tw-app .mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:24px;padding:4px;border-radius:11px;background:var(--surface-soft)}.tw-app .mode-switch label{position:relative;display:block}.tw-app .mode-switch input{position:absolute;opacity:0}.tw-app .mode-switch span{display:block;padding:9px 7px;border-radius:8px;text-align:center;color:var(--muted);font-size:.75rem;cursor:pointer}.tw-app .mode-switch input:checked+span{color:var(--text);background:var(--surface);box-shadow:0 2px 7px #00000014;font-weight:700}.tw-app .mode-switch input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.tw-app .field-grid{display:grid;gap:17px}.tw-app .field{min-width:0}.tw-app .field label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;font-size:.85rem;font-weight:750}.tw-app .field-symbol{color:var(--accent);font-family:Georgia,serif;font-size:1.05rem;font-style:italic}.tw-app .field label output{margin-left:auto;color:var(--primary);font-weight:800}.tw-app .input-with-unit{display:flex;min-width:0}.tw-app input[type=number],.tw-app select{width:100%;min-height:43px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:8px 11px}.tw-app .input-with-unit input{border-radius:9px 0 0 9px}.tw-app .input-with-unit select,.tw-app .unit-badge{width:auto;min-width:70px;border-left:0;border-radius:0 9px 9px 0;background:var(--surface-soft);color:var(--muted)}.tw-app .unit-badge{display:grid;place-items:center;padding-inline:12px;font-size:.82rem}.tw-app input:focus-visible,.tw-app select:focus-visible,.tw-app button:focus-visible,.tw-app summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.tw-app input[type=range]{width:100%;margin:14px 0 1px;accent-color:var(--primary)}.tw-app .field small{display:block;color:var(--muted);font-size:.72rem}.tw-app .angle-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.69rem}.tw-app .optional-range{padding-top:2px;border-top:1px solid var(--line)}.tw-app .optional-range summary{padding-top:14px;color:var(--primary);cursor:pointer;font-size:.8rem;font-weight:700}.tw-app .range-inputs{display:flex;align-items:end;gap:8px;padding-top:13px}.tw-app .range-inputs label{display:grid;width:35%;color:var(--muted);font-size:.72rem}.tw-app .range-inputs input{min-height:36px;margin-top:3px}.tw-app .range-inputs>span{padding:10px 0;color:var(--muted);font-size:.78rem}.tw-app .correction-note{display:flex;gap:10px;margin-top:18px;padding:12px;border:1px solid color-mix(in srgb,var(--success) 42%,var(--line));border-radius:10px;background:var(--success-soft);color:var(--success);font-size:.78rem}.tw-app .correction-note>span:first-child{font-size:1.2rem;font-weight:900}.tw-app .validation-message{min-height:1.2em;margin:12px 0 0;color:var(--danger);font-size:.78rem}.tw-app .result-card{margin-top:10px;padding:18px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--line));border-radius:14px;background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface))}.tw-app .result-card.is-invalid{border-color:var(--danger)}.tw-app .result-card-top{color:var(--muted);font-size:.77rem;font-weight:700}.tw-app .result-chip{padding:3px 7px;border-radius:999px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary) 15%,transparent);font-size:.6rem;letter-spacing:.08em}.tw-app .result-value{display:flex;align-items:baseline;gap:8px;margin:12px 0 5px}.tw-app .result-value strong{color:var(--primary-strong);font-size:clamp(2.7rem,8vw,4.5rem);letter-spacing:-.08em;line-height:.95}.tw-app .result-value span{color:var(--muted);font-weight:700}.tw-app .result-card p{color:var(--muted);font-size:.8rem}.tw-app .result-meta{justify-content:flex-start;flex-wrap:wrap;margin:15px 0;color:var(--text);font-size:.74rem}.tw-app .result-meta span:first-child{color:var(--success);font-weight:800}.tw-app .result-actions{display:flex;flex-wrap:wrap;gap:8px}.tw-app .button{min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:.77rem;font-weight:750}.tw-app .button-primary{border-color:var(--primary);background:var(--primary);color:#fff}.tw-app .button-ghost{background:transparent;color:var(--text)}.tw-app .copy-status{min-height:1.2em;margin:9px 0 0!important;color:var(--success)!important}.tw-app .calculator-form.is-dimmed{opacity:.62}.tw-app .simulation-placeholder{display:flex;align-items:center;gap:24px;min-height:180px;padding:clamp(20px,4vw,38px);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:var(--surface)}.tw-app .simulation-placeholder strong{display:block;margin-bottom:5px;color:var(--text)}.tw-app .simulation-placeholder p{margin:0;font-size:.85rem}.tw-app .placeholder-wrench{display:grid;place-items:center;flex:0 0 80px;height:80px;border-radius:24px;color:var(--primary);background:var(--surface-soft);font-size:3rem;transform:rotate(-25deg)}.tw-app .mini-gauge{position:relative;display:none;flex:0 0 105px;height:55px;margin-left:auto;border:4px solid var(--line);border-bottom:0;border-radius:100px 100px 0 0;color:var(--muted);font-size:.65rem}.tw-app .mini-gauge span{position:absolute;bottom:2px}.tw-app .mini-gauge span:first-child{left:2px}.tw-app .mini-gauge span:nth-child(2){left:47%}.tw-app .mini-gauge span:nth-child(3){right:2px}.tw-app .mini-gauge i{position:absolute;bottom:6px;left:50%;width:2px;height:37px;background:var(--accent);transform-origin:bottom;transform:rotate(24deg)}.tw-app .steps-grid,.tw-app .measure-grid,.tw-app .mistakes-grid,.tw-app .examples-grid{display:grid;gap:13px}.tw-app .step-card,.tw-app .measure-card,.tw-app .mistake-card,.tw-app .example-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.tw-app .step-number{color:var(--accent);font:800 1.8rem/1 Georgia,serif}.tw-app .step-card h3,.tw-app .measure-card h3,.tw-app .mistake-card h3{margin:18px 0 7px}.tw-app .step-card p,.tw-app .measure-card p,.tw-app .mistake-card p{margin:0;color:var(--muted);font-size:.86rem}.tw-app .formula-strip{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:16px;padding:16px 19px;border-radius:12px;background:var(--surface-soft)}.tw-app .formula-strip>span:first-child{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tw-app .formula-strip code{font-size:clamp(.92rem,2vw,1.1rem);font-weight:800}.tw-app .formula-note{color:var(--muted);font-size:.74rem}.tw-app .angle-tour-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line)}.tw-app .angle-marker{min-height:180px;padding:23px 18px;background:var(--surface)}.tw-app .angle-marker.active{background:var(--accent-soft)}.tw-app .angle-marker>span{display:block;color:var(--accent);font:800 1.9rem/1 Georgia,serif}.tw-app .angle-marker i{display:block;width:45px;height:4px;margin:22px 0 17px;border-radius:5px;background:var(--accent)}.tw-app .angle-marker:nth-child(2) i{width:35px;background:var(--success)}.tw-app .angle-marker:nth-child(3) i{width:55px;background:var(--primary)}.tw-app .angle-marker strong{display:block;margin-bottom:4px;font-size:.92rem}.tw-app .angle-marker small{color:var(--muted);font-size:.75rem}.tw-app .measure-grid{grid-template-columns:repeat(2,1fr)}.tw-app .measure-illustration{position:relative;height:100px;margin-bottom:18px;border-radius:10px;background:var(--surface-soft)}.tw-app .measure-line{position:absolute;top:50%;left:13%;right:13%;height:3px;background:var(--primary)}.tw-app .measure-dot{position:absolute;top:calc(50% - 7px);width:14px;height:14px;border:3px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tw-app .measure-dot.left{left:12%}.tw-app .measure-dot.right{right:12%}.tw-app .measure-label{position:absolute;top:calc(50% - 33px);left:50%;color:var(--primary-strong);font:800 1.4rem Georgia,serif;transform:translate(-50%)}.tw-app .mistakes-grid{grid-template-columns:repeat(3,1fr)}.tw-app .mistake-card{display:flex;gap:14px}.tw-app .mistake-card h3{margin-top:0}.tw-app .mistake-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;font-size:1.3rem;font-weight:900}.tw-app .mistake-icon.bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,transparent)}.tw-app .mistake-icon.good{color:var(--success);background:var(--success-soft)}.tw-app .faq-list{border-top:1px solid var(--line)}.tw-app .faq-list details{border-bottom:1px solid var(--line)}.tw-app .faq-list summary{padding:19px 35px 19px 0;cursor:pointer;list-style:none;font-weight:750;position:relative}.tw-app .faq-list summary::-webkit-details-marker{display:none}.tw-app .faq-list summary:after{content:"+";position:absolute;right:3px;color:var(--primary);font-size:1.4rem;font-weight:400}.tw-app .faq-list details[open] summary:after{content:"−"}.tw-app .faq-list details p{max-width:760px;margin:-4px 0 19px;color:var(--muted);font-size:.88rem}.tw-app .examples-grid{grid-template-columns:repeat(3,1fr)}.tw-app .example-card{display:flex;flex-direction:column;gap:8px;width:100%;color:var(--text);text-align:left;transition:transform .2s,border-color .2s}.tw-app .example-card:hover{border-color:var(--primary);transform:translateY(-3px)}.tw-app .example-tag{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tw-app .example-card strong{font-size:1rem}.tw-app .example-card>span:not(.example-tag){color:var(--muted);font-size:.8rem}.tw-app .example-card small{margin-top:8px;color:var(--primary);font-weight:750}.tw-app .sim-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tw-app .sim-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.tw-app .sim-card,.tw-app .angle-tour-card{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tw-app .sim-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.tw-app .sim-status{color:var(--muted);font-size:.75rem;font-weight:800}.tw-app .sim-status.over{color:var(--danger)}.tw-app .sim-status.under{color:#b47b21}.tw-app .sim-status.good{color:var(--success)}.tw-app .sim-card p{margin:0;color:var(--muted);text-align:center;font-size:.82rem}.tw-app .sim-result{min-height:1.4em;margin:14px 0 0;color:var(--muted);font-size:.85rem}@keyframes wrench-shake{0%,to{transform:translate(0)}35%{transform:translate(-4px) rotate(-1deg)}70%{transform:translate(4px) rotate(1deg)}}.tw-app .sim-card.shake{animation:wrench-shake .22s linear 2}.tw-app .angle-tour-card{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:22px}.tw-app .angle-tour-visual svg{width:100%;min-height:220px;overflow:visible}.tw-app .angle-tour-copy{color:var(--muted)}.tw-app .angle-tour-copy strong{display:block;margin-bottom:8px;color:var(--text)}.tw-app .angle-tour-copy p{font-size:.84rem}.tw-app .angle-arm{width:100%;height:12px;margin:20px 0;border-radius:10px;background:linear-gradient(90deg,var(--accent) 0 52%,var(--success) 52% 55%,var(--primary) 55%);transform:rotate(var(--tour-angle, 0deg));transform-origin:0 50%}.tw-app .converter-controls{display:flex;gap:14px;max-width:500px;margin-bottom:26px}.tw-app .converter-controls label{display:grid;gap:6px;flex:1;color:var(--muted);font-size:.8rem;font-weight:750}.tw-app .conversion-bars{display:grid;gap:12px;max-width:800px}.tw-app .conversion-row{display:grid;grid-template-columns:80px 120px 1fr;align-items:center;gap:12px;min-height:42px}.tw-app .conversion-row strong{color:var(--primary)}.tw-app .conversion-row span{text-align:right;font-variant-numeric:tabular-nums}.tw-app .conversion-row i{display:block;width:var(--bar);height:15px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));transform-origin:left;animation:bar-in .55s both}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tw-app .guide-step{opacity:.18;transform:translateY(16px)}.tw-app .guide-step.is-visible{opacity:1;transform:none}.tw-app .mistake-icon.is-correct{color:var(--success)}@media(min-width:760px){.tw-app .tw-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);align-items:center}.tw-app .calculator-layout{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr)}.tw-app .field-grid{grid-template-columns:repeat(2,1fr)}.tw-app .field-wide{grid-column:1 / -1}.tw-app .mini-gauge{display:block}}@media(max-width:680px){.tw-app .tw-page-nav{gap:12px;flex-wrap:wrap}.tw-app .lang-switch a{padding:5px 8px}.tw-app .type-cards,.tw-app .measure-grid,.tw-app .mistakes-grid,.tw-app .examples-grid,.tw-app .angle-tour-placeholder{grid-template-columns:1fr}.tw-app .type-card,.tw-app .type-card-inner{min-height:132px}.tw-app .type-card-face{padding:14px}.tw-app .card-icon{margin-bottom:12px}.tw-app .angle-marker{min-height:0}.tw-app .angle-marker i{margin-block:10px}.tw-app .simulation-placeholder{align-items:flex-start;flex-wrap:wrap}.tw-app .mini-gauge{display:block;margin-left:0}.tw-app .sim-grid,.tw-app .angle-tour-card{grid-template-columns:1fr}.tw-app .converter-controls{flex-direction:column}.tw-app .conversion-row{grid-template-columns:70px 100px 1fr;gap:8px}.tw-app .angle-tour-visual svg{min-height:180px}}@media(prefers-reduced-motion:reduce){.tw-app *,.tw-app *:before,.tw-app *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tw-app .guide-step,.tw-app .js-anim,html.js .tw-app .js-anim.is-visible{opacity:1;transform:none}@media print{.tw-app .guide-step,.tw-app .js-anim,html.js .tw-app .js-anim{opacity:1!important;transform:none!important}}.tw-app .type-card-back strong{color:var(--text);font-size:1.08rem}.tw-app .type-card-back small{color:var(--text);font-size:.9rem;line-height:1.4}.tw-app .sim-scene{display:block;width:100%;height:auto;margin:14px 0 10px;border-radius:12px}.tw-app .sim-scene text{font-family:inherit}.tw-app .sim-readout{margin:4px 0 0!important;text-align:left!important;font-size:.82rem!important;font-weight:700;color:var(--text)!important}.tw-app .sim-readout+.sim-readout{color:var(--muted)!important;font-weight:500}.tw-app .angle-tour-card{grid-template-columns:.72fr 1.28fr;align-items:start;overflow:hidden}.tw-app .angle-tool-visual,.tw-app .angle-chart-visual{min-width:0}.tw-app .angle-tool-visual{padding:12px;border-radius:12px;background:var(--surface-soft)}.tw-app .angle-tool-visual svg,.tw-app .angle-chart{display:block;width:100%;height:auto;min-height:0;overflow:hidden;font-family:inherit}.tw-app .angle-tool-visual p{margin:8px 0 0;color:var(--muted);font-size:.72rem;text-align:center}.tw-app .angle-chart text{fill:var(--muted);font-size:11px;font-family:inherit}.tw-app .angle-chart .chart-title{fill:var(--text);font-size:12px;font-weight:800}.tw-app .angle-chart .reference-label{fill:var(--ld-o);font-weight:800}.tw-app .angle-chart .axis-label{fill:var(--ld-p);font-weight:750}.tw-app .angle-chart .chart-axis{stroke:var(--muted);stroke-width:1}.tw-app .angle-chart .chart-grid{stroke:var(--ld-p);stroke-opacity:.1;stroke-width:1}.tw-app .angle-chart .chart-ninety{stroke:var(--ld-o);stroke-opacity:.45;stroke-width:1;stroke-dasharray:2 4}.tw-app .angle-chart .chart-reference{stroke:var(--ld-o);stroke-width:1.4;stroke-dasharray:6 4}.tw-app .angle-chart .chart-curve{fill:none;stroke:var(--ld-a);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tw-app .angle-chart .chart-dot{fill:var(--surface);stroke:var(--ld-p);stroke-width:2.5}.tw-app .angle-chart .chart-guide{stroke:var(--ld-p);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.tw-app .angle-tool-visual{background:var(--surface);border:1px solid var(--line)}.tw-app .ld-proj{stroke:var(--ld-a);stroke-width:6;stroke-linecap:round;opacity:.85}.tw-app .angle-tour-copy{margin-top:10px}.tw-app .angle-tour-copy strong{font-size:1.05rem}.tw-app .measure-grid{grid-template-columns:repeat(3,1fr)}.tw-app .measure-svg{display:block;width:100%;height:auto;margin-bottom:18px;border-radius:10px;background:var(--surface-soft)}.tw-app .measure-warning{background:color-mix(in srgb,var(--danger) 4%,var(--surface))}.tw-app #conversion-results{display:grid;gap:24px}.tw-app .force-comparison{display:grid;gap:13px;max-width:880px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tw-app .force-intro h2{margin:3px 0 8px;font-size:clamp(1.4rem,3vw,2.1rem)}.tw-app .force-intro p:last-child{margin:0;color:var(--muted)}.tw-app .force-card{display:grid;grid-template-columns:minmax(190px,.7fr) 1fr;align-items:center;gap:18px}.tw-app .force-card div{display:grid;gap:2px}.tw-app .force-card strong{font-size:.94rem}.tw-app .force-card span{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.tw-app .force-card i{display:block;width:var(--force-bar);height:15px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));transform-origin:left}.tw-app .conversion-grid{display:grid;grid-template-columns:.8fr 1fr;gap:24px;align-items:start;max-width:880px}.tw-app .conversion-grid h3{margin:0 0 5px}.tw-app .conversion-note{margin:0;color:var(--muted);font-size:.82rem}.tw-app .conversion-grid table,.tw-app .quick-reference table{width:100%;border-collapse:collapse;font-size:.84rem}.tw-app .conversion-grid th,.tw-app .conversion-grid td,.tw-app .quick-reference th,.tw-app .quick-reference td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.tw-app .conversion-grid th:first-child,.tw-app .conversion-grid td:first-child,.tw-app .quick-reference th:first-child,.tw-app .quick-reference td:first-child{text-align:left}.tw-app .conversion-grid thead,.tw-app .quick-reference thead{color:var(--primary)}.tw-app .quick-reference{max-width:880px;margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tw-app .quick-reference h3{margin:0 0 10px}.tw-app svg text{font-family:inherit}.tw-app .live-diagram,.tw-app .diagram-controls,.tw-app .sim-scene,.tw-app .angle-tour-card,.tw-app .measure-svg{--ld-p: #67c1e5;--ld-a: #ffad68;--ld-m: #e1b070;--ld-o: #73d2a6;--ld-d: #ff9292}.tw-app .ld-f-p{fill:var(--ld-p)}.tw-app .ld-f-a{fill:var(--ld-a)}.tw-app .ld-f-m{fill:var(--ld-m)}.tw-app .ld-f-o{fill:var(--ld-o)}.tw-app .ld-f-d{fill:var(--ld-d)}.tw-app .ld-s-p{stroke:var(--ld-p)}.tw-app .ld-s-a{stroke:var(--ld-a)}.tw-app .ld-s-m{stroke:var(--ld-m)}.tw-app .ld-s-o{stroke:var(--ld-o)}.tw-app .ld-s-d{stroke:var(--ld-d)}.tw-app .ld-grid-line{fill:none;stroke:var(--ld-p);stroke-opacity:.07}.tw-app .ld-hatch-line{stroke:var(--ld-p);stroke-width:1.5;stroke-opacity:.55}.tw-app .ld-axis{stroke:var(--muted);stroke-width:1;stroke-dasharray:14 4 3 4;opacity:.7}.tw-app .ld-centre-mark{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:6 3 2 3}.tw-app .ld-body{fill:var(--surface-soft);stroke:var(--text);stroke-opacity:.75;stroke-width:2}.tw-app .ld-grip{fill:url(#ld-hatch)}.tw-app .ld-ext{fill:var(--ld-m);fill-opacity:.3;stroke:var(--ld-m);stroke-width:2}.tw-app .ld-ext-drive{fill:var(--surface-soft);stroke:var(--ld-m);stroke-width:2}.tw-app .ld-ext-jaw{fill:none;stroke:var(--ld-m);stroke-width:9;stroke-linecap:round}.tw-app .ld-ext-socket{fill:var(--surface-soft);stroke:var(--ld-m);stroke-width:3}.tw-app .ld-nut{fill:var(--surface);stroke:var(--ld-a);stroke-width:2.5}.tw-app .ld-force{stroke:var(--ld-p);stroke-width:3}.tw-app .ld-projection{stroke:var(--ld-a);stroke-width:1.4;stroke-dasharray:4 4}.tw-app .ld-ext-line{fill:none;stroke:var(--muted);stroke-width:1;opacity:.8}.tw-app .ld-dim{stroke-width:1.6}.tw-app .ld-arc{fill:none;stroke:var(--ld-o);stroke-width:2}.tw-app .ld-pill{fill:var(--surface);stroke-width:1.5}.tw-app .ld-note{fill:var(--muted);font-style:italic}.tw-app .ld-halo{paint-order:stroke;stroke:var(--surface-soft);stroke-width:6px;stroke-linejoin:round}.tw-app .ld-leader{fill:none;stroke:var(--ld-a);stroke-width:1;stroke-dasharray:3 3}.tw-app .ld-cut{fill:none;stroke:var(--text);stroke-opacity:.75;stroke-width:2}.tw-app .ld-wrong{fill:none;stroke:var(--ld-d);stroke-width:4;stroke-linecap:round}.tw-app .ld-washer{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:3 4}.tw-app .ld-nut-mark{stroke:var(--ld-a);stroke-width:2.5;stroke-linecap:round}.tw-app .ld-burst{fill:none;stroke:var(--ld-a);stroke-width:3;stroke-dasharray:5 6}.tw-app .ld-track{fill:none;stroke:var(--line);stroke-width:14}.tw-app .ld-zone{fill:none;stroke-width:14;opacity:.55}.tw-app .ld-zone-over{opacity:.3}.tw-app .ld-tick{stroke:var(--muted);stroke-width:1.5}.tw-app .ld-target{stroke:var(--ld-o);stroke-width:3;stroke-linecap:round}.tw-app .ld-needle{stroke-width:4;stroke-linecap:round}.tw-app .ld-hub{fill:var(--surface);stroke:var(--text);stroke-width:2.5}.tw-app .diagram-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 18px 10px;border-top:1px solid var(--line)}.tw-app .diagram-control{display:grid;gap:6px;font-size:.8rem;font-weight:700;color:var(--muted)}.tw-app .diagram-control span{display:flex;justify-content:space-between;gap:8px}.tw-app .diagram-control output{font-variant-numeric:tabular-nums;color:var(--text)}.tw-app .diagram-control input{width:100%}.tw-app .diagram-control.tone-p input{accent-color:var(--ld-p)}.tw-app .diagram-control.tone-m input{accent-color:var(--ld-m)}.tw-app .diagram-control.tone-o input{accent-color:var(--ld-o)}.tw-app .diagram-control input:disabled{opacity:.4}@media(max-width:680px){.tw-app .calculator-section,.tw-app .step-section,.tw-app .measure-section,.tw-app .mistakes-section,.tw-app .faq-section,.tw-app .examples-section,.tw-app .simulation-section,.tw-app .converter-section,.tw-app .placeholder-section,.tw-app .angle-section{padding-block:44px}.tw-app .angle-tour-card{grid-template-columns:1fr;gap:14px;padding:14px}.tw-app .angle-chart{min-height:0}.tw-app .angle-chart text{font-size:15px}.tw-app .angle-chart .chart-title{font-size:15px}.tw-app .angle-chart .y-label{display:none}.tw-app .live-diagram,.tw-app .live-diagram svg{min-height:0}.tw-app .diagram-controls{grid-template-columns:1fr;gap:10px}.tw-app .tw-page-hero{padding-block:32px 20px}.tw-app .converter-section{padding-block:22px 44px}.tw-app .force-card{grid-template-columns:1fr;gap:7px}.tw-app .force-card i{width:var(--force-bar)}.tw-app .conversion-grid{grid-template-columns:1fr;gap:18px}.tw-app .measure-grid{grid-template-columns:1fr}.tw-app .sim-card{padding:16px}}.tw-app:lang(zh-Hant-TW){font-family:Barlow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}.tw-app:lang(ja){font-family:Barlow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}.tw-app .lang-switch a:lang(zh-Hant-TW){font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}.tw-app .lang-switch a:lang(ja){font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}.tw-app:lang(zh-Hant-TW) :is(h1,h2,h3),.tw-app:lang(ja) :is(h1,h2,h3){letter-spacing:0}.tw-app:lang(zh-Hant-TW) :is(h1,h2),.tw-app:lang(ja) :is(h1,h2){line-height:1.25}.tw-app:lang(zh-Hant-TW) h1,.tw-app:lang(ja) h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}.tw-app:lang(zh-Hant-TW) .tw-eyebrow,.tw-app:lang(ja) .tw-eyebrow{letter-spacing:.08em}.tw-app:lang(zh-Hant-TW),.tw-app:lang(ja){line-break:strict}.tw-app:lang(ja) :is(h1,h2,h3,summary,.hero-lede){word-break:auto-phrase}.tw-app:lang(zh-Hant-TW),.tw-app:lang(ja){line-height:1.7}.tw-app:lang(zh-Hant-TW) .phrase,.tw-app:lang(ja) .phrase{display:inline-block}.tw-app:lang(zh-Hant-TW) :is(h1,h2),.tw-app:lang(ja) :is(h1,h2){text-wrap:balance}.tw-app:lang(zh-Hant-TW) .type-card-face,.tw-app:lang(ja) .type-card-face{line-height:1.4}.tw-app .phrase{display:inline-block}.tw-app{display:block;width:100%;padding-bottom:50px}.tw-app h1,.tw-app h2,.tw-app h3{font-family:Barlow Condensed,Barlow,sans-serif;color:var(--text);text-transform:none}.tw-app h1{max-width:750px}.tw-app .button-primary{color:#0b0b0c}.tw-app button:focus-visible,.tw-app a:focus-visible,.tw-app input:focus-visible,.tw-app select:focus-visible{outline:2px solid #ccff00;outline-offset:4px}.tw-app .tw-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding-block:20px;border-bottom:1px solid var(--line)}.tw-app .tw-page-nav{display:flex;flex-wrap:wrap}.tw-app .tw-brand-section,.tw-app .tw-more-tools{padding-block:32px}.tw-app .tw-brand-section>p{max-width:850px;color:var(--muted)}.tw-app .tw-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tw-app .tw-product-grid>a{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none}.tw-app .tw-product-grid h3{color:var(--primary);margin-bottom:10px}.tw-app .tw-product-grid p{color:var(--muted);margin-bottom:0}.tw-app .tw-disclaimer{border-block:1px solid var(--line)}.tw-app .tw-disclaimer h2{font-size:1.5rem}.tw-app .tw-more-tools h2{font-size:1.6rem}.tw-app .tw-tool-links{display:flex;flex-wrap:wrap;gap:12px;color:var(--primary)}@media(max-width:760px){.tw-app .tw-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.tw-app .tw-product-grid{grid-template-columns:1fr}}.tw-app h1,.tw-app h2,.tw-app h3{font-weight:700;line-height:1.1;letter-spacing:-.04em;text-wrap:wrap}.tw-app:lang(zh-Hant-TW) h1,.tw-app:lang(ja) h1,.tw-app:lang(zh-Hant-TW) h2,.tw-app:lang(ja) h2,.tw-app:lang(zh-Hant-TW) h3,.tw-app:lang(ja) h3{font-family:inherit;letter-spacing:0;line-height:1.25;text-wrap:balance}
