@font-face{font-family:Fredoka;src:url(/fonts/Fredoka-Variable.ttf)format("truetype");font-weight:300 700;font-display:swap}@font-face{font-family:Andika;src:url(/fonts/Andika-Regular.ttf)format("truetype");font-display:swap}:root{--cream:#fff7e6;--paper:#fff;--ink:#2d2a4a;--ink-soft:#6b6890;--line:#ece3cf;--coral:#ff6b6b;--coral-shade:#d94848;--sunshine:#ffc93c;--sunshine-shade:#e0a000;--mint:#4ecdc4;--mint-shade:#2fa59d;--grape:#7b6cf6;--grape-shade:#5646d6;--sky:#4da8ff;--leaf:#6bcb77;--focus:0 0 0 4px #7b6cf659}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:Andika,system-ui,sans-serif;font-size:18px;line-height:1.45}h1{margin:0 0 .4em;font-family:Fredoka,Andika,system-ui,sans-serif;font-size:2rem;font-weight:600;line-height:1.15}html,body{height:100%;overflow:hidden}.page{text-align:center;flex-direction:column;max-width:1400px;height:100dvh;margin:0 auto;padding:8px 12px 10px;display:flex}.top{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.logo{letter-spacing:.02em;font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;line-height:1.2}.logo span:nth-child(6n+1){color:var(--coral)}.logo span:nth-child(6n+2){color:var(--sunshine-shade)}.logo span:nth-child(6n+3){color:var(--mint-shade)}.logo span:nth-child(6n+4){color:var(--grape)}.logo span:nth-child(6n+5){color:var(--sky)}.logo span:nth-child(6n+6){color:var(--leaf)}.scanner-app{--panel:274px;grid-template-rows:minmax(0, 1fr) var(--panel);flex:1;gap:10px;min-height:0;padding-top:6px;display:grid}.camera-area{place-items:end center;min-width:0;min-height:0;display:grid;container-type:size}.camera-area[hidden]{display:none}.viewfinder{--aspect:.75;width:min(100cqw, 100cqh * var(--aspect));height:min(100cqh, 100cqw / var(--aspect));background:var(--ink);border:6px solid var(--mint);box-shadow:0 6px 0 var(--mint-shade);border-radius:24px;position:relative;overflow:hidden}.viewfinder.qr{border-color:var(--sunshine);box-shadow:0 6px 0 var(--sunshine-shade)}.viewfinder video,.viewfinder .outline{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.switch-camera{cursor:pointer;background:#ffffffd9;border:0;border-radius:50%;width:48px;height:48px;font-size:1.4rem;position:absolute;bottom:10px;right:10px}.switch-camera:focus-visible{box-shadow:var(--focus);outline:none}.panel{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:hidden}.panel h1{margin:0;font-size:1.25rem}.slot-title{flex:none;place-items:center;min-width:0;height:48px;display:grid}.viewfinder .outline{pointer-events:none}.viewfinder .outline polygon{fill:#4ecdc438;stroke:var(--mint);stroke-width:5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.viewfinder .frame{pointer-events:none;border:5px dashed #ffffffd9;border-radius:20px;position:absolute;inset:25%}.viewfinder .flash{opacity:0;pointer-events:none;background:#fff;animation:.35s ease-out flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.85}}.say{flex:none;justify-content:center;align-items:center;height:2.7em;margin:0;font-size:.95rem;line-height:1.3;display:flex;overflow:hidden}.say.ask{color:var(--grape-shade);font-weight:600}.oops{color:var(--coral-shade);background:#ffe1e1;border-radius:14px;padding:0 1em;font-weight:600}.small{color:var(--ink-soft);margin:.3em 0 0;font-size:.9rem}.sheet-card{background:var(--paper);max-width:min(100%,560px);max-height:48px;box-shadow:0 3px 0 var(--line);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:10px;padding:4px 12px;display:flex;overflow:hidden}.sheet-card .small{flex-basis:100%;margin:0;font-size:.72rem;line-height:1.2}.sheet-card .topic{background:var(--grape);color:#fff;border-radius:999px;flex:none;padding:.15em .7em;font:600 .75rem Fredoka,system-ui,sans-serif}.sheet-card h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;margin:0;font-size:1.1rem;overflow:hidden}.pages{counter-reset:page;flex:none;gap:12px;height:80px;margin:0;padding:10px 10px 4px;list-style:none;display:flex;overflow-x:auto}.pages li:first-child{margin-left:auto}.pages li:last-child{margin-right:auto}.pages li{counter-increment:page;flex:none;position:relative}.pages .thumb{cursor:zoom-in;background:0 0;border:0;border-radius:10px;padding:0;display:block}.pages .thumb:focus-visible{box-shadow:var(--focus);outline:none}.pages img,.pages .pdf{object-fit:contain;border:3px solid var(--paper);width:46px;height:62px;box-shadow:0 3px 0 var(--line);background:var(--paper);border-radius:10px;display:block}.pages .pdf{color:var(--coral-shade);place-items:center;font:700 1rem Fredoka,system-ui,sans-serif;display:grid}.pages li:after{content:counter(page);background:var(--sunshine);pointer-events:none;border-radius:50%;width:24px;height:24px;font:700 .85rem/24px Fredoka,system-ui,sans-serif;position:absolute;top:-8px;left:-8px}.pages .remove{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:50%;width:26px;height:26px;font-size:.8rem;position:absolute;top:-8px;right:-8px}.lightbox{z-index:10;cursor:zoom-out;background:#2d2a4ae0;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;background:var(--paper);border-radius:8px;max-width:100%;min-height:0;max-height:100%;box-shadow:0 8px 30px #0006}.lightbox-buttons{flex:none;gap:12px;display:flex}.buttons{flex-direction:column;gap:8px;display:flex}.buttons .row{justify-content:center;gap:8px;min-width:0;display:flex}.buttons .row .btn{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.buttons .btn[hidden]{display:none}.btn{color:#fff;background:var(--grape);box-shadow:0 4px 0 var(--grape-shade);cursor:pointer;border:0;border-radius:14px;padding:.6em 1.1em;font:600 1.05rem Fredoka,system-ui,sans-serif;transition:transform 80ms,box-shadow 80ms}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--grape-shade);transform:translateY(3px)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{box-shadow:var(--focus);outline:none}.btn.big{border-radius:14px;padding:.55em 1em;font-size:1rem}.btn.coral{background:var(--coral);box-shadow:0 4px 0 var(--coral-shade)}.btn.sunshine{background:var(--sunshine);box-shadow:0 4px 0 var(--sunshine-shade);color:var(--ink)}.btn.mint{background:var(--mint);box-shadow:0 4px 0 var(--mint-shade);color:var(--ink)}.btn.ghost{color:var(--grape-shade);box-shadow:none;background:0 0}.btn.small{border-radius:12px;padding:.4em .7em;font-size:.8rem}.big-emoji{margin-bottom:8px;font-size:5rem;line-height:1}.login{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;width:100%;max-width:520px;min-height:0;margin:0 auto;display:flex}.login h1{margin:0;font-size:1.6rem}.login .big-emoji{margin:8px 0 0}.login-note{min-height:1.4em;margin:0}.login-button{padding:.7em 1.4em;font-size:1.15rem;text-decoration:none;display:inline-block}.lang-big{margin-bottom:8px}.lang-big button{padding:.35em .8em;font-size:1rem}.station{flex-direction:column;flex:1;gap:6px;min-height:0;padding-top:6px;display:flex}.station>.scanner-app{padding-top:0}.who{flex:none;justify-content:space-between;align-items:center;gap:8px;height:38px;display:flex}.who-chip{background:var(--paper);min-width:0;box-shadow:0 3px 0 var(--line);border-radius:999px;align-items:center;gap:6px;padding:2px 12px 2px 2px;font:600 .95rem Fredoka,system-ui,sans-serif;display:inline-flex}.who-avatar{background:var(--sunshine);border-radius:999px;place-items:center;width:30px;height:30px;font-size:1.1rem;display:grid}.who-name{white-space:nowrap;text-overflow:ellipsis;max-width:14ch;overflow:hidden}.who-buttons{flex:none;gap:6px;display:inline-flex}.who-buttons .btn{position:relative}.who-buttons .btn:before{content:"";position:absolute;inset:-6px -2px}.screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;width:100%;max-width:520px;min-height:0;margin:0 auto;display:flex}.screen h1{margin:0;font-size:1.35rem}.screen h1:focus{outline:none}.screen .say,.screen .small{margin:0}.screen-buttons{justify-content:center;gap:10px;display:flex}.one-line{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tiles{flex-direction:column;gap:14px;width:100%;display:flex}.tile{width:100%;height:128px;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:20px;align-items:center;gap:14px;padding:0 20px;transition:transform 80ms,box-shadow 80ms;display:flex}.tile.mint{background:var(--mint);box-shadow:0 6px 0 var(--mint-shade)}.tile.sunshine{background:var(--sunshine);box-shadow:0 6px 0 var(--sunshine-shade)}.tile:active{box-shadow:0 2px 0 var(--line);transform:translateY(4px)}.tile:focus-visible{box-shadow:var(--focus);outline:none}.tile-emoji{flex:none;font-size:3rem;line-height:1}.tile-text{flex-direction:column;min-width:0;display:flex}.tile-title{font:600 1.2rem/1.2 Fredoka,system-ui,sans-serif}.tile-hint{font-size:.75rem}.list-screen{justify-content:flex-start}.rows{flex-direction:column;flex:1;gap:8px;width:100%;min-height:0;display:flex;overflow:hidden}.exercise{background:var(--paper);width:100%;height:56px;box-shadow:0 3px 0 var(--line);color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:14px;flex:none;align-items:center;gap:8px;padding:0 12px;font-family:inherit;display:flex}.exercise:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.exercise:focus-visible{box-shadow:var(--focus);outline:none}.exercise-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font:600 1rem Fredoka,system-ui,sans-serif;overflow:hidden}.exercise .topic{background:var(--grape);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:none;max-width:30%;padding:.15em .7em;font:600 .75rem Fredoka,system-ui,sans-serif;overflow:hidden}.exercise-due{color:var(--ink-soft);flex:none;font-size:.7rem}.exercise-due.late{color:var(--coral-shade);font-weight:700}.pager{flex:none;justify-content:center;align-items:center;gap:12px;display:flex}.again .question{font-weight:600}.countdown{flex:none;width:96px;height:96px;position:relative}.ring{background:conic-gradient(var(--grape) var(--turn,360deg), var(--line) 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 36px,#000 37px);mask:radial-gradient(circle,#0000 36px,#000 37px)}.ring-number{place-items:center;font:700 1.8rem Fredoka,system-ui,sans-serif;display:grid;position:absolute;inset:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.print-sheet{visibility:hidden;pointer-events:none;width:100vw;position:fixed;top:0;left:-300vw}@media print{@page{margin:0}html,body{background:#fff;height:auto;overflow:visible}body>:not(.print-sheet){display:none!important}.print-sheet{visibility:visible;width:auto;position:static}.print-sheet img{break-after:page;width:auto;max-width:100%;height:auto;max-height:100vh;margin:0 auto;display:block}.print-sheet img:last-child{break-after:auto}}.lang-switch{background:var(--paper);box-shadow:0 3px 0 var(--line);border-radius:999px;gap:2px;margin:0;padding:4px;display:inline-flex}.lang-switch button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3em .7em;font:600 .95rem Fredoka,system-ui,sans-serif}.lang-switch button[aria-pressed=true]{background:var(--grape);color:#fff}.lang-switch button:focus-visible{box-shadow:var(--focus);outline:none}.lang-corner{flex:none}@media (max-width:520px){.btn.big{padding:.55em .8em;font-size:.92rem}.btn.small{padding:.4em .55em;font-size:.74rem}.logo{font-size:1.6rem}.lang-switch button{padding:.25em .5em}.tile{height:104px}.tile-emoji{font-size:2.4rem}}
