@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";.nd-shell{--nd-accent: #f97316;--nd-accent-strong: #ea580c;--nd-ink: #1f2933;--nd-muted: #667085;--nd-line: rgba(120, 113, 108, .18);--nd-surface: #ffffff;--nd-soft: #fff8f2;min-height:100vh;background:linear-gradient(180deg,#fff7ed,#f8fafc 46%,#f1f5f9);color:var(--nd-ink)}.nd-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,5vw,48px);background:#ffffffe6;border-bottom:1px solid var(--nd-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.nd-header-brand{display:flex;align-items:center;gap:12px}.nd-header-brand .brand-logo{width:36px;height:36px}.nd-header-brand h1{margin:0;font-size:16px}.nd-header-session{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--nd-muted)}.nd-header-name{font-weight:600;color:var(--nd-ink)}.nd-header-count{font-size:13px;font-weight:600;color:#047857;background:#10b9811f;padding:3px 10px;border-radius:999px}.nd-member-tag{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.nd-member-tag.is-owned{background:#10b98124;color:#047857}.nd-member-tag.is-trial{background:#f9731624;color:var(--nd-accent-strong)}.nd-notice{padding:12px clamp(16px,5vw,48px) 0}.nd-main{padding:14px clamp(12px,2vw,20px) 28px;max-width:1120px;margin:0 auto}.nd-primary-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:11px 20px;font-size:15px;font-weight:600;color:#fff;background:#e16540;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.nd-primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #ea580c4d}.nd-primary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.nd-ghost-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(120,113,108,.24);background:#fff;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:600;color:#1f2933;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.nd-ghost-button:hover{border-color:#f97316;color:#ea580c}.nd-search{position:relative;display:flex;align-items:center;margin-bottom:16px}.nd-search-icon{position:absolute;left:14px;color:#94a3b8;pointer-events:none}.nd-search-input{width:100%;height:44px;padding:0 42px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-surface);font-size:15px;color:var(--nd-ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.nd-search-input:focus{border-color:var(--nd-accent);box-shadow:0 0 0 3px #f973161f}.nd-search-clear{position:absolute;right:10px;width:26px;height:26px;border:none;background:#e2e8f0;color:#475467;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.nd-search-clear:hover{background:#cbd5e1}.nd-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.nd-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--nd-line);background:var(--nd-surface);color:var(--nd-ink);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.nd-filter-chip:hover{border-color:var(--nd-accent);color:var(--nd-accent-strong)}.nd-filter-chip.is-active{background:linear-gradient(135deg,#f97316,#ea580c);border-color:transparent;color:#fff}.nd-search-meta{margin:0 0 12px;font-size:13px;color:var(--nd-muted)}.nd-locked-teaser{display:flex;flex-direction:column;align-items:center;margin-top:12px}.nd-locked-preview{position:relative;width:100%;max-height:50px;overflow:hidden;border-radius:12px}.nd-row-faux{filter:blur(3px);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.nd-locked-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff0d,#ffffffb8 55%,#fff)}.nd-locked-lock-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;margin-top:-16px;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;color:#ea580c;font-size:14px;font-weight:600}.nd-locked-lock{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 8px 22px #ea580c38;display:flex;align-items:center;justify-content:center;color:#ea580c}.nd-locked-lock-btn:hover .nd-locked-lock{box-shadow:0 12px 28px #ea580c4d}.nd-rows{border:1px solid var(--nd-line);border-radius:12px;overflow:hidden;background:var(--nd-surface)}.nd-rows-virtual{overflow-y:auto;height:calc(100vh - 240px);min-height:300px}.nd-row{display:flex;align-items:center;gap:12px;height:48px;padding:0 14px;border-bottom:1px solid var(--nd-line);background:var(--nd-surface);transition:background .12s ease}.nd-row:last-child{border-bottom:none}.nd-row.is-clickable,.nd-row.is-locked{cursor:pointer}.nd-row.is-clickable:hover{background:#fff7ed}.nd-row-title{flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nd-row-chevron{flex:0 0 auto;font-size:22px;color:#cbd5e1;line-height:1}.nd-row-lock{flex:0 0 auto;font-size:14px}.nd-card-category{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--nd-accent-strong);background:#f973161f;padding:3px 10px;border-radius:999px}.nd-empty,.nd-detail-loading{padding:48px 0;text-align:center;color:var(--nd-muted)}.nd-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--nd-muted);font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;margin-bottom:16px}.nd-back:hover{color:var(--nd-accent-strong)}.nd-detail-card{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #7c2d1214}.nd-detail-cover img{width:100%;max-height:320px;object-fit:cover;display:block}.nd-detail-head{display:flex;flex-direction:column;gap:10px;padding:22px 24px 0}.nd-detail-head .nd-card-category{align-self:flex-start}.nd-detail-head h1{margin:0;font-size:24px;font-weight:700}.nd-detail-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--nd-muted)}.nd-detail-summary{padding:16px 24px 0;margin:0;color:#334155;line-height:1.7;white-space:pre-wrap}.nd-links{padding:20px 24px 26px}.nd-links h2{font-size:16px;margin:8px 0 14px}.nd-link-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--nd-line);border-radius:14px;margin-bottom:12px;background:var(--nd-soft)}.nd-link-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.nd-link-url{font-size:13px;color:var(--nd-muted);word-break:break-all}.nd-link-password{font-size:13px;font-weight:600;color:var(--nd-accent-strong)}.nd-link-actions{display:flex;gap:10px}.nd-gate{text-align:center;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:18px;padding:48px 24px;box-shadow:0 16px 40px #7c2d1214}.nd-gate h2{margin:0 0 10px}.nd-gate p{color:var(--nd-muted);margin:0 auto 20px;max-width:420px;line-height:1.6}.nd-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.nd-modal-card{background:#fff;border-radius:18px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 30px 80px #0f172a47}.nd-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.nd-modal-header h4{margin:0;font-size:18px;font-weight:700;color:#1f2933}.nd-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#f1f5f9;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475467;transition:background .12s ease,color .12s ease}.nd-modal-close:hover{background:#e2e8f0;color:#1f2933}.nd-purchase{display:flex;flex-direction:column;align-items:center;gap:24px;padding:0 24px 40px}.nd-purchase-product{display:flex;flex-direction:column;gap:12px;max-width:360px;padding:16px;border:1px solid #e5e7eb;border-radius:12px}.nd-purchase-product>strong{font-size:18px}.nd-purchase-product>p{margin:0;color:#667085;font-size:14px;line-height:1.5}.nd-purchase-promo{display:flex;align-items:center;gap:4px;margin-top:12px}.nd-purchase-promo-icon{display:inline-flex;align-items:center;justify-content:center;color:#16a34a;flex:0 0 auto}.nd-purchase-promo-text{color:#334155;line-height:1.4;font-size:14px}.nd-purchase-off{color:#16a34a}.nd-purchase-social{display:flex;align-items:center;gap:12px}.nd-purchase-avatars{display:flex}.nd-purchase-avatar{width:34px;height:34px;border-radius:50%;border:2px solid #ffffff;object-fit:cover;margin-left:-10px;background:#e2e8f0}.nd-purchase-avatar:first-child{margin-left:0}.nd-purchase-avatar-ph.ph-1{background:linear-gradient(135deg,#fdba74,#fb923c)}.nd-purchase-avatar-ph.ph-2{background:linear-gradient(135deg,#93c5fd,#60a5fa)}.nd-purchase-avatar-ph.ph-3{background:linear-gradient(135deg,#fca5a5,#f87171)}.nd-purchase-avatar-ph.ph-4{background:linear-gradient(135deg,#6ee7b7,#34d399)}.nd-purchase-avatar-ph.ph-5{background:linear-gradient(135deg,#c4b5fd,#a78bfa)}.nd-purchase-stars{color:#facc15;letter-spacing:1px;font-size:14px;text-shadow:0 1px 0 rgba(0,0,0,.06)}.nd-purchase-social-text{font-size:12px;color:#475467}.nd-purchase-social-text strong{color:#1f2933;font-size:12px;font-weight:600}.nd-purchase-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:14px 0 0}.nd-purchase-original{color:#94a3b8;text-decoration:line-through;font-size:14px}.nd-purchase-current{font-size:28px;font-weight:800;color:#ea580c}.nd-purchase-note{font-size:13px;color:#667085}.nd-purchase-benefits{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.nd-purchase-benefits li{display:flex;align-items:center;gap:4px;font-size:14px;color:#334155}.nd-purchase-check{flex:0 0 auto;border-radius:50%;color:#7e7977;display:flex;align-items:center;justify-content:center}.nd-purchase-payment{display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid #eef2f7;padding-top:16px}.nd-purchase-qr{display:flex;flex-direction:column;align-items:center;gap:8px}.nd-purchase-qr img{width:200px;height:200px}.nd-purchase-qr-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:12px;color:#94a3b8}.nd-purchase-order{text-align:center;color:#667085;font-size:13px}.nd-purchase-order p{margin:2px 0}@media(max-width:640px){.nd-header{flex-direction:column;align-items:flex-start;gap:10px}.nd-link-row{flex-direction:column;align-items:stretch}.nd-link-actions{justify-content:flex-end}}.nd-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid rgba(148,163,184,.28);border-radius:14px;margin-bottom:22px;background:#f8fafc99}.nd-admin-form .nd-admin-field-full{grid-column:1 / -1}.nd-admin-tabs{display:inline-flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:10px;margin-top:12px;margin-right:12px}.nd-admin-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#475467;font-size:13px;font-weight:600;padding:6px 16px;border-radius:8px;cursor:pointer}.nd-admin-tab.is-active{background:#fff;color:#ea580c;box-shadow:0 1px 3px #0f172a1f}.nd-admin-status.is-deleted{background:#ef444424;color:#b91c1c}.nd-admin-search{display:flex;gap:8px;align-items:center;margin-top:16px}.nd-admin-search input{flex:1;height:40px;padding:0 14px;border:1px solid rgba(148,163,184,.4);border-radius:10px;font-size:14px;outline:none}.nd-admin-search input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161f}.nd-admin-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.nd-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.nd-pagination-info{font-size:13px;color:#64748b;font-weight:600}.nd-admin-links{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px}.nd-admin-links .stacked-field-label{font-size:13px;font-weight:600;color:#475467}.nd-admin-form-message{font-size:13px;color:#667085}.nd-admin-cover{display:flex;gap:14px;align-items:flex-start}.nd-admin-cover-preview{flex:0 0 auto;width:132px;height:84px;border-radius:10px;object-fit:cover;border:1px solid rgba(148,163,184,.4);background:#f1f5f9}.nd-admin-cover-preview.is-empty{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px}.nd-admin-cover-controls{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.nd-admin-cover-controls input{width:100%}.nd-admin-cover-buttons{display:flex;gap:8px}.nd-admin-upload-btn{cursor:pointer}.nd-admin-link-row{display:grid;grid-template-columns:1fr 1.6fr 1fr auto;gap:8px;align-items:center}.nd-admin-link-row input{width:100%}.nd-admin-form-actions{grid-column:1 / -1;display:flex;gap:10px;align-items:center}.nd-admin-card{border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.nd-admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.nd-admin-card-stats{display:flex;gap:14px;font-size:12px;color:#64748b}.nd-admin-card-actions{display:flex;gap:8px}.nd-admin-status{font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px}.nd-admin-status.is-published{background:#10b98124;color:#047857}.nd-admin-status.is-hidden{background:#64748b29;color:#475569}@media(max-width:720px){.nd-admin-form,.nd-admin-link-row{grid-template-columns:1fr}}.website-shell{--website-bg: #ffffff;--website-soft-bg: #f3f5f8;--website-soft-bg-2: #eef1f5;--website-ink: #171719;--website-muted: rgba(23, 23, 25, .72);--website-faint: rgba(23, 23, 25, .1);--website-card: #ffffff;--website-primary: #ff5c35;--website-primary-dark: #de3f1c;--website-primary-ink: #ffffff;min-height:100vh;overflow-x:hidden;background:var(--website-bg);color:var(--website-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth}.website-shell *,.website-shell *:before,.website-shell *:after{box-sizing:border-box}.website-shell a{color:inherit;text-decoration:none}.website-header{position:sticky;top:0;z-index:40;background:var(--website-soft-bg)}.website-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1280px,100%);margin:0 auto;padding:16px 32px}.website-brand{display:inline-flex;align-items:center;gap:10px;flex:none;min-width:0;font-weight:900;letter-spacing:-.02em}.website-brand img{width:32px;height:32px;flex:none;border-radius:8px;object-fit:cover}.website-brand span{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.website-nav{display:flex;align-items:center;justify-content:center;gap:48px;flex:1}.website-nav a,.website-footer a,.website-mobile-links a{color:#171719c7;font-size:16px;font-weight:500;transition:color .18s ease}.website-nav a:hover,.website-footer a:hover,.website-mobile-links a:hover{color:var(--website-ink)}.website-header-cta{display:flex;justify-content:flex-end;flex:1}.website-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:8px;font-size:16px;font-weight:800;line-height:1;cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.website-button:hover{transform:translateY(-1px)}.website-button-primary{background:var(--website-primary);color:var(--website-primary-ink);box-shadow:0 12px 28px #ff5c353d}.website-button-primary:hover{background:var(--website-primary-dark);box-shadow:0 15px 34px #ff5c354d}.website-button-wide{min-width:256px}.website-menu-button{display:none;width:42px;height:42px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--website-ink);cursor:pointer}.website-menu-button svg{width:24px;height:24px}.website-mobile-panel{display:none}.website-mobile-drawer{position:fixed;inset:0 0 0 auto;z-index:50;width:min(100%,384px);padding:16px 32px 32px;overflow-y:auto;background:var(--website-soft-bg);box-shadow:-18px 0 80px #0f172a29}.website-mobile-head{display:flex;align-items:center;justify-content:space-between}.website-mobile-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:28px 0 10px}.website-divider{height:1px;margin:14px 0 24px;background:#1717191f}.website-hero{display:flex;align-items:center;justify-content:center;gap:clamp(48px,6vw,80px);width:min(1280px,100%);min-height:calc(100vh - 72px);margin:0 auto;padding:32px;background:var(--website-bg)}.website-hero-copy{display:flex;flex:1 1 0;flex-direction:column;align-items:flex-start;justify-content:center;gap:42px;max-width:560px}.website-product-hunt{display:inline-flex;align-items:center;gap:8px;margin-bottom:-18px;color:#171719c7;font-size:14px;font-weight:800;transition:color .18s ease}.website-product-hunt:hover{color:var(--website-ink)}.website-product-hunt svg{width:28px;height:28px;fill:currentColor}.website-product-hunt svg.is-flipped{transform:scaleX(-1)}.website-hero h1{margin:0 -2px 0 0;max-width:11ch;font-size:clamp(42px,5vw,64px);font-weight:900;letter-spacing:-.04em;line-height:.96}.website-hero-copy>p{max-width:56ch;margin:-10px 0 0;color:var(--website-muted);font-size:18px;line-height:1.7}.website-avatar-row{display:flex;align-items:center;gap:14px}.website-avatars{display:flex;align-items:center;padding-left:8px}.website-avatars span{display:grid;place-items:center;width:40px;height:40px;margin-left:-8px;border:2px solid var(--website-bg);border-radius:50%;background:linear-gradient(135deg,#202124,#5d6876);color:#fff;font-size:12px;font-weight:900}.website-avatars span:nth-child(2){background:linear-gradient(135deg,#ff5c35,#f59e0b)}.website-avatars span:nth-child(3){background:linear-gradient(135deg,#2563eb,#06b6d4)}.website-avatars span:nth-child(4){background:linear-gradient(135deg,#111827,#7c3aed)}.website-avatars span:nth-child(5){background:#fff;color:var(--website-ink);box-shadow:inset 0 0 0 1px #1717191f}.website-avatar-row>div:last-child{display:grid;gap:4px}.website-avatar-row strong{font-size:14px;line-height:1.2}.website-stars{display:flex;align-items:center;gap:2px;color:#f59e0b}.website-stars svg{width:16px;height:16px}.website-hero-media{flex:1 1 0;max-width:560px}.website-hero-media img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;box-shadow:0 24px 70px #0f172a2e}.website-features{width:min(1280px,100%);margin:0 auto;padding:96px 32px}.website-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:720px;margin-bottom:52px}.website-section-heading.is-centered{align-items:center;max-width:850px;margin-right:auto;margin-left:auto;text-align:center}.website-section-heading p{margin:0;color:var(--website-primary);font-size:16px;font-weight:800}.website-section-heading h2{margin:0;font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-.04em;line-height:1.04}.website-feature-board{display:grid;grid-template-columns:minmax(240px,.45fr) minmax(0,.55fr);gap:32px}.website-feature-list{display:grid;gap:10px;align-content:start}.website-feature-tab{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:16px 18px;border:0;border-radius:8px;background:transparent;color:var(--website-muted);font-size:18px;font-weight:800;text-align:left;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}.website-feature-tab:hover,.website-feature-tab.is-active{background:var(--website-soft-bg);color:var(--website-ink)}.website-feature-tab:hover{transform:translate(2px)}.website-feature-tab svg,.website-feature-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.website-feature-detail{min-height:440px;padding:clamp(28px,4vw,56px);border-radius:8px;background:var(--website-soft-bg)}.website-feature-icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:32px;border-radius:8px;background:var(--website-card);color:var(--website-ink);box-shadow:0 14px 28px #0f172a14}.website-feature-detail h3{margin:0 0 24px;font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-.04em}.website-feature-detail ul,.website-pricing-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.website-feature-detail li,.website-pricing-card li{display:flex;align-items:center;gap:12px;color:#171719d1;font-size:16px;line-height:1.5}.website-feature-detail li.is-accent{color:var(--website-primary);font-weight:800}.website-feature-detail li svg,.website-pricing-card li svg{width:18px;height:18px;flex:none;fill:currentColor}.website-pricing{overflow:hidden;background:var(--website-soft-bg)}.website-pricing>.website-section-heading,.website-pricing-grid{width:min(1024px,100%);margin-right:auto;margin-left:auto;padding-right:32px;padding-left:32px}.website-pricing>.website-section-heading{padding-top:96px;margin-bottom:70px}.website-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:32px;padding-bottom:96px}.website-pricing-card{position:relative;display:flex;flex-direction:column;gap:28px;min-height:100%;padding:32px;border-radius:8px;background:var(--website-card)}.website-pricing-card.is-popular:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:0;border-radius:9px;background:var(--website-primary)}.website-pricing-card.is-popular>*{position:relative;z-index:1}.website-pricing-card.is-popular{background:transparent}.website-pricing-card.is-popular>:not(.website-popular-badge){border-radius:inherit}.website-pricing-card.is-popular:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:8px;background:var(--website-card)}.website-popular-badge{position:absolute;top:0;left:50%;z-index:2;transform:translate(-50%,-50%);display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:999px;background:var(--website-primary);color:var(--website-primary-ink);font-size:12px;font-weight:900}.website-pricing-card h3{margin:0;font-size:20px;font-weight:900}.website-pricing-card p{margin:8px 0 0;color:var(--website-muted)}.website-price-row{display:flex;align-items:flex-end;gap:10px}.website-price-row strong{font-size:clamp(44px,6vw,58px);font-weight:900;letter-spacing:-.05em;line-height:.95}.website-price-row>span:last-child{margin-bottom:5px;color:#1717198f;font-size:12px;font-weight:900}.website-price-anchor{position:relative;margin-bottom:5px;color:#17171994;font-size:18px}.website-price-anchor:after{content:"";position:absolute;top:53%;right:0;left:0;height:2px;background:var(--website-ink)}.website-pricing-action{display:grid;gap:12px;margin-top:auto;text-align:center}.website-pricing-action>span{color:var(--website-muted);font-size:14px;font-weight:700}.website-testimonials{width:min(1280px,100%);margin:0 auto;padding:96px 32px}.website-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.website-testimonial{display:grid;gap:22px;padding:28px;border:1px solid var(--website-faint);border-radius:8px;background:var(--website-card);box-shadow:0 22px 50px #0f172a0f}.website-testimonial p{margin:0;color:var(--website-muted);font-size:16px;line-height:1.7}.website-testimonial strong{display:block;font-size:16px}.website-testimonial span{display:block;margin-top:4px;color:#1717198c;font-size:14px}.website-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:48px;width:min(1280px,100%);margin:0 auto;padding:96px 32px;background:var(--website-soft-bg)}.website-faq .website-section-heading{margin-bottom:0}.website-faq-list{margin:0;padding:0;list-style:none}.website-faq-item{border-top:1px solid rgba(23,23,25,.12)}.website-faq-item button{display:flex;align-items:center;width:100%;gap:16px;min-height:72px;padding:16px 0;border:0;background:transparent;color:var(--website-ink);font-size:18px;font-weight:800;text-align:left;cursor:pointer}.website-faq-item button span{flex:1}.website-faq-item button span.is-active{color:var(--website-primary)}.website-faq-item button svg{width:18px;height:18px;flex:none;transition:transform .22s ease}.website-faq-item button svg.is-open{transform:rotate(180deg)}.website-faq-content{overflow:hidden;color:var(--website-muted);transition:max-height .28s ease,opacity .28s ease}.website-faq-content p{margin:0;padding:0 0 22px;font-size:16px;line-height:1.7}.website-final-hero{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;text-align:center}.website-final-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.website-final-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#171719b8}.website-final-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:min(620px,100%);padding:32px;color:#fff}.website-final-content h2{margin:0 0 36px;font-size:clamp(36px,5vw,56px);font-weight:900;letter-spacing:-.04em;line-height:1.04}.website-final-content p{margin:0 0 48px;color:#ffffffc7;font-size:18px;line-height:1.7}.website-footer{border-top:1px solid rgba(23,23,25,.1);background:var(--website-soft-bg)}.website-footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;width:min(1280px,100%);margin:0 auto;padding:96px 32px}.website-footer-brand{width:260px}.website-footer-brand p{margin:14px 0 0;color:var(--website-muted);font-size:14px;line-height:1.5}.website-footer-brand .website-path-note{color:#1717196b;overflow-wrap:anywhere}.website-footer-links{display:flex;flex:1;justify-content:center;gap:12vw}.website-footer-links div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.website-footer h3{margin:0 0 4px;color:#171719bd;font-size:14px;font-weight:900;letter-spacing:.08em}@media(max-width:980px){.website-nav,.website-header-cta{display:none}.website-menu-button{display:grid}.website-mobile-panel.is-open{display:block}.website-hero,.website-footer-inner{flex-direction:column}.website-hero{min-height:auto;padding-top:64px;text-align:center}.website-hero-copy{align-items:center;max-width:760px}.website-hero h1{max-width:12ch}.website-feature-board,.website-faq{grid-template-columns:1fr}.website-feature-detail{min-height:auto}.website-testimonial-grid{grid-template-columns:1fr}.website-footer-brand{width:100%;text-align:center}.website-footer-brand .website-brand{justify-content:center}.website-footer-links{width:100%;justify-content:center}}@media(max-width:680px){.website-header-inner,.website-hero,.website-features,.website-testimonials,.website-faq,.website-pricing>.website-section-heading,.website-pricing-grid,.website-footer-inner{padding-right:20px;padding-left:20px}.website-hero{gap:42px;padding-bottom:72px}.website-hero-copy{gap:32px}.website-hero h1{max-width:none}.website-product-hunt{margin-bottom:-8px}.website-button-wide{width:100%;min-width:0}.website-avatar-row{align-items:flex-start;flex-direction:column}.website-hero-media img{aspect-ratio:4 / 3}.website-feature-tab{min-height:62px}.website-pricing-grid{grid-template-columns:1fr}.website-faq{padding-top:72px;padding-bottom:72px}.website-footer-inner{padding-top:64px;padding-bottom:64px}.website-footer-links{flex-direction:column;align-items:center;gap:34px;text-align:center}.website-footer-links div{align-items:center}}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}:root{color:#1e1f24;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;background:#fafaf7}.parent-page,.parent-admin-page{--parent-page-ink: #17211b;--parent-page-muted: #667085;--parent-page-line: rgba(45, 64, 52, .13);--parent-page-surface: rgba(255, 255, 255, .86);--parent-page-shadow: 0 20px 58px rgba(37, 48, 43, .11);min-height:100vh}.parent-admin-page{width:100%;max-width:1120px;margin:0 auto;padding:12px 0 60px;box-sizing:border-box}.parent-kicker{margin:0 0 5px;color:#64748b;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.parent-topbar,.parent-admin-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:16px;border:1px solid var(--parent-page-line);border-radius:18px;background:var(--parent-page-surface);box-shadow:var(--parent-page-shadow)}.parent-admin-header{align-items:flex-end;gap:24px;background:linear-gradient(135deg,#fff7edeb,#fffffff0 55%,#fee8b899)}.parent-admin-header-copy{display:grid;gap:4px;min-width:0}.parent-admin-header-copy h2{font-size:24px;font-weight:800}.parent-admin-header-desc{margin:2px 0 0;color:var(--parent-page-muted);font-size:13px;line-height:1.5}.parent-admin-invite-button{flex-shrink:0;min-height:42px;padding:10px 18px;border-radius:12px;font-weight:800;letter-spacing:.04em;box-shadow:0 12px 24px #f9731638}.parent-topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.parent-home-shortcut{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--parent-page-line);border-radius:14px;background:#ffffffb8;color:var(--parent-page-ink);text-decoration:none;box-shadow:0 10px 24px #25302b14;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.parent-home-shortcut:hover{transform:translateY(-1px);border-color:#2d403438;background:#ffffffeb;box-shadow:0 14px 30px #25302b1f}.parent-home-shortcut span{font-size:20px;line-height:1;font-weight:700}.parent-topbar h1,.parent-admin-header h2,.parent-empty-state h1,.parent-empty-state h2{margin:0;color:#0f172a}.parent-session,.parent-actions,.parent-student-meta,.parent-admin-list-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.parent-auth-panel,.parent-empty-state,.parent-invite-form,.parent-match-panel,.parent-main-panel,.parent-record-panel,.parent-admin-class-list,.parent-admin-list{border:1px solid var(--parent-page-line);border-radius:20px;background:var(--parent-page-surface);box-shadow:var(--parent-page-shadow)}.parent-auth-panel{display:grid;gap:18px;max-width:366px;margin:8vh auto 0px;padding:24px;box-sizing:border-box}.parent-auth-panel .title-text{font-size:22px}.parent-auth-panel h1,.parent-invite-form p,.parent-match-card h2,.parent-record-panel h2{margin:0}.parent-wide-button{width:100%;justify-content:center}.parent-dev-login summary{cursor:pointer;color:#475569;font-weight:700}.parent-dev-grid,.parent-invite-form,.parent-match-card,.parent-main-panel,.parent-record-panel,.parent-admin-list,.parent-invite-layout,.parent-home-layout,.parent-admin-layout{display:grid;gap:14px}.parent-invite-layout{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);padding:20px 20px 100px}.parent-home-layout{grid-template-columns:minmax(176px,.42fr) minmax(380px,1.3fr);align-items:start;padding:12px 10px 100px}.parent-home-layout.is-single-child{grid-template-columns:minmax(420px,1.28fr) minmax(280px,.72fr)}.parent-admin-layout{grid-template-columns:minmax(210px,280px) minmax(360px,1fr);gap:18px;align-items:start}.parent-admin-class-list-title{padding:2px 6px 8px;color:var(--parent-page-muted);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.parent-admin-list-count{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:800}.parent-admin-list-title h3{margin:0;font-size:18px;color:#0f172a}.parent-admin-list-title{padding:4px 4px 10px;border-bottom:1px solid var(--parent-page-line);margin-bottom:4px}.parent-admin-sort-button{margin-left:auto;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:1px solid var(--parent-page-line);border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.parent-admin-sort-button:hover{border-color:#f9731673;color:#9a3412;background:#fff7ed}.parent-admin-sort-arrow{font-size:13px;font-weight:800;line-height:1}.parent-admin-item{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:14px 16px;border-color:#2d403414;border-radius:16px;box-shadow:0 6px 18px #25302b0a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.parent-admin-item:hover{border-color:#f9731652;box-shadow:0 12px 28px #f973161f;transform:translateY(-1px)}.parent-admin-item-copy{display:grid;gap:4px;min-width:0}.parent-admin-item-copy strong{font-size:15px;color:#0f172a;font-weight:800}.parent-admin-item-copy span{color:var(--parent-page-muted);font-size:13px;font-weight:500}.parent-admin-item-action{flex-shrink:0;height:34px;padding:0 14px;border:1px solid rgba(249,115,22,.3);border-radius:10px;background:#fff7edb3;color:#9a3412;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.parent-admin-item-action:hover{background:#fb923c;border-color:#fb923c;color:#fff}.parent-invite-form,.parent-match-panel,.parent-main-panel,.parent-record-panel,.parent-admin-class-list,.parent-admin-list{padding:16px}.parent-main-panel{gap:16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;max-width:600px}.parent-child-switcher,.parent-admin-class-list,.parent-invite-class-grid{display:grid;gap:10px;align-content:start}.parent-invite-code-input{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.parent-invite-context,.parent-invite-code-panel{display:grid;gap:8px;padding:14px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed}.parent-invite-code-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.parent-invite-code-actions .primary-button,.parent-invite-code-actions .ghost-button{justify-content:center;min-height:46px}.parent-invite-poster{display:grid;gap:16px;margin-top:6px;padding:24px;border:1px solid rgba(184,134,80,.18);border-radius:24px;background:#fbf6ec;color:#1f1108;box-shadow:inset 0 1px #fff9,0 12px 32px #9a34120f}.parent-invite-poster-brand{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;color:#9a3412;letter-spacing:.02em}.parent-invite-poster-brand-meta{color:#94704a;font-weight:700;font-size:13px}.parent-invite-poster-headline{margin:6px 0 2px;color:#1f1108;font-size:clamp(28px,6vw,38px);font-weight:900;line-height:1.18;letter-spacing:.01em}.parent-invite-poster-highlight{padding:18px 20px;border-radius:16px;background:#f8e6cc;color:#7a3b07;font-size:clamp(16px,4vw,19px);font-weight:800;text-align:center;line-height:1.4}.parent-invite-poster-bullets{display:grid;gap:10px;margin:4px 0;padding:0;list-style:none}.parent-invite-poster-bullets li{position:relative;padding-left:20px;color:#3d2a18;font-size:15px;font-weight:500;line-height:1.55}.parent-invite-poster-bullets li:before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:50%;background:#c98748}.parent-invite-poster-bottom{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px;border-radius:22px;background:#f5e9d4;align-items:center}.parent-invite-poster-bottom-qr{display:grid;place-items:center;width:168px;height:168px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 6px 14px #9a34121a}.parent-invite-poster-bottom-qr img{width:100%;height:100%;object-fit:contain}.parent-invite-poster-bottom-code{display:grid;gap:6px;min-width:0}.parent-invite-poster-code-label{color:#94704a;font-size:13px;font-weight:700}.parent-invite-poster-bottom-code strong{color:#1f1108;font-size:clamp(20px,5vw,26px);font-weight:900;line-height:1.15;letter-spacing:.03em;overflow-wrap:anywhere}.parent-invite-poster-code-hint{margin:6px 0 0;color:#7a3b07;font-size:12px;font-weight:600;line-height:1.5}.parent-invite-poster-expiry{margin:0;padding:10px 12px;border-radius:999px;background:#c9874824;color:#7a3b07;text-align:center;font-size:13px;font-weight:700}.parent-invite-poster>.ghost-button{justify-content:center;min-height:46px}.parent-invite-context strong{color:#0f172a;font-size:18px}.parent-invite-code-panel>strong{display:block;padding:16px;border:1px dashed #fb923c;border-radius:16px;background:#fff;color:#0f172a;text-align:center;font-size:clamp(28px,8vw,48px);line-height:1;letter-spacing:.12em}.parent-child-switcher button,.parent-admin-class-list button,.parent-invite-class-grid button{display:grid;gap:4px;padding:12px;text-align:left;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#334155}.parent-child-add-button,.parent-empty-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 15px;border:1px dashed #fb923c;border-radius:14px;background:#fff7ede6;color:#9a3412;text-decoration:none;font-weight:800}.parent-empty-action{margin-top:10px}.parent-child-switcher button.is-active,.parent-admin-class-list button.is-active{border-color:#f97316;background:#fff7ed;color:#9a3412}.parent-match-card.is-stage-initial,.pp-level-card.is-stage-initial,.pp-student-card.is-stage-initial{--pp-stage-color: #fee8b8;--pp-stage-contrast: #7b7b7b}.parent-match-card.is-stage-juvenile,.pp-level-card.is-stage-juvenile,.pp-student-card.is-stage-juvenile{--pp-stage-color: #3eaeba;--pp-stage-contrast: #ffffff}.parent-match-card.is-stage-growth,.pp-level-card.is-stage-growth,.pp-student-card.is-stage-growth{--pp-stage-color: #4694d1;--pp-stage-contrast: #ffffff}.parent-match-card.is-stage-mature,.pp-level-card.is-stage-mature,.pp-student-card.is-stage-mature{--pp-stage-color: #f16e7d;--pp-stage-contrast: #ffffff}.parent-match-card.is-stage-complete,.pp-level-card.is-stage-complete,.pp-student-card.is-stage-complete{--pp-stage-color: #8092cb;--pp-stage-contrast: #ffffff}.parent-match-card.is-stage-ultimate,.pp-level-card.is-stage-ultimate,.pp-student-card.is-stage-ultimate{--pp-stage-color: #f6ae54;--pp-stage-contrast: #ffffff}.parent-match-card.is-stage-ultra,.pp-level-card.is-stage-ultra,.pp-student-card.is-stage-ultra{--pp-stage-color: #f5875b;--pp-stage-contrast: #ffffff}.parent-actions{display:flex;flex-wrap:wrap;align-items:center}.parent-actions .primary-button,.parent-actions .ghost-button{flex:1 1 148px;min-height:48px;justify-content:center;font-weight:800;text-decoration:none}.parent-record-list{display:grid;gap:10px}.parent-record-item,.parent-admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.parent-admin-item{grid-template-columns:auto minmax(0,1fr) auto}.parent-record-item div,.parent-admin-item div:not(.parent-avatar){display:grid;gap:4px}.is-positive{color:#16a34a}.is-negative{color:#dc2626}.parent-metric-list,.parent-metric-group,.parent-metric-group>div{display:grid;gap:10px}.parent-metric-group h3{display:flex;align-items:center;gap:10px;margin:4px 0 0;padding-left:calc(var(--parent-metric-depth, 0) * 18px);color:var(--parent-metric-accent, #334155);font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.parent-metric-group.is-evaluated h3{color:#9ca3af}.parent-metric-group.is-evaluated>div{border-color:#d1d5db}.parent-confirm-body{padding:16px 0;color:#334155;font-size:14px;line-height:1.6}.parent-confirm-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.parent-metric-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;padding-left:calc(12px + var(--parent-metric-depth, 0) * 18px);border:1px solid color-mix(in srgb,var(--parent-metric-accent, #e2e8f0) 24%,#e2e8f0);border-radius:14px;background:linear-gradient(135deg,var(--parent-metric-soft, #fff),#fff 68%);color:#0f172a;text-align:left;box-shadow:0 8px 20px #0f172a0a}.parent-metric-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--parent-metric-accent, #e2e8f0) 42%,#e2e8f0);transform:translateY(-1px)}.parent-metric-item:disabled{opacity:.55}.parent-metric-item img{width:42px;height:42px;border-radius:10px;object-fit:cover}.parent-metric-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--parent-metric-soft, rgba(15, 23, 42, .08));color:var(--parent-metric-accent, #475569);font-size:15px;font-weight:800;flex-shrink:0}.parent-metric-copy{min-width:0;display:grid;gap:2px}.parent-metric-copy strong{color:#0f172a}.parent-metric-copy small{color:#64748b;font-size:14px;font-weight:600}.parent-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:18px;background:#0f172a75}.parent-modal{display:grid;gap:14px;width:min(720px,100%);max-height:min(700px,calc(100vh - 36px));overflow:auto;padding:18px;border-radius:20px;background:#fff;box-shadow:0 28px 80px #0f172a40}.parent-modal.parent-modal-wide{width:min(1080px,100%)}.parent-modal header{display:flex;justify-content:space-between;gap:12px;align-items:center}.parent-modal h2{margin:0}.parent-empty-state{padding:28px;text-align:center}.parent-empty-state.compact{box-shadow:none}.parent-empty-text{margin:0;color:#64748b}.parent-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;overflow:hidden;background:linear-gradient(140deg,#fff7ed,#fed7aa);color:#9a3412;font-weight:800;font-size:16px;box-shadow:0 0 0 2px #fff,0 4px 10px #f973162e;flex-shrink:0}.parent-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:980px){.parent-invite-layout,.parent-home-layout,.parent-home-layout.is-single-child,.parent-admin-layout{grid-template-columns:1fr}.parent-child-switcher{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.parent-child-switcher::-webkit-scrollbar{display:none}.parent-child-switcher button{min-width:132px;padding:10px 11px}.parent-child-add-button{min-width:132px;min-height:40px;padding:9px 11px}}@media(max-width:640px){.parent-page{padding:0;background-size:100% 34px,auto}.parent-topbar{position:sticky;top:0;z-index:20;margin:0;padding:12px 14px;border-width:0 0 1px;border-radius:0;background:#fffaf0e8;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);box-shadow:0 10px 26px #25302b14}.parent-topbar-title{gap:10px}.parent-home-shortcut{width:36px;height:36px;border-radius:12px;box-shadow:0 8px 18px #25302b14}.parent-topbar h1{font-size:20px;line-height:1.15}.parent-kicker{font-size:14px}.parent-session{justify-content:flex-end;gap:6px;font-size:14px}.parent-session .ghost-button{min-height:34px;padding:8px 10px;border-radius:12px}.parent-page>.banner{margin:10px 12px}.parent-home-layout{gap:10px;padding:12px 10px 100px}.parent-main-panel,.parent-record-panel,.parent-empty-state{border-radius:18px;box-shadow:0 14px 34px #25302b14}.parent-main-panel{order:2;padding:0;border-radius:0;box-shadow:none}.parent-child-switcher{order:1}.parent-record-panel{order:3;padding:14px}.parent-student-meta{gap:6px;margin-bottom:20px}.parent-student-meta span,.parent-progress-label span{min-height:28px;padding:0 9px;font-size:14px}.parent-actions{grid-template-columns:1fr 1fr;gap:10px}.parent-actions .primary-button,.parent-actions .ghost-button{width:100%;min-height:52px;border-radius:15px}.parent-child-switcher button{min-width:120px;gap:2px;padding:8px 10px;border-radius:12px;background:#ffffffd6}.parent-child-switcher button strong{font-size:14px;line-height:1.15}.parent-child-switcher button span{font-size:12px;line-height:1.2}.parent-child-add-button{min-width:120px;min-height:38px;padding:8px 10px;border-radius:12px;font-size:13px}.parent-invite-poster{padding:14px;border-radius:18px}.parent-record-item{padding:11px;border-radius:13px}.parent-modal-backdrop{padding:10px}.parent-modal{width:100%;max-height:min(82vh,720px);border-radius:20px 20px 16px 16px;padding:14px}}@media(max-width:380px){.parent-child-switcher{gap:6px}.parent-child-switcher button,.parent-child-add-button{min-width:108px}.parent-actions{display:grid;grid-template-columns:1fr}.parent-invite-code-actions{grid-template-columns:1fr}.parent-invite-poster-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}.parent-invite-poster-bottom-code{justify-items:center}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:inherit;background:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;flex-direction:column;padding:0;min-height:100vh;min-height:100dvh}.app-shell-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff}.app-shell-brand p{margin:0;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#94a3b8}.app-shell-brand h1{margin:0;font-size:22px;color:#0f172a;white-space:nowrap}.app-shell-title-row,.login-title-row{display:flex;align-items:center}.app-shell-title-row{gap:10px}.brand-logo{flex:0 0 auto;display:block;border-radius:50%;object-fit:cover;background:#ecfdf5;box-shadow:0 0 0 1px #0f172a14,0 8px 20px #0f172a1f}.app-shell-logo{width:42px;height:42px}.app-shell-toolbar,.app-shell-tabs,.app-shell-session,.app-shell-module-actions,.app-shell-tool-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-shell-toolbar{justify-content:flex-end}.app-shell-tabs{padding:4px;border-radius:14px;background:#ecebe9}.app-shell-module-actions{gap:6px;padding:4px;border-radius:14px;background:#f8fafcad;border:1px solid rgba(226,232,240,.7)}.app-shell-tool-group{gap:4px}.app-shell-tool-group+.app-shell-tool-group{padding-left:7px;border-left:1px solid rgba(148,163,184,.24)}.app-shell-tab,.app-shell-exit,.app-shell-tool{border:0;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.app-shell-tab{min-height:34px;padding:0 14px;border-radius:10px;background:transparent;color:#475569;font-weight:600;font-size:14px}.app-shell-tab.is-active{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;box-shadow:0 12px 24px #f9731633}.app-shell-session{justify-content:flex-end;color:#475569;font-size:14px}.app-shell-tool{min-height:32px;padding:0 10px;border-radius:10px;background:#f7f9fa;color:#334155;font-size:14px;font-weight:700;box-shadow:0 6px 14px #0f172a0a}.app-shell-tool-group-secondary .app-shell-tool{background:transparent;color:#64748b;box-shadow:none}.app-shell-settings-menu{position:relative;display:inline-flex}.app-shell-settings-trigger{display:inline-flex;align-items:center;gap:4px}.app-shell-settings-chevron{transition:transform .16s ease}.app-shell-settings-menu.is-open .app-shell-settings-chevron{transform:rotate(180deg)}.app-shell-settings-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:140px;padding:6px;border-radius:12px;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 14px 32px #0f172a24;display:grid;gap:2px}.app-shell-settings-item{border:0;background:transparent;padding:8px 12px;border-radius:8px;color:#334155;font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.app-shell-settings-item:hover{background:#fff7ed;color:#9a3412}.app-shell-exit{min-height:34px;padding:0 14px;border-radius:10px;background:#fff;color:#0f172a;border:1px solid rgba(226,232,240,.9);font-size:14px}.app-shell-tab:hover,.app-shell-exit:hover,.app-shell-tool:hover{transform:translateY(-1px)}.app-shell-content{flex:1;min-height:0;display:flex;flex-direction:column}.app-shell-panel{flex:1;min-height:0;display:none;flex-direction:column}.app-shell-panel.is-active{display:flex}.teacher-onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a57;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.teacher-onboarding-panel{width:min(720px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(226,232,240,.92);border-radius:24px;background:#fff7ed;box-shadow:0 28px 70px #0f172a38}.teacher-onboarding-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 18px}.teacher-onboarding-kicker{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:12px;font-weight:800}.teacher-onboarding-header .brand-logo{margin-left:12px;width:32px;height:32px}.teacher-onboarding-header h2{margin:12px 0 8px;color:#0f172a;font-size:24px;line-height:1.22}.teacher-onboarding-header p{margin:0;color:#64748b;line-height:1.6}.teacher-onboarding-close{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(226,232,240,.9);border-radius:999px;background:#ffffffb8;color:#475569;font-size:22px;cursor:pointer}.teacher-onboarding-progress{height:9px;margin:0 24px 18px;overflow:hidden;border-radius:999px;background:#e2e8f0eb}.teacher-onboarding-progress span{display:block;height:100%;border-radius:inherit;background:#fb923c;transition:width .18s ease}.teacher-onboarding-steps{display:grid;gap:10px;padding:0 24px 24px}.teacher-onboarding-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(226,232,240,.84);border-radius:18px;background:#ffffffb8}.teacher-onboarding-step.is-next{border-color:#f9731670;background:#ffead1;box-shadow:inset 0 0 0 1px #fb923c1f}.teacher-onboarding-step-index,.teacher-onboarding-float-ring{display:grid;place-items:center;border-radius:999px;font-weight:900}.teacher-onboarding-step-index{width:42px;height:42px;background:#ffb176;color:#fff}.teacher-onboarding-step.is-complete .teacher-onboarding-step-index{background:#dcfce7;color:#15803d}.teacher-onboarding-step h3{margin:0 0 4px;color:#0f172a;font-size:16px}.teacher-onboarding-step p{margin:0;color:#64748b;font-size:14px;line-height:1.5}.teacher-onboarding-step button{min-width:72px;min-height:38px;border:0;border-radius:12px;background:#fb923c;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 20px #f973162e}.teacher-onboarding-step button:disabled{background:#fed7aa;color:#9a3412;box-shadow:none;cursor:default}.teacher-onboarding-float{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:12px;max-width:min(320px,calc(100vw - 36px));min-height:70px;padding:12px 16px 12px 12px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:#fffffff0;color:#0f172a;text-align:left;box-shadow:0 20px 48px #0f172a2e;cursor:pointer}.teacher-onboarding-float-ring{width:46px;height:46px;background:#fb923c;color:#fff;font-size:14px;box-shadow:0 10px 24px #f9731633}.teacher-onboarding-float strong,.teacher-onboarding-float small{display:block}.teacher-onboarding-float strong{font-size:15px}.teacher-onboarding-float small{margin-top:3px;color:#64748b;font-size:13px}.teacher-onboarding-complete-panel{width:min(520px,calc(100vw - 28px));display:grid;justify-items:center;gap:12px;padding:30px 28px 28px;border:1px solid rgba(226,232,240,.92);border-radius:26px;background:#fff7ed;text-align:center;box-shadow:0 28px 70px #0f172a38}.teacher-onboarding-complete-badge{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:#12e005;color:#fff;font-size:38px;font-weight:900}.teacher-onboarding-complete-panel h2{margin:6px 0 0;color:#0f172a;font-size:25px;line-height:1.24}.teacher-onboarding-complete-panel p{max-width:420px;margin:0;color:#64748b;line-height:1.7}.teacher-onboarding-complete-panel button{min-width:136px;min-height:42px;margin-top:8px;border:0;border-radius:14px;background:#f45108;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 24px #f4510838}.login-screen,.app-shell{min-height:100vh}.login-screen{--login-surface: rgba(255, 255, 255, .84);--login-border: rgba(255, 255, 255, .72);--login-ink: #0f172a;--login-muted: #64748b;--login-accent: #f97316;--login-accent-strong: #ea580c;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;padding:clamp(20px,4vw,40px);background:#fbeff1}.login-screen:before,.login-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-screen:before{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px);background-size:100% 48px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.16),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.16),transparent 82%)}.login-screen:after{inset:auto;right:-80px;bottom:-120px;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,#f9731624,#f9731600);filter:blur(16px)}.login-panel,.loading-panel{position:relative;z-index:1;border:1px solid var(--login-border);border-radius:28px;background:var(--login-surface);-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%);box-shadow:0 24px 72px #0f172a1f}.login-panel{width:min(460px,100%);display:grid;gap:16px;overflow:hidden}.login-form-shell,.loading-panel{padding:clamp(32px,5vw,40px)}.login-form-header,.loading-panel{display:grid;gap:12px}.loading-panel h1,.window-toolbar h2,.console-topbar h3{margin:0;letter-spacing:.02em}.login-form h1{font-size:clamp(40px,9vw,52px);line-height:.98}.loading-panel h1{font-size:18px;line-height:1.35}.login-form-kicker{margin:0;display:inline-flex;align-items:center;width:fit-content;margin-inline:auto;padding:9px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font-size:14px;font-weight:700;color:var(--login-accent-strong);background:#f9731614;border:1px solid rgba(249,115,22,.12)}.login-form-title{font-size:30px!important}.login-title-row{gap:12px}.login-logo{width:60px;height:60px;box-shadow:0 0 0 1px #0f172a14,0 12px 28px #0f172a24}.login-form-shell{position:relative}.login-form-shell:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:24px;background:linear-gradient(180deg,#ffffff85,#ffffff2e);pointer-events:none}.login-form,.loading-panel{width:100%}.login-form{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:20px;text-align:center;color:var(--login-ink)}.login-form-header{justify-items:center}.login-form h1{margin:0}.login-form-intro,.loading-panel p{max-width:24ch;margin:0 auto;font-size:15px;line-height:1.7;color:var(--login-muted)}.login-actions,.dialog-actions,.toolbar-buttons,.console-actions,.toolbar-secondary{display:flex;flex-wrap:wrap;gap:12px}.login-actions{width:100%}.login-primary-button,.login-secondary-button{width:100%;min-height:54px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.login-primary-button{border-radius:18px;box-shadow:0 16px 36px #f973163d}.login-secondary-button{border-radius:14px;background:#ffffffe6;border:1px solid rgba(148,163,184,.24)}.login-dev-shell{margin:0 clamp(24px,5vw,32px) clamp(24px,5vw,32px);padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.login-dev-shell summary{cursor:pointer;list-style:none;text-align:center;color:#64748beb;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.login-dev-shell summary::-webkit-details-marker{display:none}.login-dev-panel{display:grid;gap:14px;margin-top:14px;padding:22px;border-radius:20px;background:#f8fafce0;border:1px solid rgba(226,232,240,.92)}.login-dev-panel .stacked-field>span{font-size:14px;font-weight:700;color:#334155}.login-dev-panel .field{min-height:52px;border-radius:16px;border-color:#94a3b83d;background:#fffffff5}.login-caption{width:100%;margin:0;text-align:center;font-size:14px;line-height:1.65}.loading-panel{width:min(460px,100%);text-align:center}.field{width:100%;border:1px solid rgba(100,82,52,.15);background:#ffffffb8;border-radius:14px;color:#1f2328;padding:12px 14px;outline:none;box-shadow:inset 0 1px #ffffff59}.field:focus{border-color:#e88c45a6;box-shadow:0 0 0 3px #e88c4529}.textarea{resize:vertical}.stacked-field{display:grid;gap:8px}.primary-button,.ghost-button,.text-button,.menu-action,.start-button,.desktop-icon,.catalog-item,.action-pill{border:0;transition:transform .16s ease,opacity .16s ease,background .16s ease,box-shadow .16s ease}.primary-button{padding:12px 18px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#ec9a52,#ef6f4d);box-shadow:0 14px 28px #ef6f4d33}.ghost-button,.menu-action{padding:11px 15px;border-radius:14px;color:#222327;background:#ffffffad;border:1px solid rgba(100,82,52,.08)}.text-button{background:transparent;color:#d96d32;padding:0}.ghost-button{text-align:center}.primary-button:hover,.ghost-button:hover,.text-button:hover,.menu-action:hover,.start-button:hover,.desktop-icon:hover,.catalog-item:hover,.action-pill:hover{transform:translateY(-1px)}.muted{margin:0;color:#302b23a8}.banner{padding:12px 14px;border-radius:16px;font-size:14px}.banner-success{background:#5ea86d2e;border:1px solid rgba(94,168,109,.24)}.banner-danger{background:#ef6f4d24;border:1px solid rgba(239,111,77,.22)}.desktop-shell{position:relative;padding:20px 24px 72px;overflow:hidden}.desktop-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 62%,rgba(255,255,255,.12),transparent 30%),linear-gradient(180deg,#ffffff0d,#fff0);pointer-events:none}.desktop-wallpaper-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff0a,#0000000a)}.desktop-header,.desktop-window,.window-placeholder,.taskbar,.start-menu{position:relative;z-index:1}.desktop-header{display:flex;justify-content:flex-end}.desktop-session-chip{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:#ffffff85;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.36);box-shadow:0 8px 24px #3929141f}.desktop-session-dot{width:8px;height:8px;border-radius:999px;background:#ef6f4d}.desktop-icons{position:fixed;top:12px;left:10px;display:flex;flex-direction:column;gap:4px;width:88px;z-index:2}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;width:86px;min-height:85px;border-radius:6px;background:transparent;color:#17181d}.desktop-icon-disabled{opacity:.92}.desktop-icon-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fffffff5;box-shadow:0 1px 2px #0000001a}.desktop-icon-svg{transition:transform .15s ease}.desktop-icon:hover .desktop-icon-svg{transform:scale(1.05)}.desktop-icon-label{font-size:14px;line-height:1.2;text-align:center;font-weight:500;color:#fff;text-shadow:0 1px 0 #000,0 -1px 0 #000,1px 0 0 #000,-1px 0 0 #000,0 0 1px #000}.desktop-window,.window-placeholder{width:min(1340px,calc(100vw - 180px));min-height:calc(100vh - 126px);margin:26px 0 0 112px;border-radius:26px;border:1px solid rgba(255,255,255,.45);background:#ffffff8a;-webkit-backdrop-filter:blur(32px) saturate(140%);backdrop-filter:blur(32px) saturate(140%);box-shadow:0 20px 50px #34271829,inset 0 1px #ffffff59}.window-placeholder{display:grid;place-items:center;min-height:240px;color:#1e1f24cc}.window-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(91,70,39,.08)}.console-shell{display:grid;gap:16px;padding:18px;color:#1e1f24}.console-topbar,.toolbar-panel,.panel-card,.modal-card,.empty-state{border-radius:22px;border:1px solid rgba(255,255,255,.45);background:#ffffff85;box-shadow:0 10px 26px #3c2d1914}.console-topbar,.toolbar-panel,.panel-card,.empty-state{padding:18px}.console-topbar,.toolbar-main,.spirit-card-top,.card-footer,.template-item,.log-item,.modal-header{display:flex;justify-content:space-between;gap:12px}.toolbar-main,.log-item,.template-item{align-items:center}.toolbar-secondary{margin-top:14px;justify-content:space-between;align-items:center}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,.82fr);gap:16px}.spirit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(182px,1fr));gap:14px}.spirit-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:22px;background:linear-gradient(180deg,#ffffffbf,#ffffff6b),linear-gradient(150deg,color-mix(in srgb,var(--accent) 18%,white),#ffffff75);color:#1e1f24;padding:16px;text-align:left;box-shadow:0 14px 30px #372b1b1a}.spirit-card:after{content:"";position:absolute;inset:auto -20% -45% 20%;height:120px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%);pointer-events:none}.spirit-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 68%,white 18%),#fff);color:#2f2f34;box-shadow:0 14px 26px #3c2d1924;font-size:24px;font-weight:700}.spirit-avatar.large{width:88px;height:88px;font-size:32px}.status-chip,.level-chip{border-radius:999px;padding:6px 10px;font-size:14px}.status-chip{background:#ffffffb8}.status-evolved{background:#5ea86d38}.level-chip{background:#322c2414}.spirit-meta h5,.spirit-form,.panel-card h4,.history-item strong{margin:0}.spirit-meta p,.history-item span,.template-item span,.log-item p{margin:4px 0 0;color:#302b23ad;font-size:14px}.spirit-form{margin-top:12px;font-size:14px}.progress-track{margin-top:14px;height:8px;border-radius:999px;background:#4d402a1f;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent, #ef8a4b),rgba(255,255,255,.96))}.card-footer{margin-top:12px;align-items:center;font-size:14px;color:#302b23c2}.side-panel,.log-list,.template-list,.event-groups,.catalog-grid,.action-list,.history-panel{display:grid;gap:12px}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.catalog-item,.action-pill,.history-item{border-radius:18px;border:1px solid rgba(255,255,255,.52);background:#ffffff9e;color:inherit;padding:14px;text-align:left}.catalog-item strong,.action-pill strong{display:block}.catalog-item span{display:block;margin-top:8px;font-size:14px;color:#302b23a8}.action-pill.reward{background:#5ea86d2e}.action-pill.penalty{background:#ef6f4d2e}.taskbar{position:fixed;left:0;right:0;bottom:0;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background:#ffffffb3;-webkit-backdrop-filter:blur(64px) saturate(160%);backdrop-filter:blur(64px) saturate(160%);border-top:1px solid rgba(255,255,255,.4);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000001a}.taskbar-center{display:flex;align-items:center;justify-content:center}.start-button{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fffffff2;color:#5c6168}.taskbar-status{position:absolute;right:16px;display:flex;align-items:center;gap:10px}.status-icon{position:relative;display:inline-block}.status-icon-signal{width:16px;height:12px}.status-icon-signal:before,.status-icon-signal:after{content:"";position:absolute;inset:auto 0 0 auto;border:2px solid transparent;border-top-color:#454a50;border-radius:50%}.status-icon-signal:before{width:14px;height:14px;right:-1px;bottom:-6px}.status-icon-signal:after{width:8px;height:8px;right:2px;bottom:-3px}.status-icon-battery{width:20px;height:10px;border:1.8px solid #454a50;border-radius:3px}.status-icon-battery:before{content:"";position:absolute;top:2px;right:5px;bottom:2px;left:2px;background:#454a50;border-radius:1px}.status-icon-battery:after{content:"";position:absolute;right:-4px;top:2px;width:2px;height:4px;border-radius:1px;background:#454a50}.taskbar-clock{display:flex;align-items:center;gap:8px;color:#2d3137;font-size:14px}.taskbar-clock strong{font-size:14px}.start-menu{position:fixed;left:50%;bottom:48px;transform:translate(-50%);width:280px;padding:18px;border-radius:18px;background:#ffffffc2;-webkit-backdrop-filter:blur(36px) saturate(150%);backdrop-filter:blur(36px) saturate(150%);border:1px solid rgba(255,255,255,.5);box-shadow:0 22px 40px #36271429}.menu-action{width:100%;text-align:left;margin-top:10px}.menu-action-danger{background:#ef6f4d24}.empty-state{display:grid;gap:14px;place-items:start}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#13100c61;display:grid;place-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;z-index:40}.modal-card{width:min(560px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:18px;overflow:auto;-webkit-backdrop-filter:blur(30px) saturate(150%);backdrop-filter:blur(30px) saturate(150%)}.modal-card-wide{width:min(960px,100%)}.modal-body{display:grid;gap:16px}.spirit-dialog-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:18px}.spirit-detail-panel{border-radius:24px;padding:20px;background:linear-gradient(180deg,#ffffffbd,#ffffff75),linear-gradient(160deg,color-mix(in srgb,var(--accent) 16%,white),#ffffff70);display:grid;gap:14px;justify-items:start}.history-item{border-left:3px solid var(--accent, #ef8a4b)}@media(max-width:860px){.workspace-grid,.spirit-dialog-grid,.login-panel{grid-template-columns:1fr}.login-copy{min-height:auto}.login-form-shell:before{width:120px;height:120px}.desktop-window,.window-placeholder{width:calc(100vw - 40px);margin:112px auto 0;min-height:calc(100vh - 190px)}.desktop-icons{top:18px;left:16px;width:calc(100vw - 32px);flex-direction:row;flex-wrap:wrap;gap:6px}}@media(max-width:720px){.login-screen,.desktop-shell{padding:16px 16px 64px}.login-panel,.loading-panel{border-radius:28px}.login-copy,.login-form-shell,.loading-panel{padding:24px 20px}.login-form-shell{order:-1}.login-copy{gap:20px}.login-showcase-window{display:none}.login-showcase-grid{grid-template-columns:1fr}.login-meta-list{flex-direction:column}.login-meta-list span{width:100%;justify-content:center}.console-shell,.window-toolbar{padding:16px}.toolbar-secondary,.console-topbar,.toolbar-main,.modal-header{flex-direction:column;align-items:stretch}.desktop-icons{position:static;width:100%;margin-top:12px;justify-content:flex-start}.desktop-window,.window-placeholder{width:100%;margin:18px 0 0}.taskbar{height:48px}.taskbar-status{right:10px;gap:8px}.taskbar-clock{gap:6px;font-size:14px}}.student-desktop-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-user-select:none;user-select:none}.student-desktop-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff0a;pointer-events:none}.student-desktop-icons{position:fixed;top:20px;left:20px;z-index:3;display:flex;flex-direction:column;gap:20px}.student-desktop-icon{width:86px;min-height:85px;padding:8px 4px;border:0;border-radius:6px;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .16s ease}.student-desktop-icon:hover{background:#ffffff59}.student-desktop-icon.is-active{background:#ffffff3d;box-shadow:inset 0 0 0 1px #ffffff2e}.student-desktop-icon-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fffffff5;box-shadow:0 1px 2px #0000001f}.student-desktop-icon-label{font-size:14px;line-height:1.2;text-align:center;font-weight:500;color:#fff;text-shadow:0 1px 0 #000,0 -1px 0 #000,1px 0 0 #000,-1px 0 0 #000,0 0 1px #000}.student-window{position:fixed;z-index:2;display:flex;flex-direction:column;min-width:280px;min-height:220px;transition:transform .2s ease-out,width .2s ease-out,height .2s ease-out,box-shadow .12s ease-out;box-shadow:0 18px 50px #2138621f}.student-window-titlebar{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 0 0 14px;border-radius:8px 8px 0 0;background:#ffffffb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:grab}.student-window-title{display:flex;align-items:center;gap:10px;color:#27354a;font-size:15px;font-weight:600}.student-window-title-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#2563eb1f;color:#2563eb}.student-window-actions{display:flex;align-self:stretch}.student-window-control{width:46px;border:0;background:transparent;position:relative;transition:background .15s ease}.student-window-control:before{content:"";position:absolute;top:19px;left:50%;width:10px;height:1.5px;background:#2d3748b8;transform:translate(-50%)}.student-window-control:nth-child(2):before{top:15px;width:10px;height:10px;background:transparent;border:1.5px solid rgba(45,55,72,.72)}.student-window-control.danger{border-radius:0 8px 0 0}.student-window-control.danger:before{top:50%;width:10px;height:10px;background:transparent;border:0;transform:translate(-50%,-50%) rotate(45deg);box-shadow:inset 0 1.5px #2d3748b8,inset 1.5px 0 #2d3748b8}.student-window-control:hover{background:#0000000d}.student-window-control.danger:hover{background:#c42b1c}.student-window-control.danger:hover:before{box-shadow:inset 0 1.5px #fff,inset 1.5px 0 #fff}.student-window.is-dragging,.student-window.is-resizing{transition:none}.student-window.is-dragging .student-window-titlebar{cursor:grabbing}.student-window.is-maximized{border-radius:0;box-shadow:0 10px 24px #0f172a24}.student-window.is-maximized .student-window-titlebar{border-radius:0}.student-window-body{height:calc(100% - 40px);display:flex;overflow:hidden;border-radius:0 0 8px 8px;background:#f8fafc}.student-window.is-maximized .student-window-body{border-radius:0}.student-window-resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;z-index:4;cursor:se-resize;border-top-left-radius:6px}.student-window-resize-handle:before{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:1.5px solid rgba(59,130,246,.42);border-bottom:1.5px solid rgba(59,130,246,.42)}.student-management{display:grid;gap:18px;flex:1;min-height:0;width:100%;max-width:1280px;margin:0 auto;padding:12px 0 24px;box-sizing:border-box;--student-accent-rgb: 249, 115, 22;--student-accent-50: #fff7ed;--student-accent-100: #ffedd5;--student-accent-200: #fed7aa;--student-accent-300: #fdba74;--student-accent-500: #f97316;--student-accent-600: #ea580c;--student-accent-700: #c2410c;--student-accent-800: #9a3412;--student-ink: #1f2933;--student-muted: #667085;--student-line: rgba(120, 113, 108, .17);--student-soft: #fffaf5;--student-cool: #0f766e;--student-cool-soft: #ecfeff;--student-shadow: 0 22px 64px rgba(124, 45, 18, .1)}.student-management-layout{display:flex;flex:1;min-height:0;overflow:hidden;border-radius:24px;background:#fffaf5;border:1px solid var(--student-line);box-shadow:var(--student-shadow)}.student-class-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:#fff7ed;border-right:1px solid rgba(251,146,60,.22)}.student-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 12px}.student-sidebar-header span{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a3412}.student-icon-button{width:32px;height:32px;border:0;border-radius:12px;background:#ffffffb8;color:var(--student-accent-700);font-size:20px;line-height:1;box-shadow:inset 0 0 0 1px #fb923c29;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.student-icon-button:hover{color:#fff;background:var(--student-accent-600);box-shadow:0 8px 18px rgba(var(--student-accent-rgb),.2)}.student-class-list{display:flex;flex-direction:column;gap:7px;padding:6px 10px 14px;overflow:auto}.student-class-item{position:relative;display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;border:1px solid transparent;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.student-class-item.is-selected{border-color:#fb923c47;background:#ffffffe6;box-shadow:0 10px 24px #9a341217}.student-class-item.is-selected:before{content:"";width:4px;align-self:stretch;border-radius:999px;background:var(--student-accent-500)}.student-class-item-main,.student-class-item-more{border:0;background:transparent}.student-class-item-main{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0}.student-class-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--student-ink);font-size:14px;font-weight:700;text-align:left}.student-class-meta{color:#a16207;font-size:14px}.student-class-item-more,.student-row-action{width:34px;height:34px;border:0;display:grid;place-items:center;border-radius:10px;color:#78716c;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.student-row-action{border:1px solid rgba(120,113,108,.16);background:#fff}.student-class-item-more:hover,.student-row-action:hover{background:#fff7ed;color:var(--student-accent-700);box-shadow:inset 0 0 0 1px #fb923c38}.student-row-action.danger{color:#dc2626}.student-row-action.danger:hover{background:#fee2e2e6}.student-row-actions{flex-shrink:0;display:flex;align-items:center;gap:4px}.student-sidebar-empty{margin:auto 16px;padding:28px 20px;border:1px solid rgba(251,146,60,.22);border-radius:18px;background:#ffffffb8;text-align:center}.student-sidebar-empty p{margin:0}.student-sidebar-empty p:first-child{font-weight:700;color:var(--student-ink)}.student-sidebar-empty p:nth-child(2){margin-top:6px;font-size:14px;color:var(--student-muted)}.student-outline-button{margin-top:16px;height:34px;padding:0 14px;border:1px solid var(--student-accent-200);border-radius:12px;background:#fff;color:var(--student-accent-800);font-size:14px;font-weight:700}.student-main-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:#fffaf5}.student-class-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 18px 18px;background:#ffedd5;border-bottom:1px solid rgba(251,146,60,.18)}.student-class-copy{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.student-class-copy-badge{width:36px;height:36px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--student-accent-700);box-shadow:inset 0 0 0 1px #fb923c2e,0 10px 22px #9a34121a}.student-class-copy h2{margin:0;color:var(--student-ink);font-size:18px;font-weight:800}.student-class-copy p{margin:2px 0 0;color:var(--student-accent-700);font-size:14px}.student-class-copy strong{font-size:24px;line-height:1}.student-class-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.student-class-action-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.student-class-action-divider{display:inline-block;width:1px;height:22px;background:#9a34122e}.student-sort-button,.student-glass-button,.student-primary-button,.student-text-button{border:0;border-radius:12px;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.student-sort-button{height:36px;padding:0 11px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(251,146,60,.2);background:#ffffffbd;color:#57534e;font-size:14px;font-weight:700}.student-sort-button.is-active{border-color:#f9731657;background:#fff;color:var(--student-accent-800);box-shadow:0 8px 18px #9a341214}.student-sort-button svg{transition:transform .16s ease}.student-sort-button.is-desc svg{transform:rotate(180deg)}.student-glass-button{height:38px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;background:#fff9;color:var(--student-accent-800);border:1px solid rgba(251,146,60,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:14px;font-weight:700}.student-glass-button.elevated{box-shadow:0 1px 3px #0f172a1a}.student-primary-button{min-width:114px;height:36px;padding:0 16px;background:var(--student-accent-500);color:#fff;font-size:14px;font-weight:800;box-shadow:0 10px 20px rgba(var(--student-accent-rgb),.22)}.student-primary-button.large{height:44px;min-width:166px;padding:0 24px;box-shadow:0 10px 18px rgba(var(--student-accent-rgb),.22)}.student-primary-button.compact{min-width:60px}.student-primary-button:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.5)}.student-sort-button:hover,.student-glass-button:hover,.student-primary-button:hover,.student-text-button:hover{transform:translateY(-1px)}.student-roster{display:grid;gap:8px;padding:16px;overflow:auto}.student-roster-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid var(--student-line);background:#ffffffb8;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.student-roster-item:hover{border-color:#f973164d;background:#fffffff5;box-shadow:0 10px 24px #7c2d1214;transform:translateY(-1px)}.student-roster-main{min-width:0;flex:1;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;text-align:left}.student-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--student-accent-100);color:var(--student-accent-800);font-size:15px;font-weight:900;box-shadow:inset 0 0 0 1px #fb923c33}.student-roster-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.student-roster-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.student-roster-name{color:var(--student-ink);font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-roster-meta{display:flex;align-items:center;gap:8px;color:var(--student-muted);font-size:14px}.student-group-chip{flex-shrink:0;padding:2px 8px;border-radius:999px;background:#fff7ed;color:var(--student-accent-800);border:1px solid rgba(251,146,60,.24);font-size:14px;font-weight:700}.student-status-chip{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:14px;font-weight:700}.student-status-chip.is-active{background:#ecfdf5;color:#047857}.student-status-chip.is-deleted{background:#f3f4f6;color:#6b7280}.student-empty-state,.student-empty-selection{flex:1;display:grid;place-items:center;padding:48px 24px;text-align:center;background:transparent}.student-empty-state.compact{padding-top:80px}.student-empty-state h3,.student-empty-selection h3{margin:0 0 8px;color:var(--student-ink);font-size:20px;font-weight:700}.student-empty-selection h3{font-size:18px;font-weight:600}.student-empty-state p,.student-empty-selection p{margin:0;color:var(--student-muted);font-size:14px}.student-empty-state .student-primary-button{margin-top:28px}.student-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:5;max-width:320px;padding:12px 14px;border-radius:16px;display:flex;align-items:flex-start;gap:12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 28px #0f172a29}.student-toast-success{background:#ecfdf5d1;color:#166534}.student-toast-danger{background:#fef2f2d6;color:#991b1b}.student-toast button{border:0;background:transparent;color:inherit;font-size:18px;line-height:1}.student-start-menu{position:fixed;left:10px;bottom:52px;z-index:5;width:260px;padding:18px;border-radius:22px;background:#ffffffd1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 20px 44px #0f172a29}.student-start-title{margin:0;color:#111827;font-size:18px;font-weight:700}.student-start-copy{margin:8px 0 16px;color:#6b7280;font-size:14px;line-height:1.5}.student-start-action{width:100%;height:40px;margin-top:8px;border:0;border-radius:14px;background:#ffffffbf;color:#111827;font-size:14px;font-weight:500}.student-start-action.danger{color:#b91c1c}.student-taskbar{position:fixed;left:0;right:0;bottom:0;z-index:4;height:40px;display:flex;align-items:center;gap:8px;padding:0 8px;background:#ffffffb3;border-top:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 1px 3px #0f172a1a}.student-start-button,.student-taskbar-app{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#374151}.student-taskbar-app{background:#ffffffd9;color:#2563eb;box-shadow:0 4px 10px #0f172a14;position:relative}.student-taskbar-app.is-minimized{color:#6b7280;background:#ffffffb8}.student-taskbar-app-indicator{position:absolute;left:50%;bottom:2px;width:16px;height:3px;border-radius:999px;background:#3b82f6;transform:translate(-50%)}.student-taskbar-app.is-minimized .student-taskbar-app-indicator{width:6px;background:#9ca3af}.student-taskbar-spacer{flex:1}.student-taskbar-status{display:flex;align-items:center;gap:12px}.student-status-icons{display:flex;align-items:center;gap:6px}.student-status-bar{display:block;width:14px;height:14px;border-radius:999px;background:#9ca3af}.student-taskbar-clock{display:flex;flex-direction:column;align-items:flex-end;color:#374151;line-height:1.1}.student-taskbar-clock strong{font-size:14px;font-weight:500}.student-taskbar-clock span{font-size:14px;color:#6b7280}.student-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:#1e293b47;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}.student-dialog-card{width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;border-radius:22px;background:#fffaf5;border:1px solid rgba(251,146,60,.2);box-shadow:0 28px 74px #7c2d122e;overflow:hidden;position:relative}.student-dialog-card.wide{width:min(860px,calc(100vw - 48px))}.student-dialog-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:0;border-radius:10px;background:transparent;transition:background .16s ease,transform .16s ease}.student-dialog-close:hover{background:#fff7ed;transform:translateY(-1px)}.student-dialog-close:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;transform:rotate(45deg);box-shadow:inset 0 1.5px #6b7280,inset 1.5px 0 #6b7280}.student-dialog-header{padding:16px 24px;border-bottom:1px solid rgba(251,146,60,.18);color:var(--student-ink);font-size:20px;font-weight:800;position:sticky;top:0;background:#fff7ed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-shrink:0;z-index:1}.student-dialog-body{padding:16px 24px 20px;min-width:0;min-height:0;overflow:auto}.student-delete-copy{display:grid;gap:8px;margin-bottom:18px}.student-delete-copy p{margin:0;color:#374151;line-height:1.6}.student-dialog-field{display:grid;gap:10px;margin-bottom:18px}.student-dialog-field span{color:var(--student-ink);font-size:14px;font-weight:700}.student-dialog-field em{color:#ef4444;font-style:normal}.student-dialog-input,.student-dialog-textarea{width:100%;border:1px solid rgba(120,113,108,.18);border-radius:12px;background:#ffffffc7;padding:10px 12px;color:var(--student-ink);font-size:14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.student-dialog-input:focus,.student-dialog-textarea:focus{border-color:var(--student-accent-500);background:#fff;box-shadow:0 0 0 3px rgba(var(--student-accent-rgb),.16)}.student-dialog-textarea{min-height:168px;resize:vertical}.student-radio-row{display:flex;gap:10px}.student-radio{border:1px solid rgba(120,113,108,.16);border-radius:999px;background:#ffffffb8;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;color:var(--student-ink);font-size:14px;font-weight:700}.student-radio.is-selected{border-color:#f9731657;background:#fff7ed;color:var(--student-accent-800)}.student-radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;display:inline-block;position:relative}.student-radio.is-selected .student-radio-dot{border-color:var(--student-accent-600)}.student-radio.is-selected .student-radio-dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--student-accent-600)}.student-import-tip{margin-bottom:16px;padding:12px 14px;border:1px solid rgba(251,146,60,.2);border-radius:14px;background:#fff7edb8;color:#57534e;font-size:14px;line-height:1.6}.student-import-tip p{margin:0}.student-import-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.student-import-upload-button{position:relative;overflow:hidden;cursor:pointer}.student-import-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.student-import-upload-button.is-disabled{opacity:.6;cursor:not-allowed}.student-import-upload-button.is-disabled input{cursor:not-allowed}.student-import-feedback{margin:0 0 14px;font-size:14px;line-height:1.5}.student-import-feedback.is-success{color:#047857}.student-import-feedback.is-danger{color:#b91c1c}.student-dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.student-text-button{height:36px;padding:0 16px;background:transparent;color:#57534e;font-size:14px;font-weight:700}.student-primary-button.danger{background:#dc2626}.student-group-dialog-copy{margin:0 0 12px;color:var(--student-muted);font-size:14px}.student-group-create{display:flex;gap:10px;margin-bottom:16px}.student-group-create .student-dialog-input{flex:1}.student-group-list{display:grid;gap:12px;max-height:56vh;overflow:auto}.student-group-card{border:1px solid rgba(251,146,60,.2);border-radius:16px;padding:14px;background:#fff}.student-group-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-group-card-copy h4{margin:0;color:var(--student-ink);font-size:16px}.student-group-card-copy p{margin:4px 0 0;color:var(--student-muted);font-size:14px}.student-group-card-actions{display:flex;align-items:center;gap:8px}.student-group-card-actions .student-glass-button{height:32px;padding:0 12px}.student-group-rename{width:100%;display:flex;align-items:center;gap:8px}.student-group-rename .student-dialog-input{flex:1}.student-group-members{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.student-group-member-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(251,146,60,.18);border-radius:999px;background:#fff;color:var(--student-ink);font-size:14px;font-weight:700;box-shadow:0 6px 14px #7c2d120f}.student-group-member-chip span:last-child{color:#dc2626}.student-group-student-list{display:grid;gap:8px;margin-top:12px}.student-group-student{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(120,113,108,.16);border-radius:14px;background:#fff;color:var(--student-ink);text-align:left}.student-group-student span:last-child{color:var(--student-muted);font-size:14px}.student-group-student.is-selected{border-color:#f973165c;background:#fff7ed}.student-group-empty,.student-group-empty-state{margin:12px 0 0;color:var(--student-muted);font-size:14px}.student-group-empty-state{margin-top:0;padding:18px 16px;border:1px dashed rgba(251,146,60,.36);border-radius:18px;background:#fff7ed73;text-align:center}@media(max-width:900px){.app-shell{padding:16px}.app-shell-header,.student-management-layout{flex-direction:column}.student-class-sidebar{width:auto;border-right:0;border-bottom:1px solid rgba(148,163,184,.25)}.student-class-list{max-height:180px}.student-class-banner{flex-direction:column;align-items:flex-start}.student-class-copy{width:100%}.student-class-actions{width:100%;justify-content:flex-start}}@media(max-width:720px){.modal-backdrop,.student-dialog-backdrop{place-items:center;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.modal-card,.modal-card-wide,.student-dialog-card,.student-dialog-card.wide{width:100%}.modal-card,.student-dialog-card,.student-dialog-card.wide{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);border-radius:22px}.modal-header{flex-wrap:wrap;align-items:flex-start}.student-dialog-header,.student-dialog-body{padding-left:18px;padding-right:18px}.student-dialog-header{padding-right:56px;font-size:18px}.student-dialog-footer{flex-wrap:wrap-reverse}.student-dialog-footer>*{flex:1 1 140px}.student-radio-row,.student-group-create,.student-group-rename,.student-group-card-header,.student-group-card-actions,.student-group-student{flex-direction:column;align-items:stretch}.student-group-student span:last-child{text-align:left}}.pp-shell{position:relative;display:flex;min-height:100%;overflow:visible}.pp-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:#ffffffb8;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid rgba(255,255,255,.4)}.pp-sidebar-header{padding:18px 16px 12px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af}.pp-class-list{display:flex;flex-direction:column;gap:6px;padding:0 12px;overflow:auto;flex:1}.pp-class-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px;text-align:left;cursor:pointer;transition:background .16s ease}.pp-class-item:hover{background:#ffffff80}.pp-class-item.is-selected{background:#ffffffdb;box-shadow:0 4px 12px #0f172a0f}.pp-class-item strong{color:#111827;font-size:14px}.pp-class-item span{color:#9ca3af;font-size:14px}.pp-sidebar-empty{margin:24px 16px;padding:24px 16px;border:1px dashed #cbd5e1;border-radius:16px;text-align:center}.pp-sidebar-empty p{margin:0;color:#6b7280;font-size:14px}.pp-sidebar-empty p:first-child{font-weight:600;color:#374151;margin-bottom:6px}.pp-sidebar-footer{padding:12px;border-top:1px solid rgba(148,163,184,.15)}.pp-nav-button{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:transparent;color:#374151;font-size:14px;cursor:pointer;transition:background .16s ease}.pp-nav-button:hover{background:#fff9}.pp-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#ffffff8a;-webkit-backdrop-filter:blur(32px) saturate(140%);backdrop-filter:blur(32px) saturate(140%)}.pp-toolbar{padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.15);background:#ffffff52}.pp-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.pp-title{margin:0;font-size:20px;font-weight:700;color:#111827}.pp-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-toolbar-btn{height:36px;padding:0 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-toolbar-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0f172a14}.pp-toolbar-btn.is-active{background:#fce7f3;border-color:#f9a8d4;color:#be185d}.pp-toolbar-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.pp-filters{display:flex;align-items:center;gap:6px}.pp-sort-btn{height:32px;padding:0 10px;border:1px solid #e5e7eb;border-radius:10px;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-sort-btn.is-active{border-color:#f9a8d4;background:#fdf2f8;color:#be185d}.pp-sort-btn.is-desc:after{content:" ↓"}.pp-batch-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.pp-text-btn{border:0;background:transparent;color:#ec4899;font-size:14px;cursor:pointer;padding:2px 6px}.pp-text-btn-danger{border:0;background:transparent;color:#dc2626;font-size:14px;cursor:pointer;padding:2px 6px}.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:16px 20px;overflow:auto;flex:1}.pp-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:20px;border:1px solid rgba(255,255,255,.6);background:linear-gradient(180deg,#ffffffc7,#ffffff7a),linear-gradient(150deg,color-mix(in srgb,var(--accent) 12%,white),#ffffff80);box-shadow:0 8px 24px #372b1b14;cursor:default}.pp-card-checkbox{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:6px;border:2px solid #d1d5db;background:#fff;display:grid;place-items:center;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-card-checkbox.is-checked{background:#ec4899;border-color:#ec4899;color:#fff}.pp-card-pet{display:flex;align-items:center;gap:10px;cursor:pointer}.pp-card-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;flex-shrink:0}.pp-card-pet-info strong{display:block;font-size:14px;color:#111827}.pp-card-spirit-name{font-size:14px;color:#9ca3af}.pp-card-student{display:flex;align-items:center;gap:6px;cursor:pointer}.pp-card-student strong{font-size:14px;font-weight:700;color:#111827}.pp-card-student span{font-size:14px;color:#9ca3af}.pp-card-progress{cursor:pointer}.pp-card-aura{font-size:14px;color:#6b7280;margin-bottom:4px}.pp-card-aura span:first-child{font-weight:700;color:#111827}.pp-card-level{display:block;margin-top:4px;font-size:14px;color:#9ca3af}.pp-card-badges{font-size:14px;color:#6b7280;cursor:pointer}.pp-card-actions{display:flex;gap:6px;border-top:1px solid rgba(148,163,184,.12);padding-top:8px}.pp-card-action-btn{flex:1;height:30px;border:1px solid #e5e7eb;border-radius:10px;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-card-action-btn:hover{background:#ec489914;border-color:#f9a8d4;color:#be185d}.pp-empty{flex:1;display:grid;place-items:center;color:#6b7280;font-size:14px}.pp-empty-state{flex:1;display:grid;place-items:center;padding:48px;text-align:center}.pp-empty-state h3{margin:0 0 8px;color:#111827;font-size:20px}.pp-empty-state p{margin:0;color:#6b7280}.pp-eval-tabs{display:flex;gap:6px;margin-bottom:14px}.pp-eval-tab{padding:8px 14px;border:1px solid #e5e7eb;border-radius:12px;background:transparent;color:#374151;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-eval-tab.is-active{background:#fce7f3;border-color:#f9a8d4;color:#be185d}.pp-eval-dialog{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.pp-eval-backdrop{background:#0f172a33;-webkit-backdrop-filter:none;backdrop-filter:none}.pp-fullscreen-busy{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0f172a57;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:wait}.pp-fullscreen-busy-card{width:min(320px,calc(100vw - 48px));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:18px 20px;border-radius:18px;border:1px solid rgba(226,232,240,.9);background:#fffffffa;box-shadow:0 24px 60px #0f172a33;color:#0f172a}.pp-fullscreen-busy-card strong,.pp-fullscreen-busy-card span{display:block}.pp-fullscreen-busy-card strong{font-size:16px;line-height:1.35}.pp-fullscreen-busy-card span{margin-top:3px;color:#64748b;font-size:13px}.pp-fullscreen-busy-spinner{width:30px;height:30px;border-radius:999px;border:3px solid rgba(14,116,144,.18);border-top-color:#0e7490;animation:pp-fullscreen-busy-spin .76s linear infinite}@keyframes pp-fullscreen-busy-spin{to{transform:rotate(360deg)}}.pp-eval-back{margin-bottom:12px;min-height:44px!important;padding:0 16px!important;font-weight:700}.pp-eval-frame{width:min(900px,calc(100vw - 32px));height:min(700px,calc(100vh - 40px));height:min(700px,calc(100dvh - 40px));box-shadow:none}.pp-eval-frame .pp-dialog-body{flex:1;min-height:0;overflow:hidden}.pp-eval-workspace{flex:1 1 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;min-height:0;contain:layout paint}.pp-eval-root-sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px;border-radius:18px;background:#e5e0d8;contain:strict}.pp-eval-root-list{display:grid;gap:7px}.pp-eval-root-nav{--indicator-accent: #ff7a1a;--indicator-soft: rgba(255, 122, 26, .12);--indicator-contrast: #fff;width:100%;min-height:58px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:14px;background:#ffffffb8;color:#2d2520;text-align:left;transition:background-color .12s ease,color .16s ease}.pp-eval-root-nav:hover{background:#fff}.pp-eval-root-nav.is-active{background:var(--indicator-accent);color:var(--indicator-contrast)}.pp-eval-root-icon{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:var(--indicator-soft);color:var(--indicator-accent);font-size:15px;font-weight:900}.pp-eval-root-nav.is-active .pp-eval-root-icon{background:#ffffff38;color:#fff}.pp-eval-root-copy{display:grid;min-width:0;gap:3px}.pp-eval-root-copy strong,.pp-eval-root-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-eval-root-copy strong{font-size:15px;line-height:1.2}.pp-eval-root-copy small{color:#6f655b;font-size:12px;font-weight:800}.pp-eval-root-nav.is-active .pp-eval-root-copy small{color:#ffffffc7}.pp-role-chooser{display:grid;gap:12px}.pp-role-card{display:grid;gap:5px;width:100%;padding:16px;text-align:left;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:radial-gradient(circle at 100% 0,rgba(249,115,22,.12),transparent 38%),#fff;color:#0f172a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.pp-role-card:hover{transform:translateY(-1px);border-color:#f9731673;box-shadow:0 18px 38px #0f172a14}.pp-role-card:disabled{cursor:not-allowed;opacity:.54;transform:none;box-shadow:none}.pp-role-card span{color:#ea580c;font-size:14px;font-weight:800}.pp-role-card strong{font-size:18px}.pp-role-card small{color:#64748b;line-height:1.6}.pp-eval-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.pp-eval-item-media-row{display:flex;align-items:center;gap:16px}.pp-eval-item-icon{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border-radius:9px;background:var(--indicator-soft, rgba(255, 122, 26, .14));color:var(--indicator-accent, #ff7a1a);font-size:15px;font-weight:800}.pp-eval-item-copy{min-width:0;display:grid;gap:2px}.pp-eval-item-copy strong,.pp-eval-group strong{color:#1f2937}.pp-eval-item-copy small{color:#6b7280;font-size:14px;font-weight:700}.pp-audio-player{width:min(100%,280px);height:36px}.pp-audio-player.is-compact{width:min(100%,220px);height:32px}.pp-audio-play-button{min-height:42px;padding:0 16px;border:0;border-radius:999px;background:#ff8a3d;color:#fff;display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:14px;font-weight:800;box-shadow:0 10px 24px #ff8a3d3d}.pp-audio-play-button.is-large{min-height:54px;padding:0 22px;font-size:18px}.pp-audio-play-button.is-playing{background:#ef4444;box-shadow:0 10px 24px #ef44443d}.pp-audio-play-button-icon{font-size:1.1em;line-height:1}.pp-eval-item-image-wrap{width:68px;height:68px;flex-shrink:0;border-radius:16px;overflow:hidden;border:1px solid rgba(203,213,225,.96);background:#fff}.pp-eval-item-image{width:100%;height:100%;display:block;object-fit:cover}.pp-eval-item.hide-title .pp-eval-item-image-wrap{width:92px;height:92px}.pp-eval-item.is-student-self{align-items:stretch;max-height:220px}.pp-eval-item.is-student-self .pp-eval-item-image-wrap{width:132px;height:132px;border-radius:22px}.pp-eval-item.is-student-self.hide-title .pp-eval-item-image-wrap{width:168px;height:168px}.pp-eval-item.is-student-self .pp-eval-item-copy strong{font-size:24px;line-height:1.2}.pp-eval-item.is-student-self .pp-eval-item-copy small{font-size:16px}.pp-eval-item.is-student-self .pp-eval-item-side{flex-direction:column;align-items:flex-end;justify-content:center;gap:12px}.pp-eval-item.is-student-self .pp-eval-item-main{align-items:flex-start}.pp-eval-item.is-student-self .pp-eval-item-media-row{align-items:center;gap:18px}.pp-eval-item.is-student-self .pp-primary-button.compact{min-height:48px;padding:0 18px;font-size:18px}.pp-eval-group.is-evaluated{border-color:#d1d5db;opacity:.6}.pp-eval-group.is-evaluated strong{color:#9ca3af}.pp-eval-item.is-reward{background:#ecfdf580}.pp-eval-item.is-penalty{background:#fef2f280}.pp-eval-name{flex:1;font-size:14px;color:#111827}.pp-eval-delta{font-size:14px;font-weight:700}.pp-eval-item.is-reward .pp-eval-delta{color:#059669}.pp-eval-item.is-penalty .pp-eval-delta{color:#dc2626}.pp-eval-confirm{padding:6px 14px;border:0;border-radius:10px;background:#ec4899;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:transform .16s ease}.pp-eval-confirm:hover{transform:translateY(-1px)}.pp-eval-empty{color:#9ca3af;font-size:14px;text-align:center;padding:24px}.pp-pet-tabs{display:flex;gap:8px;margin-bottom:16px}.pp-pet-tab{padding:10px 18px;border:1px solid #e5e7eb;border-radius:14px;background:transparent;color:#374151;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-pet-tab.is-active{background:#111827;color:#fff;border-color:#111827}.pp-pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:240px;overflow:auto;margin-bottom:16px}.pp-pet-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid #e5e7eb;border-radius:12px;background:transparent;cursor:pointer;transition:all .16s ease;color:#374151;font-size:14px}.pp-pet-item:hover{background:#ec48990f;border-color:#f9a8d4}.pp-pet-item.is-selected{background:#ec48991f;border-color:#ec4899;box-shadow:0 0 0 2px #ec489933}.pp-pet-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px}.pp-pet-detail{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fafafa}.pp-pet-detail-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:28px;flex-shrink:0}.pp-pet-detail-info{flex:1}.pp-pet-detail-info strong{display:block;font-size:16px;color:#111827}.pp-pet-detail-info p{margin:4px 0 0;font-size:14px;color:#6b7280}.pp-pet-detail-form{display:flex;flex-direction:column;gap:8px;min-width:160px}.pp-ranking-tabs{display:flex;gap:6px;margin-bottom:14px}.pp-ranking-tab{padding:8px 14px;border:1px solid #e5e7eb;border-radius:12px;background:transparent;color:#374151;font-size:14px;cursor:pointer}.pp-ranking-tab.is-active{background:#111827;color:#fff;border-color:#111827}.pp-ranking-rank.is-top-1{background:#fef3c7;color:#92400e}.pp-ranking-rank.is-top-2{background:#e5e7eb;color:#374151}.pp-ranking-rank.is-top-3{background:#fed7aa;color:#9a3412}.pp-ranking-name{flex:1;font-size:14px;color:#111827;font-weight:500}.pp-ranking-aura{font-size:14px;color:#6b7280}.pp-ranking-growth{font-size:14px;font-weight:600;color:#059669}.pp-analytics-dialog{--analytics-ink: #17211b;--analytics-muted: #667085;--analytics-line: rgba(35, 52, 45, .12);--analytics-surface: rgba(255, 255, 255, .88);width:min(1120px,calc(100vw - 24px));background:linear-gradient(90deg,rgba(23,33,27,.035) 1px,transparent 1px),linear-gradient(180deg,#fffaf2,#f7fbff 58%,#fff);background-size:44px 100%,auto}.pp-analytics-dialog .pp-dialog-header{padding:22px 24px 18px;background:linear-gradient(120deg,rgba(249,115,22,.13),transparent 42%),linear-gradient(180deg,#ffffffe0,#ffffffa8)}.pp-analytics-dialog .pp-dialog-header h3{color:var(--analytics-ink);font-size:22px;line-height:1.15}.pp-analytics-dialog .pp-dialog-subtitle{margin-top:5px;color:#737268;letter-spacing:0;text-transform:none;font-weight:800}.pp-analytics-dialog .pp-dialog-body{padding:14px;background:#ffffff57}.pp-analytics-dialog .pp-dialog-close{margin-left:30px;background:#e2e8f0}.pp-analytics-dialog .pp-dialog-close:hover{background:#cbd5e1}.pp-analytics-dialog .pp-dialog-header-actions{gap:12px}.pp-analytics-shell{display:grid;gap:12px}.pp-analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--analytics-line);border-radius:18px;background:var(--analytics-surface);box-shadow:0 12px 30px #23342d14}.pp-analytics-filter-group{display:flex;align-items:center;gap:8px;min-width:0}.pp-analytics-filter-group-semester{flex:0 1 220px}.pp-analytics-filter-group-semester .pp-select{width:100%;min-width:0}.pp-analytics-filter-label{color:var(--analytics-muted);font-size:14px;font-weight:900}.pp-analytics-toolbar .pp-tab-row{padding:3px;border-radius:13px;background:#17211b0d;gap:3px}.pp-analytics-toolbar .pp-tab-button{min-height:32px;border-radius:10px;background:transparent;color:#4b5a52;font-weight:800}.pp-analytics-toolbar .pp-tab-button.is-active{background:#fff;color:#0f766e;box-shadow:0 8px 18px #0f766e1f}.pp-analytics-summary{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:12px}.pp-analytics-tile{position:relative;overflow:hidden;display:grid;gap:8px;min-height:112px;padding:16px;border:1px solid var(--analytics-line);border-radius:18px;background:linear-gradient(180deg,#ffffffeb,#ffffffbd),linear-gradient(135deg,#f8fafccc,#ffffffb3);box-shadow:0 12px 28px #23342d14}.pp-analytics-tile:after{content:"";position:absolute;right:14px;bottom:14px;width:34px;height:8px;border-radius:999px;background:currentColor;opacity:.16}.pp-analytics-tile-primary{background:radial-gradient(circle at 82% 18%,rgba(249,115,22,.18),transparent 32%),linear-gradient(135deg,#fff8ed,#fff);color:#f97316}.pp-analytics-tile-count{color:#0f766e}.pp-analytics-tile-members{color:#2563eb}.pp-analytics-tile-split{color:#7c3aed}.pp-analytics-tile span{color:var(--analytics-muted);font-size:14px;font-weight:900}.pp-analytics-tile strong{color:var(--analytics-ink);font-size:26px;line-height:1.2}.pp-analytics-chart{position:relative;overflow:hidden;display:grid;gap:10px;padding:16px;border:1px solid var(--analytics-line);border-radius:20px;background:linear-gradient(90deg,rgba(15,118,110,.055) 1px,transparent 1px),linear-gradient(180deg,#fffffff5,#f8fafcb8);background-size:36px 100%,auto;box-shadow:0 14px 32px #23342d14}.pp-analytics-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--analytics-muted);font-size:14px;font-weight:900}.pp-analytics-chart-head>div{display:grid;gap:3px}.pp-analytics-chart-head strong{color:var(--analytics-ink);font-size:16px}.pp-analytics-chart-svg{width:100%;min-height:230px;filter:drop-shadow(0 10px 16px rgba(15,118,110,.08))}.pp-analytics-gridline{stroke:#23342d1f;stroke-width:1}.pp-analytics-line{stroke-width:3.5;filter:drop-shadow(0 5px 8px rgba(15,23,42,.08))}.pp-analytics-dot{fill:#fff;stroke:var(--analytics-series-color, #0f766e);stroke-width:2.6}.pp-analytics-axis-label{fill:#667085;font-size:10.5px;font-weight:800}.pp-analytics-student-picker{display:grid;gap:10px;padding-top:2px}.pp-analytics-student-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--analytics-muted);font-size:13px;font-weight:900}.pp-analytics-student-picker-head strong{color:var(--analytics-ink)}.pp-analytics-student-chip-list{display:flex;flex-wrap:wrap;gap:8px;max-height:132px;overflow:auto;padding:2px 2px 4px}.pp-analytics-student-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(35,52,45,.12);border-radius:999px;background:#ffffffb8;color:#425047;font-size:13px;font-weight:800;opacity:.58}.pp-analytics-student-chip.is-selected{border-color:color-mix(in srgb,var(--analytics-series-color, #0f766e) 42%,transparent);background:linear-gradient(180deg,#ffffffeb,#ffffffc2),color-mix(in srgb,var(--analytics-series-color, #0f766e) 14%,white);color:var(--analytics-ink);opacity:1;box-shadow:0 8px 18px color-mix(in srgb,var(--analytics-series-color, #0f766e) 14%,transparent)}.pp-analytics-student-chip-dot{width:9px;height:9px;border-radius:999px;background:var(--analytics-series-color, #0f766e);box-shadow:0 0 0 4px color-mix(in srgb,var(--analytics-series-color, #0f766e) 14%,transparent)}.pp-analytics-student-chip span,.pp-analytics-student-chip em{color:var(--analytics-muted);font-style:normal}.pp-analytics-student-chip em{color:var(--analytics-series-color, #0f766e);font-weight:950}.pp-analytics-table-wrap{overflow:auto;border:1px solid var(--analytics-line);border-radius:20px;background:var(--analytics-surface);box-shadow:0 14px 32px #23342d14}.pp-analytics-table-head{position:sticky;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--analytics-line);background:#ffffffe6;color:var(--analytics-muted);font-size:14px;font-weight:900}.pp-analytics-table-head>div{display:grid;gap:3px}.pp-analytics-table-head strong{color:var(--analytics-ink);font-size:15px}.pp-analytics-table-head span{color:var(--analytics-muted)}.pp-analytics-table{width:100%;border-collapse:collapse;min-width:820px;background:#fff}.pp-analytics-table th,.pp-analytics-table td{padding:11px 12px;border-bottom:1px solid #f1f5f9;text-align:left;font-size:14px;color:#34413b;white-space:nowrap}.pp-analytics-table th{position:sticky;top:0;z-index:1;background:#f8faf5;color:#737268;font-size:14px;font-weight:900}.pp-analytics-table tbody tr:hover td{background:#fffaf2}.pp-analytics-table td strong,.pp-analytics-table td span{display:block}.pp-analytics-table td strong{color:var(--analytics-ink)}.pp-analytics-table td span{margin-top:2px;color:#8a928d;font-size:14px}.pp-analytics-table tr:last-child td{border-bottom:0}.pp-analytics-table .is-positive{color:#047857;font-weight:900}.pp-analytics-table .is-negative{color:#dc2626;font-weight:900}.pp-analytics-score-cell{min-width:86px}.pp-analytics-score-cell span{font-weight:700}@media(max-width:960px){.pp-analytics-dialog .pp-dialog-header{padding:18px 20px 16px}.pp-analytics-toolbar{align-items:stretch}.pp-analytics-filter-group{flex:1 1 320px}.pp-analytics-filter-group-semester{flex-basis:220px}.pp-analytics-filter-group .pp-tab-row{flex:1}.pp-analytics-tile{min-height:98px}}@media(max-width:720px){.pp-analytics-dialog .pp-dialog-body{padding:12px}.pp-analytics-toolbar{padding:10px}.pp-analytics-filter-group{display:grid;gap:6px;flex-basis:100%}.pp-analytics-filter-group-semester{flex-basis:100%}.pp-analytics-filter-group .pp-tab-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.pp-analytics-filter-group .pp-tab-row::-webkit-scrollbar{display:none}.pp-analytics-toolbar .pp-tab-button{flex:0 0 auto}.pp-analytics-tile{min-height:88px;padding:14px}.pp-analytics-tile strong{font-size:23px}.pp-analytics-chart{padding:12px}.pp-analytics-chart-head{align-items:flex-start}.pp-analytics-student-chip-list{flex-wrap:nowrap;overflow-x:auto;max-height:none;scrollbar-width:none}.pp-analytics-student-chip-list::-webkit-scrollbar{display:none}.pp-analytics-student-chip{flex:0 0 auto}.pp-analytics-table-head{padding:12px 14px}}.pp-evaluation-export-dialog .pp-dialog-body{background:#f8fafc}.pp-export-shell{display:grid;gap:14px}.pp-export-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(150px,.75fr) minmax(150px,.75fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fffffff0}.pp-export-field{display:grid;gap:6px;min-width:0}.pp-export-field span,.pp-export-panel-head span,.pp-export-footer span,.pp-export-check-row small{color:#64748b;font-size:13px}.pp-export-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr) minmax(180px,.65fr);gap:12px}.pp-export-panel{min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fff}.pp-export-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(226,232,240,.82)}.pp-export-panel-head>div{display:flex;align-items:center;gap:10px;min-width:0}.pp-export-panel-head strong{color:#0f172a;font-size:15px}.pp-export-option-list{max-height:min(42vh,390px);overflow-y:auto;overscroll-behavior:contain}.pp-export-check-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:54px;padding:9px 14px;border-bottom:1px solid rgba(226,232,240,.68);cursor:pointer}.pp-export-tree-row{padding-left:calc(14px + var(--export-tree-depth, 0) * 18px)}.pp-export-tree-row.is-group{min-height:46px;background:#f8fafcb8}.pp-export-tree-row.is-group strong{font-weight:800}.pp-export-tree-row.is-item{background:#fff}.pp-export-tree-children{display:grid}.pp-export-check-row:last-child{border-bottom:0}.pp-export-check-row input{width:18px;height:18px;accent-color:#f97316}.pp-export-check-row span{display:grid;gap:3px;min-width:0}.pp-export-check-row strong,.pp-export-check-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-export-check-row strong{color:#0f172a;font-size:14px}.pp-export-role-grid{display:grid;gap:10px;padding:14px}.pp-export-role-button{min-height:42px;border:1px solid rgba(203,213,225,.95);border-radius:12px;background:#fff;color:#334155;font-weight:700;cursor:pointer}.pp-export-role-button.is-active{border-color:#f9731694;background:#fff7edf5;color:#c2410c;box-shadow:0 10px 20px #f973161f}.pp-export-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fffffff0}.pp-primary-button:disabled,.pp-ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:960px){.pp-export-toolbar,.pp-export-grid{grid-template-columns:1fr 1fr}.pp-export-role-panel{grid-column:1 / -1}}@media(max-width:720px){.pp-export-toolbar,.pp-export-grid{grid-template-columns:1fr}.pp-export-option-list{max-height:260px}.pp-export-footer{align-items:stretch;flex-direction:column}}.pp-stat{font-size:14px;color:#6b7280;margin:0 0 12px}.pp-record-item.is-reward{border-left:3px solid #059669}.pp-record-item.is-penalty{border-left:3px solid #dc2626}.pp-record-indicator,.pp-record-time{font-size:14px;color:#9ca3af}.pp-record-delta{font-size:14px;font-weight:700}.pp-record-item.is-reward .pp-record-delta{color:#059669}.pp-record-item.is-penalty .pp-record-delta{color:#dc2626}.pp-record-undo{padding:4px 10px;border:1px solid #e5e7eb;border-radius:8px;background:transparent;color:#6b7280;font-size:14px;cursor:pointer}.pp-record-undo:hover{background:#fef2f2;color:#dc2626}.pp-empty-text{color:#333;text-align:center;padding:24px;font-size:14px}.pp-growth-stats{display:grid;gap:4px;padding:14px;border-radius:14px;background:#f8fafc;margin-bottom:14px}.pp-growth-stats p{margin:0;font-size:14px;color:#374151}.pp-growth-current-pet{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;border:1px solid #e5e7eb;margin-bottom:14px}.pp-growth-pet-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px}.pp-growth-current-pet strong{display:block;font-size:16px;color:#111827}.pp-growth-current-pet p{margin:4px 0 0;font-size:14px;color:#9ca3af}.pp-prize-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pp-prize-icon{font-size:24px}.pp-prize-info strong{display:block;font-size:14px;color:#111827}.pp-prize-info p{margin:2px 0 0;font-size:14px;color:#6b7280}.pp-prize-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pp-prize-cost{font-size:14px;font-weight:600;color:#374151}.pp-prize-stock{font-size:14px;color:#9ca3af}.pp-prize-manage-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid #e5e7eb;border-radius:12px}.pp-settings-list{display:grid;gap:8px}.pp-settings-item{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:transparent;text-align:left;cursor:pointer;transition:all .16s ease}.pp-settings-item:hover{background:#f8fafc;border-color:#f9a8d4}.pp-settings-item span:first-child{font-size:15px;font-weight:600;color:#111827}.pp-settings-item span:last-child{font-size:14px;color:#6b7280}.pp-indicator-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}.pp-indicator-cats{display:flex;flex-direction:column;gap:6px}.pp-indicator-cat{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;transition:all .16s ease}.pp-indicator-cat:hover{background:#f8fafc}.pp-indicator-cat.is-selected{background:#fce7f3}.pp-indicator-cat span{font-size:14px;color:#374151}.pp-indicator-add-cat{display:flex;gap:6px;margin-top:8px}.pp-indicator-items{display:grid;gap:8px}.pp-indicator-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e5e7eb;border-radius:12px}.pp-indicator-item span:first-child{flex:1;font-size:14px;color:#111827}.pp-delta-pos{color:#059669;font-weight:600;font-size:14px}.pp-delta-neg{color:#dc2626;font-weight:600;font-size:14px}.pp-indicator-add{display:flex;gap:6px;margin-top:8px}.pp-level-list{display:grid;gap:8px;margin-bottom:16px}.pp-level-row{display:flex;align-items:center;gap:10px}.pp-level-num{width:50px;font-size:14px;font-weight:600;color:#6b7280}.pp-level-badge{font-size:14px;color:#6b7280;min-width:50px}.pp-input{width:100%;height:38px;padding:0 12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafbbf;color:#111827;font-size:14px;outline:none;transition:border-color .16s ease}.pp-input:focus{border-color:#ec4899;box-shadow:0 0 0 2px #ec489926}.pp-input-sm{width:80px}.pp-primary-btn{height:38px;padding:0 18px;border:0;border-radius:12px;background:#ec4899;color:#fff;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 6px 16px #ec489940;transition:transform .16s ease}.pp-primary-btn:hover{transform:translateY(-1px)}.pp-primary-btn.compact{height:32px;padding:0 12px;font-size:14px}.pp-primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pp-ghost-btn{height:38px;padding:0 18px;border:1px solid #e5e7eb;border-radius:12px;background:transparent;color:#374151;font-size:14px;cursor:pointer;transition:all .16s ease}.pp-ghost-btn:hover{background:#f8fafc;transform:translateY(-1px)}.pp-create-form{display:flex;gap:8px;margin-bottom:14px;align-items:center}.pp-create-form .pp-input{flex:1}@media(max-width:768px){.pp-shell{flex-direction:column}.pp-sidebar{width:auto;border-right:0;border-bottom:1px solid rgba(148,163,184,.25)}.pp-class-list{flex-direction:row;overflow-x:auto;padding:0 12px 12px}.pp-toolbar-top{flex-direction:column;align-items:stretch}.pp-toolbar-actions{flex-wrap:wrap}.pp-search{width:100%}.pp-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:12px}.pp-indicator-layout{grid-template-columns:1fr}.pp-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}}.pp-shell-restored{display:flex;flex-direction:column;gap:10px;min-height:100%;padding:0}.pp-window-chrome{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px;border-radius:24px;background:#ffffffe0;border:1px solid rgba(226,232,240,.85);box-shadow:0 18px 50px #0f172a14}.pp-window-dots{display:flex;gap:8px}.pp-window-dots span{width:12px;height:12px;border-radius:999px;background:linear-gradient(180deg,#fde68a,#f59e0b)}.pp-window-dots span:nth-child(2){background:linear-gradient(180deg,#bfdbfe,#3b82f6)}.pp-window-dots span:nth-child(3){background:linear-gradient(180deg,#fecdd3,#f43f5e)}.pp-window-eyebrow,.pp-dialog-subtitle{margin:0;color:#94a3b8;font-size:14px;letter-spacing:.18em;text-transform:uppercase}.pp-window-title{margin:6px 0 0;font-size:28px;color:#0f172a}.pp-dialog-header-actions{display:inline-flex;align-items:center;gap:8px}.pp-dialog-icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;border:1px solid rgba(148,163,184,.2);border-radius:11px;background:#ffffffc2;color:#7c6f62;box-shadow:inset 0 1px #ffffffa6;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.pp-dialog-icon-button:hover{transform:translateY(-1px);border-color:#ff7a1a47;color:#9b5a16}.pp-dialog-icon-button.is-active{background:linear-gradient(135deg,#ff914d29,#ffecd6eb);border-color:#ff7a1a57;color:#b55b00}.pp-dialog-icon-button svg{width:18px;height:18px}.pp-controlbar{position:relative;display:grid;gap:10px;padding:0 18px 12px;background:#ffffffe0;border-bottom:1px solid rgba(226,232,240,.85)}.pp-control-primary,.pp-control-actions,.pp-sort-switch,.pp-tab-row,.pp-batch-actions,.pp-growth-actions,.pp-manage-actions,.pp-manage-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pp-class-trigger,.pp-toolbar-chip,.pp-action-button,.pp-tab-button,.pp-primary-button,.pp-ghost-button,.pp-text-button,.pp-sort-option,.pp-chooser-item,.pp-batch-card,.pp-pet-card,.pp-indicator-category-main{border:0;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,opacity .16s ease}.pp-class-trigger{display:flex;flex-direction:column;gap:2px;min-width:108px;padding:8px 12px;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid rgba(226,232,240,.95);box-shadow:inset 0 1px #fff9}.pp-class-trigger span{font-weight:800;color:#0f172a;font-size:14px}.pp-class-trigger small{color:#64748b;font-size:14px}.pp-filter-row{flex:1;min-width:320px;display:flex;align-items:center;gap:8px}.pp-searchbox{flex:1;min-width:0}.pp-filter-row .pp-select{width:132px;flex:0 0 132px}.pp-search,.pp-select,.pp-input{width:100%;min-height:38px;padding:0 12px;border-radius:12px;border:1px solid rgba(203,213,225,.95);background:#fffffff5;outline:none;color:#0f172a;font-size:14px}.pp-search:focus,.pp-select:focus,.pp-input:focus{border-color:#f97316a6;box-shadow:0 0 0 4px #f973161f}.pp-toolbar-chip,.pp-sort-option,.pp-tab-button,.pp-ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:12px;background:#f8fafc;color:#475569;font-size:14px}.pp-toolbar-chip span{margin-left:6px;min-width:20px;padding:2px 6px;border-radius:999px;background:#f973161f;color:#ea580c;font-size:14px;font-weight:800}.pp-action-button,.pp-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:12px;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-weight:700;box-shadow:0 14px 28px #f973162e;font-size:14px}.pp-primary-button.compact,.pp-ghost-button.compact{min-height:34px;padding:0 12px;border-radius:12px;font-size:14px;border:1px solid #c4cbd4}.pp-primary-button.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 14px 28px #ef44442e}.pp-reset-button{border:1px solid rgba(252,165,165,.9);background:#fef2f2f5;color:#b91c1c}.pp-history-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pp-history-import-grid-padded{padding:16px}.pp-history-import-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.pp-semester-settings-head-actions{gap:14px;margin:0}.pp-semester-settings-dialog .pp-dialog-body{display:flex;flex-direction:column;background-color:#fff7edf5}.pp-semester-settings-list{min-height:0;display:flex;flex-direction:column}.pp-semester-settings-rows{min-height:0;max-height:min(42vh,420px);overflow-y:auto;overscroll-behavior:contain}.pp-semester-create-button{align-self:end;margin-left:auto;width:min(100%,160px)}.pp-history-upload{position:relative;overflow:hidden}.pp-history-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.pp-history-upload.is-disabled{opacity:.6;pointer-events:none}.pp-history-import-note,.pp-history-preview{padding:12px 14px;border:1px solid rgba(226,232,240,.95);border-radius:14px;background:#f8fafceb;color:#475569;font-size:14px;line-height:1.7}.pp-history-import-note p,.pp-history-import-feedback{margin:0}.pp-history-import-feedback{padding:9px 12px;border-radius:12px;font-size:14px}.pp-history-import-feedback.is-success{background:#dcfce7e6;color:#166534}.pp-history-import-feedback.is-danger{background:#fee2e2e6;color:#991b1b}.pp-history-preview{margin-top:12px}.pp-history-preview-head{display:grid;gap:4px}.pp-history-preview-head strong{color:#0f172a}.pp-history-preview-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-history-import-list{margin-top:14px;border:1px solid rgba(226,232,240,.95);border-radius:14px;background:#fff;overflow:hidden}.pp-history-import-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(226,232,240,.78)}.pp-history-import-list-head div{display:flex;gap:16px}.pp-history-import-list-head strong{color:#0f172a;font-size:15px}.pp-history-import-list-head span,.pp-history-import-row-main span,.pp-history-import-empty{color:#64748b;font-size:13px}.pp-history-import-rows{display:grid;padding-bottom:100px}.pp-history-import-rows:not(.pp-semester-settings-rows){max-height:min(36vh,360px);min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pp-history-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid rgba(226,232,240,.68)}.pp-history-import-row:last-child{border-bottom:0}.pp-history-import-row-main{display:grid;gap:4px;min-width:0}.pp-history-import-row-main strong{overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.pp-history-import-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-history-import-row-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:280px}.pp-history-import-row-stats span{padding:4px 8px;border-radius:999px;background:#f1f5f9f5;color:#334155;font-size:12px;white-space:nowrap}.pp-history-import-row-stats .is-danger{background:#fee2e2e6;color:#991b1b}.pp-history-import-row.is-revoked{opacity:.5;background:#f9fafb}.pp-history-import-row.is-revoked strong{text-decoration:line-through}.pp-history-import-empty{padding:18px 14px;text-align:center}.pp-tab-button.is-active,.pp-class-trigger:hover,.pp-action-button:hover,.pp-primary-button:hover,.pp-ghost-button:hover,.pp-text-button:hover,.pp-batch-card:hover,.pp-pet-card:hover,.pp-chooser-item:hover,.pp-indicator-category-main:hover{transform:translateY(-1px)}.pp-toolbar-chip:hover,.pp-sort-option.is-active{box-shadow:inset 0 0 0 1px #f9731629}.pp-tab-button.is-active,.pp-sort-option.is-active{background:#f973161f;color:#ea580c}.pp-sort-arrow{display:inline-flex;margin-left:2px}.pp-sort-arrow svg{width:14px;height:14px}.pp-indicator-role-tabs{margin-bottom:4px}.pp-indicator-role-tabs .pp-tab-button{gap:7px}.pp-indicator-role-tabs .pp-tab-button span{min-width:22px;padding:2px 7px;border-radius:999px;background:#0f172a12;color:inherit;font-size:14px;font-weight:800}.pp-indicator-role-hint{margin:0;color:#64748b;font-size:14px;line-height:1.7}.pp-card-grid{padding:0 18px 100px;display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px;align-items:start;contain:layout paint style}.pp-student-card{--pp-stage-color: #4b5563;--pp-stage-contrast: #ffffff;--pp-stage-border: var(--pp-stage-color);--pp-stage-glow: color-mix(in srgb, var(--pp-stage-color) 22%, transparent);--pp-stage-chip-bg: var(--pp-stage-color);--pp-stage-chip-border: var(--pp-stage-color);--pp-stage-chip-text: var(--pp-stage-contrast);position:relative;display:grid;border-radius:18px;background:linear-gradient(180deg,#fffffffa,#fafafbfa);border:2px solid var(--pp-stage-border);box-shadow:0 14px 28px var(--pp-stage-glow),0 0 0 1px color-mix(in srgb,var(--pp-stage-color) 16%,white),inset 0 1px #ffffffe0;overflow:hidden;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:254px 292px}.pp-student-card.has-starlight:before{content:"";position:absolute;top:-72%;right:-72%;bottom:-72%;left:-72%;z-index:3;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,transparent 0 45%,rgba(245,158,11,.24) 47%,rgba(245,158,11,.46) 48.5%,rgba(245,158,11,.72) 50%,rgba(245,158,11,.46) 51.5%,rgba(245,158,11,.28) 53%,transparent 56% 100%);mix-blend-mode:screen;opacity:.92;animation:pp-card-gold-sweep 4.8s linear infinite}.pp-student-card-media{position:relative;display:grid;place-items:center;min-width:224px;min-height:128spx;padding:14px 20px 4px 2px;border-radius:24px;cursor:pointer;overflow:hidden}.pp-student-card-token-stack{position:absolute;top:12px;left:12px;z-index:2;display:grid;gap:6px;max-width:calc(100% - 92px)}.pp-student-card-badge-count,.pp-student-card-starlight-count{display:inline-flex;align-items:center;gap:6px;color:#475569}.parent-pet-visual>.pp-student-card-badge-count{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 24px)}.pp-student-card-starlight-count{width:max-content;flex:0 0 auto;padding:2px 8px 2px 5px;border-radius:999px;background:linear-gradient(135deg,#fffbebf5,#fef3c7e0),radial-gradient(circle at 28% 18%,rgba(255,255,255,.82),transparent 38%);color:#b45309;border:1px solid rgba(245,158,11,.6);box-shadow:0 0 18px #f59e0b42,inset 0 1px #ffffffeb}.pp-token-icon{flex:0 0 auto;display:block;width:18px;height:18px;object-fit:contain}.pp-student-card-starlight-count .pp-token-icon{width:19px;height:19px;filter:drop-shadow(0 0 7px rgba(245,158,11,.72));animation:pp-starlight-twinkle 2.6s ease-in-out infinite}.pp-student-card-badge-count .pp-token-icon,.pp-badge-count-value .pp-token-icon,.pp-prize-badge-cost .pp-token-icon{filter:drop-shadow(0 1px 3px rgba(146,64,14,.28))}.pp-student-card-badge-count strong,.pp-student-card-starlight-count strong{color:#0f172a;font-size:16px;line-height:1}.pp-student-card-starlight-count strong{color:#92400e}.pp-student-card-toolbar{position:absolute;top:50%;right:6px;z-index:4;display:grid;gap:10px;transform:translateY(-50%);pointer-events:auto;padding:10px 0 10px 8px}.pp-student-card-toolbar button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(225,231,239,.96);border-radius:50%;background:#fffffffa;color:#64748b;box-shadow:0 8px 18px #94a3b824}.pp-student-card-image{width:140px;height:140px;object-fit:contain;transform-origin:center bottom;will-change:transform}.pp-growth-pet-visual img{transform-origin:center bottom;will-change:transform}.pp-pet-visual{position:relative;display:grid;place-items:center;width:140px;height:140px}.pp-pet-visual.is-weakened img{filter:grayscale(.88) sepia(.42) hue-rotate(58deg) saturate(.72) brightness(.78)}.pp-pet-visual.is-weakened:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:24px;background:radial-gradient(circle at top,#6ee7b72e,#1665341f 58%,#1118271a 78%);pointer-events:none}.pp-pet-status-badge{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0f172ad1;border:1px solid rgba(110,231,183,.34);color:#dcfce7;box-shadow:0 12px 24px #0f172a42;animation:pp-pet-status-pulse 2.8s ease-in-out infinite}.pp-pet-status-badge svg{width:24px;height:24px}@keyframes pp-pet-status-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes pp-starlight-twinkle{0%,to{transform:scale(.9) rotate(0);opacity:.82}50%{transform:scale(1) rotate(10deg);opacity:1}}@keyframes pp-card-gold-sweep{0%{transform:translate3d(-32%,-32%,0);opacity:0}14%{opacity:.46}72%{transform:translate3d(22%,22%,0);opacity:1}to{transform:translate3d(36%,36%,0);opacity:0}}@keyframes pet-egg-wobble{0%,78%,to{transform:translateZ(0) rotate(-3deg) scale(1)}84%{transform:translate3d(-1px,0,0) rotate(-4deg)}89%{transform:translate3d(1px,0,0) rotate(4deg)}94%{transform:translate3d(-1px,0,0) rotate(-3deg)}}.pp-student-card-egg{display:grid;place-items:center;width:112px;height:112px;border-radius:22px;font-size:52px;background:#ffffff4d;transform-origin:center 60%;animation:pet-egg-wobble 3s ease-in-out infinite}.pp-student-card-content{display:grid;gap:6px;cursor:pointer;padding:0 10px 4px}.pp-student-card-heading,.pp-summary-row,.pp-record-item,.pp-ranking-item,.pp-prize-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-student-card-heading strong,.pp-record-main strong,.pp-ranking-copy strong,.pp-prize-item strong,.pp-growth-hero strong,.pp-growth-item strong{color:#0f172a;font-size:18px}.pp-student-card-heading span,.pp-record-main small,.pp-ranking-copy small,.pp-prize-item p,.pp-prize-item small,.pp-growth-item span,.pp-growth-item small,.pp-growth-hero small,.pp-dialog-subtitle,.pp-empty p,.pp-prize-placeholder,.pp-record-disabled{color:#64748b}.pp-student-card-heading{width:100%;display:flex;flex-direction:column;gap:4px;align-items:stretch}.pp-student-card-heading-row{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-student-card-heading-subrow{align-items:flex-end}.pp-student-card-heading strong{min-width:0;flex:0 1 auto;font-size:18px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-student-card-heading span{font-size:14px;font-weight:700}.pp-student-card-score{min-width:0;display:flex;justify-content:flex-end;flex-shrink:0}.pp-student-card-score-status{display:inline-flex;align-items:baseline;gap:3px;font-size:14px;font-weight:700;color:#94a3b8;line-height:1.2;white-space:nowrap}.pp-student-card-score-status img{width:16px;height:16px}.pp-eval-item-side img,.pp-record-side img{width:15px;height:15px;margin-bottom:2px}.pp-eval-group{width:100%;text-align:left}.pp-progress-track{width:100%;height:8px;border-radius:999px;overflow:hidden;background:#edf1f6}.pp-progress-fill{height:100%;border-radius:inherit;background:#208cff;box-shadow:0 0 14px #2f8dff4d;transition:width .3s ease}.pp-progress-fill.is-starlight{background:#c9c8e8;box-shadow:0 0 16px #38bdf885}.pp-student-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.pp-student-card-meta{display:flex;align-items:center;gap:8px;min-width:0}.pp-student-card-level{flex-shrink:0;min-height:20px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,#ff9a3d,#ff7a1a);color:#fff;font-size:12px;font-weight:800;line-height:20px}.pp-student-card-stage{min-width:0;min-height:20px;padding:0 10px;border-radius:999px;border:1px solid var(--pp-stage-chip-border);background:var(--pp-stage-chip-bg);color:var(--pp-stage-chip-text);font-size:12px;font-weight:700;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-pet-name-button{width:100%;min-width:0;min-height:24px;display:inline-flex;flex:1 1 0;align-items:center;gap:5px;justify-content:space-between;padding:0;border:0;border-radius:0;background:transparent;color:#7c8aa0;font-size:14px;font-weight:700;text-align:right;cursor:pointer}.pp-pet-name-button:hover{color:#475569}.pp-pet-name-button svg{flex-shrink:0;opacity:.55}.pp-pet-name-button span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.pp-empty{display:grid;place-items:center;gap:8px;min-height:260px;padding:32px;border-radius:24px;background:#ffffffdb;border:1px solid rgba(226,232,240,.88);text-align:center}.pp-empty h3{margin:0;color:#0f172a}.pp-reset-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(254,215,170,.96);background:linear-gradient(180deg,#fff7ed,#fffaf5)}.pp-reset-banner-copy{display:grid;gap:4px}.pp-reset-banner-copy strong{color:#9a3412;font-size:15px}.pp-reset-banner-copy span{color:#c2410c;font-size:14px}.pp-toast{position:fixed;top:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;min-height:52px;max-width:320px;padding:0 16px;border-radius:18px;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 40px #0f172a29;z-index:120}.pp-toast-success{background:linear-gradient(135deg,#22c55e,#16a34a)}.pp-toast-danger{background:linear-gradient(135deg,#f97316,#ef4444)}.pp-toast button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}.pp-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;background:#0f172a52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20}.pp-indicator-backdrop{background:#0f172a33;-webkit-backdrop-filter:none;backdrop-filter:none}.pp-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#fffffffa;border:1px solid rgba(226,232,240,.9);box-shadow:0 24px 60px #0f172a2e}.pp-dialog-wide{width:min(1080px,calc(100vw - 24px))}.pp-reset-dialog-copy{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(254,215,170,.92);background:linear-gradient(180deg,#fff7ed,#fffaf5);color:#9a3412;line-height:1.6}.pp-reset-dialog-copy p{margin:0}.pp-reset-confirm{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(248,113,113,.24);background:#fef2f2f5}.pp-reset-confirm strong{color:#991b1b}.pp-reset-confirm span{color:#b91c1c;font-size:14px}.pp-dialog-header,.pp-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px}.pp-dialog-header{border-bottom:1px solid rgba(226,232,240,.86);flex-shrink:0}.pp-dialog-header>div{min-width:0}.pp-dialog-header h3,.pp-growth-section h4,.pp-manage-create h4,.pp-indicator-main h4{margin:0;color:#0f172a}.pp-dialog-header h3{font-size:18px;font-weight:700}.pp-dialog-body{display:grid;gap:18px;padding:10px 12px 12px;min-width:0;min-height:0;overflow:auto}.pp-dialog-close{width:40px;height:40px;border:0;border-radius:999px;background:#f8fafc;color:#475569;font-size:20px;cursor:pointer}.pp-dialog-close:hover{background:#f3f4f6}.pp-levelup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 72% 44%,rgba(255,214,102,.14),transparent 20%),radial-gradient(circle at 18% 24%,rgba(245,158,11,.08),transparent 28%),linear-gradient(180deg,#020617fa,#03071ef0);overflow:hidden;cursor:pointer}.pp-levelup-shell{position:relative;width:min(1080px,calc(100vw - 32px));min-height:min(720px,calc(100vh - 48px));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,420px);gap:20px;padding:40px 34px 34px;border-radius:34px;border:1px solid rgba(255,204,102,.12);background:linear-gradient(135deg,#0c122bf0,#04081cfa),radial-gradient(circle at 72% 40%,rgba(255,214,102,.08),transparent 22%);box-shadow:inset 0 1px #ffffff0a,0 42px 90px #02061775;overflow:hidden;cursor:default}.pp-levelup-shell:before{content:"";position:absolute;inset:-20% auto auto -10%;width:52%;height:140%;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 58%);transform:rotate(14deg);pointer-events:none}.pp-levelup-copy,.pp-levelup-visual{position:relative;z-index:1}.pp-levelup-copy{display:grid;align-content:start;gap:24px;padding-top:36px;animation:pp-levelup-fade-up .52s cubic-bezier(.22,1,.36,1)}.pp-levelup-kicker{display:inline-flex;align-items:center;gap:12px;color:#f59e0bd1;font-size:14px;font-weight:800;letter-spacing:.34em;text-transform:uppercase}.pp-levelup-kicker:after{content:"";width:72px;height:1px;background:#f59e0b52}.pp-levelup-copy h2{margin:0;color:#ffd166;font-size:clamp(58px,9vw,108px);line-height:.92;letter-spacing:.03em;text-shadow:0 4px 22px rgba(245,158,11,.14),0 1px 0 rgba(255,239,201,.2)}.pp-levelup-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:stretch;max-width:520px}.pp-levelup-stage-card{display:grid;gap:4px;padding:24px 26px;border-radius:24px;border:1px solid rgba(148,163,184,.18);background:#0f172a9e;box-shadow:inset 0 1px #ffffff08}.pp-levelup-stage-card span{color:#f59e0bc7;font-size:14px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.pp-levelup-stage-card strong{color:#f8fafc;font-size:clamp(30px,3.2vw,42px);line-height:1.05}.pp-levelup-stage-card small{color:#94a3b8;font-size:16px;font-weight:800}.pp-levelup-stage-card.is-reached{border-color:#f59e0b4d;background:linear-gradient(180deg,#232841db,#0f172aad)}.pp-levelup-stage-divider{display:grid;place-items:center;color:#ffd666bd;font-size:28px}.pp-aura-change-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#0f172a6b;overflow:hidden;pointer-events:auto}.pp-aura-change-panel{position:relative;z-index:2;display:grid;gap:10px;width:min(440px,calc(100vw - 40px));padding:18px 118px 20px 20px;border:2px solid #fb923c;border-radius:20px;background:#fff;box-shadow:0 1px #fff7edf2 inset,0 18px 44px #9a34122e;animation:pp-aura-change-enter .18s ease-out,pp-aura-change-leave .22s ease-in 1.78s forwards}.pp-aura-change-meat{position:absolute;top:50%;right:18px;width:86px;height:86px;object-fit:contain}.pp-aura-change-meat.is-gain{filter:drop-shadow(0 12px 18px rgba(154,52,18,.26));transform:translateY(-50%) rotate(8deg);animation:pp-aura-meat-pop .52s cubic-bezier(.2,1.25,.32,1) both}.pp-aura-change-meat.is-loss{opacity:.72;filter:grayscale(.95) saturate(.25) brightness(.58) contrast(1.08) drop-shadow(0 12px 18px rgba(15,23,42,.22));transform:translateY(-50%) rotate(-8deg);animation:pp-aura-meat-fade 1.78s ease-in forwards}.pp-aura-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.pp-aura-fireworks span{position:absolute;top:calc(50% - 92px);left:calc(50% + 128px);width:18px;height:18px;border-radius:999px;background:#facc15;color:#facc15;box-shadow:0 0 0 10px #fb923c3d,0 0 46px #fb923cd6;opacity:0;will-change:opacity,transform;animation:pp-aura-firework-gain .98s ease-out var(--spark-delay) both}.pp-aura-fireworks span:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:4px;border-radius:999px;background:currentColor;opacity:.8;transform:translate(-50%,-50%) rotate(35deg)}.pp-aura-fireworks span:nth-child(2n){background:#fb923c;color:#fb923c}.pp-aura-fireworks span:nth-child(3n){background:#fde68a;color:#facc15}.pp-aura-fireworks span:nth-child(3n+1){color:#f59e0b}.pp-aura-change-head,.pp-aura-change-values{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-aura-change-head span{min-width:0;color:#9a3412;font-size:26px;font-weight:900;line-height:1.08}.pp-aura-change-head strong{flex-shrink:0;padding:6px 10px;border-radius:14px;background:#fff7ed;font-size:30px;line-height:1}.pp-aura-change-head strong.is-gain{color:#ea580c}.pp-aura-change-head strong.is-loss{color:#dc2626}.pp-aura-change-student{margin:0;color:#64748b;font-size:15px;font-weight:800}.pp-aura-change-values{justify-content:flex-start;color:#334155;font-size:15px;font-weight:800}.pp-aura-change-values small{color:#fb923c;font-size:14px}.pp-aura-progress-track{height:20px;padding:3px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;overflow:hidden}.pp-aura-progress-fill{height:100%;min-width:4%;border-radius:inherit;transition:width 1.1s cubic-bezier(.2,.9,.24,1)}.pp-aura-progress-fill.is-resetting{transition:none}.pp-aura-progress-fill.is-gain{background:linear-gradient(90deg,#fb923c,#facc15);box-shadow:0 0 18px #fb923c57}.pp-aura-progress-fill.is-loss{background:linear-gradient(90deg,#dc2626,#fb923c);box-shadow:0 0 18px #dc26263d}@keyframes pp-aura-change-enter{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pp-aura-change-leave{to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes pp-aura-meat-pop{0%{opacity:0;transform:translateY(-50%) rotate(-10deg) scale(.52)}68%{opacity:1;transform:translateY(-50%) rotate(10deg) scale(1.08)}to{opacity:1;transform:translateY(-50%) rotate(8deg) scale(1)}}@keyframes pp-aura-meat-fade{0%{opacity:.78;transform:translateY(-50%) rotate(-8deg) scale(1)}62%{opacity:.42;transform:translateY(-40%) rotate(-12deg) scale(.9)}to{opacity:0;transform:translateY(-24%) rotate(-16deg) scale(.74)}}@keyframes pp-aura-firework-gain{0%{opacity:0;transform:translateZ(0) scale(.2)}16%{opacity:1}72%{opacity:.92}to{opacity:0;transform:translate3d(var(--spark-x),var(--spark-y),0) scale(.05)}}.pp-levelup-student{display:grid;gap:8px}.pp-levelup-student strong{color:#f8fafc;font-size:24px}.pp-levelup-student p,.pp-levelup-footer p{margin:0;color:#94a3b8d1}.pp-levelup-footer{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.pp-levelup-confirm{min-height:46px;padding:0 42px;border:1px solid rgba(245,158,11,.45);border-radius:14px;background:#f59e0b14;color:#f59e0b;font-size:15px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.pp-levelup-confirm:hover{transform:translateY(-1px);background:#f59e0b24;box-shadow:0 16px 26px #f59e0b24}.pp-levelup-visual{position:relative;display:grid;place-items:center;animation:pp-levelup-float-in .62s cubic-bezier(.22,1,.36,1)}.pp-levelup-visual:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,214,102,.03) 52%,transparent 70%);filter:blur(8px)}.pp-levelup-visual img,.pp-levelup-fallback{position:relative;z-index:1}.pp-levelup-visual img{width:min(100%,420px);object-fit:contain;filter:drop-shadow(0 24px 42px rgba(2,6,23,.52))}.pp-levelup-fallback{display:grid;place-items:center;width:280px;height:280px;border-radius:32px;background:#0f172a99;color:#ffd166;font-size:56px;font-weight:900}.pp-levelup-badge{position:absolute;top:24px;right:24px;z-index:2;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;border:1px solid rgba(245,158,11,.32);background:#0f172ab8;box-shadow:0 16px 28px #0206173d}.pp-levelup-badge span{color:#f59e0bc7;font-size:14px;font-weight:800;letter-spacing:.22em}.pp-levelup-badge strong{color:#f8fafc;font-size:34px;line-height:.9}.pp-levelup-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.pp-levelup-confetti-piece{position:absolute;width:8px;height:16px;border-radius:999px;opacity:.92;animation-name:pp-levelup-confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite}.pp-levelup-confetti-piece.is-gold{background:linear-gradient(180deg,#fde68a,#eab308)}.pp-levelup-confetti-piece.is-silver{background:linear-gradient(180deg,#e2e8f0,#94a3b8)}.pp-levelup-confetti-piece.is-amber{background:linear-gradient(180deg,#fdba74,#f59e0b)}@keyframes pp-levelup-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes pp-levelup-float-in{0%{opacity:0;transform:translate(24px) scale(.94)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes pp-levelup-confetti-fall{0%{opacity:0;transform:translate3d(0,-12%,0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(28px,118vh,0) rotate(220deg)}}.pp-chooser-list,.pp-prize-list,.pp-record-list,.pp-growth-list,.pp-ranking-list,.pp-manage-list,.pp-eval-list{display:grid;gap:12px;min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;contain:content;will-change:scroll-position}.pp-record-list{max-height:400px;overflow:auto}.pp-chooser-item,.pp-batch-card,.pp-prize-item,.pp-record-item,.pp-ranking-item,.pp-growth-item,.pp-eval-item,.pp-manage-item,.pp-indicator-category{padding:14px 16px;border-radius:18px;background:#f8fafc;border:1px solid rgba(226,232,240,.95)}.pp-record-item,.pp-ranking-item{display:flex;align-items:center;gap:12px}.pp-ranking-list{min-height:320px;max-height:min(60vh,540px);padding:2px 4px 2px 2px}.pp-ranking-item{padding:12px 16px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-ranking-item .pp-ranking-copy{flex:1}.pp-ranking-item .pp-ranking-copy strong{font-size:16px}.pp-ranking-item.is-top{border-color:#f9731652;background:linear-gradient(135deg,#fff7ed,#fff 65%);box-shadow:0 8px 22px #f9731614}.pp-ranking-item.is-top-1{background:linear-gradient(135deg,#fef3c7,#fff 60%);box-shadow:0 12px 30px #f59e0b2e}.pp-ranking-values{flex-direction:column;align-items:flex-end;gap:2px;flex-wrap:nowrap}.pp-ranking-values strong{font-size:18px;font-weight:900;line-height:1.1}.pp-ranking-values strong.is-positive{color:#16a34a}.pp-ranking-values strong.is-negative{color:#ef4444}.pp-ranking-values small{color:#94a3b8;font-size:12px;font-weight:600}.pp-ranking-empty{padding:32px 16px;text-align:center;color:#94a3b8;font-size:14px}.pp-eval-item{display:flex;align-items:center;align-self:start;gap:12px;max-height:124px}.pp-chooser-item{text-align:left}.pp-chooser-item.is-active,.pp-batch-card.is-selected,.pp-pet-card.is-selected,.pp-indicator-category.is-active{border-color:#f9731666;background:#fff7ede6}.pp-batch-list,.pp-pet-grid,.pp-level-grid{display:grid;gap:12px}.pp-batch-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pp-pet-picker-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.pp-pet-picker-main{min-width:0;display:grid;gap:14px}.pp-pet-picker-tabs{margin-bottom:0}.pp-batch-card{display:grid;justify-items:start}.pp-pet-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));max-height:min(68vh,620px);align-content:start;overflow:auto;padding-right:4px}.pp-pet-card{display:grid;gap:8px;align-content:start;padding:12px;border-radius:22px;background:#f8fafc;text-align:left}.pp-pet-card img,.pp-pet-preview img,.pp-growth-hero img{width:108px;height:108px;object-fit:contain}.pp-pet-card img{width:84px;height:84px;justify-self:center}.pp-pet-card strong{color:#0f172a;font-size:14px;line-height:1.15}.pp-pet-card span{display:-webkit-box;overflow:hidden;color:#64748b;font-size:14px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-pet-preview,.pp-growth-hero{display:flex;gap:18px;align-items:center;padding:18px 20px;border-radius:24px;border:1px solid rgba(228,233,241,.96);background:#fbeff1;box-shadow:0 12px 28px #94a3b814}.pp-growth-hero{align-items:stretch}.pp-pet-preview-panel{position:sticky;top:0;flex-direction:column;align-items:stretch;gap:14px;min-width:0;padding:20px}.pp-pet-preview-panel img{width:min(100%,176px);height:176px;align-self:center}.pp-pet-preview-copy{min-width:0;display:grid;gap:10px}.pp-pet-preview-copy strong{color:#0f172a;font-size:22px;line-height:1.12}.pp-pet-preview-copy p{margin:0;color:#64748b;font-size:14px;line-height:1.55}.pp-pet-preview-panel .pp-primary-button{width:100%}.pp-growth-hero>div:last-child{min-width:0;flex:1;display:grid;align-content:center;gap:8px}.pp-growth-hero .pp-student-card-egg{width:108px;height:108px;border-radius:24px}.pp-growth-pet-visual{width:108px;min-width:108px;height:108px}.pp-growth-hero small{font-size:14px;font-weight:700;letter-spacing:.04em}.pp-growth-hero strong{font-size:24px;line-height:1.1}.pp-summary-row{flex-wrap:wrap}.pp-summary-tile{flex:1 1 180px;min-width:180px;padding:14px 16px;border-radius:18px;background:#f8fafc;border:1px solid rgba(226,232,240,.9)}.pp-record-evaluate-button{margin-left:auto;width:min(100%,120px)}.pp-summary-tile span,.pp-summary-tile strong{display:block}.pp-summary-tile span,.pp-record-tag{color:#94a3b8;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.pp-summary-tile strong{margin-top:6px;color:#0f172a;font-size:20px}.pp-summary-tile strong.pp-badge-count-value{display:inline-flex;align-items:center;gap:6px}.pp-record-main,.pp-ranking-copy{display:grid;gap:4px;min-width:0}.pp-record-main{flex:1}.pp-record-title-row{display:flex;align-items:center;gap:8px;min-width:0}.pp-record-title-row img{width:28px;height:28px;flex:0 0 auto;object-fit:cover;border-radius:9px;border:1px solid rgba(226,232,240,.95)}.pp-record-side,.pp-eval-item-side,.pp-ranking-values{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.pp-teacher-profile-select,.pp-teacher-manage{display:grid;gap:14px}.pp-teacher-profile-grid,.pp-teacher-manage-list{display:grid;gap:10px}.pp-teacher-profile-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pp-teacher-profile-card,.pp-teacher-manage-item,.pp-teacher-create{border:1px solid rgba(226,232,240,.95);border-radius:16px;background:#fff}.pp-teacher-profile-card{min-height:116px;padding:16px;display:grid;justify-items:center;gap:8px;color:#0f172a}.pp-teacher-profile-card strong{font-size:17px}.pp-teacher-profile-card small,.pp-teacher-default{color:#64748b;font-size:14px;font-weight:700}.pp-teacher-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:#f973161f;color:#ea580c;font-weight:900;flex:0 0 auto}.pp-teacher-create,.pp-teacher-manage-item{display:flex;align-items:center;gap:10px;padding:12px}.pp-teacher-create .pp-input,.pp-teacher-manage-item .pp-input{flex:1;min-width:140px}.pp-teacher-profile-card:hover,.pp-teacher-manage-item:hover{box-shadow:0 12px 26px #94a3b81f}.pp-delta-positive{color:#16a34a;font-weight:800}.pp-delta-negative{color:#ef4444;font-weight:800}.pp-ranking-rank{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:14px;font-weight:800;flex-shrink:0}.pp-ranking-rank-1,.pp-ranking-rank-2,.pp-ranking-rank-3{background:transparent;font-size:26px;width:40px;height:40px}.pp-growth-section{display:grid;gap:12px}.pp-growth-list{gap:14px}.pp-growth-item{position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px 16px 20px;border-radius:20px;border:1px solid rgba(228,233,241,.96);background:linear-gradient(180deg,#fffffffa,#f9fbfffa);box-shadow:0 10px 24px #94a3b814}.pp-growth-item:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:999px;background:linear-gradient(180deg,#ff9a3d,#ff7a1a)}.pp-growth-item-image{width:56px;height:56px;flex:0 0 auto;object-fit:contain}.pp-growth-item-copy{min-width:0;display:grid;gap:6px;flex:1}.pp-growth-item strong{font-size:16px}.pp-growth-item span{font-size:14px;font-weight:600}.pp-growth-item small{font-size:14px;color:#94a3b8}.pp-certificate-list-button{margin-left:auto;flex:0 0 auto}.pp-certificate-dialog .pp-dialog-body{gap:16px}.pp-certificate-preview-shell{display:grid;justify-items:center;min-width:0;padding:8px;border-radius:22px;background:linear-gradient(135deg,#f8fafcf5,#fff7ede6);border:1px solid rgba(226,232,240,.95)}.pp-certificate-preview{width:min(100%,720px);aspect-ratio:1120 / 830;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 18px 42px #0f172a2e}.pp-certificate-preview img{width:100%;height:100%;display:block;object-fit:contain}.pp-certificate-loading{color:#64748b;font-size:14px;font-weight:700}.pp-form-field{display:grid;gap:8px}.pp-form-field span,.pp-checkbox{color:#475569;font-size:14px}.pp-manage-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:16px}.pp-manage-create{display:grid;gap:12px}.pp-indicator-shell{border:none;border-radius:22px;background:#f5f2ee;overflow:hidden;height:min(84vh,800px);display:flex;flex-direction:column;box-shadow:inset 0 1px #fff9,0 1px 3px #0000000a}.pp-indicator-dialog{width:min(1040px,calc(100vw - 24px));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);box-shadow:none}.pp-indicator-dialog .pp-dialog-header{padding:16px 20px}.pp-indicator-dialog .pp-dialog-header h3{font-size:21px}.pp-indicator-dialog .pp-dialog-body{padding:0;border-radius:0}.pp-indicator-dialog .pp-dialog-body .pp-indicator-shell{border-radius:0!important}.pp-indicator-dialog .pp-tab-button,.pp-indicator-dialog .pp-primary-button.compact,.pp-indicator-dialog .pp-ghost-button.compact{min-height:32px;padding:0 11px;font-size:14px;font-weight:800}.pp-indicator-dialog .pp-input,.pp-indicator-dialog .pp-select{min-height:36px;font-size:15px}.pp-indicator-dialog .pp-checkbox{min-height:32px;color:#3f382f;font-size:14px;font-weight:700}.pp-indicator-dialog .pp-checkbox input{width:16px;height:16px}.pp-indicator-category-list{display:grid;gap:4px}.pp-indicator-nav{--indicator-accent: #ff7a1a;--indicator-soft: rgba(255, 122, 26, .1);--indicator-contrast: #fff;display:flex;align-items:center;width:100%;min-height:34px;gap:8px;padding:0 10px;border:none;border-radius:10px;background:transparent;text-align:left;color:#8a8078;font-weight:600;font-size:14px;box-shadow:none;transition:all .2s ease}.pp-indicator-nav:hover{background:#fff9;color:#5c524a}.pp-indicator-nav.is-active{background:var(--indicator-accent);color:var(--indicator-contrast);border-color:transparent;box-shadow:0 2px 8px #ff7a1a40}.pp-indicator-nav-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--indicator-soft);color:var(--indicator-accent);font-size:14px;font-weight:800;flex-shrink:0}.pp-indicator-nav-icon.is-active{background:#ffffff38;color:#fff}.pp-indicator-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-indicator-nav svg{flex-shrink:0}.pp-indicator-sidebar-footer{margin-top:auto;display:grid;gap:10px}.pp-indicator-card-actions,.pp-indicator-inline-actions,.pp-indicator-inline-fields{display:flex;align-items:center;gap:7px}.pp-indicator-card-actions{flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}.pp-indicator-dialog .pp-indicator-inline-actions{flex-wrap:wrap}.pp-indicator-create-panel{display:grid;gap:7px;padding:10px;border-radius:12px;background:#fff;border:1px solid #e0dcd7}.pp-indicator-create-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.pp-indicator-dialog .pp-indicator-create-actions .pp-primary-button.compact,.pp-indicator-dialog .pp-indicator-create-actions .pp-ghost-button.compact{min-width:88px;min-height:40px;padding:0 18px;font-size:15px}.pp-metric-form-field{display:grid;gap:8px;min-width:0;padding-bottom:10px;border-bottom:1px solid rgba(160,150,138,.22)}.pp-metric-form-field.is-compact{width:min(100%,144px)}.pp-metric-form-title{color:#83786e;font-size:15px;font-weight:900;line-height:1.2}.pp-metric-form-control{display:block;min-width:0}.pp-metric-form-control>.pp-input,.pp-metric-form-control>.pp-select{width:100%}.pp-icon-picker{display:flex;flex-wrap:wrap;gap:5px}.pp-icon-chip{min-width:32px;height:30px;padding:0 9px;border:none;border-radius:8px;background:#00000008;color:#6b6560;font-weight:800;font-size:14px;transition:all .15s ease}.pp-icon-chip:hover{background:#0000000f}.pp-icon-chip.is-active{border-color:transparent;background:#ff7a1a;color:#fff;box-shadow:0 2px 6px #ff7a1a4d}.pp-indicator-add-dimension{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:12px;background:var(--indicator-accent, #ff7a1a);color:#fff;font-weight:700;font-size:14px;box-shadow:0 2px 8px #ff7a1a33}.pp-indicator-main{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;padding:12px 14px;background:transparent}.pp-indicator-list-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.pp-indicator-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-indicator-meta-row .pp-indicator-role-hint{flex:1 1 auto;min-width:220px}.pp-indicator-meta-row .pp-indicator-list-toolbar{flex:0 0 auto}.pp-indicator-share-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-indicator-share-card{display:grid;gap:8px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#fff8f0f5,#fffffffa);border:1px solid rgba(255,122,26,.16)}.pp-indicator-share-card p{margin:0;color:#7a6d61;font-size:13px;line-height:1.5}.pp-indicator-share-label{color:#9b6b30;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pp-indicator-share-id{display:inline-flex;width:fit-content;max-width:100%;padding:8px 10px;border-radius:10px;background:#2d2520;color:#fff7ef;font-size:13px;font-weight:700;word-break:break-all}.pp-indicator-share-form{display:flex;align-items:center;gap:8px}.pp-indicator-share-form .pp-input{flex:1 1 auto}.pp-indicator-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;min-height:0;flex:1;contain:layout paint}.pp-indicator-root-sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:14px;background:#d9d5cf;padding:8px;contain:strict}.pp-indicator-root-list{display:grid;gap:6px}.pp-indicator-root-nav{--indicator-accent: #ff7a1a;--indicator-soft: rgba(255, 122, 26, .08);--indicator-contrast: #fff;display:flex;align-items:center;width:100%;min-height:58px;gap:9px;padding:8px 10px;border:none;border-radius:12px;background:#ffffffb3;color:#2d2520;text-align:left;transition:background-color .12s ease,color .12s ease}.pp-indicator-root-nav:hover{background:#fff}.pp-indicator-root-nav.is-active{background:var(--indicator-accent);color:var(--indicator-contrast)}.pp-indicator-root-icon{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:var(--indicator-soft);color:var(--indicator-accent);font-size:15px;font-weight:900}.pp-indicator-root-nav.is-active .pp-indicator-root-icon{background:#ffffff38;color:#fff}.pp-indicator-root-copy{display:grid;min-width:0;gap:3px}.pp-indicator-root-copy strong,.pp-indicator-root-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-indicator-root-copy strong{font-size:15px;line-height:1.2}.pp-indicator-root-copy small{color:#83786e;font-size:12px;font-weight:800}.pp-indicator-root-nav.is-active .pp-indicator-root-copy small{color:#ffffffc7}.pp-indicator-detail{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;contain:strict;will-change:scroll-position}.pp-indicator-category-card{--indicator-accent: #ff7a1a;--indicator-soft: rgba(255, 122, 26, .08);--indicator-contrast: #fff;display:flex;height:64px;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:14px;background:#fff;border:none;transition:background-color .12s ease}.pp-indicator-category-card:hover{background:#fff}.pp-indicator-category-card-copy,.pp-indicator-item-copy{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.pp-indicator-category-card-copy>div,.pp-indicator-item-text{min-width:0;display:grid;gap:14px}.pp-indicator-item-summary{min-width:0;display:grid;gap:3px}.pp-indicator-item-summary.hide-title{gap:0;align-content:center}.pp-indicator-category-card-icon,.pp-indicator-item-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--indicator-soft);color:var(--indicator-accent);font-size:14px;font-weight:800;flex-shrink:0}.pp-indicator-category-card-copy strong,.pp-indicator-item-text strong{color:#2d2520;font-size:16px;line-height:1.2}.pp-indicator-category-card-copy small,.pp-indicator-item-text small{color:#83786e;font-size:14px;font-weight:700}.pp-indicator-score.is-positive{color:#2a9d6e}.pp-indicator-score.is-negative{color:#d44040}.pp-indicator-tree-preview{width:44px;height:44px;padding:0;flex-shrink:0;overflow:hidden;border-radius:10px;border:2px solid rgba(0,0,0,.04);background:#f0eeea;cursor:zoom-in;transition:border-color .12s ease}.pp-indicator-tree-preview.hide-title{width:50px;height:50px}.pp-indicator-tree-preview:hover{border-color:#ff7a1a59}.pp-indicator-tree-preview img{width:100%;height:100%;display:block;object-fit:cover}.pp-indicator-image-lightbox{display:grid;place-items:center;min-height:320px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at top,rgba(255,255,255,.4),transparent 40%),#f5f3f0}.pp-indicator-image-lightbox img{width:100%;max-height:min(70vh,700px);display:block;object-fit:contain}.pp-indicator-item-list{display:grid;gap:5px;padding:8px;border-radius:14px;border:none;background:#b6b2ad}.pp-indicator-item-card,.pp-indicator-create-card{--indicator-accent: #ff7a1a;--indicator-soft: rgba(255, 122, 26, .08);--indicator-contrast: #fff;display:grid;gap:14px;padding:8px 10px;border-radius:12px;background:#fff;border:none;border-left:3px solid var(--indicator-accent, #ff7a1a);transition:background-color .12s ease}.pp-indicator-item-card:hover{background:#fff}.pp-indicator-item-card{grid-template-columns:minmax(0,1fr) auto}.pp-indicator-item-card.is-editing{grid-template-columns:1fr}.pp-indicator-item-card.is-group{background:#fdf7f0;border-left-width:4px}.pp-indicator-node-shell{display:grid;gap:3px}.pp-indicator-item-list>.pp-indicator-node-shell{margin-bottom:6px}.pp-indicator-depth-badge{font-size:14px;font-weight:800;color:#948a80;letter-spacing:.02em;flex-shrink:0;align-self:center}.pp-indicator-inline-fields{flex-wrap:wrap;align-items:end;gap:12px}.pp-indicator-inline-fields>.pp-input{max-width:96px}.pp-indicator-dialog .pp-input-sm{width:68px}.pp-eval-limit-fields{display:inline-flex;align-items:center;gap:6px;color:#5f5449;font-size:14px;font-weight:800}.pp-select.compact{height:34px;min-width:72px;border:1px solid rgba(160,150,138,.35);border-radius:10px;background:#fff;color:#342d26;font:inherit;padding:0 8px}.pp-indicator-media-panel{display:grid;gap:7px;margin-top:2px}.pp-indicator-media-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pp-indicator-media-preview,.pp-indicator-media-empty{width:100%;min-height:100px;border-radius:10px;overflow:hidden;border:none;background:#edebe7}.pp-indicator-media-preview img{width:100%;height:100%;display:block;object-fit:cover}.pp-indicator-audio-preview{width:100%;min-height:56px;padding:10px;border-radius:10px;background:#edebe7}.pp-indicator-audio-preview .pp-audio-player{width:100%}.pp-indicator-media-empty{display:grid;place-items:center;color:#b0a89e;font-size:14px;font-weight:700}.pp-file-trigger{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;line-height:1;white-space:nowrap;vertical-align:middle}.pp-file-trigger input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media(max-width:720px){.pp-indicator-share-panel{grid-template-columns:1fr}.pp-indicator-share-form{flex-direction:column;align-items:stretch}}.pp-icon-action{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#b0a89e;transition:all .15s ease}.pp-icon-action svg{width:16px;height:16px}.pp-icon-action.is-placeholder{font-size:14px;font-weight:700;line-height:1}.pp-icon-action:hover{background:#edebe7;color:#6b6560}.pp-indicator-add-trigger{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px dashed rgba(0,0,0,.08);border-radius:12px;background:#f8f6f3;color:#a09890;font-weight:800;font-size:14px;transition:all .2s ease}.pp-indicator-add-trigger:hover{border-color:#ff7a1a4d;background:#fdf7f0;color:#ff7a1a}.pp-indicator-add-trigger span:first-child{color:inherit}.pp-level-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.pp-level-dialog{width:min(1040px,calc(100vw - 24px));background:linear-gradient(90deg,rgba(249,115,22,.05) 1px,transparent 1px),linear-gradient(180deg,#fff7ed,#fff 56%,#fffaf3);background-size:42px 100%,auto}.pp-level-dialog .pp-dialog-header{padding:18px 22px 16px}.pp-level-dialog .pp-dialog-header h3{color:#7c2d12;font-size:22px}.pp-level-dialog .pp-dialog-subtitle{margin-top:4px;color:#9a3412;letter-spacing:0;text-transform:none;font-weight:800}.pp-level-dialog .pp-dialog-body{display:flex;flex:1 1 auto;flex-direction:column;gap:0;min-height:0;overflow:hidden;padding:12px 14px 14px}.pp-level-shell{display:grid;gap:12px;min-height:0;overflow:auto;padding-bottom:100px}.pp-level-dialog .pp-dialog-footer{flex-shrink:0;margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(249,115,22,.16);background:linear-gradient(180deg,#ffffffe0,#fffaf3f5)}.pp-level-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pp-level-summary>div{min-height:74px;padding:12px 14px;border-radius:16px;border:1px solid rgba(249,115,22,.16);background:#ffffffd1;box-shadow:0 10px 24px #9a341214}.pp-level-summary span{display:block;color:#9a3412;font-size:14px;font-weight:900}.pp-level-summary strong{display:block;margin-top:6px;color:#7c2d12;font-size:26px;line-height:1}.pp-starlight-rule{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(190px,240px);align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(56,189,248,.28);background:radial-gradient(circle at 4% 0%,rgba(125,211,252,.34),transparent 34%),linear-gradient(135deg,#f0f9fffa,#ffffffe6);box-shadow:0 14px 28px #0ea5e91a}.pp-starlight-rule-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#38bdf8;background:#fff;border:1px solid rgba(125,211,252,.62);box-shadow:0 0 22px #7dd3fc80}.pp-starlight-rule-icon .pp-token-icon{width:24px;height:24px;filter:drop-shadow(0 0 8px rgba(56,189,248,.72))}.pp-starlight-rule-copy{display:grid;gap:4px;min-width:0}.pp-starlight-rule-copy strong{color:#075985;font-size:17px;line-height:1.1}.pp-starlight-rule-copy span{color:#0369a1;font-size:14px;font-weight:700;line-height:1.35}.pp-starlight-rule .pp-form-field{gap:5px}.pp-starlight-rule .pp-form-field span{color:#0369a1;font-size:14px;font-weight:900}.pp-starlight-rule .pp-input{border-color:#38bdf857;background:#fffffff5}.pp-level-card{--pp-stage-color: #4b5563;--pp-stage-contrast: #ffffff;--pp-stage-border: var(--pp-stage-color);--pp-stage-glow: color-mix(in srgb, var(--pp-stage-color) 22%, transparent);position:relative;overflow:hidden;display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px 10px;align-items:start;padding:10px;border-radius:16px;background:radial-gradient(circle at 92% 0%,var(--pp-stage-glow),transparent 30%),#ffffffeb;border:1px solid var(--pp-stage-border);box-shadow:0 10px 22px var(--pp-stage-glow)}.pp-level-card-head{grid-row:span 3;display:grid;place-items:center;align-content:center;min-height:100%;padding:9px 6px;border-radius:13px;background:var(--pp-stage-color);border:1px solid var(--pp-stage-border)}.pp-level-card-head span{color:var(--pp-stage-contrast);font-size:14px;font-weight:900}.pp-level-card-head strong{color:var(--pp-stage-contrast);font-size:30px;line-height:1}.pp-level-card .pp-form-field{gap:5px}.pp-level-card .pp-form-field span{color:color-mix(in srgb,var(--pp-stage-color) 62%,#25302b);font-size:14px;font-weight:900}.pp-level-card .pp-input{min-height:34px;padding:0 10px;border-radius:10px;background:#fff;font-size:14px}.pp-level-card .pp-input:disabled{color:#a8a29e;background:#fff7ed}.pp-checkbox{display:inline-flex;align-items:center;gap:8px}.pp-text-button{border:0;background:transparent;color:#f97316;font-weight:700;cursor:pointer;transition:opacity .15s ease}.pp-text-button:disabled{opacity:.35;cursor:not-allowed}.pp-text-button.danger{color:#ef4444}.pp-tab-row-tight{margin-top:-8px}.pp-prize-placeholder{font-size:14px}.pp-prize-dialog{width:min(880px,calc(100vw - 24px));background:linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px),linear-gradient(180deg,#f7fbff,#fff 58%,#fffaf4);background-size:42px 100%,auto}.pp-prize-dialog .pp-dialog-header{padding:18px 22px 16px;background:linear-gradient(120deg,rgba(37,99,235,.12),transparent 46%),#ffffffd1}.pp-prize-dialog .pp-dialog-header h3{color:#10213f;font-size:22px}.pp-prize-dialog .pp-dialog-body{gap:12px;padding:12px 14px 14px}.pp-prize-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pp-prize-overview>div{min-height:70px;padding:12px 14px;border-radius:16px;border:1px solid rgba(37,99,235,.12);background:#ffffffd6;box-shadow:0 10px 24px #1e40af12}.pp-prize-overview span{display:block;color:#64748b;font-size:14px;font-weight:900}.pp-prize-overview strong{display:block;margin-top:6px;color:#10213f;font-size:26px;line-height:1}.pp-prize-tabs{padding:4px;border-radius:15px;background:#1e40af0f;gap:4px}.pp-prize-tab{gap:6px;flex:1 1 0;min-height:38px;background:transparent;font-size:14px;font-weight:800}.pp-prize-tabs .pp-prize-tab.is-active{background:#fff;color:#2563eb;box-shadow:0 8px 18px #2563eb1f}.pp-prize-dialog .pp-prize-list,.pp-prize-dialog .pp-record-list{gap:10px;padding:10px;border-radius:20px;border:1px solid rgba(37,99,235,.1);background:#eff6ff94}.pp-prize-dialog .pp-prize-item{position:relative;overflow:hidden;min-height:86px;padding:14px 16px;border-radius:18px;background:radial-gradient(circle at 94% 0%,rgba(251,191,36,.15),transparent 30%),#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #1e40af12}.pp-prize-dialog .pp-prize-item strong{font-size:17px}.pp-prize-dialog .pp-prize-item p{margin:5px 0 0;font-size:14px;line-height:1.45}.pp-prize-dialog .pp-prize-item small{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#b45309;font-size:14px;font-weight:900}.pp-prize-dialog .pp-prize-placeholder{padding:7px 10px;border-radius:999px;background:#64748b1a;color:#64748b;font-weight:800}.pp-prize-manage-shell{display:grid;gap:12px}.pp-prize-manage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-prize-manage-title{display:flex;align-items:center;gap:12px}.pp-prize-manage-title-icon,.pp-prize-manage-card-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:14px;background:#edf4ff;color:#2563eb;flex-shrink:0}.pp-prize-manage-title strong{color:#0f172a;font-size:22px}.pp-prize-manage-add{min-height:34px;padding:0 14px;border:1px solid rgba(191,219,254,.98);border-radius:14px;background:#fff;color:#2563eb;font-size:14px;font-weight:700}.pp-prize-manage-panel{display:grid;gap:12px;padding:12px;border-radius:20px;background:#eff6ffa3;border:1px solid rgba(37,99,235,.1)}.pp-prize-manage-editor,.pp-prize-manage-card{display:grid;gap:10px;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid rgba(228,233,241,.96);box-shadow:0 10px 22px #1e40af12}.pp-prize-manage-fields,.pp-prize-manage-editor-actions,.pp-prize-manage-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pp-prize-manage-list{display:grid;gap:10px;margin-top:14px}.pp-prize-manage-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.pp-prize-manage-card-main{display:flex;align-items:center;gap:14px;min-width:0}.pp-prize-manage-card-copy{min-width:0;display:grid;gap:4px}.pp-prize-manage-card-copy strong{color:#0f172a;font-size:16px}.pp-prize-manage-card-copy p{margin:0;color:#64748b;font-size:14px}.pp-prize-manage-card-copy small{color:#2563eb;font-size:14px;font-weight:700;display:flex;align-items:center}.pp-manage-row{display:grid;grid-template-columns:110px 1fr auto}:root{--admin-surface: rgba(255, 255, 255, .96);--admin-surface-strong: #ffffff;--admin-border: rgba(15, 23, 42, .1);--admin-ink: #0f172a;--admin-muted: #64748b;--admin-faint: #f8fafc;--admin-accent: #b45309;--admin-accent-soft: #0f766e}.admin-shell,.admin-console{min-height:100vh;padding:24px;background:linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(180deg,rgba(148,163,184,.1) 1px,transparent 1px),linear-gradient(180deg,#f8fafc,#eef2f7);background-size:32px 32px,32px 32px,auto;color:var(--admin-ink)}.admin-login-card,.admin-panel,.admin-stat-card{border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:0 18px 48px #0f172a12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-login-card{width:min(920px,calc(100vw - 32px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;border-radius:32px;overflow:hidden}.admin-login-copy{padding:44px;background:linear-gradient(145deg,#0f172aeb,#334155d6),linear-gradient(145deg,#d977061f,#0f766e1a);color:#f8fafc}.admin-login-copy p,.admin-console-header p,.admin-panel-head p,.admin-stat-card p{margin:0;color:var(--admin-muted)}.admin-login-copy p,.admin-login-copy span{color:#f8fafcc7}.admin-login-copy h1,.admin-console-header h1,.admin-panel-head h2{margin:8px 0 0}.admin-login-copy h1{font-size:clamp(36px,6vw,54px);line-height:.96}.admin-login-copy span{display:inline-flex;margin-top:28px;padding:10px 14px;border-radius:999px;border:1px solid rgba(248,250,252,.18);font-size:14px;letter-spacing:.18em;text-transform:uppercase}.admin-login-form{display:grid;gap:16px;padding:40px 36px;align-content:center}.admin-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:14px;align-items:end}.admin-captcha-input{min-width:0}.admin-captcha-card{min-height:84px;border-radius:18px;border:1px solid rgba(148,163,184,.34);background:linear-gradient(180deg,#fffffff5,#f1f5f9f5);display:grid;place-items:center;color:var(--admin-muted)}.admin-captcha-image{display:block;width:132px;height:52px}.admin-console{display:grid;gap:18px}.admin-console-header,.admin-panel-head,.admin-console-actions{display:flex;align-items:center}.admin-console-header,.admin-panel-head{justify-content:space-between;gap:16px}.admin-console-header{padding:22px 26px;border-radius:14px;border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:0 14px 42px #0f172a0f}.admin-console-actions{gap:8px;flex-wrap:wrap}.admin-console-actions span{padding:10px 14px;border-radius:999px;background:#0f172a0f;color:var(--admin-ink);font-size:14px;font-weight:700}.admin-console-content,.admin-overview-grid,.admin-chart-grid{display:grid;gap:18px}.admin-console-content{grid-template-columns:172px minmax(0,1fr);align-items:start}.admin-console-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.admin-console-sections>section{scroll-margin-top:18px}.admin-section-nav{position:sticky;top:18px;display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:14px;border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:0 14px 42px #0f172a0f}.admin-section-nav-link{width:100%;text-align:left;padding:10px 12px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--admin-muted);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-section-nav-link:hover{background:#f1f5f9;color:var(--admin-ink)}.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-chart-section{align-items:stretch}.admin-chart-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 2px 0}.admin-chart-toolbar h2{margin:0}.admin-chart-toolbar p{margin:6px 0 0;color:var(--admin-muted);font-size:14px;font-weight:700}.admin-period-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(226,232,240,.96);border-radius:12px;background:#ffffffd1;box-shadow:0 10px 24px #0f172a0f}.admin-period-tab{min-width:70px;padding:9px 12px;border-radius:9px;background:transparent;color:var(--admin-muted);font-size:13px;font-weight:800}.admin-period-tab.is-active{background:var(--admin-ink);color:#fff;box-shadow:0 8px 18px #0f172a29}.admin-stat-card,.admin-panel{border-radius:14px;padding:24px}.admin-panel{margin-top:14px}.admin-stat-card{padding:14px 16px;border-radius:12px}.admin-stat-card span,.admin-panel-head strong{color:var(--admin-muted);font-size:14px;font-weight:700}.admin-stat-card span{font-size:13px}.admin-stat-card p{margin-top:4px;font-size:12px;line-height:1.45}.admin-panel-tools,.admin-inline-filter{display:flex;align-items:center}.admin-panel-tools{gap:12px;flex-wrap:wrap;justify-content:flex-end}.admin-inline-filter{gap:10px}.admin-inline-filter span{color:var(--admin-muted);font-size:14px;font-weight:700;white-space:nowrap}.admin-inline-filter .field{min-width:144px;padding-top:10px;padding-bottom:10px}.admin-stat-card strong{display:block;margin-top:6px;font-size:clamp(28px,3vw,34px);line-height:1}.admin-chart-frame{overflow:hidden;margin-top:16px;height:272px;border:1px solid rgba(226,232,240,.9);border-radius:10px;background:linear-gradient(180deg,#f8fafcfa,#f1f5f9f0)}.admin-chart-frame .recharts-wrapper,.admin-chart-frame .recharts-surface{outline:none}.admin-chart-frame .recharts-legend-item-text{color:var(--admin-muted)!important}.admin-empty-state,.admin-inline-empty{color:var(--admin-muted)}.admin-empty-state{padding:42px 32px;border-radius:28px;text-align:center}.admin-inline-empty{margin-top:12px;font-size:14px}.admin-parent-core-panel{border-color:#0f766e2e;background:linear-gradient(180deg,#f0fdfaf5,#fffffffa),var(--admin-surface)}.admin-parent-core-panel .admin-panel-head strong{color:#0f766e}.admin-parent-core-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.admin-parent-core-summary span{display:inline-flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:10px;background:#0f766e14;color:#0f766e;font-size:13px;font-weight:700}.admin-parent-core-summary strong{color:var(--admin-ink);font-size:15px}.app-shell-license{padding:8px 12px;border-radius:999px;font-size:14px;font-weight:700}.app-shell-license.is-trial{background:#fbbf2424;color:#92400e}.app-shell-license.is-owned{background:#22c55e24;color:#166534}.student-trial-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 24px 16px;padding:14px 18px;border-radius:18px;border:1px solid rgba(251,191,36,.35);background:#fffbeb;color:#92400e}.student-trial-banner strong,.student-trial-banner span{font-size:14px}.pp-upgrade-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin:0 18px;padding:10px 16px;border-radius:18px;border:1px solid rgba(251,191,36,.42);background:linear-gradient(135deg,#fff8eb,#ffe8d6);position:relative;overflow:hidden}.pp-upgrade-banner:after{content:"";position:absolute;right:-50px;top:-50px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.22),transparent 70%);pointer-events:none}.pp-upgrade-content{min-width:0;display:flex;flex-direction:column;gap:10px;z-index:1}.pp-upgrade-offer{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:15px;color:#7c2d12}.pp-upgrade-gift{display:inline-flex;align-items:center;justify-content:center;color:#16a34a;flex:0 0 auto}.pp-upgrade-offer-text{color:#7c2d12;font-weight:500}.pp-upgrade-off{font-weight:800;color:#16a34a}.pp-upgrade-dot{color:#7c2d1280}.pp-upgrade-social{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#7c2d12}.pp-upgrade-avatars{display:flex}.pp-upgrade-stars{color:#facc15;letter-spacing:1px;font-size:14px;text-shadow:0 1px 0 rgba(0,0,0,.06)}.pp-upgrade-social-text strong{color:#1f2933;font-weight:700}.pp-upgrade-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:none;border-radius:14px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #ea580c47;z-index:1;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;white-space:nowrap}.pp-upgrade-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #ea580c57}.pp-upgrade-cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.pp-upgrade-cta svg{flex-shrink:0}.pp-purchase-shell{display:grid;gap:18px}.pp-purchase-product,.pp-purchase-benefits,.pp-purchase-qrcode{border:1px solid rgba(226,232,240,.95);border-radius:18px;padding:18px;background:#fffffff5}.pp-purchase-product{display:grid;gap:18px}.pp-purchase-product p,.pp-purchase-qrcode-copy p{margin:6px 0 0;color:#64748b;overflow-wrap:anywhere}.pp-purchase-product-head{display:grid;gap:6px}.pp-purchase-product-head strong{font-size:20px;color:#111827}.pp-purchase-product-head span{color:#64748b;font-size:15px;font-weight:700}.pp-purchase-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 14px;border-radius:14px;background:linear-gradient(135deg,#fff7edfa,#fee2e2eb);border:1px solid rgba(251,146,60,.38);color:#9a3412}.pp-purchase-offer strong,.pp-purchase-offer span{font-size:15px;font-weight:900;color:inherit}.pp-purchase-offer span{font-variant-numeric:tabular-nums}.pp-purchase-price{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:8px 0 2px}.pp-purchase-original,.pp-purchase-current{display:grid;gap:5px;min-width:0}.pp-purchase-original{justify-items:end;padding-right:18px;border-right:1px solid rgba(203,213,225,.9)}.pp-purchase-current{justify-items:end}.pp-purchase-price span{font-size:14px;color:#94a3b8;font-weight:800}.pp-purchase-price small{color:#94a3b8;font-size:14px;font-weight:800}.pp-purchase-original strong{color:#94a3b8;font-size:36px;line-height:.95;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#ef4444cc}.pp-purchase-current strong{font-size:54px;line-height:.9;color:#0f172a;letter-spacing:0}.pp-purchase-button{width:100%;min-height:56px;border-radius:18px;font-size:17px;line-height:1;font-weight:900;background:linear-gradient(135deg,#ff9636,#ff6a14 55%,#f45108);box-shadow:0 18px 34px #f9731647}.pp-purchase-benefits ul{margin:10px 0 0;padding-left:18px;color:#475569}.pp-purchase-benefits li+li{margin-top:6px}.pp-purchase-qrcode{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center}.pp-purchase-qrcode-frame{display:grid;place-items:center;min-height:220px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.pp-purchase-qrcode-frame img{width:220px;height:220px;display:block}.pp-purchase-qrcode-copy{display:grid;gap:8px}.pp-purchase-qrcode-copy small{color:#64748b}.admin-table-shell{margin-top:16px;border:1px solid rgba(226,232,240,.95);border-radius:12px;overflow-x:auto;background:var(--admin-surface-strong)}.admin-table{width:100%;border-collapse:collapse;min-width:920px}.admin-table th,.admin-table td{padding:13px 14px;border-bottom:1px solid rgba(226,232,240,.92);text-align:left;font-size:14px;color:#334155;vertical-align:top}.admin-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.admin-table td strong{display:block;color:#0f172a;font-weight:700}.admin-table tbody tr{transition:background .14s ease}.admin-table tbody tr:hover{background:#f8fafc}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table-subtext{margin-top:3px;max-width:220px;color:#64748b;font-size:12px;line-height:1.35}.admin-table-subtext.is-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:210px}.admin-console .ghost-button,.admin-shell .ghost-button,.admin-shell .primary-button{min-height:38px;border-radius:9px;font-weight:700}.admin-console .ghost-button,.admin-shell .ghost-button{border-color:#94a3b847;background:#fff;color:#334155;box-shadow:0 1px 2px #0f172a0a}.admin-console .ghost-button:hover,.admin-shell .ghost-button:hover{background:#f8fafc;border-color:#0f766e4d;box-shadow:0 8px 18px #0f172a14}.admin-console .ghost-button:disabled,.admin-shell .ghost-button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.admin-shell .primary-button{background:linear-gradient(135deg,#0f766e,#0f172a);box-shadow:0 14px 26px #0f766e33}.admin-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}.admin-product-card{display:grid;gap:14px;padding:20px;border-radius:12px;border:1px solid rgba(226,232,240,.95);background:var(--admin-surface-strong);box-shadow:0 10px 28px #0f172a0a}.admin-product-head,.admin-product-foot,.admin-product-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-product-head{align-items:flex-start}.admin-product-head strong{color:#0f172a}.admin-product-head p,.admin-product-head span,.admin-product-message{margin:4px 0 0;color:#64748b;font-size:14px}.admin-product-price-row{align-items:stretch}.admin-product-price-row .stacked-field{flex:1}.admin-product-textarea{min-height:88px;resize:vertical}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#0f172a85;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px}.admin-modal{position:relative;width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;background:#fff;border:1px solid var(--admin-border);border-radius:14px;box-shadow:0 24px 64px #0f172a2e;overflow:hidden}.admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--admin-border);background:#f8fafc;flex-shrink:0}.admin-modal-header h2{margin:0;font-size:18px;font-weight:700;color:var(--admin-ink)}.admin-modal-header p{margin:4px 0 0;font-size:13px;color:var(--admin-muted)}.admin-modal-close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--admin-muted);font-size:18px;cursor:pointer;transition:background .15s,color .15s}.admin-modal-close:hover{background:#0f172a0f;color:var(--admin-ink)}.admin-modal-body{flex:1;overflow-y:auto;padding:22px}.admin-detail-summary{margin-bottom:24px}.admin-detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.admin-detail-stat{display:grid;gap:2px;min-width:0;padding:12px 14px;background:#f8fafc;border:1px solid rgba(226,232,240,.95);border-radius:10px}.admin-detail-stat span{font-size:12px;color:var(--admin-muted)}.admin-detail-stat strong{font-size:14px;font-weight:600;color:var(--admin-ink)}.admin-detail-stat-value.is-truncated{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-detail-timeline-section h3{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--admin-ink)}.admin-timeline{display:flex;flex-direction:column}.admin-timeline-item{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:0 12px;min-height:48px;position:relative}.admin-timeline-dot{grid-row:1;grid-column:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.admin-timeline-icon{font-size:14px;line-height:1}.admin-timeline-line{grid-row:2;grid-column:1;justify-self:center;width:2px;flex:1;min-height:12px;background:var(--admin-border);margin:2px 0}.admin-timeline-content{grid-row:1 / -1;grid-column:2;padding:0 0 16px;min-width:0}.admin-timeline-label{font-size:14px;font-weight:600;color:var(--admin-ink);line-height:1.4}.admin-timeline-time{font-size:12px;color:var(--admin-muted);margin-top:2px}.admin-timeline-details{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:4px;font-size:12px;color:var(--admin-muted)}.admin-timeline-details span{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tm-shell{display:grid;gap:18px;width:100%;max-width:880px;margin:0 auto;padding:24px 24px 60px;box-sizing:border-box;min-height:200px;position:relative}.tm-header{display:grid;gap:4px;padding:22px 26px;border:1px solid rgba(45,64,52,.13);border-radius:18px;background:linear-gradient(135deg,#fff7edeb,#fffffff0 55%,#fee8b899);box-shadow:0 20px 58px #25302b14}.tm-kicker{margin:0 0 4px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.tm-title{margin:0;color:#0f172a;font-size:24px;font-weight:800}.tm-subtitle{margin:2px 0 0;color:#667085;font-size:13px;font-weight:500;line-height:1.5}.tm-create{display:flex;align-items:center;gap:10px}.tm-create-input{flex:1;min-width:140px;height:42px}.tm-create-button{flex-shrink:0;height:42px;min-width:88px}.tm-list{display:grid;gap:10px}.tm-list-title{display:flex;align-items:center;gap:8px;padding:4px 4px 8px;color:#475569;font-size:13px;font-weight:800;letter-spacing:.04em}.tm-list-count{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:800}.tm-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid rgba(45,64,52,.08);box-shadow:0 6px 18px #25302b0a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.tm-item:hover{border-color:#f9731652;box-shadow:0 12px 28px #f973161a;transform:translateY(-1px)}.tm-item-body{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.tm-item-input{flex:1;min-width:140px;height:38px}.tm-item-actions{flex-shrink:0;display:flex;align-items:center;gap:8px}.tm-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(140deg,#fff7ed,#fed7aa);color:#9a3412;font-size:16px;font-weight:800;box-shadow:0 0 0 2px #fff,0 4px 10px #f973162e;flex-shrink:0}.tm-badge{flex-shrink:0;display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:800;border:1px solid rgba(249,115,22,.28)}.tm-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:12px;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;z-index:50;animation:tm-toast-in .25s ease-out}.tm-toast.is-success{background:#2a9d6e;box-shadow:0 4px 14px #2a9d6e4d}.tm-toast.is-danger{background:#d44040;box-shadow:0 4px 14px #d440404d}@keyframes tm-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:960px){.admin-login-card,.admin-chart-grid,.admin-console-content{grid-template-columns:1fr}.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section-nav{position:static;top:auto;flex-direction:row;flex-wrap:wrap}.admin-section-nav-link{width:auto}.admin-chart-toolbar{align-items:flex-start;flex-direction:column}.admin-login-copy,.admin-login-form,.admin-panel,.admin-console-header{padding:24px}.student-trial-banner,.pp-upgrade-banner,.pp-purchase-qrcode{grid-template-columns:1fr;display:grid}.admin-product-price-row,.admin-product-foot{display:grid;grid-template-columns:1fr}.admin-modal{max-width:100%;max-height:95vh}.admin-detail-summary-grid{grid-template-columns:repeat(2,1fr)}.pp-controlbar{grid-template-columns:1fr}.pp-levelup-shell{grid-template-columns:1fr;min-height:auto;padding:28px 20px 24px}.pp-levelup-copy{padding-top:10px}.pp-levelup-summary{grid-template-columns:1fr}.pp-levelup-stage-divider{min-height:24px}.pp-levelup-visual{order:-1;min-height:260px}.pp-levelup-visual:before{width:280px;height:280px}.pp-levelup-badge{top:8px;right:8px;width:66px;height:66px}.pp-levelup-badge strong{font-size:28px}.pp-student-card{grid-template-columns:1fr}.pp-student-card-media{min-height:160px}.pp-manage-layout{grid-template-columns:1fr}.pp-indicator-shell{height:min(86vh,700px);border-radius:18px}.pp-indicator-main{padding:10px}.pp-indicator-workspace{grid-template-columns:180px minmax(0,1fr)}.pp-prize-manage-head,.pp-prize-manage-card{grid-template-columns:1fr}.pp-analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.pp-student-card{width:min(100%,420px);margin-inline:auto}.pp-student-card-media{min-height:210px}.pp-pet-visual,.pp-student-card-image{width:210px;height:210px}.pp-student-card-egg{width:168px;height:168px;font-size:78px}.pp-dialog-backdrop{place-items:center;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.pp-dialog,.pp-dialog-wide{width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);border-radius:22px}.pp-dialog-header{flex-wrap:wrap;align-items:flex-start}.pp-dialog-header,.pp-dialog-body{padding-left:18px;padding-right:18px}.pp-dialog-footer{flex-wrap:wrap-reverse}.pp-dialog-footer>*{flex:1 1 140px}.pp-eval-dialog{min-height:0}.pp-eval-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px}.pp-eval-root-sidebar{height:62px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:6px;border-radius:16px;box-sizing:border-box}.pp-eval-root-list{display:flex;align-items:center;gap:7px;height:100%;width:max-content;min-width:100%}.pp-eval-root-nav{width:auto;min-width:112px;max-width:168px;height:48px;min-height:48px;padding:7px 9px}.pp-eval-root-icon{width:28px;height:28px;border-radius:8px;font-size:13px}.pp-eval-root-copy strong{font-size:14px}.pp-eval-root-copy small{font-size:11px}.pp-eval-list{align-self:stretch;min-height:0}.pp-eval-item{max-height:none;flex-wrap:wrap;align-items:flex-start;gap:10px 12px}.pp-eval-item-main{flex:1 1 220px;flex-wrap:wrap;align-items:center;gap:10px}.pp-eval-item-copy{flex:1 1 150px}.pp-eval-item-copy strong,.pp-eval-group strong{overflow-wrap:anywhere}.pp-eval-item-side{flex:1 1 132px;justify-content:flex-end}.pp-growth-hero,.pp-prize-item,.pp-growth-item,.pp-record-item,.pp-ranking-item,.pp-teacher-create,.pp-teacher-manage-item,.pp-prize-manage-head{flex-direction:column;align-items:stretch}.pp-record-side,.pp-ranking-values,.pp-prize-actions,.pp-prize-manage-card-actions,.pp-growth-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.pp-certificate-list-button{width:100%;margin-left:0}.pp-analytics-summary{grid-template-columns:1fr}.pp-analytics-chart-svg{min-width:620px}.pp-indicator-item-card,.pp-prize-manage-card,.pp-purchase-qrcode{grid-template-columns:1fr}.pp-prize-manage-add{width:100%}.pp-purchase-qrcode-frame img{width:min(220px,100%);height:auto;aspect-ratio:1}}@media(max-width:640px){.admin-shell,.admin-console{padding:12px}.admin-captcha-row,.admin-overview-grid{grid-template-columns:1fr}.app-shell{padding:12px}.modal-card,.modal-card-wide,.student-dialog-card,.student-dialog-card.wide,.pp-dialog,.pp-dialog-wide{border-radius:20px}.modal-card,.modal-card-wide{padding:14px}.pp-pet-picker-layout{grid-template-columns:1fr;gap:16px}.pp-pet-preview-panel{order:-1;position:sticky;top:0;z-index:1}.pp-pet-picker-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.app-shell-header,.pp-controlbar{padding:16px}.pp-card-grid,.pp-level-grid,.pp-batch-list{grid-template-columns:1fr}.pp-level-summary,.pp-prize-overview{grid-template-columns:1fr;gap:8px}.pp-level-summary>div{min-height:62px}.pp-prize-overview>div{min-height:62px}.pp-starlight-rule{grid-template-columns:44px minmax(0,1fr)}.pp-starlight-rule .pp-form-field{grid-column:1 / -1}.pp-level-card{grid-template-columns:58px minmax(0,1fr)}.pp-prize-tabs{overflow-x:auto;flex-wrap:nowrap}.pp-prize-tab{flex:0 0 auto}.pp-pet-grid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(136px,calc(100% - 56px));max-width:100%;align-content:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:4px 4px 10px;scroll-snap-type:x proximity}.pp-pet-card{min-width:0;min-height:100%;scroll-snap-align:start}.student-dialog-body,.pp-dialog-body{padding-bottom:18px}.student-group-list{max-height:none}.student-group-member-chip{width:100%;justify-content:space-between;border-radius:16px}.pp-filter-row{min-width:100%;flex-wrap:wrap}.pp-filter-row .pp-select{width:100%;flex-basis:100%}.pp-dialog{width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.pp-summary-row>.pp-ghost-button,.pp-growth-actions>*,.pp-dialog-footer>*{width:100%}.pp-history-import-grid,.pp-history-import-row{grid-template-columns:1fr}.pp-history-import-row-stats{justify-content:flex-start;max-width:none}.pp-summary-tile{min-width:0}.pp-growth-hero,.pp-pet-preview{padding:16px}.pp-pet-preview-panel img{width:min(100%,148px);height:148px}.pp-growth-hero strong,.pp-pet-preview-copy strong{font-size:20px}.pp-pet-preview-panel .pp-primary-button{width:100%}.pp-record-side,.pp-ranking-values,.pp-prize-actions{justify-content:space-between}.pp-indicator-category-card{height:auto;flex-wrap:wrap;align-items:flex-start}.pp-indicator-workspace{grid-template-columns:1fr}.pp-indicator-root-sidebar{max-height:220px}.pp-indicator-inline-fields>.pp-input,.pp-indicator-inline-fields .pp-metric-form-field{width:100%;max-width:none}.pp-indicator-media-fields{grid-template-columns:1fr}.pp-indicator-create-actions{justify-content:stretch}.pp-indicator-create-actions>*{flex:1}.pp-purchase-offer{align-items:flex-start;flex-direction:column;justify-content:center;gap:4px;padding:10px 14px}.pp-purchase-price{justify-content:space-between;gap:12px}.pp-purchase-original{justify-items:start;padding-right:12px}.pp-purchase-original strong{font-size:28px}.pp-purchase-current strong{font-size:42px}.pp-levelup-backdrop{padding:12px}.pp-levelup-shell{width:100%}}
