.dg-overlay{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;background:#051321bd;backdrop-filter:blur(8px);color:#143d35;font-family:system-ui,sans-serif;overflow:auto;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));box-sizing:border-box}.dg-overlay *{box-sizing:border-box}.dg-overlay button{font:inherit;cursor:pointer;touch-action:manipulation}.dg-overlay button:focus-visible{outline:3px solid #28caca;outline-offset:4px}.dg-stage{position:relative;isolation:isolate;width:min(100%,470px);height:min(900px,calc(100dvh - 20px));min-height:min(520px,calc(100dvh - 20px));overflow:hidden;border-radius:28px;background:#fff8df;box-shadow:0 24px 100px #0007;border:2px solid #f5da8c}.dg-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:dg-scene-in 3.3s cubic-bezier(.16,.7,.35,1) both}.dg-learning .dg-stage{background:#041329;border-color:#bb934c}.dg-stage:after{position:absolute;inset:0;z-index:-1;content:'';pointer-events:none;background:linear-gradient(transparent 30%,#fff7dc00 45%,#fff7dc 85%)}.dg-learning .dg-stage:after{background:linear-gradient(#04132922,transparent 25%,#04132933 45%,#041329 78%)}.dg-brand{position:absolute;left:55px;right:55px;top:24px;text-align:center;font-size:13px;font-weight:800;text-shadow:0 1px 10px #fff;background:#fff7dfcc;border-radius:14px;padding:7px}.dg-learning .dg-brand{color:#ffe2a0;background:#031325c9;text-shadow:none}.dg-close,.dg-sound{position:absolute;top:16px;width:38px;height:38px;border:1px solid #fff9;border-radius:50%;background:#fff9;color:#194536;z-index:4;font-size:24px!important}.dg-close{right:12px}.dg-sound{left:12px}.dg-learning .dg-close,.dg-learning .dg-sound{background:#061b33a8;color:#ffe5ac;border-color:#e4c37366}.dg-medal{position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);width:138px;height:138px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #ffeda6;background:radial-gradient(circle at 30% 25%,#fff0a8,#e6ae2c 65%,#be7915);box-shadow:0 0 0 5px #bf8e37,0 0 50px #ffd54cb0;color:#765010;text-shadow:0 2px #fff2ac;transition:transform .8s,top .8s,opacity .8s}.dg-medal span{font-family:Georgia,serif;font-size:76px;line-height:1}.dg-medal small{font-size:11px;letter-spacing:2px;font-weight:800}.dg-learning .dg-medal{background:radial-gradient(circle at 40% 25%,#17344b,#06192d);color:#ffe3a3;border-color:#f2d18a;text-shadow:none}.dg-learning .dg-medal span{font-size:64px}.dg-phase-message{position:absolute;bottom:17%;left:18px;right:18px;text-align:center;font-family:Georgia,serif;font-weight:700;font-size:35px;line-height:1.2;text-shadow:0 2px #fff7df}.dg-learning .dg-phase-message{color:#ffe6b0;text-shadow:0 2px 12px #000}.dg-aura{position:absolute;top:30%;left:50%;width:320px;height:320px;transform:translate(-50%,-50%);border:3px solid #fff0aa;border-radius:50%;box-shadow:0 0 45px #ffdc6490,inset 0 0 35px #ffdc6470;opacity:0;pointer-events:none}.dg-overlay[data-phase="1"] .dg-aura{animation:dg-ring 1.8s ease-out infinite}.dg-overlay[data-phase="1"] .dg-medal{transform:translate(-50%,-50%) scale(1.2);top:32%}.dg-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dg-confetti i{position:absolute;left:var(--x);top:-12%;width:8px;height:16px;border-radius:2px;background:#f7d361;animation:dg-confetti 3.6s var(--delay) ease-in infinite;transform:rotate(var(--turn))}.dg-confetti i:nth-child(3n){background:#48b68c}.dg-confetti i:nth-child(3n + 1){background:#e9ae3d;width:10px;height:10px;border-radius:50%}.dg-learning .dg-confetti i:nth-child(3n){background:#56d9dc}.dg-finale{position:absolute;left:12px;right:12px;bottom:12px;padding:20px 16px 16px;border:2px solid #f1d88d;border-radius:24px;background:linear-gradient(145deg,#fffbea,#fff4d6);box-shadow:0 8px 26px #70522333;text-align:center;transform:translateY(120%);opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s}.dg-learning .dg-finale{background:linear-gradient(145deg,#051629f5,#0c2540f5);border-color:#c9a461;color:#ffedc8;box-shadow:0 0 30px #d9bb5a22}.dg-finale-crown{position:absolute;top:-24px;left:calc(50% - 24px);width:48px;height:48px;border-radius:50%;background:#eec768;color:#735118;font-size:30px;display:grid;place-items:center;border:2px solid #fff1b2}.dg-finale h1{font-family:Georgia,serif;font-size:clamp(23px,6vw,31px);line-height:1.14;margin:16px 0 8px;overflow-wrap:anywhere}.dg-finale p{margin:0 0 15px;font-size:17px}.dg-reward-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.dg-reward-chips span{display:flex;flex-direction:column;gap:9px;align-items:center;padding:12px 3px;border:1px solid #e9d490;border-radius:16px;font-size:23px;background:#fff9}.dg-reward-chips b{font-size:12px}.dg-learning .dg-reward-chips span{background:#0b284266;border-color:#8b784a88}.dg-finale>small{display:block;font-size:13px;margin:12px 0}.dg-final-actions{display:grid;gap:8px;margin-top:12px}.dg-final-actions button,.dg-document-actions button{border:1px solid #d8ba6a;background:#fffaf0;border-radius:16px;min-height:47px;font-weight:800;padding:10px;color:#13443a}.dg-final-actions .dg-primary{background:linear-gradient(#fff3c7,#e4b54e);color:#513609}.dg-school .dg-final-actions [data-next]{background:linear-gradient(#34c9a7,#109d83);color:white;border-color:#177e63}.dg-learning .dg-final-actions [data-next]{background:linear-gradient(#24aeba,#087c96);color:white;border-color:#43c3c8}.dg-skip{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:22px;border:1px solid #ddc276;background:#fffbdfd9;color:#12483b}.dg-learning .dg-skip{background:#061a32d9;color:#ffe3a2}.dg-overlay[data-phase="2"] .dg-finale{transform:translateY(0);opacity:1}.dg-overlay[data-phase="2"] .dg-medal{top:27%;transform:translate(-50%,-50%) scale(.78)}.dg-overlay[data-phase="2"] .dg-scene{animation:dg-float 7s ease-in-out infinite alternate}.dg-overlay[data-phase="2"] .dg-confetti i{animation-iteration-count:2}.dg-overlay[data-phase="2"] .dg-phase-message{display:none}.dg-document-panel,.dg-library-panel{width:min(100%,1000px);max-height:calc(100dvh - 20px);overflow:auto;border-radius:24px;background:#fffaf0;box-shadow:0 24px 70px #0008;padding:16px}.dg-document-panel header,.dg-library-panel header{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px}.dg-document-panel h2,.dg-library-panel h2{font-family:Georgia,serif;font-size:24px;margin:0;flex:1;text-align:center}.dg-document-panel header button,.dg-library-panel header button{border:0;border-radius:50%;background:#164b4014;width:42px;height:42px;font-size:28px;color:inherit}.dg-learning .dg-document-panel{background:#071b33;color:#f9e5bc}.dg-document-art{background:#efe6d3;border-radius:10px;min-height:180px;display:grid;place-items:center;overflow:hidden}.dg-document-art canvas{display:block;width:100%;height:auto;touch-action:pan-x pan-y pinch-zoom}.dg-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.dg-document-actions [data-png]{grid-column:1/-1;background:transparent;border:0;text-decoration:underline;min-height:32px;color:inherit;font-weight:500}.dg-document-actions [data-pdf]{background:linear-gradient(#f1dba1,#c5a064);color:#17273a}.dg-school .dg-document-actions [data-pdf]{background:#238b70;color:white;border-color:#218063}.dg-school .dg-document-actions [data-share]{background:#ef694c;color:white;border-color:#d85f46}.dg-learning .dg-document-actions [data-share]{background:#0b2944;color:#fff0cd;border-color:#bb9b66}.dg-overlay button:disabled{opacity:.55;cursor:wait}.dg-document-panel [data-dg-status]{font-size:13px;line-height:1.5;text-align:center;min-height:20px}.dg-library-panel{width:min(100%,660px)}.dg-library-panel>p{line-height:1.6;color:#557065}.dg-library-panel [data-list]{display:grid;gap:12px;font-size:15px;line-height:1.6}.dg-library-item{display:flex;align-items:center;gap:12px;text-align:left;padding:16px;border:1px solid #c4dacd;border-radius:18px;background:#eff8e8;color:#164b3a}.dg-library-item>span:first-child{font-size:32px}.dg-library-item>span:nth-child(2){flex:1}.dg-library-item b,.dg-library-item small{display:block}.dg-library-item small{font-size:12px;font-weight:400;margin-top:5px}.dg-library-item.dg-learning{background:#0b2340;color:#ffdf99;border-color:#b69658}@keyframes dg-scene-in{0%{transform:scale(1.15);filter:brightness(.8)}60%{filter:brightness(1.18)}100%{transform:scale(1);filter:brightness(1)}}@keyframes dg-float{to{transform:scale(1.035) translateY(-5px)}}@keyframes dg-ring{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}25%{opacity:.9}100%{transform:translate(-50%,-50%) scale(2.5);opacity:0}}@keyframes dg-confetti{to{top:115%;transform:rotate(calc(var(--turn) + 520deg)) translateX(30px)}}@media(max-height:650px){.dg-medal{width:110px;height:110px}.dg-medal span{font-size:62px}.dg-finale{padding:12px}.dg-finale h1{font-size:24px;margin-top:12px}.dg-finale p{font-size:15px;margin-bottom:8px}.dg-reward-chips{margin:8px 0}.dg-reward-chips span{padding:7px 2px;gap:5px}.dg-final-actions button{min-height:43px;padding:8px}.dg-finale>small{margin:8px 0}.dg-overlay[data-phase="2"] .dg-medal{top:23%}.dg-brand{top:18px}.dg-stage{border-radius:22px}}@media(max-height:450px) and (orientation:landscape){.dg-stage{width:min(100%,860px)}.dg-scene{width:50%;object-position:50% 35%}.dg-stage:after{background:linear-gradient(90deg,transparent 25%,#fff7dc 55%)!important}.dg-learning .dg-stage:after{background:linear-gradient(90deg,transparent 25%,#041329 55%)!important}.dg-finale{left:48%;top:48px;bottom:8px;right:8px;padding:8px;overflow:auto}.dg-finale h1{font-size:22px}.dg-medal{left:25%;top:55%!important}.dg-finale-crown{display:none}.dg-phase-message{left:50%;bottom:40%;font-size:28px}.dg-overlay[data-phase="2"] .dg-medal{transform:translate(-50%,-50%) scale(.8)}.dg-reward-chips span{font-size:18px}.dg-reward-chips b{font-size:11px}.dg-brand{left:60px;right:60px;top:12px}.dg-final-actions{gap:4px;margin-top:7px}.dg-final-actions button{min-height:38px}}@media(prefers-reduced-motion:reduce){.dg-overlay *{animation:none!important;transition:none!important}.dg-confetti,.dg-aura{display:none!important}}

.dg-finish-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity .8s}.dg-school[data-phase="2"] .dg-finish-scene{opacity:1;animation:dg-float 7s ease-in-out infinite alternate}.dg-school[data-phase="2"] .dg-scene,.dg-school[data-phase="2"] .dg-medal{opacity:0}.dg-wreath{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dg-learning[data-phase="2"] .dg-medal{width:185px;height:185px;top:25%;transform:translate(-50%,-50%)}.dg-learning[data-phase="2"] .dg-medal span{font-size:76px}.dg-learning .dg-medal small{font-size:9px}.dg-medal span,.dg-medal small{position:relative;z-index:1}@media(max-height:650px){.dg-learning[data-phase="2"] .dg-medal{width:136px;height:136px}.dg-learning[data-phase="2"] .dg-medal span{font-size:58px}}@media(max-height:450px) and (orientation:landscape){.dg-finish-scene{width:50%;object-position:50% 30%}}

/* Readable report library, independent of the portal's decorative headings. */
.dg-library .dg-library-panel{background:#f6fbfa;color:#173e48;border:1px solid #cce4df;padding:22px}
.dg-library .dg-library-panel header{border-bottom:1px solid #d7e7e2;padding-bottom:16px}
.dg-library .dg-library-panel h2{color:#173e48!important;-webkit-text-fill-color:#173e48!important;background:none!important;text-shadow:none!important;font:900 26px/1.2 system-ui,sans-serif;text-align:left}
.dg-library .dg-library-panel>p{color:#49666e;font-size:14px;margin:0 0 18px}
.dg-library-empty{text-align:center;padding:28px 18px;border:1px solid #cfe6de;border-radius:20px;background:linear-gradient(150deg,#fff,#eaf8f1)}
.dg-library-empty>span{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 16px;border-radius:28px;background:#dbf0e4;font-size:48px}
.dg-library .dg-library-empty h3{color:#173e48!important;-webkit-text-fill-color:#173e48!important;background:none!important;text-shadow:none!important;font:850 20px/1.4 system-ui,sans-serif;margin:0 0 10px}
.dg-library-empty p{margin:0 auto;color:#49666e;max-width:340px;font-size:14px;line-height:1.7}
.dg-library-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}
.dg-library-steps span{padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #d2e6de;color:#245d50;font-size:12px;font-weight:750}
.dg-library .dg-library-item{min-height:88px;background:#fff;box-shadow:0 3px 12px #1c4c3f08}
.dg-library .dg-library-item.dg-learning{background:#ecf2ff;color:#283f70;border-color:#cbd9ef}

.dg-library-empty>span img{width:60px;height:60px;object-fit:contain}.dg-library-steps b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e1f2e9;color:#276b53;font-size:11px}
