.sundaram-app{--ink:#202124;--muted:#62666d;--paper:#fbfaf7;--line:#d9d5cb;--prime:#177f6b;--prime-soft:#dff3ee;--marked:#b44545;--marked-soft:#f5dddd;--accent:#315f9f;--accent-soft:#e4edf9;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;min-height:100vh;padding:clamp(20px,4vw,48px)}.sundaram-hero{align-items:end;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) auto;margin:0 auto 28px;max-width:1180px}.sundaram-hero h2{font-size:clamp(2rem,4vw,4.25rem);letter-spacing:0;line-height:1;margin:0 0 16px;max-width:820px}.sundaram-hero p{color:var(--muted);font-size:1rem;margin:0;max-width:720px}.sundaram-hero code{background:#efebe1;border:1px solid var(--line);border-radius:5px;color:#4b3b24;padding:1px 5px}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.stats-strip{border:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));min-width:360px}.stats-strip span{display:grid;grid-gap:2px;gap:2px;padding:14px 16px}.stats-strip span+span{border-left:1px solid var(--line)}.stats-strip strong{font-size:1.4rem;line-height:1}.control-row,.process-grid{margin:0 auto;max-width:1180px}.control-row{align-items:end;display:grid;grid-gap:16px;gap:16px;grid-template-columns:220px minmax(220px,420px);margin-bottom:18px}.field{display:grid;grid-gap:8px;gap:8px}.field span{color:var(--muted);font-size:.82rem;font-weight:700}.field input{accent-color:var(--accent);background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;min-height:42px;padding:0 12px}.range-field input{padding:0}.process-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;max-height:50vh;min-height:120px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;webkitoverflowscrolling:touch}.sequence-panel{grid-column:1/-1}.panel-heading{align-items:center;display:flex;gap:12px;margin-bottom:16px}.panel-heading h3{font-size:1rem;margin:0 0 2px}.panel-heading p{color:var(--muted);font-size:.9rem;margin:0}.step{align-items:center;background:var(--accent-soft);border:1px solid #b9cee8;border-radius:999px;color:var(--accent);display:inline-flex;flex:0 0 34px;font-weight:800;height:34px;justify-content:center;width:34px}.sieve-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}.sieve-cell{align-items:center;border:1px solid;border-radius:6px;display:grid;font-size:.88rem;font-weight:800;min-height:48px;padding:6px;text-align:center}.sieve-cell small{font-size:.68rem;font-weight:700;opacity:.72}.sieve-cell.is-prime{background:var(--prime-soft);border-color:#9dd6ca;color:var(--prime)}.sieve-cell.is-marked{background:var(--marked-soft);border-color:#e7aeae;color:var(--marked);text-decoration:line-through}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:.86rem;gap:6px}.legend-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.prime-dot{background:var(--prime)}.marked-dot{background:var(--marked)}.prime-list,.sequence-grid{display:flex;flex-wrap:wrap;gap:8px}.prime-list span,.sequence-grid span{border:1px solid;border-radius:6px;display:inline-flex;font-weight:800;justify-content:center;min-width:42px;padding:7px 10px}.prime-list span{background:var(--prime-soft);border-color:#9dd6ca;color:var(--prime)}.sequence-grid span{background:var(--accent-soft);border-color:#b9cee8;color:var(--accent)}.muted{color:var(--muted);font-size:.9rem;margin:14px 0 0}.projects-footer{box-sizing:border-box;width:min(680px,100%);margin:18px auto 0;padding:14px 18px;border:1px solid #b9cee8;border-radius:8px;background:var(--accent-soft)}.projects-footer a{color:var(--accent);font-size:.9rem;font-weight:700;text-decoration:none}.projects-footer a:focus-visible,.projects-footer a:hover{color:var(--ink);text-decoration:underline}@media (max-width:820px){.control-row,.process-grid,.sundaram-hero{grid-template-columns:1fr}.stats-strip{min-width:0;width:100%}}@media (max-width:520px){.sundaram-app{padding:16px}.stats-strip{grid-template-columns:1fr}.stats-strip span+span{border-left:0;border-top:1px solid var(--line)}.sieve-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}}