/* Julkalender (js/widgets/julkalender.js). All sizes inside the scene are cqw of the 16:9 scene. The candlestick reuses advent.css. */
.jk-fit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#14100e}
.jk-scene{position:relative;aspect-ratio:16/9;container-type:inline-size;overflow:clip;user-select:none;background:#2a2018 url(../assets/advent/room.webp) center/cover no-repeat;font-family:"Poppins",sans-serif}
.jk-scene img{display:block;-webkit-user-drag:none}
.jk-obj{position:absolute;filter:brightness(.86) saturate(.96) sepia(.06)}
.jk-obj img{width:100%}

.jk-tree{left:1.5cqw;bottom:-5cqw;width:31cqw;z-index:4;filter:none}
.jk-tree>.jk-tree-img{filter:brightness(.66) saturate(.88) contrast(1.06) sepia(.08)}
.jk-tree-glow{position:absolute;left:8%;right:8%;top:6%;bottom:22%;border-radius:50% 50% 45% 45%/40% 40% 60% 60%;background:radial-gradient(ellipse at 50% 55%,rgba(255,180,90,.12),transparent 70%);pointer-events:none}
.jk-tl{position:absolute;width:.42cqw;height:.42cqw;border-radius:50%;transform:translate(-50%,-50%);opacity:.85;background:radial-gradient(circle,#fff3d0 0 28%,#f5b860 62%,rgba(240,160,70,0) 100%);box-shadow:0 0 .35cqw .12cqw rgba(250,180,90,.6),0 0 1cqw .3cqw rgba(240,150,60,.18)}
.jk-tl.tw{animation:jk-tw var(--d) ease-in-out infinite;animation-delay:var(--dl)}
.jk-orn{position:absolute;width:2.6cqw;transform:translate(-50%,-30%) rotate(var(--r)) scale(0);transition:transform .6s cubic-bezier(.2,1.6,.4,1)}
.jk-orn.on{transform:translate(-50%,-30%) rotate(var(--r)) scale(var(--s))}
.jk-orn img{filter:brightness(.78) sepia(.12) drop-shadow(0 .15cqw .2cqw rgba(0,0,0,.45))}
.jk-star{position:absolute;width:5.6cqw!important;transform:translate(-50%,-58%);opacity:0;transition:opacity .8s,transform 1s cubic-bezier(.2,1.4,.4,1)}
.jk-star.on{opacity:1;transform:translate(-50%,-66%)}
.jk-goat{left:.8cqw;bottom:1.6cqw;width:6cqw;z-index:5;filter:none}
.jk-goat img{position:relative;filter:brightness(.7) saturate(.9) contrast(1.05) sepia(.18) drop-shadow(-.25cqw .1cqw .25cqw rgba(0,0,0,.35))}
.jk-goat::before{content:'';position:absolute;left:4%;right:2%;bottom:-1.4%;height:7%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.6),rgba(0,0,0,.25) 50%,transparent 72%)}

.jk-sill{position:absolute;left:21.6cqw;bottom:27.9cqw;width:14cqw;z-index:3}
.jk-sill .advw-stage{width:100%}
.jk-lbl{position:absolute;left:28.6cqw;top:3.2cqw;transform:translateX(-50%);white-space:nowrap;z-index:3;font:600 1.35cqw "Poppins",sans-serif;color:#ffe9c2;text-shadow:0 .2cqw 1cqw rgba(0,0,0,.6)}

.jk-fire{position:absolute;left:76.4cqw;top:23cqw;width:13.6cqw;height:14.3cqw;overflow:hidden;z-index:1;pointer-events:none}
.jk-fl{position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 68% 80%,rgba(255,170,60,.55),rgba(255,120,30,.18) 45%,transparent 75%);mix-blend-mode:screen;animation:jk-fl1 1.7s ease-in-out infinite}
.jk-fl.b{background:radial-gradient(ellipse 30% 45% at 72% 72%,rgba(255,230,150,.6),transparent 70%);animation:jk-fl2 .9s ease-in-out infinite}
.jk-sp{position:absolute;bottom:22%;width:.28cqw;height:.28cqw;border-radius:50%;background:#ffd27a;box-shadow:0 0 .4cqw .1cqw rgba(255,160,60,.9);opacity:0;animation:jk-spark var(--d) linear infinite;animation-delay:var(--dl)}
.jk-floorglow{position:absolute;left:66cqw;top:36cqw;width:32cqw;height:16cqw;border-radius:50%;background:radial-gradient(ellipse,rgba(255,150,60,.28),transparent 70%);mix-blend-mode:screen;pointer-events:none;z-index:1;animation:jk-fl1 2.3s ease-in-out infinite}

.jk-board{left:47cqw;bottom:16.4cqw;width:26cqw;z-index:2;filter:brightness(.9) saturate(.96) drop-shadow(0 1.2cqw 1.4cqw rgba(0,0,0,.45))}
.jk-board::after{content:'';position:absolute;left:4%;right:4%;bottom:-2.4%;height:5%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);z-index:-1}
.jk-grid{position:absolute;left:10.1%;right:9.7%;top:11.5%;bottom:6.8%}
.jk-door{position:absolute;perspective:70cqw;cursor:pointer}
.jk-door.readonly{cursor:default}
.jk-niche{position:absolute;inset:6% 7%;background:url(../assets/advent/niche.webp) center/cover;border-radius:2px;box-shadow:inset 0 0 .6cqw rgba(0,0,0,.55)}
.jk-niche::after{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(255,220,150,.55),transparent 70%);opacity:0;transition:opacity .6s .3s}
.jk-door.open .jk-niche::after{opacity:1}
.jk-tick{position:absolute;inset:0;display:grid;place-items:center;font-size:2.4cqw;color:#fff8e6;text-shadow:0 0 .6cqw rgba(255,190,90,.9);opacity:0;transition:opacity .4s .5s}
.jk-door.done .jk-tick{opacity:1}
.jk-front{position:absolute;inset:0;transform-origin:4% 50%;transition:transform .9s cubic-bezier(.3,.1,.2,1)}
.jk-front img{width:100%;height:100%;object-fit:fill}
.jk-num{position:absolute;left:0;right:0;top:50%;transform:translateY(-52%);text-align:center;font:600 2.1cqw/1 "Poppins",sans-serif;color:#f7ede0;text-shadow:0 .08cqw 0 rgba(90,20,10,.5)}
.jk-door.open{z-index:2}
.jk-door.open .jk-front{transform:rotateY(-96deg)}
.jk-door:not(.open):not(.locked):not(.readonly):hover .jk-front{transform:rotateY(-12deg)}
.jk-door.shake .jk-front{animation:jk-shake .45s}
.jk-half{position:absolute;top:0;bottom:0;width:50%;background:url(../assets/advent/door24.webp) 0 0/200% 100% no-repeat;transition:transform 1.1s cubic-bezier(.3,.1,.2,1)}
.jk-half.l{left:0;transform-origin:3% 50%}
.jk-half.r{right:0;background-position:100% 0;transform-origin:97% 50%}
.jk-big.open .jk-half.l{transform:rotateY(-96deg)}
.jk-big.open .jk-half.r{transform:rotateY(96deg)}
.jk-big:not(.open):not(.locked):not(.readonly):hover .jk-half.l{transform:rotateY(-10deg)}
.jk-big:not(.open):not(.locked):not(.readonly):hover .jk-half.r{transform:rotateY(10deg)}
.jk-big.shake .jk-half{animation:jk-shake .45s}
.jk-peek{position:absolute;overflow:hidden}
.jk-peek img{position:absolute;left:12%;width:76%!important;bottom:-118%;transition:bottom .8s cubic-bezier(.2,1.3,.4,1)}
.jk-peek.up img{bottom:-62%}
.jk-garland{left:45cqw;top:.9cqw;width:30cqw;z-index:3;filter:brightness(.92)}

.jk-tomte{left:89.6cqw;bottom:16.6cqw;width:5.6cqw;z-index:6}
.jk-tomte.hop{animation:jk-hop .6s}
.jk-bubble{position:absolute;right:3cqw;bottom:34.5cqw;z-index:7;background:#fffaf0;color:#3a2414;font:400 1.25cqw/1.3 "Poppins",sans-serif;padding:.8cqw 1.1cqw;border-radius:1.2cqw;box-shadow:0 .5cqw 1.4cqw rgba(0,0,0,.35);max-width:17cqw;opacity:0;transform:translateY(.6cqw) scale(.96);transition:.3s;pointer-events:none}
.jk-bubble::after{content:'';position:absolute;right:1.4cqw;bottom:-.7cqw;border:.7cqw solid transparent;border-top-color:#fffaf0;border-bottom:0}
.jk-bubble.on{opacity:1;transform:none}

.jk-card-wrap{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(18,12,8,.55);opacity:0;pointer-events:none;transition:opacity .35s}
.jk-card-wrap.on{opacity:1;pointer-events:auto}
.jk-card{width:min(44cqw,92%);max-height:92%;display:flex;background:#fbf5ea url(../assets/advent/niche.webp) center/cover;border-radius:1.6cqw;box-shadow:0 2cqw 5cqw rgba(0,0,0,.5);overflow:hidden;transform:translateY(2cqw) scale(.96);transition:transform .45s cubic-bezier(.2,1.2,.4,1)}
.jk-card-wrap.on .jk-card{transform:none}
.jk-card-in{overflow:auto;max-height:100%;flex:1;margin:4cqw 7.5cqw;background:rgba(255,251,243,.94);border-radius:1.2cqw;padding:2cqw 2.2cqw 1.8cqw;color:#3a2414;text-align:center;box-shadow:0 .4cqw 1.4cqw rgba(80,40,10,.25)}
.jk-card-orn{width:3.2cqw!important;margin:0 auto .5cqw;filter:drop-shadow(0 .1cqw .2cqw rgba(0,0,0,.25))}
.jk-card-day{font:600 1.6cqw "Poppins",sans-serif;color:#8f2b22;margin-bottom:.9cqw}
.jk-card-day span{display:block;font:400 .95cqw "Poppins",sans-serif;color:#2f5d3a;margin-top:.2cqw}
.jk-card-img{max-width:60%;max-height:11cqw;margin:0 auto 1cqw;border-radius:.8cqw;object-fit:contain}
.jk-card-t{font:400 1.75cqw/1.35 "Poppins",sans-serif;margin:0 0 1.2cqw}
.jk-card-say{margin:-.4cqw 0 1.2cqw}.jk-card-say b{display:block;font:600 2.6cqw/1.2 "Poppins",sans-serif;color:#b2452b}.jk-card-say small{display:block;font:400 1.2cqw "Poppins",sans-serif;opacity:.7;margin-top:.3cqw}
.jk-card-ans{font:600 1.4cqw "Poppins",sans-serif;color:#2d6a3e;min-height:1.9cqw;margin:-.4cqw 0 1cqw}
.jk-timer{font:600 2.4cqw "Poppins",sans-serif;color:#b2452b;margin-bottom:1cqw}
.jk-card-btns{display:flex;gap:.8cqw;justify-content:center;flex-wrap:wrap}
.jk-card-btns .material-icons-outlined{font-size:1.3cqw;vertical-align:-.25cqw;margin:0 .3cqw}
.jk-card-btns button,.jk-card-btns a{border:0;border-radius:999px;padding:.8cqw 1.8cqw;font:400 1.2cqw "Poppins",sans-serif;cursor:pointer;text-decoration:none}
.jk-b-done{background:linear-gradient(#e65a3c,#b7321e);color:#fff}
.jk-b-done:disabled{opacity:.5;cursor:default}
.jk-b-soft{background:#efe3cf;color:#5a3a1e}

/* The editor and the intro follow Skolon's design system (type scale, buttons, chips, segment, inputs, cards, modal);
   only the colours are Christmas. Sizes in rem, like the rest of Tavlan's UI. */
.jk-editor{position:absolute;inset:0;z-index:30;background:#fbf4e6;color:#3b2516;border-radius:1.5rem;box-shadow:0 .1875rem .375rem rgba(0,0,0,.12),0 0 0 .1875rem #c9a24a;display:flex;flex-direction:column;overflow:hidden;font:400 .875rem/1.25rem "Poppins",sans-serif}
.jk-editor[hidden]{display:none}
.jk-ed-top{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:linear-gradient(180deg,#8f2b22,#6c1b16);color:#fbe9c6}
.jk-ed-logo{width:1.5rem!important}
.jk-ed-top b{flex:1;font:400 1.125rem/1.5rem "Poppins",sans-serif}
.jk-editor .jk-ed-pack{font:400 .875rem/1.25rem "Poppins",sans-serif;height:2.5rem;padding:0 2.25rem 0 1rem;border:1px solid rgba(251,233,198,.5);border-radius:.75rem;background:rgba(255,255,255,.12);color:#fbe9c6;appearance:none;-webkit-appearance:none;cursor:pointer}
.jk-editor .jk-ed-pack option{color:#3b2516}
.jk-editor button{border:0;cursor:pointer;font:400 .875rem/1.25rem "Poppins",sans-serif;color:inherit;background:none}
.jk-editor button:focus-visible,.jk-intro button:focus-visible,.jk-in-pack:focus-visible{outline:.125rem solid #36495d;outline-offset:.125rem}
.jk-editor .material-icons-outlined,.jk-intro .material-icons-outlined{font-size:1.25rem}
.jk-editor .jk-ed-close{height:2.5rem;padding:0 1.5rem;background:#c9a24a;color:#3b1d10;border-radius:9999rem}
.jk-editor .jk-ed-close:hover{opacity:.88}
.jk-ed-set{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.75rem 1.5rem;background:#f3e7d1;border-bottom:1px solid #e6d3b3}
.jk-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;white-space:nowrap;height:3rem;background:#fff;border:1px solid #e0cba6;border-radius:.75rem;padding:.25rem}
.jk-editor .jk-seg button{flex:1;border-radius:.5rem;padding:0 1rem;color:#5a3a1e}
.jk-editor .jk-seg button:hover{background:#f4ead8}
.jk-editor .jk-seg button.is-on{background:#2f5d3a;color:#fff}
.jk-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#5a3a1e}
.jk-switch input{position:absolute;opacity:0;pointer-events:none}
.jk-switch i{width:2.5rem;height:2.5rem;border-radius:9999rem;position:relative;flex:0 0 auto}
.jk-switch:hover i{background:#f4ead8}
.jk-switch i::before{content:'';position:absolute;left:.25rem;top:.625rem;width:2rem;height:1.25rem;border-radius:9999rem;background:#d9c6a4;transition:background .18s cubic-bezier(.2,.7,.2,1)}
.jk-switch i::after{content:'';position:absolute;left:.4375rem;top:.8125rem;width:.875rem;height:.875rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .18s cubic-bezier(.2,.7,.2,1)}
.jk-switch input:checked+i::before{background:#2f5d3a}.jk-switch input:checked+i::after{transform:translateX(.75rem)}
.jk-switch input:focus-visible+i{background:#f4ead8;outline:.125rem solid #36495d;outline-offset:.125rem}
.jk-ed-links{margin-left:auto;display:flex;gap:1rem}
.jk-editor .jk-link{color:#8f2b22;text-decoration:underline;text-underline-offset:.2em;padding:0}
.jk-editor .jk-link:hover{text-decoration:none}
.jk-ed-body{flex:1;min-height:0;display:grid;grid-template-columns:36% 1fr}
.jk-ed-list{overflow:auto;border-right:1px solid #e6d3b3;padding:.75rem;background:#f8eedd}
.jk-editor .jk-ed-row{display:flex;gap:.75rem;align-items:center;width:100%;min-height:2.5rem;text-align:left;padding:.5rem .75rem;border-radius:.75rem}
.jk-ed-row b{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;background:#e9d9bd;color:#8f2b22;font:400 .75rem/1rem "Poppins",sans-serif}
.jk-ed-row em.is-blank{font-style:italic;opacity:.6}
.jk-ed-row em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a3a1e}
.jk-editor .jk-ed-row:hover{background:#f1e2c9}
.jk-editor .jk-ed-row.is-on{background:#fff}
.jk-ed-row.is-on b{background:#8f2b22;color:#fbe9c6}
.jk-ed-form{overflow:auto;padding:1.5rem 2.25rem;display:flex;flex-direction:column;gap:1rem}
.jk-ed-h{font:400 1rem/1.375rem "Poppins",sans-serif;color:#8f2b22}
.jk-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.jk-editor .jk-chips button{height:2rem;border:1px solid #e0cba6;border-radius:.5rem;padding:0 1rem;background:#fff;color:#5a3a1e}
.jk-editor .jk-chips button:hover{background:#f4ead8;border-color:transparent}
.jk-editor .jk-chips button.is-on{background:#2f5d3a;border-color:#2f5d3a;color:#fff}
.jk-ed-form label{display:flex;flex-direction:column;gap:.25rem;color:#7a5534}
.jk-editor input:not([type=checkbox]):not([type=file]),.jk-editor textarea{font:400 .875rem/1.25rem "Poppins",sans-serif;min-height:3.25rem;padding:calc(1rem - 1px) calc(1rem - 1px);border:1px solid #e0cba6;border-radius:.75rem;background:#fff;color:#3b2516;resize:vertical}
.jk-editor input:hover,.jk-editor textarea:hover{background:#fffcf7}
.jk-editor input:focus,.jk-editor textarea:focus{outline:none;border:2px solid #c9a24a;padding:calc(1rem - 2px)}
.jk-ed-2b{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.jk-ed-field{display:flex;flex-direction:column;gap:.25rem}.jk-ed-lbl{color:#7a5534}
.jk-ed-img{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.jk-ed-img img{width:6rem!important;height:6rem;object-fit:contain;border-radius:.75rem;background:#fff;border:1px solid #e0cba6}
.jk-ed-noimg{width:6rem;height:6rem;border-radius:.75rem;border:1px dashed #d9c6a4;display:grid;place-items:center;color:#c9b18a}.jk-editor .jk-ed-noimg .material-icons-outlined{font-size:2rem}
.jk-editor .jk-ed-pick{display:flex;align-items:center;gap:.5rem;height:2.5rem;border:1px solid #2f5d3a;color:#2f5d3a;border-radius:9999rem;padding:0 1.5rem 0 .75rem;background:#fff}
.jk-editor .jk-ed-pick:hover{background:#eef4ef}
.jk-ed-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem}
.jk-editor .jk-ed-btns button{height:2.5rem;border:1px solid #e0cba6;border-radius:9999rem;padding:0 1.5rem;background:#fff;color:#5a3a1e}
.jk-editor .jk-ed-btns button:hover{background:#f4ead8;border-color:transparent}
.jk-editor .jk-ed-btns .jk-ed-try{margin-left:auto;background:linear-gradient(#c8432e,#9a2a1d);border-color:transparent;color:#fff}
.jk-editor .jk-ed-btns .jk-ed-try:hover{opacity:.88;background:linear-gradient(#c8432e,#9a2a1d)}

/* the editor and the intro open almost full screen above the board (body-level) */
.jk-host{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(40,18,10,.6),rgba(12,6,3,.86));backdrop-filter:blur(6px)}
.jk-host[hidden]{display:none}
.jk-host-box{position:relative;width:min(77.5rem,94vw);height:min(53.75rem,90vh)}
/* intro: ready-made doors or your own (a Skolon modal: medium-large, then extra-large for the packs) */
.jk-intro{position:absolute;inset:0;z-index:35;display:grid;place-items:center}
.jk-intro[hidden]{display:none}
.jk-in-box{position:relative;width:min(45rem,100%);max-height:100%;overflow:auto;background:#fbf4e6;border-radius:1.5rem;padding:2.25rem;box-shadow:0 .1875rem .375rem rgba(0,0,0,.12),0 0 0 .1875rem #c9a24a;color:#3b2516;font:400 .875rem/1.25rem "Poppins",sans-serif;animation:jk-pop .45s cubic-bezier(.2,1.3,.4,1)}
.jk-in-box::before{content:'';position:absolute;left:0;right:0;top:0;height:.5rem;border-radius:1.5rem 1.5rem 0 0;background:repeating-linear-gradient(90deg,#8f2b22 0 1.5rem,#fbf4e6 1.5rem 2.25rem,#2f5d3a 2.25rem 3.75rem,#fbf4e6 3.75rem 4.5rem)}
.jk-intro button{font:400 .875rem/1.25rem "Poppins",sans-serif;cursor:pointer}
.jk-in-x{position:absolute;right:1rem;top:1.25rem;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:transparent;color:#6b4a2c;display:grid;place-items:center}
.jk-in-x:hover{background:#efe3cf}
.jk-in-hello{display:flex;align-items:flex-end;gap:1rem;margin:0 0 1.5rem}
.jk-in-tomte{width:5rem!important;flex:0 0 auto;animation:jk-wave 2.6s ease-in-out infinite;transform-origin:50% 100%}
.jk-in-bubble{position:relative;background:#fff;border-radius:1rem;padding:1rem 1.5rem;margin-bottom:1.5rem}
.jk-in-bubble::before{content:'';position:absolute;left:-.75rem;bottom:1rem;border:.5rem solid transparent;border-right:.75rem solid #fff;border-left:0}
.jk-in-bubble b{display:block;font:400 1.125rem/1.5rem "Poppins",sans-serif;color:#8f2b22}
.jk-in-bubble span{display:block;color:#6b4a2c;margin-top:.25rem}
.jk-in-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.jk-in-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;border:0;border-radius:1.5rem;padding:1.5rem;background:linear-gradient(160deg,#9b3126,#6c1b16);color:#fbe9c6;transition:opacity .15s}
.jk-in-own{background:linear-gradient(160deg,#3a6e46,#24492f)}
.jk-in-choice:hover{opacity:.92}
.jk-in-art{position:relative;width:4.5rem;height:4rem;margin-bottom:.5rem}
.jk-in-art img{width:100%!important;height:100%;object-fit:contain}
.jk-intro .jk-in-art .material-icons-outlined{position:absolute;right:-.5rem;bottom:-.25rem;width:1.75rem;height:1.75rem;border-radius:50%;background:#c9a24a;color:#3b1d10;display:grid;place-items:center;font-size:1.125rem}
.jk-in-choice b{font:600 .875rem/1.25rem "Poppins",sans-serif}
.jk-in-choice>span:not(.jk-in-art){opacity:.9}
.jk-in-choice em{margin-top:.75rem;font-style:normal;display:flex;align-items:center;gap:.5rem;height:2.5rem;background:rgba(255,255,255,.14);padding:0 .75rem 0 1.5rem;border-radius:9999rem}
.jk-in-box--packs{width:min(64rem,100%)}
.jk-in-head{display:flex;align-items:center;gap:1rem;margin:0 3rem 1.5rem 0}
.jk-in-head b{font:400 1.125rem/1.5rem "Poppins",sans-serif;color:#8f2b22}
.jk-in-back{display:flex;align-items:center;gap:.5rem;height:2.5rem;border:1px solid #e0cba6;background:#fff;color:#5a3a1e;border-radius:9999rem;padding:0 1.5rem 0 .75rem}
.jk-in-back:hover{background:#f4ead8;border-color:transparent}
.jk-in-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}
.jk-in-pack{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1.5rem;border-radius:1.5rem;background:#fff;border:1px solid #ecdcc4;cursor:pointer;transition:background .15s,border-color .15s}
.jk-in-pack:not(.has-levels):hover{background:#fffaf2;border-color:#c9a24a}
.jk-in-pack.has-levels{cursor:default}
.jk-in-ic{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:#8f2b22;color:#fbe9c6;margin-bottom:.5rem}
.jk-in-pack:nth-child(3n+2) .jk-in-ic{background:#2f5d3a}.jk-in-pack:nth-child(3n) .jk-in-ic{background:#c9a24a;color:#3b1d10}
.jk-in-pack b{font:600 .875rem/1.25rem "Poppins",sans-serif;color:#3b2516}
.jk-in-pack>span:not(.jk-in-ic){color:#7a5534}
.jk-in-levels{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.jk-in-levels button{height:2rem;border:1px solid #2f5d3a;background:#fff;color:#2f5d3a;border-radius:.5rem;padding:0 1rem}
.jk-in-levels button:hover{background:#2f5d3a;color:#fff}
.jk-ed-now{color:#fbe9c6;opacity:.85}
.jk-editor .jk-ed-change{display:flex;align-items:center;gap:.5rem;height:2.5rem;border:1px solid rgba(251,233,198,.5);border-radius:9999rem;padding:0 1.5rem 0 .75rem;background:rgba(255,255,255,.12);color:#fbe9c6}
.jk-editor .jk-ed-change:hover{background:rgba(255,255,255,.2)}
@keyframes jk-pop{0%{opacity:0;transform:translateY(1rem) scale(.96)}100%{opacity:1;transform:none}}
@keyframes jk-wave{0%,100%{transform:rotate(0)}12%{transform:rotate(-4deg)}24%{transform:rotate(3deg)}36%{transform:rotate(0)}}

/* pupils: the board's widgets ignore the pointer; the doors and the card must not */
body.student-mode .widget .jk-door,body.student-mode .widget .jk-card-wrap,body.student-mode .widget .jk-card-wrap *{pointer-events:auto}
body.student-mode .widget .jk-door.readonly{pointer-events:none}

.jk-paused *{animation-play-state:paused!important}
@keyframes jk-tw{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes jk-fl1{0%,100%{opacity:.85}30%{opacity:.6}55%{opacity:1}80%{opacity:.7}}
@keyframes jk-fl2{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.85;transform:scale(1.06,1.12)}}
@keyframes jk-spark{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}100%{opacity:0;transform:translate(var(--x),-9cqw)}}
@keyframes jk-shake{0%,100%{transform:none}20%{transform:translateX(-4%) rotate(-2deg)}40%{transform:translateX(4%) rotate(2deg)}60%{transform:translateX(-3%)}80%{transform:translateX(2%)}}
@keyframes jk-hop{0%,100%{transform:none}40%{transform:translateY(-14%)}}
@media (prefers-reduced-motion:reduce){.jk-scene *{animation:none!important}}
