/* GIBO Driehoek: official Snappies, school palette and generous child controls. */
.snappie{display:block;object-fit:contain;flex:none;width:100px;height:auto;max-height:160px}
progress{appearance:none;-webkit-appearance:none;width:100%;height:12px;border:0;border-radius:50px;overflow:hidden;background:#e4eee7;color:#44AC6C;display:block}progress::-webkit-progress-bar{background:#e4eee7;border-radius:50px}progress::-webkit-progress-value{background:#44AC6C;border-radius:50px}progress::-moz-progress-bar{background:#44AC6C;border-radius:50px}
.child-portal{background:#f2faf7}.child-portal .content{max-width:1420px}.child-portal .sidebar{border-right:3px solid #B0D6B9;background:linear-gradient(#fff 60%,#eef7df)}.child-portal .nav a{min-height:54px}.child-portal .nav a.active{background:#116CAB;color:white;box-shadow:0 4px 0 #0a4d7c}.child-portal .btn{border-radius:14px;min-height:48px;box-shadow:0 3px 0 #163d2420}.child-portal .topbar{background:#fff}.child-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#B0D6B9;border:3px solid #44AC6C;border-radius:32px;padding:30px 34px;margin-bottom:24px;overflow:hidden;background-image:radial-gradient(circle at 95% 5%,#e7f7cc 0 19%,transparent 19.2%),radial-gradient(circle at 85% 95%,#e3f1d3 0 24%,transparent 24.2%)}.child-hero h1{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.13;max-width:600px;color:#16472c;margin-bottom:14px}.child-hero p{max-width:510px;color:#254a33;margin-bottom:18px;font-size:1.05rem}.child-hero .eyebrow{color:#245f38}.hero-friends{position:relative;width:265px;min-width:220px;height:218px}.hero-main{position:absolute;width:160px;max-height:206px;left:0;bottom:0}.hero-small{position:absolute;width:105px;max-height:120px;right:0;bottom:0}.hero-bubble{position:absolute;top:2px;right:3px;padding:9px 16px;border-radius:18px 18px 18px 0;background:white;color:#235437;font-weight:700;box-shadow:0 4px 0 #23644114}
.growth-panel{background:#fff;border:2px solid #d2e7dd;border-radius:25px;margin-bottom:30px;overflow:hidden}.growth-copy{padding:22px 26px;display:flex;align-items:center;gap:20px}.growth-copy p{font-size:.9rem;color:#52695e;margin:4px 0 12px}.growth-snappie{width:65px;height:80px}.progress-number{font-size:1.8rem;color:#236441}.rainbow-progress{height:18px}.rainbow-progress::-webkit-progress-value{background:linear-gradient(90deg,#116CAB,#44AC6C)}.rainbow-progress::-moz-progress-bar{background:linear-gradient(90deg,#116CAB,#44AC6C)}.daily-path{background:#f4f8ea;border-top:2px dashed #B0D6B9;padding:19px 26px}.daily-intro{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.daily-intro span{font-size:.85rem;color:#526444}.milestones{display:flex;position:relative;gap:20px;margin:18px auto 22px;max-width:750px}.milestones:before{content:'';position:absolute;top:25px;height:7px;left:17%;right:17%;background:#cbdcbc;border-radius:9px}.milestone{position:relative;flex:1;text-align:center;display:grid;justify-items:center;gap:5px}.milestone-icon{background:white;border:3px solid #bccfab;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;font-size:1.6rem}.milestone.earned .milestone-icon{background:#dcf4e4;border-color:#44AC6C;color:#164c2a}.milestone>span:last-child{font-size:.8rem;color:#4e6143}.child-portal .tabs{background:white;border:2px solid #d4e7d8}.child-portal .tabs button{min-height:44px}.child-portal .tabs .active{background:#116CAB;color:#fff}.child-portal .chip{min-height:44px;background:white;border:2px solid #c6e0d0;font-weight:700}.child-portal .chip.active{background:#236441;color:white;border-color:#236441}.child-portal .filter-chips{gap:10px}.child-tasks{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.child-card{border:2px solid #b3d5ef;border-radius:23px;overflow:hidden;box-shadow:0 5px 0 #c4dcf130;background:#fff}.card-sky{height:122px;background:#d9eefd;position:relative;display:flex;align-items:flex-start;padding:17px}.subject-sticker{display:inline-flex;align-items:center;gap:6px;border-radius:12px;background:white;padding:7px 10px;font-size:.82rem;font-weight:700;color:#165781;z-index:1;max-width:calc(100% - 67px)}.card-friend{position:absolute;width:80px;height:97px;right:12px;bottom:6px}.tone-1 .card-sky{background:#d8efcf}.tone-1{border-color:#bddab2}.tone-2 .card-sky{background:#f9ddd0}.tone-2{border-color:#ecc6b6}.tone-3 .card-sky{background:#f7ebba}.tone-3{border-color:#e5d698}.child-card .task-card-main{padding:19px 21px;gap:12px}.child-card h2{font-size:1.22rem}.child-card .description{min-height:38px}.child-card .btn{background:#116CAB;width:100%}.child-card.tone-1 .btn{background:#236441}.child-card.tone-2 .btn{background:#93472f}.mini-progress{margin:12px 0 17px}.mini-progress span{display:block;font-size:.8rem;color:#51645a;margin-bottom:7px}.child-card .task-card-foot{border-top:1px dashed #d5e0db;padding:10px 20px;background:#fafcfb}.snappie-cheer{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;margin:38px 0 12px;color:#236441}.snappie-cheer img{width:62px;height:82px}.reflection-reminder{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff3d6;border:2px solid #dcc784;border-radius:20px;padding:18px 22px;margin-bottom:22px}.reflection-reminder>span{font-size:1.7rem}.reflection-reminder p{font-size:.9rem}.reflection-panel{display:flex;align-items:center;gap:20px;border:3px solid #116CAB;background:#e7f4fd;border-radius:25px;padding:25px;margin:15px 0 24px}.reflection-panel>.snappie{width:87px}.smiley-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.smiley-choices button{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;background:#fff;color:#24402f;border:2px solid #b4d2e4;border-radius:19px;padding:15px 8px;min-height:125px}.smiley-choices button:hover{border-color:#116CAB;background:#f5fbff;transform:translateY(-2px)}.smiley-choices span{font-size:2.8rem;line-height:1.1}.smiley-choices strong{font-size:.88rem}.mood-badge{font-size:.88rem;display:inline-flex;align-items:center;gap:7px;background:#f2f6f2;padding:7px 10px;border-radius:10px;margin:4px 0}.results-hero{background-color:#d5eafb;border-color:#116CAB}.results-hero h1{color:#124e79}.results-friend{width:135px;max-height:165px}.result-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.child-result{background:#fff;border:2px solid #c4deed;border-radius:23px;padding:23px;display:grid;gap:14px}.child-result:nth-child(even){border-color:#c2ddba}.child-result h2{font-size:1.2rem}.result-score{font-size:1.8rem;color:#236441}.result-score span{display:block;font-size:.75rem;font-weight:400;color:#52665b}.teacher-note{display:flex;gap:10px;background:#eaf4fc;padding:14px;border-radius:12px;align-items:flex-start}.teacher-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.player-progress{position:sticky;top:8px;background:#fff;padding:14px 20px;border:2px solid #B0D6B9;box-shadow:0 4px 18px #16382c10;border-radius:17px;margin:18px 0;z-index:2}.player-progress strong{font-size:.88rem}.player-progress progress{margin-top:9px}.player-coach{display:flex;align-items:center;gap:14px;margin:15px 0;color:#236441;font-weight:700}.player-coach .snappie{width:45px;height:58px}.child-portal .question{border:2px solid #c3decb;border-radius:22px}.child-portal .question:nth-child(3n+2){border-color:#bfd9ed}.child-portal .question:nth-child(3n){border-color:#eed2bc}.child-portal .question .number{background:#116CAB;color:white}.child-portal .choice{min-height:55px;border-radius:14px}.child-portal .choice:has(input:checked){background:#deeed7}.child-portal .feedback-box{border:2px solid #116CAB}.child-portal .result-summary{border:2px solid #B0D6B9;border-radius:25px;background:#f0f8eb}.child-portal .result-item{border-radius:17px}.child-portal .result-item.incorrect{background:#fff3df}.child-portal .school-footer{border-top:2px dashed #c4dacb}
.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:20px}.live-pupil{border:1px solid #d3e1d8;background:#fff;padding:20px;border-radius:18px}.live-pupil.needs-revision{border:2px solid #C46044}.live-pupil h2{font-size:1.05rem}.live-pupil progress{margin:17px 0 8px}.presence{font-size:.75rem;color:#617269}.presence.online{color:#236441;font-weight:700}.live-current{font-size:.85rem;background:#eef6f0;padding:10px;border-radius:9px;margin:12px 0;min-height:43px}.live-task-list{font-size:.79rem;color:#53685c;max-height:240px;overflow:auto}.live-task-list>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #e6eee8;padding:8px 0}.live-task-list>div>span:first-child{flex:1;min-width:0}.live-task-list a{display:inline-block;padding:4px;white-space:nowrap}.generator-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.generator-layout fieldset{border:1px solid #d6e3da;border-radius:12px;padding:15px;min-width:0}.generator-layout legend{font-weight:700;padding:0 7px}.generator-layout textarea{min-height:155px}.generator-guide{position:sticky;top:20px}.generator-guide .snappie{width:95px;margin:0 auto 20px}.generator-guide ol{padding-left:20px}.generator-guide li{margin:14px 0}.generation-lock{display:grid;gap:18px;border:0!important;padding:0!important}.generation-lock:disabled{opacity:.75}#ai-progress{font-weight:700;color:#116CAB}.game-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.game-choices .panel{display:grid;gap:15px;border:2px solid #bfd8eb;border-radius:23px}.game-emoji{font-size:2.7rem}.game-page{max-width:850px;margin:auto}.game-header{display:flex;align-items:center;gap:20px;background:#dbeefb;border:2px solid #116CAB;border-radius:25px;padding:23px}.game-header .snappie{width:75px}.game-header h1{font-size:1.6rem}.game-header p{font-size:.9rem;margin-top:8px}.game-countdown{text-align:center;background:white;padding:12px 17px;border-radius:18px;flex:none}.game-countdown span{font-size:1.8rem;font-weight:700;color:#116CAB;font-variant-numeric:tabular-nums}.game-countdown small{display:block;font-size:.68rem}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:26px auto;max-width:650px}.memory-card{height:145px;background:#116CAB;border:3px solid #0c5588;border-radius:22px;box-shadow:0 4px 0 #0c5588;color:#fff;font-size:3rem;display:grid;place-items:center}.memory-card.revealed{background:#fff;border-color:#44AC6C;box-shadow:0 4px 0 #236441}.memory-card .snappie{width:75px;height:115px}.memory-card:disabled{opacity:1;cursor:default;background:#e6f4db}.color-target,.pattern-target{text-align:center;background:white;border:2px solid #c2dcce;border-radius:23px;margin:25px 0;padding:24px;font-size:1.2rem}.color-target>span{display:block;font-size:4rem}.pattern-target>div{display:flex;gap:20px;justify-content:center;margin:20px 0;font-size:2.4rem}.color-buttons{display:flex;gap:18px;justify-content:center;margin:20px 0}.color-buttons button{width:110px;height:100px;background:white;border:3px solid #aacae1;border-radius:22px;font-size:2.6rem}.game-message{text-align:center;min-height:55px;font-weight:700;color:#236441;margin:15px 0}
@media(min-width:1800px){.live-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.child-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-friends{width:200px;min-width:180px}.hero-main{width:130px}.hero-small{width:88px}.generator-layout{grid-template-columns:minmax(0,1fr)}.generator-guide{position:static}.generator-guide .snappie{float:right}.game-choices{grid-template-columns:1fr}}
@media(max-width:800px){.child-hero{padding:23px;border-radius:25px}.hero-friends{min-width:135px;width:135px;height:160px}.hero-main{width:112px;left:0}.hero-small{width:67px;right:-10px;bottom:-13px}.hero-bubble{top:-5px;right:0;font-size:.8rem}.growth-copy{padding:18px;gap:12px}.growth-snappie{display:none}.daily-path{padding:18px}.reflection-panel{padding:18px}.reflection-panel>.snappie{display:none}.generator-guide .snappie{float:none}.results-friend{width:100px}.live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-pupil{padding:14px}}
@media(max-width:600px){.child-portal .content{padding:20px 16px 35px}.child-hero{gap:8px;padding:22px 18px;align-items:flex-start}.child-hero h1{font-size:1.65rem}.child-hero p{font-size:.91rem}.hero-friends{width:83px;min-width:83px;height:170px;align-self:center}.hero-main{width:90px;bottom:25px}.hero-small{width:56px;bottom:-12px;right:-4px}.hero-bubble{font-size:.65rem;top:0;padding:7px 8px}.child-hero .eyebrow{font-size:.68rem}.child-tasks,.result-gallery,.live-grid{grid-template-columns:1fr}.progress-number{font-size:1.3rem}.growth-copy .eyebrow{font-size:.68rem}.growth-copy h2{font-size:1.1rem}.daily-intro span{font-size:.8rem}.milestones{gap:7px}.milestone strong{font-size:.85rem}.daily-path .row{justify-content:center}.daily-path .row>span{text-align:center}.smiley-choices{gap:7px}.smiley-choices button{padding:12px 4px;min-height:112px}.smiley-choices strong{font-size:.75rem}.smiley-choices span{font-size:2.4rem}.reflection-panel{padding:16px 12px}.results-friend{width:80px;max-height:130px}.child-result{padding:19px}.player-progress{padding:12px;top:5px}.player-progress .row{gap:6px}.player-progress strong{font-size:.8rem}.game-header{gap:10px;flex-wrap:wrap;padding:17px}.game-header .snappie{width:45px}.game-header h1{font-size:1.15rem}.game-countdown{padding:7px 10px}.game-countdown span{font-size:1.4rem}.game-countdown small{display:none}.memory-grid{gap:10px}.memory-card{height:105px;border-radius:15px}.memory-card .snappie{width:52px;height:84px}.color-buttons{gap:9px}.color-buttons button{width:70px;height:73px;font-size:2.1rem}.pattern-target>div{font-size:2rem;gap:12px}.snappie-cheer{gap:15px}.child-portal .nav a{min-height:48px}.child-card .description{min-height:0}}
@media(prefers-reduced-motion:reduce){.smiley-choices button:hover{transform:none}}

@media(min-width:761px){.sidebar>div:nth-child(3){min-height:0;overflow-y:auto;flex:1}.app-layout:not(.child-portal) .school-logo{width:112px}.app-layout:not(.child-portal) .sidebar{gap:18px}.sidebar-foot{flex:none}.brand{flex:none}}

.milestones:before{display:none}.daily-track{position:absolute;top:25px;left:16.7%;width:66.6%;height:7px}.daily-track::-webkit-progress-bar{background:#cbdcbc}.daily-track::-moz-progress-bar{background:#44AC6C}
