:root{--ink:#153c54;--muted:#607d8c;--line:#c9e0e6;--paper:#f7fcfc;--teal:#0f8f95;--navy:#174d6d;--coral:#ff7d6b;--gold:#f3c654;--shadow:0 18px 55px #153c5421}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 5% 10%,#50d2c829,transparent 24%),radial-gradient(circle at 95% 5%,#3896c729,transparent 26%),var(--paper);min-height:100vh;margin:0;font-family:Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}header{color:#fff;background:linear-gradient(110deg,#0d6f7f,#15526f);justify-content:space-between;align-items:center;gap:24px;padding:17px clamp(20px,4vw,54px);display:flex;box-shadow:0 10px 28px #16496326}.brand{align-items:center;gap:14px;display:flex}.brand>span{background:#ffffff24;border-radius:17px;place-items:center;width:55px;height:55px;font-size:31px;display:grid}.brand small{color:#ffffffbd;letter-spacing:.1em;font-weight:800}.brand h1{letter-spacing:-.04em;margin:2px 0 0;font-size:28px}.classes{flex-wrap:wrap;gap:8px;display:flex}.classes button{color:#fff;background:#ffffff18;border:1px solid #ffffff40;border-radius:12px;padding:10px 15px;font-weight:800}.classes button.active{color:var(--navy);background:#fff}.summary{padding:20px clamp(20px,4vw,54px) 0}.summary>div{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:baseline;gap:10px;width:max-content;padding:14px 19px;display:flex;box-shadow:0 8px 26px #153c5412}.summary small{color:var(--muted);letter-spacing:.08em;font-weight:850}.summary strong{font-size:42px;line-height:1}.summary span{color:var(--teal);font-size:12px;font-weight:800}nav{border:1px solid var(--line);background:#e8f4f4;border-radius:15px;gap:3px;margin:18px clamp(20px,4vw,54px);padding:5px;display:inline-flex}nav button{color:var(--muted);background:0 0;border:0;border-radius:11px;padding:11px 16px;font-weight:800}nav button.selected{color:var(--ink);background:#fff;box-shadow:0 4px 12px #153c541a}nav span{background:#dceced;border-radius:999px;margin-left:5px;padding:2px 7px}.cards,.student-section,.reward-grid{margin:0 clamp(20px,4vw,54px) 50px}.cards{grid-template-columns:repeat(3,minmax(230px,1fr));gap:16px;display:grid}.team{color:#fff;border-radius:25px;padding:21px;box-shadow:0 15px 34px #153c5424}.team.aqua{background:linear-gradient(145deg,#22aaa8,#147e91)}.team.navy{background:linear-gradient(145deg,#1e6481,#173e60)}.team.mint{background:linear-gradient(145deg,#41bda2,#188779)}.team.blue{background:linear-gradient(145deg,#479ed0,#246898)}.team.coral{background:linear-gradient(145deg,#f88673,#d55b60)}.team.gold{background:linear-gradient(145deg,#e5b94d,#bf8131)}.team-title{align-items:center;gap:12px;display:flex}.team-title>span{font-size:30px}.team-title input{color:#fff;background:0 0;border:0;border-bottom:1px solid #fff5;width:100%;padding:6px;font-size:22px;font-weight:850}.score{text-align:center;letter-spacing:-.08em;font-size:78px;line-height:1.25;display:block}.point-buttons{grid-template-columns:1fr 1fr;gap:9px;display:grid}.point-buttons button{color:#fff;background:#ffffff2e;border:1px solid #ffffff35;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:57px;display:flex}.point-buttons button:last-child{background:#00192929}.point-buttons b{font-size:21px}.point-buttons small{font-weight:750}.add-box{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:16px;margin-bottom:16px;padding:18px;display:grid}.add-box h2,.add-box p{margin:0}.add-box p{color:var(--muted);margin-top:4px}.add-box textarea{border:1px solid var(--line);resize:vertical;border-radius:12px;min-height:75px;padding:10px}.add-box button,.add-line button{background:var(--teal);color:#fff;border:0;border-radius:12px;padding:12px 16px;font-weight:850}.student-list{grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;display:grid}.student-list article{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:11px;padding:13px;display:grid}.avatar{background:#def4f2;border-radius:14px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.student-list input,.student-list select{width:100%;color:var(--ink);background:0 0;border:0;display:block}.student-list input{font-weight:850}.student-list select{color:var(--muted);margin-top:4px;font-size:11px}.student-list article>strong{font-size:30px}.student-points{gap:4px;display:grid}.student-points button{background:var(--teal);color:#fff;border:0;border-radius:8px;width:40px;height:30px;font-weight:900}.student-points button:last-child{background:#78909d}.remove{color:#a04444;background:0 0;border:0;font-size:11px}.empty{text-align:center;background:#ffffffa1;border:2px dashed #b9d9dd;border-radius:24px;grid-column:1/-1;padding:50px}.empty span{font-size:50px}.reward-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reward-grid>article{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;box-shadow:0 8px 22px #153c5412}.reward-heading{align-items:center;gap:12px;display:flex}.reward-heading>span{font-size:31px}.reward-heading small{color:var(--teal);letter-spacing:.1em;font-weight:900}.reward-heading h2{margin:2px 0 0}.reward-grid ul{gap:8px;margin:18px 0;padding:0;list-style:none;display:grid}.reward-grid li{background:#f1f8f8;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.reward-grid li button{color:#a04444;background:0 0;border:0;font-size:11px}.add-line{gap:8px;display:flex}.add-line input{border:1px solid var(--line);border-radius:11px;flex:1;padding:11px}.recent{grid-column:1/-1}.recent li small{color:var(--muted)}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:999px;padding:12px 20px;font-weight:800;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.loading{text-align:center;place-content:center;min-height:100vh;font-weight:800;display:grid}.loading div{font-size:50px}@media (max-width:850px){header{flex-direction:column;align-items:flex-start}.cards{grid-template-columns:repeat(2,1fr)}.student-list,.add-box,.reward-grid{grid-template-columns:1fr}.recent{grid-column:auto}}@media (max-width:560px){.cards{grid-template-columns:1fr}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.summary>div{width:100%}.student-list article{grid-template-columns:auto 1fr auto auto}.remove{grid-column:2/-1;justify-self:end}}
.header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logout{color:#fff;background:#082f424f;border:1px solid #ffffff40;border-radius:12px;padding:10px 15px;font-weight:800}.sprite{background-repeat:no-repeat;border-radius:50%;flex:none;font-size:0!important;display:block!important}.sprite.table{background-color:#dff8f7;border:3px solid #fff8;width:76px;height:76px;box-shadow:0 7px 20px #00334435}.sprite.student{background-color:#dff8f7;width:58px;height:58px}.avatar-button{background:0 0;border:0;border-radius:50%;padding:0;box-shadow:0 0 0 2px #b8dedb}.avatar-button:hover{box-shadow:0 0 0 4px #0f8f9560}.login-screen{background:linear-gradient(145deg,#075771f2,#0f8f95ed);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:#fff;border-radius:28px;width:min(460px,100%);padding:38px;box-shadow:0 28px 90px #001c2c55}.login-mark{background:#e3f7f5;border-radius:22px;place-items:center;width:76px;height:76px;margin-bottom:20px;font-size:42px;display:grid}.login-card>small{color:var(--teal);letter-spacing:.1em;font-weight:900}.login-card h1{letter-spacing:-.05em;margin:4px 0;font-size:40px}.login-card>p{color:var(--muted);line-height:1.5}.login-card form{gap:15px;margin-top:25px;display:grid}.login-card label{font-size:13px;font-weight:800}.login-card input{border:1px solid var(--line);border-radius:12px;width:100%;margin-top:7px;padding:12px;display:block}.login-card form button{background:var(--teal);color:#fff;border:0;border-radius:12px;padding:13px;font-weight:900}.login-error{color:#a53d3d;font-size:13px;font-weight:750}.reason-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#092c3cb5;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.reason-dialog{background:#f8fcfc;border-radius:26px;width:min(760px,100%);max-height:calc(100vh - 44px);overflow:auto;box-shadow:0 28px 90px #001c2c66}.reason-dialog header{color:var(--ink);box-shadow:none;background:0 0;align-items:flex-start;padding:24px 25px 15px}.reason-dialog header small{color:var(--teal);letter-spacing:.1em;font-weight:900}.reason-dialog.correction header small{color:#a94f4f}.reason-dialog h2{letter-spacing:-.04em;margin:5px 0 0;font-size:27px}.reason-dialog header>button{border:1px solid var(--line);background:#fff;border-radius:12px;width:40px;height:40px;font-size:25px}.reason-grid{grid-template-columns:1fr 1fr;gap:10px;padding:10px 25px;display:grid}.reason-grid button{color:var(--ink);text-align:left;background:#eaf9f6;border:1px solid #b9dedb;border-radius:15px;align-items:center;gap:11px;padding:15px;display:flex}.correction .reason-grid button{background:#fff2f0;border-color:#e5c9c6}.reason-grid button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #153c5418}.reason-grid button span{font-size:22px}.reason-dialog>p{color:var(--muted);margin:7px 25px 24px;font-size:12px;line-height:1.5}@media (max-width:560px){.reason-grid{grid-template-columns:1fr}.reason-dialog h2{font-size:22px}}.friday-class-goal,.individual-rewards,.friday-earned{grid-column:1/-1}.friday-progress{grid-template-columns:1fr auto;align-items:center;gap:14px;margin:20px 0 8px;display:grid}.friday-progress>div{background:#dceced;border-radius:999px;height:18px;overflow:hidden}.friday-progress>div span{border-radius:inherit;background:linear-gradient(90deg,#34b8b1,#f3c654);height:100%;transition:width .25s;display:block}.friday-progress>strong{font-size:20px}.friday-status{color:var(--teal);font-weight:800}.friday-class-goal label{gap:7px;margin-top:18px;font-size:12px;font-weight:850;display:grid}.friday-class-goal select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.new-week{border:1px solid var(--line);color:var(--ink);background:#eef6f6;border-radius:11px;margin-top:14px;padding:10px 14px;font-weight:800}.individual-rewards>p{color:var(--muted)}.reward-levels{gap:9px;margin-top:16px;display:grid}.reward-levels>section{border:1px solid var(--line);background:#f8fcfc;border-radius:14px;grid-template-columns:minmax(210px,.8fr) 2fr;align-items:center;gap:12px;padding:12px;display:grid}.reward-levels>section>div:first-child{gap:2px;display:grid}.reward-levels>section>div:first-child strong{color:var(--teal)}.reward-levels>section>div:last-child{flex-wrap:wrap;gap:6px;display:flex}.reward-levels button{background:var(--teal);color:#fff;border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.reward-levels button:disabled{color:#607d8c;cursor:default;background:#dfe9e9}.reward-levels small{color:var(--muted)}@media (max-width:600px){.reward-levels>section{grid-template-columns:1fr}}.weekly-goal{color:#fff;background:linear-gradient(120deg,#083f5b,#0e7f8e);border-radius:22px;grid-template-columns:minmax(230px,.75fr) minmax(260px,1.6fr) auto;align-items:center;gap:22px;margin:16px clamp(20px,4vw,54px) 5px;padding:17px 20px;display:grid;box-shadow:0 14px 34px #153c5424}.weekly-goal.unlocked{background:linear-gradient(120deg,#0d746d,#17978b,#b28128)}.weekly-goal-copy small{color:#c7f4ef;letter-spacing:.11em;font-weight:900}.weekly-goal-copy h2{margin:3px 0 2px;font-size:22px}.weekly-goal-copy p{color:#ffffffc4;margin:0;font-size:12px}.weekly-goal-track{background:#ffffff2d;border:1px solid #ffffff35;border-radius:999px;height:17px;overflow:hidden}.weekly-goal-track>span{border-radius:inherit;background:linear-gradient(90deg,#53d7c4,#ffe07a);height:100%;transition:width .25s;display:block}.weekly-milestones{justify-content:space-between;margin-top:6px;display:flex}.weekly-milestones span{color:#ffffff9e;font-size:10px;font-weight:850}.weekly-milestones span.reached{color:#ffe07a}.weekly-goal-score{white-space:nowrap;font-size:34px}.weekly-goal-score span{color:#ffffffb8;font-size:15px}.bulk-award-bar{border:1px solid var(--line);background:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:16px;margin:0 clamp(20px,4vw,54px) 15px;padding:13px 16px;display:flex;box-shadow:0 7px 20px #153c540e}.bulk-award-bar>div{gap:2px;display:grid}.bulk-award-bar span{color:var(--muted);font-size:12px}.bulk-award-bar button{background:var(--teal);color:#fff;border:0;border-radius:12px;padding:11px 16px;font-weight:900}.bulk-award-bar button:disabled{cursor:not-allowed;background:#b8cbcf}.student-section>.bulk-award-bar{margin:0 0 15px}.goal-card.goal-met{background:linear-gradient(145deg,#fff,#fffbec);border:2px solid #e0b842}.goal-checkpoints{justify-content:space-between;margin:4px 0 14px;padding-left:2px;display:flex}.goal-checkpoints span{width:35px;height:35px;color:var(--muted);background:#e8f0f0;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.goal-checkpoints span.reached{background:var(--gold);color:#664d00;box-shadow:0 0 0 4px #f3c6542e}.point-promise{border-left:4px solid var(--teal);background:#eff9f7;border-radius:10px;margin-top:15px;padding:12px 14px}.point-promise p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.lunch-bunch-card{background:linear-gradient(135deg,#fff7dc!important,#fff!important);grid-column:1/-1;border:2px solid #e8bd48!important}.lunch-bunch-card>p{color:#6c6248;line-height:1.55}.lunch-bunch-activities{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.lunch-bunch-activities span{background:#fff;border:1px solid #ead18a;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.lunch-bunch-roster{background:#fff;border:1px solid #ead18a;border-radius:15px;padding:14px}.lunch-bunch-roster>div{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.lunch-bunch-roster button{color:#fff;background:#c89520;border:0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850}.lunch-bunch-roster button:disabled{color:#557058;background:#dfe7df}.lunch-bunch-roster p{color:var(--muted);margin:8px 0 0}.student-reward-tracker{grid-template-columns:repeat(3,minmax(190px,1fr));gap:9px;margin:17px 0;display:grid}.student-reward-tracker>section{border:1px solid var(--line);background:#f9fcfc;border-radius:13px;padding:11px}.student-reward-tracker>section>div:first-child{justify-content:space-between;gap:8px;display:flex}.student-reward-tracker>section>div:first-child span{color:var(--teal);font-size:11px;font-weight:850}.student-reward-bar{background:#e2eeee;border-radius:999px;height:7px;margin:9px 0 7px;overflow:hidden}.student-reward-bar span{background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:inherit;height:100%;display:block}.student-reward-tracker small{color:var(--muted);line-height:1.35;display:block}.reward-empty{color:var(--muted);text-align:center;grid-column:1/-1;padding:22px}.reward-levels>section.lunch-level{background:#fff8df;border-color:#e8bd48}.pbis-guide{grid-column:1/-1}.pbis-guide>div:last-child{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;display:grid}.pbis-guide p{color:var(--muted);background:#eff8f8;border-radius:12px;margin:0;padding:13px;line-height:1.45}.week-history{grid-column:1/-1}.week-history li small{color:var(--muted);text-align:right}.recent p{color:var(--muted)}@media (max-width:900px){.weekly-goal{grid-template-columns:1fr}.weekly-goal-score{justify-self:start}.student-reward-tracker{grid-template-columns:repeat(2,minmax(180px,1fr))}.pbis-guide>div:last-child{grid-template-columns:1fr}}@media (max-width:600px){.bulk-award-bar{flex-direction:column;align-items:stretch}.student-reward-tracker{grid-template-columns:1fr}.weekly-goal{margin-inline:20px}.weekly-goal-copy h2{font-size:19px}}.teacher-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.save-status{color:#d9fbf6;white-space:nowrap;font-size:11px;font-weight:800}.reset-week-top{color:#4e3a00;background:#f3c654;border:1px solid #ffe49f;border-radius:12px;padding:10px 15px;font-weight:900}.reset-week-top:hover{background:#ffdc70}@media (max-width:850px){.teacher-actions{justify-content:flex-start}.save-status{flex-basis:100%}}.jobs-grid article.table-captain{background:linear-gradient(145deg,#fffdf6,#fff9df)!important;border-color:#e3c45d!important}.jobs-grid article.table-captain .job-icon{background:#fff0b9}.jobs-grid article.table-captain .job-student{background:#fff5cf}.jobs-grid article.table-captain .job-copy small{color:#9b7412}.classroom-jobs{margin:0 clamp(20px,4vw,54px) 50px}.jobs-hero{color:#fff;background:linear-gradient(125deg,#073f5c,#0f8f95 68%,#31b9ad);border-radius:25px;justify-content:space-between;align-items:center;gap:24px;padding:25px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 38px #153c5424}.jobs-hero:after{content:"🪸";opacity:.09;font-size:100px;position:absolute;bottom:-34px;right:42%;transform:rotate(-12deg)}.jobs-hero>div:first-child{z-index:1;max-width:670px;position:relative}.jobs-hero small{color:#c9f8f1;letter-spacing:.11em;font-weight:900;display:block}.jobs-hero h2{letter-spacing:-.04em;margin:5px 0;font-size:29px}.jobs-hero p{color:#e5fffb;margin:0;line-height:1.5}.jobs-actions{z-index:1;justify-items:stretch;gap:8px;min-width:225px;display:grid;position:relative}.jobs-actions>span{color:#d8fbf6;justify-content:flex-end;align-items:baseline;gap:5px;font-weight:800;display:flex}.jobs-actions>span b{color:#fff;font-size:24px}.jobs-actions>span small{color:#c7ece9;letter-spacing:0;margin-left:7px;font-size:10px}.jobs-actions button{color:#4e3a00;background:#f3c654;border:0;border-radius:13px;padding:12px 16px;font-weight:900}.jobs-actions button:disabled{opacity:.55;cursor:not-allowed}.jobs-actions .clear-jobs{color:#fff;background:#ffffff1f;border:1px solid #ffffff43;padding:9px}.jobs-empty{background:#fff7dc;border:1px solid #ead18a;border-radius:17px;align-items:center;gap:13px;margin-top:15px;padding:15px 18px;display:flex}.jobs-empty>span{font-size:33px}.jobs-empty h3,.jobs-empty p{margin:0}.jobs-empty p{color:var(--muted);margin-top:3px}.jobs-grid{grid-template-columns:repeat(2,minmax(300px,1fr));gap:13px;margin-top:16px;display:grid}.jobs-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:auto 1fr;align-items:start;gap:11px 14px;padding:16px;transition:transform .18s,border-color .18s;display:grid;box-shadow:0 8px 23px #153c540d}.jobs-grid article.filled{background:linear-gradient(145deg,#fff,#f4fffc);border-color:#8ccfc7}.job-icon{background:#e5f7f4;border-radius:16px;place-items:center;width:52px;height:52px;font-size:27px;display:grid}.job-copy small{color:var(--teal);letter-spacing:.09em;font-weight:900}.job-copy h3{margin:2px 0;font-size:19px}.job-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.job-student{background:#eef9f7;border-radius:14px;grid-column:1/-1;align-items:center;gap:11px;min-height:69px;padding:10px 12px;display:flex}.job-student .sprite.student{border:2px solid #fff;width:49px;height:49px}.job-vacancy{color:#7aa8a5;border:2px dashed #9bc8c4;border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;font-weight:900;display:grid}.job-student strong{font-size:17px}.jobs-grid label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;grid-column:1/-1;gap:5px;font-size:10px;font-weight:850;display:grid}.jobs-grid select{border:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border-radius:11px;padding:10px;font-size:13px}.jobs-grid select:disabled{color:#8ba0a7;background:#eef3f3}@media (max-width:850px){.jobs-hero{flex-direction:column;align-items:stretch}.jobs-actions{min-width:0}.jobs-actions>span{justify-content:flex-start}.jobs-grid{grid-template-columns:1fr}}@media (max-width:560px){.classroom-jobs{margin-inline:20px}.jobs-hero{padding:20px}.jobs-hero h2{font-size:24px}.jobs-actions>span{flex-wrap:wrap;align-items:flex-start}.jobs-actions>span small{flex-basis:100%;margin-left:0}}
.goal-celebration{z-index:1000;pointer-events:none;background:radial-gradient(circle,#d0fff661,#0c4c691f 42%,#0000 72%);place-items:center;animation:5.2s both celebration-fade;display:grid;position:fixed;inset:0;overflow:hidden}.confetti-field,.confetti-field span{position:absolute;inset:0}.confetti-field span{inset:auto auto auto var(--x);filter:drop-shadow(0 4px 2px #0433492e);width:max-content;height:max-content;animation:reef-confetti var(--fall)cubic-bezier(.15,.65,.3,1)var(--delay)both;font-size:clamp(1.2rem,2.6vw,2.2rem);top:-4rem}.goal-celebration-card{z-index:2;text-align:center;color:#fff;background:linear-gradient(145deg,#075c7a,#0d91a0 58%,#49c7aa);border:8px solid #ffffffe0;border-radius:38px;min-width:min(82vw,520px);padding:2.2rem 2.6rem;animation:5.2s cubic-bezier(.18,.85,.22,1) both goal-card-pop;position:relative;box-shadow:0 28px 75px #00273f6b,inset 0 0 42px #ffffff29}.goal-celebration-card>span{margin-bottom:.15rem;font-size:clamp(3.6rem,8vw,6.2rem);animation:.65s .22s both goal-trophy-bounce;display:block}.goal-celebration-card small{color:#ffe88b;letter-spacing:.2em;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:1000;display:block}.goal-celebration-card h2{color:#fff;text-shadow:0 5px #00374e47;margin:.35rem 0 .4rem;font-size:clamp(2.3rem,6.2vw,4.6rem);line-height:.98}.goal-celebration-card p{color:#dffff9;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(1rem,2.5vw,1.45rem);font-weight:900}@keyframes reef-confetti{0%{opacity:0;transform:translateY(-8vh)rotate(0)scale(.55)}9%{opacity:1}to{transform:translate3d(var(--drift),112vh,0)rotate(var(--spin))scale(1.06);opacity:.95}}@keyframes goal-card-pop{0%{opacity:0;transform:scale(.35)rotate(-5deg)}10%{opacity:1;transform:scale(1.08)rotate(1deg)}16%,84%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.92)}}@keyframes goal-trophy-bounce{0%{opacity:0;transform:translateY(-35px)rotate(-12deg)scale(.5)}65%{opacity:1;transform:translateY(7px)rotate(6deg)scale(1.14)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes celebration-fade{0%,88%{opacity:1}to{opacity:0}}.class-reward-ladder{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px;display:grid}.class-reward-ladder section{background:#f4f9f9;border:1px solid #c9dddd;border-radius:15px;gap:3px;padding:14px;display:grid}.class-reward-ladder section>strong{color:#0f7f87;font-size:24px}.class-reward-ladder section>span{color:#193d52;font-weight:900}.class-reward-ladder section>small{color:#6d8490;font-weight:800}.class-reward-ladder section.reached{background:linear-gradient(145deg,#fff9df,#effbf7);border-color:#e1b841;box-shadow:inset 0 0 0 2px #e1b8412e}.class-reward-ladder section.reached>small{color:#0c806f}@media (max-width:640px){.class-reward-ladder{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.confetti-field span{animation-duration:4s}.goal-celebration-card,.goal-celebration-card>span{animation-timing-function:ease}}
