.calc-tool{padding-block:22px;background:var(--section-bg)}.calc-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.84rem;color:var(--muted);margin-bottom:16px}.calc-breadcrumb a{color:var(--muted);font-weight:500}.calc-breadcrumb a:hover{color:var(--primary)}.calc-breadcrumb .sep{width:14px;height:14px;opacity:.55}.calc-breadcrumb .current{color:var(--primary);font-weight:600}[data-theme=dark] .calc-breadcrumb{color:#c7c3dc}[data-theme=dark] .calc-breadcrumb a{color:#bdb8d4}[data-theme=dark] .calc-breadcrumb a:hover{color:var(--primary-light)}[data-theme=dark] .calc-breadcrumb .current{color:var(--primary-light)}.calc-side{position:sticky;top:calc(var(--header-h) + 22px)}.side-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px}.side-card+.side-card{margin-top:18px}.side-title{font-size:.74rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding-inline:6px}.side-list{display:flex;flex-direction:column;gap:2px}.side-list a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;font-size:.9rem;font-weight:500;color:var(--text);transition:background var(--transition),color var(--transition)}.side-list a:hover{background:var(--bg-soft)}.side-list a.active{background:var(--tint-purple);color:var(--primary-dark);font-weight:600}[data-theme=dark] .side-list a.active{color:var(--primary-light)}.side-list .icon-chip{width:34px;height:34px;border-radius:9px}.side-list .icon-chip img{width:18px;height:18px}.frac-calc{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(16px,2vh,26px);display:flex;flex-direction:column;gap:clamp(14px,2vh,20px);min-height:calc(100dvh - var(--header-h) - 88px)}.frac-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap}.frac-heading{display:flex;align-items:center;gap:14px}.frac-heading .icon-chip{width:48px;height:48px;border-radius:13px}.frac-heading .icon-chip img{width:26px;height:26px}.frac-heading h1{font-size:clamp(1.1rem, 2.2vw, 1.4rem);font-weight:700;line-height:1.15}.frac-heading p{font-size:.84rem;color:var(--muted)}.frac-tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg-soft);padding:6px;border-radius:14px;border:1px solid var(--border)}.frac-tab{flex:1 1 auto;padding:10px 12px;border-radius:10px;font-size:.84rem;font-weight:600;color:var(--muted);white-space:nowrap;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.frac-tab:hover{color:var(--primary)}.frac-tab.active{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-primary)}.frac-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center}.frac-panel{display:none}.frac-panel.active{display:block;animation:frac-fade .28s ease}@keyframes frac-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.frac-panel.active{animation:none}}.frac-form{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--r-md);padding:clamp(18px,3vh,30px)}.frac-lead{font-size:.92rem;color:var(--muted);margin-bottom:16px;text-align:center}.frac-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 18px}.frac-operand{display:flex;align-items:center;gap:10px}.frac-w{width:58px;align-self:center;padding:11px 8px;border:1.5px solid var(--border-strong);border-radius:12px;background:var(--card);color:var(--heading);font-family:inherit;font-size:1.4rem;font-weight:700;text-align:center;transition:border-color var(--transition),box-shadow var(--transition)}.frac{display:inline-flex;flex-direction:column;align-items:center;gap:5px}.frac-d,.frac-n{width:84px;padding:9px 8px;border:1.5px solid var(--border-strong);border-radius:10px;background:var(--card);color:var(--heading);font-family:inherit;font-size:1.15rem;font-weight:700;text-align:center;transition:border-color var(--transition),box-shadow var(--transition)}.frac-bar{width:96px;height:3px;border-radius:3px;background:var(--primary)}.frac-d:focus,.frac-n:focus,.frac-w:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(108,92,231,.16)}.frac-d::placeholder,.frac-n::placeholder,.frac-w::placeholder{color:var(--muted);font-weight:500;opacity:.7}.frac-d::-webkit-inner-spin-button,.frac-d::-webkit-outer-spin-button,.frac-n::-webkit-inner-spin-button,.frac-n::-webkit-outer-spin-button,.frac-w::-webkit-inner-spin-button,.frac-w::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.frac-d,.frac-n,.frac-w{-moz-appearance:textfield}.frac-ops{display:inline-flex;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:5px}.frac-op{width:42px;height:42px;border-radius:50%;font-size:1.3rem;font-weight:700;color:var(--muted);transition:background var(--transition),color var(--transition)}.frac-op:hover{color:var(--primary);background:var(--tint-purple)}.frac-op.active{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-primary)}.frac-single{display:flex;justify-content:center}.frac-sentence{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;font-size:clamp(1rem, 2.4vw, 1.25rem);font-weight:600;color:var(--heading)}.frac-sentence .frac-in{width:130px;padding:11px 14px;border:1.5px solid var(--border-strong);border-radius:12px;background:var(--card);color:var(--heading);font-family:inherit;font-size:1.08rem;font-weight:600;text-align:center}.frac-sentence .frac-in:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(108,92,231,.16)}.frac-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;justify-content:center}.frac-btn{padding:12px 26px;border-radius:var(--r-pill);background:var(--primary-grad);color:#fff;font-weight:600;font-size:.95rem;box-shadow:var(--shadow-primary);transition:transform var(--transition),box-shadow var(--transition)}.frac-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(92,62,232,.4)}.frac-btn.ghost{background:var(--card);color:var(--heading);border:1.5px solid var(--border-strong);box-shadow:none}.frac-btn.ghost:hover{border-color:var(--primary);color:var(--primary);transform:none}.frac-display{background:linear-gradient(145deg,#4b3ba6 0,#2e2568 100%);border-radius:var(--r-md);padding:clamp(16px,2.6vh,26px) clamp(20px,3vw,32px);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);text-align:right}[data-theme=dark] .frac-display{background:linear-gradient(145deg,#2e2568 0,#1a1540 100%);border:1px solid var(--border)}.frac-display .frac-expr{font-size:clamp(.85rem, 2vw, 1rem);color:rgba(255,255,255,.6);margin-bottom:8px;white-space:nowrap;overflow-x:auto}.frac-display .frac-result{display:flex;align-items:center;justify-content:flex-end;gap:.25em;font-size:clamp(1.8rem, 5.5vh, 2.8rem);font-weight:700;line-height:1.05;min-height:1.2em}.frac-display .frac-note{margin-top:8px;font-size:.92rem;font-weight:600;color:rgba(255,255,255,.72);min-height:1.2em}.rfrac{display:inline-flex;flex-direction:column;align-items:center;line-height:1;vertical-align:middle}.rfrac .rn{padding:0 .35em .06em;border-bottom:3px solid currentColor}.rfrac .rd{padding:.06em .35em 0}.rwhole{margin-right:.12em}.calc-panels{padding-block:26px;background:var(--bg)}.panel-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:22px;height:100%}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.panel-head .p-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center}.panel-head .p-ic .micon{width:22px;height:22px}.p-ic.chip-purple{color:var(--primary)}.p-ic.chip-green{color:var(--green-dark)}.p-ic.chip-blue{color:#3b82f6}.panel-head h2{font-size:1.05rem;font-weight:600}.panel-sub{font-size:.85rem;color:var(--muted);margin:-6px 0 14px}.formula-list{display:flex;flex-direction:column;gap:10px}.formula-list li{padding:12px 14px;border-radius:12px;background:var(--bg-soft)}.formula-list .f-name{display:block;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.formula-list .f-eq{color:var(--heading);font-weight:700;font-size:.96rem}.formula-list .f-eq b{color:var(--primary)}[data-theme=dark] .formula-list .f-eq b{color:var(--primary-light)}.example-chips{display:flex;flex-wrap:wrap;gap:9px}.ex-chip{padding:9px 15px;border-radius:var(--r-pill);background:var(--tint-purple);color:var(--primary-dark);font-size:.86rem;font-weight:600;border:1px solid transparent;transition:background var(--transition),color var(--transition),transform var(--transition)}[data-theme=dark] .ex-chip{color:var(--primary-light)}.ex-chip:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.mini-steps{display:flex;flex-direction:column}.mini-steps li{position:relative;display:flex;gap:14px;padding-bottom:20px}.mini-steps li:last-child{padding-bottom:0}.mini-steps li:not(:last-child)::before{content:"";position:absolute;left:13px;top:30px;bottom:0;width:2px;background:var(--tint-purple)}.mini-steps .s-num{position:relative;z-index:1;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--primary-grad);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(92,62,232,.28)}.mini-steps li span:not(.s-num){padding-top:4px;font-size:.9rem;color:var(--text);line-height:1.55}.frac-eg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:20px 0 8px}.frac-eg{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px}.frac-eg h4{font-size:.9rem;font-weight:700;color:var(--primary);margin-bottom:8px}.frac-eg code{display:block;font-family:Poppins,monospace;font-size:.92rem;color:var(--heading);line-height:1.7;background:var(--bg-soft);border-radius:10px;padding:10px 12px}@media (max-width:767.98px){.calc-side{position:static;margin-top:20px}.frac-calc{min-height:0}}@media (max-width:560px){.frac-heading p{display:none}.frac-heading .icon-chip{width:42px;height:42px}.frac-tab{padding:9px 10px;font-size:.8rem}.frac-d,.frac-n{width:68px}.frac-bar{width:80px}}