@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Sora:wght@300;400;500;600;700&display=swap");:root{--sage-100:#dbe7c9;--sage-300:#a9bfa0;--sage-500:#789461;--sage-700:#50623a;--forest-900:#1e2f1e;--ink:#111827;--mist:#f8fdf0;--warm:#bf7f3f;--panel-bg:hsla(83,76%,97%,.84);--panel-border:rgba(80,98,58,.35);--shadow-soft:0 14px 34px rgba(17,24,39,.18);--shadow-strong:0 20px 44px rgba(17,24,39,.24);--radius-lg:22px;--radius-md:14px}*{box-sizing:border-box}#__next,body,html{margin:0;min-height:100%}body{font-family:Sora,sans-serif;color:var(--ink);background:#f5f8ee;line-height:1.35;overflow-x:hidden;position:relative}.bgLayer{z-index:-5;background:radial-gradient(1400px circle at 5% 6%,hsla(84,38%,85%,.85) 0,hsla(84,38%,85%,0) 52%),radial-gradient(1000px circle at 92% 12%,rgba(120,148,97,.25) 0,rgba(120,148,97,0) 48%),linear-gradient(160deg,#f8fdf0,#edf4e1 38%,#f4faea)}.bgLayer,.gridOverlay{position:fixed;inset:0}.gridOverlay{z-index:-1;opacity:.18;background-image:linear-gradient(rgba(80,98,58,.25) 1px,transparent 0),linear-gradient(90deg,rgba(80,98,58,.2) 1px,transparent 0);background-size:36px 36px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 40%,transparent 88%);mask-image:radial-gradient(circle at 50% 30%,#000 40%,transparent 88%)}.gridOverlay,.orb{pointer-events:none}.orb{position:fixed;border-radius:999px;z-index:-2;mix-blend-mode:multiply;animation:drift 18s ease-in-out infinite}.orbOne{width:280px;height:280px;background:rgba(120,148,97,.24);top:14%;left:-80px}.orbTwo{width:360px;height:360px;background:rgba(169,191,160,.28);right:-110px;top:24%;animation-delay:-5s}.orbThree{width:220px;height:220px;background:rgba(191,127,63,.2);bottom:8%;left:50%;margin-left:-110px;animation-delay:-10s}.appShell{max-width:1240px;margin:0 auto;padding:1.2rem 1rem 2rem}.hero{margin-top:1.2rem}.eyebrow{margin:0;font-family:JetBrains Mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-700);font-size:.82rem}.hero h1{margin:.35rem 0 .4rem;font-size:clamp(2rem,5.4vw,4rem);line-height:1;color:var(--forest-900)}.subtitle{margin:0;max-width:760px;color:rgba(17,24,39,.84)}.tabBar{margin-top:1.2rem;display:flex;gap:.55rem;flex-wrap:wrap}.tabButton{border:1px solid var(--panel-border);background:hsla(83,76%,97%,.9);color:var(--forest-900);border-radius:999px;padding:.62rem 1rem;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tabButton:hover{transform:translateY(-1px);border-color:rgba(80,98,58,.6);box-shadow:0 6px 18px rgba(80,98,58,.22)}.tabButton.active{background:linear-gradient(135deg,#789461,#50623a);color:#f8fdf0;border-color:transparent}.appGrid{margin-top:1rem;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-gap:1rem;gap:1rem;align-items:start}.panel{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft)}.mainPanel{padding:1rem;min-height:520px}.historyPanel{padding:1rem;position:-webkit-sticky;position:sticky;top:1rem}.panelHeader h2{margin:0;color:var(--forest-900);font-size:1.25rem}.panelHeader p{margin:.32rem 0 1rem;color:rgba(17,24,39,.74)}.displayWrap{border:1px solid rgba(80,98,58,.28);border-radius:var(--radius-md);background:hsla(0,0%,100%,.62);padding:.8rem .9rem;min-height:104px;box-shadow:inset 0 0 0 1px hsla(83,76%,97%,.4)}.expression{min-height:24px;color:rgba(17,24,39,.7);font-family:JetBrains Mono,monospace}.expression,.result{word-break:break-all}.result{min-height:42px;margin-top:.35rem;font-size:clamp(1.4rem,4.1vw,2rem);color:var(--forest-900);font-weight:700}.keypad{margin-top:.9rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.58rem;gap:.58rem}.keyButton{border:1px solid rgba(80,98,58,.32);background:hsla(83,76%,97%,.93);color:var(--ink);border-radius:12px;padding:.78rem .4rem;font-size:.98rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.keyButton:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(17,24,39,.14)}.keyButton.operator{background:rgba(120,148,97,.2);color:var(--forest-900)}.keyButton.action{background:rgba(191,127,63,.18)}.keyButton.equals{background:linear-gradient(135deg,#789461,#50623a);color:#f8fdf0;border-color:transparent}.keyButton.zero{grid-column:span 4}.fieldLabel{display:block;margin-bottom:.32rem;color:rgba(17,24,39,.75);font-size:.88rem;font-weight:600}.selectInput,.textInput{width:100%;border:1px solid rgba(80,98,58,.35);border-radius:11px;background:hsla(0,0%,100%,.7);color:var(--ink);padding:.62rem .7rem;font-size:.95rem;font-family:Sora,sans-serif}.textArea{min-height:130px;resize:vertical}.selectInput:focus,.textInput:focus{outline:2px solid rgba(120,148,97,.35);outline-offset:1px;border-color:rgba(80,98,58,.5)}.rowWrap{margin-top:.72rem;display:flex;flex-wrap:wrap;align-items:center;gap:.56rem}.modeToggle{border:1px solid rgba(80,98,58,.34);border-radius:12px;overflow:hidden;display:inline-flex}.modeButton{border:none;background:hsla(83,76%,97%,.8);color:var(--forest-900);padding:.55rem .85rem;font-family:JetBrains Mono,monospace;cursor:pointer}.modeButton.active{background:rgba(120,148,97,.26);font-weight:700}.ghostButton,.primaryButton{border:1px solid rgba(80,98,58,.4);border-radius:10px;padding:.58rem .84rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.primaryButton{background:linear-gradient(135deg,#789461,#50623a);border-color:transparent;color:#f8fdf0}.ghostButton{background:hsla(83,76%,97%,.8);color:var(--forest-900)}.ghostButton:hover,.primaryButton:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(17,24,39,.16)}.ghostButton:disabled,.primaryButton:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.chipGrid{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));grid-gap:.48rem;gap:.48rem}.chipButton{border:1px solid rgba(80,98,58,.3);background:hsla(83,76%,97%,.88);border-radius:9px;font-family:JetBrains Mono,monospace;font-size:.84rem;padding:.45rem .35rem;cursor:pointer}.chipButton:hover{background:rgba(120,148,97,.2)}.resultCard{margin-top:.92rem;border:1px solid rgba(80,98,58,.28);border-radius:12px;background:hsla(0,0%,100%,.62);padding:.72rem .8rem;font-family:JetBrains Mono,monospace;color:var(--forest-900);min-height:48px;word-break:break-word}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.72rem;gap:.72rem}.fxFormGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.fxProgramArea{min-height:200px}.fxDecompArea{min-height:150px}.fxDecompCard{margin-top:.8rem}.fxOutputBox{min-height:220px}.toolGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.72rem;gap:.72rem}.toolCard,.utilityCard{border:1px solid rgba(80,98,58,.28);border-radius:14px;background:hsla(0,0%,100%,.58);padding:.8rem}.toolCard h3,.utilityCard h3{margin:0 0 .5rem;color:var(--forest-900)}.toolOutput{margin:.7rem 0 0;color:rgba(17,24,39,.82);font-family:JetBrains Mono,monospace;word-break:break-word}.utilityGrid,.utilityStack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.72rem;gap:.72rem}.utilityCard.wideCard{grid-column:span 2}.monoArea{font-family:JetBrains Mono,monospace}.splitGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.72rem;gap:.72rem}.regexMetaGrid{margin-bottom:.45rem}.metaText.compact{margin-top:0}.presetGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:.48rem;gap:.48rem;margin-bottom:.75rem}.inlineButtonLink{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.buttonWrap{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.5rem}.codeBox{margin:.8rem 0 0;border:1px solid rgba(80,98,58,.25);border-radius:10px;padding:.7rem;min-height:100px;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,monospace;font-size:.85rem}.codeBox,.desmosWrap{background:hsla(0,0%,100%,.7)}.desmosWrap{border:1px solid rgba(80,98,58,.28);border-radius:14px;overflow:hidden}.desmosCanvas,.desmosEmbedFrame{width:100%;height:460px}.desmosEmbedFrame{border:0}.metaText{margin:.6rem 0 0;color:rgba(17,24,39,.74);font-size:.9rem}.inlineLink{margin-left:.35rem;color:var(--sage-700);font-weight:600}.historyHead{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.historyHead h2{margin:0;color:var(--forest-900);font-size:1.18rem}.historyList{list-style:none;margin:.8rem 0 0;padding:0;display:grid;grid-gap:.46rem;gap:.46rem;max-height:620px;overflow-y:auto}.historyList li{border:1px solid rgba(80,98,58,.24);border-radius:10px;padding:.55rem .62rem;background:hsla(0,0%,100%,.63);font-family:JetBrains Mono,monospace;font-size:.84rem;color:rgba(17,24,39,.82)}.historySource{font-weight:700;color:var(--sage-700)}.historyExpr{margin-top:.2rem;opacity:.84}.historyRes{margin-top:.22rem;font-weight:600}.siteFooter{margin-top:1rem;color:rgba(17,24,39,.72);font-size:.9rem}@keyframes drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-24px,0)}}@media (max-width:980px){.appGrid{grid-template-columns:1fr}.historyPanel{position:static}.toolGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.utilityGrid,.utilityStack{grid-template-columns:1fr}.utilityCard.wideCard{grid-column:span 1}.splitGrid{grid-template-columns:1fr}}@media (max-width:700px){.appShell{padding:.8rem .78rem 1.3rem}.formGrid,.fxFormGrid,.toolGrid{grid-template-columns:1fr}.keypad{gap:.45rem}.keyButton{padding:.68rem .35rem}.historyList{max-height:280px}.desmosCanvas,.desmosEmbedFrame{height:360px}}@media (prefers-reduced-motion:reduce){.orb{animation:none}*{scroll-behavior:auto;transition:none}}