.tool-shell{--green-mid:#2e7a55;--brass-soft:#b79355;--tan:#c2b49c;--lock:#b7ac99;--ink-3:#938876;--line-2:rgba(26,23,20,.055);--shadow-sm:0 1px 2px rgba(26,23,20,.05),0 2px 8px rgba(26,23,20,.04);--shadow-md:0 2px 4px rgba(26,23,20,.05),0 14px 36px rgba(26,23,20,.1);max-width:840px;margin:28px auto 0;padding:0 28px;font-family:var(--font-ui);color:var(--ink)}.tool-shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tool-shell a{color:var(--primary);text-decoration:none}.tool-shell .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);overflow:hidden}.tool-shell .pp{padding:34px 36px}.tool-shell .computing,.tool-shell .view{display:block}.tool-shell .ts-fade{animation:ts-fadeIn .35s ease both}@keyframes ts-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tool-shell .results-region:focus{outline:none}.tool-shell .field{margin-bottom:24px}.tool-shell .fl-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.tool-shell .fl{font-size:13.5px;font-weight:600;color:var(--ink)}.tool-shell .fh{font-size:12px;color:var(--ink-3)}.tool-shell .srow{display:flex;align-items:center;gap:16px}.tool-shell .snum{width:150px;flex:none;font-family:var(--font-heading);font-weight:700;font-size:1.45rem;letter-spacing:-.02em;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.32em .55em;background:var(--paper);text-align:right}.tool-shell .snum:focus{border-color:var(--accent);outline:none}.tool-shell .slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:7px;border-radius:7px;outline:none;background:linear-gradient(90deg,var(--accent) 0,var(--accent) var(--fill,30%),rgba(26,23,20,.12) var(--fill,30%))}.tool-shell .slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--card);border:3px solid var(--accent);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-transition:transform .12s;transition:transform .12s}.tool-shell .slider::-webkit-slider-thumb:active{transform:scale(1.12)}.tool-shell .slider::-moz-range-thumb{width:21px;height:21px;border-radius:50%;background:var(--card);border:3px solid var(--accent);cursor:pointer}.tool-shell .ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:8px}.tool-shell .seg{display:flex;gap:8px;flex-wrap:wrap}.tool-shell .seg button{flex:1;min-width:90px;font-size:13px;font-weight:600;padding:.8em .4em;border-radius:11px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);transition:.15s;display:flex;flex-direction:column;gap:2px;align-items:center}.tool-shell .seg button .sgs{font-size:10.5px;font-weight:500;color:var(--ink-3)}.tool-shell .seg button:hover{border-color:var(--ink-3)}.tool-shell .seg button.on{background:var(--primary);border-color:var(--primary);color:#fbf8f1}.tool-shell .seg button.on .sgs{color:hsla(0,0%,100%,.7)}.tool-shell select.sel{width:100%;font-family:var(--font-ui);font-size:15px;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:.8em 1em;background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' stroke='%238A6D34' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 1em center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.tool-shell select.sel:focus{border-color:var(--accent);outline:none}.tool-shell .analyze{width:100%;margin-top:6px;background:var(--primary);color:#fbf8f1;font-family:var(--font-ui);font-weight:700;font-size:1rem;border:none;border-radius:13px;padding:1.05em;box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 22px rgba(19,66,49,.24);transition:transform .15s,background .2s;display:flex;align-items:center;justify-content:center;gap:.6em;cursor:pointer}.tool-shell .analyze:hover{background:var(--primary-deep);transform:translateY(-1px)}.tool-shell .live{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:14px;font-family:var(--font-body);font-style:italic;min-height:1.2em}.tool-shell .live b{color:var(--accent);font-style:normal;font-family:var(--font-ui);font-weight:600}.tool-shell .computing{padding:18px 0 6px;text-align:center}.tool-shell .ring{width:104px;height:104px;margin:6px auto 24px;position:relative}.tool-shell .ring svg{transform:rotate(-90deg)}.tool-shell .ring .bg{stroke:rgba(138,109,52,.15)}.tool-shell .ring .fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .1s linear}.tool-shell .ring .pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:1.45rem;color:var(--ink);letter-spacing:-.02em}.tool-shell .steps{max-width:350px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:4px}.tool-shell .step{display:flex;align-items:center;gap:12px;padding:9px 4px;font-size:14px;color:var(--ink-3);opacity:.45;transition:opacity .3s,color .3s}.tool-shell .step.active{opacity:1;color:var(--ink-2)}.tool-shell .step.done{opacity:1;color:var(--ink)}.tool-shell .step .sd{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid rgba(26,23,20,.18);display:flex;align-items:center;justify-content:center;transition:.3s}.tool-shell .step.active .sd{border-color:var(--accent)}.tool-shell .step.active .sd:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:ts-pulse 1s infinite}.tool-shell .step.done .sd{border-color:var(--primary);background:var(--primary)}.tool-shell .step.done .sd:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}@keyframes ts-pulse{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1);opacity:1}}.tool-shell .summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}.tool-shell .scorebox{flex:none;text-align:center;min-width:120px}.tool-shell .scorebox .big{font-family:var(--font-heading);font-weight:800;font-size:2.7rem;line-height:1;letter-spacing:-.035em;color:var(--primary);white-space:nowrap}.tool-shell .scorebox .big.md{font-size:2rem}.tool-shell .scorebox .big.sm{font-size:1.9rem}.tool-shell .scorebox .big .rdash{font-size:1.1rem;color:var(--ink-3)}.tool-shell .scorebox .of{font-size:12.5px;color:var(--ink-3);font-weight:600;margin-top:4px}.tool-shell .verdict{flex:1;min-width:230px}.tool-shell .verdict h2{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;line-height:1.2;margin:0 0 .3rem;color:var(--ink)}.tool-shell .verdict p{font-family:var(--font-body);color:var(--ink-2);font-size:1rem;margin:0}.tool-shell .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tool-shell .chip{font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);border-radius:20px;padding:.35em .8em}.tool-shell .sigwrap{margin:4px 0 26px}.tool-shell .sigwrap .st{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px}.tool-shell .bars{display:flex;align-items:flex-end;gap:14px;height:190px;padding:0 4px}.tool-shell .bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.tool-shell .bar .bv{font-family:var(--font-heading);font-weight:700;font-size:.82rem;color:var(--ink);margin-bottom:7px;white-space:nowrap}.tool-shell .bar .bk{height:0;width:100%;border-radius:7px 7px 0 0;transition:height 1s cubic-bezier(.22,1,.36,1)}.tool-shell .bar .blab{font-size:11px;color:var(--ink-2);font-weight:500;margin-top:9px;text-align:center;line-height:1.2}.tool-shell .funnel{display:flex;flex-direction:column;align-items:center;gap:9px}.tool-shell .fstage{height:46px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#fcfaf4;width:0;transition:width 1s cubic-bezier(.22,1,.36,1);overflow:hidden}.tool-shell .fstage .fn{font-size:12.5px;font-weight:600;white-space:nowrap}.tool-shell .fstage .fv{font-family:var(--font-heading);font-weight:700;font-size:.95rem;white-space:nowrap}.tool-shell .wedge svg{width:100%;height:auto;display:block;animation:ts-fadeIn .6s ease both}.tool-shell .th-amt{font-family:var(--font-heading);font-weight:800;font-size:2.1rem;letter-spacing:-.03em;margin-bottom:14px;color:var(--ink)}.tool-shell .thbar{height:34px;border-radius:10px;background:rgba(26,23,20,.08);display:flex;overflow:hidden}.tool-shell .thbar .keep{width:0;background:linear-gradient(90deg,var(--green-mid),var(--primary));display:flex;align-items:center;padding-left:14px;color:#fcfaf4;font-family:var(--font-heading);font-weight:700;font-size:13px;transition:width 1s cubic-bezier(.22,1,.36,1);white-space:nowrap}.tool-shell .thbar .keep.brass{background:linear-gradient(90deg,var(--brass-soft),var(--accent))}.tool-shell .thbar .fee{flex:1;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;color:var(--ink-3);font-size:11.5px;font-weight:600}.tool-shell .thnote{font-size:12px;color:var(--ink-3);margin-top:9px;font-family:var(--font-body);font-style:italic}.tool-shell .track{position:relative;height:6px;border-radius:6px;background:rgba(26,23,20,.1);margin:64px 8px 70px}.tool-shell .tfill{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--brass-soft),var(--primary));width:0;transition:width 1s cubic-bezier(.22,1,.36,1)}.tool-shell .gate{position:absolute;top:50%;transform:translate(-50%,-50%)}.tool-shell .gate .gn{width:18px;height:18px;border-radius:50%;background:var(--paper);border:2.5px solid var(--lock);display:flex;align-items:center;justify-content:center;transition:.4s;z-index:2;position:relative}.tool-shell .gate.lit .gn{border-color:var(--primary);background:var(--primary)}.tool-shell .gate.lit .gn:after{content:"";width:8px;height:4.5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}.tool-shell .gate:not(.lit) .gn:after{content:"";width:6px;height:6px;border:1.5px solid var(--lock);border-bottom:none;border-radius:2px 2px 0 0}.tool-shell .gl{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center}.tool-shell .gl.top{bottom:30px}.tool-shell .gl.bot{top:30px}.tool-shell .gl .a{font-size:11px;font-weight:600;color:var(--ink-2)}.tool-shell .gate.lit .gl .a{color:var(--primary)}.tool-shell .gl .b{font-size:10px;color:var(--ink-3)}.tool-shell .pin{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:4;transition:left 1s cubic-bezier(.22,1,.36,1)}.tool-shell .pin .d{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--card);box-shadow:0 0 0 1px var(--accent),0 2px 6px rgba(138,109,52,.5)}.tool-shell .pin .t{top:-40px;color:#f4efe3;font-size:11px;font-weight:600;padding:.35em .6em;border-radius:7px;white-space:nowrap}.tool-shell .pin .t,.tool-shell .pin .t:after{position:absolute;left:50%;transform:translateX(-50%);background:var(--ink)}.tool-shell .pin .t:after{content:"";bottom:-4px;width:8px;height:8px;rotate:45deg}.tool-shell .bd{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden}.tool-shell .bd .r{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line-2);font-size:14px;gap:14px}.tool-shell .bd .r:last-child{border-bottom:none}.tool-shell .bd .r .k{color:var(--ink-2);font-family:var(--font-body)}.tool-shell .bd .r .v{font-family:var(--font-heading);font-weight:600;color:var(--ink);text-align:right}.tool-shell .bd .r.tot{background:var(--paper-2)}.tool-shell .bd .r.tot .v{color:var(--primary);font-weight:700}.tool-shell .nets{display:flex;flex-direction:column;gap:10px}.tool-shell .net{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:15px 18px;opacity:0;transform:translateY(10px);animation:ts-cardIn .5s ease forwards}@keyframes ts-cardIn{to{opacity:1;transform:none}}.tool-shell .net.q{background:var(--card);border-color:rgba(27,94,64,.28);border-left:4px solid var(--primary)}.tool-shell .net.almost{border-left:4px solid var(--accent)}.tool-shell .net.locked{opacity:.62}.tool-shell .nrow{display:flex;align-items:center;gap:9px;margin-bottom:3px;flex-wrap:wrap}.tool-shell .nname{font-family:var(--font-heading);font-weight:600;font-size:1.02rem}.tool-shell .ntier{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:.1em .4em}.tool-shell .badge{font-size:11px;font-weight:700;padding:.22em .6em;border-radius:20px}.tool-shell .badge.q{background:rgba(27,94,64,.12);color:var(--primary)}.tool-shell .badge.almost{background:rgba(138,109,52,.13);color:var(--accent)}.tool-shell .badge.locked{background:rgba(26,23,20,.06);color:var(--ink-3)}.tool-shell .nmeta{font-family:var(--font-body);font-size:.88rem;color:var(--ink-2)}.tool-shell .nmeta .req{color:var(--ink-3)}.tool-shell .nr{text-align:right}.tool-shell .nr .rev{font-family:var(--font-heading);font-weight:700;font-size:1.02rem;color:var(--ink)}.tool-shell .nr .rev.m{color:var(--ink-3);font-weight:600;font-size:.9rem}.tool-shell .nr .rev .per{font-size:11px;color:var(--ink-3)}.tool-shell .nr a{font-size:12px;font-weight:600;display:inline-block;margin-top:3px}.tool-shell .best{margin-top:22px;background:linear-gradient(135deg,var(--primary-deep),var(--primary));color:#efece2;border-radius:16px;padding:24px 26px;position:relative;overflow:hidden}.tool-shell .best:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 140% at 100% 0,rgba(183,147,85,.2),transparent 55%)}.tool-shell .best .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-soft);position:relative}.tool-shell .best h3{font-family:var(--font-heading);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;margin:.4rem 0;color:#fcfaf4;position:relative}.tool-shell .best p{font-family:var(--font-body);color:#cfc8ba;font-size:1rem;line-height:1.55;margin:0 0 1rem;position:relative;max-width:54ch}.tool-shell .best a.c,.tool-shell .best span.c{position:relative;display:inline-flex;align-items:center;gap:.5em;background:var(--brass-soft);color:#23180a;font-family:var(--font-heading);font-weight:700;font-size:14px;padding:.7em 1.2em;border-radius:11px}.tool-shell .best span.c-flat{opacity:.85}.tool-shell .best.milestone{background:var(--paper-2);color:var(--ink)}.tool-shell .best.milestone:after{display:none}.tool-shell .best.milestone .k{color:var(--accent)}.tool-shell .best.milestone h3{color:var(--ink);font-size:1.1rem;margin-bottom:0}.tool-shell .best.milestone .milestone-bar{margin-top:12px}.tool-shell .insight{margin-top:18px;display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px dashed rgba(138,109,52,.4);border-radius:14px;padding:18px 20px}.tool-shell .insight .i{flex:none;width:34px;height:34px;border-radius:9px;background:rgba(138,109,52,.12);color:var(--accent);display:flex;align-items:center;justify-content:center}.tool-shell .insight p{margin:0;font-family:var(--font-body);font-size:.98rem;color:var(--ink-2);line-height:1.5}.tool-shell .insight b,.tool-shell .insight strong{color:var(--ink);font-family:var(--font-heading);font-weight:700}.tool-shell .rfoot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.tool-shell .ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:14px;padding:.7em 1.1em;border-radius:11px;cursor:pointer}.tool-shell .ghost:hover{border-color:var(--ink)}.tool-shell .disc{font-size:12px;color:var(--ink-3);font-family:var(--font-body);font-style:italic;max-width:44ch}@media (max-width:560px){.tool-shell{padding:0 16px}.tool-shell .pp{padding:24px 20px}.tool-shell .srow{flex-direction:column;align-items:stretch}.tool-shell .snum{width:100%;text-align:center}.tool-shell .net{grid-template-columns:1fr}.tool-shell .nr{text-align:left}.tool-shell .bars{height:150px;gap:8px}}@media (prefers-reduced-motion:reduce){.tool-shell *,.tool-shell :after,.tool-shell :before{transition:none!important;animation:none!important}}