*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:transparent;color:#515859;font-family:Arial,sans-serif}main{width:1920px;height:1080px;padding:22px;background:rgba(81,88,89,.18)}.paper{height:100%;padding:34px 42px 22px;background:#f0d5a6;box-shadow:0 8px 35px #0003;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:4px solid #515859;padding-bottom:18px}header img{width:260px;margin-top:8px}.kicker{font-weight:900;letter-spacing:4px;font-size:20px}h1{font:700 70px Georgia,serif;margin:5px 0 0}header p{margin:2px 0 0;font-weight:800;font-size:19px}#content{flex:1;padding-top:24px}.hero{display:grid;grid-template-columns:1.05fr 1.2fr;gap:18px}.summary{display:flex;flex-direction:column;gap:14px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card,.trend,.institutes,.barbox,.facts{background:#f7e4bf}.card{border-top:8px solid #85b09a;padding:24px 28px 20px;min-height:220px}.card.no{border-color:#7f7384}.label{font-weight:900;letter-spacing:2px;font-size:16px}.big{font:700 88px Georgia,serif;margin-top:12px;line-height:.95}.sub{font-weight:700;margin-top:14px;font-size:14px}.barbox{padding:18px 22px}.bar{height:30px;background:#e4cfaa;display:flex;overflow:hidden}.bar i{display:block;height:100%;transition:width .7s ease}.yesbar{background:#85b09a}.nobar{background:#7f7384}.neutralbar{background:#d6b161}.barlabels{display:flex;justify-content:space-between;margin-top:9px;font-size:14px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:5px solid #eca154}.facts div{padding:15px 18px;border-right:1px solid #51585933}.facts div:last-child{border:0}.facts span{display:block;font-size:11px;font-weight:900;letter-spacing:1.2px}.facts strong{display:block;font:700 25px Georgia,serif;margin-top:5px}.trend{border-top:8px solid #85b09a;padding:24px 28px 18px}.trendhead,.sectionhead{display:flex;justify-content:space-between;align-items:baseline}.trend h2,.institutes h2{font:700 36px Georgia,serif;margin:0}.legend{font-size:13px;font-weight:800;display:flex;align-items:center;gap:7px}.lg{width:18px;height:5px;display:inline-block;margin-left:10px}.lg.yes{background:#85b09a}.lg.no{background:#7f7384}.chart{height:330px;margin-top:10px}.chart svg{width:100%;height:100%;overflow:visible}.grid{stroke:#51585922;stroke-width:1}.axis{fill:#515859;font:700 11px Arial,sans-serif}.trendline{fill:none;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.trendline.approve{stroke:#85b09a}.trendline.disapprove{stroke:#7f7384}.dot{stroke:#f7e4bf;stroke-width:3}.approveDot{fill:#85b09a}.disapproveDot{fill:#7f7384}.empty{display:grid;place-items:center;height:100%;font-weight:800}.institutes{margin-top:18px;border-top:8px solid #eca154;padding:20px 28px 24px}.sectionhead span{font-size:13px;font-weight:800}.rows{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.inst{border-left:5px solid #eca154;background:#f3d9a8;padding:16px 18px;min-height:118px}.inst b{display:block;margin-bottom:10px}.instnums{display:flex;align-items:baseline;gap:9px}.inst strong{font:700 31px Georgia,serif}.instnums span{font:700 20px Georgia,serif}.inst>div:last-child{font-size:12px;margin-top:5px}.pending{display:block}footer{border-top:2px solid #515859;padding-top:14px;display:flex;justify-content:space-between;font-weight:900;letter-spacing:.5px;font-size:14px}
body{transition:opacity .35s ease}body.hidden{opacity:0}.brand{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.brand span{font-size:12px;font-weight:900;letter-spacing:2px}.scene{animation:sceneIn .42s ease both}@keyframes sceneIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.currentScene{max-width:1100px;margin:55px auto}.currentScene .card{min-height:300px}.currentScene .big{font-size:128px}.trend.full,.institutes.full{height:100%;padding:34px 40px}.trendScene,.instituteScene{height:100%}.bigchart{height:590px;margin-top:25px}.bigrows{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px}.bigrows .inst{min-height:210px;padding:25px 30px}.instvalue{display:flex;align-items:baseline;gap:10px;min-height:50px}.instvalue strong{font:700 31px Georgia,serif}.instvalue span{font-size:12px;font-weight:800}.inst small{display:block;margin-top:8px}.methodnote{font-size:13px;font-weight:700;margin-top:22px}
.pollpanel{background:#f7e4bf;border-top:8px solid #85b09a;padding:32px 42px;height:100%}.pollbars{display:flex;flex-direction:column;gap:11px;margin-top:20px}.pollrow{display:grid;grid-template-columns:110px 1fr 90px;align-items:center;gap:18px}.pollrow>b{font-size:18px}.pollrow>strong{font:700 26px Georgia,serif;text-align:right}.polltrack{height:24px;background:#ead3a7}.polltrack i{height:100%;display:block;transition:width .6s ease}.bigpoll{gap:20px;margin-top:32px}.bigpoll .pollrow{grid-template-columns:150px 1fr 130px}.bigpoll .pollrow>b{font-size:26px}.bigpoll .pollrow>strong{font-size:38px}.bigpoll .polltrack{height:42px}.pollcards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}.pollcard{background:#f3d9a8;border-left:5px solid #eca154;padding:18px}.pollcard>b{font:700 24px Georgia,serif}.pollcard>span{float:right;font-weight:800}.pollcard .pollbars{gap:5px;margin-top:12px}.pollcard .pollrow{grid-template-columns:75px 1fr 55px;gap:8px}.pollcard .polltrack{height:10px}.pollcard .pollrow>b{font-size:11px}.pollcard .pollrow>strong{font-size:15px}

/* v0.6.1 — Wahlcenter-style Sonntagsfrage */
.pollpanel.electionstyle{display:flex;flex-direction:column;padding:30px 38px 22px}
.pollpanel.electionstyle .sectionhead h2{font:700 36px Georgia,serif;margin:0}
.pollstage{position:relative;flex:1;min-height:520px;margin-top:18px;padding:20px 20px 0 64px;border-bottom:3px solid #515859}
.pollgrid{position:absolute;inset:20px 20px 70px 64px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.pollgrid:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(33.333% - 1px),#51585922 calc(33.333% - 1px),#51585922 33.333%)}
.pollgrid span{position:relative;transform:translate(-44px,-7px);font-size:12px;font-weight:800;width:30px;text-align:right}
.pollcolumns{height:100%;display:flex;align-items:stretch;justify-content:center;gap:18px;position:relative;z-index:2}
.pollcol{flex:1;max-width:175px;display:grid;grid-template-rows:54px 1fr 54px;align-items:end;text-align:center;min-width:90px}
.pollvalue{font:700 38px Georgia,serif;align-self:center;opacity:0;animation:pollFade .35s ease calc(var(--delay) + .35s) forwards}.pollvalue small{font-size:.58em}
.columnwell{height:100%;display:flex;align-items:flex-end;justify-content:center;padding:0 8px}.columnwell i{display:block;width:100%;max-width:125px;transform-origin:bottom;transform:scaleY(0);animation:pollGrow .65s cubic-bezier(.2,.75,.2,1) var(--delay) forwards;box-shadow:inset 0 -2px #0002}
.partyname{font-size:19px;font-weight:900;align-self:center;border-top:2px solid #51585933;padding-top:10px}
.pollmeta{display:flex;justify-content:space-between;align-items:center;padding:13px 8px 0;font-size:13px}.pollmeta span{font-weight:800}
@keyframes pollGrow{to{transform:scaleY(1)}}@keyframes pollFade{to{opacity:1}}
/* v0.7.0 — Wahlcenter transport/reveal */
.pollstage{height:535px;min-height:535px;padding-top:8px}.pollgrid{inset:8px 20px 70px 64px}.pollcolumns{height:465px;align-items:end}.pollcol{height:465px;grid-template-rows:52px 355px 58px;align-items:stretch}.columnwell{height:355px;align-items:flex-end}.columnwell i{height:var(--h);transform:scaleY(0);opacity:0;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .2s ease}.pollvalue{opacity:0;animation:none;transition:opacity .25s ease .25s}.pollcol.revealed .columnwell i{transform:scaleY(1);opacity:1}.pollcol.revealed .pollvalue{opacity:1}.partyname{align-self:start}body[data-layout="transparent"] .paper{background:transparent;box-shadow:none}body[data-layout="clean"] main{padding:0;background:transparent}body[data-layout="clean"] .paper{box-shadow:none}body[data-facecam="right"] #content{padding-right:470px}body[data-facecam="left"] #content{padding-left:470px}
