.review-floating-button{color:#25481f;cursor:pointer;z-index:60;background:#fffaddf5;border:1px solid #42703752;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 13px;transition:opacity .16s,transform .16s,box-shadow .16s;display:inline-flex;position:fixed;top:18px;right:24px;box-shadow:0 10px 24px #19371f2e}.review-floating-button span{color:#d79620;font-size:1rem;line-height:1}.review-floating-button strong{font-size:.78rem;line-height:1}.review-floating-button:hover,.review-floating-button:focus-visible{opacity:1;transform:translateY(-2px);box-shadow:0 14px 30px #19371f47}.review-modal-overlay{z-index:100;background:#0f211794;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.review-modal{color:#23391e;background:#fffdf3;border:1px solid #42703747;border-radius:8px;flex-direction:column;gap:14px;width:430px;max-width:min(430px,100vw - 36px);padding:18px;display:flex;box-shadow:0 28px 70px #0f211757}.review-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.review-modal-header span,.review-rating-field>span{color:#5b743c;text-transform:uppercase;font-size:.72rem;font-weight:900}.review-modal-header h2{color:#20371c;margin:4px 0 0;font-size:1.4rem;line-height:1.15}.review-modal-header button{color:#28451f;cursor:pointer;background:#edf4d3;border:1px solid #42703738;border-radius:8px;width:32px;height:32px;font-weight:900}.review-modal label,.review-rating-field{color:#35552a;flex-direction:column;gap:7px;font-size:.82rem;font-weight:800;display:flex}.review-modal input,.review-modal select,.review-modal textarea{color:#1f2f1a;font:inherit;background:#fffefa;border:1px solid #bfd09d;border-radius:8px;min-height:42px;padding:0 12px}.review-modal textarea{resize:vertical;min-height:110px;padding:10px 12px}.review-star-rating{gap:4px;display:flex}.review-star-rating button{color:#c8c8bb;cursor:pointer;background:0 0;border:0;padding:0 1px;font-size:1.75rem;line-height:1}.review-star-rating .review-star-active{color:#d79620}.review-error{color:#8a321f;background:#ffe9de;border-radius:8px;margin:0;padding:9px 10px;font-size:.85rem}.review-modal-actions{gap:10px;display:flex}.review-modal-actions button{cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:900}.review-modal-actions button:first-child{color:#fff9d6;background:#265f37}.review-modal-actions button:last-child{color:#24451e;background:#e6f0c0}.review-modal-actions button:disabled{cursor:not-allowed;opacity:.62}.auth-review-carousel{z-index:5;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;max-width:min(1120px,100vw - 28px);margin:0 auto;padding:10px 0 0;display:grid;position:relative}.auth-review-window{perspective:1200px;min-height:190px;position:relative;overflow:visible}.auth-review-card{color:#26351f;transform-origin:50% 130%;background:radial-gradient(circle at 16% 0,#8ac15a6b,#0000 34%),linear-gradient(135deg,#fffaddfa,#dfeab7f5);border:2px solid #345c268f;border-radius:20px 10px;width:clamp(300px,32vw,390px);min-height:132px;padding:15px 16px;transition:filter .86s cubic-bezier(.2,.72,.18,1),opacity .86s cubic-bezier(.2,.72,.18,1),transform .86s cubic-bezier(.2,.72,.18,1),z-index .86s step-end;position:absolute;top:50%;left:50%;box-shadow:0 16px 34px #1a441f38,inset 0 0 0 1px #fff8ccc7}.auth-review-card:before,.auth-review-card:after{content:"";background:#38692d33;border-radius:999px;width:6px;height:20px;position:absolute;top:9px}.auth-review-card:before{left:10px;transform:rotate(-28deg)}.auth-review-card:after{right:12px;transform:rotate(28deg)}.auth-review-card-left{filter:saturate(.92)brightness(.96);opacity:.86;z-index:1;transform:translate(-118%,-50%)rotateY(8deg)rotate(-1.5deg)scale(.88)}.auth-review-card-center{filter:saturate(1.08)brightness(1.02);opacity:1;z-index:3;transform:translate(-50%,-50%)rotateY(0)rotate(0)scale(1.04)}.auth-review-card-right{filter:saturate(.92)brightness(.96);opacity:.86;z-index:1;transform:translate(18%,-50%)rotateY(-8deg)rotate(1.5deg)scale(.88)}.auth-review-card-hidden{opacity:0;pointer-events:none;z-index:0;transform:translate(-50%,-18%)rotateY(0)scale(.68)}.auth-review-card:hover,.auth-review-card:focus-within{box-shadow:0 20px 46px #19371f47}.auth-review-nav{color:#265f37;cursor:pointer;opacity:0;background:#fffaddf0;border:1px solid #42703747;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.7rem;font-weight:900;transition:opacity .16s,transform .16s;display:inline-flex;box-shadow:0 8px 20px #19371f29}.auth-review-carousel:hover .auth-review-nav,.auth-review-carousel:focus-within .auth-review-nav{opacity:1}.auth-review-nav:hover,.auth-review-nav:focus-visible{transform:scale(1.08)}.auth-review-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.auth-review-card-header div:first-child{flex-direction:column;gap:2px;display:flex}.auth-review-card strong{color:#1d3517;font-size:.95rem}.auth-review-card span{color:#527138;font-size:.75rem;font-weight:800}.auth-review-stars{color:#d79620;letter-spacing:0;flex:none;font-size:.92rem}.auth-review-card p{color:#213919;overflow-wrap:anywhere;margin:9px 0 0;font-size:.84rem;line-height:1.35}@media (width<=700px){.review-floating-button{top:12px;right:12px}.auth-review-carousel{grid-template-columns:34px minmax(0,1fr) 34px}.auth-review-window{min-height:178px}.auth-review-card{width:min(300px,78vw)}.auth-review-card-left{transform:translate(-116%,-50%)rotateY(5deg)scale(.76)}.auth-review-card-center{transform:translate(-50%,-50%)scale(1)}.auth-review-card-right{transform:translate(16%,-50%)rotateY(-5deg)scale(.76)}}@media (prefers-reduced-motion:reduce){.auth-review-card,.auth-review-nav{transition:none}}.contact-launcher{color:#24451e;cursor:pointer;z-index:12;background:#fff9d6;border:1px solid #4270374d;border-radius:999px;align-items:center;gap:8px;min-height:52px;padding:7px 14px 7px 9px;font-weight:900;display:inline-flex;position:fixed;bottom:24px;left:24px;box-shadow:0 14px 28px #1a382133}.contact-launcher:hover .contact-postbox-letter,.contact-launcher:focus-visible .contact-postbox-letter{animation:.76s ease-in-out infinite letterPop}.contact-postbox{background:#c63f32;border:2px solid #8d2d25;border-radius:8px 8px 5px 5px;width:34px;height:34px;display:inline-block;position:relative;box-shadow:inset -4px -4px #5f14141f}.contact-postbox:after{content:"";background:#7f3a2c;width:8px;height:8px;position:absolute;bottom:-8px;left:13px}.contact-postbox-flag{transform-origin:0 100%;background:#ffd45a;border:2px solid #8d2d25;border-radius:5px 5px 2px 2px;width:18px;height:15px;position:absolute;top:2px;right:-13px}.contact-launcher:hover .contact-postbox-flag,.contact-launcher:focus-visible .contact-postbox-flag{animation:.82s ease-in-out infinite flagWave}.contact-postbox-slot{background:#fff4cf;border-radius:999px;width:19px;height:4px;position:absolute;top:13px;left:7px}.contact-postbox-letter{background:#fff;border:1px solid #a88967;border-radius:2px;width:16px;height:11px;position:absolute;top:19px;left:10px;transform:rotate(-5deg)}.contact-backdrop{z-index:40;background:#1023185c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.contact-modal{color:#1d3517;text-align:left;background:#fffce6fa;border:1px solid #42703747;border-radius:8px;width:100%;max-width:520px;max-height:min(720px,100vh - 32px);padding:18px;overflow:auto;box-shadow:0 24px 60px #0c271957}.contact-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.contact-kicker{color:#527138;text-transform:uppercase;font-size:.72rem;font-weight:900}.contact-header h2{color:#1d3517;margin:4px 0 0;font-size:1.45rem;font-weight:900}.contact-close{color:#fff9d6;cursor:pointer;background:#265f37;border:0;border-radius:8px;width:34px;height:34px;font-weight:900}.contact-tabs{background:#dfeab7;border-radius:999px;grid-template-columns:1fr 1fr;margin:18px 0;padding:4px;display:grid}.contact-tab{color:#36512c;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:38px;font-weight:900}.contact-tab-active{background:#fff9d6;box-shadow:0 5px 14px #4d60332e}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.contact-modal label{color:#33502a;flex-direction:column;gap:5px;font-size:.78rem;font-weight:900;display:flex}.contact-modal input,.contact-modal select,.contact-modal textarea{color:#1f2f1a;font:inherit;background:#fffefa;border:1px solid #bfd09d;border-radius:8px;min-height:42px;padding:0 12px}.contact-modal textarea{resize:vertical;min-height:104px;padding:10px 12px}.contact-message{margin-top:12px}.contact-note{color:#24451e;background:#265f371a;border-radius:8px;padding:8px 10px;font-size:.8rem}.contact-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.contact-primary,.contact-secondary{border-radius:8px;align-items:center;min-height:42px;padding:0 14px;font-weight:900;text-decoration:none;display:inline-flex}.contact-primary{color:#fff9d6;background:#265f37}.contact-secondary{color:#24451e;background:#e6f0c0}@keyframes flagWave{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}@keyframes letterPop{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-7px)rotate(4deg)}}@media (width<=700px){.contact-launcher{bottom:14px;left:14px}.contact-launcher-label{display:none}.contact-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.contact-launcher:hover .contact-postbox-letter,.contact-launcher:focus-visible .contact-postbox-letter,.contact-launcher:hover .contact-postbox-flag,.contact-launcher:focus-visible .contact-postbox-flag{animation:none}}.jungle-bunny{transform-origin:50% 92%;z-index:5;width:112px;height:132px;transition:left .72s cubic-bezier(.18,.86,.24,1),top .72s cubic-bezier(.18,.86,.24,1);position:absolute;transform:translate(-50%,-50%)}.jungle-bunny-idle{animation:2.8s ease-in-out infinite bunnyBob}.jungle-bunny-hop{animation:.72s ease-in-out infinite bunnyHop}.jungle-bunny-dive{animation:.56s both bunnyDive}.jungle-bunny-shadow{background:#1c37213d;border-radius:50%;width:78px;height:18px;position:absolute;bottom:0;left:18px}.jungle-bunny-ear{transform-origin:50% 100%;z-index:1;background:#fff6e4;border:3px solid #d5b59b;border-radius:50% 50% 42% 42%;width:22px;height:58px;position:absolute;top:0}.jungle-bunny-idle .jungle-bunny-ear{animation:3.6s ease-in-out infinite earWiggle}.jungle-bunny-ear:after{border-radius:inherit;content:"";background:#ffd3d9;position:absolute;inset:8px 5px}.jungle-bunny-ear-left{left:30px;transform:rotate(-12deg)}.jungle-bunny-ear-right{right:30px;transform:rotate(14deg)}.jungle-bunny-head{z-index:3;background:#fff6e4;border:3px solid #d5b59b;border-radius:44% 44% 48% 48%;width:58px;height:58px;position:absolute;top:42px;left:26px}.jungle-bunny-eye,.jungle-bunny-nose,.jungle-bunny-cheek,.jungle-bunny-mouth{position:absolute}.jungle-bunny-eye{background:#26311e;border-radius:50%;width:7px;height:7px;top:23px}.jungle-bunny-idle .jungle-bunny-eye{animation:5s infinite bunnyBlink}.jungle-bunny-eye-left{left:15px}.jungle-bunny-eye-right{right:15px}.jungle-bunny-cheek{background:#f496a457;border-radius:50%;width:11px;height:8px;top:34px}.jungle-bunny-cheek-left{left:9px}.jungle-bunny-cheek-right{right:9px}.jungle-bunny-nose{background:#f59db0;border-radius:50%;width:9px;height:8px;top:33px;left:25px}.jungle-bunny-mouth{border-bottom:2px solid #705142;border-radius:50%;width:13px;height:8px;top:38px;left:23px}.jungle-bunny-body{z-index:2;background:#fff6e4;border:3px solid #d5b59b;border-radius:50%;width:66px;height:60px;position:absolute;top:72px;left:24px}.jungle-bunny-paw{background:#f4ddc9;border:2px solid #d5b59b;border-radius:50%;width:18px;height:18px;position:absolute;top:28px}.jungle-bunny-paw-left{left:6px;transform:rotate(-18deg)}.jungle-bunny-paw-right{right:6px;transform:rotate(18deg)}.jungle-bunny-idle .jungle-bunny-paw-left{animation:2.4s ease-in-out infinite bunnyWave}.jungle-bunny-tail{z-index:4;background:#fff;border-radius:50%;width:22px;height:22px;position:absolute;top:84px;right:14px;box-shadow:inset -3px -3px #dcd3beb8}@keyframes bunnyBob{0%,to{transform:translate(-50%,-50%)rotate(-1deg)}50%{transform:translate(-50%,-58%)rotate(2deg)}}@keyframes bunnyHop{0%,to{transform:translate(-50%,-50%)rotate(-4deg)scaleX(1)}35%{transform:translate(-50%,-78%)rotate(5deg)scaleX(.96)}70%{transform:translate(-50%,-44%)rotate(-2deg)scaleX(1.05)}}@keyframes bunnyDive{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}48%{opacity:1;transform:translate(-50%,-70%)rotate(-10deg)scale(.92)}72%{opacity:1;transform:translate(-50%,-18%)rotate(14deg)scale(.72)}to{opacity:0;transform:translate(-50%,10%)rotate(24deg)scale(.28)}}@keyframes earWiggle{0%,78%,to{rotate:0deg}84%{rotate:-7deg}90%{rotate:6deg}}@keyframes bunnyBlink{0%,91%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.15)}}@keyframes bunnyWave{0%,65%,to{transform:rotate(-18deg)}75%{transform:rotate(-52deg)translateY(-3px)}85%{transform:rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.jungle-bunny,.jungle-bunny-idle,.jungle-bunny-hop,.jungle-bunny-dive,.jungle-bunny-idle .jungle-bunny-ear,.jungle-bunny-idle .jungle-bunny-eye,.jungle-bunny-idle .jungle-bunny-paw-left{transition:none;animation:none}}.jungle-app-shell{color:#213919;text-align:left;background:linear-gradient(#8fdae157,#204f3194),url(https://opengameart.org/sites/default/files/background_1_00.png) 50%/cover fixed;grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.jungle-app-sky{pointer-events:none;background:radial-gradient(circle at 18% 10%,#fff7c299 0 5%,#0000 12%),linear-gradient(110deg,#0000 0 16%,#2962303d 16.2% 17%,#0000 17.3%),linear-gradient(74deg,#0000 0 78%,#22592a47 78.2% 79.2%,#0000 79.5%);position:absolute;inset:0}.jungle-sidebar{z-index:2;background:#173a27e6;border-right:1px solid #fff8cc33;min-height:100vh;padding:22px 16px;position:relative;box-shadow:16px 0 42px #0c27193d}.jungle-sidebar-inner{flex-direction:column;gap:9px;display:flex}.jungle-brand{color:#fff8d4;border-bottom:1px solid #fff8cc3d;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:18px;display:flex}.jungle-brand-mark{color:#255536;background:#fff8d4;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.72rem;font-weight:900;display:inline-flex}.jungle-brand strong{font-size:1.05rem;line-height:1.1}.jungle-nav-link{color:#fff8d4;background:#fff8cc14;border:1px solid #fff8cc29;border-radius:8px;padding:10px 12px;font-weight:800;text-decoration:none;display:block}.jungle-nav-link:hover,.jungle-nav-link-active{color:#255536;background:#fff8d4}.jungle-app-main{z-index:1;flex-direction:column;min-width:0;min-height:100vh;display:flex;position:relative}.jungle-navbar{background:#fffadde6;border-bottom:1px solid #4270373d;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px 22px;display:flex}.jungle-navbar h3{color:#1d3517;margin:0;font-size:1.05rem}.jungle-navbar-user{color:#24451e;align-items:center;gap:12px;font-weight:800;display:flex}.jungle-avatar{object-fit:cover;border:2px solid #265f3759;border-radius:50%;width:32px;height:32px}.jungle-navbar-button{color:#fff9d6;cursor:pointer;background:#265f37;border:0;border-radius:8px;min-height:38px;padding:0 14px;font-weight:900}.jungle-page-surface{background:#fffce6c7;flex:1;min-height:0;padding:22px;overflow:auto}.jungle-page-surface>*{z-index:1;border-radius:8px;position:relative}.layout-bunny-button{cursor:pointer;z-index:8;background:0 0;border:0;width:112px;height:128px;padding:0;position:fixed;bottom:18px;right:30px;transform:none;top:auto!important;left:auto!important}.layout-bunny{position:relative;inset:auto!important}.layout-bunny-button .layout-bunny.jungle-bunny-idle{animation:2.8s ease-in-out infinite layoutBunnyBob}.layout-bunny-bubble{color:#315125;text-transform:uppercase;z-index:9;cursor:pointer;background:#fffaddf2;border:1px solid #42703747;border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:900;animation:3.2s ease-in-out infinite bubbleFloat;position:fixed;bottom:142px;right:40px;box-shadow:0 10px 22px #1a38212e}.jungle-app-shell .review-floating-button{top:76px;right:24px}.layout-bunny-panel{color:#1d3517;z-index:10;background:#fffaddfa;border:1px solid #42703747;border-radius:8px;width:360px;max-width:min(360px,100vw - 32px);position:fixed;bottom:160px;right:24px;overflow:hidden;box-shadow:0 18px 38px #1a382138}.layout-bunny-panel-header{color:#fff9d6;background:#265f37;justify-content:space-between;align-items:center;min-height:42px;padding:8px 12px;display:flex}.layout-bunny-panel-header button{color:#fff9d6;cursor:pointer;background:#fff9d629;border:1px solid #fff9d64d;border-radius:8px;width:30px;height:30px;font-weight:900}.bunny-chat{flex-direction:column;gap:12px;max-width:720px;display:flex}.bunny-chat-compact{max-width:none;padding:12px}.bunny-chat-messages{flex-direction:column;gap:8px;min-height:180px;max-height:360px;display:flex;overflow:auto}.bunny-chat-message{border-radius:8px;margin:0;padding:9px 10px;line-height:1.35}.bunny-chat-bunny{background:#f0ffe3;border:1px solid #42703733;align-self:flex-start}.bunny-chat-student{background:#e6f0ff;border:1px solid #2563eb2e;align-self:flex-end}.bunny-chat-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.bunny-chat-form input{font:inherit;border:1px solid #4270374d;border-radius:8px;min-height:38px;padding:0 10px}.bunny-chat-form button{color:#fff9d6;cursor:pointer;background:#265f37;border:0;border-radius:8px;min-height:38px;padding:0 14px;font-weight:900}.bunny-chat-form button:disabled{cursor:not-allowed;opacity:.6}.teacher-page{background:#ffffffc7;border:1px solid #42703733;border-radius:8px;max-width:780px;padding:18px}@keyframes bubbleFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}@keyframes layoutBunnyBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(2deg)}}@media (width<=860px){.jungle-app-shell{grid-template-columns:1fr}.jungle-sidebar{min-height:auto;padding:14px}.jungle-sidebar-inner{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jungle-brand{grid-column:1/-1;margin-bottom:4px}.jungle-page-surface{padding:14px}.layout-bunny-button,.layout-bunny-bubble,.layout-bunny-panel{display:none}}@media (prefers-reduced-motion:reduce){.layout-bunny-bubble{animation:none}}.auth-classic,.jungle-auth{min-height:100vh;position:relative}.auth-classic{background:#f7fbff;justify-content:center;align-items:center;padding:32px;display:flex}.theme-toggle{color:#fff7d7;cursor:pointer;background:#153b2e;border:0;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:800}.auth-classic>.theme-toggle{position:fixed;top:24px;right:24px}.jungle-auth{color:#193123;text-align:left;background:linear-gradient(#87d2e057,#194b2f80),url(https://opengameart.org/sites/default/files/background_1_00.png) 50%/cover;overflow:hidden}.jungle-sky,.jungle-vines{pointer-events:none;position:absolute;inset:0}.jungle-sky{background:radial-gradient(circle at 20% 12%,#fff7c2b8 0 5%,#0000 12%),linear-gradient(#b1e6ea40,#0000 60%)}.jungle-vines{opacity:.65;background:linear-gradient(105deg,#0000 0 13%,#30652b66 13.3% 14.2%,#0000 14.5%),linear-gradient(75deg,#0000 0 70%,#22592a57 70.2% 71.1%,#0000 71.4%)}.jungle-header{z-index:2;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px clamp(20px,5vw,64px) 0;display:flex;position:relative}.jungle-kicker{color:#27563c;letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:900}.jungle-header h1{color:#143524;text-shadow:0 3px #fff8cd6b;max-width:360px;margin:10px 0 0;font-size:clamp(1.35rem,3vw,2.45rem);line-height:1.02}.jungle-toggle{background:#153b2eeb;flex:none;box-shadow:0 12px 26px #12332040}.jungle-stage{z-index:1;min-height:580px;position:absolute;inset:220px 0 0}.dashboard-tree{pointer-events:none;z-index:3;width:min(420px,34vw);height:min(520px,74vh);position:absolute;bottom:4%;right:clamp(18px,4vw,64px)}.tree-canopy{filter:drop-shadow(0 18px 22px #1a441f52);background:radial-gradient(circle at 28% 34%,#80b84f 0 24%,#0000 25%),radial-gradient(circle at 55% 18%,#6faa48 0 28%,#0000 29%),radial-gradient(circle at 76% 38%,#8ac15a 0 26%,#0000 27%),radial-gradient(circle at 50% 48%,#5f9b3d 0 34%,#0000 35%);width:100%;height:70%;position:absolute;top:0;left:0}.tree-trunk{background:linear-gradient(90deg,#593319b8,#8f572af2,#4a2a17cc);border-radius:42% 48% 0 0;width:24%;height:58%;position:absolute;bottom:0;left:45%;transform:translate(-50%);box-shadow:inset -12px 0 18px #2a160c47}.tree-trunk:before,.tree-trunk:after{content:"";background:#734524db;border-radius:999px;width:42%;height:42%;position:absolute;top:18%}.tree-trunk:before{left:-24%;transform:rotate(-32deg)}.tree-trunk:after{right:-24%;transform:rotate(34deg)}.tree-card{color:#213919;cursor:pointer;pointer-events:auto;text-align:left;z-index:2;background:#fffaddf2;border:2px solid #345c26b8;border-radius:8px;flex-direction:column;gap:2px;width:min(152px,42%);min-height:74px;padding:10px 12px;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;box-shadow:0 10px 18px #1d47203d}.tree-card:hover,.tree-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 24px #1d472052}.tree-card span{color:#527138;text-transform:uppercase;font-size:.68rem;font-weight:900}.tree-card strong{color:#1d3517;font-size:1rem;line-height:1.12}.tree-card-streak{top:17%;left:2%}.tree-card-gpa{top:7%;right:2%}.tree-card-level{top:45%;left:12%}.tree-card-badges{top:24%;right:0}.burrow{color:#fff9d3;cursor:pointer;text-align:center;z-index:4;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;width:142px;display:flex;position:absolute;transform:translate(-50%,-50%)}.burrow-mound{z-index:-1;background:radial-gradient(#6c502bc7 0 42%,#4932191a 68%),linear-gradient(90deg,#0000,#7eb34fe6,#0000);border-radius:50%;width:136px;height:34px;position:absolute;top:30px;left:50%;transform:translate(-50%)}.burrow-mound:before,.burrow-mound:after{content:"";background:#72aa42;border-radius:100% 0;width:8px;height:18px;position:absolute;top:-8px}.burrow-mound:before{left:22px;transform:rotate(-34deg)}.burrow-mound:after{right:26px;transform:rotate(28deg)}.burrow-hole{background:radial-gradient(at 50% 62%,#0d0805 0 32%,#25150c 42%,#5d371c 58%,#a67945 72%,#d2ac68 100%);border:3px solid #ffeca670;border-radius:50%;width:114px;height:58px;transition:transform .18s,box-shadow .18s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 10px 24px #000000c2,0 12px 20px #0f30165c}.burrow-hole:before{content:"";opacity:0;background:radial-gradient(#fff09973,#0000 66%);width:140%;height:100%;transition:opacity .18s,transform .18s;position:absolute;top:-34%;left:-20%}.burrow-hole:after{content:"";opacity:.24;background:linear-gradient(90deg,#0000 0 8%,#dcc2708c 8% 13%,#0000 13% 100%),linear-gradient(90deg,#0000 0 42%,#dcc27073 42% 47%,#0000 47% 100%);border-radius:50%;position:absolute;inset:6px 10px 18px}.burrow:hover .burrow-hole,.burrow:focus-visible .burrow-hole,.burrow-active .burrow-hole{transform:scale(1.08)rotate(-2deg);box-shadow:inset 0 12px 28px #000000db,0 0 0 8px #ffeb8947,0 14px 24px #0f301675}.burrow:hover .burrow-hole:before,.burrow:focus-visible .burrow-hole:before,.burrow-active .burrow-hole:before{opacity:1;transform:translateY(14px)}.burrow-active .burrow-mound{animation:.46s ease-in-out infinite moundRustle}.burrow-active .burrow-hole{animation:.52s ease-in-out infinite burrowPulse}.burrow-spark{opacity:0;background:#ffe778;border-radius:50%;width:6px;height:6px;position:absolute}.burrow:hover .burrow-spark,.burrow-active .burrow-spark{animation:.9s ease-in-out infinite burrowSpark}.burrow-spark-one{top:22px;left:26px}.burrow-spark-two{animation-delay:.16s;top:18px;right:30px}.burrow-spark-three{animation-delay:.31s;top:36px;left:52px}.burrow-label,.burrow-detail{background:#1b4526d1;border:1px solid #fff5b86b;border-radius:999px;max-width:100%;padding:5px 10px;display:inline-flex;box-shadow:0 6px 16px #102c1938}.burrow-label{font-size:.85rem;font-weight:900}.burrow-detail{color:#d9f5bf;font-size:.68rem;line-height:1.1}.jungle-panel{z-index:6;max-width:min(420px,100vw - 36px);animation:.26s ease-out both panelSprout;position:absolute;bottom:28px;left:clamp(18px,5vw,64px)}.auth-bunny-chat-button{cursor:pointer;z-index:12;background:0 0;border:0;width:112px;height:128px;padding:0;position:fixed;inset:auto 30px 26px auto;transform:none}.auth-bunny-chat-button-traveling{pointer-events:none}.auth-bunny{z-index:7;transition:left 1.18s cubic-bezier(.18,.78,.18,1),top 1.18s cubic-bezier(.18,.78,.18,1)}.auth-bunny-traveling.jungle-bunny-hop{animation:1.18s cubic-bezier(.18,.78,.18,1) infinite authBunnySnowboard}.auth-bunny-traveling.jungle-bunny-dive{animation:.92s cubic-bezier(.2,.72,.18,1) both authBunnyHoleDive}.auth-bunny-home{z-index:11;bottom:22px;right:30px;position:fixed!important;top:auto!important;left:auto!important;transform:none!important}.auth-bunny-copter{z-index:14;animation:1.4s ease-in forwards authBunnyCopterFlight!important}.auth-bunny-copter .jungle-bunny-ear{transform-origin:50% 92%;border-radius:999px;height:104px;animation:.16s linear infinite authCopterEars;top:-24px}.auth-bunny-copter .jungle-bunny-ear:after{inset:10px 6px}.auth-bunny-copter .jungle-bunny-ear-left{left:20px}.auth-bunny-copter .jungle-bunny-ear-right{right:20px}.auth-bunny-chat{color:#1d3517;z-index:13;background:#fffaddfa;border:1px solid #42703747;border-radius:8px;width:360px;max-width:min(360px,100vw - 36px);position:fixed;inset:auto 24px 164px auto;overflow:hidden;box-shadow:0 18px 38px #1a38213d}.auth-bunny-chat-header{color:#fff9d6;background:#265f37;justify-content:space-between;align-items:center;min-height:42px;padding:8px 12px;display:flex}.auth-bunny-chat-header button{color:#fff9d6;cursor:pointer;background:#fff9d629;border:1px solid #fff9d64d;border-radius:8px;width:30px;height:30px;font-weight:900}.auth-card{color:#26351f;background:#fffce6f0;border:1px solid #42703738;border-radius:8px;width:min(380px,100%);padding:20px;box-shadow:0 24px 60px #1a382147}.auth-tabs{background:#dfeab7;border-radius:999px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:4px;display:grid}.auth-tab{color:#36512c;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:38px;font-weight:800}.auth-tab-active{background:#fff9d6;box-shadow:0 5px 14px #4d60332e}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form h2{color:#22351d;margin:0;font-weight:900}.auth-form label{color:#33502a;flex-direction:column;gap:5px;font-size:.78rem;font-weight:800;display:flex}.auth-form input,.auth-form select{color:#1f2f1a;font:inherit;background:#fffefa;border:1px solid #bfd09d;border-radius:8px;min-height:42px;padding:0 12px}.name-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary-action,.secondary-action{cursor:pointer;border:0;border-radius:8px;min-height:44px;font-weight:900}.primary-action{color:#fff9d6;background:#265f37}.secondary-action{color:#24451e;background:#e6f0c0}.auth-message{color:#24451e;background:#265f371a;border-radius:8px;margin-top:14px;padding:10px;font-size:.85rem}@keyframes moundRustle{0%{transform:translate(-50%)rotate(0)}45%{transform:translate(-50%)rotate(-3deg)scaleX(1.04)}to{transform:translate(-50%)rotate(2deg)}}@keyframes burrowPulse{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}@keyframes burrowSpark{0%{opacity:0;transform:translateY(12px)scale(.5)}50%{opacity:1;transform:translateY(-2px)scale(1)}to{opacity:0;transform:translateY(-18px)scale(.45)}}@keyframes panelSprout{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes authBunnySnowboard{0%{transform:translate(-50%,-50%)rotate(-7deg)scaleX(1.04)}35%{transform:translate(-50%,-62%)rotate(-12deg)scaleX(1.02)}70%{transform:translate(-50%,-43%)rotate(8deg)scaleX(1.08)}to{transform:translate(-50%,-50%)rotate(-5deg)scaleX(1.02)}}@keyframes authBunnyHoleDive{0%{opacity:1;transform:translate(-50%,-50%)rotate(-6deg)scale(1)}35%{opacity:1;transform:translate(-50%,-62%)rotate(-14deg)scale(.94)}68%{opacity:1;transform:translate(-50%,-24%)rotate(16deg)scale(.68)}to{opacity:0;transform:translate(-50%,6%)rotate(26deg)scale(.24)}}@keyframes authBunnyCopterFlight{0%{opacity:1;transform:translate(-50%,-50%)rotate(-8deg)scale(1)}45%{opacity:1;transform:translate(-15%,-128%)rotate(8deg)scale(1.04)}to{opacity:0;transform:translate(95vw,-210%)rotate(18deg)scale(.82)}}@keyframes authCopterEars{0%{transform:rotate(0)scaleX(1.25)}to{transform:rotate(360deg)scaleX(1.25)}}@media (width<=900px){.jungle-auth{min-height:1180px}.jungle-header{flex-direction:column}.jungle-stage{min-height:650px;top:300px}.dashboard-tree{opacity:.95;width:270px;height:360px;bottom:23%;right:0}.tree-card{width:124px;min-height:66px;padding:8px 10px}.tree-card strong{font-size:.86rem}.jungle-panel{bottom:70px}.auth-bunny-chat{top:auto;bottom:150px;right:14px}.burrow{width:116px}.burrow-hole{width:92px;height:48px}.burrow-mound{width:112px;top:26px}.burrow-label{font-size:.74rem}.name-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.bunny,.burrow-hole,.burrow-active .burrow-hole,.burrow-active .burrow-mound,.burrow:hover .burrow-spark,.burrow-active .burrow-spark,.jungle-panel{transition:none;animation:none}}.copter-page{color:#1f321f;text-align:left;background:linear-gradient(#89d6e273,#1d542fbd),url(https://opengameart.org/sites/default/files/background_1_00.png) 50%/cover;min-height:100vh;padding:24px;position:relative;overflow:hidden}.copter-canopy{pointer-events:none;background:radial-gradient(circle at 14% 12%,#fff6ae8c 0 6%,#0000 14%),linear-gradient(120deg,#0000 0 18%,#1f5c2c59 18.4% 19.5%,#0000 19.8%),linear-gradient(70deg,#0000 0 78%,#2463325c 78.2% 79.2%,#0000 79.5%);position:absolute;inset:0}.play-back{color:#fff8d4;cursor:pointer;z-index:4;background:#143522eb;border:0;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:900;position:fixed;top:24px;left:24px}.copter-hud{z-index:2;background:#fffaddf0;border:1px solid #42703747;border-radius:999px;justify-content:center;align-items:center;gap:16px;max-width:620px;min-height:44px;margin:0 auto 16px;padding:0 18px;display:flex;position:relative;box-shadow:0 12px 28px #12371e2e}.copter-hud span{color:#24451e;font-weight:900}.copter-game{z-index:1;background:linear-gradient(#beedeabd,#90cb78e0),radial-gradient(circle at 20% 12%,#fff8be99,#0000 16%);border:2px solid #345c266b;border-radius:8px;width:min(100%,980px);max-width:980px;height:460px;margin:82px auto 0;position:relative;overflow:hidden;box-shadow:0 26px 70px #12371e59}.copter-skyline{opacity:.76;background:linear-gradient(90deg,#0000 0 8%,#265f3747 8.2% 9.1%,#0000 9.4% 100%),radial-gradient(circle at 18% 88%,#29612b73 0 9%,#0000 9.5%),radial-gradient(circle at 44% 91%,#3d84396b 0 11%,#0000 11.5%),radial-gradient(circle at 72% 90%,#2c672f70 0 10%,#0000 10.5%);width:200%;animation:12s linear infinite copterDrift;position:absolute;inset:0}.copter-wall-pair{width:58px;position:absolute;top:0}.copter-wall{background:linear-gradient(90deg,#1f562af0,#578e3af5,#1c4a25f5);border:2px solid #143e1f6b;border-radius:8px;width:58px;position:absolute;box-shadow:inset -8px 0 14px #11361c3d}.copter-wall-top{top:0}.copter-wall-bottom{height:460px;bottom:0}.copter-carrot{background:#f47f2c;border:2px solid #703d133d;border-radius:80% 20%;width:16px;height:28px;position:absolute;transform:rotate(-38deg);box-shadow:0 6px 12px #63370f38}.copter-carrot:before{content:"";background:#3f8d3b;border-radius:100% 0;width:10px;height:16px;position:absolute;top:-12px;left:-4px;transform:rotate(24deg)}.copter-bunny{z-index:3;width:64px;height:64px;transition:transform .12s;position:absolute}.copter-ear{transform-origin:50% 92%;z-index:4;background:#fff6e4;border:2px solid #d5b59b;border-radius:999px;width:13px;height:78px;animation:.13s linear infinite gameCopterEar;position:absolute;top:-34px}.copter-ear-left{left:18px}.copter-ear-right{right:18px}.copter-face{z-index:3;background:#fff6e4;border:2px solid #d5b59b;border-radius:46%;width:36px;height:36px;position:absolute;top:8px;left:14px}.copter-face:before,.copter-face:after{content:"";background:#26311e;border-radius:50%;width:5px;height:5px;position:absolute;top:14px}.copter-face:before{left:10px}.copter-face:after{right:10px}.copter-body{z-index:2;background:#fff6e4;border:2px solid #d5b59b;border-radius:50%;width:42px;height:38px;position:absolute;top:28px;left:12px}.copter-tail{z-index:3;background:#fff;border-radius:50%;width:15px;height:15px;position:absolute;top:36px;right:4px}.copter-bunny-fallen{animation:.82s ease-in forwards bunnyTumble}.copter-overlay{color:#20371c;text-align:center;z-index:5;background:#fffadde6;border:1px solid #42703747;border-radius:8px;flex-direction:column;align-items:center;width:420px;max-width:min(420px,100% - 28px);padding:22px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 44px #12371e3d}.copter-overlay h1{margin:0 0 10px;font-size:clamp(2rem,6vw,3.8rem);line-height:.95}.copter-overlay p{color:#38532f;margin:0 0 16px;font-weight:800}.copter-overlay button{color:#fff9d6;cursor:pointer;background:#265f37;border:0;border-radius:8px;min-height:44px;padding:0 18px;font-weight:900}@keyframes gameCopterEar{0%{transform:rotate(0)scaleX(1.25)}to{transform:rotate(360deg)scaleX(1.25)}}@keyframes bunnyTumble{0%{transform:rotate(0)translateY(0)}70%{transform:rotate(220deg)translateY(170px)scale(.96)}to{transform:rotate(250deg)translateY(190px)scale(.9)}}@keyframes copterDrift{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=720px){.copter-page{padding:16px}.copter-game{margin-top:92px}.copter-hud{border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px}}
