@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-in-right{animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes float-rotate-bubble{0%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}to{transform:translateY(0) rotate(-3deg)}}@font-face{font-family:OpenDyslexic;src:url(/OpenDyslexic-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}body.dyslexia-font,body.dyslexia-mode,body.dyslexia-font button,body.dyslexia-mode button,body.dyslexia-font input,body.dyslexia-mode input,body.dyslexia-font select,body.dyslexia-mode select,body.dyslexia-font textarea,body.dyslexia-mode textarea,body.dyslexia-font span,body.dyslexia-mode span,body.dyslexia-font p,body.dyslexia-mode p,body.dyslexia-font h1,body.dyslexia-mode h1,body.dyslexia-font h2,body.dyslexia-mode h2,body.dyslexia-font h3,body.dyslexia-mode h3,body.dyslexia-font h4,body.dyslexia-mode h4,body.dyslexia-font h5,body.dyslexia-mode h5,body.dyslexia-font h6,body.dyslexia-mode h6,body.dyslexia-font div:not(.title-piece):not(.title-flipper),body.dyslexia-mode div:not(.title-piece):not(.title-flipper){font-family:OpenDyslexic,sans-serif!important}body.dyslexia-font .title-piece,body.dyslexia-mode .title-piece,body.dyslexia-font .title-piece *,body.dyslexia-mode .title-piece *{font-family:Arial,sans-serif!important}@media(max-width:640px){.mobile-tooltip-hide{display:none!important}}.kongskole-picker-drawer,.kongskole-picker-drawer button,.kongskole-picker-drawer input,.kongskole-picker-drawer select,.kongskole-picker-drawer textarea{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.menu-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:relative;perspective:1000px}.main-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.title-flipper{position:relative;width:500px;height:180px;margin-bottom:30px;transition:transform .8s;transform-style:preserve-3d}.main-wrapper.difficulty-view .title-flipper{transform:rotateY(180deg)}.title-piece{position:absolute;height:100%;background-color:#fff;color:#29619f;font-family:Arial,sans-serif;font-weight:600;font-size:6vw;display:flex;justify-content:center;align-items:center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15));box-sizing:border-box;padding:10px 0}@media(min-width:768px){.title-piece{font-size:70px}}.piece-1{left:0;width:28%;clip-path:polygon(0% 0%,100% 0%,85% 100%,0% 100%,4% 90%,1% 80%,5% 70%,0% 60%,6% 50%,1% 40%,4% 30%,0% 20%,5% 10%);animation:float-p1 5s ease-in-out infinite alternate}.piece-2{left:25%;width:28%;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);animation:float-p2 6s ease-in-out infinite alternate-reverse}.piece-3{left:50%;width:24%;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%);animation:float-p3 7s ease-in-out infinite alternate}.piece-4{left:71%;width:29%;clip-path:polygon(15% 0%,100% 0%,95% 10%,100% 20%,96% 30%,99% 40%,94% 50%,100% 60%,95% 70%,99% 80%,96% 90%,100% 100%,0% 100%);animation:float-p4 5.5s ease-in-out infinite alternate-reverse}@keyframes float-p1{0%{transform:translate(-15px) translateY(0) rotate(-3deg)}to{transform:translate(-15px) translateY(-15px) rotate(2deg)}}@keyframes float-p2{0%{transform:translate(-5px) translateY(0) rotate(2deg)}to{transform:translate(-5px) translateY(-10px) rotate(-4deg)}}@keyframes float-p3{0%{transform:translate(5px) translateY(0) rotate(-2deg)}to{transform:translate(5px) translateY(-20px) rotate(3deg)}}@keyframes float-p4{0%{transform:translate(15px) translateY(0) rotate(3deg)}to{transform:translate(15px) translateY(-12px) rotate(-2deg)}}.menus-wrapper{position:relative;width:420px;height:320px}@media(max-width:450px){.menus-wrapper{width:340px}.title-flipper{width:340px;height:140px}}.menu-container,.difficulty-container{position:absolute;top:0;left:50%;background-color:#fff;border-radius:20px;box-shadow:0 10px 25px #0000001a;padding:35px;display:flex;flex-direction:column;gap:20px;align-items:center;box-sizing:border-box;transition:transform .8s cubic-bezier(.34,1.2,.64,1)}.menu-container{width:100%;transform:translate(-50%)}.difficulty-container{width:80%;pointer-events:none;transform:translate(calc(-50% + 110vw));padding-top:80px}.main-wrapper.difficulty-view .menu-container{transform:translate(calc(-50% - 110vw));pointer-events:none}.main-wrapper.difficulty-view .difficulty-container{transform:translate(-50%);pointer-events:auto}.back-arrow-container{position:absolute;top:15px;left:15px;cursor:pointer;padding:10px}.back-arrow-svg{width:32px;height:32px;stroke:#969696;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}.back-arrow-container:active .back-arrow-svg{transform:scale(.9)}.back-arrow-container:hover .back-arrow-svg{animation:bounce-left .8s ease-out}@keyframes bounce-left{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(1px)}}.button-group{width:100%;display:flex;flex-direction:column;gap:20px}.middle-buttons{display:flex;gap:20px;width:100%}.bottom-icons{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:10px}.info-container,.settings-container{cursor:pointer;padding:5px}.info-container svg,.settings-container svg{width:30px;height:30px;stroke:#969696;stroke-width:2.5;fill:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.info-container:hover svg{transform:scale(1.15)}.info-container:active svg,.settings-container svg.pressed{transform:scale(.9)}@keyframes spin-with-blur{0%{transform:rotate(0);filter:blur(0)}50%{filter:blur(1px) opacity(.8)}to{transform:rotate(360deg);filter:blur(0)}}.settings-container:hover svg{animation:spin-with-blur .8s ease-out}.menu-btn{border:none;border-radius:12px;font-size:18px;font-weight:600;padding:15px;width:100%;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease;box-shadow:0 5px #0000001a;color:#333}.menu-btn:hover{transform:translateY(-2px)}.menu-btn:active{transform:translateY(4px);box-shadow:0 1px!important}.btn-blue{background-color:#cfe0f3;color:#29619f;box-shadow:0 5px #97bce5}.btn-blue:hover{box-shadow:0 7px #97bce5}.btn-orange{background-color:#fae5c8;color:#b67012;box-shadow:0 5px #f3c689}.btn-orange:hover{box-shadow:0 7px #f3c689}.btn-purple{background-color:#e6cdf5;color:#7323a5;box-shadow:0 5px #c893e9}.btn-purple:hover{box-shadow:0 7px #c893e9}.btn-yellow{background-color:#fff5c3;color:#c8a700;box-shadow:0 5px #ffe97d}.btn-yellow:hover{box-shadow:0 7px #ffe97d}.btn-red{background-color:#f8caca;color:#b21616;box-shadow:0 5px #f18b8b}.btn-red:hover{box-shadow:0 7px #f18b8b}.btn-green{background-color:#deebd7;color:#5b8543;box-shadow:0 5px #b8d4a8}.btn-green:hover{box-shadow:0 7px #b8d4a8}.btn-grey{background-color:#e1e1e1;color:#646464;box-shadow:0 5px #bebebe}.btn-grey:hover{box-shadow:0 7px #bebebe}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.visible{opacity:1;pointer-events:auto}.modal-box{position:relative;background-color:#fff;padding:40px 30px 30px;border-radius:20px;box-shadow:0 5px 20px #0003;width:90%;max-width:400px;text-align:center;transform:scale(.9);transition:transform .3s ease;display:flex;flex-direction:column;gap:15px;color:#333}.modal-overlay.visible .modal-box{transform:scale(1)}.modal-box h2{margin:0;color:#29619f;font-size:1.5rem;font-weight:700}.close-modal-icon{position:absolute;top:15px;left:15px;cursor:pointer}.close-modal-icon svg{width:28px;height:28px;stroke:#969696;stroke-width:2.5;transition:transform .2s}.close-modal-icon:hover svg{transform:scale(1.15) rotate(90deg)}#side-menu{position:fixed;top:50%;right:0;height:420px;max-height:90vh;display:flex!important;flex-direction:row!important;z-index:1000;transform:translate(calc(100% - 48px),-50%);transition:transform .4s cubic-bezier(.77,0,.175,1);border-top-left-radius:16px;border-bottom-left-radius:16px;overflow:hidden;box-shadow:-2px 0 8px #0000001f}#side-menu:not(.open):hover{transform:translate(calc(100% - 60px),-50%)}#side-menu.open{transform:translateY(-50%)!important;box-shadow:-5px 0 20px #0003}#side-menu #menu-handle{width:48px;height:100%;background-color:#f3c689;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;flex-shrink:0;user-select:none;-webkit-user-select:none;transition:background-color .2s ease}#side-menu #menu-handle:hover{background-color:#eab774}#side-menu .menu-icon{width:28px;height:28px;color:#444;flex-shrink:0}#side-menu #arrow-icon{transition:transform .4s cubic-bezier(.77,0,.175,1)}#side-menu.open #arrow-icon{transform:rotate(180deg)}#side-menu #menu-content{width:280px!important;height:100%!important;background-color:#fff!important;padding:24px!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;gap:20px!important;opacity:1!important;pointer-events:auto!important;transform:none!important;box-sizing:border-box}#side-menu #menu-content h3{margin-top:0;font-size:1.25rem;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:12px;font-weight:700}.player-bar{display:flex;align-items:center;padding:0;margin-bottom:20px;border-radius:20px;background:var(--glass-bg, rgba(255, 255, 255, .75));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000014;position:relative;overflow:hidden}.players-container{flex:1;display:flex;gap:16px;overflow-x:auto;padding:20px;scrollbar-width:none;-ms-overflow-style:none}.players-container::-webkit-scrollbar{display:none}.player-item{display:flex;align-items:center;gap:12px;background:#00000008;border:1px solid rgba(0,0,0,.06);padding:8px 16px 8px 8px;border-radius:100px;min-width:160px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;position:relative}.player-item.active{background:var(--player-accent);border-color:var(--player-accent);box-shadow:0 8px 20px #00000026;color:var(--player-text-color)}.player-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 4px 10px #0000000d}.player-item.active .player-avatar{box-shadow:0 0 10px #0000001a}.player-info{display:flex;flex-direction:column;justify-content:center}.player-name{font-weight:600;font-size:.95rem;white-space:nowrap}.player-item.active .player-name{color:var(--player-text-color)}.active-indicator{position:absolute;top:-8px;right:-8px;background:#fff;color:var(--player-accent);font-size:.7rem;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:10px;box-shadow:0 4px 10px #00000026}@font-face{font-family:OpenDyslexic;src:url(/OpenDyslexic-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--item-width: 68px;--item-gap: 12px;--item-font-size: 10px;--trigger-size: 60px;--pad-left: 10px;--pad-right: 20px;--visible-items: 5;--color-bg-page: #FAE5C8;--color-menu-bg: #FFFFFF;--color-icon: #969696;--color-icon-hover: #505050;--color-label: #646464;--color-active-blue: #2563EB;--color-danger: #E84444;--color-danger-hover: #C52222}body.dyslexia-mode,body.dyslexia-font{--item-width: 98px;--item-gap: 14px;--item-font-size: 9.5px;font-family:"OpenDyslexic",var(--font-main)}body.dyslexia-mode .menu-item span,body.dyslexia-font .menu-item span,body.dyslexia-mode .modal-card,body.dyslexia-font .modal-card{font-family:"OpenDyslexic",var(--font-main);letter-spacing:.02em}.settings-menu-container[data-context=main-menu]{--visible-items: 5}.settings-menu-container[data-context=main-menu] #back-btn,.settings-menu-container[data-context=main-menu] .back-btn,.settings-menu-container[data-context=main-menu] #help-btn,.settings-menu-container[data-context=main-menu] .help-btn{display:none!important}.settings-menu-container[data-context=game]{--visible-items: 6}.settings-menu-container[data-context=game] #info-btn,.settings-menu-container[data-context=game] .info-btn{display:none!important}.settings-menu-container[data-context=all]{--visible-items: 7}.settings-menu-container{position:relative;flex-shrink:0;z-index:100;width:max-content;max-width:calc(100vw - 32px)}.settings-background{background-color:var(--color-menu-bg);border-radius:9999px;box-shadow:0 4px 14px -1px #0000001f,0 2px 6px -1px #0000000f;display:flex;align-items:center;height:60px;width:60px;max-width:calc(100vw - 32px);overflow:hidden;position:relative;transition:width .35s cubic-bezier(.4,0,.2,1)}.settings-background.is-open{width:calc(var(--trigger-size) + var(--pad-left) + (var(--item-width) * var(--visible-items)) + (var(--item-gap) * (var(--visible-items) - 1)) + var(--pad-right));max-width:calc(100vw - 32px)}.settings-trigger{width:60px;height:60px;flex-shrink:0;background:var(--color-menu-bg, #FFFFFF);border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;outline:none;position:sticky;left:0;z-index:20;color:var(--color-icon, #969696);transition:box-shadow .2s ease,color .2s ease}.settings-background.is-open .settings-trigger{box-shadow:2px 0 8px -2px #00000014}.settings-trigger svg{width:28px;height:28px;min-width:28px;min-height:28px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 50%;transform-box:fill-box;pointer-events:none;display:block;flex-shrink:0;transition:transform .15s ease}.settings-trigger:hover{color:var(--color-icon-hover, #505050)}.settings-trigger:hover svg{animation:spin-with-blur .8s ease-out}.settings-trigger:active svg{transform:scale(.9)}.settings-background .menu-content,.settings-menu-container .menu-content{display:flex!important;flex-direction:row!important;align-items:center!important;gap:var(--item-gap)!important;padding-left:var(--pad-left)!important;padding-right:var(--pad-right)!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;width:auto!important;height:100%!important;background-color:transparent!important;opacity:0;pointer-events:none;transform:translate(-8px);transition:opacity .25s ease,transform .25s ease,gap .35s cubic-bezier(.4,0,.2,1);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;flex:1;min-width:0}.settings-background .menu-content::-webkit-scrollbar,.settings-menu-container .menu-content::-webkit-scrollbar{display:none}.settings-background.is-open .menu-content,.settings-menu-container.is-open .menu-content{opacity:1!important;pointer-events:auto!important;transform:translate(0)!important;transition:opacity .3s .08s ease,transform .3s .08s ease,gap .35s cubic-bezier(.4,0,.2,1)}.menu-item{flex:0 0 var(--item-width);width:var(--item-width);background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;outline:none;padding:0;perspective:500px;color:var(--color-icon, #969696);transition:width .35s cubic-bezier(.4,0,.2,1),transform .18s ease-out,color .2s ease}.menu-item:hover{transform:scale(1.08);color:var(--color-icon-hover, #505050)}.menu-item:active{transform:scale(.95)}.menu-item span{font-size:var(--item-font-size);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-label, #646464);white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;transition:color .2s ease,font-size .3s ease}.menu-item svg{width:24px;height:24px;min-width:24px;min-height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block;flex-shrink:0;transition:stroke .2s ease}.icon-wrapper{position:relative;width:24px;height:24px;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-wrapper svg{position:absolute;top:0;left:0;width:24px;height:24px}.menu-item.back-btn:hover svg{animation:bounce-left .8s ease-out}.audio-btn .audio-on{display:block!important}.audio-btn .audio-off,.audio-btn.is-muted .audio-on{display:none!important}.audio-btn.is-muted .audio-off{display:block!important}.audio-btn.is-muted{color:#b8b8b8}.audio-btn.is-muted span{color:#a0a0a0}.audio-btn:hover svg{animation:sound-pulse .6s ease-out}.fullscreen-btn .fs-enter,.fs-enter{display:block!important}.fullscreen-btn .fs-exit,.fs-exit,.fullscreen-btn.is-fullscreen .fs-enter,.is-fullscreen .fs-enter{display:none!important}.fullscreen-btn.is-fullscreen .fs-exit,.is-fullscreen .fs-exit{display:block!important}.fullscreen-btn:hover .fs-enter{animation:expand-icon .6s ease-out}.fullscreen-btn:hover .fs-exit{animation:shrink-icon .6s ease-out}.help-btn:hover svg{animation:card-flip-blur .7s cubic-bezier(.65,0,.35,1)}.dyslexia-btn:hover svg{animation:letter-wobble .6s ease-out}.dyslexia-btn.is-active,.dyslexia-btn.is-active span{color:var(--color-active-blue, #2563EB)}.info-btn svg circle[r="1"]{fill:currentColor!important;stroke:none!important}.info-btn:hover svg{animation:info-bounce .6s ease-out}.logout-btn,.exit-btn,.logout-btn span,.exit-btn span{color:var(--color-danger, #E84444)}.logout-btn:hover,.exit-btn:hover{color:var(--color-danger-hover, #C52222)}@keyframes spin-with-blur{0%{transform:rotate(0);filter:blur(0)}50%{filter:blur(2px) opacity(.8)}to{transform:rotate(360deg);filter:blur(0)}}@keyframes expand-icon{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.3) rotate(10deg)}60%{transform:scale(.9) rotate(-5deg)}}@keyframes shrink-icon{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(.7) rotate(-10deg)}60%{transform:scale(1.1) rotate(5deg)}}@keyframes bounce-left{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes card-flip-blur{0%{transform:rotateY(0);filter:blur(0)}40%{filter:blur(2px)}50%{transform:rotateY(360deg);filter:blur(4px) opacity(.7)}60%{filter:blur(2px)}to{transform:rotateY(720deg);filter:blur(0)}}@keyframes sound-pulse{0%,to{transform:scale(1)}35%{transform:scale(1.22)}70%{transform:scale(.92)}}@keyframes letter-wobble{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-6deg)}50%{transform:translateY(1px) rotate(4deg)}75%{transform:translateY(-1px) rotate(-2deg)}}@keyframes info-bounce{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-4px) scale(1.1)}70%{transform:translateY(1px) scale(.98)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#19191973;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-overlay.is-visible{opacity:1;pointer-events:auto}.modal-card{background:#fff;width:100%;max-width:440px;max-height:90vh;border-radius:24px;padding:24px 26px 26px;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000d;transform:scale(.92) translateY(10px);transition:transform .28s cubic-bezier(.175,.885,.32,1.275);position:relative;display:flex;flex-direction:column}.modal-overlay.is-visible .modal-card{transform:scale(1) translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-shrink:0}.modal-title-wrapper{display:flex;align-items:center;gap:10px}.modal-title-wrapper svg{width:24px;height:24px;stroke:var(--color-active-blue, #2563EB);stroke-width:2.2;fill:none}.modal-title{margin:0;font-size:19px;font-weight:700;color:#2d3748}.modal-close-btn{background:#f3f4f6;border:none;border-radius:9999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s ease}.modal-close-btn:hover{background:#e5e7eb;transform:scale(1.08)}.modal-close-btn:active{transform:scale(.94)}.modal-close-btn svg{width:17px;height:17px;stroke:#4b5563;stroke-width:2.5;fill:none;stroke-linecap:round}.modal-body{font-size:13px;line-height:1.6;color:#4b5563;overflow-y:auto;padding-right:2px}.modal-body p{margin:0 0 10px}.modal-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-top:10px;margin-bottom:6px}.modal-section-title:first-child{margin-top:0}.modal-credits-box{background:#f9fafb;border:1px solid #EEF0F3;border-radius:14px;padding:12px 14px;font-size:12.5px;color:#4b5563;line-height:1.55}.modal-credits-box p{margin:0}.modal-credits-box a{color:var(--color-active-blue, #2563EB);text-decoration:none;font-weight:600}.modal-credits-box a:hover{text-decoration:underline}.credit-divider{height:1px;background:#e5e7eb;margin:10px 0}
