/* V19: a full-page documentary photo field on every route. */
html{background:#dbe7ed}body.photo-filled{position:relative;isolation:isolate;background:#dbe7ed}.photo-wall{position:fixed;inset:0;z-index:-10;overflow:hidden;background:#dce7ec;pointer-events:none}.photo-wall i{position:absolute;display:block;background-repeat:no-repeat;background-size:cover;filter:saturate(.48) contrast(.96) brightness(.92);mix-blend-mode:multiply;opacity:.82}.pw-war{inset:-5% 48% 48% -5%;background-image:url('./images/atmosphere-war-v12.png');-webkit-mask-image:radial-gradient(ellipse at 42% 42%,#000 0,#000 42%,transparent 78%);mask-image:radial-gradient(ellipse at 42% 42%,#000 0,#000 42%,transparent 78%)}.pw-family{inset:-6% -5% 50% 46%;background-image:url('./images/atmosphere-life-v12.png');-webkit-mask-image:radial-gradient(ellipse at 58% 42%,#000 0,#000 42%,transparent 80%);mask-image:radial-gradient(ellipse at 58% 42%,#000 0,#000 42%,transparent 80%)}.pw-parliament{inset:19% 19% 34% 18%;background-image:url('./images/truevoice-diet-hero-v4.png');-webkit-mask-image:radial-gradient(ellipse at center,#000 0,#000 38%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 0,#000 38%,transparent 78%);opacity:.68!important}.pw-election{inset:38% 47% 8% -7%;background-image:url('./images/atmosphere-protest-v12.png');-webkit-mask-image:radial-gradient(ellipse at 42% 52%,#000 0,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse at 42% 52%,#000 0,#000 40%,transparent 80%)}.pw-child{inset:39% -8% 8% 47%;background-image:url('./images/society-family-newborn.png');-webkit-mask-image:radial-gradient(ellipse at 62% 50%,#000 0,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse at 62% 50%,#000 0,#000 40%,transparent 80%)}.pw-poverty{inset:67% 50% -10% -6%;background-image:url('./images/atmosphere-poverty-v12.png');-webkit-mask-image:radial-gradient(ellipse at 40% 60%,#000 0,#000 42%,transparent 82%);mask-image:radial-gradient(ellipse at 40% 60%,#000 0,#000 42%,transparent 82%)}.pw-work{inset:66% 20% -9% 23%;background-image:url('./images/society-economy-work.png');-webkit-mask-image:radial-gradient(ellipse at center,#000 0,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 0,#000 40%,transparent 80%)}.pw-farm{inset:66% -7% -10% 50%;background-image:url('./images/atmosphere-culture-civic-v17.png');-webkit-mask-image:radial-gradient(ellipse at 62% 58%,#000 0,#000 42%,transparent 82%);mask-image:radial-gradient(ellipse at 62% 58%,#000 0,#000 42%,transparent 82%)}.photo-wall:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(224,236,242,.10),rgba(230,239,244,.16)),radial-gradient(ellipse at center,transparent 15%,rgba(231,240,245,.20) 100%)}.photo-filled .header{background:rgba(250,253,255,.88)}.photo-filled main>section,.photo-filled main>.section,.photo-filled .review-steps,.photo-filled .results-section,.photo-filled .proposal-section{background-color:rgba(242,248,251,.30)!important;backdrop-filter:blur(1px)}.photo-filled .page-hero{background-color:transparent!important}.photo-filled .page-hero:after{background:linear-gradient(90deg,rgba(247,252,255,.92),rgba(247,252,255,.60) 55%,rgba(247,252,255,.10))}.photo-filled .poll,.photo-filled .result-card,.photo-filled .result-list>article,.photo-filled .system-list article,.photo-filled .full-form,.photo-filled .review-steps article,.photo-filled .trust-grid,.photo-filled .category-grid a,.photo-filled .live-glass,.photo-filled .method-note,.photo-filled .faq details{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);box-shadow:0 12px 34px rgba(18,52,72,.09)}.photo-filled .section-head,.photo-filled .center-head,.photo-filled .about-copy,.photo-filled .manifesto,.photo-filled .live-intro{padding:16px;border-radius:12px;background:rgba(250,253,255,.74);backdrop-filter:blur(10px)}
@media(max-width:700px){.photo-wall i{opacity:.78}.pw-war{inset:-2% 24% 68% -22%}.pw-family{inset:-2% -25% 68% 30%}.pw-parliament{inset:19% -22% 48% -20%}.pw-election{inset:39% 24% 28% -24%}.pw-child{inset:39% -25% 28% 28%}.pw-poverty{inset:65% 25% -3% -24%}.pw-work{inset:64% -4% -4% 20%}.pw-farm{inset:72% -26% -8% 40%;opacity:.68!important}.photo-wall:after{background:linear-gradient(180deg,rgba(230,240,245,.06),rgba(235,243,247,.15))}.photo-filled main>section,.photo-filled main>.section,.photo-filled .review-steps,.photo-filled .results-section,.photo-filled .proposal-section{background-color:rgba(243,248,251,.25)!important}.photo-filled .section-head,.photo-filled .center-head,.photo-filled .about-copy,.photo-filled .manifesto,.photo-filled .live-intro{background:rgba(250,253,255,.82)}}

/* V20: make the social atmosphere visible immediately, especially on mobile. */
.photo-filled main>section{position:relative;isolation:isolate;overflow:hidden}
.photo-filled main>section::before,.photo-filled main>section::after{content:"";position:absolute;z-index:-1;inset:-10%;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.64) contrast(1.04);opacity:.34;pointer-events:none}
.photo-filled main>section::after{background:linear-gradient(100deg,rgba(245,250,253,.76),rgba(236,246,251,.28),rgba(255,255,255,.72));opacity:1}
.photo-filled .live-section::before{background-image:url('./images/atmosphere-life-v12.png');background-position:center 34%}
.photo-filled #polls::before{background-image:url('./images/atmosphere-protest-v12.png');background-position:center 42%}
.photo-filled .proposal-section::before{background-image:url('./images/society-family-newborn.png');background-position:center 38%}
.photo-filled .results-section::before{background-image:url('./images/atmosphere-war-v12.png');background-position:center 40%}
.photo-filled .elections::before,.photo-filled .election-integrity::before{background-image:url('./images/truevoice-diet-hero-v4.png');background-position:center 46%}
.photo-filled .membership::before{background-image:url('./images/atmosphere-culture-civic-v17.png');background-position:center 42%}
.photo-filled .about::before{background-image:url('./images/atmosphere-poverty-v12.png');background-position:center 45%}
.photo-filled .trust::before{background-image:url('./images/society-economy-work.png');background-position:center 42%}
.photo-filled .categories::before{background-image:url('./images/atmosphere-life-v12.png');background-position:center 58%}
.photo-filled .participate::before,.photo-filled .vision::before{background-image:url('./images/atmosphere-culture-civic-v17.png');background-position:center 54%}
.photo-filled .faq::before{background-image:url('./images/society-family-newborn.png');background-position:center 52%}
.photo-filled .poll,.photo-filled .result-card,.photo-filled .election-types article,.photo-filled .integrity-grid article,.photo-filled .membership-grid article,.photo-filled .trust-grid article,.photo-filled .category-grid a,.photo-filled .steps article{background:rgba(255,255,255,.91)!important;backdrop-filter:blur(8px)}

@media(max-width:700px){
  .photo-filled main>section::before{inset:-3%;opacity:.46;filter:saturate(.72) contrast(1.06)}
  .photo-filled main>section::after{background:linear-gradient(180deg,rgba(247,251,253,.72),rgba(238,247,251,.20) 36%,rgba(248,251,253,.66));}
  .photo-wall i{opacity:.9;filter:saturate(.62) contrast(1.03) brightness(.95)}
  .photo-wall:after{background:linear-gradient(180deg,rgba(232,242,247,.02),rgba(237,245,249,.08))}
  .photo-filled .section-head,.photo-filled .center-head,.photo-filled .about-copy,.photo-filled .manifesto,.photo-filled .live-intro{background:rgba(252,254,255,.86);box-shadow:0 10px 32px rgba(10,45,75,.08)}
}

.mobile-dashboard{display:none}
@media(max-width:700px){
  .mobile-dashboard{display:block;padding:26px 14px 30px!important;background:linear-gradient(145deg,rgba(8,48,98,.96),rgba(14,103,164,.88))!important;color:#fff}
  .mobile-dashboard::before{opacity:.48!important;background-image:url('./images/atmosphere-culture-civic-v17.png')!important}
  .mobile-dashboard::after{background:linear-gradient(135deg,rgba(5,33,73,.86),rgba(13,91,148,.42),rgba(7,38,79,.76))!important}
  .mobile-dashboard-head{position:relative;z-index:2;padding:0 2px 16px}
  .mobile-dashboard-head p{margin:0 0 5px;color:#9cd9f1;font-size:9px;font-weight:850;letter-spacing:.18em}
  .mobile-dashboard-head h2{margin:0;font:700 25px/1.4 Georgia,"Yu Mincho",serif;color:#fff}
  .mobile-dashboard-head span{display:block;margin-top:5px;color:#d9e8f3;font-size:11px}
  .mobile-dashboard-actions{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-action{min-height:94px;padding:15px 13px;border:1px solid rgba(255,255,255,.34);border-radius:15px;background:rgba(255,255,255,.91);color:#102d50;text-align:left;box-shadow:0 12px 28px rgba(0,24,54,.18)}
  button.mobile-action{width:100%;font:inherit;cursor:pointer}
  .mobile-action b,.mobile-action span{display:block}
  .mobile-action b{font-size:13px;line-height:1.45}
  .mobile-action span{margin-top:9px;color:#1768e5;font-size:9px;font-weight:800}
  .mobile-action.vote{background:linear-gradient(145deg,#fff,#eaf5ff);border-color:#a8d2f3}
  .mobile-action.propose{background:linear-gradient(145deg,#fff,#fff3f1);border-color:#efb8b4}
  .mobile-photo-stream{position:relative;z-index:2;display:flex;gap:8px;margin-top:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 1px 7px}
  .mobile-photo-stream article{position:relative;flex:0 0 61%;height:132px;border-radius:16px;overflow:hidden;background-position:center;background-size:cover;scroll-snap-align:start;box-shadow:0 11px 25px rgba(0,20,48,.22)}
  .mobile-photo-stream article::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,28,59,.82))}
  .mobile-photo-stream span{position:absolute;z-index:1;left:13px;bottom:11px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em}
  .stream-life{background-image:url('./images/atmosphere-life-v12.png')}
  .stream-work{background-image:url('./images/society-economy-work.png')}
  .stream-civic{background-image:url('./images/atmosphere-protest-v12.png')}
  .stream-future{background-image:url('./images/atmosphere-culture-civic-v17.png')}
  .mobile-nav{height:70px;grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 25px rgba(14,50,82,.12)}
  .mobile-nav a{font-size:10px;font-weight:700;gap:2px}
  .mobile-nav a span{font-size:19px;line-height:1}
  body{padding-bottom:72px}
}
