/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}}:root{--ink:#20332f;--muted:#6f7f79;--cream:#f7f4e9;--panel:#fffdf8;--line:#dfe8df;--green:#248c72;--green-dark:#176852}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 4%,#fff7c9 0,transparent 23%),radial-gradient(circle at 92% 14%,#d8f6e5 0,transparent 27%),var(--cream);color:var(--ink);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,a{font:inherit}button{color:inherit}.app-shell{width:min(1480px,100%);margin:auto;padding:0 36px 42px}.topbar{border-bottom:1px solid #426a5921;align-items:center;gap:14px;height:84px;display:flex}.brand{color:inherit;align-items:center;gap:11px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#48b98d,#207b63);border-radius:15px 15px 20px;place-items:center;width:44px;height:44px;font-size:21px;font-weight:900;display:grid;transform:rotate(-4deg);box-shadow:0 8px 20px #29856a3d}.brand strong,.brand small,.student-chip small,.student-chip strong{display:block}.brand strong{letter-spacing:.06em;font-size:20px}.brand small{color:var(--muted);letter-spacing:.14em;margin-top:2px;font-size:11px}.student-chip{background:#fffdf8b8;border:1px solid #e4e7d8;border-radius:15px;align-items:center;gap:9px;padding:8px 13px;display:flex}.student-chip>span:first-child{font-size:21px}.student-chip small{color:var(--muted);font-size:10px}.student-chip strong{margin-top:2px;font-size:13px}.avatar-button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:15px;align-items:center;gap:8px;padding:12px 14px;font-weight:700;display:flex}.avatar-button small{color:#b9d0c8;font-size:9px;font-weight:500}.companion-link{color:#176852;background:#f5fcf8;border:1px solid #cfe3d8;border-radius:13px;padding:10px 12px;font-size:11px;font-weight:800;text-decoration:none}.music-button{color:#718079;cursor:pointer;background:#fffdf8;border:1px solid #dce6df;border-radius:14px;align-items:center;gap:7px;padding:11px 12px;font-size:11px;font-weight:800;display:flex}.music-button.active{color:#176852;background:#e9f9f1;border-color:#6ac5a0}.equalizer{align-items:flex-end;gap:2px;height:16px;display:flex}.equalizer i{background:currentColor;border-radius:3px;width:3px;height:5px}.music-button.active .equalizer i{animation:.65s ease-in-out infinite alternate eq}.music-button.active .equalizer i:nth-child(2){animation-delay:.18s}.music-button.active .equalizer i:nth-child(3){animation-delay:.36s}.voice-button>span{font-size:15px}.hero-grid{grid-template-columns:minmax(0,1.68fr) minmax(310px,.72fr);gap:22px;padding-top:24px;display:grid}.panel{border:1px solid var(--line);background:#fffdf8f0;border-radius:28px;box-shadow:0 18px 50px #2d4d4114}.pet-card{padding:24px 28px 27px;overflow:hidden}.card-heading,.section-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.card-heading h1,.card-heading h2,.section-title h2{margin:4px 0 0;line-height:1.1}.card-heading h1{font-size:27px}.card-heading h2,.section-title h2{font-size:20px}.eyebrow{color:#789087;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.stage-tag,.teacher-lock{color:var(--green-dark);background:#e8f7ef;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.pet-stage{background:linear-gradient(#e3f8f4 0 58%,#cce9bd 58% 60%,#eff1c2 60%);border-radius:24px;height:330px;margin-top:10px;position:relative;overflow:hidden}.pet-stage:before{content:"";background:#d6e6a9;border-radius:50%;height:105px;position:absolute;bottom:-25px;left:-5%;right:-5%;box-shadow:inset 0 8px 18px #afca8130}.pet-stage:after{content:"";background:#fff7b6;border-radius:50%;width:115px;height:115px;position:absolute;top:34px;left:45px;box-shadow:0 0 52px #fff8ae}.music-notes span{z-index:4;color:#328d72;opacity:0;font-size:25px;font-weight:900;animation:2.8s linear infinite music-float;position:absolute}.music-notes span:first-child{bottom:28%;left:21%}.music-notes span:nth-child(2){animation-delay:.8s;bottom:34%;right:19%}.music-notes span:nth-child(3){animation-delay:1.55s;bottom:17%;right:33%}.music-on .pet-stage{box-shadow:inset 0 0 42px #82d9b652}.sky-dot{z-index:1;background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;box-shadow:0 0 0 7px #ffffff38}.dot-one{top:22%;right:18%}.dot-two{top:43%;right:10%;transform:scale(.6)}.pet-sprite{display:block;position:relative;overflow:hidden}.pet-sprite>img{left:var(--source-left);top:var(--source-top);width:var(--source-width);pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;height:auto;position:absolute}.pet-sprite-file>img{object-fit:contain;width:100%;height:100%;position:static}.hero-pet{z-index:3;width:auto;height:315px;transform:translateX(-50%) scale(var(--pet-scale,.72));transform-origin:50% 100%;filter:saturate(var(--pet-sat,.8)) drop-shadow(0 17px 8px #496c5636);animation:3.4s ease-in-out infinite pet-breathe;position:absolute;bottom:13px;left:50%}.skin-hero{z-index:3;width:310px;height:320px;transform:translateX(-50%) scale(var(--pet-scale,.72));transform-origin:50% 100%;outline-offset:4px;filter:saturate(var(--pet-sat,.8)) drop-shadow(0 17px 8px #496c5636);cursor:pointer;background:0 0;border:0;padding:0;animation:3.4s ease-in-out infinite pet-breathe;position:absolute;bottom:7px;left:50%}.skin-hero img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;animation:.28s ease-out both skin-pop;display:block}.skin-hero:hover img{filter:brightness(1.035)}.skin-hero.growth-hero{--pet-scale:1;--pet-sat:1}.growth-hero.pose-wave{animation:1.05s ease-in-out infinite growth-wave}.growth-hero.pose-eat{animation:1.25s ease-in-out infinite growth-eat}.growth-hero.pose-celebrate{animation:1.35s ease-in-out infinite growth-celebrate}.growth-hero.pose-sleep{animation:3.8s ease-in-out infinite growth-sleep}@keyframes growth-wave{0%,to{transform:translateX(-50%) scale(var(--pet-scale)) rotate(0)}25%{transform:translateX(-50%) scale(var(--pet-scale)) rotate(-4deg)}65%{transform:translateX(-50%) scale(calc(var(--pet-scale) * 1.035)) rotate(4deg)}}@keyframes growth-eat{0%,to{transform:translateX(-50%) scale(var(--pet-scale)) translateY(0)}38%{transform:translateX(-50%) scale(calc(var(--pet-scale) * .96),calc(var(--pet-scale) * 1.04)) translateY(7px)}68%{transform:translateX(-50%) scale(calc(var(--pet-scale) * 1.025),calc(var(--pet-scale) * .98)) translateY(-4px)}}@keyframes growth-celebrate{0%,to{transform:translateX(-50%) scale(var(--pet-scale)) translateY(0) rotate(0)}35%{transform:translateX(-50%) scale(calc(var(--pet-scale) * 1.06)) translateY(-13px) rotate(-4deg)}70%{transform:translateX(-50%) scale(calc(var(--pet-scale) * 1.045)) translateY(-7px) rotate(4deg)}}@keyframes growth-sleep{0%,to{transform:translateX(-50%) scale(var(--pet-scale)) translateY(3px) rotate(-1deg)}50%{transform:translateX(-50%) scale(calc(var(--pet-scale) * .985),calc(var(--pet-scale) * 1.015)) translateY(6px) rotate(1deg)}}.stage-0{--pet-scale:.58;--pet-sat:.65}.stage-1{--pet-scale:.72;--pet-sat:.82}.stage-2{--pet-scale:.84;--pet-sat:.95}.stage-3{--pet-scale:.94;--pet-sat:1.05}.stage-4{--pet-scale:1;--pet-sat:1.18}.live-companion-stage{z-index:7;cursor:pointer;transform-origin:50% 100%;background:linear-gradient(145deg,#ffffffc9,#e8fff1a8);border:1px solid #ffffffb5;border-radius:26px;place-items:center;width:132px;height:142px;padding:5px;animation:3.2s ease-in-out infinite live-idle;display:grid;position:absolute;bottom:15px;right:14px;box-shadow:0 14px 30px #275e4930}.live-companion-stage:hover{border-color:#65b996}.live-companion-stage .live-companion-art{object-fit:contain;filter:drop-shadow(0 8px 5px #385e4a32);width:auto;height:108px}.live-companion-stage>span{color:#176852;white-space:nowrap;background:#ffffffdf;border-radius:999px;min-width:88px;padding:4px 8px;font-size:9px;font-style:normal;font-weight:900;position:absolute;bottom:5px;left:50%;translate:-50%}.live-companion-stage.mood-wave{animation:.8s ease-in-out live-wave}.live-companion-stage.mood-eat{animation:.75s ease-in-out live-eat}.live-companion-stage.mood-celebrate{animation:1s ease-in-out live-celebrate}.live-voice-wave{background:#258b70;border-radius:8px;align-items:flex-end;gap:2px;width:18px;height:19px;padding:4px;display:flex;position:absolute;top:8px;right:7px}.live-voice-wave b{background:#fff;border-radius:2px;width:2px;height:4px;animation:.55s ease-in-out infinite alternate eq}.live-voice-wave b:nth-child(2){animation-delay:.15s}.live-voice-wave b:nth-child(3){animation-delay:.3s}.pet-shadow{z-index:2;filter:blur(3px);background:#557c5d3a;border-radius:50%;width:210px;height:25px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.stage-accessory{z-index:4;filter:drop-shadow(0 7px 5px #4d675e25);font-size:36px;animation:2.4s ease-in-out infinite float;position:absolute;top:24px;right:27%;transform:rotate(11deg)}.placed-decoration{z-index:7;width:54px;height:54px;transform:translate(-50%,-50%) scale(var(--prop-scale,1));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff8dbde;border:2px solid #ffffffdf;border-radius:18px;place-items:center;padding:0;font-size:31px;transition:box-shadow .15s,border-color .15s;display:grid;position:absolute;box-shadow:0 9px 18px #365b4d3d}.placed-decoration:hover{box-shadow:0 12px 23px #365b4d50}.placed-decoration.selected{z-index:8;border-color:#f4c95e;box-shadow:0 0 0 4px #f4c95e55,0 12px 23px #365b4d50}.placed-decoration:active{cursor:grabbing}.celebration{z-index:5;text-align:center;word-spacing:26px;font-size:31px;animation:1.1s ease-out both celebrate;position:absolute;inset:24px 0 auto}.speech-bubble{z-index:5;background:#fff;border:1px solid #dfe7db;border-radius:18px;align-items:center;gap:10px;width:fit-content;max-width:90%;margin:-18px auto 15px;padding:11px 17px;display:flex;position:relative;box-shadow:0 9px 22px #38554418}.speech-bubble p{color:#4f625c;margin:0;font-size:13px;font-weight:650}.growth-story{z-index:5;background:linear-gradient(135deg,#f1fbf5,#fff8dc);border:1px solid #d5e9dc;border-radius:19px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 4px 14px;padding:12px 14px;display:grid;position:relative;box-shadow:0 8px 18px #41634f14}.growth-story-step{color:#fff;background:linear-gradient(145deg,#46b488,#23775f);border-radius:15px;place-items:center;width:46px;height:46px;font-size:20px;font-weight:900;display:grid}.growth-story-step small{font-size:9px}.growth-story>div>small,.growth-story>div>strong{display:block}.growth-story>div>small{color:#6f8179;letter-spacing:.12em;font-size:9px;font-weight:800}.growth-story>div>strong{margin-top:3px;font-size:14px}.growth-story p{color:#60736a;margin:4px 0 0;font-size:10px;line-height:1.5}.growth-story button{color:#176852;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #75b99b;border-radius:12px;padding:9px 11px;font-size:10px;font-weight:900}.growth-story button:disabled{color:#8a9690;cursor:not-allowed;background:#f3f4f1;border-color:#dfe5df}.prop-toolbar{background:linear-gradient(135deg,#f8fff9,#fff8df);border:1px solid #dbe8df;border-radius:19px;margin:0 4px 12px;padding:13px 14px 11px}.prop-toolbar>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.prop-toolbar strong{font-size:13px}.prop-toolbar>div:first-child small{color:#72847b;font-size:10px}.prop-toolbar-items{scrollbar-width:thin;gap:8px;margin-top:10px;padding:2px 1px 6px;display:flex;overflow-x:auto}.prop-toolbar-items button,.prop-toolbar-items .prop-locked{background:#fff;border:1px solid #e1e8df;border-radius:14px;flex:0 0 68px;place-items:center;gap:3px;min-height:65px;padding:6px 4px;display:grid}.prop-toolbar-items button{cursor:grab;touch-action:none}.prop-toolbar-items button:active{cursor:grabbing}.prop-toolbar-items button.in-use{background:#e8f8f0;border-color:#65b995;box-shadow:inset 0 0 0 2px #65b99525}.prop-toolbar-items button span{font-size:27px}.prop-toolbar-items small{color:#65766f;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:8px;overflow:hidden}.prop-toolbar-items .prop-locked{color:#a1aaa5;background:#f1f2ee}.prop-toolbar-items .prop-locked b{font-size:18px}.prop-size-controls{background:#fff8d9;border:1px solid #eedb94;border-radius:14px;grid-template-columns:minmax(120px,1fr) auto auto auto auto;align-items:center;gap:7px;margin-top:8px;padding:8px 9px;display:grid}.prop-size-controls span{align-items:center;gap:8px;min-width:0;display:flex}.prop-size-controls span b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.prop-size-controls span small{color:#8a7029;flex:none;font-size:10px;font-weight:800}.prop-size-controls button{color:#66521b;cursor:pointer;background:#fffdf3;border:1px solid #dfc46a;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:800}.prop-size-controls button:hover:not(:disabled){background:#fff;border-color:#bd9420}.prop-size-controls button:disabled{opacity:.4;cursor:not-allowed}.prop-size-controls .return-prop{color:#8f4b3f;background:#fff4f0;border-color:#e3c9c3}.growth-block{padding:15px 17px 2px}.growth-copy{justify-content:space-between;margin-bottom:9px;font-size:13px;display:flex}.growth-copy span{color:var(--muted)}.progress-track,.metric-track{background:#e7ede7;border-radius:99px;overflow:hidden}.progress-track{height:12px}.progress-track>span{border-radius:inherit;background:linear-gradient(90deg,#63c99e,#f2c75c);height:100%;transition:width .35s;display:block;box-shadow:0 0 12px #6dd0a6a3}.stage-road{justify-content:space-between;margin-top:11px;display:flex}.stage-road span{color:#9ba7a1;justify-items:center;gap:4px;font-size:10px;display:grid}.stage-road i{background:#fff;border:2px solid #dce4dc;border-radius:50%;place-items:center;width:20px;height:20px;font-style:normal;font-weight:800;display:grid}.stage-road .reached{color:var(--green-dark);font-weight:800}.stage-road .reached i{color:#fff;background:#59bc91;border-color:#59bc91}.side-stack{gap:22px;display:grid}.side-stack .panel{padding:23px}.compact{align-items:center}.food-orb{background:#fff0af;border-radius:17px;place-items:center;width:49px;height:49px;font-size:24px;display:grid}.feed-note{color:var(--muted);font-size:13px;line-height:1.6}.feed-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2eaa83,#19745c);border:0;border-radius:20px;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:10px;width:100%;min-height:76px;font-size:18px;font-weight:900;transition:all .2s;display:grid;box-shadow:0 13px 22px #247e6330}.feed-button span{grid-row:1/3;font-size:30px}.feed-button small{color:#d9fff0;font-size:10px;font-weight:600}.feed-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 26px #247e6342}.feed-button:disabled{cursor:not-allowed;opacity:.45}.collection-count{color:#166b53;background:#ddf5e9;border-radius:17px;place-items:center;min-width:52px;height:52px;font-weight:900;display:grid}.owned-pet-dots{grid-template-columns:repeat(9,1fr);gap:5px;margin:19px 0 12px;display:grid}.owned-pet-dots span{aspect-ratio:1;color:#aab4af;background:#f0f1ed;border-radius:10px;place-items:center;font-size:18px;display:grid}.owned-pet-dots span.owned{color:#176852;background:#dff5e9}.live-companion-panel{padding:21px}.live-badge{color:#fff;letter-spacing:.12em;background:#ef6b62;border-radius:999px;place-items:center;min-width:52px;height:28px;font-size:9px;font-weight:900;display:grid;box-shadow:0 7px 14px #d84e4630}.live-companion-picker{gap:8px;margin:16px 0 12px;display:grid}.live-companion-picker>button{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e4e8e0;border-radius:17px;grid-template-columns:58px 1fr;align-items:center;gap:10px;width:100%;min-height:68px;padding:6px 10px 6px 6px;display:grid;overflow:hidden}.live-companion-picker>button:hover,.live-companion-picker>button.active{background:#ecf9f2;border-color:#60b590;transform:translate(2px)}.live-companion-picker .live-companion-art{object-fit:contain;filter:drop-shadow(0 5px 3px #425e5029);justify-self:center;width:auto;height:54px}.live-companion-picker strong,.live-companion-picker small,.live-companion-picker i{display:block}.live-companion-picker strong{font-size:12px}.live-companion-picker small{color:#6e7f77;margin-top:2px;font-size:9px}.live-companion-picker i{color:#9a7650;margin-top:3px;font-size:8px;font-style:normal}.award-list{gap:8px;margin-top:16px;display:grid}.award-list button{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e8eae1;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;transition:all .2s;display:grid}.award-list button:hover{border-color:#9dccb9;transform:translate(2px)}.award-list button span:nth-child(2) strong,.award-list button span:nth-child(2) small{display:block}.award-list button small{color:var(--muted);margin-top:2px;font-size:10px}.award-list button b{color:var(--green)}.award-icon{border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.coral{background:#ffe1d6}.violet{background:#e9e2ff}.green{background:#d9f3e8}.reset-button{color:#829089;cursor:pointer;background:0 0;border:0;width:100%;margin-top:12px;padding:8px;font-size:11px}.teacher-lock{color:#777b77;background:#f0efe9}.lower-grid{grid-template-columns:1.45fr 1fr;gap:22px;margin-top:22px;display:grid}.lower-grid>.panel,.roster-panel{padding:23px 25px}.section-title{align-items:center}.section-title>span{color:#7f9089;font-size:11px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.metric-grid article{background:#fffefa;border:1px solid #e9ece4;border-radius:17px;padding:14px}.metric-top{justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.metric-top strong{font-size:21px}.metric-track{height:7px;margin:10px 0 7px}.metric-track>span{border-radius:inherit;height:100%;transition:width .3s;display:block}.metric-grid small{color:#84918c;font-size:10px}.fruit-row{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px;display:grid}.fruit{color:#a7aea9;filter:grayscale();background:#f2f2ed;border:1px dashed #d9dfd8;border-radius:14px;justify-items:center;gap:5px;padding:9px 4px;display:grid}.fruit.unlocked{color:#796138;filter:none;background:#fff8dc;border-style:solid;border-color:#f2d795}.fruit span{font-size:25px}.fruit small{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:9px;overflow:hidden}.prize-note{color:#7d8b85;margin:12px 0 0;font-size:10px;line-height:1.55}.free-choice-note{color:#6f5b2e;background:#fff9e8;border:1px solid #e7d9af;border-radius:15px;margin:15px 0 0;padding:11px 14px;font-size:11px;line-height:1.55}.free-choice-note.available{color:#765211;background:linear-gradient(135deg,#fff8d9,#fff1e5);border-color:#e6b84c}.roster-panel{margin-top:22px}.pet-series-filters{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.pet-series-filters button{color:#63766e;cursor:pointer;background:#fffefa;border:1px solid #dfe7df;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;font-weight:850;transition:all .18s;display:flex}.pet-series-filters button:hover,.pet-series-filters button.active{color:#176852;background:#e9f8f0;border-color:#58ad89;transform:translateY(-1px)}.pet-series-filters button b{color:#708078;background:#eef1ec;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:8px;display:grid}.pet-series-filters button.active b{color:#fff;background:#3b9c78}.pet-roster{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:18px;display:grid}.pet-choice{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e5e9e1;border-radius:19px;grid-template-columns:73px 1fr;align-items:center;min-height:88px;padding:8px 12px 8px 7px;transition:all .2s;display:grid;position:relative;overflow:hidden}.pet-choice:hover{border-color:#8dc7af;transform:translateY(-2px)}.pet-choice.active{background:#edf9f3;border-color:#4ca781;box-shadow:0 8px 17px #2c8a6921}.pet-choice.locked .pet-sprite{filter:grayscale(.75)opacity(.62)}.pet-choice.locked{background:#f7f6f0}.pet-choice .pet-sprite{filter:drop-shadow(0 6px 4px #42625322);justify-self:center;width:auto;height:68px}.choice-copy strong,.choice-copy small{display:block}.choice-copy strong{font-size:14px}.choice-copy small{color:#778780;margin-top:4px;font-size:10px;line-height:1.35}.choice-number{color:#9da9a3;font-size:10px;font-weight:900;position:absolute;top:7px;right:9px}.pet-choice.active .choice-number{color:#4ca781}.growth-atlas-panel{margin-top:22px;padding:25px;overflow:hidden}.atlas-note{color:var(--muted);margin:11px 0 0;font-size:12px;line-height:1.65}.atlas-pet-tabs{grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.atlas-pet-tab{min-width:0;color:var(--ink);cursor:pointer;background:#fffefa;border:1px solid #e1e7df;border-radius:17px;justify-items:center;gap:2px;padding:8px 4px 9px;transition:all .2s;display:grid}.atlas-pet-tab:hover,.atlas-pet-tab.active{background:#edf9f3;border-color:#58ad89;transform:translateY(-2px)}.atlas-pet-tab .pet-sprite{filter:drop-shadow(0 5px 4px #36584625);width:auto;height:64px}.atlas-pet-tab strong{font-size:12px}.atlas-pet-tab small{color:#7c8a84;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;overflow:hidden}.atlas-feature{background:radial-gradient(circle at 18% 28%,#fff 0 15%,#0000 42%),linear-gradient(135deg,#e9f8f0,#fff7d9);border:1px solid #dbe9df;border-radius:25px;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:center;gap:28px;margin-top:17px;padding:22px;display:grid}.atlas-feature-art{background:linear-gradient(160deg,#ffffffb8,#eaf6ee8f);border-radius:21px;place-items:center;min-height:325px;display:grid}.atlas-feature-art img{object-fit:contain;filter:drop-shadow(0 14px 10px #315f4930);width:auto;height:310px}.atlas-feature-copy{justify-items:start;gap:8px;display:grid}.atlas-feature-copy .eyebrow{margin:4px 0 0}.atlas-feature-copy h3{margin:0;font-size:clamp(24px,3vw,36px)}.atlas-feature-copy>strong{font-size:15px}.atlas-feature-copy>p:not(.eyebrow){color:#53675f;max-width:620px;margin:0;font-size:13px;line-height:1.75}.atlas-feature-copy>small{color:#75867e;font-size:10px;line-height:1.6}.atlas-feature-copy>button{color:#fff;cursor:pointer;background:#248c72;border:0;border-radius:13px;margin-top:5px;padding:11px 14px;font-size:11px;font-weight:900}.atlas-status{border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900}.atlas-status.reached{color:#176852;background:#d8f4e6}.atlas-status.future{color:#8a671b;background:#fff0bc}.atlas-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:13px;display:grid}.atlas-stage-card{min-width:0;color:var(--ink);cursor:pointer;background:#fffefa;border:1px solid #e1e6df;border-radius:18px;justify-items:center;gap:4px;padding:9px 8px 11px;transition:all .2s;display:grid}.atlas-stage-card:hover,.atlas-stage-card.selected{background:#edf9f3;border-color:#4ca781;transform:translateY(-2px);box-shadow:0 8px 17px #2c8a6921}.atlas-stage-card.future:not(.selected){background:#f5f4ef}.atlas-stage-card img{object-fit:contain;filter:drop-shadow(0 7px 5px #385e4a25);width:100%;height:145px}.atlas-stage-card.future:not(.selected) img{filter:grayscale(.45)opacity(.76)}.atlas-stage-card>span{align-items:center;gap:6px;display:flex}.atlas-stage-card>span b{color:#fff;background:#4ca781;border-radius:7px;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.atlas-stage-card>span strong{font-size:12px}.atlas-stage-card>small{color:#73827b;font-size:9px}.skin-panel{margin-top:22px;padding:23px 25px}.skin-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.skin-choice{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e3e8e1;border-radius:20px;grid-template-columns:96px 1fr;align-items:center;gap:10px;min-height:118px;padding:9px 12px 9px 8px;transition:all .2s;display:grid;overflow:hidden}.skin-choice:hover{border-color:#7cbea3;transform:translateY(-2px)}.skin-choice.equipped{background:#edf9f3;border-color:#4ca781;box-shadow:0 8px 18px #2c8a6921}.skin-choice.locked{background:#f6f5f0}.skin-preview{background:radial-gradient(circle at 50% 35%,#fff 0 28%,#e8f4eb 70%);border-radius:17px;place-items:center;width:96px;height:100px;display:grid;overflow:hidden}.skin-preview img{object-fit:contain;filter:drop-shadow(0 7px 5px #385e4a30);width:94px;height:98px}.skin-choice.locked .skin-preview img{filter:grayscale(.58)opacity(.68)}.skin-sky{background:radial-gradient(circle at 50% 35%,#fff 0 28%,#dff3ff 72%)}.skin-sakura{background:radial-gradient(circle at 50% 35%,#fff 0 28%,#ffe6f2 72%)}.skin-star{background:radial-gradient(circle at 50% 35%,#fff 0 28%,#f3e8ff 72%)}.skin-copy strong,.skin-copy small,.skin-copy b{display:block}.skin-copy strong{font-size:14px}.skin-copy small{color:#778780;margin-top:5px;font-size:10px;line-height:1.35}.skin-copy b{color:#247b61;margin-top:9px;font-size:9px}.skin-choice.locked .skin-copy b{color:#9a7625}.pose-lab{background:#f7fcf8;border:1px dashed #cbded3;border-radius:17px;align-items:center;gap:8px;margin-top:14px;padding:12px 13px;display:flex}.pose-lab>span{gap:3px;margin-right:auto;display:grid}.pose-lab>span strong{font-size:12px}.pose-lab>span small{color:#7b8a84;font-size:9px}.pose-lab>button{cursor:pointer;background:#fff;border:1px solid #dce7df;border-radius:12px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;font-weight:800;display:flex}.pose-lab>button:hover,.pose-lab>button.active{color:#176852;background:#e9f8f0;border-color:#55ae88}.pose-lab>button>span{font-size:15px}.decoration-panel{margin-top:22px;padding:23px 25px}.decoration-note{color:var(--muted);margin:11px 0 0;font-size:12px}.decoration-grid{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:18px;display:grid}.decoration-choice{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e3e8e1;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:76px;padding:11px 14px;transition:all .2s;display:grid}.decoration-choice:hover{border-color:#8dc7af;transform:translateY(-2px)}.decoration-choice.equipped{background:#fff7d9;border-color:#d6aa3f;box-shadow:0 7px 16px #caa13a20}.decoration-choice.locked{background:#f5f4ef}.decoration-emoji{background:#f3ead7;border-radius:15px;place-items:center;width:47px;height:47px;font-size:27px;display:grid}.decoration-choice.locked .decoration-emoji{filter:grayscale(.65);opacity:.7}.decoration-choice strong,.decoration-choice small{display:block}.decoration-choice strong{font-size:13px}.decoration-choice small{color:#7c8b85;margin-top:5px;font-size:10px}.goal-report-grid{grid-template-columns:1.25fr .75fr;gap:22px;margin-top:22px;display:grid}.weekly-goal-panel,.weekly-report-panel{padding:23px 25px}.weekly-goal-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}.weekly-goal-options{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;display:grid}.weekly-goal-options button{text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e3e8e1;border-radius:18px;justify-items:start;gap:5px;min-height:142px;padding:14px;display:grid}.weekly-goal-options button:hover:not(:disabled),.weekly-goal-options button.selected{background:#edf9f3;border-color:#58ad89;transform:translateY(-2px)}.weekly-goal-options button:disabled{opacity:.55;cursor:not-allowed}.weekly-goal-options span{font-size:26px}.weekly-goal-options strong{font-size:13px}.weekly-goal-options small{color:#73837c;font-size:10px;line-height:1.45}.weekly-goal-options b{color:#238063;margin-top:auto;font-size:9px}.goal-submit-row{background:#f3f7f2;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding:12px 14px;display:flex}.goal-submit-row span{color:#63746d;font-size:10px}.goal-submit-row button{color:#fff;cursor:pointer;background:#248c72;border:0;border-radius:11px;flex:none;padding:10px 13px;font-size:11px;font-weight:900}.goal-submit-row button:disabled{opacity:.5}.goal-status-card{border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:15px;min-height:155px;margin-top:16px;padding:22px;display:grid}.goal-status-card>span{font-size:42px}.goal-status-card strong{font-size:18px}.goal-status-card p{color:#5f7069;margin:7px 0;font-size:12px}.goal-status-card small{font-size:10px}.goal-status-card.pending{background:#fff6d8}.goal-status-card.pending small{color:#8b6d13}.goal-status-card.approved{background:#e7f8ef}.goal-status-card.approved small{color:#23775e}.weekly-points{background:linear-gradient(135deg,#e8f8f0,#fff7d9);border-radius:19px;grid-template-columns:1fr auto auto;align-items:baseline;gap:6px;margin-top:17px;padding:16px;display:grid}.weekly-points>span{color:#667971;font-size:11px}.weekly-points strong{color:#17725a;font-size:30px}.weekly-points small{color:#667971;font-size:9px}.weekly-points b{grid-column:1/4;font-size:10px}.weekly-points b.up{color:#23775e}.weekly-points b.down{color:#9b6b2f}.weekly-stat-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px;display:grid}.weekly-stat-grid article{background:#fffefa;border:1px solid #e6eae3;border-radius:13px;justify-items:center;gap:3px;padding:9px 4px;display:grid}.weekly-stat-grid span{font-size:18px}.weekly-stat-grid strong{font-size:17px}.weekly-stat-grid small{color:#778780;font-size:8px}.weekly-report-foot{color:#84918c;margin:10px 0 0;font-size:9px;line-height:1.5}.reward-policy-panel{margin-top:22px;padding:23px 25px}.reward-policy-grid{grid-template-columns:repeat(5,1fr);gap:11px;margin-top:18px;display:grid}.reward-rule{background:#fffefa;border:1px solid #e4e8e0;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:91px;padding:13px;display:grid}.reward-rule>span{background:#f4eee1;border-radius:14px;place-items:center;width:43px;height:43px;font-size:24px;display:grid}.reward-rule strong,.reward-rule small,.reward-rule b{display:block}.reward-rule strong{font-size:12px}.reward-rule small{color:#7d8b85;margin-top:4px;font-size:9px;line-height:1.35}.reward-rule b{color:#73827b;border-top:1px dashed #e1e5de;grid-column:1/3;padding-top:8px;font-size:10px}.reward-rule.ready{background:#fff7d8;border-color:#d4ac48;box-shadow:0 8px 18px #b68d2822}.reward-rule.ready b{color:#9a6c00}.reward-rule.welcomed{background:#edfaf3;border-color:#78c7a5}.reward-rule.welcomed b{color:#1c7b60}.reward-rule.turtle>span{background:#e1f6e8}footer{color:#7a8a83;justify-content:space-between;padding:23px 5px 0;font-size:11px;display:flex}.login-shell{background:#f7f4e9;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:100vh;display:grid}.login-visual{color:#f7fff9;background:radial-gradient(circle at 20% 15%,#77d4aa,#0000 26%),linear-gradient(145deg,#1d765f,#174b45 75%);min-height:100vh;padding:clamp(45px,7vw,100px);position:relative;overflow:hidden}.login-visual:after{content:"";opacity:.18;background:#f4d983;border-radius:50% 50% 0 0;height:46%;position:absolute;bottom:-22%;left:-15%;right:-15%}.login-kicker{color:#d7ffea;letter-spacing:.2em;margin:0 0 17px;font-size:12px;font-weight:800}.login-visual h1{z-index:2;letter-spacing:-.06em;margin:0;font-size:clamp(52px,7vw,100px);line-height:.94;position:relative}.login-visual h1 span{color:#ffe48c}.login-visual>p:not(.login-kicker){z-index:2;color:#d8eee5;max-width:500px;margin:24px 0 0;line-height:1.8;position:relative}.login-visual img{z-index:1;filter:drop-shadow(0 28px 18px #0c362f55);width:min(670px,72%);position:absolute;bottom:-5%;right:-4%}.login-orbit{border:1px solid #b7f1d554;border-radius:50%;position:absolute}.orbit-one{width:430px;height:430px;top:-80px;right:-90px}.orbit-two{width:260px;height:260px;bottom:8%;left:-110px}.login-card{background:#fffdf8;flex-direction:column;justify-content:center;padding:clamp(38px,7vw,100px);display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:18px}.login-brand small{color:#8a9992;letter-spacing:.16em;margin-top:4px;font-size:9px}.login-copy{margin:54px 0 27px}.login-copy h2{margin:0;font-size:31px}.login-copy p{color:#73837c;margin:11px 0 0;font-size:13px;line-height:1.7}.login-card form{gap:17px;display:grid}.login-card label{color:#4f6159;gap:7px;font-size:12px;font-weight:800;display:grid}.login-card input{background:#fbfcf8;border:1px solid #dfe7df;border-radius:15px;outline:none;width:100%;padding:15px 16px;font-size:15px}.login-card input:focus{border-color:#58ad89;box-shadow:0 0 0 4px #58ad8918}.login-card form>button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#30a77f,#176852);border:0;border-radius:16px;justify-content:center;align-items:center;gap:12px;margin-top:4px;padding:16px;font-weight:900;display:flex;box-shadow:0 12px 23px #216c5533}.login-card form>button:disabled{opacity:.55;cursor:wait}.login-card form>button span{font-size:21px}.login-error{color:#9e3d31;background:#fff0ed;border-radius:12px;margin:0;padding:10px 12px;font-size:11px}.demo-code{background:#fff3c7;border-radius:14px;align-items:center;gap:10px;width:fit-content;margin-top:26px;padding:10px 13px;display:flex}.demo-code>span:first-child{font-size:20px}.demo-code small,.demo-code strong{display:block}.demo-code small{color:#897a4b;font-size:9px}.demo-code strong{letter-spacing:.08em;margin-top:2px;font-size:12px}.login-footnote{color:#98a49f;margin:15px 0 0;font-size:10px;line-height:1.6}.login-tabs{background:#eef2ec;border-radius:15px;grid-template-columns:1fr 1fr;gap:6px;margin-top:35px;padding:5px;display:grid}.login-tabs button{color:#6f7e78;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:10px;font-weight:800}.login-tabs button.active{color:#176852;background:#fffdf8;box-shadow:0 4px 12px #314c4016}.login-tabs+.login-copy{margin-top:30px}.teacher-shell{background:radial-gradient(circle at 8% 4%,#fff7c9 0,transparent 23%),radial-gradient(circle at 92% 14%,#d8f6e5 0,transparent 27%),var(--cream);min-height:100vh;padding:0 36px 60px}.teacher-topbar{border-bottom:1px solid #426a5921;justify-content:space-between;align-items:center;width:min(1180px,100%);height:84px;margin:auto;display:flex}.teacher-topbar .brand{margin:0}.teacher-topbar-actions{align-items:center;gap:9px;display:flex}.teacher-topbar-actions a,.teacher-topbar-actions button{cursor:pointer;border-radius:14px;padding:11px 15px;font-size:12px;font-weight:800}.teacher-topbar-actions a{color:#176852;background:#f5fcf8;border:1px solid #cfe3d8;text-decoration:none}.teacher-topbar-actions button{color:#fff;background:var(--ink);border:0}.teacher-console{width:min(980px,100%);margin:40px auto 0;padding:30px}.teacher-console h1{margin:5px 0 0;font-size:28px}.student-select{color:#4f6159;gap:8px;margin-top:25px;font-size:12px;font-weight:800;display:grid}.student-select select{background:#fff;border:1px solid #dfe7df;border-radius:14px;padding:14px;font-size:15px}.teacher-student-card{background:#eaf7f0;border-radius:20px;gap:4px;margin-top:18px;padding:22px;display:grid}.teacher-student-card span,.teacher-student-card small{color:#6f8078;font-size:11px}.teacher-student-card strong{font-size:24px}.teacher-section-title{margin:25px 0 -7px;font-size:15px}.teacher-awards{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.teacher-awards.reward-confirmations{grid-template-columns:repeat(3,1fr)}.teacher-awards button{cursor:pointer;background:#fff;border:1px solid #e3e8e1;border-radius:18px;justify-items:center;gap:5px;padding:20px 10px;display:grid}.teacher-awards button:hover:not(:disabled){border-color:#67b694;transform:translateY(-2px)}.teacher-awards button:disabled{opacity:.45;cursor:not-allowed}.teacher-awards button span{font-size:30px}.teacher-awards button small{color:#73837c}.teacher-message{color:#456158;background:#f5f6f1;border-radius:13px;margin:19px 0 0;padding:12px 14px;font-size:12px}.teacher-session-check{color:#456158;text-align:center;background:#fff;border:1px solid #dfe7df;border-radius:20px;width:min(480px,100% - 36px);margin:20vh auto 0;padding:24px;font-weight:800;box-shadow:0 18px 50px #2d53431f}.teacher-goal-card{background:#fffefa;border:1px solid #e4e8e0;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin-top:12px;padding:17px 19px;display:flex}.teacher-goal-card.pending{background:#fff7d9;border-color:#d9b34d}.teacher-goal-card>div:first-child{gap:4px;display:grid}.teacher-goal-card span,.teacher-goal-card small{color:#72827b;font-size:10px}.teacher-goal-card strong{font-size:15px}.teacher-goal-card>b{color:#4f6960;flex:none;font-size:11px}.teacher-goal-actions{gap:7px;display:flex}.teacher-goal-actions button{color:#fff;cursor:pointer;background:#248c72;border:0;border-radius:11px;padding:10px 12px;font-size:10px;font-weight:900}.teacher-goal-actions button.retry{color:#765d20;background:#f5e4a9}.teacher-weekly-summary{background:#f4f5ef;border-radius:13px;align-items:center;gap:10px;margin-top:10px;padding:10px 13px;display:flex}.teacher-weekly-summary span,.teacher-weekly-summary small{color:#718078;font-size:10px}.teacher-weekly-summary b{color:#1c7b60;font-size:13px}.teacher-weekly-summary small{margin-left:auto}.teacher-awards.quick-points{grid-template-columns:repeat(6,1fr)}.teacher-awards.quick-points button{background:linear-gradient(#f7fff9,#edf8f2);border-color:#cfe6da;min-height:112px;padding:15px 8px}.teacher-awards.quick-points button span{color:#fff;background:linear-gradient(145deg,#48b98d,#207b63);border-radius:50%;place-items:center;width:52px;height:52px;font-size:19px;font-weight:900;display:grid;box-shadow:0 7px 15px #29856a32}.teacher-reward-policy,.teacher-privacy-panel{background:#fffefa;border:1px solid #dfe8df;border-radius:20px;margin-top:24px;padding:20px}.teacher-policy-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.teacher-policy-heading span strong,.teacher-policy-heading span small{display:block}.teacher-policy-heading span small{color:#718078;margin-top:5px;font-size:10px;line-height:1.5}.teacher-policy-heading>b{color:#176852;background:#e5f7ee;border-radius:999px;flex:none;padding:7px 10px;font-size:10px}.teacher-policy-fields,.teacher-consent-form{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:16px;display:grid}.teacher-policy-fields label,.teacher-consent-form label,.teacher-request-workbench>label,.teacher-correction-grid label{color:#566861;gap:6px;font-size:10px;font-weight:800;display:grid}.teacher-policy-fields input,.teacher-consent-form input,.teacher-consent-form select,.teacher-request-workbench input,.teacher-request-workbench select,.teacher-correction-grid input{background:#fff;border:1px solid #dbe5dd;border-radius:11px;width:100%;padding:10px 11px}.teacher-policy-fields small{color:#89948f;font-size:8px}.save-reward-policy,.teacher-consent-form>button,.teacher-request-actions button{color:#fff;cursor:pointer;background:#248c72;border:0;border-radius:12px;padding:11px 13px;font-size:10px;font-weight:900}.save-reward-policy{margin-top:13px}.save-reward-policy:disabled,.teacher-consent-form>button:disabled,.teacher-request-actions button:disabled{opacity:.45;cursor:not-allowed}.teacher-confirm-check{grid-column:1/3;align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}.teacher-confirm-check input{width:auto}.teacher-consent-form>button{align-self:end}.teacher-request-workbench{border-top:1px dashed #dfe5df;grid-template-columns:1fr 1fr;gap:11px;margin-top:15px;padding-top:15px;display:grid}.teacher-correction-grid{grid-column:1/3;grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.teacher-request-actions{flex-wrap:wrap;grid-column:1/3;gap:8px;display:flex}.teacher-request-actions button.retry{color:#765d20;background:#f5e4a9}.privacy-receipt-note{color:#315d4e;overflow-wrap:anywhere;background:#eaf7f0;border-radius:11px;grid-column:1/3;margin:0;padding:10px 12px;font-size:10px;line-height:1.55}.privacy-request-description{color:#5c4a20;overflow-wrap:anywhere;background:#fff4d5;border-radius:11px;grid-column:1/3;margin:0;padding:10px 12px;font-size:10px;line-height:1.55}.privacy-shell,.consent-shell{background:radial-gradient(circle at 8% 4%,#fff7c9 0,transparent 23%),radial-gradient(circle at 92% 14%,#d8f6e5 0,transparent 27%),var(--cream);min-height:100vh;padding:0 28px 60px}.privacy-topbar{border-bottom:1px solid #426a5921;justify-content:space-between;align-items:center;width:min(980px,100%);height:84px;margin:auto;display:flex}.privacy-topbar>a:last-child{color:#176852;background:#f5fcf8;border:1px solid #cfe3d8;border-radius:13px;padding:10px 13px;font-size:11px;font-weight:800;text-decoration:none}.privacy-document,.privacy-center,.consent-card{width:min(860px,100%);margin:36px auto 0;padding:clamp(24px,5vw,48px)}.privacy-document h1,.privacy-center h1,.consent-card h1{margin:8px 0 20px;font-size:clamp(27px,4vw,38px)}.privacy-document section{margin-top:27px}.privacy-document h2,.privacy-request-list h2{margin:0 0 10px;font-size:17px}.privacy-document p,.privacy-document li{color:#52655d;font-size:13px;line-height:1.8}.privacy-document dl{gap:7px;display:grid}.privacy-document dl div{border-bottom:1px solid #edf0ea;grid-template-columns:minmax(160px,.42fr) 1fr;gap:12px;padding:9px 0;display:grid}.privacy-document dt{font-weight:800}.privacy-document dd{color:#61736b;margin:0}.privacy-warning{background:#fff5cc;border:1px solid #e2bb52;border-radius:17px;padding:18px}.privacy-warning p{margin:6px 0 0}.privacy-meta{background:#eef7f1;border-radius:12px;padding:10px 13px}.privacy-footer{border-top:1px solid #e3e8e2;gap:10px;margin-top:32px;padding-top:18px;display:flex}.privacy-footer a{color:#176852;font-weight:800}.privacy-state,.privacy-message{color:#5f5640;background:#fff1bd;border-radius:13px;padding:12px 14px}.privacy-status{background:#f3faf6;border:1px solid #dce7df;border-radius:18px;padding:18px}.privacy-status p{color:#53675f;margin:6px 0}.privacy-status small{color:#7b8b84}.privacy-request-detail{color:#4d6159;gap:7px;margin-top:17px;font-size:11px;display:grid}.privacy-request-detail textarea{resize:vertical;min-height:88px;font:inherit;border:1px solid #dce6df;border-radius:13px;padding:11px 12px;line-height:1.55}.privacy-request-detail small{color:#8a9791;text-align:right}.privacy-request-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.privacy-request-grid button{cursor:pointer;background:#fff;border:1px solid #dde6df;border-radius:17px;justify-items:center;gap:6px;min-height:126px;padding:14px 8px;display:grid}.privacy-request-grid button:disabled{opacity:.45;cursor:not-allowed}.privacy-request-grid span{font-size:25px}.privacy-request-grid small{color:#718078;text-align:center;font-size:9px;line-height:1.4}.clear-local-copy{color:#8f4b3f;cursor:pointer;background:#fff4f0;border:1px solid #e3c9c3;border-radius:11px;margin-top:12px;padding:9px 11px;font-size:10px;font-weight:800}.privacy-request-list{margin-top:25px}.privacy-request-list article{border-bottom:1px solid #e7ebe6;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;display:grid}.privacy-request-list article small{color:#7b8983;grid-column:1/3;font-size:9px}.privacy-help{color:#7a8982;font-size:10px;line-height:1.7}.consent-shell{place-items:center;display:grid}.consent-card{text-align:center;margin:0}.consent-icon{font-size:52px}.consent-card>p:not(.eyebrow){color:#60716a;line-height:1.7}.consent-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin:22px 0;display:flex}.consent-actions a,.consent-actions button{color:#176852;cursor:pointer;background:#f5fcf8;border:1px solid #cfe3d8;border-radius:12px;padding:10px 13px;font-size:11px;font-weight:800;text-decoration:none}.consent-card>small{color:#7c8c85;line-height:1.6}.certificate-wall{margin-top:22px;padding:25px}.certificate-note{color:#64766e;margin:10px 0 0;font-size:11px;line-height:1.7}.certificate-level-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:18px;display:grid}.certificate-level{background:#f7f7f2;border:1px solid #e2e7e1;border-radius:18px;align-content:start;gap:6px;min-height:146px;padding:16px;display:grid}.certificate-level>span{color:#7b817d;background:#e8ebe7;border-radius:999px;width:max-content;padding:4px 8px;font-size:9px;font-weight:900}.certificate-level>strong{font-size:14px}.certificate-level>small{color:#7c8983;min-height:30px;line-height:1.5}.certificate-level>b{color:#909994;margin-top:auto;font-size:10px}.certificate-level.earned{background:linear-gradient(145deg,#fff9dc,#ecfaf3);border-color:#e4bd55;box-shadow:0 10px 24px #8e6c1b18}.certificate-level.earned>span{color:#6b4b00;background:#ffe591}.certificate-level button{color:#fff;cursor:pointer;background:#23775f;border:0;border-radius:10px;margin-top:auto;padding:8px 10px;font-size:9px;font-weight:900}.certificate-modal{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18382f99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.certificate-modal>article{outline-offset:-18px;text-align:center;background:linear-gradient(140deg,#fffaf0,#effcf4 55%,#fff0b9);border:8px solid #2d7a61;border-radius:24px;outline:3px solid #e1b543;width:min(560px,100%);padding:42px;box-shadow:0 28px 90px #102f2966}.certificate-modal h2{margin:8px 0;font-family:serif;font-size:34px}.certificate-modal>article>strong{margin:18px 0 7px;font-size:22px;display:block}.certificate-modal>article>small{color:#65736d;font-family:monospace}.certificate-modal>article>div{justify-content:center;gap:10px;margin-top:24px;display:flex}.certificate-modal button{color:#176852;cursor:pointer;background:#fff;border:1px solid #27795f;border-radius:12px;padding:11px 16px;font-weight:900}.certificate-modal button:last-child{color:#fff;background:#27795f}.certificate-seal{font-size:52px}.teacher-certificate-panel{border-top:1px solid #e5e9e4;margin-top:28px;padding-top:4px}.certificate-filters{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:15px;display:grid}.certificate-filters label{color:#607169;gap:5px;font-size:10px;font-weight:800;display:grid}.certificate-filters select,.certificate-filters input{background:#fff;border:1px solid #dfe7df;border-radius:11px;min-width:0;padding:10px}.certificate-filters>button,.certificate-print-options>button{color:#fff;cursor:pointer;background:#247a60;border:0;border-radius:11px;padding:11px 14px;font-weight:900}.certificate-table{gap:7px;max-height:310px;margin-top:14px;display:grid;overflow:auto}.certificate-table>label{cursor:pointer;border:1px solid #e1e7e1;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:11px 13px;display:grid}.certificate-table>label.selected{background:#fff8d9;border-color:#d7aa34}.certificate-table span{gap:3px;display:grid}.certificate-table small{color:#718178;font-size:9px}.certificate-print-options{color:#56685f;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:10px;font-weight:800;display:flex}.certificate-print-options label{align-items:center;gap:6px;display:flex}.real-name-confirm{color:#7b4d00;background:#fff0bd;border-radius:10px;padding:8px 10px}.certificate-print-sheet{display:none}@media (max-width:900px){.certificate-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-filters{grid-template-columns:1fr 1fr}}@media (max-width:560px){.certificate-level-grid,.certificate-filters{grid-template-columns:1fr}.certificate-modal>article{padding:34px 22px}.certificate-modal h2{font-size:27px}}@media print{body *{visibility:hidden!important}.certificate-print-sheet,.certificate-print-sheet *{visibility:visible!important}.certificate-print-sheet{background:#fff;grid-template-rows:repeat(2,1fr);gap:8mm;width:210mm;min-height:297mm;padding:10mm;position:absolute;inset:0;display:grid!important}.certificate-print-sheet article{color:#263b33;text-align:center;page-break-inside:avoid;background:linear-gradient(145deg,#fffaf0,#f1fbf5);border:3mm double #276f58;align-content:center;place-items:center;gap:5mm;min-height:132mm;padding:12mm;display:grid}.certificate-print-sheet h1,.certificate-print-sheet h2,.certificate-print-sheet p{margin:0}.certificate-print-sheet h1{letter-spacing:.25em;font-family:serif;font-size:20pt}.certificate-print-sheet h2{color:#9a6d09;font-size:14pt}.certificate-print-sheet strong{font-size:16pt}.certificate-print-sheet footer{color:#5f6c66;justify-content:space-between;width:100%;margin-top:4mm;font-size:8pt;display:flex}}@keyframes pet-breathe{0%,to{transform:translateX(-50%) scale(var(--pet-scale)) translateY(0)}50%{transform:translateX(-50%) scale(calc(var(--pet-scale) * 1.018)) translateY(-4px)}}@keyframes skin-pop{0%{opacity:.55;transform:scale(.94)translateY(7px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(11deg)}50%{transform:translateY(-7px)rotate(4deg)}}@keyframes celebrate{0%{opacity:0;transform:scale(.55)translateY(35px)}55%{opacity:1}to{opacity:0;transform:scale(1.15)translateY(-24px)}}@keyframes music-float{0%{opacity:0;transform:translateY(0)rotate(-8deg)}25%{opacity:.85}to{opacity:0;transform:translateY(-95px)rotate(18deg)}}@keyframes eq{to{height:15px}}@keyframes live-idle{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@keyframes live-wave{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-7deg)scale(1.05)}55%{transform:rotate(7deg)scale(1.08)}75%{transform:rotate(-4deg)scale(1.04)}}@keyframes live-eat{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(7px)scale(.94,1.06)}65%{transform:translateY(-8px)scale(1.07,.95)}}@keyframes live-celebrate{0%,to{transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(-19px)rotate(-7deg)scale(1.09)}60%{transform:translateY(-9px)rotate(8deg)scale(1.12)}}@media (max-width:900px){.app-shell{padding:0 18px 28px}.student-chip{display:none}.hero-grid,.lower-grid,.goal-report-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.pet-roster,.decoration-grid,.reward-policy-grid,.teacher-awards,.teacher-awards.quick-points{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-visual{min-height:390px;padding:45px}.login-visual img{width:390px;bottom:-80px;right:-30px}.login-card{padding:50px min(10vw,90px)}.privacy-request-grid{grid-template-columns:repeat(2,1fr)}.teacher-policy-fields,.teacher-consent-form{grid-template-columns:1fr 1fr}.teacher-confirm-check{grid-column:1/3}}@media (max-width:600px){.topbar{height:72px}.brand small,.music-button{display:none}.avatar-button{padding:10px}.hero-grid{padding-top:15px}.pet-card{padding:19px 15px}.card-heading h1{font-size:21px}.stage-tag{padding:7px 9px}.pet-stage{height:290px}.hero-pet{width:auto;height:285px}.placed-decoration{width:48px;height:48px;font-size:27px}.speech-bubble{max-width:96%}.prop-toolbar>div:first-child{gap:3px;display:grid}.prop-size-controls{grid-template-columns:1fr 1fr}.prop-size-controls span{grid-column:1/3}.side-stack,.metric-grid{grid-template-columns:1fr}.fruit-row{grid-template-columns:repeat(5,minmax(44px,1fr))}.weekly-goal-options{grid-template-columns:1fr}.weekly-goal-options button{min-height:105px}.goal-submit-row,.teacher-goal-card,.teacher-weekly-summary{flex-direction:column;align-items:stretch}.weekly-stat-grid{grid-template-columns:repeat(2,1fr)}.teacher-weekly-summary small{margin-left:0}.pet-roster,.decoration-grid,.reward-policy-grid,.teacher-awards,.teacher-awards.reward-confirmations{grid-template-columns:1fr}.section-title>span{display:none}.stage-road span{font-size:9px}footer{gap:7px;display:grid}.login-visual{min-height:300px;padding:33px 25px}.login-visual h1{font-size:48px}.login-visual>p:not(.login-kicker){display:none}.login-visual img{width:310px;bottom:-70px;right:-55px}.login-card{padding:38px 25px}.login-copy{margin:35px 0 25px}.login-copy h2{font-size:26px}.teacher-shell{padding:0 18px 40px}.teacher-console{margin-top:22px;padding:20px}.privacy-shell{padding:0 14px 35px}.privacy-document,.privacy-center{margin-top:20px;padding:22px 17px}.privacy-request-grid,.teacher-policy-fields,.teacher-consent-form,.teacher-request-workbench,.teacher-correction-grid{grid-template-columns:1fr}.teacher-confirm-check,.teacher-correction-grid,.teacher-request-actions,.privacy-receipt-note,.privacy-request-description{grid-column:1}.privacy-document dl div{grid-template-columns:1fr;gap:4px}.privacy-topbar{height:72px}.music-button{padding:10px;font-size:0;display:flex}.live-companion-stage{border-radius:20px;width:102px;height:112px;bottom:10px;right:8px}.live-companion-stage .live-companion-art{height:86px}}@media (max-width:900px){.skin-grid{grid-template-columns:repeat(2,1fr)}.pose-lab{flex-wrap:wrap}.pose-lab>span{flex:1 0 100%}}@media (max-width:600px){.skin-hero{width:280px;height:290px}.skin-grid{grid-template-columns:1fr}.skin-choice{grid-template-columns:90px 1fr}.skin-preview{width:90px}.pose-lab>button{flex:1 0 28%;justify-content:center}.growth-story{grid-template-columns:auto minmax(0,1fr)}.growth-story>button{grid-column:1/3;width:100%}}@media (max-width:900px){.atlas-pet-tabs{grid-template-columns:repeat(9,96px);padding-bottom:6px;overflow-x:auto}.atlas-feature{grid-template-columns:240px minmax(0,1fr)}.atlas-feature-art{min-height:285px}.atlas-feature-art img{height:270px}.atlas-stage-grid{grid-template-columns:repeat(5,minmax(150px,1fr));padding-bottom:8px;overflow-x:auto}}@media (max-width:600px){.growth-atlas-panel{padding:20px 15px}.atlas-feature{grid-template-columns:1fr;gap:14px;padding:15px}.atlas-feature-art{min-height:235px}.atlas-feature-art img{height:225px}.atlas-stage-card img{height:125px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
