:root{--accent:var(--calc-color-math);--accent-dim:#818cf82e;--bg-dark:#050510;--card:#ffffff0a;--input-bg:#ffffff0f;--border:#ffffff14;--text-main:#fff;--text-dim:#88a;--font-sans:"Plus Jakarta Sans", "Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--calc-bg-page);color:var(--calc-text-primary);font-family:var(--font-sans);min-height:100vh;font-size:.95rem;line-height:1.6}.glass-navbar{z-index:100;backdrop-filter:blur(12px);border-bottom:1px solid var(--calc-border-default);background:#050510eb;align-items:center;gap:1.5rem;padding:.65rem 1.5rem;display:flex;position:sticky;top:0}.nav-link.active{color:var(--accent)}.calc-wrapper{max-width:1200px;margin:0 auto;padding:1.5rem 1.5rem 2rem}.page-title{color:var(--calc-text-primary);margin-bottom:.25rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.page-desc{color:var(--calc-text-dim);margin-bottom:1.5rem;font-size:.9rem}.outer-tabs{border-radius:var(--calc-radius-md);border:1px solid var(--calc-border-default);background:#ffffff0a;flex-wrap:wrap;gap:4px;width:fit-content;margin-bottom:1.5rem;padding:4px;display:flex}.outer-tab{border-radius:var(--calc-radius-sm);color:var(--calc-text-dim);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.outer-tab:hover{color:var(--calc-text-primary);background:#ffffff0f}.outer-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #818cf859}.tab-panel{display:none}.tab-panel.active{display:block}.calc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-md);padding:1.25rem}.card-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--calc-text-dim);margin-bottom:1rem;font-size:.7rem}.input-card{border-left:3px solid var(--calc-indigo)}.result-card{border-left:3px solid var(--calc-cyan)}.input-group{margin-bottom:1rem}.input-group:last-child{margin-bottom:0}.input-label{color:var(--calc-text-dim);font-size:.75rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;display:block}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.presets-row{flex-wrap:wrap;gap:6px;margin-bottom:1rem;display:flex}.presets-label{font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-muted);margin-bottom:.3rem}.preset-chip{border:1px solid var(--calc-border-default);color:var(--calc-text-dim);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:20px;padding:.3rem .75rem;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.preset-chip:hover{background:var(--accent-dim);color:var(--calc-text-primary);border-color:var(--accent)}.conditional-row{margin-top:.5rem}.res-hero{text-align:center;border-bottom:1px solid var(--calc-border-default);margin-bottom:.75rem;padding:.75rem 0 1rem}.res-hero-label{font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--calc-text-dim);margin-bottom:.25rem}.res-hero-value{font-family:var(--font-mono);color:var(--calc-cyan);font-size:3rem;font-weight:700;line-height:1}.res-row{border-bottom:1px solid var(--calc-border-default);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.5rem 0;display:flex}.res-row:last-child{border-bottom:none}.res-label{font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-dim);flex-shrink:0}.res-value{font-family:var(--font-mono);color:var(--calc-text-primary);text-align:right;word-break:break-all;font-size:.95rem;font-weight:600}.res-rule{color:var(--calc-text-dim);padding:.5rem 0;font-size:.8rem;font-style:italic;line-height:1.5}.digit-viz-wrap{border-top:1px solid var(--calc-border-default);margin-top:1rem;padding-top:1rem}.dv-section-label{font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-dim);margin-bottom:.6rem}#digit-viz{min-height:80px}.dv-legend{flex-wrap:wrap;gap:1rem;margin-bottom:.6rem;display:flex}.dv-legend-item{color:var(--calc-text-dim);font-size:.72rem;font-family:var(--font-mono);align-items:center;gap:.4rem;display:flex}.dv-legend-item:before{content:"";border-radius:3px;width:12px;height:12px;display:inline-block}.dv-leg-sig:before{background:var(--calc-cyan)}.dv-leg-not:before{background:#ffffff1f}.dv-leg-punct:before{background:#ffffff0a;border:1px solid #ffffff26}.dv-row{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.dv-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.dv-char{width:34px;height:42px;font-family:var(--font-mono);border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;transition:background .2s;display:flex}.dv-char.dv-sig{border-color:var(--calc-cyan);color:var(--calc-cyan);background:#22d3ee2e}.dv-char.dv-not{color:var(--calc-text-muted);background:#ffffff0d;border-color:#ffffff1a}.dv-char.dv-punct{color:var(--calc-text-dim);background:#ffffff05;border-color:#ffffff0f;width:20px;font-size:1rem}.dv-indicator{text-align:center;height:14px;font-size:.7rem;line-height:1;font-family:var(--font-mono)}.dv-ind-sig{color:var(--calc-cyan)}.dv-ind-not{color:var(--calc-text-muted)}.steps-section{border-top:1px solid var(--calc-border-default);margin-top:1rem;padding-top:1rem}.steps-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-dim);margin-bottom:.6rem;font-size:.72rem}.steps-list{color:var(--calc-text-dim);padding-left:1.3rem;font-size:.85rem;line-height:1.7}.steps-list li{margin-bottom:.2rem}.action-bar{border-bottom:1px solid var(--calc-border-default);background:#ffffff05;flex-wrap:wrap;gap:8px;padding:.6rem 1.5rem;display:flex}.action-btn{border:1px solid var(--calc-border-default);color:var(--calc-text-dim);font-family:var(--font-sans);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.action-btn:hover{color:var(--calc-text-primary);background:#ffffff14;border-color:#fff3}.action-btn--reset{color:var(--calc-rose);border-color:#fb71854d}.action-btn--reset:hover{border-color:var(--calc-rose);background:#fb71851a}.rules-panel{max-width:760px}.rules-intro{color:var(--calc-text-dim);margin-bottom:1.5rem;font-size:.9rem;line-height:1.7}.rules-table-wrap{border-radius:var(--calc-radius-md);border:1px solid var(--calc-border-default);margin-bottom:1.5rem;overflow-x:auto}.rules-table{border-collapse:collapse;width:100%;font-size:.85rem}.rules-table th{color:var(--calc-text-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--calc-border-default);background:#ffffff0f;padding:.65rem 1rem;font-size:.72rem}.rules-table td{color:var(--calc-text-primary);vertical-align:top;border-bottom:1px solid #ffffff0a;padding:.7rem 1rem;line-height:1.5}.rules-table tr:last-child td{border-bottom:none}.rules-table tr:hover td{background:#ffffff05}.rules-table td.sig-yes{color:var(--calc-emerald);font-weight:600}.rules-table td.sig-no{color:var(--calc-rose);font-weight:600}.rules-table td.sig-amb{color:var(--calc-amber);font-weight:600}.rules-example{font-family:var(--font-mono);color:var(--calc-cyan);font-size:.82rem}.rules-ops-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=600px){.rules-ops-grid{grid-template-columns:1fr}}.rules-op-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-md);padding:1rem 1.1rem}.rules-op-title{font-family:var(--font-mono);color:var(--calc-text-primary);margin-bottom:.4rem;font-size:.8rem;font-weight:700}.rules-op-rule{color:var(--calc-text-dim);margin-bottom:.5rem;font-size:.82rem;line-height:1.5}.rules-op-example{font-family:var(--font-mono);color:var(--calc-cyan);background:#ffffff0a;border-radius:6px;padding:.4rem .6rem;font-size:.8rem;line-height:1.6}.practice-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.practice-title{color:var(--calc-text-primary);font-size:1rem;font-weight:700}#practice-score{color:var(--calc-text-dim);font-size:.8rem;font-family:var(--font-mono)}.practice-item{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-md);margin-bottom:.75rem;padding:1rem 1.1rem}.practice-question{color:var(--calc-text-primary);margin-bottom:.6rem;font-size:.9rem;line-height:1.5}.practice-num{color:var(--calc-text-muted);font-family:var(--font-mono);margin-right:.3rem;font-size:.8rem}.practice-number{font-family:var(--font-mono);color:var(--calc-cyan);background:#22d3ee1a;border-radius:4px;padding:.1rem .4rem;font-weight:700}.practice-input-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.practice-answer-input{text-align:center;width:80px;padding:.4rem .5rem}.btn-check{border:1px solid var(--calc-border-default);color:var(--calc-indigo);font-family:var(--font-sans);cursor:pointer;background:#818cf81f;border-radius:6px;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.btn-check:hover{border-color:var(--calc-indigo);background:#818cf833}.btn-check:disabled{opacity:.5;cursor:default}.practice-feedback{min-height:1.2rem;font-size:.82rem;line-height:1.5}.feedback-correct{color:var(--calc-emerald)}.feedback-wrong{color:var(--calc-rose)}.feedback-warn{color:var(--calc-amber)}.btn-new-set{border:1px solid var(--calc-border-default);color:var(--calc-text-dim);font-family:var(--font-sans);cursor:pointer;background:#ffffff0a;border-radius:8px;margin:1rem auto 0;padding:.5rem 1.5rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s;display:block}.btn-new-set:hover{color:var(--calc-text-primary);background:#ffffff14}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--calc-text-primary);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--font-mono);color:var(--calc-text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--calc-indigo)}.faq-item__answer{color:var(--calc-text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#e8eef4;--border:#0000001a;--text-main:#0f172a;--text-dim:#475569;--accent-dim:#4f46e51a}[data-theme=light] body{background:#f6f7fb}[data-theme=light] .glass-navbar{backdrop-filter:blur(12px);background:#f8fafcf2;border-bottom-color:#0000001a}[data-theme=light] .outer-tabs{background:#0000000a;border-color:#0000001a}[data-theme=light] .outer-tab{color:#475569}[data-theme=light] .outer-tab:hover{color:#0f172a;background:#0000000f}[data-theme=light] .outer-tab.active{background:var(--calc-indigo);color:#fff;box-shadow:0 2px 8px #4f46e54d}[data-theme=light] .card{background:#fff;border-color:#0000001a;box-shadow:0 2px 10px #0000000f}[data-theme=light] .card-title{color:#64748b}[data-theme=light] .input-card{border-left-color:var(--calc-indigo)}[data-theme=light] .result-card{border-left-color:#0891b2}[data-theme=light] .input-label{color:#64748b}[data-theme=light] .preset-chip{color:#475569;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .preset-chip:hover{border-color:var(--calc-indigo);color:#0f172a;background:#4f46e514}[data-theme=light] .res-hero-value{color:#0891b2}[data-theme=light] .res-row{border-bottom-color:#0000000f}[data-theme=light] .res-label{color:#64748b}[data-theme=light] .res-value{color:#0f172a}[data-theme=light] .res-rule,[data-theme=light] .dv-legend-item{color:#64748b}[data-theme=light] .dv-leg-sig:before{background:#0891b2}[data-theme=light] .dv-leg-not:before{background:#0000001a}[data-theme=light] .dv-leg-punct:before{background:#0000000a;border-color:#0003}[data-theme=light] .dv-char{border-color:#0000001f}[data-theme=light] .dv-char.dv-sig{color:#0891b2;background:#0891b21f;border-color:#0891b2}[data-theme=light] .dv-char.dv-not{color:#94a3b8;background:#f0f4f9;border-color:#0000001a}[data-theme=light] .dv-char.dv-punct{color:#94a3b8;background:#00000005;border-color:#00000014}[data-theme=light] .dv-ind-sig{color:#0891b2}[data-theme=light] .dv-ind-not{color:#94a3b8}[data-theme=light] .steps-section{border-top-color:#0000000f}[data-theme=light] .steps-title{color:#64748b}[data-theme=light] .steps-list{color:#475569}[data-theme=light] .action-bar{background:#00000005;border-bottom-color:#00000014}[data-theme=light] .action-btn{color:#475569;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .action-btn:hover{color:#0f172a;background:#00000012}[data-theme=light] .action-btn--reset{color:#e11d48;border-color:#e11d484d}[data-theme=light] .action-btn--reset:hover{background:#e11d4812}[data-theme=light] .rules-intro{color:#475569}[data-theme=light] .rules-table-wrap{border-color:#0000001a}[data-theme=light] .rules-table th{color:#64748b;background:#f0f4f9;border-bottom-color:#0000001a}[data-theme=light] .rules-table td{color:#0f172a;border-bottom-color:#0000000d}[data-theme=light] .rules-table tr:hover td{background:#00000005}[data-theme=light] .rules-example{color:#0891b2}[data-theme=light] .rules-op-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .rules-op-title{color:#0f172a}[data-theme=light] .rules-op-rule{color:#475569}[data-theme=light] .rules-op-example{color:#0891b2;background:#f0f4f9}[data-theme=light] .practice-title{color:#0f172a}[data-theme=light] #practice-score{color:#64748b}[data-theme=light] .practice-item{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000d}[data-theme=light] .practice-question{color:#0f172a}[data-theme=light] .practice-num{color:#94a3b8}[data-theme=light] .practice-number{color:#0891b2;background:#0891b214}[data-theme=light] .btn-check{color:#4f46e5;background:#4f46e514;border-color:#4f46e533}[data-theme=light] .btn-check:hover{background:#4f46e524;border-color:#4f46e5}[data-theme=light] .btn-new-set{color:#475569;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .btn-new-set:hover{color:#0f172a;background:#00000012}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:#4f46e54d}[data-theme=light] .faq-item[open]{border-color:#4f46e566 #4f46e566 #4f46e566 #4f46e5;border-left-style:solid;border-left-width:3px}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#4f46e5}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}@media (width<=480px){.calc-wrapper{padding:1rem 1rem 1.5rem}.outer-tabs{width:100%}.outer-tab{text-align:center;flex:1;padding:.45rem .5rem}.dv-char{width:28px;height:36px;font-size:1rem}.dv-char.dv-punct{width:16px}.res-hero-value{font-size:2.4rem}}