@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8f9fd;--panel:#ffffff;--panel2:#f5f6fc;--ink:#161829;--muted:#81859b;--stroke:#e9ebf3;--purple:#6757f3;--indigo:#4437d0;--purple-bg:#f0edff;--shadow:0 12px 36px rgba(36,41,95,.055);--plot-bg:#fff;--grid:#e9eaf2;--danger:#d34159;--nav-w:248px;--radius:19px;color-scheme:light}
:root[data-theme=dark]{--bg:#111221;--panel:#191b2b;--panel2:#222437;--ink:#f6f6fe;--muted:#9ca1bb;--stroke:#303348;--purple:#9f95ff;--indigo:#766afb;--purple-bg:#302c4f;--shadow:0 12px 36px rgba(0,0,0,.09);--plot-bg:#191b2b;--grid:#2b3048;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:var(--ink);font-size:14px;line-height:1.5}h1,h2,h3,h4,b,strong,.brand{font-family:'Plus Jakarta Sans','DM Sans',system-ui,sans-serif}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9c90ff;outline-offset:2px}input,select,textarea{color:var(--ink)}[hidden]{display:none!important}::selection{background:#dfd9ff;color:#2e248f}
.site{min-height:100vh}.sidebar{width:var(--nav-w);position:fixed;left:0;top:0;bottom:0;z-index:31;background:var(--panel);border-right:1px solid var(--stroke);display:flex;flex-direction:column;padding:26px 16px 20px;overflow-y:auto;scrollbar-width:thin}.brand-wrap{display:flex;align-items:center;gap:11px;padding:0 11px 24px}.brand-mark{width:37px;height:37px;border-radius:13px;background:linear-gradient(135deg,#7469ff,#4134b6);display:flex;justify-content:center;align-items:center;color:#fff;box-shadow:0 9px 20px #6658ed44;position:relative;flex-shrink:0}.brand-mark svg{width:25px;height:25px}.brand{font-weight:800;font-size:18px;letter-spacing:-.8px}.brand em{font-style:normal;color:var(--purple)}.brand-subtitle{font-size:9.5px;color:var(--muted);letter-spacing:.25px;margin-top:-3px}.side-section-title{font-size:10px;text-transform:uppercase;letter-spacing:1.9px;font-weight:800;color:#a3a7b8;margin:15px 10px 9px}.side-link{display:flex;gap:11px;align-items:center;padding:9px 11px;border-radius:10px;color:var(--muted);font-weight:600;font-size:12.5px;margin:1px 0;transition:.15s}.side-link span{font-size:18px;min-width:22px;text-align:center;font-weight:500;color:#8c88c9}.side-link small{margin-left:auto;font-size:10px;color:#b0b2c1}.side-link:hover,.side-link.active{background:var(--purple-bg);color:var(--indigo)}.side-link.active span{color:var(--indigo)}.side-empty{font-size:11px;color:var(--muted);padding:5px 12px}.side-bottom{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--stroke);font-size:11px;color:var(--muted);line-height:1.8}.side-bottom strong{color:var(--ink)}.main-frame{margin-left:var(--nav-w)}.topbar{height:76px;padding:0 clamp(20px,4.8vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--stroke);background:var(--panel);position:sticky;top:0;z-index:20}.header-crumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-crumb strong{color:var(--ink);font-weight:700}.top-actions{display:flex;align-items:center;gap:12px}.search-trigger{border:1px solid var(--stroke);background:var(--panel2);color:var(--muted);border-radius:10px;padding:10px 13px;display:flex;gap:12px;align-items:center;font-size:12px;width:260px;text-align:left}.search-trigger svg{width:15px;height:15px}.search-trigger kbd{margin-left:auto;font-size:10px;border:1px solid var(--stroke);border-radius:4px;padding:2px 5px;color:var(--muted);font-family:inherit}.icon-btn{border:1px solid var(--stroke);border-radius:11px;background:var(--panel);color:var(--ink);width:40px;height:40px;font-size:19px;display:grid;place-items:center}.mobile-only{display:none}.content{max-width:1510px;padding:38px clamp(20px,4.8vw,64px) 65px;margin:auto}.eyebrow{font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;font-weight:800;color:var(--purple);display:block;margin-bottom:11px}.hero{background:#121330;position:relative;overflow:hidden;border-radius:26px;color:#fff;min-height:345px;padding:49px clamp(28px,4.2vw,62px);display:flex;justify-content:space-between;gap:16px;box-shadow:0 18px 50px #13133419}.hero:before{content:'';position:absolute;width:470px;height:470px;background:radial-gradient(circle,#6b5dff61 0%,#6b5dff00 66%);right:-30px;top:-86px}.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(#ffffff15 1px,transparent 1px);background-size:20px 20px;mask-image:linear-gradient(to left,black,transparent 65%);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:595px}.hero .eyebrow{color:#b9a9ff;letter-spacing:2.5px}.hero h1{font-size:clamp(30px,3.6vw,49px);line-height:1.2;letter-spacing:-2.2px;font-weight:800;margin:0 0 17px}.hero h1 span{color:#ac9fff}.hero p{font-size:14px;color:#c4c5e1;line-height:1.8;max-width:480px;margin-bottom:25px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.main-button,.secondary-button{border:0;border-radius:11px;padding:12px 19px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(110deg,#7c69ff,#624cef);color:#fff;box-shadow:0 9px 20px #3b2fbe2d}.secondary-button{background:#ffffff16;color:#fff;border:1px solid #ffffff3d;box-shadow:none}.hero-orbit{flex-shrink:0;width:300px;height:240px;position:relative;margin:auto 5px auto 0;display:grid;place-items:center}.orbit-circle{width:230px;height:230px;border:1px solid #9189ff65;border-radius:50%;transform:rotate(-26deg) skew(-10deg);position:absolute}.orbit-circle.two{width:170px;height:170px;transform:rotate(35deg) skew(10deg)}.orbit-circle.three{width:290px;height:140px;transform:rotate(35deg)}.orbit-planet{width:118px;height:118px;border-radius:50%;background:linear-gradient(125deg,#b8aeff,#755de9 50%,#352489);display:grid;place-items:center;position:relative;box-shadow:inset -10px -15px 20px #261a6c85,0 0 70px #8b69ff77;font-family:Georgia,serif;font-size:54px;font-style:italic}.float-equation{position:absolute;padding:8px 12px;border-radius:9px;color:#eeecff;border:1px solid #ffffff31;background:#ffffff16;backdrop-filter:blur(10px);font-size:14px;font-family:Georgia,serif}.float-equation.a{top:11px;left:12px;transform:rotate(-8deg)}.float-equation.b{bottom:18px;right:-12px;transform:rotate(7deg)}.float-equation.c{top:39px;right:-10px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.metric{background:var(--panel);border:1px solid var(--stroke);border-radius:15px;padding:18px 22px;display:flex;gap:15px;align-items:center}.metric-icon{border-radius:11px;width:39px;height:39px;background:var(--purple-bg);display:grid;place-items:center;font-size:19px;color:var(--indigo)}.metric strong{display:block;font-weight:800;font-size:19px;letter-spacing:-.6px}.metric small{color:var(--muted);font-size:11px}.section{margin-top:40px;scroll-margin-top:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:19px}.section-heading h2{font-size:21px;letter-spacing:-.7px;line-height:1.4;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.plain-link{color:var(--indigo);font-weight:800;font-size:12px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tool-card{background:var(--panel);border:1px solid var(--stroke);border-radius:15px;display:flex;align-items:center;gap:14px;padding:17px 17px;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c4bfff}.tool-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;background:var(--purple-bg);border-radius:11px;color:var(--indigo);font-weight:700;font-size:22px}.tool-icon.tiny{width:36px;height:36px;flex-basis:36px;font-size:17px}.tool-card-body{min-width:0;display:block;flex:1}.tool-card b{display:block;font-size:12.5px;letter-spacing:-.14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-card small{display:block;color:var(--muted);font-size:10.8px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-arrow{color:#b1abc8;font-size:18px}.categories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.category-card{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:23px 18px;min-height:172px;display:flex;flex-direction:column;align-items:start;gap:7px;transition:.18s}.category-card:hover{border-color:#bdb7ff;transform:translateY(-2px)}.cat-glyph{background:var(--purple-bg);color:var(--indigo);width:37px;height:37px;display:grid;place-items:center;border-radius:10px;font-size:19px;font-weight:700;margin-bottom:6px}.category-card b{font-size:12.5px}.category-card small{font-size:11px;color:var(--muted);line-height:1.5}.cat-count{font-size:11px;color:var(--indigo);font-weight:800;margin-top:auto;padding-top:7px}.search-field{border:1px solid var(--stroke);background:var(--panel);padding:0 14px;border-radius:11px;max-width:300px}.search-field input{border:0;outline:0;background:transparent;height:40px;width:100%;font-size:12px}.library-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.footer{margin-top:56px;border-top:1px solid var(--stroke);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;color:var(--muted);font-size:11px}.footer a:hover{text-decoration:underline}
/* tool pages */
.tool-top{display:flex;align-items:start;justify-content:space-between;gap:18px;margin:0 0 26px}.tool-top h1,.category-top h1{font-size:clamp(26px,3.4vw,37px);letter-spacing:-1.5px;line-height:1.25;margin:0 0 10px}.tool-top p,.category-top p{color:var(--muted);font-size:13.5px;max-width:700px;line-height:1.75;margin:0}.tool-top-actions{display:flex;gap:8px;flex-wrap:wrap}.outline-btn{background:var(--panel);border:1px solid var(--stroke);color:var(--ink);border-radius:10px;padding:10px 13px;font-size:11px;font-weight:800;white-space:nowrap}.outline-btn:hover{border-color:#b5acff}.outline-btn.is-favorite{color:var(--indigo);background:var(--purple-bg)}.breadcrumbs{color:var(--muted);font-size:11px;margin-bottom:18px}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span{margin:0 6px}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.69fr);gap:19px;align-items:start}.calculator-card,.answer-card,.info-card{border:1px solid var(--stroke);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.calculator-card{padding:27px}.calc-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.calc-card-header h2,.answer-card h2{font-size:15px;letter-spacing:-.4px;margin:0}.tiny-tag{font-size:10px;color:var(--indigo);font-weight:800;padding:6px 9px;border-radius:7px;background:var(--purple-bg)}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.control{display:flex;flex-direction:column;min-width:0;gap:8px;margin-bottom:5px}.control>span{font-size:11.3px;font-weight:800;color:var(--ink)}.control input,.control select,.control textarea{width:100%;background:var(--panel2);border:1px solid var(--stroke);border-radius:10px;padding:12px 13px;font-size:14px;outline:none;min-width:0;transition:border-color .15s}.control input:focus,.control textarea:focus,.control select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7669e91a}.control textarea{resize:vertical;line-height:1.7;font-family:ui-monospace,monospace}.control.full{grid-column:1/-1}.control input.big-input{font-size:17px;font-family:ui-monospace,monospace;height:57px}.field-wrap{position:relative}.field-wrap input{padding-right:56px}.unit-pill{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted);max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-help{border-top:1px solid var(--stroke);padding-top:16px;margin-top:20px;color:var(--muted);font-size:11px;line-height:1.75}.answer-card{padding:26px;position:sticky;top:96px}.answer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:17px;border-bottom:1px solid var(--stroke)}.live-dot{width:7px;height:7px;border-radius:50%;background:#16bc8c;box-shadow:0 0 0 4px #0ed49c22;display:inline-block;margin-right:8px}.live-label{font-size:10px;color:var(--muted);font-weight:800}.result-line{padding:15px 0;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.result-line>div{min-width:0}.result-line span{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.result-line strong{font-size:17px;letter-spacing:-.5px;line-height:1.35;overflow-wrap:anywhere;display:block}.result-line.primary-result strong{font-size:29px;color:var(--indigo);letter-spacing:-1.2px}.result-line em{font-size:12px;color:var(--muted);font-style:normal;font-weight:500}.result-copy{font-size:17px;border:0;background:transparent;color:#9296ae;flex-shrink:0}.result-copy:hover{color:var(--purple)}#result-status{font-size:10px;color:#4aab89;margin:14px 0 0}#result-status.error-status{color:var(--danger)}.calc-error{background:#ffeff1;color:var(--danger);border:1px solid #ffc7d0;border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.calc-error span{font-size:12px}.info-card{padding:23px;margin-top:19px}.info-card h2{font-size:15px;margin-bottom:13px}.info-card p{color:var(--muted);font-size:12px;line-height:1.9;margin:0}.formula-block{margin-top:15px;background:var(--panel2);padding:15px 17px;border-radius:10px;color:var(--indigo);font-size:13px;font-weight:700;overflow-wrap:anywhere}.notice{margin-top:15px;border-left:3px solid #f5a955;background:var(--panel2);color:var(--muted);padding:11px 14px;font-size:11px}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tool-grid .tool-card[hidden]{display:none}.keypad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:17px}.key{background:var(--panel2);border:1px solid var(--stroke);border-radius:9px;color:var(--ink);min-height:46px;font-weight:700}.key.operator{background:var(--purple-bg);color:var(--indigo)}.key:hover{border-color:var(--purple)}.angle-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.angle-line>span{font-weight:700;color:var(--muted);font-size:11px}.segmented{display:flex;background:var(--panel2);padding:4px;border-radius:9px}.segmented button{border:0;background:transparent;padding:7px 13px;color:var(--muted);font-size:11px;font-weight:700;border-radius:7px}.segmented .selected{background:var(--panel);color:var(--indigo);box-shadow:0 3px 10px #10112718}.example-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:17px}.example-row>span{font-size:11px;color:var(--muted)}.chip{border:1px solid var(--stroke);border-radius:8px;background:var(--panel2);color:var(--ink);padding:8px;font-size:11px}.chip:hover{color:var(--indigo)}.matrix-pair{display:flex;gap:20px;flex-wrap:wrap;margin-top:23px}.matrix-box b{font-size:12px;display:block;margin-bottom:12px}.matrix-row{display:flex;align-items:center;gap:7px;margin-bottom:7px}.matrix-row input{width:60px;min-width:0;padding:8px 5px;text-align:center;background:var(--panel2);border:1px solid var(--stroke);border-radius:7px;font-size:12px}.matrix-input .matrix-row .control{width:60px;gap:3px}.matrix-input .matrix-row .control span{font-size:10px}.matrix-input .matrix-row .control input{width:100%}.equals{font-size:16px;color:var(--muted);margin:0 5px}.graph-actions,.tool-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:15px}.graph-actions span{font-size:11px;color:var(--muted);margin-right:auto}.canvas-wrap{border:1px solid var(--stroke);border-radius:13px;overflow:hidden;margin-top:14px;background:var(--plot-bg)}#plot{width:100%;height:380px;display:block;touch-action:none;cursor:grab}#plot:active{cursor:grabbing}.color-sample{border-radius:12px;height:110px;margin-top:15px;border:1px solid var(--stroke)}.category-top{margin:4px 0 25px}.category-top .cat-glyph{width:49px;height:49px;font-size:23px;margin-bottom:18px}.not-found{text-align:center;padding:80px 0}.not-found h1{font-size:50px}.mobile-shade{display:none}
/* search modal */
.search-modal{position:fixed;z-index:100;inset:0;background:#0e1031af;display:flex;justify-content:center;align-items:flex-start;padding:13vh 20px 25px;backdrop-filter:blur(4px)}.search-box{width:min(620px,100%);background:var(--panel);border-radius:19px;border:1px solid var(--stroke);box-shadow:0 28px 90px #05051a55;overflow:hidden;max-height:75vh;display:flex;flex-direction:column}.search-box-header{display:flex;align-items:center;padding:15px 17px;border-bottom:1px solid var(--stroke);gap:12px}.search-box-header input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:var(--ink)}.search-box-header button{border:1px solid var(--stroke);border-radius:7px;padding:5px 8px;background:var(--panel2);font-size:11px;color:var(--muted)}.search-results{overflow-y:auto;padding:8px}.search-results a{display:flex;align-items:center;gap:13px;padding:11px;border-radius:11px}.search-results a:hover{background:var(--panel2)}.search-results a>span:nth-child(2){flex:1}.search-results a b{display:block;font-size:12px}.search-results a small{display:block;color:var(--muted);margin-top:3px}.no-results{padding:25px;color:var(--muted);text-align:center}.search-foot{padding:11px 18px;color:var(--muted);font-size:10px;border-top:1px solid var(--stroke)}.modal-open{overflow:hidden}.toast{position:fixed;bottom:20px;right:20px;z-index:130;background:#1c1d36;color:white;font-weight:700;font-size:12px;padding:12px 18px;border-radius:10px;box-shadow:0 12px 35px #0002;transform:translateY(110px);opacity:0;transition:.3s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1260px){.categories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-orbit{width:245px}.calculator-layout{grid-template-columns:minmax(0,1fr) minmax(240px,.65fr)}}
@media(max-width:1040px){.sidebar{transform:translateX(-100%);transition:transform .25s}.sidebar-open .sidebar{transform:none}.mobile-shade{display:none;position:fixed;inset:0;background:#090b2875;z-index:29}.sidebar-open .mobile-shade{display:block}.main-frame{margin:0}.mobile-only{display:grid}.hero-orbit{width:290px}.content{padding:30px 28px 65px}.topbar{padding:0 28px}}@media(max-width:750px){.topbar{height:65px;padding:0 17px}.search-trigger{width:40px;height:40px;justify-content:center;padding:0}.search-trigger span,.search-trigger kbd{display:none}.header-crumb{font-size:11px}.top-actions{gap:7px}.content{padding:20px 16px 45px}.hero{padding:31px 23px;min-height:auto}.hero-orbit{display:none}.hero h1{font-size:33px;letter-spacing:-1.5px}.hero p{font-size:12px}.metrics{gap:8px}.metric{padding:12px;gap:8px}.metric-icon{width:29px;height:29px;border-radius:8px;font-size:14px}.metric strong{font-size:15px}.metric small{font-size:9px;line-height:1.2;display:block}.section{margin-top:30px}.section-heading h2{font-size:17px}.section-heading p{font-size:11px}.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-card{min-height:156px;padding:17px 13px}.category-card b{font-size:11px}.category-card small{font-size:10px}.tool-grid{grid-template-columns:1fr;gap:8px}.tool-card{padding:14px}.tool-top{display:block}.tool-top-actions{margin-top:18px}.tool-top h1,.category-top h1{font-size:27px}.calculator-layout{grid-template-columns:1fr}.answer-card{position:static}.calculator-card,.answer-card{padding:20px}.control-grid{gap:12px}.related-grid{grid-template-columns:1fr}.library-header{display:block}.library-header .search-field{margin-top:14px;max-width:100%}.footer{margin-top:35px}.search-modal{padding-top:8vh}.keypad{gap:6px}.key{min-height:43px;font-size:12px}#plot{height:300px}}@media(max-width:390px){.brand{font-size:15px}.metric-icon{display:none}.category-card{padding:15px 11px}.control-grid{grid-template-columns:1fr}.matrix-row input{width:45px}.matrix-row .control{width:48px!important}.result-line.primary-result strong{font-size:23px}}
/* Keep inline filter controls inside their responsive containers. */
.search-field{display:flex;width:300px;max-width:100%;align-items:center}
@media(max-width:750px){.library-header .search-field{width:100%}}
