.fp-home-shade{color:#25334c;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.fp-home-shade *{box-sizing:border-box}.fp-home-shade{z-index:10000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18233866;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fp-home-dialog{background:#fff;border-radius:24px;outline:none;flex-direction:column;width:100%;max-width:500px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 -12px 50px #10204020}.fp-home-handle{background:#d9dee7;border-radius:9px;flex:none;width:35px;height:4px;margin:8px auto 12px}.fp-home-header{flex:none;align-items:center;gap:11px;padding:0 18px 16px;display:flex}.fp-home-header>img{object-fit:cover;border-radius:12px;flex:none;width:49px;height:49px}.fp-home-header>div{min-width:0}.fp-home-dialog h2{color:#25334c;margin:0;font-size:17px;font-weight:750;line-height:1.5}.fp-home-header p{color:#8b94a4;margin:4px 0 0;font-size:12px;line-height:1.5}.fp-home-close{color:#8792a3;cursor:pointer;background:#f3f5f8;border:0;border-radius:50%;align-self:flex-start;min-width:36px;min-height:36px;margin-left:auto;font-size:24px;line-height:1}.fp-home-tabs{background:#f2f4f8;border-radius:12px;flex:none;gap:4px;margin:0 18px 12px;padding:4px;display:flex}.fp-home-tabs button{min-width:0;min-height:44px;font:inherit;color:#6a7890;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:6px;font-size:12px;font-weight:650}.fp-home-tabs button[aria-pressed=true]{color:var(--fp-home-color);background:#fff;box-shadow:0 2px 8px #25334c0c}.fp-home-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:0 18px 18px;overflow-y:auto}.fp-home-browser-note{background:var(--fp-home-tint);color:var(--fp-home-color);border-radius:10px;padding:11px 12px;font-size:13px;line-height:1.7}.fp-home-version{color:#7c8797;margin:9px 0 16px;font-size:11px;line-height:1.7}.fp-home-step{margin:0 0 15px}.fp-home-step h3{color:#25334c;align-items:center;gap:7px;margin:0 0 9px;font-size:12px;font-weight:650;line-height:1.7;display:flex}.fp-home-step h3>b{background:var(--fp-home-color);color:#fff;border-radius:7px;flex:none;place-items:center;width:23px;height:23px;font-size:11px;display:grid}.fp-home-picture{background:#f7f9fc;border:1px solid #e7ebf1;border-radius:11px;margin-bottom:8px;font-size:11px;position:relative;overflow:hidden}.fp-home-address{text-align:center;color:#66758d;overflow-wrap:anywhere;background:#fff;border-radius:7px;margin:8px;padding:7px;font-size:10px}.fp-home-picture>img{object-fit:cover;border-radius:9px;width:36px;height:36px;margin:9px auto;display:block}.fp-home-toolbar{color:#66829f;background:#fff;justify-content:space-around;align-items:center;gap:7px;padding:6px;font-size:12px;display:flex}.fp-home-mark{color:#b45251;background:#fff;border:2px solid #ed7c78;border-radius:7px;align-items:center;gap:6px;padding:4px 7px;line-height:1.7;display:inline-flex;position:relative}.fp-home-mark svg{flex:none;width:19px;height:19px}.fp-home-mark em{color:#cf5c56;white-space:nowrap;margin-left:auto;font-size:10px;font-style:normal;font-weight:500}.fp-home-menu>span{color:#7b8695;border-bottom:1px solid #e8ecf2;padding:8px 12px;display:block}.fp-home-menu>strong{color:#26354b;background:#fff;margin:7px;font-size:11px;display:flex}.fp-home-menu>small{color:#7c8796;padding:0 9px 9px;font-size:10px;line-height:1.7;display:block}.fp-home-confirm>div{color:#66758d;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.fp-home-confirm>span{color:#35435a;align-items:center;gap:10px;padding:9px 10px;font-size:11px;display:flex}.fp-home-confirm img{object-fit:cover;border-radius:9px;flex:none;width:36px;height:36px}.fp-home-edge{align-items:center;gap:10px;padding:14px;display:flex}.fp-home-edge-symbol{object-fit:contain;flex:none;width:38px;height:38px;display:block}.fp-home-edge>span:nth-child(2){flex:1;min-width:0}.fp-home-edge strong{font-size:12px;display:block}.fp-home-edge small{color:#7c8796;margin-top:4px;font-size:10px;line-height:1.6;display:block}.fp-home-hint{color:#778496;margin:7px 0;font-size:11px;line-height:1.7}.fp-home-result{background:#f5f8fa;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.fp-home-result>img{object-fit:cover;border-radius:10px;flex:none;width:42px;height:42px}.fp-home-result>span{color:#778496;font-size:11px;line-height:1.7}.fp-home-result strong{color:#35435b;font-size:12px;display:block}.fp-home-help{color:#63738b;padding-top:15px;font-size:11px;line-height:1.8}.fp-home-help summary{cursor:pointer;align-content:center;min-height:44px}.fp-home-transfer p{color:#63738b;margin:8px 0;font-size:12px;line-height:1.8}.fp-home-transfer input{color:#506078;background:#fafbfc;border:1px solid #dfe5ed;border-radius:8px;width:100%;min-height:44px;padding:7px;font-size:11px}.fp-home-embedded{background:#fff7e8;border:1px solid #f3dfb9;border-radius:12px;margin-bottom:12px;padding:12px;font-size:12px}.fp-home-status{color:var(--fp-home-color);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.8}.fp-home-footer{padding:12px 18px max(18px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf0f5;flex:none;gap:9px;display:flex}.fp-home-footer>button,.fp-home-footer>a{min-width:0;min-height:46px;font:inherit;background:var(--fp-home-tint);color:var(--fp-home-color);cursor:pointer;text-align:center;border:0;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:12px;font-weight:650;line-height:1.6;text-decoration:none;display:flex}.fp-home-footer>.fp-home-primary{background:var(--fp-home-color);color:#fff}.fp-home-footer>button:disabled{opacity:.6;cursor:wait}.fp-home-desktop-steps{color:#52617a;padding-left:22px;font-size:13px;line-height:1.9}.fp-home-desktop-steps li{margin:10px 0}.fp-home-launcher:focus-visible,.fp-home-shade button:focus-visible,.fp-home-shade a:focus-visible,.fp-home-shade summary:focus-visible{outline:3px solid var(--fp-home-color);outline-offset:3px}@media (width<=780px){.fp-home-shade{align-items:flex-end;padding:20px 0 0}.fp-home-dialog{border-radius:24px 24px 0 0;max-height:calc(100dvh - 20px)}.fp-home-scroll{scrollbar-gutter:auto}.fp-home-header{gap:9px}.fp-home-dialog h2{font-size:16px}}@media print{.fp-home-launcher,.fp-home-shade{display:none!important}}.cloud-sync-bar{color:#3c6750;background:#f5fbf7;border:1px solid #d9e9de;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;display:flex}.cloud-sync-bar>div{flex:1;min-width:0}.cloud-sync-bar strong{overflow-wrap:anywhere;align-items:center;gap:7px;font-size:13px;font-weight:650;display:flex}.cloud-sync-bar strong svg{flex-shrink:0}.cloud-sync-bar small{color:#6c7e73;margin-top:5px;font-size:11px;line-height:1.6;display:block}.cloud-sync-bar button{color:#345e45;cursor:pointer;background:#e5f1e9;border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:650;display:flex}.cloud-sync-bar button:disabled{opacity:.6;cursor:wait}.cloud-sync-bar.has-error{color:#8c5d19;background:#fff8ec;border-color:#efd9ae}.cloud-sync-bar.has-error small{color:#8c704b}@media (width<=600px){.cloud-sync-bar{gap:10px;padding:12px}.cloud-sync-bar>div{flex-basis:100%}.cloud-sync-bar button{min-height:40px}}.cloud-sync-bar{z-index:29;border-width:2px;position:sticky;top:0;box-shadow:0 5px 16px #304b3520}.cloud-sync-bar strong{font-size:15px}.cloud-sync-bar small{font-size:12px}.cloud-sync-bar .cloud-save-button{color:#fff;background:#237747;min-height:44px;padding:11px 18px;font-size:14px;box-shadow:0 3px 8px #23774726}.cloud-sync-bar .cloud-save-button:hover:not(:disabled){background:#195e36}.cloud-sync-bar button:focus-visible{outline-offset:3px;outline:3px solid #397edb}.cloud-sync-bar.has-error{box-shadow:0 5px 16px #513d2520}.cloud-sync-bar.has-error button{color:#765019;background:#f6e7cb}.cloud-sync-bar.has-error .cloud-save-button{color:#fff;background:#8c5d19}.cloud-sync-bar.has-error .cloud-save-button:hover:not(:disabled){background:#704911}@media (width<=780px){.cloud-sync-bar{top:var(--cloud-sync-top,108px)}}.sidebar-class-control,.mobile-class-control{gap:4px;min-width:0;display:grid}.cloud-sync-indicator{color:#d9f0e3;max-width:100%;font:inherit;white-space:nowrap;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:3px 8px;font-size:11px;line-height:1.5;display:inline-flex}.cloud-sync-indicator svg{flex-shrink:0}.cloud-sync-indicator:disabled{cursor:wait;opacity:.8}.cloud-sync-indicator:hover:not(:disabled){background:#ffffff1a}.cloud-sync-indicator:focus-visible{outline-offset:2px;outline:2px solid #bed9ff}@media (width>=781px){.topbar .sidebar-class-control{margin:24px 0 18px}.topbar .sidebar-class-control .class-selector{margin:0}}@media (width<=780px){.mobile-head>.mobile-class-control{grid-area:2/1;min-width:0}.mobile-class-control .cloud-sync-indicator{min-height:22px;padding:0 5px}}.cloud-dialog-shade{z-index:300;background:#1b273a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cloud-dialog{box-sizing:border-box;color:#203654;text-align:left;background:#fff;border:1px solid #e5e9f0;border-radius:18px;width:min(560px,100%);max-height:calc(100dvh - 48px);font-size:14px;line-height:1.6;overflow:auto;box-shadow:0 20px 60px #1b273a2e}.cloud-dialog *{box-sizing:border-box}.cloud-dialog button,.cloud-dialog input,.cloud-dialog select,.cloud-dialog textarea{font:inherit}.cloud-dialog button{cursor:pointer}.cloud-dialog button:disabled{opacity:.5;cursor:not-allowed}.cloud-dialog-header{border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.cloud-dialog-header h2{color:#203654;margin:0;font-size:21px;font-weight:700;line-height:1.4}.cloud-dialog-close{color:#6e7a8e;background:#f3f5f8;border:0;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;line-height:1;display:grid;font-size:24px!important}.cloud-dialog-body{gap:18px;padding:24px;display:grid}.cloud-dialog p{color:#6e7a8e;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.cloud-dialog .cloud-error{color:#be3948;background:#fff2f3;border-radius:8px;padding:10px 12px}.cloud-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cloud-choice-card,.cloud-class-option{color:#203654;text-align:left;min-width:0;box-shadow:none;white-space:normal;overflow-wrap:anywhere;background:#fff;border:1px solid #dce3ee;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;padding:18px;display:flex}.cloud-choice-card:hover,.cloud-class-option:hover{background:#f7faff;border-color:#4b87e7}.cloud-choice-card strong,.cloud-class-option strong{font-size:15px;font-weight:650}.cloud-choice-card small,.cloud-class-option small{color:#6e7a8e;font-size:12px;font-weight:400}.cloud-class-list{gap:10px;max-height:280px;padding:2px;display:grid;overflow:auto}.cloud-class-option{width:100%;padding:13px 16px}.cloud-class-option[aria-pressed=true]{background:#eef5ff;border-color:#4b87e7}.cloud-dialog label{color:#59677d;gap:8px;font-size:13px;font-weight:600;display:grid}.cloud-dialog input,.cloud-dialog select,.cloud-dialog textarea{color:#203654;width:100%;min-width:0;min-height:44px;box-shadow:none;background:#fff;border:1px solid #dce3ee;border-radius:9px;outline:none;padding:10px 12px}.cloud-dialog :is(input,select,textarea,button):focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid #4b87e7}.cloud-dialog-footer{border-top:1px solid #e8edf3;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.cloud-button{color:#203654;min-height:42px;box-shadow:none;background:#fff;border:1px solid #dce3ee;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-weight:600;display:inline-flex}.cloud-button-primary{color:#fff;background:#4b87e7;border-color:#4b87e7}.cloud-link{color:#3c74c9;background:0 0;border:0;justify-self:start;padding:0;font-size:13px}.cloud-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;display:flex}.cloud-actions>p{color:var(--muted,#6e7a8e);flex-basis:100%;margin:0;font-size:13px;line-height:1.6}.cloud-actions>button{min-height:38px}@media (width<=600px){.cloud-dialog-shade{padding:16px}.cloud-dialog{max-height:calc(100dvh - 32px)}.cloud-dialog-header{padding:18px 20px}.cloud-dialog-body{padding:20px}.cloud-choice-grid{grid-template-columns:1fr}}.cloud-dialog .cloud-error:empty{display:none}.cloud-dialog-body-form{gap:18px;display:grid}.class-manager-list{gap:12px;display:grid}.class-manager-row{border:1px solid #e5e9f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.class-manager-row strong{overflow-wrap:anywhere}.class-manager-actions{flex-wrap:wrap;gap:8px;display:flex}.cloud-dialog details>summary{cursor:pointer;font-weight:600}.cloud-dialog details[open]{gap:12px;display:grid}@media (width<=600px){.class-manager-row{flex-direction:column;align-items:stretch}.class-manager-actions .cloud-button{flex:1;padding:8px}}.pet-card-wrap{min-width:0;position:relative}.pet-card-wrap .pet-card{width:100%;height:100%}.pet-card-wrap:has(.student-card-tools.is-open){z-index:5}.pet-card-wrap .pet-card__top{min-height:32px;padding-right:34px}.pet-card-wrap .pet-card__top strong{flex:1;min-width:0}.pet-card-wrap .pet-card__top strong small{flex-shrink:0}.student-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pet-card-wrap .group-label{white-space:nowrap;flex-shrink:0}.card-picked{z-index:4;color:#fff;pointer-events:none;background:#6f5ec4;border-radius:10px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:12px;box-shadow:0 3px 10px #5b4db14d}@media (width<=600px){.card-picked{top:11px;right:9px}}.pet-card-wrap.is-selected .group-label,.pet-card-wrap.is-multi-mode .group-label{display:none}.student-card-tools{z-index:4;position:absolute;top:14px;right:12px}.student-card-menu-toggle{color:#756b9b;background:#f2f0f8;border:0;border-radius:10px;place-items:center;width:32px;height:32px;padding:0;display:grid}.student-card-menu-toggle:hover,.student-card-menu-toggle[aria-expanded=true]{color:#5f4ca2;background:#e9e3fb}.student-card-menu-toggle:focus-visible{outline-offset:2px;outline:2px solid #7869d0}.student-card-menu{background:#fff;border:1px solid #e6e0f0;border-radius:14px;gap:4px;width:155px;padding:7px;display:grid;position:absolute;top:38px;right:0;box-shadow:0 12px 30px #33264f26}.student-card-menu button{text-align:left;color:#433858;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:11px 9px;font-size:13px;display:flex}.student-card-menu button:hover{background:#f5f2fb}.student-card-menu .student-menu-remove{color:#b0525c}.student-management-form .student-remove-button{color:#fff;background:#b65362;border-color:#b65362}.student-management-form .student-remove-name{color:#443558;font-size:16px}.student-roster-list{gap:8px;margin-top:12px;display:grid}.student-roster-row{background:#f7f5fb;border-radius:12px;align-items:center;gap:8px;padding:10px;display:flex}.student-roster-row>span{overflow-wrap:anywhere;flex:1;min-width:0}.student-roster-row button{background:#fff;border:1px solid #e1dbea;border-radius:9px;padding:7px 10px;font-size:12px}.student-roster-row .student-menu-remove,.student-roster-error{color:#b0525c}@media (width<=600px){.student-card-tools{top:11px;right:9px}.pet-card-wrap.is-selected .group-label,.pet-card-wrap.is-multi-mode .group-label{display:none}}.demo-notice{color:#574783;background:#f4f0ff;border:1px solid #d9d0ef;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:18px 22px;display:flex}.demo-notice p{margin:6px 0 0;font-size:14px;line-height:1.6}.demo-notice button{flex-shrink:0}.demo-badge{color:#6855a2;white-space:nowrap;background:#ece6ff;border-radius:6px;margin-left:8px;padding:2px 7px;font-size:11px;display:inline-block}.roster-tabs,.roster-batch-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.roster-tabs button,.roster-batch-actions button,.roster-batch-actions select{color:#55466f;background:#fff;border:1px solid #e1dbea;border-radius:10px;padding:9px 12px;font-size:13px}.roster-tabs [aria-selected=true]{color:#594292;background:#e9e1fb;border-color:#a591d9}.roster-batch-actions label,.student-roster-row>label{align-items:center;gap:9px;display:flex}.roster-batch-actions input[type=checkbox],.student-roster-row input[type=checkbox]{accent-color:#7561bf;width:18px;min-width:18px;height:18px;padding:0}.roster-batch-actions .danger-ghost{color:#a84257}.roster-search{width:100%;margin-bottom:14px}.student-roster-list{max-height:360px;overflow:auto}.student-roster-row>label{flex:1;min-width:0}.student-roster-row>label span{overflow-wrap:anywhere}.student-roster-row button{flex-shrink:0}.selection-count{color:#695794;white-space:nowrap;font-size:13px}@media (width<=600px){.demo-notice{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.student-roster-row{flex-wrap:wrap;gap:6px;padding:8px}.student-roster-row>label{flex-basis:100%}.roster-batch-actions{gap:8px}}.batch-student-names{color:#65557d;overflow-wrap:anywhere;background:#f5f1fb;border-radius:10px;max-height:100px;padding:10px 12px;line-height:1.7;overflow:auto}.toolbar>.danger-ghost{color:#ad4057;background:#fff4f6;border:1px solid #e8c8cf}.offline-transfer{line-height:1.7}.offline-transfer button{min-height:44px;color:var(--blue-dark);white-space:normal;background:#edf4ff;border-radius:11px;justify-content:center;align-items:center;gap:7px;margin:3px 4px 3px 0;padding:9px 15px;font-weight:700;display:inline-flex}.offline-transfer .data-actions{flex-wrap:wrap;gap:8px;display:flex}.offline-transfer [role=status]{overflow-wrap:anywhere;margin-top:14px}.offline-help{overflow-wrap:anywhere;background:0 0;border:0;margin-top:20px;padding:0}.offline-help summary{cursor:pointer;min-height:44px;color:var(--blue-dark);padding:8px 0;font-weight:700}.offline-help-steps{margin:14px 0;padding-left:24px}.offline-help .offline-help-steps>li{background:0 0;border:0;margin:0 0 20px;padding:0 0 0 3px}.offline-help-steps>li::marker{color:#3c387a;font-size:18px;font-weight:800}.offline-help-step-title{color:#3c387a;align-items:center;gap:7px;font-size:17px;font-weight:800;display:flex}.offline-help-step-title svg{flex-shrink:0}.offline-help-steps p{margin:6px 0 0}.offline-help-steps p strong{color:#304b82}.offline-help-warning{color:#8a4d0a;margin:14px 0 0;padding:0}.offline-import-preview,.offline-sync-recovery{margin-top:20px}.offline-guide-backdrop{z-index:10020}.offline-guide{color:#302c48;background:#fff;border-radius:20px;width:min(600px,100vw - 24px);max-height:calc(100dvh - 32px);padding:24px;line-height:1.7;overflow-y:auto;box-shadow:0 20px 60px #18122b55}.offline-guide h2{margin-top:0;font-size:22px}.offline-guide button{color:#304b82;background:#edf4ff;border-radius:12px;min-height:44px;margin:4px;padding:10px 16px;font-weight:700}.offline-guide button:disabled{opacity:.6}.offline-editions{border:0;min-width:0;margin:12px 0;padding:0}.offline-editions legend{font-weight:700}.offline-editions label{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.offline-editions input{flex:none;width:18px;height:18px;margin-top:7px}.offline-editions small{color:#55516b;font-size:14px;display:block}@media (width<=480px){.offline-guide{padding:18px}.offline-guide h2{font-size:19px}}.classroom-tools-bar{background:#fff;border:1px solid #e1eaf7;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;margin:0 0 18px;padding:12px;display:grid}.classroom-tools-bar>button{color:#344964;min-width:0;height:46px;font:inherit;white-space:nowrap;background:#f7faff;border:1px solid #e6edf7;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:14px;font-weight:700;line-height:20px;display:flex}.classroom-tools-bar>button>svg{color:#5282d1;flex:0 0 18px;width:18px;height:18px}.classroom-tools-bar>button:nth-of-type(2){background:#f3effd;border-color:#e2d9f5}.classroom-tools-bar>button:nth-of-type(2)>svg{color:#8770bf}.classroom-tools-bar>button:nth-of-type(3){background:#f0faf5;border-color:#ddecdf}.classroom-tools-bar>button:nth-of-type(3)>svg{color:#3d906d}.classroom-tool-dialog{width:min(1180px,100vw - 48px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 48px);color:var(--ink);background:#f7faff;border:1px solid #dfe8f4;border-radius:24px;padding:0;overflow:auto;box-shadow:0 28px 100px #14274640}.classroom-tool-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a2c48a8}.classroom-tool-shell{min-width:0}.classroom-tool-header{z-index:5;background:#fff;border-bottom:1px solid #e4ebf5;justify-content:space-between;align-items:flex-start;gap:16px;padding:25px 30px 22px;display:flex;position:sticky;top:0}.classroom-tool-header h2{letter-spacing:-.6px;margin:5px 0 7px;font-size:26px}.classroom-tool-header p{color:#748399;margin:0;font-size:13px;line-height:1.6}.classroom-tool-header .icon-button{flex-shrink:0}.classroom-tool-dialog button{cursor:pointer}.classroom-tool-dialog button:disabled{cursor:default;opacity:.48}.classroom-tool-dialog button:focus-visible,.classroom-tools-bar button:focus-visible{outline-offset:3px;outline:3px solid #92b6fa}.classroom-tool-dialog input:not([type=checkbox]),.classroom-tool-dialog select,.classroom-tool-dialog textarea{color:#344964;width:100%;min-width:0;min-height:42px;font:inherit;background:#fff;border:1px solid #dce5f1;border-radius:10px;padding:9px 11px;font-size:13px}.classroom-tool-dialog button:not(.primary-button):not(.icon-button){font:inherit}.tool-error{color:#a24336;background:#fff0ed;border-radius:10px;padding:10px 12px;font-size:13px}.tool-empty{text-align:center;align-content:center;justify-items:center;min-height:340px;display:grid}.tool-empty>svg{color:#7396cf;background:#e8f0ff;border-radius:20px;width:60px;height:60px;padding:14px}.tool-empty h3{margin:20px 0 8px;font-size:22px}.tool-empty p,.tool-empty-line{color:#7e8ca0;font-size:13px;line-height:1.8}.tool-empty-line{text-align:center;padding:20px 14px}.tool-segment{background:#edf2f9;border-radius:10px;gap:4px;padding:4px;display:flex}.tool-segment button{color:#7d899d;background:0 0;border:0;border-radius:8px;flex:1;min-height:36px;font-size:13px!important}.tool-segment button[aria-pressed=true]{color:#365c96;background:#fff;font-weight:700;box-shadow:0 2px 5px #31476c0c}.task-workspace{grid-template-columns:245px minmax(0,1fr);min-height:530px;display:grid}.task-sidebar{background:#f2f6fc;border-right:1px solid #e2eaf4;padding:20px 16px}.task-list{gap:8px;max-height:270px;margin:16px 0 24px;display:grid;overflow:auto}.task-list button{text-align:left;color:#536780;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:28px minmax(0,1fr);gap:4px 7px;padding:12px 10px;display:grid}.task-list button.active{background:#fff;border-color:#cadcf8;box-shadow:0 4px 10px #38558b08}.task-list button>span{grid-row:span 2;align-self:center;font-size:21px}.task-list button b{overflow-wrap:anywhere;font-size:13px}.task-list button small{color:#8a99ad;font-size:10px}.task-create{gap:10px;display:grid}.task-create h3{margin:0 0 2px;font-size:14px}.task-create .primary-button{justify-content:center}.task-main{min-width:0;padding:25px}.task-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.task-heading h3{overflow-wrap:anywhere;margin:5px 0 0;font-size:23px}.task-heading>button,.wheel-settings-heading>button{color:#6b7c94;white-space:nowrap;background:#fff;border:1px solid #dde7f4;border-radius:9px;align-items:center;gap:6px;padding:8px 11px;display:flex;font-size:12px!important}.task-progress{margin:22px 0}.task-progress>div:first-child{align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.task-progress strong{font-variant-numeric:tabular-nums;font-size:30px}.task-progress strong small{color:#8b9ab0;font-size:17px;font-weight:500}.task-progress span{color:#8291a7;font-size:12px}.task-progress b{color:#479d82;margin-left:auto;font-size:13px}.task-progress .progress-track{background:#e6edf5;height:8px}.task-progress .progress-track i{background:#6ac6a6}.task-reward-bar{background:#fff;border:1px solid #e4eaf3;border-radius:13px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;padding:13px;display:flex}.task-reward-bar label{color:#75849a;flex:1;align-items:center;gap:8px;min-width:200px;font-size:12px;display:flex}.task-reward-bar select{flex:1;max-width:220px}.task-reward-bar small{color:#8d9aad;width:100%;font-size:11px}.task-penalty-bar{background:#fff8f6;border:1px solid #f1d9d5;border-radius:11px;gap:9px;margin-bottom:14px;padding:12px;display:grid}.task-penalty-bar label{color:#985a50;gap:7px;min-width:0;font-size:12px;display:grid}.task-penalty-bar small{color:#98736d;font-size:11px;line-height:1.6}.task-penalty-button{color:#b34738;background:#fff;border:1px solid #e7bbb3;border-radius:9px;min-height:44px;padding:9px;font-size:13px!important}.task-student>button>small.task-penalty-status{color:#b34738}.task-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.task-column{background:#fff;border:1px solid #e0e7f1;border-radius:15px;min-width:0;min-height:180px;padding:15px 12px}.task-column h4{color:#75869d;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;display:flex}.task-column h4>span{color:#d9a24d}.task-column h4>b{margin-left:auto;font-size:15px}.task-column.done{background:#f3fbf7;border-color:#daece2}.task-column.done h4,.task-column.done h4>span{color:#368c69}.task-students{grid-template-columns:repeat(auto-fill,minmax(min(135px,100%),1fr));align-content:start;gap:7px;max-height:340px;padding:2px;display:grid;overflow:auto}.task-student{background:#fff;border:1px solid #e6edf4;border-radius:10px;overflow:hidden}.task-student>button:first-child{text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:11px 9px;display:flex}.task-student>button>span{color:#96a2b3;font-size:10px}.task-student>button>b{color:#384e6a;overflow-wrap:anywhere;font-size:13px}.task-student>button>small{color:#82a191;flex-shrink:0;margin-left:auto;font-size:10px}.task-exclude{color:#8d9bae;background:0 0;border:0;margin:0 8px 5px auto;padding:2px 5px;display:block;font-size:10px!important}.task-excluded{color:#8897ab;margin-top:20px;font-size:12px}.task-excluded summary{cursor:pointer}.task-excluded>div{flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.task-excluded button{color:#6482ac;background:#fff;border:1px solid #dae4f3;border-radius:9px;padding:7px 10px;font-size:12px!important}.reward-wheel-workspace{grid-template-columns:minmax(0,1fr) 330px;display:grid}.reward-wheel-main{text-align:center;background:radial-gradient(at 50% 45%,#e9e1fa 0,#f6f2fd 48%,#fbfaff 85%);min-width:0;padding:25px 30px}.wheel-title h3{color:#544277;margin:7px 0 15px;font-size:27px}.wheel-frame{aspect-ratio:1;border:10px solid #b9a2df;border-radius:50%;width:min(350px,100%);margin:18px auto 28px;position:relative;box-shadow:0 0 0 5px #fcfaff,0 0 0 6px #d9cdec,0 15px 32px #7455a828}.reward-wheel-disc{border-radius:50%;transition:transform 2.5s cubic-bezier(.15,.7,.15,1);position:absolute;inset:0;overflow:hidden}.wheel-sector-label{transform:rotate(var(--sector-angle));pointer-events:none;position:absolute;inset:0}.wheel-sector-label>span{color:#56446e;overflow-wrap:anywhere;text-align:center;width:110px;font-size:12px;font-weight:800;line-height:1.3;position:absolute;top:13%;left:50%;transform:translate(-50%)rotate(-90deg)}.wheel-pointer{z-index:3;clip-path:polygon(50% 0,100% 35%,50% 100%,0 35%);background:linear-gradient(#bca2e4,#7459ad);width:32px;height:42px;position:absolute;top:-21px;left:50%;transform:translate(-50%)}.wheel-center{color:#9475bf;background:#fdfaff;border:5px solid #d8c8ef;border-radius:50%;place-items:center;display:grid;position:absolute;inset:35%;overflow:hidden;box-shadow:0 4px 15px #735b9d30}.wheel-center svg{width:32px;height:32px}.wheel-center .wheel-companion{width:100%;height:100%;margin:0;padding:5px}.wheel-center .wheel-companion img{filter:none}.wheel-pet-note{color:#9382af;margin:-12px 0 15px;font-size:11px}.wheel-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.wheel-controls select{max-width:230px}.wheel-controls .primary-button{background:linear-gradient(135deg,#a38bd7,#7760b7);border-color:#9b82d0;box-shadow:0 7px 16px #8265b826}.wheel-result{place-content:center;gap:8px;min-height:105px;margin-top:14px;display:grid}.wheel-result>span{color:#9b80ba;font-size:12px}.wheel-result>strong{color:#6f50a0;overflow-wrap:anywhere;font-size:25px}.wheel-result small,.wheel-result p{color:#9688a5;font-size:12px;line-height:1.7}.wheel-sidebar{background:#fff;border-left:1px solid #e5eaf2;min-width:0;padding:24px 22px}.wheel-settings-heading{justify-content:space-between;align-items:center;display:flex}.wheel-settings-heading h3{align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.wheel-reward-list{gap:10px;margin:20px 0 28px;padding:0;list-style:none;display:grid}.wheel-reward-list li{color:#5d6a7e;overflow-wrap:anywhere;align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.wheel-reward-list i{color:#7c6598;border-radius:8px;flex:0 0 25px;place-items:center;height:25px;font-size:11px;font-style:normal;display:grid}.wheel-edit{gap:12px;margin-top:18px;display:grid}.wheel-edit label{color:#75869e;gap:7px;font-size:12px;display:grid}.wheel-edit small{color:#8c9aae;font-size:11px;line-height:1.7}.wheel-history-title{border-top:1px solid #e7edf5;padding-top:20px;font-size:14px}.wheel-history-title small{float:right;color:#9ba7b8;font-size:11px;font-weight:400}.wheel-history{max-height:260px;overflow:auto}.wheel-history article{border-bottom:1px solid #edf1f7;padding:12px 0}.wheel-history article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.wheel-history b{font-size:12px}.wheel-history time{color:#9aa6b7;font-size:10px}.wheel-history strong{color:#8b6bb4;margin:7px 0;font-size:14px;display:block}.wheel-history button{color:#8b70ae;background:#f6f2fc;border:1px solid #e1d8ee;border-radius:7px;padding:5px 8px;font-size:11px!important}.pet-care-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);display:grid}.pet-care-config{padding:27px 30px}.care-intro{align-items:center;gap:15px;margin-bottom:24px;display:flex}.care-intro>span{font-size:40px}.care-intro h3{margin:0 0 7px;font-size:21px}.care-intro p,.care-rule-note{color:#8290a4;margin:0;font-size:12px;line-height:1.9}.care-switch{background:#f0f9f4;border:1px solid #dbe9e2;border-radius:13px;align-items:center;gap:12px;padding:15px;display:flex}.care-switch input{accent-color:#4d9d78;width:19px;height:19px}.care-switch span{gap:4px;display:grid}.care-switch b{font-size:14px}.care-switch small{color:#7b9284;font-size:11px}.care-stages{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 12px;display:grid}.care-stages label{background:#fff;border:1px solid #e4eaf3;border-radius:12px;gap:15px;padding:14px 10px;display:grid}.care-stages b{font-size:12px}.care-stages label>span{color:#8c99ab;align-items:center;gap:5px;font-size:11px;display:flex}.care-stages input{color:#607792!important;min-height:35px!important;padding:5px!important;font-size:18px!important;font-weight:700!important}.care-rule-note{margin:0 0 20px}.care-vacation{border-top:1px solid #e1eaf2;align-items:center;gap:10px;margin-top:28px;padding:17px 0;display:flex}.care-vacation>span{font-size:29px}.care-vacation>div{flex:1}.care-vacation h3{margin:0 0 5px;font-size:14px}.care-vacation p{color:#8a98aa;margin:0;font-size:11px;line-height:1.7}.care-vacation button,.care-student-row>button{color:#538968;white-space:nowrap;background:#fff;border:1px solid #d9e7df;border-radius:9px;padding:8px 10px;font-size:12px!important}.care-student-panel{background:#fff;border-left:1px solid #e4ebf3;padding:25px 22px}.care-student-panel>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.care-student-panel h3{margin:0;font-size:16px}.care-student-panel>header>small{color:#94a1b3;font-size:10px}.care-student-list{max-height:420px;overflow:auto}.care-student-row{border-bottom:1px solid #edf1f6;align-items:center;gap:10px;padding:9px 0;display:flex}.care-mini-pet{flex:0 0 52px;width:52px;height:60px;margin:0}.care-mini-pet img{max-width:100%;max-height:100%}.care-student-row>div:not(.pet-visual){flex:1;min-width:0}.care-student-row b{font-size:12px;display:block}.care-student-row b>small{color:#98a4b5;margin-top:3px;font-size:10px;font-weight:400;display:block}.care-student-row>div>small{color:#9aa5b4;font-size:10px}.pet-care-badge{color:#75a18a;align-items:center;gap:4px;margin-top:5px;font-size:10px;line-height:1.5;display:inline-flex}.pet-care-badge.care-hungry{color:#b88a38}.pet-care-badge.care-critical{color:#c66f5c}.pet-care-badge.care-dead{color:#7a8190}.pet-card.care-dead>.pet-visual,.care-student-row.care-dead>.pet-visual{filter:grayscale(.9);opacity:.65}.pet-card__identity{flex-wrap:wrap}.pet-card__identity>.pet-care-badge{background:0 0;border:0;width:100%;padding:0;font-weight:400}.drawer-care{background:#f3f8f4;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 15px;padding:8px 12px;display:flex}.drawer-care button{color:#5a8667;font:inherit;background:#fff;border:1px solid #dce9df;border-radius:8px;padding:5px 9px;font-size:12px}.class-layout-workspace{padding:25px 30px}.layout-options{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.layout-options label{align-items:center;gap:12px;font-size:13px;display:flex}.layout-options select{width:auto}.layout-options p{color:#98a3b5;margin:0;font-size:11px}.layout-options>button{color:#6f829c;background:#fff;border:1px solid #dce5f1;border-radius:8px;margin-left:auto;padding:9px 11px;font-size:12px!important}.seat-front{color:#7e97bd;text-align:center;letter-spacing:7px;background:#e9f0fb;border:1px solid #d6e2f5;border-bottom:4px solid #b9cdea;border-radius:10px;width:45%;min-width:180px;margin:24px auto 12px;padding:10px;font-size:12px}.seat-instruction{color:#7a8ca5;text-align:center;font-size:12px;line-height:1.8}.seat-grid{grid-template-columns:repeat(var(--seat-columns),minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.seat-grid>button{text-align:left;color:#526785;cursor:grab;background:#fff;border:1px solid #dfe7f2;border-radius:13px;gap:7px;min-width:0;padding:12px;display:grid}.seat-grid>button.selected{background:#eef5ff;border-color:#77a4eb;outline:3px solid #a5c5f8}.seat-number{color:#9eaec3;justify-content:space-between;font-size:10px;display:flex}.seat-grid strong{overflow-wrap:anywhere;font-size:14px}.seat-grid small{color:#99a7ba;font-size:10px}.layout-save{border-top:1px solid #e3ebf5;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.layout-save p{color:#8899b0;font-size:12px}.hall-main .pet-grid.custom-density{grid-template-columns:repeat(var(--class-columns),minmax(0,1fr))}.custom-density .pet-card{min-width:0}.custom-density .pet-card__top strong,.custom-density .pet-card__stats{flex-wrap:wrap}.custom-density .pet-card__stats span{min-width:70px}@media (width>=1200px){.custom-density[data-columns="6"] .pet-card{padding:12px 10px}.custom-density[data-columns="6"] .pet-visual{height:150px}.custom-density[data-columns="6"] .pet-card__top strong{font-size:14px}}@media (width<=1100px){.hall-main .pet-grid.custom-density{grid-template-columns:repeat(min(var(--class-columns),4),minmax(0,1fr))}.reward-wheel-workspace{grid-template-columns:minmax(0,1fr) 280px}.wheel-sector-label>span{width:90px;font-size:10px}.task-workspace{grid-template-columns:210px minmax(0,1fr)}.task-main{padding:20px}}@media (width<=780px){.classroom-tool-dialog{border-radius:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.classroom-tool-header{padding:19px}.classroom-tool-header h2{font-size:22px}.task-workspace{grid-template-columns:1fr}.task-sidebar{border-bottom:1px solid #e3eaf4;border-right:0;padding:15px}.task-list{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));max-height:155px;margin:12px 0}.task-create{grid-template-columns:115px minmax(0,1fr) auto;gap:7px}.task-create h3{display:none}.task-create .primary-button{padding:9px 12px;font-size:12px}.task-main{padding:18px}.task-heading h3{font-size:20px}.pet-care-workspace{grid-template-columns:1fr}.care-student-panel{border-top:1px solid #e5ecf4;border-left:0}.pet-care-config{padding:22px}.reward-wheel-workspace{grid-template-columns:minmax(0,1fr)}.wheel-sidebar{border-top:1px solid #e2e9f3;border-left:0}.wheel-reward-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-frame{width:320px;max-width:100%}.wheel-sector-label>span{font-size:11px}.hall-main .pet-grid.custom-density{grid-template-columns:repeat(min(var(--class-columns),3),minmax(0,1fr))}.seat-grid{grid-template-columns:repeat(min(var(--seat-columns),4),minmax(0,1fr))}.class-layout-workspace{padding:20px}}@media (width<=540px){.classroom-tools-bar{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;padding:10px;display:grid}.classroom-tools-bar>button{gap:8px;padding:0 10px;font-size:14px}.task-columns{gap:8px}.task-column{padding:12px 7px}.task-column h4{gap:5px;font-size:12px}.task-student>button:first-child{flex-wrap:wrap;gap:4px 6px;padding:10px 7px}.task-student>button>b{font-size:12px}.task-student>button>small{font-size:9px}.task-create{grid-template-columns:105px minmax(0,1fr)}.task-create .primary-button{grid-column:1/-1}.task-reward-bar label{width:100%}.task-reward-bar .primary-button{justify-content:center;width:100%}.reward-wheel-main{padding:22px 20px}.wheel-frame{border-width:8px;width:280px}.wheel-sector-label>span{width:88px;font-size:10px}.wheel-title h3{font-size:23px}.wheel-controls{display:grid}.wheel-controls select{max-width:none}.wheel-result strong{font-size:22px}.care-stages{gap:6px}.care-stages label{padding:11px 7px}.care-stages b{font-size:10px}.care-vacation{flex-wrap:wrap}.care-student-panel{padding:20px}.care-student-list{max-height:360px}.layout-options label{justify-content:space-between;width:100%}.layout-options>button{margin:0}.seat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.seat-grid>button{padding:10px 8px}.seat-grid strong{font-size:12px}.layout-save{flex-direction:column;align-items:stretch;gap:10px}.layout-save .primary-button{justify-content:center}.layout-save p{margin:0}.hall-main .pet-grid.custom-density{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.reward-wheel-disc{transition:none}}.classroom-tool-links h2{color:#a9a2c5;margin:14px 12px 5px;font-size:11px;font-weight:600;line-height:18px}.classroom-tool-links button{color:#d3cde9;text-align:left;width:100%;min-height:40px;font:inherit;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:600;display:flex}.classroom-tool-links button svg{flex-shrink:0;width:18px;height:18px}.classroom-tool-links button:hover{color:#fff;background:#ffffff1a}.classroom-tool-links button:focus-visible,.mobile-classroom-tools>summary:focus-visible{outline-offset:2px;outline:2px solid #bed9ff}.mobile-classroom-tools{position:relative}.mobile-classroom-tools>summary{cursor:pointer;list-style:none}.mobile-classroom-tools>summary::-webkit-details-marker{display:none}.mobile-classroom-tools>.classroom-tool-links{background:#332f57;border:1px solid #e5e0f0;border-radius:14px;width:190px;max-width:calc(100vw - 24px);padding:5px 10px 12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 36px #201b4933}@media (width<=780px){.mobile-head:has(>.mobile-classroom-tools){grid-template-columns:minmax(0,1fr) repeat(5,auto)}.mobile-head:has(>.mobile-classroom-tools)>.hall-return-link{grid-column:5/7}.mobile-head>.mobile-classroom-tools{grid-area:2/6}.mobile-head>button[aria-label=防止误触]{grid-column:5}}.classroom-tool-links button:disabled,.mobile-classroom-tools>summary[aria-disabled=true]{cursor:wait;opacity:.5}.level-growth-scene{--motion-accent:#e5c88c;--motion-ink:#c3a166;--motion-white:#fffaf0;--motion-halo:#f1dbaf;--haze-gain:1;--motion-shadow:#7d6d571c;isolation:isolate;aspect-ratio:320/300;width:360px;max-width:100%;color:var(--motion-ink);position:relative}.level-growth-scene *,.level-growth-scene :before,.level-growth-scene :after{box-sizing:border-box}.motion-ground{z-index:-1;background:color-mix(in srgb, var(--motion-halo) 22%, transparent);filter:blur(16px);border-radius:50%;height:8%;animation:.8s both motion-ground-in;position:absolute;bottom:12%;left:22%;right:22%}.motion-haze{z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 48% 44%, var(--motion-white) 0%, color-mix(in srgb, var(--motion-halo) 62%, transparent) 28%, color-mix(in srgb, var(--motion-accent) 38%, transparent) 48%, transparent 72%);filter:blur(22px);animation:motion-golden-breath var(--motion-duration) both;border-radius:50%;position:absolute;inset:8% 1% 5%}.motion-haze:after{content:"";background:radial-gradient(ellipse at 50% 65%, transparent 34%, color-mix(in srgb, var(--motion-halo) 50%, transparent) 48%, transparent 66%);filter:blur(12px);position:absolute;inset:13% 7% 2%}.motion-gold-dust{z-index:1;pointer-events:none;position:absolute;inset:0}.motion-gold-dust i{left:var(--dust-x);top:var(--dust-y);width:var(--dust-size);height:var(--dust-size);background:var(--motion-accent);box-shadow:0 0 5px var(--motion-white), 0 0 10px color-mix(in srgb, var(--motion-halo) 55%, transparent);animation:motion-golden-drift calc(var(--motion-duration) - 1.2s) var(--dust-delay) both;border-radius:50%;position:absolute}.motion-effects,.motion-art{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.motion-art{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--motion-accent) 38%, transparent)) drop-shadow(0 0 11px color-mix(in srgb, var(--motion-halo) 28%, transparent))}.motion-character{z-index:2;position:absolute;inset:14% 16% 15%}.motion-before,.motion-after{position:absolute;inset:0}.motion-character .pet-visual{place-items:center;width:100%;height:100%;margin:0;display:grid;position:relative}.motion-character img{object-fit:contain;width:auto;max-width:100%;height:100%;max-height:100%;filter:drop-shadow(0 12px 13px var(--motion-shadow));display:block}.motion-before{animation:1.2s .35s both motion-old-dissolve}.motion-after{animation:1s cubic-bezier(.16,.8,.28,1) .1s both motion-new-arrive}.motion-settle-sparkles{z-index:4;pointer-events:none;position:absolute;inset:0}.motion-settle-sparkles i{left:calc(12% + var(--i) * 24%);animation:motion-settle-star 1s calc(var(--motion-duration) - 1.7s + var(--i) * .12s) both;font-size:14px;font-style:normal;position:absolute;top:23%}.motion-settle-sparkles i:nth-child(2n){top:67%}.motion-settle-sparkles i:nth-child(odd){top:23%}.motion-hatch .motion-before{animation:1.5s both motion-egg-shake}.motion-hatch .motion-effects{z-index:3}.motion-hatch .motion-after{animation:1s cubic-bezier(.18,.8,.25,1.15) 1.2s both motion-hatch-reveal}.hatch-cracks{stroke:var(--motion-ink);stroke-width:3px;stroke-dasharray:100;stroke-dashoffset:100px;filter:drop-shadow(0 0 5px var(--motion-halo));animation:1.65s .25s both motion-crack-light}.hatch-shine{stroke-width:2px}.motion-ripple .motion-after{transform-origin:50% 95%;animation:2.2s cubic-bezier(.25,.6,.35,1) both motion-light-jump}.ripple-waves ellipse{transform-origin:160px 236px;animation:motion-contact-ripple 2.4s calc(1.03s + var(--i) * .22s) both;stroke-width:1.5px}.motion-beam .motion-before{animation-delay:.45s}.motion-beam .motion-after{animation:1.1s 1.4s both motion-beam-reveal}.beam-columns rect{stroke:none;transform-origin:50% 100%;filter:blur(7px);animation:motion-beam-rise 3.1s calc(var(--i) * 70ms) both}.beam-base{transform-origin:160px 239px;animation:3.1s both motion-beam-base}.orbit-track{transform-origin:160px 150px;transform:rotate(calc(var(--i) * 58deg - 35deg))}.orbit-track>ellipse{opacity:.25;stroke-width:1px}.orbit-star{transform-origin:160px 150px;animation:motion-orbit-travel 3.5s calc(var(--i) * .18s) cubic-bezier(.3,.05,.3,1) both}.orbit-star path{fill:currentColor;stroke:#fff;stroke-width:1px;filter:drop-shadow(0 0 5px var(--motion-white)) drop-shadow(0 0 10px var(--motion-halo))}.motion-bloom .motion-after{animation:1.25s 1s both motion-bloom-reveal}.bloom-ring{transform-origin:160px 150px;animation:motion-ring-open 3s calc(.5s + var(--i) * .23s) both;stroke-width:1.8px}.bloom-ring:nth-child(2){stroke-dasharray:3 8}.bloom-ray{transform-origin:160px 150px;fill:currentColor;stroke:none;animation:motion-shard-bloom 2.8s calc(.9s + var(--i) * 35ms) both}.motion-spiral .motion-after{animation:3.9s cubic-bezier(.22,.7,.28,1) both motion-spiral-lift}.spiral-ribbon{stroke-width:5px;stroke-dasharray:700;stroke-dashoffset:700px;filter:blur(.5px) drop-shadow(0 0 7px color-mix(in srgb, var(--motion-halo) 65%, transparent));animation:4s both motion-helix-trace}.ribbon-two{stroke-width:2px;animation-delay:.25s}.spiral-mote{fill:currentColor;stroke:none;animation:motion-helix-mote 2.6s calc(.3s + var(--i) * .24s) both}.motion-curtain .motion-before{animation-duration:1.3s;animation-delay:.3s}.motion-curtain .motion-after{animation:1.4s 1.35s both motion-curtain-reveal}.light-curtain{z-index:3;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--motion-halo) 65%, transparent) 28%, color-mix(in srgb, var(--motion-white) 66%, transparent) 52%, color-mix(in srgb, var(--motion-accent) 44%, transparent) 76%, transparent);filter:blur(8px);width:48%;box-shadow:0 0 30px color-mix(in srgb, var(--motion-halo) 30%, transparent);border:0;position:absolute;top:5%;bottom:8%}.curtain-left{transform-origin:0;border-radius:30px 0 0 30px;animation:3.6s both motion-curtain-left;left:2%}.curtain-right{transform-origin:100%;border-radius:0 30px 30px 0;animation:3.6s both motion-curtain-right;right:2%}.curtain-rays path{filter:blur(3px);stroke-width:9px;opacity:.3;animation:motion-curtain-ray 3.3s calc(.6s + var(--i) * 40ms) both}.constellation-line{stroke-width:1.3px;stroke-dasharray:1;stroke-dashoffset:1px;animation:motion-star-connect .48s calc(.35s + var(--i) * .3s) both}.constellation-star{fill:currentColor;stroke:#fff;stroke-width:1.2px;opacity:0;animation:motion-star-light .7s calc(.18s + var(--i) * .3s) both}.constellation-inner{opacity:.28;stroke-width:.8px;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.2s 2.7s both motion-star-connect}.motion-constellation .motion-after{animation:2.8s both motion-constellation-arrive}.portal-ring{transform-origin:160px 146px;animation:4.1s both motion-portal-open}.portal-outer{stroke-width:3.5px;filter:blur(.6px) drop-shadow(0 0 7px var(--motion-white)) drop-shadow(0 0 17px var(--motion-halo))}.portal-inner{stroke-width:1.5px;animation-delay:.15s}.portal-rune{fill:var(--motion-accent);stroke:#fff;stroke-width:1px;animation:3.8s .25s both motion-rune-light}.portal-core{background:radial-gradient(ellipse, color-mix(in srgb, var(--motion-white) 12%, transparent) 12%, color-mix(in srgb, var(--motion-halo) 32%, transparent) 48%, transparent 74%);filter:blur(12px);border-radius:50%;animation:3.5s both motion-portal-core;position:absolute;inset:9% 19%}.motion-portal .motion-before{animation:1.55s both motion-portal-old}.motion-portal .motion-after{animation:1.65s cubic-bezier(.2,.8,.25,1) 1.7s both motion-portal-step}.motion-coronation .motion-character{inset:20% 16% 11%}.motion-coronation .motion-after{animation:2.2s both motion-coronation-rise}.motion-crown{z-index:4;width:28%;height:24%;stroke:var(--motion-ink);stroke-width:3px;stroke-linejoin:round;fill:none;filter:drop-shadow(0 3px 10px color-mix(in srgb, var(--motion-halo) 34%, transparent));animation:2s both motion-crown-land;position:absolute;top:3%;left:36%;overflow:visible}.crown-outline{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.25s .35s both motion-crown-draw}.crown-fill{fill:color-mix(in srgb, var(--motion-accent) 45%, var(--motion-white));stroke:none;animation:.8s 1.3s both motion-crown-fill}.crown-base{stroke-width:6px;animation:.6s 1.5s both motion-crown-fill}.crown-gem{fill:var(--motion-white);stroke:#fff;stroke-width:1px;animation:motion-gem-light .6s calc(1.65s + var(--i) * .22s) both}.firework path{stroke:currentColor;stroke-width:2.4px;animation:motion-firework-ray 2s calc(1.8s + var(--i) * .45s) both}.firework:nth-child(2){color:var(--motion-accent)}.coronation-confetti{z-index:5;pointer-events:none;position:absolute;inset:-18% -12% -15%;overflow:hidden}.coronation-confetti i{top:-5%;left:var(--x);background:var(--motion-accent);width:4px;height:8px;filter:blur(.4px) drop-shadow(0 0 3px var(--motion-halo));animation:motion-confetti-fall 2.5s var(--confetti-delay) both;border-radius:50%;position:absolute}.coronation-confetti i:nth-child(3n+1){background:var(--motion-halo)}.coronation-confetti i:nth-child(3n+2){background:var(--motion-white);border:1px solid var(--motion-accent)}@keyframes motion-golden-breath{0%{opacity:0;transform:scale(.65)}25%,50%{opacity:calc(var(--haze-strength) * var(--haze-gain));transform:scale(1)}to{opacity:calc(var(--haze-strength) * var(--haze-gain) * .35);transform:scale(1.13)}}@keyframes motion-golden-drift{0%{opacity:0;transform:translateY(16px)scale(.4)}28%,60%{opacity:.75}to{opacity:.08;transform:translate(var(--dust-drift),-24px) scale(.65)}}@keyframes motion-ground-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes motion-old-dissolve{0%,35%{opacity:1;transform:scale(1)}to{opacity:0;filter:brightness(1.65)blur(3px);transform:scale(.86)}}@keyframes motion-new-arrive{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:none}}@keyframes motion-settle-star{0%{opacity:0;transform:scale(.2)rotate(-25deg)}35%{opacity:.8;transform:scale(1.2)rotate(0)}to{opacity:.3;transform:scale(.65)}}@keyframes motion-egg-shake{0%,16%{opacity:1;transform:rotate(0)}28%,48%{transform:rotate(-8deg)}38%,58%{transform:rotate(8deg)}72%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.12)}}@keyframes motion-hatch-reveal{0%{opacity:0;transform:translateY(18px)scale(.72)}68%{opacity:1;transform:translateY(-6px)scale(1.04)}to{opacity:1;transform:none}}@keyframes motion-crack-light{0%{opacity:0;stroke-dashoffset:100px}35%,70%{opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}@keyframes motion-light-jump{0%{opacity:1;transform:scale(1)}16%{transform:scale(1.04,.93)}34%{transform:translateY(-35px)scale(.98,1.03)}48%{transform:translateY(2px)scale(1.04,.94)}62%{transform:translateY(-8px)}80%,to{transform:none}}@keyframes motion-contact-ripple{0%{opacity:0;transform:scale(.25)}15%{opacity:.85}to{opacity:.16;transform:scale(1.2)}}@keyframes motion-beam-rise{0%{opacity:0;transform:scaleY(0)}30%,55%{opacity:.5;transform:scaleY(1)}to{opacity:.04;transform:scaleY(1.06)}}@keyframes motion-beam-base{0%{opacity:0;transform:scaleX(.2)}35%,60%{opacity:.9;transform:scaleX(1)}to{opacity:.15;transform:scaleX(1.12)}}@keyframes motion-beam-reveal{0%{opacity:0;filter:none;transform:translateY(16px)scale(.93)}to{opacity:1;filter:none;transform:none}}@keyframes motion-orbit-travel{0%{opacity:0;transform:rotate(-80deg)scale(.5)}12%{opacity:1}78%{opacity:1;transform:rotate(280deg)scale(1)}to{opacity:.65;transform:rotate(310deg)scale(.86)}}@keyframes motion-ring-open{0%{opacity:0;transform:scale(.12)}25%{opacity:.9}80%,to{opacity:.26;transform:scale(1)}}@keyframes motion-shard-bloom{0%{opacity:0;transform:scale(.3)}30%{opacity:.9;transform:scale(.8)}to{opacity:.15;transform:scale(1.1)}}@keyframes motion-bloom-reveal{0%{opacity:0;transform:scale(.52)}70%{opacity:1;transform:scale(1.07)}to{opacity:1;transform:none}}@keyframes motion-spiral-lift{0%,12%{opacity:1;transform:none}48%{transform:translateY(-25px)rotate(-3deg)}70%{transform:translateY(-25px)rotate(3deg)}to{transform:none}}@keyframes motion-helix-trace{0%{opacity:0;stroke-dashoffset:700px}18%{opacity:1}65%{opacity:1;stroke-dashoffset:0}to{opacity:.24;stroke-dashoffset:-40px}}@keyframes motion-helix-mote{0%{opacity:0;transform:translateY(18px)}30%{opacity:1}to{opacity:0;transform:translateY(-65px)}}@keyframes motion-curtain-left{0%{opacity:0;transform:scaleX(0)}20%,36%{opacity:.68;transform:scaleX(1)}80%,to{opacity:.08;transform:translate(-26%)scaleX(.12)}}@keyframes motion-curtain-right{0%{opacity:0;transform:scaleX(0)}20%,36%{opacity:.68;transform:scaleX(1)}80%,to{opacity:.08;transform:translate(26%)scaleX(.12)}}@keyframes motion-curtain-reveal{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}@keyframes motion-curtain-ray{0%,25%{opacity:0}52%{opacity:.22}to{opacity:.04}}@keyframes motion-star-connect{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes motion-star-light{0%{opacity:0}45%{opacity:1;filter:drop-shadow(0 0 8px)}to{opacity:.9}}@keyframes motion-constellation-arrive{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes motion-portal-open{0%{opacity:0;transform:scaleX(.03)scaleY(.65)}27%{opacity:1;transform:scaleX(.08)scaleY(1)}54%,78%{opacity:1;transform:scale(1)}to{opacity:.3;transform:scale(1.03)}}@keyframes motion-portal-core{0%{opacity:0;transform:scaleX(0)}40%,65%{opacity:.95;transform:scaleX(1)}to{opacity:.1;transform:scale(1)}}@keyframes motion-rune-light{0%,24%{opacity:0}50%,85%{opacity:1}to{opacity:.5}}@keyframes motion-portal-old{0%,35%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(5px);transform:scale(.45)}}@keyframes motion-portal-step{0%{opacity:0;filter:brightness(1.5);transform:translateY(-12px)scale(.45)}70%{opacity:1;filter:brightness();transform:scale(1.04)}to{opacity:1;filter:none;transform:none}}@keyframes motion-coronation-rise{0%{opacity:0;transform:translateY(20px)scale(.8)}65%{opacity:1;transform:translateY(-5px)scale(1.03)}to{opacity:1;transform:none}}@keyframes motion-crown-land{0%{transform:translateY(-18px)scale(.7)}75%{transform:translateY(2px)scale(1.03)}to{transform:none}}@keyframes motion-crown-draw{to{stroke-dashoffset:0}}@keyframes motion-crown-fill{0%{opacity:0}to{opacity:1}}@keyframes motion-gem-light{0%{opacity:0}60%{opacity:1;filter:drop-shadow(0 0 5px #fff)}to{opacity:1}}@keyframes motion-firework-ray{0%{opacity:0;transform:scale(.05)}20%{opacity:1}70%{opacity:.8}to{opacity:0;transform:scale(1.8)}}@keyframes motion-confetti-fall{0%{opacity:0;transform:translateY(-20px) rotate(var(--turn))}8%,85%{opacity:.9}to{opacity:0;transform:translateY(450px) rotate(calc(var(--turn) + 300deg))}}@media (prefers-reduced-motion:reduce){.level-growth-scene *,.level-growth-scene :before,.level-growth-scene :after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.motion-before,.hatch-cracks,.coronation-confetti,.light-curtain,.motion-gold-dust{display:none}.motion-after{opacity:1;clip-path:none;transform:none}}.page-stage.hall-stage{padding-top:0}.hall-main .hall-page-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hall-main .hall-toolbar{top:var(--hall-toolbar-top,0px);z-index:24;background:#faf9fd;border-radius:14px;flex-wrap:nowrap;grid-template-columns:minmax(160px,1fr) 140px 125px auto;align-items:center;gap:8px;margin:0;padding:8px;display:grid;position:sticky}.hall-stage:has(.cloud-sync-bar) .hall-toolbar{position:static}.hall-layout.with-drawer .hall-main .hall-toolbar{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}.hall-main .hall-toolbar .search-box{grid-column:auto;min-width:0;max-width:none;height:40px;padding-inline:10px}.hall-main .hall-toolbar select{width:100%;min-width:0;height:40px;padding:0 27px 0 10px;font-size:13px}.hall-main .hall-toolbar>.toolbar-button,.hall-main .hall-toolbar .primary-button{gap:6px;min-height:40px;padding:0 12px;font-size:13px;display:inline-flex}.hall-main .hall-toolbar svg{flex-shrink:0;width:17px;height:17px}.hall-main .hall-toolbar .quick-wrap{grid-column:auto;min-width:0;margin:0}.hall-main .hall-toolbar .quick-menu{max-width:calc(100vw - 32px);top:calc(100% + 8px)}.class-summary{color:#6e6884;margin:8px 2px;font-size:12px}.class-summary>summary{cursor:pointer;align-items:center;gap:16px;min-height:32px;list-style:none;display:flex}.class-summary>summary::-webkit-details-marker{display:none}.class-summary>summary:after{content:"⌄";flex-shrink:0;margin-left:auto}.class-summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--ink);font-size:13px;overflow:hidden}.class-summary>summary>span{white-space:nowrap}.class-summary-stage{align-items:center;gap:8px;display:inline-flex}.class-summary-stage progress{appearance:none;background:#e4deef;border:0;border-radius:6px;width:68px;height:5px;overflow:hidden}.class-summary-stage progress::-webkit-progress-bar{background:#e4deef}.class-summary-stage progress::-webkit-progress-value{background:linear-gradient(90deg,#62bd98,#8071d2)}.class-summary-stage progress::-moz-progress-bar{background:#8071d2}.class-summary-detail{flex-wrap:wrap;align-items:center;gap:12px;padding:5px 0 10px;display:flex}.class-summary-detail button{color:#5e50ae;background:#eeebf7;border-radius:6px;padding:4px 8px}.hall-main .hall-demo-notice{border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;min-height:30px;margin:0 0 10px;padding:4px 10px;font-size:12px;line-height:20px;display:flex}.hall-main .hall-demo-notice button{color:#6550b2;white-space:nowrap;background:0 0;min-height:24px;padding:0 6px;font-weight:700}.hall-selection{background:#eeebf7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;padding:6px 10px;display:flex}.hall-selection .toolbar-button{min-height:36px;padding-inline:12px;font-size:12px}.classroom-growth-full{min-height:132px;margin:0 0 20px}.hall-main .pet-grid{gap:12px}.hall-main .pet-card{border-radius:20px 20px 20px 7px;min-height:260px;padding:12px}.hall-main .pet-card>.pet-visual{height:130px;margin-top:2px}.hall-main .pet-card__top strong{font-size:14px}.hall-main .pet-card__identity{gap:5px;margin-top:2px}.hall-main .pet-card__identity b{font-size:13px}.hall-main .pet-card__identity span{font-size:10px}.hall-main .progress-row{margin-top:6px}.hall-main .pet-card__stats{gap:5px;margin-top:8px}.hall-main .pet-card__stats span{gap:4px;padding:7px 6px;font-size:11px}.hall-main .pet-card__stats svg{flex-shrink:0;width:15px;height:15px}@media (width>=781px){.hall-stage .hall-main{padding-top:16px}.classroom-tool-links{flex-shrink:0}}@media (width>=781px) and (width<=1050px){.hall-main .hall-toolbar{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:5px;padding:6px}.hall-main .hall-toolbar>.toolbar-button,.hall-main .hall-toolbar .primary-button{padding-inline:7px;font-size:12px}.hall-main .hall-toolbar .search-box input{font-size:12px}}@media (width<=780px){.hall-main .hall-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hall-main .hall-toolbar .search-box{grid-column:1/-1}.hall-main .hall-toolbar .quick-wrap{grid-column:2/4}.hall-main .hall-toolbar>.toolbar-button,.hall-main .hall-toolbar .primary-button{width:100%;padding-inline:8px;font-size:12px}.class-summary>summary{flex-wrap:wrap;gap:4px 10px;line-height:22px}.class-summary strong{max-width:180px}.class-summary-stage progress{width:48px}.hall-main .pet-card{min-height:250px;padding:10px}.hall-main .pet-card>.pet-visual{height:122px}.hall-main .pet-card__stats span{gap:3px;padding:6px 4px;font-size:10px}.hall-main .pet-card__stats svg{width:13px;height:13px}}.batch-bar{background:#f6f3fd;border:1px solid #d9d2f3;gap:8px;padding:10px 12px;display:grid}.batch-bar__pick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.batch-bar__pick select{border-radius:999px;min-height:36px;padding:0 12px;font-size:12px}.batch-bar__done{margin-left:auto}.batch-bar__confirm{color:#7a5410;background:#fff6e5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.batch-bar__confirm .primary-button{min-height:34px;padding-inline:16px}.batch-bar__rules{max-height:min(26vh,190px);overflow:auto}.batch-bar__rules h4{margin:2px 4px 6px}.batch-bar__rules section>div{flex-wrap:wrap;gap:6px;display:flex}.batch-bar__rules button{cursor:pointer;background:#fff;border:1px solid #e3def4;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.batch-bar__rules button:hover:not(:disabled){background:#efeafc}.batch-bar__rules button:disabled{opacity:.5;cursor:default}.batch-bar__rules b{color:var(--blue-dark)}.batch-bar__rules .negative b{color:#b34738}.batch-bar .batch-bar__pick .toolbar-button{background:#fff;border:1px solid #d9d2f3}.batch-bar .batch-bar__pick .toolbar-button:hover:not(:disabled){background:#f3effd;border-color:#8e7cdd}.batch-bar .batch-bar__pick .batch-select-all{color:#5e50ae;border:2px solid #7869d0;min-height:38px;padding-inline:16px;font-size:13px;box-shadow:0 2px 8px #5b4db126}.batch-bar .batch-bar__pick .batch-select-all.is-on{color:#fff;background:#6f5ec4;border-color:#6f5ec4}.batch-bar .batch-bar__pick .batch-select-all.is-on:hover:not(:disabled){background:#5e50ae}.batch-bar__pick select{background:#fff;border:1px solid #d9d2f3}.honor-overlay{z-index:130;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#29233780;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.honor-dialog{color:#4b4258;background:#f8f6f3;border-radius:24px;width:min(1280px,100%);max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 25px 100px #241c3933}.honor-dialog-header{border-bottom:1px solid #e9e2d9;justify-content:space-between;align-items:center;gap:20px;padding:21px 25px;display:flex}.honor-dialog-header>div{align-items:center;gap:9px;display:flex}.honor-dialog-header h2{margin:0;font-size:18px}.honor-dialog-header svg{color:#b49a69;width:21px;height:21px}.honor-dialog-header button{cursor:pointer;background:#fff;border:1px solid #e9e2d9;border-radius:50%;place-items:center;padding:8px;display:grid}.honor-workspace{grid-template-columns:295px minmax(0,1fr);align-items:start;display:grid}.honor-controls{background:#fffdf9;border-right:1px solid #ece5db;padding:27px 25px}.honor-eyebrow{color:#a6906b;letter-spacing:.05em;font-size:11px}.honor-controls h3{overflow-wrap:anywhere;margin:10px 0 25px;font-size:21px;line-height:1.4}.honor-controls label{color:#786c7e;gap:9px;margin:0 0 20px;font-size:12px;display:grid}.honor-controls select,.honor-controls input,.honor-controls textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#574c61;background:#fff;border:1px solid #e6ded3;border-radius:10px;padding:11px;font-size:12px;line-height:1.7}.honor-controls textarea{resize:vertical;min-height:105px;max-height:200px}.honor-controls small{color:#a598a6;font-size:10px;line-height:1.6}.honor-formats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:24px;display:grid}.honor-formats button{color:#9a8e9e;cursor:pointer;font:inherit;background:#fff;border:1px solid #e8e0d6;border-radius:11px;place-items:center;gap:9px;padding:12px 3px;font-size:10px;display:grid}.honor-formats svg{width:19px;height:19px}.honor-formats button[aria-pressed=true]{color:#94784b;background:#f8f1e3;border-color:#c6aa74}.honor-actions{gap:8px;display:grid}.honor-actions button,.honor-render-state button{font:inherit;cursor:pointer;color:#88785c;background:#fff;border:1px solid #e1d8cb;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-size:12px;display:flex}.honor-actions svg,.honor-render-state svg{width:16px;height:16px}.honor-actions .honor-primary{color:#fff;background:#7865a4;border-color:#7865a4}.honor-actions button:disabled{opacity:.45;cursor:default}.honor-local-note{color:#aa9eac;margin:17px 0 0;font-size:10px;line-height:1.9}.honor-preview-panel{min-width:0;padding:25px 28px}.honor-preview-heading{color:#948698;justify-content:space-between;gap:10px;margin-bottom:20px;font-size:11px;display:flex}.honor-preview-heading>span:last-child{color:#b0a3af;font-size:10px}.honor-artboard{place-items:center;min-height:300px;padding:20px 0;display:grid;position:relative}.honor-artboard img{object-fit:contain;filter:drop-shadow(0 9px 16px #5b473414);width:100%;height:auto;max-height:64dvh;display:block}.honor-artboard-card img,.honor-artboard-badge img{max-width:430px}.honor-artboard-badge{background:repeating-conic-gradient(#e9e5e1 0% 25%,#f3f0ed 0% 50%) 50%/18px 18px;border-radius:16px}.honor-art-stale{opacity:.25}.honor-render-state{color:#928072;text-align:center;background:#fffdf9f2;border:1px solid #e9e1d5;border-radius:12px;max-width:80%;padding:18px 22px;font-size:12px;position:absolute}.honor-preview-tip{color:#a99baa;text-align:center;margin:22px 0 4px;font-size:10px;line-height:1.8}.honor-empty{text-align:center;color:#9b8c9d;padding:65px 25px}.honor-empty>svg{color:#c6b286;width:45px;height:45px}.honor-empty h3{color:#62546f;font-size:20px}.honor-empty p{max-width:430px;margin:auto;font-size:13px;line-height:1.9}.honor-gallery-entry{background:#fcf8ef;border:1px solid #e6dcca;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin:15px 0;padding:14px 18px;display:flex}.honor-gallery-entry p{color:#9e8c71;margin:0;font-size:12px;line-height:1.8}.honor-gallery-entry button{color:#987d4c;cursor:pointer;white-space:nowrap;font:inherit;background:#fff;border:1px solid #dccaab;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:12px;display:inline-flex}.honor-gallery-entry svg{width:17px;height:17px}@media (width<=760px){.honor-overlay{padding:8px}.honor-dialog{border-radius:18px;max-height:calc(100dvh - 16px)}.honor-dialog-header{padding:15px 18px}.honor-workspace{grid-template-columns:minmax(0,1fr)}.honor-preview-panel{grid-row:1;padding:20px 15px 10px}.honor-artboard{min-height:210px;padding:5px 0}.honor-artboard img{max-height:48dvh}.honor-controls{border-top:1px solid #ece5db;border-right:0;padding:24px 20px}.honor-gallery-entry{flex-direction:column;align-items:stretch}}.honor-templates{border:0;gap:7px;margin:0 0 23px;padding:0;display:grid}.honor-templates legend{color:#786c7e;padding:0 0 10px;font-size:12px}.honor-templates button{text-align:left;cursor:pointer;color:#504254;background:#fff;border:1px solid #e6ded3;border-radius:9px;align-items:center;gap:11px;padding:11px;font-size:12px;display:flex}.honor-templates button[aria-pressed=true]{background:#f6f2fc;border-color:#7865a4;box-shadow:inset 0 0 0 1px #7865a4}.honor-templates i{border-radius:2px;flex-shrink:0;width:21px;height:28px}.honor-templates small{margin-top:4px;display:block}.honor-templates button:focus-visible{outline-offset:3px;outline:3px solid #aa91be}:root{color:#26364d;font-synthesis:none;--blue:#4b83f5;--blue-dark:#2f66d7;--mint:#38c9a5;--coral:#ff7d76;--amber:#f7b955;--ink:#26364d;--muted:#7d8ba2;--line:#e7edf6;--surface:#fffffff0;--shadow:0 14px 38px #2d54911a;background:#f4f8ff;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 8%,#e8f5ff 0,#0000 26%),radial-gradient(circle at 92% 12%,#eef8ec 0,#0000 24%),#f5f8fd;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #6c5ec457}svg{stroke-width:2px;width:19px;height:19px}.app-shell{min-height:100vh}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #dfe8f5e6;grid-template-columns:auto auto minmax(530px,1fr) auto;align-items:center;gap:18px;height:76px;padding:0 28px;display:grid;position:sticky;top:0}.brand{white-space:nowrap;background:0 0;align-items:center;gap:9px;padding:0;font-size:17px;display:inline-flex}.brand svg{color:var(--blue);fill:#dce8ff;width:25px;height:25px}.class-selector{background:#f2f6fc;border-radius:12px;align-items:center;gap:7px;padding:9px 13px;font-size:14px;font-weight:600;display:inline-flex}.topbar nav{justify-self:center;gap:4px;display:flex}.topbar nav button,.top-actions button,.top-actions .platform-account-link{color:#687890;white-space:nowrap;background:0 0;border-radius:11px;align-items:center;gap:7px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.topbar nav button:hover,.topbar nav button.active{color:var(--blue-dark);background:#edf4ff}.topbar nav button.active{box-shadow:inset 0 0 0 1px #d9e7ff}.top-actions{align-items:center;gap:2px;display:flex}.top-actions button,.top-actions .platform-account-link{padding-inline:8px;font-size:13px}.top-actions .platform-account-link:hover{color:var(--blue-dark);background:#edf4ff}.top-actions svg{width:17px}.mobile-head,.mobile-nav{display:none}.hall-return-link{color:#f3f0ff;white-space:nowrap;background:#ffffff1a;border-radius:13px 13px 13px 5px;align-items:center;gap:7px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.hall-return-link:hover{color:#fff;background:#ffffff2e}.hall-return-link:focus-visible{outline-offset:3px;outline:3px solid #b9aaf5}.topbar>.hall-return-link{flex-shrink:0;margin-top:18px}.mobile-head>.hall-return-link{padding:8px;font-size:12px}.class-selector{cursor:pointer;border:0;min-width:0;max-width:100%;min-height:44px}.class-selector option{color:var(--ink);background:#fff}.topbar select.class-selector{width:100%}.mobile-head select.class-selector{text-overflow:ellipsis;width:100%}.page-stage[aria-busy=true]{opacity:.65}.hall-class-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hall-class-controls>span{color:var(--muted);font-size:13px}.toolbar .hall-class-controls select{min-width:125px;max-width:190px;display:block}.hall-class-controls .toolbar-button{padding-inline:12px}.hall-class-create{border:1px solid var(--line);background:#fff;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:14px;display:flex}.hall-class-create input{border:1px solid var(--line);min-width:140px;min-height:44px;font:inherit;border-radius:12px;flex:1;padding:8px 12px}@media (width<=780px){.hall-class-controls{grid-column:1/-1}.hall-class-controls select{flex:1;max-width:none}.hall-class-create input{flex-basis:100%}}.page-stage{min-height:calc(100vh - 76px)}.hall-layout{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.hall-layout.with-drawer{grid-template-columns:minmax(0,1fr) 378px}.hall-main{min-width:0;padding:22px 26px 40px}.toolbar{align-items:center;gap:10px;margin-bottom:19px;display:flex}.search-box{border:1px solid var(--line);background:#fff;border-radius:13px;flex:1;align-items:center;gap:10px;min-width:260px;max-width:430px;height:44px;padding:0 14px;display:flex;box-shadow:0 5px 18px #334e740d}.search-box svg{color:#9aa8bb}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.toolbar select,.student-picker select,.rule-create input{border:1px solid var(--line);color:#53647c;background:#fff;border-radius:12px;outline:none;height:44px;padding:0 35px 0 13px}.toolbar-button,.primary-button{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.toolbar-button{border:1px solid var(--line);background:#fff}.toolbar-button.active{color:var(--blue-dark);background:#edf4ff;border-color:#cfe0ff}.primary-button{color:#fff;background:linear-gradient(135deg,#5b8df4,#3974ec);box-shadow:0 8px 18px #3871e738}.mobile-filter{display:none}.quick-wrap{margin-left:auto;position:relative}.quick-menu{border:1px solid var(--line);z-index:25;background:#fff;border-radius:16px;width:min(520px,100vw - 24px);max-height:60vh;padding:9px;position:absolute;top:52px;right:0;overflow:auto;box-shadow:0 18px 46px #2841692e}.quick-menu p{color:var(--muted);align-items:center;gap:8px;margin:8px;font-size:14px;display:flex}.quick-menu button{text-align:left;background:0 0;border-radius:10px;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;width:100%;padding:10px;display:grid}.quick-menu button:hover{background:#f3f7fd}.quick-menu b{color:var(--blue-dark)}.quick-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-menu-groups section{min-width:0}.quick-menu-groups h4{color:var(--muted);margin:8px 10px;font-size:12px}.quick-menu-groups .negative b{color:#b34738}@media (width<=540px){.quick-menu-groups{grid-template-columns:1fr}}.pet-grid{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:16px;display:grid}.with-drawer .pet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pet-card{text-align:left;background:var(--surface);border:1px solid #e0e8f4f2;border-radius:22px;min-height:330px;padding:15px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden;box-shadow:0 9px 28px #2e4b7912}.pet-card:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--pet-color,#6ea4ff) 18%, white), transparent 68%);opacity:.8;pointer-events:none;border-radius:50%;position:absolute;inset:55px 20px 93px}.pet-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #2e4b791f}.pet-card__top{z-index:2;align-items:center;gap:8px;display:flex;position:relative}.pet-card__top strong{align-items:center;gap:7px;font-size:16px;display:flex}.pet-card__top strong small{width:26px;height:24px;color:var(--muted);background:#f1f4f9;border-radius:8px;place-items:center;font-size:11px;display:inline-grid}.group-label{margin-left:auto;font-size:11px;font-weight:700}.pet-visual{--pet-color:#6ea4ff;place-items:center;height:176px;margin:4px 0 0;display:grid;position:relative}.pet-visual img{object-fit:contain;width:auto;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;filter:drop-shadow(0 15px 15px color-mix(in srgb, var(--pet-color) 22%, transparent));display:block}.pet-card>.pet-visual{min-width:0;overflow:hidden}.pet-fallback{width:142px;height:142px;color:color-mix(in srgb, var(--pet-color) 74%, #243044);background:linear-gradient(145deg, color-mix(in srgb, var(--pet-color) 18%, white), white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pet-color) 22%, white), 0 16px 30px color-mix(in srgb, var(--pet-color) 14%, transparent);border-radius:45% 50% 46% 48%;align-content:center;place-items:center;gap:5px;display:grid}.pet-fallback span{font-size:62px;line-height:1}.pet-fallback small{opacity:.65;font-size:11px;font-weight:700}.pet-card__identity{align-items:center;gap:8px;margin-top:3px;display:flex}.pet-card__identity b{font-size:15px}.pet-card__identity span{color:var(--blue-dark);background:#eaf2ff;border-radius:7px;padding:3px 7px;font-size:11px;font-weight:800}.progress-row{align-items:center;gap:9px;margin-top:8px;display:flex}.progress-track{background:#e9eef6;border-radius:99px;flex:1;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#57d4b0,#4c83ef);min-width:2px;height:100%;display:block}.progress-row small{color:var(--muted);white-space:nowrap;font-size:10px}.pet-card__stats{gap:7px;margin-top:12px;display:flex}.pet-card__stats span,.summary-stats span{color:#65758c;background:#f5f8fc;border-radius:10px;flex:1;align-items:center;gap:5px;padding:8px 9px;font-size:12px;display:flex}.pet-card__stats span:first-child svg,.summary-stats span:first-child svg{color:var(--coral);fill:#ffe1df}.pet-card__stats span:last-child svg,.summary-stats span:last-child svg{color:var(--amber);fill:#fff0cc}.pet-card__stats b{color:#405169;margin-left:auto}.score-drawer{border-left:1px solid var(--line);z-index:20;background:#fffffff7;height:calc(100vh - 76px);padding:25px 24px;position:sticky;top:76px;overflow-y:auto;box-shadow:-12px 0 35px #34507812}.score-drawer h2,.data-panel h2{margin:2px 0 18px;font-size:21px}.drawer-close{position:absolute;top:18px;right:18px}.score-drawer>.drawer-close{float:right;z-index:4;background:#fff;margin:-6px -6px 0 8px;position:sticky;top:0;box-shadow:0 2px 8px #12223c1f}.icon-button{background:#f2f5fa;border-radius:11px;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.drawer-handle{display:none}.student-summary{background:linear-gradient(135deg,#f1f6ff,#f5fbf9);border-radius:17px;align-items:center;gap:14px;padding:13px;display:flex}.pet-visual--small{flex:0 0 86px;width:86px;height:86px;margin:0}.pet-visual--small .pet-fallback{width:76px;height:76px}.pet-visual--small .pet-fallback span{font-size:37px}.pet-visual--small .pet-fallback small{display:none}.summary-main{flex:1;min-width:0}.summary-name{justify-content:space-between;align-items:center;display:flex}.summary-name span{color:var(--blue-dark);font-size:13px;font-weight:800}.summary-stats{gap:8px;margin:11px 0 19px;display:flex}.summary-stats svg{width:18px}.summary-stats b{color:var(--ink);margin-left:auto}.score-tabs{background:#f2f5fa;border-radius:13px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;padding:5px;display:grid}.score-tabs button{height:42px;color:var(--muted);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-weight:700;display:flex}.score-tabs .active{background:#fff;box-shadow:0 4px 12px #283e6014}.rule-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.rule-grid button{text-align:left;background:#fff;border:1px solid #e7edf5;border-radius:14px;grid-template-rows:1fr auto;grid-template-columns:34px 1fr;align-items:center;gap:0 8px;min-height:93px;padding:13px;display:grid}.rule-grid button:hover{border-color:#bad0fa;transform:translateY(-1px)}.rule-grid button>span{grid-row:1/3;font-size:26px}.rule-grid button b{font-size:13px}.rule-grid button strong{color:#239174;font-size:17px}.rule-grid.negative button strong{color:#e25e59}.drawer-footnote{color:#8b98aa;align-items:center;gap:7px;margin-top:18px;font-size:12px;display:flex}.content-page{max-width:1180px;margin:0 auto;padding:36px 28px 80px}.narrow-page{max-width:900px}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:25px;display:flex}.page-heading h1{letter-spacing:-.5px;margin:0 0 6px;font-size:27px}.page-heading p{color:var(--muted);margin:0}.segmented{background:#eaf0f8;border-radius:12px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border-radius:9px;padding:9px 15px;font-weight:700}.segmented .active{color:var(--blue-dark);background:#fff;box-shadow:0 4px 12px #2c4a7714}.rank-list,.ledger-table,.rule-manager,.redemptions{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:19px;overflow:hidden}.rank-row{border-bottom:1px solid #eef2f7;grid-template-columns:52px 60px 1fr auto;align-items:center;gap:13px;min-height:82px;padding:9px 24px;display:grid}.rank-row:last-child{border:0}.rank-number{color:#8b98aa;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.rank-number.top-1{color:#e5a627}.rank-number.top-2{color:#7a8ca7}.rank-number.top-3{color:#bd7a51}.pet-visual--tiny{width:58px;height:58px;margin:0}.pet-visual--tiny .pet-fallback{border-radius:17px;width:50px;height:50px}.pet-visual--tiny .pet-fallback span{font-size:26px}.pet-visual--tiny .pet-fallback small{display:none}.rank-row>div b,.rank-row>div small{display:block}.rank-row small{color:var(--muted);font-weight:500}.rank-row>strong{color:var(--blue-dark);font-size:20px}.group-orb{color:#fff;border-radius:18px;place-items:center;width:52px;height:52px;display:grid}.search-box.compact{flex:0 300px;max-width:300px}.table-head,.table-row{grid-template-columns:1fr 2fr 1.2fr .8fr .75fr;align-items:center;gap:12px;padding:13px 18px;display:grid}.table-head{color:var(--muted);background:#f6f8fb;font-size:12px;font-weight:700}.table-row{border-top:1px solid #edf1f6;min-height:65px;font-size:13px}.table-row time{color:var(--muted)}.table-row button{color:#6b7c93;background:#f2f5f9;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:7px 10px;display:inline-flex}.table-row button svg{width:15px}.table-row.undone{opacity:.48;text-decoration:line-through}.positive-text{color:#219378!important}.negative-text{color:#dd5f5b!important}.rule-create{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:minmax(220px,1fr) 110px auto;gap:10px;margin-bottom:18px;padding:17px;display:grid}.rule-manager h2{margin:0;padding:18px 20px 9px;font-size:16px}.rule-row{border-top:1px solid #edf1f6;grid-template-columns:36px 1.5fr 1fr 70px 96px;align-items:center;gap:10px;min-height:59px;padding:10px 20px;display:grid}.rule-row>span{font-size:23px}.rule-row small{color:var(--muted)}.rule-row strong{color:#26967b}.rule-row button{color:var(--blue-dark);background:#eef4ff;border-radius:9px;align-items:center;gap:5px;padding:7px 9px;display:flex}.student-picker{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.student-picker b{color:#936316;background:#fff5db;border-radius:11px;align-items:center;gap:5px;height:40px;padding:0 11px;display:flex}.student-picker svg{color:var(--amber);fill:#ffe6a6}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.shop-item{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-rows:1fr auto;grid-template-columns:70px 1fr auto;gap:8px 13px;padding:18px;display:grid;box-shadow:0 9px 25px #314e760f}.item-icon{background:linear-gradient(145deg,#fff7e4,#eef5ff);border-radius:18px;grid-row:1/3;place-items:center;width:66px;height:66px;font-size:29px;display:grid}.shop-item h2{margin:2px 0 4px;font-size:16px}.shop-item p{color:var(--muted);margin:0;font-size:12px}.shop-item>strong{color:#9b6b16;align-items:center;gap:4px;display:flex}.shop-item>strong svg{width:17px;color:var(--amber);fill:#ffe8aa}.shop-item button{min-height:38px;color:var(--blue-dark);background:#edf4ff;border-radius:11px;grid-column:2/4;justify-content:center;align-items:center;gap:6px;font-weight:700;display:flex}.redemptions{margin-top:25px}.redemptions>h2{align-items:center;gap:8px;margin:0;padding:18px;font-size:17px;display:flex}.redemption-row{border-top:1px solid var(--line);grid-template-columns:1fr 1.6fr 1.5fr 100px;align-items:center;gap:10px;min-height:60px;padding:10px 18px;font-size:13px;display:grid}.redemption-row time{color:var(--muted)}.redemption-row button{color:#a36e15;background:#fff4d9;border-radius:9px;min-height:34px}.redemption-row button.fulfilled{color:#278c73;background:#e8f8f3;justify-content:center;align-items:center;gap:4px;display:flex}.muted-line{color:var(--muted);margin:0;padding:0 18px 20px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18263c5c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.data-panel{background:#fff;border-radius:22px;width:min(720px,100%);max-height:calc(100vh - 36px);padding:26px;position:relative;overflow:auto;box-shadow:0 30px 75px #12223c3d}.data-panel>p{color:var(--muted)}.data-panel>.drawer-close{float:right;z-index:3;background:#fff;margin:-8px -8px 0 8px;position:sticky;top:0;box-shadow:0 2px 8px #12223c1f}.data-panel-footer{z-index:3;background:#fffffff5;border-top:1px solid #e8edf3;justify-content:flex-end;margin:18px -26px -26px;padding:12px 26px;display:flex;position:sticky;bottom:-26px}@media (width<=780px){.data-panel-footer{margin:14px -14px -18px;padding:10px 14px;bottom:-18px}}.data-section{background:#f6f8fc;border-radius:15px;margin:20px 0;padding:16px}.data-section h3{align-items:center;gap:7px;margin:0 0 10px;font-size:15px;display:flex}.data-section textarea{resize:vertical;border:1px solid #dfe7f1;border-radius:10px;outline:0;width:100%;min-height:104px;padding:11px}.data-section input,.data-section select{background:#fff;border:1px solid #dfe7f1;border-radius:10px;min-width:0;height:40px;padding:0 10px}.inline-create{grid-template-columns:1fr auto;gap:8px;display:grid}.group-tag-create{grid-template-columns:1fr 1fr;gap:9px;display:grid}.group-tag-create>div{gap:6px;display:flex}.group-tag-create input:not([type=color]){flex:1}.group-tag-create input[type=color]{width:42px;padding:4px}.group-tag-create button{color:#6256a2;white-space:nowrap;background:#ece9f7;border-radius:10px;align-items:center;gap:5px;min-height:40px;padding:0 10px;display:inline-flex}.student-assignments{margin-top:13px}.student-assignments summary{cursor:pointer;color:#61569a;font-size:12px;font-weight:800}.student-assignments>div{border-top:1px solid var(--line);grid-template-columns:130px 130px 1fr;align-items:center;gap:8px;min-height:54px;display:grid}.student-assignments>div>b{font-size:12px}.student-assignments>div>span{flex-wrap:wrap;gap:5px;display:flex}.student-assignments>div>span button{color:var(--muted);background:#f0eef5;border-radius:999px;padding:5px 8px;font-size:10px}.student-assignments>div>span button.active{color:#fff;background:#6c5ec4}.data-section small{color:var(--muted);margin:6px 0 11px;display:block}.data-actions{gap:9px;display:grid}.data-actions button{min-height:44px;color:var(--blue-dark);background:#edf4ff;border-radius:11px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.data-actions .danger-ghost{color:#d75d59;background:#fff0ef}.student-import-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-import-actions button{color:#574aa7;background:#efecff;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-weight:700;display:flex}.student-import-actions svg{width:16px}.lock-overlay{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eff6fff5;align-content:center;place-items:center;gap:3px;width:100%;display:grid;position:fixed;inset:0}.lock-overlay svg{width:54px;height:54px;color:var(--blue)}.lock-overlay h2{margin:13px 0 3px}.lock-overlay p{color:var(--muted)}.toast{z-index:120;color:#fff;background:#23324aed;border-radius:12px;max-width:calc(100% - 32px);padding:11px 18px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #16263d3b}.toast.undo-toast{z-index:1400;align-items:center;gap:14px;width:max-content;display:flex}.undo-toast>span{overflow-wrap:anywhere;min-width:0}.toast.undo-toast button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#ffffff20;border:1px solid #ffffff70;border-radius:9px;flex-shrink:0;padding:8px 14px;font-weight:700}.toast.undo-toast button:disabled{opacity:.6;cursor:default}.toast.undo-toast button:focus-visible{outline-offset:3px;outline:3px solid #fff}.today-records{padding:20px}.today-records>p{color:var(--muted);font-size:13px;line-height:1.7}.today-records .table-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.today-records .table-row>.ledger-reason{grid-column:1/-1}.today-records .table-row>button{grid-area:1/2;min-height:44px}.today-records .ledger-reason{overflow-wrap:anywhere;min-width:0}.loading-screen,.empty-state{min-height:360px;color:var(--muted);align-content:center;place-items:center;display:grid}.loading-screen svg,.empty-state>svg{color:#9eb9eb;width:48px;height:48px}.order-audit-screen{background:#f4f8ff;place-items:center;min-height:100vh;padding:24px;display:grid}.order-audit-card{text-align:center;background:#fff;border-radius:24px;width:min(100%,540px);padding:clamp(28px,6vw,48px);box-shadow:0 20px 60px #26364d1a}.order-audit-card h1{color:var(--ink);margin:0 0 18px;font-size:clamp(24px,5vw,30px)}.order-audit-card p{color:var(--muted);margin:0 0 28px;line-height:1.8}.order-audit-card a{background:var(--blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:0 26px;font-weight:700;text-decoration:none;display:inline-flex}.empty-state h2{color:#52647c;margin:13px 0 3px;font-size:18px}.empty-state p{margin:0}.empty-state.small{min-height:260px}@media (width<=1180px){.topbar{grid-template-columns:auto auto 1fr}.top-actions{display:none}.topbar nav{justify-self:end}.topbar nav button{padding-inline:9px;font-size:13px}.topbar nav button svg{display:none}.pet-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.with-drawer .pet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=780px){body{background:#f4f7fc}.topbar{display:none}.mobile-head{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffed;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:8px;height:62px;padding:0 12px;display:grid;position:sticky;top:0}.mobile-head .platform-account-link{place-items:center;text-decoration:none;display:inline-grid}.mobile-head .brand b{font-size:14px}.mobile-head .class-selector{justify-self:center;padding:7px 10px;font-size:12px}.page-stage{min-height:calc(100vh - 124px)}.hall-layout,.hall-layout.with-drawer{min-height:0;display:block}.hall-main{padding:13px 12px 86px}.toolbar{grid-template-columns:1fr auto auto;gap:8px;display:grid}.toolbar .search-box{grid-column:1/4;min-width:0;max-width:none;height:41px}.toolbar select,.toolbar>.toolbar-button:not(.mobile-filter){display:none}.mobile-filter{display:inline-flex}.quick-wrap{grid-column:2/4;margin:0}.quick-wrap .primary-button{width:100%;min-height:41px}.toolbar>.toolbar-button.mobile-filter{min-height:41px}.quick-menu{width:min(280px,100vw - 24px);right:0}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.with-drawer .pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-card{border-radius:17px;min-height:257px;padding:11px}.pet-card__top strong{font-size:13px}.pet-card__top strong small{width:22px;height:21px;font-size:9px}.group-label{display:none}.pet-visual{height:128px;margin-top:3px}.pet-fallback{border-radius:37px;width:106px;height:106px}.pet-fallback span{font-size:48px}.pet-card__identity b{font-size:13px}.pet-card__identity span{font-size:9px}.pet-card__stats{gap:4px;margin-top:9px}.pet-card__stats span{gap:3px;padding:7px 5px;font-size:10px}.pet-card__stats svg{width:14px}.progress-row{gap:5px;margin-top:6px}.progress-row small{font-size:9px}.score-drawer{z-index:50;border:0;border-radius:24px 24px 0 0;height:min(66vh,570px);padding:22px 16px 18px;position:fixed;inset:auto 0 62px;box-shadow:0 -18px 50px #20355433}.score-drawer:before{content:"";z-index:-1;background:#1b283d38;position:fixed;inset:0 0 62px}.drawer-handle{background:#d9e1ec;border-radius:99px;width:42px;height:5px;margin:-11px auto 12px;display:block}.score-drawer h2{margin-bottom:12px;font-size:18px}.student-summary{padding:9px}.pet-visual--small{flex-basis:64px;width:64px;height:64px}.summary-stats{margin:8px 0 12px}.rule-grid button{min-height:77px;padding:9px}.drawer-footnote{margin-top:11px}.content-page{padding:24px 13px 85px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:18px}.page-heading h1{font-size:23px}.page-heading p{font-size:13px}.segmented,.search-box.compact{flex-basis:auto;width:100%;max-width:none}.segmented button{flex:1}.rank-row{grid-template-columns:35px 48px 1fr auto;gap:8px;min-height:72px;padding:7px 10px}.pet-visual--tiny{width:46px;height:46px}.rank-row>strong{font-size:16px}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:5px 10px;padding:12px}.table-row span{grid-column:1/3}.table-row time{font-size:11px}.table-row button{grid-area:1/2}.rule-create{grid-template-columns:1fr 80px}.rule-create .primary-button{grid-column:1/3}.rule-row{grid-template-columns:30px 1fr 55px 88px;padding:10px 12px}.rule-row small{display:none}.student-picker{flex-wrap:wrap;align-items:stretch}.student-picker>span{width:100%}.student-picker select{flex:1;min-width:160px}.shop-grid{grid-template-columns:1fr}.redemption-row{grid-template-columns:1fr auto}.redemption-row time{grid-column:1;font-size:11px}.redemption-row button{grid-area:1/2/3}.mobile-nav{z-index:60;height:62px;padding:5px 5px max(5px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8390a4;background:0 0;border-radius:10px;align-content:center;place-items:center;gap:2px;font-size:10px;font-weight:600;display:grid}.mobile-nav button svg{width:20px;height:20px}.mobile-nav button.active{color:var(--blue-dark);background:#edf4ff}.toast{font-size:13px;bottom:76px}}.pet-auth-shell{color:#302e46;background:radial-gradient(circle at 10% 10%,#dff3eb,#0000 29%),radial-gradient(circle at 88% 15%,#e6dffa,#0000 31%),#f6f4fb;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.pet-auth-story{background:linear-gradient(145deg,#ffffff80,#eeeafbc7);flex-direction:column;min-height:100vh;padding:clamp(28px,5vw,72px);display:flex;position:relative;overflow:hidden}.pet-auth-story:after{content:"";border:1px solid #705ebe2e;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-130px;right:-130px;box-shadow:0 0 0 45px #705ebe0d,0 0 0 95px #53b1910b}.pet-auth-brand{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.pet-auth-brand>span{color:#fff;background:linear-gradient(145deg,#8473df,#5c4eb0);border-radius:16px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 10px 24px #5242a13d}.pet-auth-brand>span svg{width:26px;height:26px}.pet-auth-brand b{font-size:20px;display:grid}.pet-auth-brand small{color:#827b99;letter-spacing:2px;font-size:9px}.pet-auth-copy{z-index:2;max-width:620px;margin-top:clamp(75px,13vh,145px);position:relative}.pet-auth-copy>p{color:#567865;letter-spacing:2px;margin:0 0 15px;font-size:13px;font-weight:800}.pet-auth-copy h1{letter-spacing:-2px;margin:0;font:700 clamp(40px,5vw,68px)/1.12 STKaiti,KaiTi,serif}.pet-auth-copy h1 em{color:#6754c0;font-style:normal;display:block}.pet-auth-copy>span{color:#77728a;max-width:530px;margin-top:22px;line-height:1.8;display:block}.pet-auth-copy>span b{font-weight:inherit;display:block}.pet-auth-points{z-index:2;grid-template-columns:1fr 1fr;gap:12px;max-width:560px;margin-top:38px;display:grid;position:relative}.pet-auth-points span{color:#625d74;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.pet-auth-points svg{color:#56a986;width:18px}.pet-auth-mascots{z-index:1;pointer-events:none;width:min(430px,46vw);height:min(210px,23vw);position:absolute;bottom:1.5%;right:2%}.pet-auth-mascots img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 24px #4f42892b);width:37%;height:100%;display:block;position:absolute;bottom:0}.pet-auth-mascots img:first-child{left:0}.pet-auth-mascots img:nth-child(2){left:31.5%}.pet-auth-mascots img:nth-child(3){right:0}.pet-auth-panel{place-items:center;padding:32px;display:grid}.pet-auth-card{background:#fffffff0;border:1px solid #dcd6ebf2;border-radius:30px;width:min(460px,100%);padding:34px;box-shadow:0 28px 75px #3f356e24}.pet-beta-entry{text-align:center;justify-items:center;display:grid}.pet-beta-entry>span{color:#6654bd;background:linear-gradient(145deg,#efecff,#e6f6ef);border-radius:22px;place-items:center;width:68px;height:68px;display:grid;box-shadow:0 12px 28px #5948af21}.pet-beta-entry>span svg{width:30px;height:30px}.pet-beta-entry p{color:#77728a;margin:24px 0 5px;font-weight:800}.pet-beta-entry h2{margin:0;font-size:28px}.pet-beta-entry strong{color:#5d50aa;margin-top:12px;font-size:16px}.pet-beta-entry small{max-width:310px;color:var(--muted);margin:16px 0 20px;line-height:1.7}.pet-beta-entry a{align-items:center;text-decoration:none;display:inline-flex}.pet-auth-heading{align-items:center;gap:13px;margin-bottom:24px;display:flex}.pet-auth-heading>svg{color:#6756bd;background:#efecff;border-radius:14px;width:44px;height:44px;padding:10px}.pet-auth-heading h2{margin:0 0 4px;font-size:23px}.pet-auth-heading p{color:var(--muted);margin:0;font-size:12px}.pet-auth-tabs{background:#f0eef5;border-radius:15px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:22px;padding:5px;display:grid}.pet-auth-tabs button{color:#817b93;background:0 0;border-radius:11px;min-height:42px;font-weight:800}.pet-auth-tabs button.active{color:#5849ac;background:#fff;box-shadow:0 5px 14px #483d851a}.pet-auth-card form{gap:14px;display:grid}.pet-auth-card form>label{color:#5e5970;gap:7px;font-size:12px;font-weight:800;display:grid}.pet-auth-card input{background:#fbfafd;border:1px solid #dfd9ea;border-radius:12px;outline:none;width:100%;height:46px;padding:0 13px}.pet-auth-card input:focus{border-color:#8f7cdd;box-shadow:0 0 0 3px #705ec41f}.pet-password-field{position:relative}.pet-password-field button{color:#8a829d;background:0 0;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:3px;right:3px}.pet-password-field button svg{width:18px}.pet-auth-submit{justify-self:center;width:fit-content;min-width:168px;margin-top:6px;padding-inline:28px}.pet-auth-card .form-error{color:#b5504c;background:#fff0ef;border-radius:10px;margin:0;padding:10px 12px;font-size:12px}.pet-auth-card .form-success{color:#387d63;background:#eaf7f1;border-radius:10px;margin:0;padding:10px 12px;font-size:12px}.pet-auth-forgot{color:#6553b8;background:0 0;margin:16px auto 0;padding:0;font-size:12px;font-weight:800;display:block}.pet-auth-guide{color:var(--muted);justify-content:center;gap:7px;margin:18px 0 0;font-size:12px;display:flex}.pet-auth-guide button{color:#6553b8;background:0 0;padding:0;font-weight:800}.pet-auth-help{color:#9a94aa;text-align:center;margin:20px 0 0;font-size:10px}.pet-auth-complete{text-align:center;justify-items:center;display:grid}.pet-auth-complete>span{color:#4ca37f;background:#eaf7f1;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;box-shadow:0 0 0 10px #f5fbf8}.pet-auth-complete>span svg{width:34px;height:34px}.pet-auth-complete p{color:#77728a;margin:30px 0 5px}.pet-auth-complete h2{margin:0;font-size:30px}.pet-auth-complete strong{color:#5d50aa;background:#f0edff;border-radius:10px;margin-top:17px;padding:9px 14px}.pet-auth-complete small{color:var(--muted);margin:17px 0 24px}@media (width<=900px){.pet-auth-shell{grid-template-columns:1fr}.pet-auth-story{min-height:auto;padding:24px 22px 18px}.pet-auth-copy{margin-top:38px}.pet-auth-copy h1{font-size:clamp(36px,9vw,52px)}.pet-auth-points{display:none}.pet-auth-mascots{align-self:flex-end;width:min(280px,78vw);height:105px;margin:8px -8px -7px 0;position:relative;bottom:auto;right:auto}.pet-auth-mascots img{opacity:.82}.pet-auth-mascots img:first-child{left:0}.pet-auth-mascots img:nth-child(2){left:31.5%}.pet-auth-mascots img:nth-child(3){right:0}.pet-auth-panel{padding:22px 14px 42px}.pet-auth-card{border-radius:24px;padding:24px 19px}}@media (width<=370px){.mobile-head .brand b{display:none}.pet-card__stats span{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--blue:#6c5ec4;--blue-dark:#5548aa;--mint:#56b996;--coral:#e97e6b;--amber:#dba83e;--ink:#302e46;--muted:#817e96;--line:#e6e2f0;--surface:#ffffffeb;--shadow:0 18px 45px #433b7017}body{color:var(--ink);background-color:#f5f3fb;background-image:radial-gradient(circle at 12% 14%,#b3e0cf5c,#0000 26%),radial-gradient(circle at 88% 3%,#d5caf675,#0000 28%),radial-gradient(#6154a314 .7px,#0000 .7px);background-size:auto,auto,18px 18px}.brand-mark{color:#fff;background:linear-gradient(145deg,#8e7ee3,#6758bd);border-radius:13px;flex:none;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 9px 22px #1a153d47}.brand-mark svg{width:22px;height:22px;color:inherit;fill:#ffffff29}.brand-copy{text-align:left;gap:1px;display:grid}.brand-copy b{letter-spacing:.4px;font-size:17px}.brand-copy small{color:#bdb7e0;letter-spacing:2.2px;font:600 8px/1.2 Avenir Next,sans-serif}.eyebrow{color:#6c60b4;letter-spacing:2px;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.hall-intro{grid-template-columns:minmax(260px,.78fr) minmax(430px,1.22fr);align-items:stretch;gap:15px;margin-bottom:17px;display:grid}.hall-intro__copy{background:#ffffffc2;border:1px solid #695bb81c;border-radius:11px 28px 28px;min-height:145px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 14px 38px #433b700f}.hall-intro__copy:after{content:"✦";color:#6c5ec414;font:100px/1 Georgia,serif;position:absolute;bottom:-24px;right:20px;transform:rotate(16deg)}.hall-intro h1{z-index:1;letter-spacing:-.5px;margin:0 0 8px;font-family:STKaiti,KaiTi,serif;font-size:clamp(26px,2.15vw,38px);font-weight:700;line-height:1.15;position:relative}.hall-intro h1 em{color:#6a59bf;font-style:normal}.hall-intro p{z-index:1;color:var(--muted);margin:0;font-size:13px;position:relative}.growth-trail{background:linear-gradient(135deg,#ecf8f2f0,#f1edfded);border:1px solid #54826d21;border-radius:28px 11px 28px 28px;min-height:145px;padding:17px 22px 14px;overflow:hidden;box-shadow:0 14px 38px #433b700f}.growth-trail__meta{justify-content:space-between;align-items:center;display:flex}.growth-trail__meta>span{color:#547363;letter-spacing:.5px;font-size:12px;font-weight:800}.growth-trail__meta b{color:#5d50ad;align-items:baseline;gap:6px;font:800 24px/1 Avenir Next,sans-serif;display:flex}.growth-trail__meta b small{color:#8c899c;font:600 10px/1 PingFang SC,sans-serif}.growth-trail__line{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:17px;display:grid;position:relative}.growth-trail__line:before{content:"";background:repeating-linear-gradient(90deg,#5c7d6c52 0 6px,#0000 6px 11px);height:2px;position:absolute;top:19px;left:7%;right:7%}.trail-node{z-index:1;color:#aaa6b8;place-items:center;gap:5px;display:grid;position:relative}.trail-node i{filter:grayscale();background:#faf9fc;border:2px solid #e4e1eb;border-radius:50% 50% 50% 15px;place-items:center;width:38px;height:38px;font-size:16px;font-style:normal;display:grid;transform:rotate(-8deg)}.trail-node i:first-letter{transform:rotate(8deg)}.trail-node small{font-size:9px;font-weight:700}.trail-node.active{color:#526f60}.trail-node.active i{filter:none;background:#fff;border-color:#a9d6c2;box-shadow:0 6px 13px #487b631f}.toolbar{background:#ffffffb8;border:1px solid #e2deeff2;border-radius:18px;flex-wrap:wrap;padding:8px;box-shadow:0 9px 25px #433b700d}.toolbar .search-box{box-shadow:none}.toolbar select,.toolbar-button{background:#f2f0f8;border-color:#0000}.toolbar-button,.primary-button,.toolbar select{border-radius:999px}.primary-button{background:linear-gradient(135deg,#7869d0,#6253ba);box-shadow:0 8px 19px #5b4db140}.pet-card{background:#ffffffe6;border-color:#dcd8ebeb;border-radius:28px 28px 28px 9px;box-shadow:0 13px 34px #433b7013}.pet-card:hover{box-shadow:0 20px 46px #433b7021}.pet-card.is-selected{border-color:#8e7cdd;box-shadow:0 0 0 3px #6f5ec41f,0 20px 46px #433b701f}.pet-card__top strong small{color:#716b88;background:#eeecf5;border-radius:50% 50% 50% 8px}.pet-card__identity span{color:#5e50ae;background:#efecff}.progress-track{background:#ebe8f1;height:6px}.progress-track i{background:linear-gradient(90deg,#62bd98,#8071d2)}.pet-card__stats span{background:#f5f3f9;border-radius:13px 13px 13px 5px}.score-drawer{background:#fdfcfff7;border:1px solid #dbd6ebe6;border-radius:30px 30px 30px 10px;height:calc(100vh - 36px);margin-right:18px;top:18px;box-shadow:-9px 17px 52px #39316321}.score-drawer>.eyebrow{padding-right:45px}.score-drawer h2{margin-top:0;font-family:STKaiti,KaiTi,serif;font-size:22px}.student-summary{background:linear-gradient(135deg,#f2effc,#edf8f3);border:1px solid #e8e3f3}.score-tabs{background:#eeebf5;border-radius:17px 17px 17px 6px}.score-tabs button{border-radius:13px 13px 13px 5px}.score-tabs .positive.active{color:#3f896d}.score-tabs .negative.active{color:#cc6a59}.rule-grid button{border-radius:17px 17px 17px 6px}.rule-grid.positive button{background:linear-gradient(145deg,#fff,#f3faf7);border-color:#d8ede4}.rule-grid.negative button{background:linear-gradient(145deg,#fff,#fff6f3);border-color:#f1ded9}.rank-list,.ledger-table,.rule-manager,.redemptions{border-radius:26px 26px 26px 9px}.shop-item{border-radius:24px 24px 24px 8px}.item-icon{border-radius:50% 50% 50% 14px}@media (width>=781px){.topbar{color:#fff;background:radial-gradient(circle at 40% 7%,#9a89e159,#0000 25%),linear-gradient(#332f57,#292641 72%);border:0;flex-direction:column;align-items:stretch;gap:0;width:212px;height:100vh;padding:24px 15px 17px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 36px #2f2a521f}.topbar .brand{color:#fff;align-self:flex-start}.topbar .class-selector{color:#f2efff;background:#ffffff1a;justify-content:flex-start;margin:24px 0 18px}.topbar nav{flex-direction:column;gap:7px;width:100%;display:flex}.topbar nav button{color:#bbb5d5;border-radius:15px 15px 15px 5px;justify-content:flex-start;width:100%;padding:12px 13px;font-size:13px}.topbar nav button svg{width:18px;display:block}.topbar nav button:hover,.topbar nav button.active{color:#fff;background:#ffffff1c}.topbar nav button.active{box-shadow:inset 3px 0 #a997ef,inset 0 0 0 1px #ffffff14}.top-actions{gap:5px;width:100%;margin-top:auto;display:grid}.top-actions button{color:#aaa5c3;border-radius:13px;justify-content:flex-start;width:100%;padding:10px 12px;font-size:11px}.top-actions button:hover{color:#fff;background:#ffffff14}.page-stage{min-height:100vh;margin-left:212px}.hall-layout{min-height:100vh}.hall-layout.with-drawer{grid-template-columns:minmax(0,1fr) 390px}.hall-main{padding:24px 22px 42px}.score-drawer{position:sticky}}@media (width<=1120px) and (width>=781px){.hall-intro{grid-template-columns:1fr}.hall-intro__copy{min-height:120px}.hall-layout.with-drawer .pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hall-layout.with-drawer{grid-template-columns:minmax(0,1fr) 350px}}@media (width<=780px){.mobile-head{color:#fff;background:linear-gradient(110deg,#332f57,#443c72);border:0;box-shadow:0 10px 25px #2f2a5229}.mobile-head .brand-copy b{color:#fff}.mobile-head .brand-copy small{color:#c9c2ec}.mobile-head .brand-mark{border-radius:11px;width:34px;height:34px}.mobile-head .class-selector,.mobile-head .icon-button{color:#f3f0ff;background:#ffffff1a}.hall-main{padding-top:12px}.hall-intro{grid-template-columns:1fr;gap:9px;margin-bottom:11px}.hall-intro__copy{border-radius:8px 22px 22px;min-height:112px;padding:17px 18px}.hall-intro h1{margin-bottom:5px;font-size:26px}.hall-intro p{max-width:270px;font-size:11px}.growth-trail{border-radius:22px 8px 22px 22px;min-height:115px;padding:13px 12px 10px}.growth-trail__line{margin-top:12px}.growth-trail__line:before{top:16px}.trail-node i{width:32px;height:32px;font-size:14px}.trail-node small{font-size:8px}.toolbar{border-radius:18px 18px 18px 7px}.pet-card{border-radius:22px 22px 22px 7px}.score-drawer{border-radius:28px 28px 0 0;height:min(68vh,580px);margin:0;top:auto}.score-drawer>.eyebrow{margin-bottom:4px}.score-drawer h2{font-size:19px}.mobile-nav{border-color:#e4e0ee}.mobile-nav button.active{color:#5c4eb0;background:#efecff}}.feature-tabs{border:1px solid var(--line);background:#ffffffc2;border-radius:18px;gap:7px;margin-bottom:20px;padding:6px;display:flex;overflow-x:auto}.feature-tabs button{flex:1 0 max-content;min-height:42px;color:var(--muted);background:0 0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:700;display:flex}.feature-tabs button.active{color:#584bad;background:#efecff;box-shadow:0 5px 14px #483d851a}.world-page,.collaboration-page{max-width:1260px}.room-workspace{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px;display:grid}.pet-room{min-height:530px;box-shadow:var(--shadow);border:1px solid #d9d3eae6;border-radius:35px 35px 35px 11px;position:relative;overflow:hidden}.room-backdrop{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pet-room:has(.room-backdrop) .room-window{display:none}.pet-room:before{content:"";opacity:.35;border-radius:50%;height:34%;position:absolute;bottom:42px;left:8%;right:8%}.pet-room.theme-meadow{background:linear-gradient(#eaf7f1,#fbf8e9 68%,#cce7bc 69%)}.pet-room.theme-meadow:before{background:#91c77a}.pet-room.theme-night{background:linear-gradient(#34315e,#665d96 68%,#aaa0d2 69%)}.pet-room.theme-night:before{background:#d5ccf3}.pet-room.theme-ocean{background:linear-gradient(#dbf4f3,#eef9f4 68%,#b7ded4 69%)}.pet-room.theme-ocean:before{background:#73beb4}.room-window{z-index:1;background:linear-gradient(#a8d6f4,#f3effe);border:12px solid #ffffffb8;border-radius:90px 90px 22px 22px;place-items:center;width:180px;height:130px;display:grid;position:absolute;top:43px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #4d587f14}.room-window span{font-size:45px}.room-shelf{z-index:2;background:#ffffffb3;border-radius:15px;justify-content:center;gap:8px;min-width:130px;min-height:48px;padding:8px 13px;display:flex;position:absolute;bottom:92px;right:8%;box-shadow:0 8px 18px #34395714}.room-shelf span{font-size:26px}.room-shelf-image{object-fit:contain;place-items:center;width:44px;height:44px;display:grid}.pet-visual--room{z-index:2;width:310px;height:310px;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.pet-visual--room .pet-fallback{width:230px;height:230px}.pet-visual--room .pet-fallback span{font-size:105px}.room-name{z-index:3;display:grid;position:absolute;bottom:20px;left:24px}.room-name b{font-size:19px}.room-name small{color:#302e46a6}.room-controls,.market-create,.cloud-card,.sync-actions,.member-create,.parent-create,.assistant-compose{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe8;border-radius:28px 28px 28px 9px;padding:22px}.room-controls h2,.market-create h2,.market-list h2,.cloud-layout h2,.team-layout h2,.parent-layout h2,.assistant-layout h2{margin:0 0 12px;font-size:17px}.room-controls h2:not(:first-child){margin-top:24px}.theme-options{gap:8px;display:grid}.theme-options button{border:1px solid var(--line);text-align:left;background:#f8f7fb;border-radius:15px;align-items:center;gap:10px;min-height:55px;padding:8px 12px;display:flex}.theme-options button span{font-size:23px}.theme-options button.active{color:#574aa8;background:#f0edff;border-color:#bdb3ed}.equipped-list{flex-wrap:wrap;gap:7px;display:flex}.equipped-list span{color:#507564;background:#eff7f3;border-radius:999px;padding:7px 10px;font-size:12px}.equipped-list p{color:var(--muted);font-size:12px}.collectible-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.collectible-card{border:1px solid var(--line);background:#ffffffeb;border-radius:23px 23px 23px 8px;grid-template-columns:72px 1fr;gap:10px 13px;min-height:210px;padding:17px;display:grid;box-shadow:0 11px 28px #433b7011}.collectible-card.rarity-rare{border-color:#cac0ef}.collectible-card.rarity-epic{background:linear-gradient(145deg,#fff,#fff9eb);border-color:#e6c37f}.collectible-icon{background:#f2effb;border-radius:19px 19px 19px 7px;grid-row:1/3;place-items:center;width:70px;height:70px;font-size:29px;display:grid}.collectible-icon:is(img),.item-icon:is(img){object-fit:contain;padding:5px}.collectible-card small{color:var(--muted);font-size:10px}.collectible-card h2{margin:3px 0;font-size:16px}.collectible-card p{min-height:37px;color:var(--muted);margin:0;font-size:12px}.collectible-card>strong{color:#9a6a18;align-self:center;font-size:12px}.collectible-card>button{color:#584aa9;background:#efecff;border-radius:12px;grid-column:1/-1;min-height:38px;font-weight:700}.collectible-card>button.equipped{color:#3d8066;background:#e9f6f0}.badge-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.badge-card{text-align:center;border:1px solid var(--line);filter:grayscale(.65);opacity:.72;background:#ffffffd6;border-radius:50% 50% 24px 24px/40px 40px 24px 24px;min-height:235px;padding:22px}.badge-card.earned{filter:none;opacity:1;background:linear-gradient(#fffaf0,#fff);border-color:#ddc37f;box-shadow:0 13px 32px #976f201a}.badge-card>span{font-size:48px;display:block}.badge-icon{object-fit:contain;place-items:center;width:90px;height:90px;margin:0 auto;font-size:48px;display:grid}.badge-card>small{color:var(--muted)}.badge-card h2{margin:8px 0 4px;font-size:17px}.badge-card p{min-height:38px;color:var(--muted);margin:0 0 12px;font-size:12px}.badge-card button{color:#765ca8;background:#f0ecfa;border-radius:999px;min-height:37px;padding:0 15px;font-weight:700}.mystery-layout,.market-layout,.cloud-layout,.team-layout,.parent-layout,.assistant-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:16px;display:grid}.mystery-stage{text-align:center;color:#fff;background:radial-gradient(circle at 50% 35%,#ffffff3d,#0000 26%),linear-gradient(145deg,#50478f,#7e68bd 58%,#bd83a5);border-radius:35px 35px 35px 11px;align-content:center;place-items:center;min-height:410px;padding:38px;display:grid;box-shadow:0 22px 55px #43367733}.mystery-stage>svg{color:#ffe7a4;width:88px;height:88px}.mystery-art{object-fit:contain;color:#ffe7a4;place-items:center;width:180px;height:180px;display:grid}.mystery-art svg{width:88px;height:88px}.mystery-stage .eyebrow{color:#ddd6ff}.mystery-stage h2{margin:7px 0;font:700 28px/1.3 STKaiti,KaiTi,serif}.mystery-stage p{color:#e6e2f6;max-width:470px}.mystery-stage .primary-button{color:#554aa0;background:#fff;margin-top:13px}.draw-history,.market-list,.member-list,.access-list,.draft-list{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px 28px 28px 9px;padding:20px;overflow:hidden}.draw-history>div,.member-list>div,.access-list>div,.draft-list>div{border-top:1px solid #efedf4;align-items:center;gap:10px;min-height:61px;padding:9px 0;display:flex}.draw-history>div>span{font-size:27px}.draw-icon{object-fit:contain;place-items:center;width:40px;height:40px;font-size:27px;display:grid}.draw-history>div>b{flex:1}.draw-history small{color:var(--muted);font-size:10px}.market-create{align-content:start;gap:10px;display:grid}.market-create p,.cloud-card p,.parent-create p,.assistant-compose p{color:var(--muted);font-size:13px}.market-create select,.market-create input,.member-create input,.member-create select,.parent-create input,.parent-create select,.auth-form input{border:1px solid var(--line);background:#fff;border-radius:12px;outline:0;min-height:44px;padding:0 12px}.market-toolbar{justify-content:space-between;gap:10px;display:flex}.market-toolbar label{color:var(--muted);font-size:11px}.market-toolbar select{color:var(--ink);border:0;margin-top:3px;font-weight:700;display:block}.auction-card{border-top:1px solid var(--line);grid-template-columns:50px 1fr auto auto;align-items:center;gap:9px;min-height:72px;display:grid}.auction-card>span{font-size:32px}.auction-icon{object-fit:contain;place-items:center;width:46px;height:46px;font-size:32px;display:grid}.auction-card h3,.auction-card p{margin:0}.auction-card p{color:var(--muted);font-size:11px}.auction-card button{color:#584aa9;background:#efecff;border-radius:10px;min-height:34px;padding:0 10px}.sync-pill{color:#776f8e;background:#ece9f2;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:700;display:flex}.sync-pill.online{color:#34765d;background:#e5f5ed}.cloud-card{text-align:center}.cloud-orb{color:#fff;background:linear-gradient(145deg,#7e70cf,#514696);border-radius:50% 50% 50% 17px;place-items:center;width:80px;height:80px;margin:3px auto 17px;display:grid}.cloud-orb svg{width:38px;height:38px}.auth-form{gap:9px;margin-top:18px;display:grid}.auth-form>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-form button,.sync-actions>button{color:#574aa7;background:#efecff;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-weight:700;display:flex}.sync-actions{align-content:start;gap:9px;display:grid}.classroom-create{background:#f1f8f4;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;display:grid}.classroom-create>div{color:#4f6f5e;grid-column:1/-1;justify-content:space-between;font-size:12px;display:flex}.classroom-create input{background:#fff;border:1px solid #d7e7de;border-radius:10px;min-width:0;min-height:40px;padding:0 11px}.classroom-create button{color:#fff;background:#5b8f7b;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-weight:700;display:flex}.classroom-create button:disabled{opacity:.45}.classroom-create>small{color:#a36331;grid-column:1/-1}.sync-status{background:#f6f4fa;border-radius:15px;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;padding:14px;font-size:12px;display:grid}.sync-status span{color:var(--muted)}.cloud-classrooms{background:#f6f4fa;border-radius:15px;gap:6px;padding:12px;display:grid}.cloud-classrooms>small{color:var(--muted);font-weight:700}.cloud-classrooms>button{color:#5f557d;text-align:left;background:#fff;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;min-height:38px;padding:0 11px;display:flex}.cloud-classrooms>button.active{color:#55499d;background:#efecff;border-color:#8174cc}.cloud-classrooms i{color:var(--muted);font-size:10px;font-style:normal}.member-create,.parent-create,.assistant-compose{align-content:start;gap:9px;display:grid}.member-create h2{align-items:center;gap:7px;display:flex}.member-list>div>p,.access-list>div>p,.draft-list>div>p{flex:1;margin:0;display:grid}.member-list p small,.access-list p small,.draft-list p small{color:var(--muted)}.member-avatar{color:#fff;background:#7465bf;border-radius:14px 14px 14px 5px;place-items:center;width:38px;height:38px;display:grid}.member-list>div>span:not(.member-avatar),.member-list i{font-size:11px}.member-list i{color:#9a6b16;background:#fff3d7;border-radius:999px;padding:5px 8px;font-style:normal}.member-list i.active{color:#36785e;background:#e6f5ed}.access-list button,.draft-list button{color:#574aa7;background:#efecff;border-radius:10px;align-items:center;gap:5px;min-height:34px;padding:0 10px;display:flex}.assistant-mark{color:#fff;background:#6052ac;border-radius:21px 21px 21px 7px;place-items:center;width:62px;height:62px;display:grid}.assistant-mark svg{width:30px;height:30px}.assistant-compose textarea{resize:vertical;border:1px solid var(--line);border-radius:14px;min-height:150px;padding:13px}.draft-list>div>span{font-size:25px}.draft-list>div.accepted{opacity:.55}.growth-celebration{z-index:1200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f2fabd;place-items:center;padding:22px;animation:.28s both growth-backdrop;display:grid;position:fixed;inset:0;overflow:hidden}.growth-celebration:before{content:"";width:min(calc(62vw + var(--growth-level) * 1.6vw), 760px);aspect-ratio:1;animation:growth-bloom calc(.5s + var(--growth-level) * 45ms) cubic-bezier(.2,.8,.25,1) both;background:radial-gradient(circle,#fffffffa 0 34%,#e0f0ead1 35% 47%,#e0d8f880 48% 60%,#0000 61%);border-radius:50%;position:absolute}.growth-celebration.kind-hatch:before{background:radial-gradient(circle,#fffffffa 0 32%,#fff4c6e6 33% 45%,#d3f1de99 46% 61%,#0000 62%)}.growth-celebration.kind-evolution:before{background:radial-gradient(circle,#fffffffa 0 34%,#e2daf9db 35% 47%,#caede185 48% 60%,#0000 61%)}.growth-celebration.kind-max:before{background:radial-gradient(circle,#fffffffa 0 34%,#ffefc6e0 35% 47%,#e1dafa94 48% 60%,#0000 61%)}.growth-celebration>section{z-index:3;width:min(430px,100vw - 36px);box-shadow:0 calc(20px + var(--growth-level) * 2px) calc(55px + var(--growth-level) * 4px) #483c7f3d;text-align:center;animation:growth-card calc(.46s + var(--growth-level) * 25ms) cubic-bezier(.2,.9,.25,1.15) both;background:#ffffffdb;border:1px solid #ffffffe6;border-radius:48px 48px 48px 15px;justify-items:center;padding:30px 36px 24px;display:grid;position:relative}.growth-kicker{color:#6558aa;letter-spacing:.15em;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.growth-kicker svg{width:16px}.growth-pet{width:205px;height:195px;animation:growth-pet-arrive calc(.5s + var(--growth-level) * 35ms) 80ms cubic-bezier(.2,.9,.3,1.18) both;margin:4px 0 -5px;position:relative}.growth-pet .pet-visual{width:100%;height:100%}.growth-pet .pet-fallback{width:155px;height:155px}.growth-celebration section>p{color:var(--muted);margin:0;font-size:12px}.growth-celebration h2{margin:5px 0 12px;font:700 28px/1.2 STKaiti,KaiTi,serif}.growth-level{align-items:center;gap:12px;display:flex}.growth-level del{color:#9a95aa;font-size:15px}.growth-level b{color:#fff;background:linear-gradient(135deg,#7869bd,#5b8f7b);border-radius:999px 999px 999px 6px;padding:7px 15px;font-size:20px;box-shadow:0 8px 20px #5c4fa533}.kind-max .growth-level b{color:#704e14;background:linear-gradient(135deg,#ffe7a2,#efb85c)}.growth-celebration section>small{color:var(--muted);margin-top:11px}.growth-confirm{color:#fff;background:#6659ac;border-radius:15px 15px 15px 5px;min-height:43px;margin-top:18px;padding:0 20px;font-weight:750}.growth-skip-all{color:#6659ac;cursor:pointer;background:0 0;border:0;border-radius:10px;margin:10px auto 0;padding:6px 12px;font-size:14px;font-weight:650;text-decoration:underline;display:block}.growth-sound-state{color:#aaa4b8;align-items:center;gap:5px;margin-top:9px;font-size:10px;display:flex}.growth-sound-state svg{width:12px}.growth-close{z-index:4;color:#766e88;background:#ffffffc7;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:22px;right:24px}.growth-close svg{width:19px}.growth-halo{aspect-ratio:1;z-index:1;width:min(620px,86vw);animation:14s linear infinite growth-rotate;position:absolute}.growth-halo span{width:calc(8px + var(--growth-level) * .6px);height:calc(8px + var(--growth-level) * .6px);top:calc(8% + var(--halo-index) * 14%);left:calc(9% + var(--halo-index) * 16%);color:#7fb89f;box-shadow:0 0 calc(12px + var(--growth-level) * 2px) currentColor;background:currentColor;border-radius:50% 50% 50% 3px;position:absolute}.growth-halo span:nth-child(3n+2){color:#8978ce}.growth-halo span:nth-child(3n){color:#e0a959}.growth-bursts{aspect-ratio:1;z-index:1;pointer-events:none;width:min(760px,90vw);position:absolute}.growth-bursts i{inset:calc(11% + var(--burst-index) * 4%);animation:growth-burst calc(.55s + var(--growth-level) * 60ms) calc(var(--burst-index) * 90ms) ease-out both;border:2px solid #8978ce52;border-radius:50%;position:absolute}.growth-particles{z-index:2;pointer-events:none;position:absolute;inset:0}.growth-particles i{width:9px;height:15px;top:-20px;left:var(--left);background:var(--color);transform:rotate(var(--rotate));animation:growth-fall var(--duration) var(--delay) cubic-bezier(.22,.72,.45,1) both;border-radius:70% 30%;position:absolute}@keyframes growth-backdrop{0%{opacity:0}}@keyframes growth-bloom{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes growth-card{0%{opacity:0;transform:translateY(24px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes growth-pet-arrive{0%{opacity:0;transform:scale(.55)rotate(-5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes growth-burst{0%{opacity:.85;transform:scale(.25)}to{opacity:0;transform:scale(var(--growth-scale))}}@keyframes growth-rotate{to{transform:rotate(360deg)}}@keyframes growth-fall{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(var(--rotate))}12%{opacity:1}to{opacity:.8;transform:translate(35px,105vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.growth-celebration,.growth-celebration:before,.growth-celebration>section,.growth-pet,.growth-halo,.growth-particles i,.growth-bursts i{animation:none!important}.growth-particles{display:none}}.parent-portal{background:radial-gradient(circle at 10% 10%,#e2f3eb,#0000 28%),radial-gradient(circle at 90% 5%,#e8e1fa,#0000 30%),#f6f4fb;min-height:100vh;padding:25px clamp(16px,5vw,70px) 60px}.parent-portal>header{justify-content:space-between;align-items:center;max-width:980px;margin:0 auto 24px;display:flex}.parent-portal>header span{color:#5c519d;align-items:center;gap:7px;font-weight:700;display:flex}.parent-portal>header button,.parent-portal.invalid button{color:#584aa8;background:#fff;border-radius:999px;padding:9px 14px}.parent-hero{border:1px solid var(--line);max-width:980px;box-shadow:var(--shadow);background:#ffffffe6;border-radius:38px 38px 38px 12px;grid-template-columns:190px 1fr auto;align-items:center;gap:25px;margin:0 auto 18px;padding:30px;display:grid}.pet-visual--parent{width:180px;height:180px}.parent-hero h1{margin:0 0 6px;font:700 40px/1 STKaiti,KaiTi,serif}.parent-hero p{color:var(--muted)}.parent-hero>strong{color:#6558b3;place-items:center;font-size:36px;display:grid}.parent-hero>strong small{color:var(--muted);font-size:11px}.parent-columns{grid-template-columns:1fr 1fr;gap:18px;max-width:980px;margin:auto;display:grid}.parent-columns>section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px 28px 28px 9px;padding:22px}.parent-columns h2{align-items:center;gap:7px;margin:0 0 13px;font-size:17px;display:flex}.parent-badges{flex-wrap:wrap;gap:9px;display:flex}.parent-badges span{background:#fff8e9;border-radius:18px;place-items:center;gap:4px;min-width:100px;padding:13px;font-size:32px;display:grid}.parent-badge-image{object-fit:contain;place-items:center;width:54px;height:54px;font-size:32px;display:grid}.parent-badges b{font-size:11px}.parent-entry{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;gap:10px;padding:10px 0;font-size:12px;display:grid}.parent-entry time{color:var(--muted)}.parent-portal.invalid{text-align:center;align-content:center;place-items:center;display:grid}.parent-portal.invalid>svg{color:#7163bd;width:70px;height:70px}@media (width<=980px){.collectible-grid,.badge-board{grid-template-columns:repeat(2,minmax(0,1fr))}.room-workspace,.mystery-layout,.market-layout,.cloud-layout,.team-layout,.parent-layout,.assistant-layout{grid-template-columns:1fr}}@media (width<=780px){.mobile-nav{grid-template-columns:repeat(8,minmax(56px,1fr));overflow-x:auto}.feature-tabs{margin-inline:-1px}.page-heading .student-picker{width:100%}.pet-room{min-height:430px}.pet-visual--room{width:240px;height:240px;bottom:75px}.pet-visual--room .pet-fallback{width:180px;height:180px}.collectible-grid{grid-template-columns:1fr}.badge-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.badge-card{min-height:220px;padding:16px 10px}.auction-card{grid-template-columns:45px 1fr auto;padding:8px 0}.auction-card button:last-child{grid-column:2/4}.member-list>div{flex-wrap:wrap}.parent-hero{grid-template-columns:110px 1fr;padding:19px}.pet-visual--parent{width:105px;height:105px}.parent-hero>strong{grid-column:1/3;justify-content:center;gap:7px;font-size:26px;display:flex}.parent-columns{grid-template-columns:1fr}}.level-settings,.rule-create-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:28px 28px 28px 9px;margin-bottom:18px;padding:22px}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:17px;display:flex}.section-heading h2{margin:3px 0;font-size:19px}.section-heading p{color:var(--muted);margin:0;font-size:12px}.section-heading>div:last-child{flex-shrink:0;gap:8px;display:flex}.section-heading button{color:#655a9e;white-space:nowrap;background:#f0edf9;border-radius:12px;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-weight:700;display:inline-flex}.section-heading button.primary-button{color:#fff;background:linear-gradient(135deg,#7869d0,#6253ba)}.level-threshold-grid{grid-template-columns:repeat(5,minmax(105px,1fr));gap:9px;display:grid}.level-threshold-grid label{background:#f9f8fc;border:1px solid #e9e5f2;border-radius:17px 17px 17px 6px;grid-template-columns:1fr auto;align-items:center;gap:5px;min-height:92px;padding:12px;display:grid}.level-threshold-grid label b{color:#5f53a6}.level-threshold-grid input{text-align:right;background:#fff;border:1px solid #ded8ea;border-radius:10px;width:68px;height:36px;padding:0 8px;font-weight:800}.level-threshold-grid label span{color:var(--muted);grid-column:1/3;font-size:10px}.level-threshold-grid .level-one{color:#fff;background:linear-gradient(145deg,#6c5ec4,#4e8b75);border-color:#0000}.level-threshold-grid .level-one b,.level-threshold-grid .level-one span{color:#fff}.rule-create-card .rule-create{background:0 0;border:0;grid-template-columns:minmax(140px,1.5fr) minmax(90px,.7fr) 90px auto;margin:0;padding:0}.rule-manager .rule-row{grid-template-columns:38px minmax(150px,1.5fr) minmax(90px,.7fr) 55px minmax(250px,auto)}.rule-actions{justify-content:flex-end;gap:5px;display:flex}.rule-actions button{min-width:34px;min-height:34px;padding:0 8px}.rule-actions button.status-on{color:#31745c;background:#e7f6ef}.rule-actions button.danger-ghost{color:#c9655d;background:#fff0ee}.rule-row.editing input{border:1px solid #dfd9ea;border-radius:10px;width:100%;min-width:0;height:38px;padding:0 9px}@media (width<=1050px){.level-threshold-grid{grid-template-columns:repeat(3,minmax(105px,1fr))}.rule-manager .rule-row{grid-template-columns:34px 1fr 72px minmax(230px,auto)}.rule-manager .rule-row>small{display:none}.rule-manager .rule-row.editing{grid-template-columns:42px minmax(130px,1fr) 90px 90px 82px}}@media (width>=781px) and (width<=1050px){.topbar{width:188px;padding-inline:12px}.topbar nav{gap:4px}.topbar nav button{padding-block:10px}.page-stage{margin-left:188px}.hall-layout.with-drawer{grid-template-columns:minmax(0,1fr)}.hall-layout.with-drawer .pet-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.score-drawer{z-index:75;width:min(370px,100vw - 188px);height:auto;position:fixed;inset:12px 12px 12px auto}.score-drawer:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2c274833;position:fixed;inset:0 0 0 188px}.content-page{padding-inline:20px}}@media (width<=780px){.level-settings,.rule-create-card{border-radius:22px 22px 22px 7px;padding:16px 13px}.section-heading{flex-direction:column;align-items:stretch;gap:12px}.section-heading>div:last-child{grid-template-columns:1fr 1fr;display:grid}.level-threshold-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.level-threshold-grid label{min-height:78px}.rule-create-card .rule-create{grid-template-columns:1fr 78px}.rule-create-card .rule-create input:nth-child(2){grid-column:1}.rule-create-card .rule-create input:nth-child(3){grid-area:1/2/3;height:100%}.rule-create-card .rule-create .primary-button{grid-column:1/3}.rule-manager .rule-row{grid-template-columns:34px 1fr 48px;gap:7px;padding:12px}.rule-manager .rule-row>small{color:var(--muted);grid-column:2;display:block}.rule-manager .rule-row>strong{grid-area:1/3}.rule-manager .rule-actions{grid-column:1/4;justify-content:stretch}.rule-manager .rule-actions button{flex:1}.rule-manager .rule-row.editing{grid-template-columns:52px 1fr 76px}.rule-manager .rule-row.editing input:nth-child(3){grid-column:1/3}.rule-manager .rule-row.editing input:nth-child(4){grid-area:1/3/3}}.shop-heading-actions{align-items:center;gap:12px;display:flex}.shop-heading-actions>button{color:#655a9e;background:#f0edf9;border-radius:12px;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-weight:700;display:inline-flex}.shop-heading-actions>button.active{color:#fff;background:#6558ad}.reward-settings{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:17px;display:grid}.reward-create,.reward-setting-list{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px 28px 28px 9px;padding:21px}.reward-create{gap:11px;height:max-content;display:grid}.reward-create h2,.reward-setting-list h2{align-items:center;gap:7px;margin:0 0 8px;font-size:18px;display:flex}.reward-create>input,.reward-create label input{border:1px solid var(--line);background:#faf9fc;border-radius:11px;width:100%;height:42px;padding:0 11px}.reward-create label{color:var(--muted);gap:5px;font-size:11px;display:grid}.reward-setting-row{border-top:1px solid var(--line);grid-template-columns:38px 1fr 80px minmax(150px,auto);align-items:center;gap:10px;min-height:64px;display:grid}.reward-setting-row>span{font-size:25px}.reward-setting-row>div:not(.reward-setting-actions){display:grid}.reward-setting-row small{color:var(--muted)}.reward-setting-row>strong{color:#9a6a18;align-items:center;gap:4px;display:flex}.reward-setting-row>strong svg{width:16px}.reward-setting-actions{justify-content:flex-end;gap:6px;display:flex}.reward-setting-actions button{color:#655a9e;background:#f0edf9;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-height:34px;padding:0 9px;display:inline-flex}.reward-setting-actions button.status-on{color:#31745c;background:#e7f6ef}.reward-setting-row.editing{grid-template-columns:38px minmax(140px,1fr) 105px 105px minmax(80px,auto);padding:9px 0}.reward-setting-row.editing>input,.reward-setting-row.editing label input{border:1px solid #dfd9ea;border-radius:9px;width:100%;height:38px;padding:0 8px}.reward-setting-row.editing label{color:var(--muted);gap:2px;font-size:9px;display:grid}@media (width<=980px){.reward-settings{grid-template-columns:1fr}}@media (width<=780px){.shop-heading-actions{flex-direction:column;align-items:stretch}.shop-heading-actions>button{justify-content:center}.reward-create,.reward-setting-list{border-radius:22px 22px 22px 7px;padding:16px 13px}.reward-setting-row{grid-template-columns:34px 1fr auto;padding:10px 0}.reward-setting-row>strong{grid-column:2}.reward-setting-actions{flex-direction:column;grid-area:1/3/3}.reward-setting-row.editing{grid-template-columns:34px 1fr 82px}.reward-setting-row.editing>input{grid-column:2/4}.reward-setting-row.editing label:first-of-type{grid-column:2}.reward-setting-row.editing label:last-of-type{grid-column:3}.reward-setting-row.editing .reward-setting-actions{flex-direction:row;grid-area:auto/2/auto/4;justify-content:stretch}.reward-setting-row.editing .reward-setting-actions button{flex:1}}.leaderboard-filters{gap:7px;display:grid}.segmented.compact button{padding:7px 10px;font-size:11px}.ledger-filters{border:1px solid var(--line);background:#ffffffe0;border-radius:17px 17px 17px 6px;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.ledger-filters select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#faf9fc;border-radius:10px;padding:0 30px 0 10px}.ledger-filters>span{color:var(--muted);margin-left:auto;font-size:12px}.table-row>span{align-items:center;gap:7px;display:flex}.table-row>span i{color:#6e62a7;white-space:nowrap;background:#f0edf9;border-radius:7px;padding:3px 6px;font-size:9px;font-style:normal}.table-row .ledger-reason{grid-template-columns:auto 1fr;gap:2px 7px;display:grid}.ledger-reason i{grid-row:1/3;align-self:center}.ledger-reason small{color:var(--muted);font-size:9px}@media (width<=780px){.leaderboard-filters{width:100%}.ledger-filters{grid-template-columns:1fr 1fr;display:grid}.ledger-filters select{width:100%;min-width:0}.ledger-filters>span{text-align:right;margin:0}.table-row>span{flex-direction:column;align-items:flex-start;gap:3px}.data-panel{padding:22px 14px 18px}.group-tag-create{grid-template-columns:1fr}.student-assignments>div{grid-template-columns:1fr 1fr;padding:8px 0}.student-assignments>div>span{grid-column:1/3}}.pet-gallery-picker{border:1px solid var(--line);background:#fff;border-radius:20px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;padding:20px;display:flex}.pet-gallery-picker label{gap:8px;font-weight:700;display:grid}.pet-gallery-picker select{border:1px solid var(--line);min-width:220px;min-height:44px;color:var(--ink);background:#faf8ff;border-radius:10px;padding:8px 12px}.pet-gallery-picker p{color:var(--muted);margin:0}.pet-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px;display:grid}.pet-gallery-card{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:10px;padding:15px 12px;display:flex}.pet-gallery-card.selected{border-color:#8271ca;box-shadow:0 0 0 2px #ece7fa}.pet-gallery-card .pet-visual{width:140px;height:140px}button.pet-gallery-card{color:var(--ink);text-align:center;font:inherit;cursor:pointer;position:relative}button.pet-gallery-card:disabled{cursor:default;opacity:1}button.pet-gallery-card:not(:disabled):hover{background:#faf8ff;border-color:#8271ca}button.pet-gallery-card:focus-visible{outline-offset:3px;outline:3px solid #8271ca}.pet-gallery-card>small{color:var(--muted);font-size:12px}.pet-current-mark{color:#56468b;background:#eeeafa;border-radius:9px;padding:4px 7px;font-size:11px;position:absolute;top:9px;right:9px}.pet-gallery-setup{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:22px;padding:20px}.gallery-class-row,.gallery-import-row,.gallery-class-create{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gallery-class-row label{gap:8px;font-weight:700;display:grid}.gallery-class-row select,.gallery-class-create input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#faf8ff;border-radius:10px;padding:8px 12px}.gallery-class-row select{min-width:220px}.gallery-class-row button,.gallery-class-create button,.gallery-import-row button{color:#56468b;background:#eeeafa;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-weight:700;display:inline-flex}.gallery-class-row svg,.gallery-import-row svg{width:18px;height:18px}.gallery-class-row button{align-self:end}.gallery-class-create{margin-top:14px}.gallery-class-create input{flex:1;min-width:0}.gallery-import-row{border-block:1px solid var(--line);margin:18px 0;padding:15px 0}.gallery-import-row span,.gallery-class-row small{color:var(--muted);font-size:13px}.pet-gallery-setup .pet-gallery-picker{border:0;border-radius:0;margin:0;padding:0}.student-import{margin-bottom:16px}.student-import textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:110px;font:inherit;border-radius:12px;padding:12px}.student-import>small{color:var(--muted);margin:7px 0 12px;display:block}@media (width<=780px){.pet-gallery-setup{padding:15px}.gallery-class-row label{flex:1;min-width:0}.gallery-class-row select{width:100%;min-width:0}.pet-gallery-card .pet-visual{aspect-ratio:1;width:min(140px,100%);height:auto}}@media (width>=781px){.topbar{overflow-y:auto}.topbar nav{flex-shrink:0}}@media (width<=780px){.pet-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pet-gallery-picker select{width:100%;min-width:0}.pet-gallery-picker label{width:100%}}.pet-gallery-categories{scrollbar-width:thin;gap:8px;margin:0 0 14px;padding:3px 2px 10px;display:flex;overflow-x:auto}.pet-gallery-categories button{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;background:#fff;border-radius:22px;flex-shrink:0;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:700;display:flex}.pet-gallery-categories button span{opacity:.8;font-size:12px;font-weight:500}.pet-gallery-categories button[aria-pressed=true]{color:#6d28d9;background:#f3edff;border-color:#8b5cf6}.pet-gallery-categories button:focus-visible{outline-offset:2px;outline:2px solid #8b5cf6}.pet-gallery-stage{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;font-size:13px;display:flex}.pet-gallery-stage label{color:var(--ink);align-items:center;gap:12px;font-weight:700;display:flex}.pet-gallery-stage select{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:42px;padding:8px 12px}.growth-pet-before,.growth-pet-after{position:absolute;inset:0}.growth-pet.transforming{animation:none}.growth-pet-before{animation:.75s ease-in both growth-form-away}.growth-pet.transforming .growth-pet-after{animation:.85s cubic-bezier(.2,.9,.3,1.15) .55s both growth-form-reveal}.growth-pet-after .pet-visual{filter:drop-shadow(0 8px 13px #7757a92e)}.kind-hatch .growth-pet-before{animation-name:growth-egg-away}.growth-crown{color:#b77f16;text-shadow:0 2px 12px #ffdea1;font-size:42px;animation:.6s .8s both growth-crown-arrive;position:absolute;top:-18px;left:calc(50% - 21px)}.growth-level b{animation:.55s .9s both growth-level-pop}.growth-celebration section>p{color:#574477;font-size:16px;font-weight:700}@keyframes growth-form-away{0%,28%{opacity:1;transform:scale(1)}65%{opacity:.75;filter:brightness(1.6)}to{opacity:0;transform:scale(.72)translateY(-15px)}}@keyframes growth-egg-away{0%,25%{opacity:1;transform:rotate(0)}40%{transform:rotate(-9deg)}60%{opacity:1;transform:rotate(9deg)}to{opacity:0;transform:scale(1.12)}}@keyframes growth-form-reveal{0%{opacity:0;filter:brightness(1.4);transform:scale(.65)translateY(20px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(0)}}@keyframes growth-level-pop{0%{transform:scale(.85)}65%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes growth-crown-arrive{0%{opacity:0;transform:translateY(-12px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@media (height<=600px){.growth-celebration{overflow-y:auto}.growth-celebration>section{padding-block:16px}.growth-pet{width:150px;height:140px}}@media (prefers-reduced-motion:reduce){.growth-pet-before{display:none}.growth-pet-after,.growth-crown,.growth-level b{animation:none!important}}.pet-gallery-alumni{background:#fffbef;border:1px solid #e4d9b7;border-radius:20px;margin:0 0 24px;padding:20px}.pet-gallery-alumni h2{margin:0 0 14px;font-size:17px}.pet-gallery-alumni>div{gap:14px;display:flex;overflow-x:auto}.pet-gallery-alumni article{background:#fff;border-radius:14px;flex:0 0 140px;justify-items:center;gap:5px;padding:12px;display:grid}.pet-gallery-alumni .pet-visual{width:100px;height:100px}.pet-gallery-alumni small{color:#8e6c22}.growth-celebration>section{max-width:100%}.shared-class-choices{flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.shared-class-choices>button{white-space:normal;text-align:left;flex-wrap:wrap;height:auto}.shared-class-choices small{width:100%;color:var(--text-muted,#6b7280);display:block}.shared-class-choices>div{flex-wrap:wrap;gap:10px;display:flex}.cloud-class-actions{flex-wrap:wrap;gap:8px;display:flex}.shared-class-choices select{width:100%;max-width:100%;min-height:40px}@media (width>=781px){.topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.topbar>.hall-return-link{align-self:stretch;margin-top:24px}.page-stage{padding-top:68px}}@media (width<=780px){.mobile-head{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;height:auto;min-height:100px;padding:8px 12px;display:grid}.mobile-product-title{grid-area:1/1/auto/3;font-size:15px}.mobile-head>.hall-return-link{border-radius:10px;grid-area:1/3/auto/5;justify-self:end;min-height:40px;padding:8px 12px;font-size:13px}.mobile-head>.class-selector{grid-area:2/1;min-width:0;max-width:100%}.mobile-head>.fp-home-launcher{grid-area:2/2}.mobile-head>button{grid-row:2}.mobile-head>button:last-child{grid-column:4}}@media (width>=781px){.topbar nav button,.top-actions button,.top-actions .platform-account-link{color:#bbb5d5;border-radius:12px;justify-content:flex-start;gap:8px;width:100%;min-height:44px;padding:11px 13px;font-size:13px;line-height:20px}.topbar nav button svg,.top-actions button svg,.top-actions .platform-account-link svg{flex-shrink:0;width:18px;height:18px;display:block}.top-actions{gap:7px;padding-top:16px}}@media (width<=780px){.mobile-head{grid-template-columns:minmax(0,1fr) repeat(4,auto)}.mobile-head>.hall-return-link{grid-column:4/6}.mobile-head>.mobile-backup{grid-column:3}.mobile-head>button:last-child{grid-column:5}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar .search-box{grid-column:1/-1}.toolbar>.toolbar-button:not(.mobile-filter){min-width:0;display:inline-flex}.toolbar .quick-wrap{grid-column:1/-1}.toolbar .quick-wrap>button{width:100%}.toolbar>.mobile-filter{display:none}.toolbar>select{width:100%;min-width:0;display:block}.selection-count{text-align:center;align-self:center}}.scene-celebration:before{display:none}.scene-celebration{background:#f8f6f0d9}.scene-celebration>section{border-radius:32px;width:min(480px,100vw - 36px);max-height:calc(100dvh - 44px);padding:24px 24px 20px;overflow-y:auto}.scene-celebration .level-growth-scene{flex-shrink:0;width:min(330px,100%)}.scene-celebration h2{margin-top:9px;font-size:24px}.scene-celebration .growth-kicker{color:#9f8051;letter-spacing:.02em}.scene-celebration .growth-level b{color:#7a5f2f;box-shadow:none;background:#f2e2bd;border-radius:18px}.scene-celebration .growth-confirm{border-radius:12px}.growth-scene-loading{aspect-ratio:320/300;color:#95876e;place-items:center;width:330px;max-width:100%;display:grid}.growth-preview-controls{flex-wrap:wrap;align-items:end;gap:8px;width:100%;margin-top:15px;display:flex}.growth-preview-controls label{text-align:left;color:#7d715e;flex:1;gap:5px;min-width:0;font-size:11px;display:grid}.growth-preview-controls select{color:#504735;background:#fff;border:1px solid #e4dac6;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:5px;font-size:12px}.growth-preview-controls button,.pet-motion-preview-entry{color:#80683c;cursor:pointer;background:#fffaf0;border:1px solid #dbcfb8;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;display:inline-flex}.pet-motion-preview-entry svg{width:17px;height:17px}@media (width<=480px){.scene-celebration>section{padding:20px 16px}.scene-celebration .level-growth-scene{width:min(280px,100%)}.scene-celebration h2{font-size:21px}}.growth-scene-frame{place-items:center;width:100%;min-width:0;display:grid;position:relative}.growth-scene-preparing>.level-growth-scene{visibility:hidden}.growth-scene-preparing .level-growth-scene *{animation-play-state:paused}.growth-scene-frame .growth-scene-loading{margin:auto;position:absolute;inset:0}.pet-visual{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pet-visual__canvas{aspect-ratio:1;justify-self:center;width:auto;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;position:relative}.pet-visual .pet-visual__canvas>img{object-fit:contain;width:100%;height:100%}.pet-outfit{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.collection-appearance{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:18px;margin-bottom:18px;padding:14px 20px;display:flex}.collection-appearance h2{margin:0 0 6px;font-size:17px}.collection-appearance p{color:var(--muted);margin:0;font-size:13px}.collection-appearance .pet-visual{flex:0 0 132px;width:132px;height:132px}@media (width<=700px){.collection-appearance{gap:12px;padding:12px}.collection-appearance .pet-visual{flex-basis:104px;width:104px;height:104px}}.redemption-history{scroll-margin-top:120px}.redemption-history-controls{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 18px 16px;font-size:13px;display:flex}.redemption-history-controls label{align-items:center;gap:8px;display:flex}.redemption-history-controls select{border:1px solid var(--line);max-width:180px;min-height:36px;color:var(--ink);background:#fff;border-radius:9px;padding:4px 10px}.redemption-actions{flex-wrap:wrap;gap:6px;display:flex}.redemption-actions button{flex:1;padding:0 8px}@media (width<=700px){.redemption-row .redemption-actions{grid-area:1/2/3}}.room-workspace--inventory{grid-template-columns:minmax(0,1.8fr) minmax(310px,.9fr);align-items:start;gap:20px}.room-stage{min-width:0}.room-theme-tabs{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.room-theme-tabs button{color:#716985;background:#ffffffb3;border:1px solid #e2ddef;border-radius:14px;align-items:center;gap:6px;padding:10px 15px;font-size:13px;display:flex}.room-theme-tabs button[aria-pressed=true]{color:#6050ad;background:#f0ebff;border-color:#bdb0e9;font-weight:700}.room-stage-body{position:relative}.room-scene.pet-room{aspect-ratio:1.18;isolation:isolate;border-radius:26px;min-height:560px;box-shadow:0 16px 40px #62527712}.room-scene.pet-room:before{display:none}.room-scene .room-backdrop{z-index:0}.room-image-status{z-index:8;color:#676077;background:#fffef5e8;border-radius:12px;padding:9px 13px;font-size:12px;position:absolute;top:16px;left:16px;box-shadow:0 3px 12px #30264212}.room-image-retry{border:1px solid #c5b6e9}.room-scene .pet-visual--room{aspect-ratio:1;z-index:3;pointer-events:none;width:46%;height:auto;position:absolute;top:78%;bottom:auto;left:51%;transform:translate(-50%,-78%)}.room-scene .pet-visual--room .pet-fallback{width:100%;height:100%}.room-object{left:var(--object-x);top:var(--object-y);width:var(--object-width);aspect-ratio:1;z-index:2;height:auto;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:20px;padding:0;display:block;position:absolute;transform:translate(-50%,-50%)}.room-object-art{filter:drop-shadow(0 9px 5px #41352333);width:100%;height:100%;display:block;position:relative}.room-object-art img{object-fit:contain;width:100%;height:100%;display:block}.room-object--floor{z-index:1;transform:translate(-50%,-50%)scaleY(.46)}.room-object--floor .room-object-art{filter:drop-shadow(0 8px 8px #62574827)}.room-object--toy{z-index:4}.room-object--light:before{content:"";filter:blur(18px);background:#ffe6a46b;border-radius:50%;position:absolute;inset:10%}.room-object.is-preview{outline-offset:-5px;background:#f1e8ff26;outline:2px dashed #9c80d7}.room-preview-pill{white-space:nowrap;color:#7254b2;background:#fff9;border-radius:9px;padding:3px 8px;font-size:11px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.room-scene .room-name{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#41452e;background:#fffaf0db;border-radius:14px;width:fit-content;padding:10px 15px;bottom:17px;left:18px;right:18px}.room-scene .room-name b{font-size:16px}.room-scene .room-name small{margin-top:3px;font-size:12px}.room-success{z-index:9;color:#4a704e;background:#f6fff1ed;border:1px solid #cfe3c1;border-radius:12px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 4px 15px #414f2915}.room-success button{color:#3c6239;background:#e2efd7;border-radius:8px;padding:3px 8px}.room-inventory{background:#ffffffec;border:1px solid #e4dff0;border-radius:25px;min-width:0;padding:19px;box-shadow:0 12px 35px #67588409}.room-inventory>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.room-inventory h2{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.room-inventory>header>span{color:#9b91ac;font-size:12px}.inventory-filters,.shop-categories{background:#f5f2fb;border-radius:12px;gap:4px;margin-bottom:15px;padding:4px;display:flex}.inventory-filters button{color:#8a819c;background:0 0;border-radius:9px;flex:1;min-width:0;padding:7px 0;font-size:12px}.inventory-filters button[aria-pressed=true],.shop-categories button[aria-pressed=true]{color:#6b51b0;background:#fff;font-weight:700;box-shadow:0 2px 6px #68537b0d}.inventory-grid{scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;min-height:220px;max-height:420px;margin:0 -3px;padding:2px 3px 6px;display:grid;overflow-y:auto}.inventory-cell{color:#655a76;text-align:center;background:linear-gradient(155deg,#fcfaff,#f4f0f9);border:1px solid #eae4f2;border-radius:13px;flex-direction:column;align-items:center;min-width:0;padding:8px 4px 7px;display:flex;position:relative}.inventory-cell.is-selected{background:#f0e9fc;border-color:#a88ad8;box-shadow:0 0 0 2px #cbb6ed40}.inventory-cell>img,.inventory-cell>.asset-fallback{aspect-ratio:1;object-fit:contain;width:100%;height:auto}.inventory-cell-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;width:100%;padding-top:2px;display:flex}.inventory-cell-footer b{overflow-wrap:anywhere;font-size:10px;font-weight:600}.inventory-cell-footer small{color:#9c8aaa;font-size:10px}.inventory-tag{z-index:1;color:#677954;background:#e2efcc;border-radius:5px;padding:2px 4px;font-size:9px;position:absolute;top:4px;left:4px}.inventory-tag.preview{color:#8661af;background:#eee1ff}.inventory-tag.reward{color:#a17a42;background:#fff1d9}.inventory-empty{color:#a297b4;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;min-height:220px;display:flex}.inventory-empty p{margin:0;font-size:13px}.inventory-empty button{color:#785bb9;background:#f1ebfc;border-radius:10px;padding:8px 15px}.inventory-detail{border-top:1px solid #eee7f6;gap:10px;min-height:146px;margin-top:14px;padding:13px 0;display:flex}.inventory-detail-image{object-fit:contain;background:#f6f1fc;border-radius:13px;flex:0 0 62px;width:62px;height:62px}.inventory-detail h3{color:#544465;margin:0 0 6px;font-size:14px}.inventory-detail p{color:#91869f;margin:0 0 4px;font-size:11px;line-height:1.7}.inventory-detail small{color:#8d7e9c;font-size:10px}.inventory-detail-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.inventory-detail-actions button{border-radius:9px;min-height:32px;padding:7px 11px;font-size:11px}.inventory-detail-actions button:not(.primary-button){color:#8e7d9c;background:#f2eef8}.room-auto-actions{gap:8px;display:flex}.room-auto-actions>button{color:#887199;background:#f4effa;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:8px;font-size:13px;display:flex}.room-auto-actions>.room-auto-button{color:#fff;background:linear-gradient(110deg,#aa88d5,#8366bf);box-shadow:0 5px 12px #987bc228}.room-inventory>footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;padding-top:10px;display:flex}.room-inventory>footer>span,.room-inventory>footer small{color:#a79ab3;font-size:10px}.room-inventory>footer button{color:#8870b4;background:0 0;padding:4px 0;font-size:11px}.room-workspace button:focus-visible,.shop-page button:focus-visible{outline-offset:3px;outline:3px solid #ad87df}.room-workspace button:disabled,.shop-page button:disabled{opacity:.5;cursor:not-allowed}.shop-room-intro{background:linear-gradient(115deg,#f5efff,#f2f8ec);border:1px solid #e7def1;border-radius:20px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:20px 23px;display:flex}.shop-room-intro b{color:#675481;font-size:17px}.shop-room-intro p{color:#96869f;margin:7px 0 0;font-size:13px}.shop-room-intro button{white-space:nowrap;font-size:13px}.shop-categories{width:fit-content;margin-bottom:20px}.shop-categories button{color:#92829f;background:0 0;border-radius:9px;padding:9px 20px;font-size:13px}.shop-purchase-success{color:#6d8653;background:#f3f9ed;border:1px solid #d6e3cb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 15px;font-size:13px;display:flex}.shop-purchase-success button{color:#6e52a4;background:0 0;margin-left:auto}.shop-collectibles{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.shop-collectible{background:#fffcff;border:1px solid #e9e2ef;border-radius:22px;flex-direction:column;min-width:0;padding:15px;display:flex}.shop-collectible-art{aspect-ratio:1.25;background:linear-gradient(145deg,#f4eefc,#f6f7ed);border-radius:15px;justify-content:center;display:flex;position:relative}.shop-collectible-art img{object-fit:contain;width:100%;height:100%;padding:5px;position:absolute}.shop-collectible-art>span{color:#8d789d;background:#fff9;border-radius:6px;padding:3px 7px;font-size:10px;position:absolute;top:8px;left:8px}.shop-collectible h2{color:#61516d;margin:13px 0 6px;font-size:16px}.shop-collectible p{color:#93859d;flex:1;margin:0 0 10px;font-size:12px;line-height:1.7}.shop-collectible>small{color:#a797b0;font-size:11px}.shop-collectible footer{justify-content:space-between;align-items:center;gap:8px;margin-top:13px;display:flex}.shop-collectible strong{color:#b4914b;align-items:center;gap:4px;font-size:18px;display:flex}.shop-collectible strong small{font-size:10px;font-weight:400}.shop-collectible footer button{color:#76579d;background:#ece3f7;border-radius:10px;padding:8px 15px;font-size:12px}.room-object.is-playing .art-toy-bubble-ball{animation:.65s ease-in-out 2 room-ball-bounce}.room-object.is-playing .art-toy-windmill,.room-object.is-playing .art-decor-shell-chair{transform-origin:50% 90%;animation:.8s ease-in-out 2 room-music-rock}.room-object.is-playing .art-toy-star-kite{transform-origin:50% 95%;animation:.8s ease-in-out 2 room-kite-sway}.room-object.is-playing .art-toy-music-box{animation:.6s ease-in-out 3 room-music-rock}.room-music-notes{color:#b57bb8;font-size:22px;font-style:normal;animation:1.8s ease-out room-note-rise;position:absolute;top:-5%;right:0}@keyframes room-ball-bounce{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-25%)scale(.95,1.04)}90%{transform:scale(1.08,.92)}}@keyframes room-kite-sway{25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}@keyframes room-music-rock{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes room-note-rise{to{opacity:0;transform:translateY(-35px)}}@media (width>=1600px){.world-page{max-width:1500px}.room-scene.pet-room{min-height:640px}}@media (width<=1100px){.room-workspace--inventory{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:14px}.room-scene.pet-room{min-height:480px}.room-inventory{padding:14px}.shop-collectibles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.room-workspace--inventory{grid-template-columns:1fr}.room-scene.pet-room{aspect-ratio:1.25;min-height:430px}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:170px;max-height:390px}.inventory-cell>img{max-height:115px}.inventory-cell-footer b{font-size:12px}.inventory-detail{min-height:130px}}@media (width<=600px){.room-scene.pet-room{aspect-ratio:1;border-radius:20px;min-height:330px}.room-theme-tabs{gap:5px}.room-theme-tabs button{flex:1;justify-content:center;padding:9px;font-size:11px}.room-scene .room-name{padding:8px 11px;bottom:10px;left:10px}.room-scene .room-name b{font-size:13px}.room-scene .room-name small{font-size:10px}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:410px}.inventory-cell-footer b{font-size:11px}.room-inventory{border-radius:20px;padding:16px}.shop-room-intro{flex-direction:column;align-items:start;padding:18px}.shop-categories{width:100%}.shop-categories button{flex:1;padding:9px 0;font-size:12px}.shop-collectibles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-collectible{border-radius:16px;padding:10px}.shop-collectible p{font-size:11px}.shop-collectible footer{gap:3px}.shop-collectible footer button{padding:8px 12px}.shop-collectible strong{font-size:16px}.shop-collectible strong small{display:none}.shop-collectible h2{font-size:14px}}@media (prefers-reduced-motion:reduce){.room-object.is-playing .room-object-art,.room-music-notes{animation:none}}.collection-appearance{flex-wrap:wrap}.collection-appearance>div{flex:1;min-width:120px}.collection-appearance>button{border-radius:12px;padding:10px 15px;font-size:12px}
