@font-face { font-family: "Poppins"; src: url("/fonts/poppins-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/poppins-800.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
:root{color-scheme:light;--brand:#054f90;--accent:#f58220;--dark:#171619;--muted:#625d60;--line:#e8e2df;--paper:#f7f5f2;--green:#187653;--blue-tint:#e8f2fb;font-family:"Poppins",system-ui,sans-serif;color:var(--dark);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #95601c;outline-offset:3px}svg{width:18px;height:18px;vertical-align:middle;flex:none}header{background:#fff;border-top:4px solid var(--accent);border-bottom:1px solid var(--line)}.shell{max-width:1184px;margin:auto;padding-inline:32px}.mast{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{display:block;width:clamp(138px,19vw,213px);height:auto}.present,.back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:13px;font-weight:800;border:1px solid var(--line);padding:9px 13px;border-radius:5px;background:#fff}.present:hover,.back:hover{border-color:var(--brand);color:var(--brand)}.hero{position:relative;isolation:isolate;overflow:hidden;background:#101e35;color:#fff}.hero::before{content:"";position:absolute;z-index:-2;inset:0 0 0 30%;background:#29436a url("https://www.parliament.lk/images/240607080646_0061_resize-min.jpg") 50% 49%/cover no-repeat;filter:grayscale(100%);opacity:.77}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0c192f 8%,#142c4fee 37%,#20477c65 100%),linear-gradient(0deg,#081228aa,transparent 65%)}.hero-content{padding-block:49px 53px}.eyebrow,.category,.kicker{font-size:11px;font-weight:900;letter-spacing:1.65px;text-transform:uppercase}.eyebrow{color:#ffd0a2;display:flex;align-items:center;gap:9px}.dot{width:8px;height:8px;border-radius:100%;display:inline-block;background:#f58220;box-shadow:0 0 0 4px #f5822035;flex:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Poppins",system-ui,sans-serif;font-weight:700}h1{font-size:clamp(46px,7vw,88px);letter-spacing:-.055em;line-height:.98;margin:12px 0 16px}.hero p{max-width:500px;font-size:16px;line-height:1.6;color:#edf3ff}.hero-meta{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:25px;font-size:12px;font-weight:700;color:#edf3ff}.hero-meta span{display:flex;align-items:center;gap:7px}.hero-meta svg{color:#ffbf86;width:16px;height:16px}.section{padding-block:29px 52px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.kicker{color:var(--brand);margin-bottom:4px}.section h2{font-size:clamp(32px,4vw,47px);letter-spacing:-.045em;line-height:1.1}.source{font-size:13px;color:var(--muted);text-underline-offset:4px;white-space:nowrap}.source:hover{color:var(--brand)}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.filters button{padding:8px 13px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:12px;font-weight:800;color:#453d40}.filters button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:7px;background:#fff;padding:17px 17px 13px;display:flex;flex-direction:column;min-width:0;box-shadow:0 3px 12px #35151006}.card[hidden]{display:none}.card-meta{display:flex;align-items:center;gap:9px;margin-bottom:12px}.card-meta svg{width:34px;height:34px;background:var(--blue-tint);color:var(--brand);padding:8px;border-radius:5px}.category{color:var(--brand);letter-spacing:1.1px}.number{margin-left:auto;color:#6c6367;font-size:11px;font-weight:800}.card h3{font-size:25px;line-height:1.12;letter-spacing:-.45px}.summary{color:var(--muted);font-size:13px;line-height:1.55;margin-top:8px;flex:1}.amount{color:#3c3335;font-size:12px;font-weight:800;margin:11px 0 14px}.vote-actions{display:flex;gap:7px}.vote{width:50%;border:1px solid #d3e9dd;border-radius:5px;background:#eef8f2;color:#126142;font-weight:800;padding:8px 3px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px}.vote.dislike{background:#fff2f2;border-color:#f3dadd;color:#ab2333}.vote[aria-pressed=true]{background:#126142;border-color:#126142;color:#fff}.vote.dislike[aria-pressed=true]{background:#ab2333;border-color:#ab2333;color:#fff}.vote:hover{filter:brightness(.94)}.vote:disabled{cursor:wait;opacity:.6}.vote svg{width:15px;height:15px}.bar{margin-top:13px;height:7px;background:#ede8e8;border-radius:9px;display:flex;overflow:hidden}.bar span{width:0;transition:width .35s}.bar .yes{background:#248660}.bar .no{background:#d84d58}.labels{display:flex;justify-content:space-between;font-size:11px;font-weight:800;margin-top:5px;color:var(--green)}.labels span:last-child{color:#ac2634}.card-foot{border-top:1px solid #f0ebeb;margin-top:11px;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:5px;color:var(--muted);font-size:11px}.card-foot a{font-weight:800;display:inline-flex;align-items:center;gap:4px;color:#294e86;text-decoration:none;padding-block:4px}.card-foot a:hover{text-decoration:underline}.card-foot svg{width:14px;height:14px}.section>.notice{margin-top:16px;color:var(--muted);font-size:12px}.error{min-height:0;color:#ab2333;font-size:13px;font-weight:700}.error:not(:empty){margin-top:9px}footer{border-top:1px solid var(--line);background:#fff;color:#625d60;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-block:19px}.stage{padding-block:36px 48px}.stage .card{max-width:850px;margin:auto;padding:clamp(19px,4vw,46px)}.stage .card h3{font-size:clamp(30px,6vw,66px)}.stage .summary{font-size:clamp(15px,2vw,23px)}.stage .amount,.stage .labels,.stage .card-foot{font-size:15px}.stage .bar{height:16px;margin-top:16px}.stage-nav{max-width:850px;margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.stage-nav a{padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:white;font-size:13px;font-weight:800;text-decoration:none}.stage-nav a:hover{color:var(--brand)}.stage-nav span{font-size:13px;color:var(--muted)}.stage-head{max-width:850px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.stage-head .dot{margin-right:8px}.stage .vote{padding-block:12px}.stage .card-meta{margin-bottom:16px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.shell{padding-inline:16px}.mast{height:60px}.present{font-size:12px;padding:8px}.hero-content{padding-block:40px}.hero::before{inset-inline-start:10%}.hero::after{background:linear-gradient(90deg,#0d1c35ec,#1c3964b5),linear-gradient(0deg,#0c15289e,transparent)}.grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:6px}.card{padding:16px}.hero p{font-size:15px}}@media(prefers-reduced-motion:reduce){.bar span{transition:none}}
.card-foot{flex-wrap:wrap}.share-links{display:flex;flex-wrap:wrap;gap:4px 12px}.share-links [data-whatsapp]{color:#146649}
.admin{padding-block:32px 55px}.admin h1{font-size:clamp(34px,5vw,53px);margin:0 0 20px}.admin h2{font-size:26px;margin-bottom:13px}.admin-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2fr);gap:16px;align-items:start}.admin-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:7px}.admin-panel a{color:var(--brand);text-underline-offset:3px}.admin-list{list-style:none;margin:12px 0 0;padding:0}.admin-list li{border-top:1px solid var(--line);padding:9px 0;display:grid;gap:3px}.admin-list small,.admin-settings p{color:var(--muted);font-size:13px}.admin-list [aria-current]{font-weight:800}.admin form{display:grid;gap:12px}.admin form label{display:grid;gap:5px;font-size:13px;font-weight:800}.admin input,.admin select,.admin textarea{font:inherit;font-weight:400;padding:9px 10px;border:1px solid #a6b3c3;border-radius:4px;color:inherit;background:white;width:100%}.admin textarea{resize:vertical}.admin button{justify-self:start;background:var(--brand);color:white;border:0;border-radius:4px;padding:9px 15px;font-weight:800}.admin-settings{margin-top:16px}.admin-settings input{max-width:290px}.admin-message,.admin>.error{margin:0 0 15px}.admin-message{color:var(--green);font-weight:800}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.proposal-source{margin:10px 0;font-size:13px;color:var(--muted)}.stage h3:empty{display:none}.detail-title{font-size:clamp(31px,6vw,65px);letter-spacing:-.04em;line-height:1.06;margin:0}.stage .card h1{font-size:clamp(31px,6vw,65px);line-height:1.06;margin:0}
@media(max-width:640px){.admin-grid{grid-template-columns:1fr}}
.proposal-question{font:800 14px "Poppins",system-ui,sans-serif;margin-top:17px}.stage .summary{white-space:pre-line}.stage .bar{min-height:16px}
.admin-share-photo{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.admin-share-layout{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:15px}.admin-share-layout img{width:100%;height:auto;border-radius:4px}.admin-share-layout p,.admin-share-layout small,.admin-photo-note{font-size:13px;color:var(--muted)}.admin-share-layout form,.admin-photo-note{margin-top:12px}.admin-share-layout form [role=status]:empty{display:none}.admin button.admin-secondary{background:#edf3fa;color:var(--brand)}@media(max-width:620px){.admin-share-layout{grid-template-columns:1fr}.admin-share-layout img{max-width:210px}}
.admin-tabs{display:flex;gap:10px;margin:0 0 16px}.admin-tabs a,.language-switch a{padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--brand);font-size:13px;font-weight:800;text-decoration:none}.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-settings-grid form>p,.admin-share-photo>p{font-size:13px;color:var(--muted);margin-bottom:5px}.admin-share-photo>form{margin-top:10px}.header-actions,.language-switch{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.language-switch [aria-current]{background:var(--brand);color:white;border-color:var(--brand)}html[lang=si] h1,html[lang=si] h2,html[lang=si] h3,html[lang=ta] h1,html[lang=ta] h2,html[lang=ta] h3{letter-spacing:0}html:not([lang=en]) .mast{min-height:66px;height:auto;padding-block:10px}html:not([lang=en]) .card h1{line-height:1.22}@media(max-width:760px){.admin-settings-grid{grid-template-columns:1fr}}
.mast:has(.language-switch){min-height:66px;height:auto;padding-block:10px}
.hero h1:lang(si){font-size:clamp(29px,4vw,46px)}
.section h2:lang(si){font-size:clamp(21px,2.6vw,30px)}
.card h3:lang(si){font-size:18px}
.stage .card h1:lang(si){font-size:clamp(22px,3.6vw,38px)}
.presenter-live .stage-head .dot,.presenter-waiting .dot{margin-right:9px}
.presenter-live [data-count]{padding:4px 8px;border-radius:5px}
.presenter-live .bar span{transition:width .7s cubic-bezier(.2,.8,.3,1)}
.presenter-waiting .summary{margin-top:15px}
@media(prefers-reduced-motion:no-preference){
  .presenter-live .dot{animation:presenter-pulse 2.5s ease-out infinite}
  .presenter-live .card{animation:presenter-enter .35s ease-out both}
  @keyframes presenter-pulse{0%,100%{box-shadow:0 0 0 3px #f5822035}45%{box-shadow:0 0 0 8px #f5822000}}
  @keyframes presenter-enter{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.presenter-live .bar span{transition:none}}

/* Keep audience, presenter, and producer controls readable at phone widths. */
:root {
  line-height: 1.5;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
:lang(si) { font-family: "Noto Sans Sinhala", "Sinhala Sangam MN", system-ui, sans-serif; }
:lang(ta) { font-family: "Noto Sans Tamil", "Tamil Sangam MN", system-ui, sans-serif; }
:is(h1, h2, h3, input, textarea):is(:lang(si), :lang(ta)) {
  line-height: 1.35;
}
:is(.hero h1, .section h2, .card h1, .card h3, .admin h1, .admin h2) {
  overflow-wrap: anywhere;
  text-wrap: balance;
}
h1 { line-height: 1.06; }
.card h3 { line-height: 1.24; }
:is(.hero p, .summary, .admin form p) { line-height: 1.6; }
.summary { font-size: 1rem; }
.stage .summary { font-size: clamp(1rem, 2.25vw, 1.4375rem); }
.amount, .labels, .card-foot, .section > .notice, .source,
.error, .stage-nav span, .proposal-source { font-size: .875rem; }
footer { font-size: .75rem; line-height: 1.5; }
.source, .card-meta, .header-actions, .stage-head { min-width: 0; }
.source { white-space: normal; }
.stage-head { flex-wrap: wrap; }
.stage .amount, .stage .labels, .stage .card-foot { font-size: 1rem; }
:is(.present, .back, .vote, .filters button, .card-foot a, .stage-nav a,
    .admin button, .admin-tabs a, .language-switch a) {
  min-height: 44px;
  font-size: .875rem;
  line-height: 1.3;
  padding-block: 9px;
}
:is(.stage-nav a, .admin-tabs a, .language-switch a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vote { font-size: 1rem; }
.header-actions { justify-content: flex-end; }
.admin-panel, .admin form label { min-width: 0; }
.admin form label, .admin-panel small { font-size: .9375rem; }
.admin :is(input, select, textarea) {
  min-height: 44px;
  min-width: 0;
  max-width: 100%;
  font-size: 1rem;
}
.admin input[type=file] { padding: 6px; }
.admin input::file-selector-button {
  background: #edf3fa;
  border: 1px solid #a6b3c3;
  border-radius: 4px;
  color: var(--brand);
  font: inherit;
  padding: 6px 8px;
}
.admin input:is(:focus-visible), .admin select:is(:focus-visible), .admin textarea:is(:focus-visible) {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.admin-tabs [aria-current=page] {
  background: var(--brand);
  color: white;
  border-color: var(--brand);
}
.admin-list a { display: flex; align-items: center; min-height: 44px; }
@media (max-width: 680px) {
  .grid { grid-template-columns: minmax(0, 1fr); }
  .shell { padding-inline: clamp(12px, 4vw, 24px); }
  .mast { height: auto; min-height: 64px; padding-block: 9px; gap: 10px; }
  .brand img { width: clamp(118px, 36vw, 170px); }
  .hero-content { padding-block: 32px; }
  .hero h1 { font-size: clamp(2.125rem, 7.5vw, 3rem); }
  .hero h1:lang(si) { font-size: clamp(1.45rem, 5vw, 1.9rem); }
  .hero p { font-size: 1rem; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .section h2 { font-size: clamp(1.75rem, 6vw, 2.25rem); }
  .section h2:lang(si) { font-size: clamp(1.25rem, 4.2vw, 1.6rem); }
  .stage, .admin { padding-block: 22px 36px; }
  .stage .card h1 { font-size: clamp(1.875rem, 6vw, 2.75rem); }
  .stage .card h1:lang(si) { font-size: clamp(1.35rem, 4.4vw, 1.75rem); }
  .admin h1 { font-size: clamp(1.875rem, 7vw, 2.5rem); }
  .admin-panel { padding: 16px; }
}
@media (max-width: 365px) {
  .mast:has(.language-switch), .admin-page .mast { flex-wrap: wrap; }
  .mast:has(.language-switch) .header-actions, .admin-page .header-actions { justify-content: flex-start; }
}

.admin-login { max-width: 520px; }
.admin-page .header-actions form { margin: 0; }
