@charset "UTF-8";
/* Leerlus Platform — ontwerp Kyra */
/* Layout: ontwerp van Kyra — donkerblauwe app met pixel-warmtevlekken; mobiel één kolom, desktop brede kolom. Demo-balk bovenaan om rollen te wisselen. */
:root{
  --bg:#141E2F; --bar:#1A2840; --panel:#18253A; --panel2:#1F2E47; --line:#5A7598; --line2:#2C3E5C;
  --ink:#F4F1EA; --soft:#C9D3E0; --hint:#7F95B3;
  --pink:#E93C9C; --teal:#4DBDB0; --green:#8CC66A; --yellow:#E2C437; --blue:#4A90D9; --slate:#566F8F; --orange:#F08A4B;
  --font:"Figtree","Avenir Next","Segoe UI",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0}
body{min-height:100vh;font-size:17px;line-height:1.45}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.spacer{flex:1}

header.top{position:sticky;top:0;z-index:50;background:var(--bar)}
.hbar{max-width:1440px;margin:0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:900px){.hbar{height:120px;padding-left:max(58px,env(safe-area-inset-left,0px));padding-right:max(64px,env(safe-area-inset-right,0px))}}
.logo{display:block;text-decoration:none;position:relative;line-height:1}
.logo .word{font-weight:800;font-size:28px;letter-spacing:.02em;position:relative;z-index:1}
.logo .sub2{display:block;font-size:10px;font-weight:500;letter-spacing:.04em;margin-top:2px;position:relative;z-index:1}
.logo .glow{position:absolute;width:58px;height:58px;left:72px;top:-14px;border-radius:50%;background:radial-gradient(circle,#E93C9C 0 10%,#F08A4B 18%,#E2C437 30%,#7CC46D 44%,#4DBDB0 56%,#4A90D9 70%,rgba(74,144,217,0) 76%);z-index:0}
.logo .dot{box-shadow:inset 0 3px 0 var(--pink)}
@media (min-width:900px){.logo .word{font-size:40px}.logo .sub2{font-size:14px}.logo .glow{width:82px;height:82px;left:104px;top:-19px}}
nav.main{display:none;gap:38px;margin-left:auto}
nav.main a{text-decoration:none;font-size:20px;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
nav.main a[aria-current="page"]{border-color:var(--teal)}
@media (min-width:1000px){nav.main{display:flex}}
.burger{background:none;border:0;padding:8px;cursor:pointer;display:grid;gap:6px;width:54px}
.burger span{display:block;height:5px;border-radius:3px;background:var(--blue)}
@media (max-width:899px){.burger{width:44px;gap:5px}}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(8,13,22,.6);display:flex;justify-content:flex-end}
.drawer .panel{width:min(360px,88vw);height:100%;overflow:auto;background:var(--bar);padding:calc(24px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 24px 24px;display:grid;align-content:start;gap:4px}
.drawer .close{justify-self:end;background:none;border:0;font-size:26px;cursor:pointer;color:var(--soft);margin-bottom:8px}
#drawerNav a{display:block;text-decoration:none;font-size:19px;text-transform:uppercase;padding:12px 0;border-bottom:1px solid var(--line2)}

main{position:relative;overflow:hidden;min-height:calc(100vh - 76px)}
canvas.blob{position:absolute;pointer-events:none;z-index:0;image-rendering:pixelated}
.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-block:24px 72px}
@media (min-width:900px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px));padding-block:40px 80px}}

h1{margin:0;font-weight:800;font-size:clamp(32px,4vw,52px);line-height:1.05;text-wrap:balance}
h1 em,h2 em{font-style:normal;color:var(--pink)}
h2{margin:0;font-weight:800;font-size:clamp(24px,2.6vw,34px);line-height:1.1}
h3{margin:0;font-weight:700;font-size:20px;line-height:1.2}
.sub{margin:6px 0 0;color:var(--soft);font-size:clamp(16px,1.5vw,19px);max-width:66ch}
.rule{height:2px;background:linear-gradient(90deg,transparent,var(--soft) 6%,var(--soft) 94%,transparent);opacity:.7;max-width:420px;margin:20px 0 18px}
.muted{color:var(--hint)}
.stack{display:grid;gap:16px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.back{display:inline-flex;align-items:center;gap:16px;background:none;border:0;cursor:pointer;padding:6px 0;font-size:17px;font-weight:500;margin-bottom:12px}
.back svg{width:22px;height:32px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:3px solid var(--teal);background:var(--teal);color:#16202F;font-weight:700;font-size:19px;min-height:56px;padding:0 24px;cursor:pointer;text-decoration:none;text-align:center}
.btn svg{width:26px;height:20px;flex:none}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.pink{background:var(--pink);border-color:var(--pink);color:var(--ink)}
.btn.sm{min-height:40px;font-size:15px;padding:0 14px;border-width:2px;gap:8px}
.btn.big{min-height:76px;font-size:26px;width:100%;max-width:470px}
.btn:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}
.lnk{background:none;border:0;color:var(--teal);font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.danger{color:#FF8FA8}

.field{display:grid;gap:6px}
.field>span{font-weight:600;font-size:15px}
.inp{width:100%;background:var(--panel);border:1.5px solid var(--line);padding:12px 14px;font-size:17px;color:var(--ink)}
textarea.inp{min-height:150px;resize:vertical}
.inp::placeholder{color:var(--hint)}
.big-ta{position:relative}
.big-ta textarea{font-size:clamp(18px,1.8vw,22px);min-height:170px;padding-bottom:34px}
.count{position:absolute;right:12px;bottom:8px;font-size:14px;color:var(--hint);font-variant-numeric:tabular-nums}
.err{color:#FF8FA8;font-weight:600;margin:0}
.ok{color:var(--teal);font-weight:600;margin:0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.check{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);padding:7px 12px;cursor:pointer;font-size:15px;background:var(--panel)}
.check input{accent-color:var(--teal)}

.panel-b{border:1.5px solid var(--line);background:var(--panel);padding:20px}
.code{background:var(--pink);color:var(--ink);font-weight:700;font-size:15px;padding:9px 12px;line-height:1;user-select:all;white-space:nowrap}
@media (min-width:900px){.code{font-size:18px;padding:12px 14px}}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border:1.5px solid var(--line);color:var(--soft)}
.tag.cap{background:var(--yellow);border-color:var(--yellow);color:#141E2F}
.tsep{opacity:.6;font-weight:400}
.tag.t{border-color:var(--teal);color:var(--teal)}
.tag.p{border-color:var(--pink);color:var(--pink)}
.av{width:52px;height:52px;display:grid;place-items:center;font-weight:700;font-size:16px;color:#141E2F;flex:none;background-size:cover;background-position:center}
.av.sm{width:34px;height:34px;font-size:12px}
@media (min-width:900px){.av.lg{width:72px;height:72px;font-size:21px}}
.person{display:flex;align-items:center;gap:12px}

.team-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding-left:10px}
.welcome{padding-left:10px}
.welcome h2{font-size:clamp(22px,2.3vw,30px);font-weight:700}
.members{list-style:none;margin:36px auto 0;padding:18px 20px;border:1.5px solid var(--line);background:var(--panel);max-width:380px}
.members li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:18px;padding:12px 0;border-bottom:1.5px solid var(--line)}
.members li:last-child{border-bottom:0}
.mname{font-weight:700;font-size:15px;display:grid;gap:4px;justify-items:start}
.mname small{font-weight:500;color:var(--teal);font-size:13px}
.rm{background:none;border:0;color:var(--hint);font-weight:700;font-size:19px;cursor:pointer;padding:6px 8px}
.rm:hover{color:var(--pink)}
@media (min-width:900px){
  .members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;max-width:none;margin:36px 0 0;padding:0;border:0;background:none}
  .members li{grid-template-columns:72px 1fr auto;gap:26px;padding:14px 28px 14px 24px;border:1.5px solid var(--line);background:var(--panel)}
  .members li:last-child{border-bottom:1.5px solid var(--line)}
  .mname{font-size:19px}
  .rm{font-size:24px}
}
.team-grid{display:grid;gap:28px}
@media (min-width:1000px){.team-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}
.side{display:grid;gap:16px;min-width:0}
.team-grid>*,.detail>*,.cols2>*{min-width:0}
.qr{background:#fff;padding:10px;width:max-content;max-width:100%}
.qr img,.qr canvas{display:block;width:150px!important;height:150px!important}
.copyline{display:flex;gap:8px}
.copyline input{flex:1;min-width:0}
.notice{border-left:4px solid var(--yellow);background:rgba(226,196,55,.08);padding:12px 14px;color:var(--soft)}
.notice.pink{border-color:var(--pink);background:rgba(233,60,156,.08)}
.notice.teal{border-color:var(--teal);background:rgba(77,189,176,.08)}

.feed-tools{display:grid;gap:14px;margin:22px 0 26px}
.search{position:relative;display:block}
.search input{padding-left:46px;font-size:18px}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--hint)}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{background:transparent;border:1.5px solid var(--line);padding:8px 14px;font-weight:600;font-size:15px;cursor:pointer;color:var(--soft)}
.tabs button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#141E2F}
.chips button[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:var(--ink)}
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.icard{border:1.5px solid var(--line);background:var(--panel);display:grid;grid-template-rows:auto 1fr;cursor:pointer}
.icard:hover{border-color:var(--teal)}
.thumb{height:150px;background:#101827;position:relative;overflow:hidden}
.thumb canvas,.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.icard .body{padding:16px 18px;display:grid;gap:10px;align-content:start}
.icard p{margin:0;color:var(--soft);font-size:15px}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--hint);align-items:center}
.like{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--line);padding:5px 10px;cursor:pointer;font-weight:700;color:var(--soft);font-variant-numeric:tabular-nums}
.like svg{width:16px;height:16px}
.like[aria-pressed="true"]{border-color:var(--pink);color:var(--pink)}
.empty{border:1.5px dashed var(--line);padding:28px;text-align:center;color:var(--soft)}

.detail{display:grid;gap:28px}
@media (min-width:1000px){.detail{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.hero-thumb{height:220px;border:1.5px solid var(--line)}
.block{display:grid;gap:8px}
.block h3{color:var(--teal);font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.block p{margin:0;white-space:pre-wrap}
.people{display:grid;gap:10px}
.comments{display:grid;gap:12px}
.comment{border-left:3px solid var(--line);padding:4px 0 4px 14px}
.comment b{display:block}
.comment p{margin:4px 0 0;color:var(--soft)}
.media-grid{display:flex;flex-wrap:wrap;gap:10px}
.media-grid .m{width:120px;height:90px;border:1.5px solid var(--line);background:var(--panel);display:grid;place-items:center;overflow:hidden;font-size:12px;color:var(--soft);text-align:center;padding:4px;word-break:break-all}
.media-grid .m img{width:100%;height:100%;object-fit:cover}

.steps{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 26px}
.steps button{background:transparent;border:1.5px solid var(--line);color:var(--soft);padding:8px 12px;font-weight:600;font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center}
.steps button .n{width:22px;height:22px;display:grid;place-items:center;background:var(--line2);font-size:12px}
.steps button.done .n{background:var(--teal);color:#141E2F}
.steps button[aria-current="step"]{border-color:var(--teal);color:var(--ink)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
@media (min-width:900px){.pair{gap:28px;padding-inline:60px}}
.drop{border:2px dashed var(--line);min-height:150px;display:grid;place-items:center;text-align:center;padding:18px;cursor:pointer;position:relative}
.drop:hover,.drop.over,.fx.over{background:rgba(74,144,217,.06)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop .icons{display:flex;gap:16px;justify-content:center;color:var(--hint)}
.drop .icons svg{width:44px;height:34px}
.drop b{display:block;font-size:20px;margin-top:8px}
.drop span{display:block;color:var(--hint);font-size:15px}

.fx{display:grid;border:1.5px solid var(--line);background:#111A29;min-height:360px}
@media (min-width:800px){.fx{grid-template-columns:260px minmax(0,1fr)}}
.fx-tree{border-bottom:1.5px solid var(--line);padding:10px 0;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-width:0}
@media (min-width:800px){.fx-tree{border-bottom:0;border-right:1.5px solid var(--line)}}
.fx-tree .dir{padding:6px 14px;color:var(--hint);text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.fx-tree button{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:6px 14px 6px 24px;cursor:pointer;text-align:left;color:var(--soft);font-family:inherit;font-size:14px}
.fx-tree button:hover{background:var(--panel2)}
.fx-tree button[aria-current="true"]{background:#24395A;color:var(--ink)}
.fx-tree .ic{width:28px;flex:none;font-size:10px;font-weight:800}
.fx-tree .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-view{min-width:0;display:grid;grid-template-rows:auto 1fr}
.fx-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 14px;border-bottom:1.5px solid var(--line);font-size:14px;color:var(--soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.fx-bar span:first-child{overflow-wrap:anywhere}
.fx-body{padding:16px;display:grid;place-items:center;min-height:260px}
.fx-body img,.fx-body video{max-width:100%;max-height:420px}
.fx-body textarea{width:100%;min-height:280px;background:transparent;border:0;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;resize:vertical;place-self:stretch}
.fx-body .info{text-align:center;color:var(--soft);display:grid;gap:8px;justify-items:center}
.fx-body .info .big{font-size:42px;font-weight:800;color:var(--hint)}
.appr{display:grid;gap:8px}
.appr .st{font-size:14px;font-weight:700}

.tbl-wrap{overflow-x:auto;border:1.5px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
th{background:var(--panel2);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--hint)}
td select{background:var(--panel);border:1.5px solid var(--line);padding:6px 8px}

.pcards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.pcard{border:1.5px solid var(--line);background:var(--panel);padding:20px;display:grid;gap:12px;align-content:start}
.progress{height:10px;background:var(--line2)}
.progress i{display:block;height:100%;background:var(--teal)}
.tcard{border:1.5px solid var(--line);background:var(--panel);padding:18px;display:grid;gap:12px}
.tcard .top{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.avs{display:flex;gap:4px;flex-wrap:wrap}
.cols2{display:grid;gap:28px}
@media (min-width:1000px){.cols2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}


.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;background:var(--ink);color:#141E2F;font-weight:600;padding:12px 16px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 30px rgba(0,0,0,.4);max-width:calc(100% - 32px)}
.toast button{background:none;border:0;color:#1d6d64;font-weight:800;cursor:pointer;text-decoration:underline}
.confirm{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}

/* WordPress */
.admin-bar header.top{top:32px}
@media (max-width:782px){.admin-bar header.top{top:46px}}
@media (max-width:600px){.admin-bar header.top{top:0}}
.llp-loading{padding:80px 0;text-align:center;color:var(--hint)}
.saved{font-size:13px;color:var(--hint);min-height:18px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#drawerNav .sep{height:1px;background:var(--line2);margin:14px 0 6px}
#drawerNav .small{font-size:15px;text-transform:none}
.more-row{display:flex;justify-content:center;margin-top:28px}

/* Publiek: waarderingen en publieksprijs */
.quotes{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.quote{margin:0;background:var(--panel2);border-left:4px solid var(--yellow);padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start}
.quote .av{grid-row:span 2}
.quote blockquote{margin:0;font-size:17px;line-height:1.45}
.quote figcaption{font-size:14px;color:var(--soft);display:flex;flex-wrap:wrap;gap:2px 10px;align-items:center}
.quote figcaption span{color:var(--hint)}
.cols-2f{display:grid;gap:16px}
@media (min-width:640px){.cols-2f{grid-template-columns:1fr 1fr}}
.vbar{height:8px;background:var(--line2);overflow:hidden}
.vbar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--yellow),var(--pink))}
.ballot{display:grid;gap:20px;margin-top:26px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.bcard{background:var(--panel);border:1.5px solid var(--line2);display:grid;grid-template-rows:auto 1fr;min-width:0}
.bcard.mine{border-color:var(--yellow);box-shadow:inset 0 0 0 2px var(--yellow)}
.bcard .body{padding:18px}
.bcard .q{margin:0;font-style:italic;color:var(--soft)}
.bcard .q span{font-style:normal;color:var(--hint);font-size:14px}
.btn.on{background:var(--yellow);border-color:var(--yellow);color:#16202F}
.btn svg[viewBox="0 0 24 24"]{width:18px;height:18px}
.like.vote[aria-pressed="true"]{border-color:var(--yellow);color:var(--yellow)}
.stars{display:inline-flex;align-items:center;gap:4px;color:var(--yellow);font-weight:700}
.stars svg{width:15px;height:15px}
.rank{display:flex;gap:12px;align-items:center}
.rank .pos{flex:none;width:30px;height:30px;background:var(--panel2);display:grid;place-items:center;font-weight:800;font-size:14px}
h3+.rank .pos{background:var(--yellow);color:#16202F}
.pub-grid{display:grid;gap:24px}
@media (min-width:900px){.pub-grid{grid-template-columns:280px minmax(0,1fr)}}
.modfoto{width:120px;height:120px;object-fit:cover}

/* Fases: ontdekken, ontwerpen, ontwikkelen, pitchen */
.ftiles{display:flex;flex-wrap:wrap;gap:12px}
.ftile{width:200px;display:grid;gap:6px;min-width:0}
.ftile .m{height:140px;border:1.5px solid var(--line);background:var(--panel);display:grid;place-items:center;overflow:hidden;font-size:13px;color:var(--soft);text-align:center;padding:4px;word-break:break-all}
.ftile .m img,.ftile .m video{width:100%;height:100%;object-fit:cover;background:#000}
.ftile.big{width:min(100%,520px)}
.ftile.big .m{height:auto;aspect-ratio:16/9;padding:0}
.ftile.big .m video{object-fit:contain}
.pitch-hero{position:relative;background:#000;border:1.5px solid var(--line);aspect-ratio:16/9}
.pitch-hero video{display:block;width:100%;height:100%;object-fit:contain}
.pitch-hero .tag{position:absolute;left:12px;top:12px;pointer-events:none}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.checklist li{display:grid;gap:2px;padding:10px 12px;border:1.5px solid var(--line2);background:var(--panel2)}
.checklist li.ok{border-color:var(--teal)}
.checklist a{display:flex;gap:10px;align-items:center;text-decoration:none}
.checklist .n{width:24px;height:24px;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--line2)}
.checklist li.ok .n{background:var(--teal);color:#16202F}
.checklist .muted{font-size:14px;padding-left:34px}
.fase-blok{display:grid;gap:16px;padding-top:22px;border-top:2px solid var(--line2)}
.fase-kop{display:flex;gap:12px;align-items:center}
.fase-kop .n{width:34px;height:34px;display:grid;place-items:center;font-weight:800;background:var(--pink);color:var(--ink)}
.canvas-figs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.canvas-figs a{display:grid;place-items:center;aspect-ratio:4/3;border:1.5px solid var(--line);background:var(--panel);overflow:hidden;color:var(--soft);font-size:14px;text-decoration:none;padding:4px;text-align:center}
.canvas-figs img{width:100%;height:100%;object-fit:cover}

/* Ideepagina als verhaal: kop, de reis door de fases, de oplossing */
#reis,#oplossing,.fase-det,#endorseForm{scroll-margin-top:140px}
.story-hero{display:grid;gap:28px;align-items:center;margin-bottom:56px}
@media (min-width:900px){.story-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.sh-visual{position:relative;aspect-ratio:4/3;background:#101827;border:1.5px solid var(--line);overflow:hidden}
.sh-visual img,.sh-visual canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.sh-visual img{image-rendering:auto}

.reis{margin-bottom:56px}
.reis-kop{display:grid;gap:8px;margin-bottom:28px;justify-items:start}
.s-ontdekken{--c:var(--teal)}.s-ontwerpen{--c:var(--blue)}.s-ontwikkelen{--c:var(--orange)}.s-bouwen{--c:var(--green)}.s-pitchen{--c:var(--pink)}.s-oplossing{--c:var(--yellow)}
.st-fase{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
/* De reis als slingerende rivier (1.15.0) */
.fs-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.fs-nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px 6px 6px;border:1.5px solid var(--line2);background:var(--panel);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.fs-nav a:hover{border-color:var(--c)}
.fs-ic{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--c);color:#141E2F;flex:none}
.fs-ic svg{width:17px;height:17px}
.fs-flow{list-style:none;margin:0;padding:0;display:grid}
.fs-stap{display:grid;gap:22px;align-items:center;scroll-margin-top:140px;outline-offset:6px}
.fs-beeld{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:#101827;border:3px solid var(--c);box-shadow:12px 12px 0 color-mix(in srgb,var(--c) 28%,transparent)}
.fs-beeld img{width:100%;height:100%;object-fit:cover;display:block}
.fs-tegel{display:grid;place-content:center;justify-items:center;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 30%,#101827),#101827);font-weight:700;font-size:18px;color:var(--ink);text-align:center;padding:20px}
.fs-groot{display:grid;place-items:center;width:96px;height:96px;background:var(--c);color:#141E2F}
.fs-groot svg{width:48px;height:48px}
.fs-tekst{display:grid;gap:14px;align-content:start;min-width:0}
.fs-kop{display:flex;gap:16px;align-items:center}
.fs-nr{font-size:64px;line-height:.9;font-weight:800;color:transparent;-webkit-text-stroke:2px var(--c);letter-spacing:-.02em;flex:none}
.fs-kop h3{margin:4px 0 0;font-size:clamp(24px,2.6vw,34px);line-height:1.1;hyphens:auto}
.fs-body{margin:0;font-size:18px;line-height:1.6;color:var(--soft);overflow-wrap:break-word}
.fs-inzicht{position:relative;background:var(--panel);border:1.5px solid var(--line2);border-left:6px solid var(--c);padding:14px 16px;display:grid;gap:6px}
.fs-inzicht b{display:flex;align-items:center;gap:8px;color:var(--c);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.fs-inzicht .fs-ic{width:24px;height:24px}.fs-inzicht .fs-ic svg{width:14px;height:14px}
.fs-inzicht p{margin:0;font-size:17px;line-height:1.5;color:var(--ink)}
.fs-meer{justify-self:start;color:var(--c);font-weight:700;min-height:44px}
.fs-bocht{height:56px;display:grid;justify-items:center}
.fs-bocht svg{display:none}
.fs-bocht::before{content:"";width:0;height:100%;border-left:4px dotted var(--line2)}
.fs-finish{position:relative;display:grid;gap:22px;align-items:center;padding:28px;border:3px solid var(--yellow);background:linear-gradient(135deg,rgba(226,196,55,.16),rgba(226,196,55,.04)),var(--panel);scroll-margin-top:140px;outline-offset:6px}
.fs-finish h3{margin:0;font-size:clamp(30px,3.4vw,48px);line-height:1.05;color:var(--yellow)}
.fs-finish .fs-tekst{gap:12px}
.fs-finish .btn{justify-self:start}
.fs-ster{display:grid;place-items:center;width:72px;height:72px;background:var(--yellow);color:#141E2F}
.fs-ster svg{width:40px;height:40px}
@media (min-width:900px){
  .fs-stap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
  .fs-stap.flip .fs-beeld{order:2}
  .fs-bocht{height:120px;display:block}
  .fs-bocht::before{display:none}
  .fs-bocht svg{display:block;width:100%;height:100%;overflow:visible}
  .fs-finish{grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr);gap:36px;padding:36px}
  .fs-finish .fs-beeld{box-shadow:none}
}
@media (prefers-reduced-motion:no-preference){
  .fs-stap,.fs-finish{animation:fsIn .6s ease both;animation-timeline:view();animation-range:entry 0% entry 40%}
  @keyframes fsIn{from{opacity:.2;transform:translateY(24px)}to{opacity:1;transform:none}}
}

.oplossing{margin-bottom:56px;border:2px solid var(--yellow);background:var(--panel);padding:clamp(18px,3vw,36px);display:grid;gap:24px}
.op-kop{display:flex;gap:16px;align-items:center}
.op-ster{flex:none;width:56px;height:56px;display:grid;place-items:center;background:var(--yellow);color:#141E2F}
.op-ster svg{width:30px;height:30px}
.op-kop .tag{margin-bottom:6px;display:inline-block}
.op-grid{display:grid;gap:28px}
@media (min-width:900px){.op-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.op-media{display:grid;gap:14px;align-content:start;min-width:0}
.op-foto{aspect-ratio:16/10;overflow:hidden;border:1.5px solid var(--line)}
.op-foto img{width:100%;height:100%;object-fit:cover;display:block}
.op-mini{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.op-proto{display:grid;gap:8px}
.op-proto-list{display:flex;flex-wrap:wrap;gap:10px}
.op-proto-list a{width:112px;height:80px;border:1.5px solid var(--line);overflow:hidden;display:grid;place-items:center;font-size:12px;color:var(--soft);text-decoration:none;padding:2px;text-align:center}
.op-proto-list img{width:100%;height:100%;object-fit:cover}
.op-tekst{display:grid;gap:16px;align-content:start;min-width:0}
.op-titel{margin:0;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.1;color:var(--yellow)}
.op-lead{margin:0;font-size:clamp(18px,1.8vw,21px);line-height:1.45}
.op-quote{margin:0;padding:14px 16px;background:var(--panel2);border-left:4px solid var(--yellow);font-size:17px;line-height:1.45;font-style:italic}
.op-quote cite{display:block;font-style:normal;font-size:14px;color:var(--hint);margin-top:6px}

.fase-det{border:1.5px solid var(--line2);background:var(--panel)}
.fase-det summary{cursor:pointer;display:flex;gap:12px;align-items:center;padding:14px 16px;list-style:none}
.fase-det summary::-webkit-details-marker{display:none}
.fase-det summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--c)}
.fase-det[open] summary::after{content:"\2212"}
.fase-det summary .n{width:30px;height:30px;display:grid;place-items:center;font-weight:800;background:var(--c);color:#141E2F}
.fase-det summary .muted{font-size:14px}
.fase-det>.stack{padding:0 16px 18px}

/* Stemknop direct op de ideekaart */
.card-vote{margin-top:4px}
.vote-btn{width:100%;justify-content:flex-start;background:transparent;color:var(--yellow);border-color:var(--yellow)}
.vote-btn .vl{flex:1;text-align:left}
.vote-btn .vn{font-variant-numeric:tabular-nums;font-weight:800;min-width:2ch;text-align:right}
.vote-btn:hover{background:rgba(226,196,55,.12)}
.vote-btn.on{background:var(--yellow);color:#16202F}

/* Jury */
.tag.win{display:inline-flex;align-items:center;gap:6px;background:var(--yellow);border-color:var(--yellow);color:#16202F;font-weight:800}
.tag.win svg{width:15px;height:15px}
.tag.jury{border-color:var(--blue);color:#9CC6F0}
.sbar{display:block;height:8px;background:var(--line2);overflow:hidden;min-width:60px}
.sbar i{display:block;height:100%;background:var(--blue)}
.juryblok{margin-bottom:56px;border:2px solid var(--blue);background:var(--panel);padding:clamp(18px,3vw,32px);display:grid;gap:22px;scroll-margin-top:140px}
.jb-kop{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.jb-kop h2{margin:6px 0 2px}
.jb-score{width:96px;height:96px;flex:none;background:var(--blue);color:#0E1726;display:grid;place-content:center;text-align:center;line-height:1}
.jb-score b{font-size:40px;font-weight:800}
.jb-score span{font-size:14px;font-weight:700}
.jb-grid{display:grid;gap:24px}
@media (min-width:900px){.jb-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.jb-crit{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.jb-crit li{display:grid;grid-template-columns:minmax(0,1fr) 120px 2.5ch;gap:12px;align-items:center}
.jb-naam{font-size:15px;font-weight:600}
.jb-naam small{display:block;font-weight:400;color:var(--soft);font-size:13px;margin-top:2px}
.jb-val{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.quote.jq{border-left-color:var(--blue)}
.jform .crit{border:1.5px solid var(--line2);background:var(--panel);padding:18px;margin:0;display:grid;gap:12px;min-width:0}
.crit legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:0 6px;font-size:18px}
.crit-n{width:28px;height:28px;display:grid;place-items:center;background:var(--blue);color:#0E1726;font-weight:800;font-size:14px}
.crit-w{font-size:13px;color:var(--hint);font-weight:600}
.crit-uitleg{margin:0;color:var(--soft);font-size:15px}
.scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sc{position:relative;display:block;cursor:pointer}
.sc input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sc span{display:grid;justify-items:center;gap:2px;min-height:64px;padding:8px 4px;border:2px solid var(--line);background:var(--panel2);font-size:13px;color:var(--soft);text-align:center}
.sc span b{font-size:22px;color:var(--ink)}
.sc input:checked+span{border-color:var(--blue);background:var(--blue);color:#0E1726}
.sc input:checked+span b{color:#0E1726}
.sc input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.sc input:disabled+span{opacity:.6;cursor:default}
.anchors{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;color:var(--hint)}
.anchors span:last-child{text-align:right}
.anchors b{color:var(--soft)}
@media (max-width:520px){.sc span{font-size:11px}.anchors{grid-template-columns:1fr}.anchors span:last-child{text-align:left}}
.jtotal{font-size:20px;padding:12px 16px;border:2px solid var(--blue);justify-self:start}
.jtotal b{font-size:28px}
.jlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jlist>li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1.5px solid var(--line2);background:var(--panel2);padding:12px 14px}
.jrank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jrank li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border:1.5px solid var(--line2);padding:10px 12px}
.jrank li.win{border-color:var(--yellow)}
.jrank .pos{flex:none;width:32px;height:32px;display:grid;place-items:center;font-weight:800;background:var(--panel2)}
.jrank li:first-child .pos{background:var(--blue);color:#0E1726}
.top5{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
.top5 li{display:grid;grid-template-columns:56px 160px minmax(0,1fr) auto;gap:18px;align-items:center;border:1.5px solid var(--line2);background:var(--panel);padding:14px}
.top5 li.eerste{border:2px solid var(--yellow)}
.top5 .plek{width:56px;height:56px;display:grid;place-items:center;font-size:28px;font-weight:800;background:var(--panel2)}
.top5 li.eerste .plek{background:var(--yellow);color:#16202F}
.t5-beeld{position:relative;display:block;aspect-ratio:4/3;background:#101827;overflow:hidden}
.t5-beeld img,.t5-beeld canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.t5-beeld img{image-rendering:auto}
.t5-tekst{display:grid;gap:6px;min-width:0}
.t5-tekst h2{font-size:clamp(20px,2vw,26px)}
.t5-tekst h2 a{text-decoration:none}
.t5-score{display:grid;justify-items:center;text-align:center;min-width:110px}
.t5-score b{font-size:40px;font-weight:800;color:var(--blue);line-height:1}
.t5-score span{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.t5-score small{color:var(--hint);font-size:13px;margin-top:4px}
@media (max-width:760px){.top5 li{grid-template-columns:44px minmax(0,1fr)}.top5 .plek{width:44px;height:44px;font-size:22px}.t5-beeld{grid-column:2}.t5-tekst{grid-column:1/-1}.t5-score{grid-column:1/-1;justify-items:start;text-align:left;display:flex;gap:10px;align-items:baseline}}
.crit legend{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center}
.crit legend .crit-w{grid-column:2}
.sc span{hyphens:auto;overflow-wrap:anywhere}
@media (min-width:1000px) and (max-width:1279px){nav.main{gap:24px}nav.main a{font-size:17px}}

/* Juryprofiel */
.jprof{display:flex;gap:14px;align-items:flex-start;min-width:0}
.jprof .av{flex:none}
.jp-tekst{display:grid;gap:2px;min-width:0}
.jp-rol{font-size:14px;color:var(--soft)}
.jp-tekst p{margin:4px 0 0;font-size:14px;color:var(--soft);line-height:1.45}
.jprof.sm{flex:1 1 260px;align-items:center}
.myprof summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.myprof[open] summary{margin-bottom:6px}
.geldt{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.geldt legend{font-weight:600;font-size:15px;padding:0;margin-bottom:6px;width:100%}
/* 1.14.2: prominent een team maken */
.newteam{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;margin-top:30px;padding:26px 30px;border:3px solid var(--teal);background:linear-gradient(120deg,rgba(77,189,176,.18),rgba(233,60,156,.10))}
.newteam .nt-nr{width:92px;height:92px;display:grid;place-items:center;background:var(--pink);color:#fff;font-size:46px;font-weight:800;line-height:1}
.newteam h2{margin:0 0 6px}
.newteam p{margin:0;font-size:16px}
.newteam .nt-count{margin-top:8px;font-size:15px;opacity:.85}
.newteam .nt-count a{color:inherit}
.newteam .btn.big{width:auto;white-space:nowrap}
@media (max-width:820px){.newteam{grid-template-columns:auto 1fr;padding:22px;align-items:start;gap:18px}.newteam .btn.big{grid-column:1/-1;width:100%;max-width:none}.newteam .nt-nr{width:64px;height:64px;font-size:32px}}
@media (max-width:899px){.fs-beeld{box-shadow:6px 6px 0 color-mix(in srgb,var(--c) 28%,transparent)}.fs-nr{font-size:52px}}
.icard .who{display:grid;gap:2px;font-size:14px;color:var(--hint);margin-top:2px}
.who .m-ch{color:var(--teal);font-weight:600}
/* 1.17.0: onderwijsniveau van deelnemers */
.tag.nv{text-transform:none;letter-spacing:.02em;font-weight:700;background:transparent}
.nv-po{border-color:var(--teal)!important;color:var(--teal)!important}
.nv-vo{border-color:var(--blue)!important;color:#7DB3EA!important}
.nv-mbo{border-color:var(--orange)!important;color:#F5A979!important}
.nv-hbo{border-color:var(--pink)!important;color:#F27BBD!important}
.nv-wo{border-color:var(--yellow)!important;color:var(--yellow)!important}
.nv-mix{display:flex;flex-wrap:wrap;gap:6px}
.person .tag.nv{margin-left:auto}
.mname .tag.nv{margin-left:6px;vertical-align:middle}
.nv-keuze{border:0;margin:0;padding:0;display:grid;gap:8px}
.nv-keuze legend{font-weight:600;margin-bottom:8px;padding:0}
.nv-opties{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.nv-optie{position:relative;cursor:pointer}
.nv-optie input{position:absolute;opacity:0;inset:0;cursor:pointer}
.nv-optie span{display:grid;justify-items:center;gap:2px;min-height:64px;align-content:center;padding:8px 4px;border:1.5px solid var(--line2);background:var(--panel);text-align:center}
.nv-optie b{font-size:20px}
.nv-optie small{font-size:12px;color:var(--soft);line-height:1.2}
.nv-optie input:checked+span{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 22%,var(--panel));box-shadow:inset 0 0 0 1.5px var(--teal)}
.nv-optie input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
@media (max-width:520px){.nv-opties{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 1.18.0: Home per challenge */
.ch-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ch-filter label{font-weight:600}
.ch-filter select{max-width:100%;width:auto;min-width:260px;min-height:44px}
.ch-groep{margin-top:44px}
.ch-groep:first-child{margin-top:8px}
.ch-kop{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;border-top:3px solid var(--teal);padding-top:18px;margin-bottom:18px}
.ch-tekst{display:grid;gap:6px;max-width:820px;justify-items:start}
.ch-kop h2{margin:0;font-size:clamp(24px,2.6vw,34px);line-height:1.15}
.ch-kop p{margin:0;font-size:16px;line-height:1.5}
.ch-n{font-weight:700;color:var(--teal);white-space:nowrap}
.ch-groep .who .m-ch{display:none}
/* 1.19.0: Home als social-media-feed */
.feed-col{max-width:640px;margin:0 auto}
.feed-col h1{font-size:clamp(32px,4vw,48px)}
.stories{display:flex;gap:14px;overflow-x:auto;padding:18px 2px 12px;margin:18px -2px 6px;scroll-snap-type:x proximity;scrollbar-width:thin;scroll-margin-top:110px}
.story{flex:none;width:96px;display:grid;justify-items:center;gap:6px;background:none;border:0;color:var(--ink);cursor:pointer;scroll-snap-align:start;padding:0}
.story-ring{width:76px;height:76px;border-radius:50%;padding:3px;background:conic-gradient(from calc(var(--h) * 1deg),var(--teal),var(--blue),var(--pink),var(--yellow),var(--teal));display:grid}
.story-ring>span{border-radius:50%;background:var(--panel);border:3px solid var(--bg);display:grid;place-items:center;font-weight:800;font-size:20px}
.story-naam{font-size:13px;line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:96px}
.story-n{font-size:12px;color:var(--hint);font-weight:700}
.story.on .story-ring>span{background:var(--teal);color:#10202A}
.story.on .story-naam{font-weight:700}
.story:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.feed-bar{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 24px}
.feed-bar .search{flex:1 1 100%}
.feed-bar select{flex:1 1 180px;min-height:44px}
.ch-intro{display:grid;gap:8px;justify-items:start;padding:18px 20px;border:1.5px solid var(--line2);border-left:6px solid var(--teal);background:var(--panel);margin-bottom:22px}
.ch-intro h2{margin:0;font-size:26px;line-height:1.15}
.ch-intro p{margin:0;color:var(--soft)}
.posts{display:grid;gap:28px}
.post{background:var(--panel);border:1.5px solid var(--line2)}
.post-kop{display:flex;align-items:center;gap:12px;padding:12px 14px}
.post-kop .av{width:42px;height:42px;font-size:15px;flex:none}
.post-wie{display:grid;min-width:0;line-height:1.25}
.post-wie b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-ch{justify-self:start;background:none;border:0;padding:0;color:var(--teal);font-weight:600;font-size:14px;cursor:pointer;text-align:left}
.post-ch:hover{text-decoration:underline}
.post-tijd{margin-left:auto;font-size:13px;color:var(--hint);white-space:nowrap}
.post-beeld{position:relative;display:block;aspect-ratio:4/3;background:#101827;overflow:hidden}
.post-beeld img,.post-beeld canvas{width:100%;height:100%;object-fit:cover;display:block}
.post-tags{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px}
.post-tags .tag{background:rgba(20,30,47,.88)}
.post-tags .tag.win,.post-tags .tag.cap{background:var(--yellow);color:#141E2F}
.post-acties{display:flex;align-items:center;gap:8px;padding:10px 12px 0}
.pa-btn,.post-acties .like{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border:1.5px solid var(--line2);background:none;color:var(--ink);font-weight:700;cursor:pointer;text-decoration:none;font-variant-numeric:tabular-nums}
.pa-btn svg,.post-acties .like svg{width:20px;height:20px}
.pa-btn:hover,.post-acties .like:hover{border-color:var(--teal)}
.pa-btn.vote-btn{border-color:var(--yellow);color:var(--yellow)}
.pa-btn.vote-btn.on{background:var(--yellow);color:#141E2F}
.post-tekst{display:grid;gap:8px;padding:12px 16px 18px}
.post-tekst h2{margin:0;font-size:22px;line-height:1.2}
.post-tekst h2 a{color:var(--ink);text-decoration:none}
.post-tekst h2 a:hover{text-decoration:underline}
.post-tekst p{margin:0;font-size:17px;line-height:1.5;color:var(--soft)}
.post-tekst .post-meta{font-size:14px;color:var(--hint)}
.post-meer{color:var(--teal);font-weight:700;text-decoration:none;justify-self:start}
.post-meer:hover{text-decoration:underline}
@media (max-width:520px){.post-beeld{aspect-ratio:1/1}}
.story-ring>span{font-size:22px}
.story-ring>span{font-size:22px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.post-acties .vote-btn{width:auto;flex:none;justify-content:flex-start;margin:0}
.post-acties .vote-btn .vn{margin-left:4px}
.post-meer{display:inline-flex;align-items:center;gap:8px}
.post-meer svg{width:18px;height:18px;flex:none}

/* 1.21.0 live bijwerken */
.livebar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:calc(100vw - 32px);padding:12px 16px;background:var(--panel,#1F2B40);color:var(--ink,#EFF4F8);border:2px solid var(--teal,#4DBDB0);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.35);font-size:15px}
.livebar .lnk{color:inherit}

/* 1.22.0 meer teams tegelijk */
.nt-actie{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.nt-aantal{display:grid;gap:4px;font-size:14px;font-weight:600;color:var(--soft)}
.nt-aantal .inp{width:110px;font-size:20px;font-weight:700;text-align:center;padding:10px}
.nt-hint{flex-basis:100%;font-size:14px;color:var(--soft);min-height:1em}

/* 1.22.0 video in de reis */
.fs-beeld video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.fs-beeld.fs-video{aspect-ratio:16/9}
.fs-vtag{position:absolute;left:10px;top:10px;pointer-events:none}
.op-vid video,.fig-vid video{display:block;width:100%;max-height:420px;background:#000}
.op-vid,.fig-vid{border:1.5px solid var(--line)}

/* 1.22.0 jury: nomineren en top 5 */
.jbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;margin-bottom:10px;border-bottom:1px solid var(--line2)}
.jinhoud{margin-top:8px}
.jbeo{margin-top:36px;padding-top:24px;border-top:3px solid var(--teal,#4DBDB0);scroll-margin-top:70px}
.jbeo:focus{outline:none}
.nompanel .row{gap:12px;align-items:center}
.nomdots{display:inline-flex;gap:6px}
.nomdots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--yellow,#E2C437);display:block}
.nomdots i.on{background:var(--yellow,#E2C437)}
.nombtn.on{background:var(--yellow,#E2C437);color:#141E2F;border-color:var(--yellow,#E2C437)}
.jcard.nom-on{outline:3px solid var(--yellow,#E2C437);outline-offset:-3px}
.jrondes{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.jrondes li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line2);background:var(--panel2)}
.jrondes li.on{border-color:var(--teal,#4DBDB0)}
.jrondes .rn{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--line2)}
.jrondes li.on .rn{background:var(--teal,#4DBDB0);color:#141E2F}
.jrondes b{display:block}
.jrondes span{font-size:14px;color:var(--soft)}
.jrank li.fin .pos{background:var(--yellow,#E2C437);color:#141E2F}
.jrank li.grens{border:0;padding:0;justify-content:center}
.jrank li.grens span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow,#E2C437);border-top:2px dashed var(--yellow,#E2C437);width:100%;text-align:center;padding-top:4px}

/* 1.23.0 nieuw logo */
.logo .logo-img{display:block;height:44px;width:auto}
@media (min-width:900px){.logo .logo-img{height:56px}}

/* 1.24.0 teamleden: acties */
.m-acties{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 14px;font-size:14px}
.m-acties .lnk{font-size:14px}
/* 1.24.0 joinen: even geduld */
.joinwait{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--teal,#4DBDB0);background:var(--panel);font-size:16px}
.joinwait[hidden]{display:none}
.spin{flex:none;width:28px;height:28px;border-radius:50%;border:4px solid var(--line2);border-top-color:var(--teal,#4DBDB0);animation:llpspin .8s linear infinite}
@keyframes llpspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
/* 1.24.0 volg de captain */
.volg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 14px;padding:10px 14px;border:1.5px solid var(--line2);background:var(--panel2)}
.volg .muted{font-size:14px}
.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch .sl{position:relative;width:46px;height:26px;border-radius:999px;background:var(--line2);transition:background .15s;flex:none}
.switch .sl::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.switch input:checked+.sl{background:var(--teal,#4DBDB0)}
.switch input:checked+.sl::after{transform:translateX(20px)}
.switch input:focus-visible+.sl{outline:3px solid var(--yellow,#E2C437);outline-offset:2px}
/* 1.24.0 juryoverleg per idee */
.jidee{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jidee details{border:1.5px solid var(--line2);background:var(--panel)}
.jidee summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 16px;cursor:pointer;list-style:none}
.jidee summary::-webkit-details-marker{display:none}
.jidee summary::before{content:"\25B8";color:var(--teal,#4DBDB0);font-size:18px;transition:transform .15s}
.jidee details[open] summary::before{transform:rotate(90deg)}
.jidee .ji-titel{flex:1 1 240px;min-width:0}
.jidee .ji-meta{font-size:14px;color:var(--soft)}
.jidee details>.jlist{padding:0 16px 16px}
/* 1.24.0 de challenge: vraag, opdrachtgever en documenten */
.cblok{border:1.5px solid var(--line2);border-left:6px solid var(--teal,#4DBDB0);background:var(--panel);margin:14px 0 20px}
.cblok>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 18px;cursor:pointer}
.cb-grid{display:grid;gap:22px;padding:18px 20px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
@media (max-width:760px){.cb-grid{grid-template-columns:1fr}}
.cb-vraag h2{margin:8px 0 8px;font-size:clamp(22px,2.4vw,28px);line-height:1.15}
.cb-tekst{margin:0;white-space:pre-wrap;line-height:1.55}
.cb-zij{display:grid;gap:16px;align-content:start}
.cb-zij .lbl{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.cb-opdr .person{display:flex;gap:10px;align-items:center}
.cb-docs ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cb-docs li{display:flex;align-items:center;gap:10px;justify-content:space-between}
.cb-docs a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:underline;text-underline-offset:3px;min-width:0}
.cb-docs .ico{flex:none;font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 6px;background:var(--teal,#4DBDB0);color:#141E2F}
.ch-intro .cblok{margin:0;border:0;background:transparent;width:100%}
.ch-intro .cb-grid{padding:0}
.grid3{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}

/* 1.25.0 foto van de opdrachtgever */
.cb-opdr .person{align-items:center;gap:14px}
.cb-foto{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--teal,#4DBDB0);background:var(--panel2)}
.cb-fotoknop{gap:14px;margin-top:8px;font-size:14px}
.cb-fotoknop .lnk{font-size:14px}

/* 1.26.0 categorieen beheren */
.catlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.catlist li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 14px;border:1.5px solid var(--line2);background:var(--panel2)}
.catlist .cat-naam{flex:1 1 220px;min-width:0}
.catlist .cat-naam .muted{font-size:14px}
.catlist .cat-acties{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:15px}

/* 1.27.0 scholen */
.members .m-school{display:block;font-weight:500;color:var(--soft)}

/* 1.28.0 school bij 'Gemaakt door' */
.people .p-wie{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.people .p-school{font-size:13px;color:var(--soft);font-weight:500}
