:root{color-scheme:light;--ink:#172c38;--muted:#5a6c77;--blue:#047c9a;--line:#dce6ea;--paper:#f7fafb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}a{color:var(--blue);text-underline-offset:4px}header,main,footer{max-width:1120px;margin:auto}header{padding:25px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:23px;font-weight:800;color:var(--ink)}.brand span{font-size:15px;background:var(--ink);color:white;border-radius:6px;padding:4px 8px;margin-left:8px}nav{display:flex;gap:25px;font-size:14px}nav a{text-decoration:none}main{padding:0 24px}.hero{padding:64px 0 35px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.15em;color:var(--blue);margin:0 0 18px}h1{font-size:clamp(35px,5.5vw,66px);line-height:1.12;letter-spacing:-.04em;margin:0 0 23px}h1 span{color:var(--blue)}.intro{max-width:600px;color:var(--muted);font-size:18px}.stats{display:flex;gap:65px;margin-top:35px}.stats div{display:flex;flex-direction:column}.stats strong{font-size:27px;letter-spacing:-.03em}.stats span{font-size:13px;color:var(--muted)}.notice{padding:20px 24px;background:#fff7e5;border:1px solid #ead8a8;border-left:4px solid #bb8b1f;border-radius:9px}.notice p{margin:5px 0 0;font-size:14px;color:#695227}section:not(.hero){margin:48px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}h2{font-size:29px;letter-spacing:-.025em;line-height:1.25;margin:0 0 18px}.section-head .eyebrow{margin-bottom:8px}.section-head>a{font-size:14px}form{display:grid;grid-template-columns:160px 1fr auto;gap:16px;background:white;padding:23px;border:1px solid var(--line);border-radius:12px}label{display:flex;flex-direction:column;font-size:13px;font-weight:650;gap:7px}select,button{font:inherit;border-radius:7px;min-height:45px}select{background:white;color:var(--ink);border:1px solid #b8cbd3;padding:8px 12px;width:100%}button{border:0;padding:10px 18px;background:var(--blue);color:white;font-weight:650;cursor:pointer;align-self:end}button:disabled{opacity:.55;cursor:wait}button:hover{filter:brightness(.92)}:focus-visible{outline:3px solid #58c8e8;outline-offset:3px}#status{font-size:14px;color:var(--muted);min-height:23px}.summary{background:#e6f4f8;border:1px solid #bcdee8;padding:18px 22px;border-radius:9px;margin:0 0 20px}.summary strong{font-size:19px}.summary p{margin:4px 0;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{background:#edf3f5;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:15px 16px;white-space:nowrap}td{padding:14px 16px;border-top:1px solid var(--line)}td:nth-child(4){font-variant-numeric:tabular-nums;white-space:nowrap}tr.winner{background:#f0faf6}.badge{display:inline-block;border-radius:4px;background:#e0f3e9;color:#146b42;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.badge.lost{background:#edf1f3;color:#66757b}.badge.nota{background:#f4eee0;color:#7c6126}.small-link{display:inline-block;margin-top:15px;font-size:13px}.base{display:flex;align-items:center;gap:15px;padding:18px;background:var(--ink);border-radius:9px;color:white;margin:22px 0;flex-wrap:wrap}.base span{font-size:10px;letter-spacing:.1em;color:#9abcc9}.base code{flex:1;overflow-wrap:anywhere}.base button{min-height:32px;font-size:12px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.endpoint-table td:first-child{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.endpoint-table a{text-decoration:none}.endpoint-table td:first-child{min-width:260px}pre{padding:24px;background:#162d39;color:#c9e9f5;overflow:auto;border-radius:10px;font-size:13px}.notes{border-top:1px solid var(--line);padding-top:30px;color:var(--muted);font-size:14px}footer{padding:25px 24px 40px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}section{scroll-margin-top:25px}@media(max-width:650px){header{padding:18px 20px;align-items:start}nav{gap:10px;flex-wrap:wrap;justify-content:end;max-width:150px;font-size:12px}.brand{font-size:18px}.brand span{font-size:12px}main{padding:0 20px}.hero{padding:40px 0 25px}.intro{font-size:16px}.stats{gap:20px;justify-content:space-between}.stats strong{font-size:21px}.stats span{font-size:11px}.notice{padding:15px 17px}.section-head{align-items:start;flex-direction:column;margin-bottom:18px}h2{font-size:25px}form{grid-template-columns:1fr;padding:18px}form button{width:100%}td,th{padding:12px}footer{flex-direction:column}.base code{flex-basis:100%;font-size:12px}section:not(.hero){margin:35px 0}}

[hidden]{display:none!important}input{font:inherit;min-height:45px;width:100%;padding:8px 12px;border:1px solid #b8cbd3;border-radius:7px;color:var(--ink);background:white}input:disabled,select:disabled{opacity:.65}.seat-picker{display:grid;gap:8px}form button{align-self:end}#status.error{color:#a52b26}.result-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:14px}.steps{padding-left:24px;max-width:800px}.steps li{padding:6px 0}.table-wrap{max-width:100%}pre{max-width:100%}.base{min-width:0}#retry{margin-bottom:18px}tbody td{overflow-wrap:anywhere}#explorer{align-items:end}@media(max-width:650px){.stats{flex-wrap:wrap}.stats div{min-width:80px}nav{max-width:175px}.result-actions{flex-direction:column;gap:8px}.table-wrap table:not(.endpoint-table){min-width:620px}.steps li{padding:9px 0}}

.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand .brand-copy{display:flex;flex-direction:column;background:none;color:var(--ink);padding:0;margin:0;font-size:inherit;border-radius:0}.brand .brand-title{background:none;padding:0;margin:0;color:var(--ink);font-size:22px}.brand-title b{background:var(--ink);color:white;padding:3px 7px;border-radius:5px;font-size:13px}.brand small{font-size:12px;font-weight:500;color:var(--muted)}.creator{font-size:14px;color:var(--muted)}.guide-button{display:inline-block;background:var(--blue);color:white;text-decoration:none;border-radius:7px;padding:10px 16px}.seat-field{display:grid;gap:7px}.guide-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:40px;padding-top:35px}.guide-nav{position:sticky;top:20px;align-self:start;display:grid;gap:10px;font-size:14px}.guide-nav a{text-decoration:none}.guide-content{min-width:0}.guide-content h1{font-size:42px}.guide-content h2{font-size:27px}.guide-content h3{font-size:20px;margin-top:27px}.guide-content section{margin:35px 0}.guide-content code{overflow-wrap:anywhere}.guide-content pre code{overflow-wrap:normal}.guide-content td{vertical-align:top}.guide-content details{padding:12px 0;border-bottom:1px solid var(--line)}.guide-content summary{font-weight:650;cursor:pointer}.guide-content .table-wrap table{min-width:530px}.guide-content .notice{margin:20px 0}.guide-nav strong{margin-bottom:5px}footer strong{color:var(--ink)}@media(max-width:800px){.guide-layout{grid-template-columns:1fr;gap:20px}.guide-nav{position:static;display:flex;flex-wrap:wrap;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.guide-nav strong{flex-basis:100%}}@media(max-width:650px){header{flex-wrap:wrap;gap:18px}.brand .brand-title{font-size:18px}nav{max-width:none;width:100%;justify-content:start;gap:18px}.guide-content h1{font-size:34px}.brand small{font-size:11px}.creator{font-size:13px}.guide-layout{padding-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:center}.hero-copy{min-width:0}.hero h1{font-size:clamp(34px,4vw,48px)}.hero .stats{gap:30px}.hero-art{display:block;width:100%;height:auto;aspect-ratio:1671/941;object-fit:contain;border-radius:14px;box-shadow:0 12px 32px #172c3824}.hero .intro{font-size:17px}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:28px}.hero-art{max-width:640px;justify-self:center}.hero h1{font-size:clamp(35px,6vw,52px)}.hero .stats{gap:25px}}@media(max-width:650px){.hero .stats{gap:18px}.hero-art{border-radius:10px}.hero .intro{font-size:16px}}

/* Tamil-inspired relief: kolam geometry, a stylized temple tower, and a perspective floor. */
body{background:#f4f8f7;isolation:isolate}.tn-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;perspective:1000px;background:linear-gradient(135deg,#f8fbfa 0%,#edf7f6 55%,#fbf6eb 100%)}.scene-glow{position:absolute;width:650px;height:650px;border-radius:50%;filter:blur(75px);opacity:.45}.glow-sea{background:radial-gradient(circle,#b8e5e2,transparent 65%);top:-240px;right:-200px}.glow-gold{background:radial-gradient(circle,#ecd5a5,transparent 65%);bottom:-320px;left:-230px}.kolam-disc{position:absolute;right:-110px;top:90px;width:460px;height:460px;color:#6baca6;opacity:.12;transform:rotateX(20deg) rotateY(-22deg) rotateZ(12deg);filter:drop-shadow(8px 15px 2px #38766d30);animation:relief-drift 18s ease-in-out infinite alternate}.kolam-disc svg{width:100%;height:100%}.temple-relief{position:absolute;left:-45px;bottom:30px;width:280px;height:400px;color:#789b8d;opacity:.13;transform:rotateY(22deg);filter:drop-shadow(8px 7px 0 #ffffff) drop-shadow(12px 10px 1px #577c6220)}.scene-floor{position:absolute;left:-30%;width:160%;height:520px;bottom:-280px;transform:rotateX(65deg);transform-origin:center top;background-image:linear-gradient(#689d8f22 1px,transparent 1px),linear-gradient(90deg,#689d8f22 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(transparent,#0007 45%,transparent);opacity:.45}header{background:#ffffff45;border-bottom-color:#cbded6}.hero{position:relative}.hero-art{transform:perspective(1000px) rotateY(-4deg) rotateX(2deg);box-shadow:12px 18px 0 -7px #d7e3dd,20px 28px 35px -16px #26483d40;border:3px solid #fff9}.table-wrap,form{box-shadow:0 7px 22px -15px #254b3e35}.notice{background:#fff8e9e8}.guide-content{background:#ffffff80;padding:24px;border-radius:14px}.guide-nav{background:#ffffff70;border-radius:12px;padding:16px}.hero-copy{position:relative;z-index:1}@keyframes relief-drift{from{transform:rotateX(20deg) rotateY(-22deg) rotateZ(12deg) translateY(0)}to{transform:rotateX(15deg) rotateY(-15deg) rotateZ(18deg) translateY(-12px)}}@media(max-width:800px){.temple-relief{left:-85px;width:220px;opacity:.08}.kolam-disc{right:-190px;opacity:.08}.hero-art{transform:none}.guide-content{padding:18px}}@media(max-width:650px){.scene-floor{display:none}.scene-glow{width:400px;height:400px}.kolam-disc{animation:none}.guide-content{padding:14px}.guide-nav{padding:12px}.hero-art{box-shadow:0 10px 26px #26483d28}}@media(prefers-reduced-motion:reduce){.kolam-disc{animation:none}.hero-art{transform:none}}

.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:24px 0}.hero-actions a{font-size:14px}.result-actions{align-items:center}.result-actions button{min-height:36px;font-size:12px;padding:7px 12px}.quick-start{background:#e6f4f8;border:1px solid #bcdee8;border-radius:10px;padding:18px;margin:20px 0}.quick-start h2{margin-top:0}.quick-start a{display:inline-block;margin:5px 15px 5px 0}@media(max-width:650px){.hero-actions{gap:12px}.result-actions button{align-self:start}}
/* Result tools remain readable without animation or canvas. */
.vote-row { margin: 1rem 0; }
.vote-row p { margin-bottom: .4rem; }
.vote-track { height: 12px; border-radius: 8px; background: #e4eae7; overflow: hidden; }
.vote-bar { height: 100%; background: #58788b; border-radius: 8px; }
.vote-bar.elected { background: #168565; }
.verification { margin: 1.5rem 0; padding: 1rem; border: 1px solid #cbd7ce; border-radius: 12px; }
.verification summary { cursor: pointer; font-weight: 600; }
.comparison { margin-top: 2rem; }
.compare-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
#compare-form, .play-form { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; }
.play-form label, #compare-form label { display: flex; flex-direction: column; gap: .5rem; }
.play-form [hidden] { display: none; }
#request-url { overflow-wrap: anywhere; }
#play-response { max-height: 34rem; overflow: auto; }
@media (max-width: 650px) { .compare-grid { grid-template-columns: 1fr; } #explorer { display:flex; flex-direction:column; align-items:stretch; } .play-form label { width:100%; } }

#explorer { grid-template-columns: 130px 180px minmax(0,1fr) auto; }
@media(max-width:850px) { #explorer { grid-template-columns:1fr 1fr; } header {flex-wrap:wrap;gap:15px;} nav {flex-wrap:wrap;gap:14px;} }
@media(max-width:650px) { #explorer {display:flex;} }
.play-form input {font:inherit;border:1px solid #b8cbd3;border-radius:7px;min-height:45px;padding:8px 12px;max-width:100%;}
