@import url("https://fonts.googleapis.com/css2?family=VT323&display=swap");:root{--ink:#172033;--muted:#657089;--line:#dde4ef;--paper:#fff;--card:#fff;--field:#f5f7fb;--gold:#f0b429;--green:#2f9e74;--blue:#3675d8;--red:#d95f4f;--shadow:0 18px 45px rgba(23,32,51,.09)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(135deg,rgba(47,158,116,.12),transparent 34%),linear-gradient(315deg,rgba(240,180,41,.18),transparent 30%),var(--field);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer;font:inherit}[data-protected-asset],canvas,img,picture,svg,video{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-strip a,.button-group a,a.icon-action,a.primary-action,a.secondary-action,button,nav a{transition:transform 90ms ease,box-shadow .12s ease,filter .12s ease,background-color .12s ease,border-color .12s ease}.action-strip a:active,.button-group a:active,a.icon-action:active,a.primary-action:active,a.secondary-action:active,button:active,nav a:active{filter:brightness(.97);transform:translateY(1px) scale(.985)}button:disabled:active{filter:none;transform:none}.app-shell{margin:0 auto;max-width:1120px;min-height:100vh;padding:24px}.loading-overlay{align-items:center;background:rgba(245,247,251,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:90}.loading-card{align-items:center;background:hsla(0,0%,100%,.92);border:1px solid rgba(221,228,239,.92);border-radius:14px;box-shadow:0 20px 52px rgba(23,32,51,.16);display:inline-flex;gap:12px;min-height:58px;padding:14px 18px}.loading-card strong{font-size:.95rem}.loading-spinner{animation:loading-spin .76s linear infinite;border:3px solid rgba(54,117,216,.18);border-top:3px solid var(--blue);border-radius:999px;display:inline-block;height:24px;width:24px}@keyframes loading-spin{to{transform:rotate(1turn)}}.topbar{background:hsla(0,0%,100%,.86);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);gap:20px;justify-content:space-between;padding:14px}.brand,.topbar{align-items:center;display:flex}.brand{gap:12px}.brand-mark{align-items:center;background:var(--ink);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;height:44px;justify-content:center;width:44px}.brand small,.brand strong{display:block}.brand small{color:var(--muted);font-size:.78rem;margin-top:2px}nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.action-strip a,.action-strip button,.button-group a,.button-group button,.icon-action,.inventory-row button,.primary-action,.secondary-action,.shop-footer button,nav a{align-items:center;border-radius:8px;display:inline-flex;font-weight:700;justify-content:center;min-height:40px;padding:0 14px}nav a{background:var(--field);color:var(--muted)}.topbar-demo-button{background:var(--ink);border-radius:8px;color:#fff;font-weight:800;min-height:40px;padding:0 14px}.page{padding:36px 0}.hero-card,.page-heading{align-items:center;display:flex;gap:24px;justify-content:space-between;margin-bottom:22px}.heading-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end}.icon-action{background:hsla(0,0%,100%,.54);border:1px solid rgba(221,228,239,.78);box-shadow:10px 10px 24px rgba(128,139,157,.16),-10px -10px 24px hsla(0,0%,100%,.76);color:var(--ink);flex-direction:column;gap:12px;height:112px;min-width:118px;padding:16px}.icon-action span{align-items:center;background:hsla(0,0%,100%,.66);border:1px solid rgba(101,112,137,.28);border-radius:18px;color:#6f7891;display:inline-flex;font-size:.88rem;font-weight:900;height:48px;justify-content:center;min-width:58px;padding:0 12px}.icon-action strong{color:#4f5d78;font-size:.92rem}.hero-card h1,.page-heading h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin:0}.hero-card p,.page-heading p{color:var(--muted);margin:10px 0 0;max-width:580px}.eyebrow{color:var(--green)!important;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 10px!important;text-transform:uppercase}.primary-action{background:var(--blue);color:#fff;flex:0 0 auto}.secondary-action{background:var(--ink);color:#fff;flex:0 0 auto}.big-link,.class-card,.hero-card,.inventory-row,.panel,.shop-card,.stats-grid article{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel{padding:16px}.inventory-row,.panel-header,.student-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.panel-header{border-bottom:1px solid var(--line);margin-bottom:8px;padding:0 4px 14px}.inventory-row h2,.inventory-row h3,.panel-header h2,.shop-card h2,.shop-card h3,.student-row h3{margin:0}.inventory-row p,.panel-header span,.shop-card p,.student-row p{color:var(--muted)}.student-list{display:grid;grid-gap:10px;gap:10px}.student-row{border-bottom:1px solid var(--line);padding:16px 4px}.selectable-row{display:grid;grid-template-columns:auto minmax(160px,1.1fr) minmax(260px,1.3fr) auto}.selectable-row.selected{background:#f0f7ff;border-radius:8px;padding-left:10px;padding-right:10px}.student-checkbox{align-items:center;display:flex}.student-checkbox input{height:18px;width:18px}.student-row:last-child{border-bottom:0}.student-name,.student-row>div:first-child{min-width:190px}.big-link:hover span,.class-card a:hover,.student-name:hover h3{text-decoration:underline}.stat-group{display:flex;flex-wrap:wrap;gap:8px}.stat-group span{background:var(--field);border-radius:8px;color:var(--ink);font-weight:800;padding:8px 10px}.roster-vitals{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(180px,1fr) auto}.roster-bars,.roster-currency{display:grid;grid-gap:6px;gap:6px}.roster-currency{min-width:92px}.roster-currency span{background:var(--field);border-radius:8px;color:var(--ink);font-weight:900;padding:7px 9px;text-align:right}.button-group{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.button-group button{background:#eaf7f1;color:#187050}.button-group a{background:var(--ink);color:#fff}.action-gold,.bulk-action-bar button.action-gold,.button-group button.action-gold,.teacher-action-grid button.action-gold{background:#fff3c4;border-color:#f4c44f;color:#725100}.action-xp,.bulk-action-bar button.action-xp,.button-group button.action-xp,.teacher-action-grid button.action-xp{background:#e7f0ff;border-color:#a9c7ff;color:#2257a6}.action-damage,.bulk-action-bar button.action-damage,.button-group button.action-damage,.teacher-action-grid button.action-damage{background:#ffe8e5;border-color:#f2aaa2;color:#9a2f24}.action-heal,.bulk-action-bar button.action-heal,.button-group button.action-heal,.teacher-action-grid button.action-heal{background:#e7f8ef;border-color:#a8dfbf;color:#176b45}.action-mana,.teacher-action-grid button.action-mana{background:#eeeaff;border-color:#c4b8ff;color:#4d3ca0}.action-gem,.bulk-action-bar button.action-gem,.button-group button.action-gem,.teacher-action-grid button.action-gem{background:#e0f7f4;border-color:#7dd4cb;color:#0d6b62}.button-stack{display:flex;flex-direction:column;gap:4px}.select-all-label{align-items:center;cursor:pointer;display:flex;gap:10px}.select-all-label h2{margin:0}.wounded-pill{background:#ffe8e5;border:1px solid #f2aaa2;border-radius:999px;color:#9a2f24;font-size:.78rem;font-weight:900;padding:7px 10px;text-transform:uppercase}.wounded-alert,.wounded-hero-banner{background:#fff0ed;border:1px solid #f2aaa2;border-radius:8px;color:#7f261d;display:grid;grid-gap:8px;gap:8px;margin-bottom:12px;padding:14px}.wounded-alert strong{font-size:1.1rem}.wounded-alert p,.wounded-hero-banner p{margin:0}.class-tools{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(260px,340px) 1fr;margin-bottom:16px}.class-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.sound-toggle{align-items:center;background:hsla(0,0%,100%,.78);border:1px solid var(--line);border-radius:999px;cursor:pointer;display:inline-flex;gap:10px;margin-left:auto;min-height:40px;padding:6px 8px 6px 14px}.sound-toggle span{color:var(--muted);font-size:.86rem;font-weight:900}.sound-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#cfd8e6;border-radius:999px;height:24px;transition:background-color .14s ease;width:44px}.sound-toggle input:after{background:#fff;box-shadow:0 3px 8px rgba(23,32,51,.18);height:18px;top:3px;width:18px}.sound-toggle input:checked{background:var(--green)}.sound-toggle input:checked:after{transform:translateX(20px)}.modal-backdrop{align-items:center;background:rgba(23,32,51,.48);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:10}.modal-panel{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 26px 60px rgba(23,32,51,.24),var(--shadow);max-height:min(760px,92vh);max-width:560px;overflow:auto;position:relative;width:min(100%,560px)}.modal-panel .item-form{width:100%}.teacher-action-toast{animation:toast-pop 1.4s ease forwards;background:rgba(24,31,46,.94);border:1px solid hsla(0,0%,100%,.16);border-radius:12px;box-shadow:0 18px 48px rgba(23,32,51,.24);color:#fff;font-weight:900;left:50%;max-width:min(420px,calc(100vw - 28px));padding:14px 18px;position:fixed;text-align:center;top:22px;transform:translateX(-50%);z-index:70}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-10px) scale(.98)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}.single-action-note{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:800;margin:0;padding:12px}.action-warning-note{background:hsla(6,82%,65%,.12);border:1px solid hsla(6,82%,65%,.42);border-radius:8px;color:var(--rpg-text,var(--ink));font-weight:800;line-height:1.35;margin:0;padding:12px}.modal-close{background:var(--ink);border-radius:8px;color:#fff;font-weight:800;min-height:38px;padding:0 12px;position:absolute;right:12px;top:12px;z-index:1}.drawer-backdrop{animation:drawerBackdropFade .16s ease-out;background:rgba(23,32,51,.34);inset:0;position:fixed;z-index:11}.tools-drawer{align-content:start;animation:drawerSlideIn .22s ease-out;background:var(--rpg-panel,#1e212e);border-left:1px solid var(--rpg-line,rgba(214,168,79,.44));box-shadow:-24px 0 64px rgba(0,0,0,.55);display:grid;grid-gap:18px;gap:18px;height:100%;margin-left:auto;max-width:420px;overflow:auto;padding:22px;width:min(92vw,420px)}@keyframes drawerBackdropFade{0%{opacity:0}to{opacity:1}}@keyframes drawerSlideIn{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}.drawer-header{align-items:center;display:flex;justify-content:space-between}.drawer-header h2{color:var(--rpg-text,#f4ead4);margin:0}.drawer-header .eyebrow{color:var(--rpg-gold,#d6a84f)!important}.drawer-header button{background:hsla(0,0%,100%,.08);border:1px solid var(--rpg-line,rgba(214,168,79,.4));border-radius:8px;color:var(--rpg-text,#f4ead4);font-weight:800;min-height:38px;padding:0 12px}.drawer-tool-list{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr)}.drawer-tool-card{background:var(--rpg-panel-raised,#252836);border:1px solid rgba(214,168,79,.15);border-radius:12px;color:var(--rpg-text,#f4ead4);cursor:not-allowed;display:flex;flex-direction:column;gap:0;min-height:0;opacity:.55;overflow:hidden;padding:0;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,opacity .14s ease}.drawer-tool-icon{align-items:center;background:hsla(0,0%,100%,.06);border-bottom:1px solid rgba(214,168,79,.12);color:var(--rpg-muted,#c2b596);display:flex;font-size:2.8rem;font-weight:900;height:90px;justify-content:center;letter-spacing:.04em;width:100%}.drawer-tool-image{height:100px;overflow:hidden;width:100%}.drawer-tool-image img{height:100%;object-fit:cover;object-position:center 35%;width:100%}.drawer-tool-info{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.drawer-tool-card strong{color:var(--rpg-text,#f4ead4);display:block;font-size:.9rem}.drawer-tool-info p{color:var(--rpg-muted,#c2b596);font-size:.78rem;font-weight:700;line-height:1.35;margin:0}.drawer-tool-card small{color:var(--rpg-muted,#c2b596);display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.drawer-tool-ready{border-color:var(--rpg-line,rgba(214,168,79,.44));cursor:pointer;opacity:1}.drawer-tool-ready:hover{border-color:var(--rpg-gold-bright,#f3d179);box-shadow:0 0 0 1px var(--rpg-gold-bright,#f3d179),0 8px 28px rgba(0,0,0,.35)}.drawer-tool-ready small{color:var(--rpg-gold-bright,#f3d179)}.rpg-picker-modal{display:flex;flex-direction:column;gap:14px;max-width:460px;padding:22px 22px 24px;width:min(100%,460px)}.rpg-picker-header h2{margin:0}.rpg-picker-pool-hint{color:var(--rpg-muted,#c2b596);font-size:.82rem;font-weight:800;margin:4px 0 0}.rpg-reel{align-items:center;background:var(--rpg-panel-raised,#252836);border:2px solid rgba(214,168,79,.2);border-radius:12px;display:flex;height:92px;justify-content:center;overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.rpg-reel:after,.rpg-reel:before{content:"";height:28px;left:0;pointer-events:none;position:absolute;right:0;z-index:1}.rpg-reel:before{background:linear-gradient(to bottom,var(--rpg-panel-raised,#252836),transparent);top:0}.rpg-reel:after{background:linear-gradient(to top,var(--rpg-panel-raised,#252836),transparent);bottom:0}.rpg-reel-placeholder{color:var(--rpg-muted,#c2b596);font-size:.88rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rpg-reel-name{color:var(--rpg-text,#f4ead4);font-size:1.65rem;font-weight:900;text-align:center;z-index:0}.rpg-reel--spinning{border-color:rgba(214,168,79,.3)}.rpg-reel--spinning .rpg-reel-name{animation:reel-flicker .1s ease-in-out infinite;color:var(--rpg-muted,#c2b596)}.rpg-reel--result{border-color:var(--rpg-gold-bright,#f3d179);box-shadow:0 0 0 1px var(--rpg-gold-bright,#f3d179),0 4px 22px hsla(43,84%,71%,.14)}.rpg-reel--result .rpg-reel-name{animation:reel-land .38s cubic-bezier(.18,1.5,.4,1) forwards;color:var(--rpg-gold-bright,#f3d179)}@keyframes reel-flicker{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.45;transform:translateY(-3px)}}@keyframes reel-land{0%{opacity:.6;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.rpg-picker-spin-btn{background:linear-gradient(135deg,var(--rpg-gold,#d6a84f),var(--rpg-gold-bright,#f3d179));border-radius:10px;color:#1a1200;font-size:1rem;font-weight:900;letter-spacing:.02em;min-height:52px;width:100%}.rpg-picker-spin-btn:disabled{opacity:.45}.rpg-winner-card{animation:winner-reveal .3s ease-out both;background:var(--rpg-panel-raised,#252836);border:1px solid var(--rpg-line,rgba(214,168,79,.44));border-radius:12px;display:flex;gap:14px;overflow:hidden;padding:14px 16px}@keyframes winner-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rpg-winner-info{display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0}.rpg-winner-identity h3{color:var(--rpg-text,#f4ead4);font-size:1.1rem;margin:0 0 2px}.rpg-winner-identity p{color:var(--rpg-muted,#c2b596);font-size:.82rem;font-weight:800;margin:0}.rpg-winner-bars{display:flex;flex-direction:column;gap:6px}.rpg-winner-bar{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:22px 1fr auto}.rpg-bar-label{color:var(--rpg-muted,#c2b596);font-size:.7rem;font-weight:900;text-transform:uppercase}.rpg-bar-track{background:hsla(0,0%,100%,.1);border-radius:999px;height:8px;overflow:hidden}.rpg-bar-fill{border-radius:999px;height:100%;transition:width .5s ease}.rpg-bar-health{background:var(--rpg-red,#ef6b5b)}.rpg-bar-mana{background:var(--rpg-blue,#6db4ff)}.rpg-bar-val{color:var(--rpg-muted,#c2b596);font-size:.75rem;font-weight:900;min-width:56px;text-align:right}.rpg-winner-currency{display:flex;gap:8px}.rpg-winner-currency span{background:hsla(0,0%,100%,.06);border:1px solid rgba(214,168,79,.18);border-radius:8px;color:var(--rpg-muted,#c2b596);font-size:.8rem;font-weight:900;padding:5px 10px}.rpg-winner-pet{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:80px}.rpg-winner-pet img{image-rendering:pixelated;max-height:80px;max-width:80px;object-fit:contain}.rpg-picker-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,1fr)}.rpg-picker-actions button{font-size:.8rem;min-height:40px;padding:0 6px}.skill-row{align-items:center;background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 140px 110px;min-height:170px;padding:26px}.skill-row .skill-cost{background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:var(--rpg-text,var(--ink));font-weight:700;justify-self:center;padding:10px 16px;white-space:nowrap}.skill-row button{align-items:center;background:var(--green);border-radius:8px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;justify-self:end;min-height:60px;min-width:88px;padding:0 18px}.skill-row button:disabled{background:#d8dee9;color:#697386;cursor:not-allowed}.skill-active{border-color:#2a7a4b!important;box-shadow:0 0 0 2px rgba(42,122,75,.18)!important}.skill-active-badge{background:#d4edda;border-radius:6px;color:#1a5c35;font-size:11px;font-weight:700;padding:2px 8px}.quest-swap-preview{background:rgba(0,0,0,.06);border-left:3px solid var(--gold,#c9a227);border-radius:0 4px 4px 0;font-size:.82rem;margin-top:8px;padding:6px 10px}.quest-swap-preview p{margin:2px 0}.skill-unavailable-hint{color:var(--muted);font-size:.82rem;margin-top:6px}.bulk-action-bar{align-items:center;background:var(--ink);border-radius:8px;box-shadow:var(--shadow);color:#fff;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px;position:-webkit-sticky;position:sticky;top:12px;z-index:2}.bulk-action-bar button{background:hsla(0,0%,100%,.14);border-radius:8px;color:#fff;font-weight:800;min-height:38px;padding:0 12px}.preset-button-row{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.preset-button-row button{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:900;min-height:42px}.preset-button-row button.active{background:var(--ink);color:#fff}.slider-readout{align-items:baseline;background:var(--field);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;justify-content:center;padding:16px}.slider-readout strong{font-size:2.4rem}.slider-readout span{color:var(--muted);font-weight:900}.bar-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,var(--sliderFill) 0,var(--sliderFill) var(--sliderPercent),var(--field) var(--sliderPercent),var(--field) 100%)!important;border:1px solid var(--line)!important;border-radius:999px!important;height:34px;padding:0!important}.bar-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:4px solid var(--sliderFill);border-radius:999px;box-shadow:0 4px 14px rgba(23,32,51,.22);height:38px;width:20px}.bar-slider::-moz-range-thumb{background:#fff;border:4px solid var(--sliderFill);border-radius:999px;box-shadow:0 4px 14px rgba(23,32,51,.22);height:30px;width:14px}.health-slider{--sliderFill:var(--red)}.mana-slider{--sliderFill:var(--blue)}.sort-control{align-items:center;color:var(--muted);display:flex;font-weight:800;gap:8px}.sort-control select{border:1px solid var(--line);color:var(--ink);font:inherit;min-height:38px;padding:6px 10px}.import-preview,.sort-control select{background:var(--field);border-radius:8px}.import-preview{color:var(--muted);display:grid;grid-gap:4px;gap:4px;min-height:58px;padding:10px}.import-preview p{margin:0}.health-preview-list{display:grid;grid-gap:8px;gap:8px}.health-preview-list article{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;padding:12px}.health-preview-list span{color:var(--red);font-weight:900}.class-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{align-items:flex-start;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(280px,420px) auto;margin-bottom:18px}.form-message{background:#fff4d2;border:1px solid #f6d774;border-radius:8px;color:#6d4d00;font-weight:800;margin:0;padding:12px}.demo-note{color:var(--muted);font-weight:800;margin:12px 0 0}.google-action{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;font-weight:900;min-height:46px;padding:0 14px}.google-action span{border-radius:999px;height:28px;width:28px}.auth-divider{color:var(--muted);font-size:.78rem;font-weight:900;gap:10px}.auth-divider:after,.auth-divider:before{background:var(--line)}.teacher-home-layout{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:1.4fr .8fr}.teacher-home-layout .class-grid{grid-template-columns:1fr}.class-card{display:grid;grid-gap:20px;gap:20px;padding:22px}.class-card h2{font-size:1.6rem;margin:0}.class-card p{color:var(--muted);margin:8px 0 0}.hero-card{justify-content:flex-start;padding:28px}.teacher-student-header{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.student-control-identity{align-items:center;display:flex;gap:16px}.student-control-identity h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin:0}.student-control-identity p:not(.eyebrow){color:var(--muted);margin:8px 0 0}.compact-avatar{font-size:1.45rem;height:76px;width:76px}.student-control-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr)}.teacher-actions-panel{grid-column:1;grid-row:1/span 20}.student-control-layout>:not(.teacher-actions-panel){grid-column:2}.teacher-action-grid{display:grid;grid-gap:10px;gap:10px}.teacher-action-grid button{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;grid-gap:2px;gap:2px;grid-template-columns:58px 1fr;min-height:64px;padding:10px;text-align:left}.teacher-action-grid span{align-items:center;background:rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.2);border-radius:8px;display:inline-flex;height:42px;justify-content:center;width:46px}.action-icon{display:block;height:30px;object-fit:contain;width:30px}.teacher-action-grid strong{font-size:1rem}.control-status-bars{display:grid;grid-gap:10px;gap:10px}.control-status-bars .status-bar{box-shadow:none}.control-stat-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.active-skills-panel{padding:0}.active-skills-list{display:flex;flex-wrap:wrap;gap:8px;padding:16px}.active-skill-chip{align-items:center;background:rgba(0,0,0,.06);border-left:3px solid var(--chip-color,#6366f1);border-radius:0 8px 8px 0;display:flex;gap:10px;padding:8px 12px}.active-skill-chip .chip-icon{align-items:center;display:inline-flex;font-size:1.2rem;justify-content:center;line-height:1}.active-skill-chip .chip-icon img{height:22px;image-rendering:pixelated;object-fit:contain;width:22px}.chip-bar-icon{border:2px solid #5aa7ff;border-radius:999px;box-shadow:0 0 0 2px rgba(90,167,255,.16);display:inline-block;height:12px;width:24px}.active-skill-chip div{display:flex;flex-direction:column;gap:1px}.active-skill-chip strong{color:var(--chip-color,#6366f1);font-size:.82rem}.active-skill-chip span{color:var(--muted);font-size:.78rem}.control-field-list article,.control-stat-grid article{background:var(--field);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.control-field-list span,.control-stat-grid span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.control-stat-grid strong{font-size:1.6rem}.control-field-list{display:grid;grid-gap:10px;gap:10px}.control-field-list label{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;font-size:.76rem;font-weight:900;grid-gap:8px;gap:8px;padding:12px;text-transform:uppercase}.control-field-list select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:40px;padding:8px 10px;text-transform:none}.recovery-panel{display:grid;grid-gap:12px;gap:12px}.recovery-choice-list{display:grid;grid-gap:10px;gap:10px}.recovery-choice-list button,.selected-recovery{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;grid-gap:6px;gap:6px;padding:12px;text-align:left}.recovery-choice-list button.selected{background:#e7f0ff;border-color:#a9c7ff}.recovery-choice-list span,.selected-recovery p,.selected-recovery span{color:var(--muted)}.selected-recovery span{font-size:.76rem;font-weight:900;text-transform:uppercase}.login-card{gap:10px}.login-line{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:76px minmax(0,1fr) auto}.login-line small{color:var(--muted);font-weight:800}.login-line strong{overflow-wrap:anywhere}.login-line button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:.82rem;font-weight:800;min-height:34px;padding:0 10px}.inventory-summary-panel .panel-header a{background:var(--ink);border-radius:8px;color:#fff;font-weight:800;min-height:0;min-height:36px;padding:8px 10px}.activity-list,.activity-list article{display:grid;grid-gap:10px;gap:10px}.activity-list article{background:var(--field);border:1px solid var(--line);border-radius:8px;padding:12px;justify-self:start}.activity-list span{color:var(--muted);font-weight:800;margin:0 0 12px}.student-activity-list,.student-activity-list article{display:grid;grid-gap:10px;gap:10px}.student-activity-list article{align-items:start;background:var(--field);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.student-activity-list span{color:var(--muted);display:block;font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.student-activity-list p{color:var(--ink);margin:4px 0 0}.student-activity-list time{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.preview-banner{align-items:center;background:linear-gradient(120deg,rgba(230,143,37,.22),rgba(255,235,196,.7)),hsla(0,0%,100%,.94);border:1px solid #e8b56a;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.preview-banner strong{color:#7d4a09;font-size:.95rem}.xp-bar{grid-column:1/-1;text-align:left;width:100%}.status-xp .status-fill{background:var(--green)}.xp-bar-hint{color:var(--muted);display:block;font-size:.76rem;font-weight:800;margin-top:6px}.progression-modal{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 26px 60px rgba(23,32,51,.24),var(--shadow);max-height:min(88vh,820px);max-width:580px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.progression-header{border-bottom:1px solid var(--line);padding:56px 20px 16px}.progression-header h2{margin:6px 0 4px}.progression-status{color:var(--muted);font-weight:800;margin:0}.progression-list{display:grid;grid-gap:4px;gap:4px;overflow-y:auto;padding:12px 20px 20px}.progression-row{align-items:center;border:1px solid transparent;border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:44px 1fr auto;padding:10px 12px;text-align:left;transition:background 80ms ease}.progression-row-level{align-items:center;display:flex;flex-direction:column;gap:4px}.progression-row-level strong{font-size:1.1rem;line-height:1}.current-pip{background:var(--green);border-radius:999px;display:block;height:6px;width:6px}.progression-row-content{display:grid;grid-gap:2px;gap:2px}.progression-row-content strong{font-size:.95rem}.progression-row-tag{border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.progression-row-arrow{font-size:1rem;font-weight:900}.progression-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.progression-level-card{align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;grid-gap:8px;gap:8px;min-height:140px;padding:16px;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.progression-level-card:hover{transform:translateY(-1px)}.progression-level-card.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(61,137,77,.18),var(--shadow)}.progression-level-card.current{border-color:rgba(34,87,166,.35)}.progression-level-card.locked{opacity:.7}.progression-level{background:var(--field);border-radius:999px;color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.progression-level-card strong{font-size:1rem;line-height:1.2}.progression-level-card small{color:var(--muted);font-weight:800}.progression-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.category-pill{border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.category-pill.skill{background:#e7f0ff;color:#2257a6}.category-pill.equipment{background:#fff3c4;color:#725100}.category-pill.cosmetic{background:#eeeaff;color:#4d3ca0}.category-pill.stat{background:#e7f8ef;color:#176b45}.category-pill.pet{background:#fdecea;color:#9a2f24}.category-pill.gold{background:#fff3c4;color:#725100}.category-pill.capstone{background:#eef1f4;color:#47515f}.progression-class-reward{background:var(--field);border:1px solid var(--line);border-radius:14px;display:grid;grid-gap:8px;gap:8px;padding:14px}.progression-class-reward h3{margin:0}.skill-lock{align-items:center;color:#7a5d21;display:inline-flex;font-weight:900;gap:6px}.target-row{background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer;padding:12px 14px;text-align:left}.target-row.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(61,137,77,.14)}.target-picker-list{display:flex;flex-direction:column;gap:8px}.target-card{align-items:center;background:var(--card);border:1.5px solid var(--line);border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:14px 20px;text-align:left;transition:border-color .12s,box-shadow .12s;width:100%}.target-card:hover{border-color:#b8c7dc}.target-card--selected{border-color:#3d8953;box-shadow:0 0 0 2px rgba(61,137,77,.18)}.target-card--disabled{opacity:.45;pointer-events:none}.target-card-info{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0}.target-card-name{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.target-card-name strong{font-size:14px;font-weight:700}.target-card-name span{color:var(--muted);font-size:12px}.target-wounded-tag{background:#fde8e8;color:#c0392b}.target-shield-tag,.target-wounded-tag{border-radius:6px;font-size:11px!important;font-weight:700!important;padding:1px 7px}.target-shield-tag{background:#eef2ff;color:#6366f1!important}.target-hp-track{background:var(--field);border-radius:999px;height:8px;overflow:hidden}.target-hp-fill{border-radius:999px;height:100%;transition:width .18s ease}.target-hp-label{color:var(--muted);font-size:11px!important;font-weight:600!important}.target-card-check{color:#3d8953;flex-shrink:0;font-size:18px;font-weight:700;width:22px}.progression-row--unlocked{background:hsla(0,0%,100%,.7);border-color:var(--line)}.progression-row--unlocked .progression-row-arrow{color:var(--green)}.progression-row--locked{opacity:.42}.progression-row--locked .progression-row-arrow{color:var(--muted)}.progression-row--current{box-shadow:0 0 0 2px var(--green);opacity:1!important}.level-skill .progression-row-tag{background:#e7f0ff;color:#2257a6}.level-equipment .progression-row-tag{background:#fff3c4;color:#725100}.level-cosmetic .progression-row-tag{background:#eeeaff;color:#4d3ca0}.level-stat .progression-row-tag{background:#e7f8ef;color:#176b45}.level-pet .progression-row-tag{background:#fdecea;color:#9a2f24}.level-gold .progression-row-tag{background:#fff3c4;color:#725100}.level-detail{overflow-y:auto;padding:56px 20px 24px}.level-detail-back{align-self:start;background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:800;justify-self:start;min-height:38px;padding:0 14px}.level-detail-badge{align-items:center;border-radius:12px;display:flex;flex-direction:column;gap:4px;justify-self:start;padding:14px 20px}.level-detail-badge strong{font-size:2.4rem;line-height:1}.level-detail-badge span{font-size:.8rem;font-weight:900;text-transform:uppercase}.level-detail-badge--unlocked{background:#e7f8ef;color:#176b45}.level-detail-badge--locked{background:var(--field);color:var(--muted)}.level-skill .level-detail-badge--unlocked{background:#e7f0ff;color:#2257a6}.level-equipment .level-detail-badge--unlocked{background:#fff3c4;color:#725100}.level-cosmetic .level-detail-badge--unlocked{background:#eeeaff;color:#4d3ca0}.level-stat .level-detail-badge--unlocked{background:#e7f8ef;color:#176b45}.level-pet .level-detail-badge--unlocked{background:#fdecea;color:#9a2f24}.level-gold .level-detail-badge--unlocked{background:#fff3c4;color:#725100}.level-detail-body h2{font-size:1.6rem;margin:4px 0 8px}.level-detail-body p{color:var(--muted);font-weight:800;margin:0}.level-class-rewards{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding-top:12px}.level-class-rewards-label{color:var(--muted)!important;font-size:.82rem!important;font-weight:900!important;text-transform:uppercase}.level-class-reward-row{align-items:flex-start;background:var(--field);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:76px 1fr;padding:10px 12px}.level-class-reward-row--mine{border-color:var(--blue);background:#f0f6ff}.level-class-reward-class{color:var(--muted);font-size:.82rem!important;font-weight:900!important;text-transform:uppercase}.level-class-reward-row strong{display:block;font-size:.95rem}.level-class-reward-row p{color:var(--muted);font-size:.9rem!important;font-weight:700!important;margin:4px 0 0}.prog-page{gap:20px}.prog-header{background:linear-gradient(135deg,#1a1f2e,#2d3450);border-radius:12px;color:#fff;padding:20px 22px 18px}.prog-header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.prog-header-top .eyebrow{color:hsla(0,0%,100%,.55);margin:0 0 2px}.prog-header-top h1{color:#fff;margin:0}.prog-header-top .secondary-action{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.2);color:#fff;flex-shrink:0}.prog-xp-labels{display:flex;justify-content:space-between;margin-bottom:6px}.prog-xp-labels span{color:hsla(0,0%,100%,.6);font-size:.82rem;font-weight:800;text-transform:uppercase}.prog-xp-labels strong{color:#fff;font-size:.82rem}.prog-xp-track{background:hsla(0,0%,100%,.15);border-radius:999px;height:8px;overflow:hidden}.prog-xp-fill{background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:999px;height:100%;transition:width .4s ease}.prog-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,1fr)}@media (max-width:820px){.prog-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:560px){.prog-grid{grid-template-columns:repeat(3,1fr)}}.prog-card{background:var(--card);border:2px solid var(--line);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:0 0 12px;text-align:center;transition:transform .1s,box-shadow .1s;overflow:hidden}.prog-card:hover{transform:translateY(-2px)}.prog-card-top{align-items:center;border-radius:8px 8px 0 0;display:flex;gap:4px;justify-content:space-between;padding:7px 8px 6px}.prog-level-badge{letter-spacing:.03em;text-transform:uppercase}.prog-check,.prog-level-badge{font-size:.72rem;font-weight:900}.prog-check{opacity:.7}.prog-current-pip{background:#fff;border-radius:999px;font-size:.6rem;font-weight:900;letter-spacing:.05em;padding:2px 5px}.prog-card-icon{font-size:1.6rem;line-height:1;margin:4px 0 0}.prog-card-name{color:var(--ink);font-size:.8rem;font-weight:800;line-height:1.25;padding:0 8px}.prog-card-tag{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.prog-locked{opacity:.45}.prog-locked .prog-card-name{color:var(--muted)}.prog-selected{box-shadow:0 0 0 3px currentColor;transform:translateY(-2px)}.prog-current,.prog-selected{opacity:1!important}.prog-current .prog-card-top{animation:prog-pulse 2s ease-in-out infinite}@keyframes prog-pulse{0%,to{opacity:1}50%{opacity:.75}}.cat-equipment .prog-card-top{background:#f59e0b;color:#451a03}.cat-equipment.prog-selected{border-color:#f59e0b;color:#f59e0b}.cat-equipment .prog-current-pip{color:#451a03}.cat-skill .prog-card-top{background:#3b82f6;color:#172554}.cat-skill.prog-selected{border-color:#3b82f6;color:#3b82f6}.cat-skill .prog-current-pip{color:#172554}.cat-stat .prog-card-top{background:#10b981;color:#022c22}.cat-stat.prog-selected{border-color:#10b981;color:#10b981}.cat-stat .prog-current-pip{color:#022c22}.cat-cosmetic .prog-card-top{background:#8b5cf6;color:#1e1b4b}.cat-cosmetic.prog-selected{border-color:#8b5cf6;color:#8b5cf6}.cat-cosmetic .prog-current-pip{color:#1e1b4b}.cat-pet .prog-card-top{background:#14b8a6;color:#042f2e}.cat-pet.prog-selected{border-color:#14b8a6;color:#14b8a6}.cat-pet .prog-current-pip{color:#042f2e}.cat-gold .prog-card-top{background:#eab308;color:#3f1f00}.cat-gold.prog-selected{border-color:#eab308;color:#eab308}.cat-gold .prog-current-pip{color:#3f1f00}.cat-capstone .prog-card-top{background:linear-gradient(90deg,#ec4899,#8b5cf6);color:#fff}.cat-capstone.prog-selected{border-color:#ec4899;color:#ec4899}.cat-capstone .prog-current-pip{color:#4a044e}.prog-detail{align-items:center;background:var(--card);border:2px solid var(--line);border-radius:12px;display:flex;gap:16px;padding:18px 20px;position:relative}.cat-equipment.prog-detail{border-color:#f59e0b;background:#fffbeb}.cat-skill.prog-detail{border-color:#3b82f6;background:#eff6ff}.cat-stat.prog-detail{border-color:#10b981;background:#f0fdf4}.cat-cosmetic.prog-detail{border-color:#8b5cf6;background:#f5f3ff}.cat-pet.prog-detail{border-color:#14b8a6;background:#f0fdfa}.cat-gold.prog-detail{border-color:#eab308;background:#fefce8}.cat-capstone.prog-detail{border-color:#ec4899;background:#fdf2f8}.prog-detail-left{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:6px;text-align:center;width:64px}.prog-detail-icon{font-size:2.4rem;line-height:1}.prog-detail-badge-col{display:flex;flex-direction:column;gap:3px}.prog-detail-level{color:var(--muted)}.prog-detail-level,.prog-detail-status{font-size:.7rem;font-weight:900;text-transform:uppercase}.prog-detail-status{border-radius:999px;padding:2px 7px;white-space:nowrap}.prog-detail-status.unlocked{background:#d1fae5;color:#065f46}.prog-detail-status.locked{background:#f1f5f9;color:#64748b}.prog-detail-body{flex:1 1;min-width:0}.prog-detail-cat{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;margin:0 0 2px;text-transform:uppercase}.prog-detail-name{font-size:1.15rem;margin:0 0 6px}.prog-detail-effect{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.45;margin:0 0 4px}.prog-detail-hint{color:var(--muted);font-size:.78rem;font-weight:800;margin:0}.prog-detail-close{align-items:center;background:rgba(0,0,0,.06);border-radius:999px;color:var(--muted);display:flex;flex-shrink:0;font-size:.9rem;font-weight:900;height:28px;justify-content:center;position:absolute;right:12px;top:12px;width:28px}.prog-hint{color:var(--muted);font-size:.82rem;font-weight:800;margin:0;text-align:center}.prog-modal{overflow:hidden;padding:0}.prog-modal-x{align-items:center;background:rgba(0,0,0,.1);border-radius:999px;color:var(--ink);display:flex;font-size:.85rem;font-weight:900;height:30px;justify-content:center;position:absolute;right:12px;top:12px;width:30px;z-index:1}.prog-modal-banner{align-items:center;display:flex;gap:14px;padding:22px 20px 18px}.cat-equipment .prog-modal-banner{background:#fffbeb;border-bottom:2px solid #f59e0b}.cat-skill .prog-modal-banner{background:#eff6ff;border-bottom:2px solid #3b82f6}.cat-stat .prog-modal-banner{background:#f0fdf4;border-bottom:2px solid #10b981}.cat-cosmetic .prog-modal-banner{background:#f5f3ff;border-bottom:2px solid #8b5cf6}.cat-pet .prog-modal-banner{background:#f0fdfa;border-bottom:2px solid #14b8a6}.cat-gold .prog-modal-banner{background:#fefce8;border-bottom:2px solid #eab308}.cat-capstone .prog-modal-banner{background:linear-gradient(135deg,#fdf2f8,#f5f3ff);border-bottom:2px solid #ec4899}.prog-modal-icon{font-size:2.8rem;flex-shrink:0;line-height:1}.prog-modal-banner-text{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0}.prog-modal-cat{color:var(--muted);display:block;font-size:.72rem;font-weight:900;letter-spacing:.07em;margin-bottom:2px;text-transform:uppercase}.prog-modal-title{font-size:1.3rem;margin:0;line-height:1.2}.prog-modal-body{display:grid;grid-gap:16px;gap:16px;padding:18px 20px 22px}.prog-modal-description{color:var(--ink);font-size:1rem;font-weight:600;line-height:1.5;margin:0}.prog-modal-class-rewards{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-top:14px}.prog-modal-class-label{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;margin:0;text-transform:uppercase}.prog-modal-class-row{align-items:flex-start;background:var(--field);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:80px 1fr;padding:10px 12px}.prog-modal-class-mine{background:#f0f6ff;border-color:var(--blue)}.prog-modal-class-name{color:var(--muted);font-size:.78rem;font-weight:900;padding-top:2px;text-transform:uppercase}.prog-modal-class-mine .prog-modal-class-name{color:var(--blue)}.prog-modal-class-row strong{display:block;font-size:.92rem}.prog-modal-class-row p{color:var(--muted);font-size:.85rem;font-weight:600;margin:3px 0 0}.preview-mode-page .student-hero-stage{border-color:#e8b56a;box-shadow:0 18px 40px rgba(125,74,9,.14),var(--shadow)}.preview-mode-page .student-hero-stage .eyebrow{color:#b66910!important}.preview-mode-page .showcase-label strong{background:#c67619}.activity-list p{color:var(--ink);margin:6px 0 0}.activity-panel .panel-header a{background:var(--ink);border-radius:8px;color:#fff;font-weight:800;min-height:36px;padding:8px 10px}.activity-table{display:grid;grid-gap:10px;gap:10px}.activity-row{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:14px}.activity-row p{color:var(--muted);margin:4px 0 0}.activity-row span{color:var(--muted);flex:0 0 auto;font-size:.82rem;font-weight:900}.preview-link-list{display:flex;flex-wrap:wrap;gap:10px}.preview-link-list a{font-weight:900;min-height:42px;padding:10px 12px}.preview-link-list a,.toggle-row{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink)}.toggle-row{align-items:center;display:flex;font-weight:800;gap:10px;padding:12px;text-transform:none}.toggle-row input{height:18px;width:18px}.item-controls{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px;justify-content:center}.visibility-toggle{background:#e8edf5;border:1px solid #ccd6e5;border-radius:8px;color:#5a667d;font-weight:900;min-height:36px;padding:0 12px}.visibility-toggle.active{background:#c67619;border-color:#e8b56a;color:#fff}.login-table{display:grid;grid-gap:8px;gap:8px}.login-table-row{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:1.2fr 1fr 1fr;min-height:48px;padding:10px 12px}.login-table-head{background:var(--ink);color:#fff;font-size:.78rem;font-weight:900;text-transform:uppercase}.password-cell{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.login-card-grid{display:none;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:16px}.print-login-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;min-height:260px;padding:20px}.print-login-card h2{font-size:1.8rem;margin:0}.print-login-card div{background:var(--field);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.print-login-card span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.student-hero-stage{align-items:flex-start;background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;gap:18px;justify-content:space-between;margin-bottom:16px;padding:28px}.wounded-hero-banner{align-items:stretch;grid-template-columns:1.1fr .9fr}.wounded-hero-banner h1{margin:0}.wounded-hero-banner article{background:hsla(0,0%,100%,.62);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.wounded-hero-banner article span{font-size:.78rem;font-weight:900;text-transform:uppercase}.student-hero-stage h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin:0}.student-hero-stage p{color:var(--muted);margin:10px 0 0}.avatar-pet-row{align-items:flex-end;display:flex;gap:12px}.character-showcase{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.showcase-cols{justify-content:center;margin:0 auto;max-width:980px;height:620px}.showcase-cols,.showcase-hero{display:flex;position:relative}.showcase-hero{flex:1 1;height:100%;max-width:600px;min-width:280px;z-index:1}.customize-hero-btn{background:rgba(20,30,50,.88);border:2px solid rgba(214,168,79,.7);border-radius:24px;color:#f3d179;cursor:pointer;font-size:16px;font-weight:800;left:0;letter-spacing:.03em;padding:12px 32px;position:absolute;right:0;top:50%;margin:-24px auto 0;transition:background .15s,border-color .15s;white-space:nowrap;width:-moz-fit-content;width:fit-content;z-index:10}.customize-hero-btn:hover{background:rgba(20,30,50,.97);border-color:#f3d179;box-shadow:0 0 16px hsla(43,84%,71%,.25)}.creator-overlay{align-items:center;background:rgba(0,0,0,.75);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.creator-modal{background:var(--rpg-panel,rgba(20,30,50,.97));border:1px solid rgba(214,168,79,.4);border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.7);display:grid;grid-template-columns:320px 1fr;height:min(90vh,700px);max-width:900px;overflow:hidden;width:90vw}.creator-preview{background:rgba(0,0,0,.3);border-right:1px solid rgba(214,168,79,.2);display:flex;flex-direction:column;position:relative}.creator-preview-label{color:rgba(214,168,79,.7);font-size:11px;font-weight:700;left:0;letter-spacing:.08em;padding:12px 16px 0;position:absolute;text-transform:uppercase;top:0}.creator-preview .spine-character-viewer{flex:1 1;height:100%}.creator-controls{display:flex;flex-direction:column;overflow:hidden}.creator-progress{display:flex;gap:6px;padding:14px 20px 0}.creator-dot{background:hsla(0,0%,100%,.15);border-radius:50%;height:8px;transition:background .2s;width:8px}.creator-dot-done{background:rgba(214,168,79,.4)}.creator-dot-active{background:#f3d179;box-shadow:0 0 6px hsla(43,84%,71%,.5)}.creator-header{border-bottom:1px solid rgba(214,168,79,.2);color:#fff;padding:12px 20px}.creator-header h2{color:#f3d179;font-size:20px;margin:0 0 2px}.creator-header p{color:hsla(0,0%,100%,.55);font-size:13px;margin:0}.creator-tabs{border-bottom:1px solid rgba(214,168,79,.15);display:flex;gap:4px;padding:10px 16px 0}.creator-tab{background:none;border:none;border-bottom:2px solid transparent;color:hsla(0,0%,100%,.5);cursor:pointer;font-size:13px;font-weight:700;margin-bottom:-1px;padding:6px 14px 8px;transition:color .15s}.creator-tab:hover{color:hsla(0,0%,100%,.85)}.creator-tab-active{border-bottom-color:#f3d179;color:#f3d179}.creator-panel{flex:1 1;overflow-y:auto;padding:14px 16px;scrollbar-width:thin}.creator-section{margin-bottom:20px}.creator-section-title{color:hsla(0,0%,100%,.6);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.creator-option-grid{display:flex;flex-wrap:wrap;gap:6px}.creator-option{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:6px;color:hsla(0,0%,100%,.75);cursor:pointer;font-size:12px;padding:5px 10px;transition:background .12s,border-color .12s,color .12s}.creator-option:hover{background:hsla(0,0%,100%,.12);color:#fff}.creator-option-selected{background:rgba(214,168,79,.18);border-color:rgba(214,168,79,.7);color:#f3d179}.creator-swatch-row{display:flex;flex-wrap:wrap;gap:8px}.creator-swatch{border:2px solid transparent;border-radius:50%;cursor:pointer;height:32px;transition:transform .1s,border-color .12s;width:32px}.creator-swatch:hover{transform:scale(1.15)}.creator-swatch-selected{border-color:#f3d179;box-shadow:0 0 0 2px hsla(43,84%,71%,.35);transform:scale(1.1)}.creator-swatch-custom{align-items:center;background:hsla(0,0%,100%,.08);border:2px dashed hsla(0,0%,100%,.3);cursor:pointer;display:inline-flex;font-size:15px;justify-content:center;position:relative}.creator-footer{border-top:1px solid rgba(214,168,79,.2);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.creator-save-btn{font-size:15px;font-weight:800;padding:10px 28px}.showcase-hero .spine-character-viewer{flex:1 1;height:100%;min-height:0;width:100%}.showcase-pet-col{color:inherit;cursor:pointer;display:grid;flex-shrink:0;grid-gap:12px;gap:12px;margin-left:18px;min-width:0;padding-left:12px;text-decoration:none}.showcase-pet-col:hover .showcase-action{background:#333}.showcase-label{align-items:center;display:flex;justify-content:space-between}.showcase-label span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.showcase-label strong{padding:8px 10px}.showcase-action,.showcase-label strong{background:var(--ink);border-radius:8px;color:#fff}.showcase-action{align-items:center;display:inline-flex;font-weight:800;min-height:38px;padding:0 12px}.spine-character-viewer{align-items:stretch;background:radial-gradient(circle at 50% 96%,rgba(23,32,51,.12),transparent 34%),transparent;border-radius:8px;display:grid;flex:1 1 auto;min-height:620px;overflow:hidden;position:relative;width:100%}@keyframes spine-loading-pulse{0%,to{opacity:.35}50%{opacity:.7}}.spine-character-viewer:not(:has(canvas)){animation:spine-loading-pulse 1.8s ease-in-out infinite;background:hsla(0,0%,100%,.04)!important}.spine-character-viewer p{align-self:center;color:var(--muted);font-weight:800;justify-self:center;margin:0}.spine-character-canvas{display:block;height:100%!important;width:100%!important}.hero-creator-layout{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(420px,1.05fr) minmax(340px,.95fr)}.hero-creator-layout--locked{grid-template-columns:minmax(420px,1fr) minmax(260px,360px)}.hero-closet-preview,.hero-creator-preview{background:hsla(0,0%,100%,.72);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:min(680px,calc(100vh - 220px));overflow:hidden}.hero-closet-preview .spine-character-viewer,.hero-creator-preview .spine-character-viewer{flex:1 1;min-height:0}.hero-creator-controls{display:grid;grid-gap:12px;gap:12px}.creator-step-panel{min-height:min(680px,calc(100vh - 220px))}.creator-step-progress{display:flex;gap:8px}.creator-step-progress button{background:var(--field);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-weight:900;height:34px;width:34px}.creator-step-progress button.active{background:var(--ink);color:#fff}.creator-step-slide{animation:creatorSlideIn .16s ease-out;display:grid;grid-gap:16px;gap:16px}@keyframes creatorSlideIn{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}.creator-step-slide h2{font-size:1.8rem;margin:0}.creator-step-actions{display:flex;gap:10px;justify-content:space-between;margin-top:auto}.creator-step-actions button:disabled{opacity:.45}.creator-control-group{display:grid;grid-gap:14px;gap:14px}.creator-control-group h2{font-size:1.15rem;margin:0;text-transform:capitalize}.creator-part-block{border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;padding-top:12px}.creator-part-block:first-of-type{border-top:0;padding-top:0}.creator-part-block h3{color:var(--muted);font-size:.82rem;font-weight:900;margin:0;text-transform:uppercase}.creator-option-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));max-height:min(360px,calc(100vh - 470px));overflow:auto;padding-right:4px}.creator-option-grid button{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:800;min-height:42px;padding:8px 10px}.creator-option-grid button.active{background:var(--ink);color:#fff}.creator-swatch-grid{display:flex;flex-wrap:wrap;gap:8px}.creator-swatch-grid button{border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px var(--line);height:34px;width:34px}.creator-swatch-grid button.active{box-shadow:0 0 0 3px var(--blue)}.creator-color-block{display:grid;grid-gap:8px;gap:8px}.creator-color-block span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.creator-custom-color{align-items:center;background:linear-gradient(135deg,#f05,#f0c,#4af,#5c5,#fc3);border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px var(--line);cursor:pointer;display:inline-flex;height:34px;justify-content:center;overflow:hidden;width:34px}.creator-custom-color input{cursor:pointer;height:46px;opacity:0;width:46px}.creator-save-action{min-height:54px}.muted-copy{color:var(--muted);font-weight:800}.clothes-panel{grid-template-columns:minmax(360px,1.1fr) minmax(280px,.9fr)}.equipment-area-tabs,.shop-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.equipment-area-tabs button,.shop-tabs button{background:hsla(0,0%,100%,.76);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:900;min-height:44px;padding:0 14px}.equipment-area-tabs button.active,.shop-tabs button.active{background:var(--ink);color:#fff}@keyframes sk-glow-amber{0%,to{box-shadow:0 0 10px rgba(220,130,30,.4),0 0 22px rgba(180,90,10,.2);opacity:.9}50%{box-shadow:0 0 18px rgba(240,160,50,.65),0 0 36px rgba(200,110,20,.35);opacity:1}}@keyframes sk-glow-forge{0%,to{box-shadow:0 0 8px rgba(100,140,220,.35),0 0 18px rgba(60,100,180,.2);opacity:.88}50%{box-shadow:0 0 16px rgba(140,180,255,.55),0 0 30px rgba(80,120,220,.35);opacity:1}}@keyframes sk-glow-moss{0%,to{box-shadow:0 0 8px rgba(40,100,20,.3),0 0 16px rgba(20,70,10,.15);opacity:.88}50%{box-shadow:0 0 14px rgba(55,130,28,.45),0 0 26px rgba(30,90,15,.25);opacity:1}}@keyframes sk-glow-ember{0%,to{box-shadow:0 0 8px rgba(180,90,20,.3),0 0 16px rgba(140,60,10,.15);opacity:.88}50%{box-shadow:0 0 14px rgba(220,120,30,.45),0 0 26px rgba(180,80,15,.25);opacity:1}}.sk-scene{border:1px solid rgba(214,168,79,.4);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,210,80,.08);height:320px;margin-bottom:1.25rem;overflow:hidden;position:relative}.sk-scene:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:250px 250px;content:"";inset:0;mix-blend-mode:overlay;opacity:.055;pointer-events:none;position:absolute;z-index:10}.sk-shelves{bottom:100px;display:flex;flex-direction:column;z-index:1}.sk-shelves,.sk-shelves:before{left:0;position:absolute;right:0;top:0}.sk-shelves:before{background:linear-gradient(180deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.2) 38%,transparent 65%);content:"";pointer-events:none;height:65%;z-index:5}.sk-shelf-row{align-items:flex-end;display:flex;flex:1 1;gap:8px;justify-content:space-evenly;padding:6px 16px 0;position:relative}.sk-shelf-row:after{bottom:0;content:"";height:10px;left:0;position:absolute;right:0}.sk-shelf-row img{filter:drop-shadow(0 4px 5px rgba(0,0,0,.6))}.sk-npc{bottom:0;height:100%;left:0;position:absolute;width:240px;z-index:2}.sk-npc .spine-character-viewer{height:100%;min-height:0}.sk-npc .spine-character-canvas{transform:scaleX(-1)}.sk-counter{bottom:0;height:100px;z-index:3}.sk-counter,.sk-counter:before{left:0;position:absolute;right:0}.sk-counter:before{content:"";height:14px;top:0}.sk-bubble{background:repeating-linear-gradient(0deg,rgba(90,50,10,.035),transparent 3px,transparent 6px),radial-gradient(ellipse at 28% 22%,rgba(255,245,195,.65),transparent 55%),radial-gradient(ellipse at 80% 80%,rgba(160,90,30,.25),transparent 50%),linear-gradient(148deg,#e2c07a,#cfa055 42%,#ba8545);border:2px solid #8a5c24;border-radius:8px;bottom:110px;box-shadow:inset 0 0 0 3px rgba(255,210,100,.18),inset 0 2px 0 rgba(255,235,160,.4),inset 0 -2px 0 rgba(70,35,5,.35),0 6px 20px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.3);font-family:VT323,Courier New,monospace;padding:14px 18px;position:absolute;right:18px;top:18px;width:57%;z-index:4}.sk-bubble:before{border:12px solid transparent;border-right-color:#cfa055;content:"";left:-24px;position:absolute;top:28px;filter:drop-shadow(-3px 2px 3px rgba(0,0,0,.3))}.sk-bubble-corner{color:rgba(100,55,10,.55);font-size:.65rem;line-height:1;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sk-bubble-tl{top:7px;left:9px}.sk-bubble-tr{top:7px;right:9px}.sk-bubble-bl{bottom:7px;left:9px}.sk-bubble-br{bottom:7px;right:9px}.sk-bubble-name{color:#1e0e04;display:block;font-size:1.9rem;letter-spacing:.025em;line-height:1.05;margin-bottom:0;text-shadow:0 1px 0 rgba(255,220,120,.35)}.sk-bubble-role{color:#7a4218;display:block;font-family:VT323,Courier New,monospace;font-size:.95rem;letter-spacing:.08em;margin-bottom:0;text-transform:uppercase}.sk-bubble-divider{background:linear-gradient(90deg,transparent,rgba(100,60,15,.4),rgba(100,60,15,.4),transparent);border:none;display:block;height:1px;margin:8px 0 9px;width:100%}.sk-bubble-quote{color:#2e1608;font-size:1.6rem;line-height:1.45;margin:0}.sk-nameplate{bottom:12px;border-radius:4px;display:flex;flex-direction:column;font-family:VT323,Courier New,monospace;left:10px;padding:5px 12px 7px;position:absolute;width:210px;z-index:5}.sk-nameplate-name{display:block;font-size:1.55rem;line-height:1}.sk-nameplate-role{display:block;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}.sk-scene-class-shop .sk-nameplate{background:linear-gradient(180deg,#1a0e06,#100804);border:1px solid rgba(120,65,15,.5);box-shadow:0 2px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(180,100,30,.1)}.sk-scene-class-shop .sk-nameplate-name{color:#d4882a;text-shadow:0 0 10px rgba(210,130,30,.4)}.sk-scene-class-shop .sk-nameplate-role{color:#8a5c22}.sk-scene-blacksmith .sk-nameplate{background:linear-gradient(180deg,#242432,#18181e);border:1px solid rgba(90,90,130,.45);box-shadow:0 2px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(140,140,200,.08)}.sk-scene-blacksmith .sk-nameplate-name{color:#c8c8e0;text-shadow:0 0 8px rgba(140,160,220,.3)}.sk-scene-blacksmith .sk-nameplate-role{color:#7878a0}.sk-scene-pets .sk-nameplate{background:linear-gradient(180deg,#201408,#140e04);border:1px solid rgba(140,80,20,.45);box-shadow:0 2px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(180,100,30,.1)}.sk-scene-pets .sk-nameplate-name{color:#c87830;text-shadow:0 0 9px rgba(200,110,30,.35)}.sk-scene-pets .sk-nameplate-role{color:#7a5a1e}.sk-armor-thumb{align-items:flex-end;display:flex;flex-shrink:0;height:56px;justify-content:center;width:52px}.sk-armor-thumb img{height:100%;image-rendering:pixelated;object-fit:contain;width:100%}.sk-pet-wrap{align-items:center;background:rgba(0,0,0,.38);border:1px solid rgba(80,180,40,.28);border-radius:5px;display:flex;flex-shrink:0;height:74px;justify-content:center;padding:4px;width:74px}.sk-pet-thumb{height:58px;image-rendering:pixelated;object-fit:contain;width:58px}.sk-scene-class-shop{background:radial-gradient(ellipse at 14% 92%,rgba(255,140,30,.15),transparent 28%),radial-gradient(ellipse at 85% 15%,rgba(70,30,140,.08),transparent 45%),repeating-linear-gradient(90deg,transparent,transparent 42px,rgba(2,0,6,.22) 0,rgba(2,0,6,.22) 44px),repeating-linear-gradient(0deg,rgba(40,20,60,.03),transparent 3px,transparent 9px),linear-gradient(180deg,#07070f,#0c0b18,#12101e)}.sk-scene-class-shop .sk-shelf-row:after{background:repeating-linear-gradient(90deg,transparent,transparent 5px,rgba(4,0,8,.22) 0,rgba(4,0,8,.22) 6px,transparent 0,transparent 14px),linear-gradient(180deg,#6a3e1a 0,#4a2a0e 55%,#2e1808);box-shadow:0 3px 8px rgba(0,0,0,.6),inset 0 1px 0 rgba(140,80,30,.16),inset 0 -1px 0 rgba(0,0,0,.35)}.sk-scene-class-shop .sk-counter{background:repeating-linear-gradient(0deg,transparent,transparent 7px,rgba(2,0,6,.16) 0,rgba(2,0,6,.16) 8px),linear-gradient(180deg,#3a2410 0,#28180a 30%,#160e04);border-top:1px solid rgba(100,60,20,.22)}.sk-scene-class-shop .sk-counter:before{animation:sk-glow-amber 2.8s ease-in-out infinite;background:repeating-linear-gradient(90deg,transparent,transparent 4px,rgba(30,12,2,.22) 0,rgba(30,12,2,.22) 5px,transparent 0,transparent 13px),linear-gradient(90deg,#7a4010,#b06028,#d07838,#b06028,#7a4010)}.sk-scene-blacksmith{background:radial-gradient(ellipse at 16% 95%,rgba(140,180,255,.2),transparent 38%),radial-gradient(ellipse at 8% 65%,rgba(80,120,200,.1),transparent 28%),repeating-linear-gradient(0deg,rgba(4,4,12,.22),rgba(4,4,12,.22) 2px,transparent 0,transparent 30px),repeating-linear-gradient(90deg,rgba(4,4,12,.18),rgba(4,4,12,.18) 2px,transparent 0,transparent 55px),repeating-linear-gradient(135deg,rgba(180,180,210,.03),transparent 6px,transparent 14px),linear-gradient(180deg,#141418,#181a20,#1e2028)}.sk-scene-blacksmith .sk-shelf-row:after{background:repeating-linear-gradient(90deg,rgba(4,4,14,.3),rgba(4,4,14,.3) 2px,transparent 0,transparent 48px),linear-gradient(180deg,#686878 0,#505060 55%,#3a3a48);box-shadow:0 3px 8px rgba(0,0,0,.65),inset 0 1px 0 rgba(200,200,240,.14),inset 0 -1px 0 rgba(0,0,0,.35)}.sk-scene-blacksmith .sk-counter{background:repeating-linear-gradient(0deg,rgba(4,4,14,.2),rgba(4,4,14,.2) 1px,transparent 0,transparent 22px),linear-gradient(180deg,#585868 0,#424252 30%,#2c2c38);border-top:1px solid rgba(100,100,160,.25)}.sk-scene-blacksmith .sk-counter:before{animation:sk-glow-forge 3.2s ease-in-out infinite;background:repeating-linear-gradient(90deg,transparent,transparent 22px,rgba(4,4,16,.3) 0,rgba(4,4,16,.3) 23px,transparent 0,transparent 48px),linear-gradient(90deg,#686888,#9090b8,#b0b0d0,#9090b8,#686888)}.sk-scene-pets{background:radial-gradient(ellipse at 16% 90%,rgba(200,110,25,.2),transparent 35%),radial-gradient(ellipse at 10% 60%,rgba(160,80,15,.1),transparent 28%),repeating-linear-gradient(90deg,transparent,transparent 36px,rgba(5,2,0,.2) 0,rgba(5,2,0,.2) 38px),repeating-linear-gradient(0deg,rgba(100,55,10,.05),transparent 4px,transparent 11px),linear-gradient(180deg,#100c06,#181208,#20160a)}.sk-scene-pets .sk-shelf-row:after{background:repeating-linear-gradient(90deg,transparent,transparent 8px,rgba(5,2,0,.22) 0,rgba(5,2,0,.22) 9px,transparent 0,transparent 22px),linear-gradient(180deg,#7a5228 0,#5c3a18 55%,#3c2410);box-shadow:0 3px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(180,110,40,.16),inset 0 -1px 0 rgba(0,0,0,.3)}.sk-scene-pets .sk-counter{background:repeating-linear-gradient(0deg,transparent,transparent 8px,rgba(5,2,0,.15) 0,rgba(5,2,0,.15) 9px),linear-gradient(180deg,#4a3018 0,#342010 30%,#20140a);border-top:1px solid rgba(140,80,20,.22)}.sk-scene-pets .sk-counter:before{animation:sk-glow-ember 2.8s ease-in-out infinite;background:repeating-linear-gradient(90deg,transparent,transparent 6px,rgba(6,2,0,.22) 0,rgba(6,2,0,.22) 7px,transparent 0,transparent 18px),linear-gradient(90deg,#6e3808,#a05828,#c07030,#a05828,#6e3808)}.sk-scene-pets .sk-pet-wrap{border-color:rgba(160,90,25,.32)}.set-reward-hint{color:var(--gold);font-size:.78rem;line-height:1.25;margin:-.15rem 0 .45rem}.showcase-hero .paper-doll{box-shadow:none;min-height:500px}.showcase-hero .doll-head{height:106px;max-width:132px}.showcase-hero .doll-body{height:160px;max-width:190px}.showcase-hero .doll-arms{height:62px;max-width:310px}.showcase-hero .doll-legs{height:116px;max-width:170px}.showcase-hero .doll-feet{height:54px;max-width:220px}.large-pet-slot{align-content:center;background:linear-gradient(180deg,rgba(240,180,41,.18),rgba(54,117,216,.12)),var(--field);border:1px dashed #b8c2d4;border-radius:8px;display:grid;justify-items:center;min-height:500px;padding:24px;text-align:center}.large-pet-slot .pet-orb{height:156px;width:156px}.large-pet-slot p{color:var(--muted);font-weight:800;max-width:220px}.pet-card,.student-avatar-card{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;justify-items:center;min-width:116px;padding:14px}.pet-card span,.student-avatar-card span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.avatar{background:linear-gradient(135deg,var(--green),var(--blue));border-radius:8px;color:#fff;flex:0 0 auto;height:96px;width:96px}.avatar,.pet-orb{align-items:center;display:flex;font-size:2rem;font-weight:900;justify-content:center}.pet-orb{background:linear-gradient(135deg,#f0b429,#ffec99);border:3px solid #fff;border-radius:999px;color:#6b4d00;height:72px;width:72px}.card-grid,.stats-grid,.status-grid,.two-column{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.status-bar{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px;text-align:left;width:100%}.clickable-status-bar{cursor:pointer}.clickable-status-bar:hover{border-color:#b8c7dc}.compact-status-bar{box-shadow:none;padding:8px}.compact-status-bar .status-bar-header{font-size:.78rem;margin-bottom:6px}.compact-status-bar .status-track{height:10px}.status-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.status-bar-header span{color:var(--muted);font-weight:800}.status-track{background:var(--field);border-radius:999px;height:18px;overflow:hidden}.status-fill{border-radius:999px;height:100%;transition:width .18s ease}.status-health .status-fill{background:var(--red)}.status-mana .status-fill{background:var(--blue)}.status-bar--damage-shield .status-track{border:2px solid #5aa7ff;box-shadow:0 0 0 2px rgba(90,167,255,.16)}.status-shield-badge{align-items:center;display:inline-flex;gap:2px;margin-left:6px;vertical-align:-2px}.status-shield-badge img{height:18px;image-rendering:pixelated;object-fit:contain;width:18px}.status-wound-badge{color:#c9a227;font-size:.85em;font-weight:700}.status-damage-badge{color:#6366f1;font-size:.85em;font-weight:700}.stats-grid article{padding:22px}.disabled-stat{opacity:.45}.disabled-link{opacity:.65}.big-link small,.stats-grid span{color:var(--muted);display:block}.stats-grid strong{display:block;font-size:2.4rem;margin-top:8px}.two-column{margin-top:16px}.action-strip{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.action-strip button:first-child{background:#eaf7f1;color:#187050}.action-strip button:nth-child(2){background:#fff4d2;color:#8a6200}.action-strip button:nth-child(3){background:#fdecec;color:#a73528}.action-strip button:nth-child(4){background:#eaf7f1;color:#187050}.action-strip button:nth-child(5){background:#e9f0ff;color:#2459b8}.action-strip a{background:var(--ink);color:#fff}.big-link{padding:24px}.big-link span{display:block;font-size:1.35rem;font-weight:900;margin-bottom:6px}.card-grid{align-items:stretch}.inventory-section,.shop-section{margin-top:24px;padding:18px 20px}.section-heading{margin-bottom:12px}.section-heading-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.shop-equip-link{align-items:center;background:linear-gradient(180deg,rgba(255,239,193,.08),rgba(0,0,0,.08)),var(--rpg-panel-raised);border:1px solid rgba(255,210,100,.25);border-radius:8px;color:var(--gold,#d4af37);display:inline-flex;flex-shrink:0;font-size:.82rem;font-weight:800;gap:4px;margin-top:4px;padding:8px 14px;text-decoration:none;white-space:nowrap}.shop-equip-link:hover{border-color:rgba(255,210,100,.55);color:#f0d060}.section-heading h2{font-size:1.45rem;margin:0}.section-heading p{color:var(--muted);margin:6px 0 0}.shop-card{display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:22px}.item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;text-transform:capitalize}.item-meta span{background:var(--field);border-radius:8px;color:var(--muted);font-size:.78rem;font-weight:800;padding:6px 8px}.shop-footer{align-items:center;display:flex;justify-content:space-between;margin-top:28px}.shop-footer strong{color:#8a6200}.inventory-row button,.shop-footer button{background:var(--green);color:#fff}.inventory-row button:disabled,.shop-footer button:disabled{background:#d8dee9;color:#697386;cursor:not-allowed}.blacksmith-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:4px}.blacksmith-controls .equipment-area-tabs{flex:1 1;flex-wrap:wrap;margin-bottom:0}.equipment-area-tabs button:has(.slot-tab-icon){align-items:center;display:flex;justify-content:center;min-height:52px;min-width:52px;padding:6px}.slot-tab-icon{display:block;filter:brightness(0) invert(.65) sepia(.55);height:28px;object-fit:contain;pointer-events:none;width:28px}.equipment-area-tabs button.active .slot-tab-icon{filter:brightness(0) invert(.9) sepia(.25)}.selectable-row .button-group button{min-width:96px}.blacksmith-sort-select{flex-shrink:0;font-size:.85rem;padding:6px 10px}.blacksmith-item-card{align-items:center;background:hsla(0,0%,100%,.92);border:2px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;padding:12px 10px;text-align:center;transition:border-color .12s,box-shadow .12s}.blacksmith-item-image{align-items:center;display:flex;height:72px;justify-content:center;width:72px}.blacksmith-item-card.set-piece{background:linear-gradient(90deg,rgba(240,180,41,.22) 0 5px,transparent 5px),hsla(0,0%,100%,.95);border-color:#e8c66d}.blacksmith-item-card.selected,.blacksmith-item-card:hover{border-color:var(--accent,#5c6bc0)}.blacksmith-item-card.selected{box-shadow:0 0 0 3px rgba(92,107,192,.18)}.blacksmith-item-card.set-piece.selected,.blacksmith-item-card.set-piece:hover{border-color:#c99722;box-shadow:0 0 0 3px rgba(240,180,41,.18),var(--shadow)}.blacksmith-item-card.owned{opacity:.55}.blacksmith-item-card h3{font-size:.92rem;margin:0}.set-tag{color:#8a6200;font-size:.72rem;font-weight:800;text-transform:uppercase}.blacksmith-card-footer{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:4px;width:100%}.blacksmith-card-footer button{background:#fff0b8;border-radius:8px;border:1.5px solid #e8c66d;color:#7a5800;cursor:pointer;font-size:.82rem;font-weight:700;padding:4px 10px}.blacksmith-card-footer button:hover:not(:disabled){background:#ffe080}.blacksmith-card-footer button:disabled{opacity:.45;cursor:default}.owned-check{color:var(--green)!important;font-size:.9rem!important}.blacksmith-preview-panel{align-items:center;background:linear-gradient(145deg,hsla(0,0%,100%,.84),rgba(241,246,250,.76));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(221,228,239,.78);border-radius:12px;box-shadow:0 14px 32px rgba(23,32,51,.12);display:grid;grid-gap:10px 12px;gap:10px 12px;grid-template-columns:68px minmax(0,1fr);margin:0 auto 16px;max-width:390px;min-height:0;overflow:hidden;padding:12px;position:-webkit-sticky;position:sticky;top:64px;width:min(390px,100%);z-index:10}.blacksmith-preview-panel.set-preview{border-color:#e8c66d;box-shadow:0 14px 32px rgba(138,98,0,.14)}.blacksmith-preview-image{align-items:center;background:radial-gradient(circle at 50% 42%,hsla(0,0%,100%,.94),rgba(235,240,247,.82));border:1px solid rgba(205,216,231,.95);border-radius:8px;display:flex;flex-shrink:0;grid-column:1;grid-row:1/3;height:62px;justify-content:center;overflow:hidden;width:62px}.blacksmith-preview-info{display:flex;flex-direction:column;gap:2px;grid-column:2;min-width:0}.blacksmith-preview-info h3{font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blacksmith-preview-actions{align-items:center;display:flex;flex-shrink:0;gap:7px;grid-column:2;justify-self:start}.blacksmith-preview-actions .gold-label{background:#fff0b8;border-radius:7px;color:#8a6200;font-size:.86rem;padding:6px 9px;white-space:nowrap}.blacksmith-preview-actions button{background:var(--green);border-radius:7px;color:#fff;font-weight:700;min-height:34px;padding:7px 13px}.owned-badge{background:var(--field);border-radius:8px;font-weight:800;padding:8px 14px}.cant-afford,.owned-badge{color:var(--muted);font-size:.85rem}.cant-afford{font-weight:700}.discount-notice{color:#c9a227;font-size:.85rem;font-weight:700;margin-top:4px}.original-price{color:var(--muted);font-size:.9em;text-decoration:line-through}.sale-price{color:#c9a227;font-weight:800}.blacksmith-preview-hint{color:var(--muted);font-size:.9rem;grid-column:1/-1;margin:0;text-align:center;width:100%}.inventory-list{display:grid;grid-gap:12px;gap:12px}.manager-layout{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(280px,380px) 1fr}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.settings-tabs button{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:800;min-height:42px;padding:0 14px}.settings-tabs button.active{background:var(--ink);color:#fff}.settings-panel{display:grid;grid-gap:16px;gap:16px}.settings-readout{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-readout article{background:var(--field);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:16px}.settings-form-grid label{color:var(--ink);display:grid;font-weight:800;grid-gap:6px;gap:6px}.settings-form-grid input,.settings-form-grid select{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:40px;padding:8px 12px;width:100%}.settings-readout span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.demo-notice{background:rgba(247,201,72,.15);border:1.5px solid rgba(247,201,72,.5);border-radius:8px;color:#7a5a00;font-size:.9rem;line-height:1.5;margin-bottom:4px;padding:10px 14px}.demo-notice strong{display:block;font-weight:800;margin-bottom:2px}.item-form{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;padding:18px}.item-form fieldset,.item-form label{border:0;color:var(--ink);display:grid;font-weight:800;grid-gap:8px;gap:8px;margin:0;padding:0}.compact-select,.item-form input,.item-form select,.item-form textarea{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:10px 12px;width:100%}.compact-select{max-width:180px}.muted-row{opacity:.68}.item-form textarea{resize:vertical}.item-form legend{font-weight:800;margin-bottom:8px}.icon-picker{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.icon-option{align-items:center;background:var(--field);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid!important;grid-gap:4px!important;gap:4px!important;justify-items:center;min-height:72px;padding:8px!important}.icon-option input{height:14px;min-height:14px;width:14px}.icon-option span{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;height:28px;justify-content:center;width:28px}.icon-option small{color:var(--muted);font-size:.68rem}.student-gear-preview{margin-top:24px;max-width:360px}.paper-doll-panel{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:300px 1fr;margin-bottom:24px}.empty-state,.paper-doll,.slot-card{background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.paper-doll{display:grid;grid-gap:8px;gap:8px;min-height:420px;padding:18px;place-items:center}.paper-doll>div{align-items:center;border:2px solid rgba(23,32,51,.12);color:var(--ink);display:flex;font-size:.72rem;font-weight:800;justify-content:center;line-height:1.2;padding:8px;text-align:center;width:100%}.paper-doll span{background:hsla(0,0%,100%,.82);border-radius:8px;padding:5px 8px}.doll-head{background:#ffd8a8;border-radius:999px;height:78px;max-width:96px}.doll-body{background:#9fd3c7;border-radius:20px 20px 8px 8px;height:120px;max-width:150px}.doll-arms{background:#d5e8ff;border-radius:999px;height:48px;max-width:240px}.doll-legs{background:#ced4da;border-radius:8px;height:82px;max-width:132px}.doll-feet{background:#495057;border-radius:999px;color:#fff!important;height:42px;max-width:170px}.clothes-layout{display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr 380px;align-items:start}.clothes-preview-sticky{position:-webkit-sticky;position:sticky;top:16px}.clothes-preview-sticky .hero-closet-preview{height:560px}.clothes-items-col{display:flex;flex-direction:column;gap:16px}.clothes-items-col .inventory-section{margin-top:0}.clothes-slots-panel{padding:12px 14px}.equipment-slots-compact{display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr}.slot-card--compact{min-height:unset!important;padding:8px 10px!important;gap:10px!important}.slot-card-empty-preview--compact{height:48px!important;width:48px!important}.equipment-slots{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}.slot-card{align-items:center;display:flex;gap:12px;min-height:96px;padding:12px}.slot-card-preview{border-radius:6px;flex-shrink:0;overflow:hidden}.slot-card-empty-preview{background:var(--field);border:1px dashed var(--line);border-radius:6px;height:72px;width:72px}.slot-card-info{display:flex;flex-direction:column;gap:4px}.slot-card-info span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.slot-card-info strong{font-size:.92rem}.spine-item-preview{display:block;overflow:hidden}.spine-item-preview canvas{display:block}.wearing-badge{background:var(--green)!important;border-radius:8px;color:#fff!important;font-size:.82rem;font-weight:800!important;padding:9px 14px!important}.inventory-row{padding:18px}.inventory-row span{background:var(--field);border-radius:8px;font-weight:800;padding:9px 12px}.empty-state{color:var(--muted);font-weight:800;padding:18px}@media (max-width:820px){.inventory-row,.page-heading,.student-row,.topbar{align-items:stretch;flex-direction:column}.button-group,nav{justify-content:flex-start}.card-grid,.class-grid,.class-tools,.clothes-layout,.equipment-slots,.hero-creator-layout,.manager-layout,.paper-doll-panel,.settings-readout,.stats-grid,.status-grid,.student-control-layout,.teacher-home-layout,.two-column{grid-template-columns:1fr}.clothes-preview-sticky{position:static}.clothes-preview-sticky .hero-closet-preview{height:380px}.selectable-row{grid-template-columns:auto 1fr}.selectable-row .button-group,.selectable-row .roster-vitals,.selectable-row .stat-group{grid-column:1/-1}.roster-vitals{grid-template-columns:1fr}.roster-currency{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-row{grid-template-columns:1fr}.skill-row .skill-cost,.skill-row button{justify-self:start}}@media (max-width:520px){.app-shell{padding:14px}.hero-card{align-items:flex-start;flex-direction:column}.student-hero-stage{align-items:stretch}.avatar-pet-row{justify-content:flex-start}.student-gear-preview{max-width:none}.hero-card h1,.page-heading h1{font-size:2.25rem}.student-control-identity,.teacher-student-header{align-items:flex-start;flex-direction:column}.control-stat-grid,.login-table-row,.wounded-hero-banner{grid-template-columns:1fr}}@media print{body{background:#fff}.app-shell{max-width:none;padding:0}.no-print,.topbar{display:none!important}.page{padding:0}.panel,.print-login-card{box-shadow:none}.login-print-mode-sheet .login-card-grid{display:none}.login-print-mode-sheet .login-sheet{border:0;display:block;padding:0}.login-print-mode-cards .login-sheet{display:none}.login-print-mode-cards .login-card-grid{display:grid;grid-template-columns:1fr;margin:0}.login-print-mode-cards .print-login-card{page-break-after:always;break-after:page;min-height:92vh}}.inventory-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.inventory-tabs button{background:hsla(0,0%,100%,.76);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:900;min-height:44px;padding:0 16px}.inventory-tabs button.active{background:var(--ink);color:#fff}.inventory-row button.use-button{background:#e7f0ff;color:#2257a6}.inventory-row button.use-button:hover{background:#cce0ff}.item-effect{color:var(--muted);font-size:.88rem;font-weight:700;margin:4px 0 0}.item-quantity{background:var(--ink)!important;border-radius:8px!important;color:#fff!important;font-size:.78rem!important;font-weight:900!important;padding:3px 8px!important}.student-currency{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.gold-label{background:#fff4c2;color:#7a5200}.gems-label,.gold-label{border-radius:8px;font-size:.9rem;font-weight:900;padding:5px 12px}.gems-label{background:#f0eaff;color:#4d2fa0}.pets-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.pet-card{align-items:center;background:hsla(0,0%,100%,.92);border:2px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:default;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center}.pet-card.owned{border-color:var(--green)}.pet-card h3{font-size:.92rem;margin:0}.pet-card-image{align-items:center;background:radial-gradient(ellipse at 50% 60%,hsla(0,0%,100%,.18) 0,transparent 72%),hsla(0,0%,100%,.06);border-radius:8px;display:flex;height:150px;justify-content:center;width:150px}.pet-card-image .item-image-placeholder,.pet-inventory-preview .item-image-placeholder{height:56px;width:56px}.pet-card-footer{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:4px}.pet-card-footer button{background:#f0eaff;border-radius:8px;color:#4d2fa0;font-weight:800;padding:8px 16px}.pet-card-footer button:hover{background:#ddd0ff}.item-image{display:block;image-rendering:pixelated}.item-image-placeholder{border:1px dashed var(--line)}.loading-hint{color:var(--muted);font-weight:800}.page-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:40vh;opacity:.7}.page-loading p{color:var(--muted);font-size:.95rem;font-weight:600}.loading-spinner{animation:spin .75s linear infinite;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold,#c9a227);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.showcase-pet--link{color:inherit;cursor:pointer;text-decoration:none}.showcase-pet--link:hover{border-color:var(--ink)}.pet-slots-display{align-content:center;gap:12px;height:100%;justify-content:center}.pet-slot-card,.pet-slots-display{display:flex;flex-direction:column}.pet-slot-card{align-items:center;border-radius:12px;gap:8px;min-height:160px;padding:16px;text-align:center}.pet-slot-card--filled{background:linear-gradient(180deg,rgba(77,47,160,.08),rgba(77,47,160,.04));border:2px solid rgba(77,47,160,.25)}.pet-slot-card--empty{background:linear-gradient(180deg,rgba(240,180,41,.12),rgba(54,117,216,.08));border:2px dashed var(--line)}.pet-slot-name{color:var(--ink);font-size:.9rem;font-weight:900}.pet-slot-empty-label{color:var(--muted);font-size:.82rem;font-weight:800}.pet-inventory-row{align-items:center;gap:12px}.pet-inventory-preview{flex-shrink:0}.pet-inventory-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.pet-inventory-info h3{margin:0}.inline-link{color:var(--ink);font-weight:900;text-decoration:underline}.item-image-placeholder{align-items:center;background:var(--field);border:1.5px dashed var(--line);border-radius:6px;color:var(--muted);display:flex;font-size:1.1rem;justify-content:center;opacity:.6}.item-image-placeholder:after{content:"?";font-weight:900}.pet-companions{align-content:center;align-items:center;display:flex;flex-direction:column;flex:1 1;gap:12px;justify-content:center}.pet-companion-card{align-items:center;display:flex;flex-direction:column;gap:6px}.pet-companion-name{display:none}.pet-companions-empty{align-items:center;display:flex;flex-direction:column;gap:10px}.pet-companions-empty span{color:var(--muted);font-size:.82rem;font-weight:800;text-align:center}.armor-sets-list{display:flex;flex-direction:column;gap:10px}.armor-set-card{align-items:center;background:var(--card);border:2px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;padding:14px 16px;gap:12px}.armor-set-card.armor-locked{opacity:.55}.armor-set-card.armor-owned{border-color:var(--green);background:#f0faf5}.armor-set-left{align-items:center;display:flex;gap:14px}.armor-set-level{background:var(--ink);border-radius:8px;color:#fff;font-size:.72rem;font-weight:700;min-width:40px;padding:4px 8px;text-align:center}.armor-unlocked .armor-set-level{background:var(--green)}.armor-set-card h3{font-size:1rem;font-weight:700;margin:0 0 2px}.armor-lock-hint{color:var(--muted);font-size:.78rem;margin:0}.armor-set-right{align-items:center;display:flex;gap:10px;flex-shrink:0}.armor-set-cost{color:var(--muted);font-size:.85rem;font-weight:600}.armor-lock-badge{color:var(--muted);font-size:.82rem}.currency-strip{display:flex;gap:12px;padding:14px 18px;background:var(--card);border-radius:14px;box-shadow:var(--shadow)}.currency-strip-item{display:flex;align-items:center;gap:10px}.currency-strip-item span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.currency-strip-item strong{font-size:1.35rem;font-weight:700}.currency-strip-item+.currency-strip-item{padding-left:12px;border-left:1px solid var(--line)}.gems-stat{color:#0d6b62}.showcase-pet-slot{align-items:center;bottom:var(--ground-pad,16px);color:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;text-decoration:none;width:200px;z-index:2}.showcase-pet-left{left:0}.showcase-pet-right{right:0}.showcase-pet-slot:hover .pet-companion-name{text-decoration:underline}.showcase-footer{align-items:center;display:flex;justify-content:flex-end;margin-top:8px;padding-top:6px}.change-bg-btn{background:rgba(0,0,0,.36);border:1px solid hsla(0,0%,100%,.22);border-radius:6px;color:hsla(0,0%,100%,.88);cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase}.change-bg-btn:hover{background:rgba(0,0,0,.55)}.bg-picker-modal{max-height:80vh;overflow-y:auto;padding:24px;width:min(560px,95vw)}.bg-picker-title{font-size:1.2rem;margin:0 0 16px}.bg-picker-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.bg-picker-thumb{background:rgba(0,0,0,.18);border:2px solid transparent;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:0;transition:border-color .12s}.bg-picker-thumb img{display:block;height:80px;object-fit:cover;width:100%}.bg-picker-thumb span{font-size:.72rem;font-weight:700;padding:4px 6px;text-align:center;text-transform:uppercase}.bg-picker-thumb.active,.bg-picker-thumb:hover{border-color:var(--gold,#f0b429)}.bg-picker-none{align-items:center;height:80px;justify-content:center;min-height:80px}.bg-picker-none span{font-size:.85rem;padding:0}.character-showcase.has-bg{background-color:#10100e!important;background-image:var(--bg-url)!important;background-size:cover!important;background-position:bottom!important;background-repeat:no-repeat!important}.character-showcase.has-bg .showcase-hero,.character-showcase.has-bg .spine-character-viewer{background:none!important}@media (max-width:700px){.showcase-cols{flex-direction:column}.showcase-pet-col{padding-left:0;padding-top:18px;width:auto}}:root{--rpg-bg:#111722;--rpg-bg-2:#1b2430;--rpg-panel:rgba(34,31,28,.94);--rpg-panel-soft:rgba(43,40,36,.88);--rpg-panel-raised:rgba(53,47,39,.94);--rpg-text:#f4ead4;--rpg-cream:#fff2c4;--rpg-muted:#c2b596;--rpg-gold:#d6a84f;--rpg-gold-bright:#f3d179;--rpg-green:#62c274;--rpg-blue:#6db4ff;--rpg-red:#ef6b5b;--rpg-line:rgba(214,168,79,.44);--rpg-inner-line:rgba(255,239,193,.12);--rpg-shadow:0 18px 42px rgba(0,0,0,.34)}body{background:linear-gradient(135deg,rgba(214,168,79,.08),transparent 28%),linear-gradient(315deg,rgba(82,118,135,.13),transparent 32%),radial-gradient(circle at 50% 0,hsla(0,0%,100%,.05),transparent 35%),repeating-linear-gradient(0deg,hsla(0,0%,100%,.018) 0 1px,transparent 1px 5px),var(--rpg-bg)}.app-shell,body{color:var(--rpg-text)}.activity-list article,.activity-row,.armor-set-card,.big-link,.blacksmith-item-card,.blacksmith-preview-panel,.character-showcase,.currency-strip,.drawer-tool-card,.hero-card,.inventory-row,.inventory-section,.level-class-reward-row,.login-card,.login-table-row,.modal-panel,.page-heading,.panel,.paper-doll-panel,.pet-card,.print-login-card,.progression-class-reward,.progression-level-card,.selected-recovery,.shop-card,.shop-section,.skill-row,.slot-card,.status-bar,.student-hero-stage,.student-row,.target-row,.teacher-student-header,.tools-drawer,.topbar,.wounded-alert,.wounded-hero-banner{background:linear-gradient(180deg,rgba(255,239,193,.055),rgba(0,0,0,.04)),var(--rpg-panel);border:1px solid var(--rpg-line);border-radius:4px;box-shadow:inset 0 0 0 1px var(--rpg-inner-line),var(--rpg-shadow);color:var(--rpg-text)}.page-heading,.student-hero-stage,.teacher-student-header,.topbar{background:linear-gradient(90deg,rgba(214,168,79,.14),transparent 58%),var(--rpg-panel-soft)}.action-strip a,.armor-set-level,.avatar,.brand-mark,.drawer-header button,.equipment-area-tabs button.active,.inventory-tabs button.active,.modal-close,.preset-button-row button.active,.primary-action,.settings-tabs button.active,.shop-tabs button.active,.topbar-demo-button,nav a.active{background:linear-gradient(180deg,rgba(255,232,167,.18),rgba(0,0,0,.12)),#6d4f1e;border:1px solid var(--rpg-gold);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1),0 8px 18px rgba(0,0,0,.24);color:#fff5d8}.bulk-action-bar button,.button-group a,.button-group button,.class-toolbar a,.class-toolbar button,.drawer-tool-card,.equipment-area-tabs button,.icon-action,.inventory-tabs button,.level-detail-back,.preset-button-row button,.secondary-action,.settings-tabs button,.shop-tabs button,.sound-toggle,.visibility-toggle,nav a{background:linear-gradient(180deg,rgba(255,239,193,.08),rgba(0,0,0,.08)),var(--rpg-panel-raised);border:1px solid rgba(214,168,79,.42);border-radius:4px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.05);color:var(--rpg-text)}.big-link:hover,.blacksmith-item-card:hover,.clickable-status-bar:hover,.pet-card:hover,.target-row:hover,a:hover,button:hover{border-color:var(--rpg-gold-bright);filter:brightness(1.05)}.activity-list span,.activity-row span,.armor-lock-hint,.big-link small,.brand small,.cant-afford,.currency-strip-item span,.drawer-tool-card small,.empty-state,.eyebrow,.hero-card p,.inventory-row p,.item-effect,.loading-hint,.login-card span,.login-line small,.page-heading p,.panel-header span,.progression-level,.progression-status,.section-heading p,.single-action-note,.slot-card-info span,.sound-toggle span,.stats-grid span,.status-bar-header span,.student-recovery-help,.student-row p{color:var(--rpg-muted)}.big-link span,.blacksmith-item-card h3,.blacksmith-preview-info h3,.brand strong,.currency-strip-item strong,.inventory-row h3,.panel-header h2,.pet-card h3,.section-heading h2,.shop-card h3,.stats-grid strong,.student-name h3,.teacher-action-grid strong,h1,h2,h3{color:var(--rpg-text);letter-spacing:0;text-shadow:0 1px 0 rgba(0,0,0,.34)}.hero-card h1,.page-heading h1,.student-hero-stage h1,.teacher-student-header h1{color:#fff1c9}.activity-row,.inventory-row,.login-table-row,.panel-header,.student-row{border-color:rgba(214,168,79,.3)}.blacksmith-item-card.selected,.progression-level-card.selected,.student-row.selected,.target-row.selected{border-color:var(--rpg-gold-bright);box-shadow:inset 0 0 0 1px rgba(255,239,193,.18),0 0 0 2px rgba(214,168,79,.22),var(--rpg-shadow)}.category-pill,.control-stat-grid article,.health-preview-list article,.import-preview,.inventory-row span,.item-meta span,.level-class-reward-row,.owned-badge,.print-login-card div,.progression-class-reward,.progression-level,.progression-row,.recovery-choice-list article,.recovery-choice-list button,.settings-readout article,.single-action-note,.slider-readout,.slot-card-empty-preview,.status-track,.wearing-badge{background:rgba(12,17,25,.46);border:1px solid rgba(214,168,79,.24);border-radius:4px;color:var(--rpg-muted)}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{background:rgba(11,15,22,.72)!important;border:1px solid rgba(214,168,79,.36)!important;border-radius:4px!important;color:var(--rpg-text)!important}input::placeholder,textarea::placeholder{color:hsla(42,27%,67%,.7)}.armor-set-cost,.blacksmith-card-footer span,.gems-stat,.gold-label,.shop-footer strong{color:var(--rpg-gold-bright)}.health-slider,.status-health .status-fill{background:var(--rpg-red)}.mana-slider,.status-mana .status-fill{background:var(--rpg-blue)}.status-xp .status-fill{background:var(--rpg-green)}.action-gold,.bulk-action-bar button.action-gold,.button-group button.action-gold,.inventory-row button,.shop-footer button,.teacher-action-grid button.action-gold{background:linear-gradient(180deg,#e7bd56,#9d6e19);border:1px solid #f3d179;color:#1b160c}.action-xp,.bulk-action-bar button.action-xp,.button-group button.action-xp,.teacher-action-grid button.action-xp{background:linear-gradient(180deg,#80d98d,#2b7c45);border:1px solid #b7efb9;color:#08180d}.action-damage,.bulk-action-bar button.action-damage,.button-group button.action-damage,.teacher-action-grid button.action-damage{background:linear-gradient(180deg,#ef8374,#9a322b);border:1px solid #ffb4a9;color:#230806}.action-heal,.bulk-action-bar button.action-heal,.button-group button.action-heal,.teacher-action-grid button.action-heal{background:linear-gradient(180deg,#70d6a2,#247458);border:1px solid #abf0cd;color:#061911}.action-mana,.bulk-action-bar button.action-mana,.button-group button.action-mana,.teacher-action-grid button.action-mana{background:linear-gradient(180deg,#7bbcff,#275b9d);border:1px solid #b6d9ff;color:#071426}.action-gem,.bulk-action-bar button.action-gem,.button-group button.action-gem,.teacher-action-grid button.action-gem{background:linear-gradient(180deg,#72e7dd,#1b837e);border:1px solid #b4fff7;color:#031918}.bulk-action-bar button,.button-group button,.inventory-row button,.shop-footer button,.teacher-action-grid button{color:#111722;font-weight:900}.drawer-backdrop,.modal-backdrop{background:rgba(0,0,0,.62)}.loading-overlay{background:rgba(9,12,18,.44)}.loading-card,.teacher-action-toast{background:linear-gradient(180deg,rgba(255,239,193,.08),rgba(0,0,0,.08)),var(--rpg-panel);border:1px solid var(--rpg-line);border-radius:4px;color:var(--rpg-text)}.loading-spinner{border-color:rgba(214,168,79,.22);border-top-color:var(--rpg-gold-bright)}.hero-closet-preview,.hero-creator-preview,.showcase-hero,.spine-character-viewer{background:radial-gradient(circle at 50% 86%,rgba(214,168,79,.12),transparent 34%),linear-gradient(180deg,hsla(0,0%,100%,.035),rgba(0,0,0,.14))}.equipment-area-tabs,.inventory-tabs,.settings-tabs,.shop-tabs{background:rgba(7,11,17,.24);border-radius:4px}.blacksmith-item-card.set-piece{background:linear-gradient(90deg,rgba(214,168,79,.34) 0 5px,transparent 5px),var(--rpg-panel);border-color:rgba(214,168,79,.66)}.pet-orb{border-color:var(--rpg-gold-bright)}.bg-picker-modal{background:linear-gradient(180deg,rgba(255,239,193,.055),rgba(0,0,0,.04)),var(--rpg-panel);border:1px solid var(--rpg-line);color:var(--rpg-text)}.bg-picker-thumb{background:rgba(255,239,193,.06);border-color:rgba(214,168,79,.18)}.bg-picker-thumb.active,.bg-picker-thumb:hover{border-color:var(--rpg-gold-bright)}.sound-toggle input{background:#46413a}.sound-toggle input:checked{background:var(--rpg-green)}@media (max-width:700px){.sound-toggle{margin-left:0}}.inventory-row button:disabled,.shop-footer button:disabled,.skill-row button:disabled,button:disabled{background:#4b5360;border-color:#687383;color:#c8ced8;cursor:not-allowed}@media print{.login-sheet,.login-table-row,.print-login-card,.print-login-card div,body{background:#fff!important;color:#111!important;box-shadow:none!important}.login-table-row,.print-login-card,.print-login-card div{border-color:#ddd!important}.login-table-row span,.print-login-card small,.print-login-card span{color:#555!important}}:root{--rpg-panel:rgba(29,35,45,.96);--rpg-panel-soft:rgba(32,38,48,.92);--rpg-panel-raised:rgba(38,44,55,.94);--rpg-text:#f1e7cf;--rpg-muted:#b6ad98;--rpg-line:rgba(201,154,67,.38);--rpg-shadow:0 16px 34px rgba(0,0,0,.28)}.auth-card,.class-card,.form-message,.google-action,.print-login-card,.roster-currency span,.stat-group span{background:linear-gradient(180deg,rgba(255,239,193,.045),rgba(0,0,0,.05)),var(--rpg-panel)!important;border:1px solid var(--rpg-line)!important;border-radius:5px!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.045),var(--rpg-shadow)!important;color:var(--rpg-text)!important}.page-heading{align-items:center;min-height:118px;padding:20px 24px}.hero-card h1,.page-heading h1,.student-hero-stage h1,.teacher-student-header h1{font-size:clamp(2.2rem,4vw,3.15rem);line-height:.98}.hero-card .eyebrow,.page-heading .eyebrow{margin-bottom:8px!important}.class-card{gap:18px;min-height:0;padding:24px}.class-card h2{color:#f2dfab!important;font-size:1.7rem;text-shadow:none}.class-card p,.demo-note,.form-message{color:var(--rpg-muted)!important}.stat-group span{box-shadow:none!important;color:#ffe5a2!important;padding:8px 12px}.class-card .primary-action{border-radius:5px;min-height:48px}.heading-actions{align-items:center}.icon-action{flex-direction:row;gap:10px;height:52px;min-width:0;padding:8px 12px}.icon-action span{border-radius:4px;font-size:.72rem;height:30px;min-width:34px;padding:0 8px}.icon-action strong{color:var(--rpg-text);font-size:.9rem}.topbar{min-height:82px}.brand-mark{height:48px;width:48px}.topbar-demo-button,nav a{min-height:44px}.panel{padding:18px}.panel-header{padding-bottom:12px}.selectable-row{background:linear-gradient(180deg,rgba(255,239,193,.035),rgba(0,0,0,.035)),rgba(28,33,42,.92);border:1px solid rgba(201,154,67,.24);border-radius:5px;padding:14px}.student-list{gap:12px}.student-row:last-child{border-bottom:1px solid rgba(201,154,67,.24)}.roster-currency span{box-shadow:none!important;font-size:.82rem;padding:6px 9px}.sound-toggle{box-shadow:none}.equipment-area-tabs,.inventory-tabs,.settings-tabs,.shop-tabs{background:transparent}.empty-state{color:var(--rpg-muted)}@media (max-width:820px){.icon-action{justify-content:flex-start;width:auto}.page-heading{min-height:0}}:root{--rpg-bg:#101923;--rpg-shell:#17222d;--rpg-panel:#263340;--rpg-panel-soft:#2b3845;--rpg-panel-raised:#34424f;--rpg-field:#efe3c6;--rpg-field-ink:#1d2430;--rpg-field-muted:#586174;--rpg-slot:#18232e;--rpg-text:#f6ecd4;--rpg-muted:#d1c2a2;--rpg-gold:#c9973d;--rpg-gold-bright:#f0cf7a;--rpg-line:rgba(231,186,93,.52);--rpg-inner-line:rgba(255,248,220,.11);--rpg-shadow:0 14px 30px rgba(0,0,0,.3)}body{background:radial-gradient(circle at 20% 0,rgba(72,91,105,.32),transparent 28%),linear-gradient(180deg,hsla(0,0%,100%,.025),transparent 220px),repeating-linear-gradient(0deg,hsla(0,0%,100%,.018) 0 1px,transparent 1px 6px),var(--rpg-bg)}.page-heading,.student-hero-stage,.teacher-student-header,.topbar{background:linear-gradient(180deg,rgba(255,244,205,.08),rgba(0,0,0,.08)),var(--rpg-panel-soft)!important;border-color:rgba(231,186,93,.58)!important}.activity-list article,.activity-panel,.armor-set-card,.auth-card,.big-link,.blacksmith-item-card,.blacksmith-preview-panel,.character-showcase,.class-card,.currency-strip,.inventory-row,.inventory-section,.inventory-summary-panel,.login-card,.modal-panel,.panel,.paper-doll-panel,.pet-card,.recovery-panel,.selectable-row,.selected-recovery,.shop-card,.shop-section,.skill-row,.slot-card,.status-bar,.student-details-panel,.student-row,.student-status-panel,.teacher-actions-panel,.tools-drawer,.wounded-alert,.wounded-hero-banner{background:linear-gradient(180deg,rgba(255,244,205,.06),rgba(0,0,0,.055)),var(--rpg-panel)!important;border-color:rgba(231,186,93,.45)!important;box-shadow:inset 0 0 0 1px var(--rpg-inner-line),var(--rpg-shadow)!important}.activity-panel,.inventory-summary-panel,.panel,.recovery-panel,.student-details-panel,.student-status-panel,.teacher-actions-panel{padding:20px}.panel-header{border-bottom-color:rgba(231,186,93,.42)}.page-heading{padding:18px 24px}.hero-card h1,.page-heading h1,.student-control-identity h1,.student-hero-stage h1,.teacher-student-header h1{font-size:clamp(2.1rem,3.8vw,3rem);line-height:1.03}.teacher-student-header{padding:14px 18px}.student-control-identity{gap:14px}.compact-avatar{font-size:1.15rem;height:68px;letter-spacing:-.04em;width:68px}.student-control-identity .eyebrow{margin-bottom:6px!important}.student-control-identity p:not(.eyebrow){color:var(--rpg-muted)!important}.icon-action{background:linear-gradient(180deg,rgba(255,244,205,.07),rgba(0,0,0,.07)),var(--rpg-panel-raised)!important;min-height:46px}.icon-action span{background:hsla(42,56%,86%,.9)!important;border-color:rgba(231,186,93,.58)!important;color:#596171!important}.class-card .primary-action,.primary-action,.topbar-demo-button{background:linear-gradient(180deg,#c99d43,#7c581b)!important;border-color:#f2d483!important;color:#fff8df!important}.button-group a,.button-group button,.class-toolbar a,.class-toolbar button,.drawer-tool-card,.equipment-area-tabs button,.inventory-tabs button,.login-line button,.preset-button-row button,.secondary-action,.settings-tabs button,.shop-tabs button,.sound-toggle,nav a{background:linear-gradient(180deg,rgba(255,244,205,.06),rgba(0,0,0,.08)),var(--rpg-panel-raised)!important;border-color:rgba(231,186,93,.42)!important;color:var(--rpg-text)!important}.class-card h2,.page-heading h1,.panel-header h2,.section-heading h2,.student-control-identity h1{color:#fff0c2!important}.auth-card,.class-card{min-height:0}.activity-row,.control-stat-grid article,.health-preview-list article,.item-meta span,.level-class-reward-row,.progression-row,.roster-currency span,.settings-readout article,.stat-group span,.status-track{background:var(--rpg-slot)!important;border:1px solid rgba(231,186,93,.28)!important;color:var(--rpg-muted)!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.035)!important}.slot-card-info{background:none!important;border:none!important;box-shadow:none!important}.slot-card--empty{opacity:.45}.status-bar{background:linear-gradient(180deg,hsla(0,0%,100%,.04),rgba(0,0,0,.08)),#202c38!important}.control-status-bars .status-bar{border-color:rgba(231,186,93,.34)!important}.control-stat-grid strong{color:#f5dfaa!important}.form-message,.google-action,.import-preview,.item-form,.modal-panel .item-form,.single-action-note,.slider-readout{background:var(--rpg-field)!important;border:1px solid #b99045!important;border-radius:5px!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.42)!important;color:var(--rpg-field-ink)!important}.control-field-list article,.control-field-list label,.login-card{background:hsla(0,0%,100%,.05)!important;border:1px solid rgba(214,168,79,.25)!important;border-radius:5px!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.06)!important;color:var(--rpg-text,#f4ead4)!important}.auth-divider,.form-message,.item-form fieldset,.item-form label,.single-action-note{color:var(--rpg-field-muted)!important}.control-field-list label,.control-field-list span,.login-card span,.login-line small{color:hsla(41,59%,89%,.6)!important}.google-action,.item-form h2{color:var(--rpg-field-ink)!important;text-shadow:none}.control-field-list h3,.login-card strong,.login-line strong{color:var(--rpg-text,#f4ead4)!important;text-shadow:none}.compact-select,.control-field-list select,.item-form input,.item-form select,.item-form textarea,input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{background:#fff8e8!important;border:1px solid #9e7a37!important;border-radius:4px!important;color:var(--rpg-field-ink)!important}.item-form input::placeholder,.item-form textarea::placeholder,input::placeholder,textarea::placeholder{color:#7c8392!important}.teacher-action-grid button{border-radius:5px;min-height:58px}.teacher-action-grid span{background:rgba(0,0,0,.22)!important;border-color:rgba(0,0,0,.25)!important}.selectable-row{grid-template-columns:auto minmax(160px,1fr) minmax(270px,1.35fr) auto}.student-name h3{color:#fff0c2!important}.demo-note,.empty-state,.inventory-row p,.section-heading p,.student-name p,.student-row p{color:var(--rpg-muted)!important}.wounded-alert,.wounded-hero-banner{background:linear-gradient(180deg,hsla(6,82%,65%,.14),rgba(0,0,0,.06)),var(--rpg-panel)!important;border-color:hsla(6,82%,65%,.5)!important}.blacksmith-preview-panel{background:linear-gradient(180deg,rgba(255,244,205,.07),rgba(0,0,0,.06)),#2b3845!important}.blacksmith-preview-image{background:#efe3c6!important}.blacksmith-preview-actions .gold-label,.gems-label,.gold-label{background:rgba(255,238,180,.95)!important;color:#6d4d00!important}.progression-level-card.locked{opacity:.58}.activity-list p,.activity-row p,.prog-modal-description{color:var(--rpg-muted)!important}.category-pill.equipment,.category-pill.gold,.level-equipment .level-detail-badge--unlocked,.level-equipment .progression-row-tag,.level-gold .level-detail-badge--unlocked,.level-gold .progression-row-tag{background:#6d4f1e!important;color:#fff0c2!important}.cat-equipment .prog-modal-banner,.cat-equipment.prog-detail{background:#273543!important}.activity-panel,.armor-set-card,.auth-card,.big-link,.blacksmith-item-card,.blacksmith-preview-panel,.character-showcase,.class-card,.currency-strip,.inventory-row,.inventory-section,.inventory-summary-panel,.login-card,.modal-panel,.panel,.paper-doll-panel,.pet-card,.recovery-panel,.selectable-row,.shop-card,.shop-section,.skill-row,.slot-card,.status-bar,.student-details-panel,.student-row,.student-status-panel,.teacher-actions-panel,.tools-drawer{position:relative}.activity-panel:before,.class-card:before,.inventory-section:before,.modal-panel:before,.panel:before,.recovery-panel:before,.shop-section:before,.student-details-panel:before,.student-status-panel:before,.teacher-actions-panel:before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,225,145,.9),transparent);pointer-events:none}.panel-header,.prog-xp-labels,.section-heading,.status-bar-header{text-shadow:0 1px 0 rgba(0,0,0,.55)}.prog-modal,.progression-modal{overflow:hidden;background:radial-gradient(circle at 18% 0,rgba(231,186,93,.16),transparent 32%),linear-gradient(180deg,rgba(255,244,205,.08),rgba(0,0,0,.1)),var(--rpg-panel)!important;border:1px solid rgba(231,186,93,.62)!important;color:var(--rpg-text)!important}.level-class-reward-row,.level-class-rewards,.level-detail,.prog-modal-banner,.prog-modal-body,.prog-modal-class-rewards,.progression-header{background:linear-gradient(180deg,rgba(255,244,205,.065),rgba(0,0,0,.06)),rgba(21,29,38,.92)!important;border-color:rgba(231,186,93,.42)!important;color:var(--rpg-text)!important}.level-detail{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;padding:18px}.level-detail-back,.modal-close,.prog-modal-x{background:linear-gradient(180deg,rgba(255,244,205,.09),rgba(0,0,0,.08)),#252d38!important;border:1px solid rgba(231,186,93,.52)!important;color:var(--rpg-text)!important}.level-detail-badge{background:linear-gradient(180deg,rgba(255,244,205,.08),rgba(0,0,0,.08)),#2b3542!important;border:1px solid rgba(231,186,93,.55)!important;color:var(--rpg-text)!important}.level-detail-badge--unlocked{background:linear-gradient(180deg,rgba(77,210,140,.22),rgba(0,0,0,.04)),#233a31!important;border-color:rgba(107,224,157,.65)!important}.level-detail-badge--locked{background:linear-gradient(180deg,rgba(150,157,172,.18),rgba(0,0,0,.04)),#2a303a!important;border-color:rgba(176,184,199,.32)!important;color:#c8d0dc!important}.level-detail-body h2,.prog-modal-title{color:var(--rpg-cream)!important;text-shadow:0 2px 0 rgba(0,0,0,.5)}.level-detail-body p,.prog-modal-class-row p,.prog-modal-description{color:var(--rpg-muted)!important}.prog-modal-banner{border-bottom:1px solid rgba(231,186,93,.48)!important}.prog-modal-icon{filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}.category-pill,.prog-card-tag,.prog-detail-status,.progression-row-tag{background:hsla(42,56%,86%,.12)!important;border:1px solid rgba(231,186,93,.32)!important;color:#ead7a3!important}.prog-card{background:linear-gradient(180deg,rgba(255,244,205,.065),rgba(0,0,0,.08)),rgba(30,38,49,.94)!important;border-color:rgba(231,186,93,.35)!important}.prog-card-name{color:var(--rpg-cream,#fff2c4)!important;text-shadow:0 2px 0 rgba(0,0,0,.6)}.prog-locked .prog-card-name{color:#a9b2c2!important}.prog-card-icon{color:var(--rpg-text,#f4ead4)!important;filter:drop-shadow(0 5px 6px rgba(0,0,0,.35))}.prog-card-tag{color:var(--rpg-cream,#fff2c4)!important}.prog-card.prog-current,.prog-card.prog-selected,.progression-row--current{box-shadow:inset 0 0 0 1px rgba(255,238,175,.55),0 0 0 1px rgba(231,186,93,.62),0 14px 28px rgba(0,0,0,.35)!important}.prog-modal-class-rewards{background:linear-gradient(180deg,rgba(255,244,205,.055),rgba(0,0,0,.08)),rgba(16,22,31,.72)!important;border:1px solid rgba(231,186,93,.34)!important;border-radius:8px;padding:14px!important}.prog-modal-class-label{color:#b7c0d0!important}.prog-modal-class-mine,.prog-modal-class-row{background:linear-gradient(180deg,rgba(255,244,205,.06),rgba(0,0,0,.07)),rgba(28,36,48,.96)!important;border-color:rgba(125,174,255,.72)!important;color:var(--rpg-text)!important}.prog-modal-class-mine .prog-modal-class-name,.prog-modal-class-name{color:#7daeef!important}.prog-modal-class-row strong{color:var(--rpg-cream)!important}.prog-modal-class-row p{color:#d6c69f!important}.prog-locked,.progression-row--locked{filter:saturate(.72)}.level-up-backdrop{background:radial-gradient(circle at 50% 42%,rgba(231,186,93,.22),transparent 30%),rgba(0,0,0,.68)!important}.level-up-modal{width:min(620px,calc(100vw - 32px));padding:28px;overflow:hidden;text-align:left;background:radial-gradient(circle at 20% 0,rgba(255,232,160,.24),transparent 34%),linear-gradient(180deg,rgba(255,244,205,.1),rgba(0,0,0,.12)),#202936!important;border-color:rgba(255,216,122,.78)!important}.level-up-modal:after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,222,137,.9),transparent)}.level-up-burst{display:grid;place-items:center;width:72px;height:72px;margin-bottom:18px;background:radial-gradient(circle,#fff3be 0 30%,#d3a33f 31% 64%,#7a5516 65%);border:1px solid rgba(255,242,190,.8);border-radius:50%;color:#35250a;font-size:1.25rem;font-weight:1000;box-shadow:0 12px 24px rgba(0,0,0,.34)}.level-up-modal h2{color:var(--rpg-cream);font-size:clamp(2.35rem,6vw,4rem);line-height:.96;margin:0 0 10px;text-shadow:0 3px 0 rgba(0,0,0,.55)}.level-up-summary{color:var(--rpg-muted);font-size:1.05rem;margin:0 0 20px}.level-up-unlocks{display:grid;grid-gap:10px;gap:10px}.level-up-unlocks>span{color:#d8c48c;font-size:.8rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.level-up-unlock{background:linear-gradient(90deg,rgba(231,186,93,.26) 0 5px,transparent 5px),rgba(11,16,24,.42);border:1px solid rgba(231,186,93,.42);border-radius:5px;padding:12px 14px 12px 18px}.level-up-unlock strong{color:var(--rpg-cream);display:block;font-size:1.05rem}.level-up-unlock small{color:#d8c48c;display:block;font-weight:900;margin:2px 0 6px;text-transform:uppercase}.level-up-unlock p{color:var(--rpg-muted);margin:0}@media (max-width:720px){.level-detail{grid-template-columns:1fr}.level-up-modal{padding:22px}}.sound-toggle input{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:#111722!important;border:1px solid rgba(231,186,93,.7)!important;border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)!important;cursor:pointer;flex:0 0 auto;height:28px;margin:0;padding:0!important;position:relative;width:52px}.sound-toggle input:after{background:#fff8e8;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.32);content:"";height:22px;left:3px;position:absolute;top:2px;transition:transform .14s ease;width:22px}.sound-toggle input:checked{background:linear-gradient(180deg,#70d6a2,#247458)!important}.sound-toggle input:checked:after{transform:translateX(23px)}.bulk-action-bar button.action-gold,.button-group button.action-gold,.selectable-row button.action-gold,.teacher-action-grid button.action-gold{background:linear-gradient(180deg,#f2c65b,#a7751b)!important;border-color:#ffdd86!important;color:#211704!important}.bulk-action-bar button.action-xp,.button-group button.action-xp,.selectable-row button.action-xp,.teacher-action-grid button.action-xp{background:linear-gradient(180deg,#82c7ff,#2f68b5)!important;border-color:#bee0ff!important;color:#061426!important}.bulk-action-bar button.action-damage,.button-group button.action-damage,.selectable-row button.action-damage,.teacher-action-grid button.action-damage{background:linear-gradient(180deg,#ef8374,#9a322b)!important;border-color:#ffb4a9!important;color:#230806!important}.bulk-action-bar button.action-gem,.button-group button.action-gem,.selectable-row button.action-gem,.teacher-action-grid button.action-gem{background:linear-gradient(180deg,#72e7dd,#1b837e)!important;border-color:#b4fff7!important;color:#031918!important}.bulk-action-bar button.action-heal,.button-group button.action-heal,.selectable-row button.action-heal,.teacher-action-grid button.action-heal{background:linear-gradient(180deg,#70d6a2,#247458)!important;border-color:#abf0cd!important;color:#061911!important}.bb-overlay{align-items:flex-start;background:rgba(11,16,24,.82);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:32px 16px 48px;position:fixed;right:0;top:0;z-index:300}.bb-panel{background:var(--rpg-panel,#1a2035);border:1px solid var(--rpg-line,rgba(231,186,93,.22));border-radius:18px;box-shadow:0 32px 80px rgba(0,0,0,.5);color:var(--rpg-text,#e8dfc8);max-width:1300px;width:calc(100vw - 48px)}.bb-screen{display:flex;flex-direction:column}.bb-screen-header{align-items:flex-start;border-bottom:1px solid var(--rpg-line,rgba(231,186,93,.18));display:flex;justify-content:space-between;padding:24px 28px 20px}.bb-screen-header .eyebrow{color:var(--rpg-gold-bright,#e7ba5d);font-size:.7rem;font-weight:700;letter-spacing:.1em;margin:0 0 4px;text-transform:uppercase}.bb-screen-header h2{color:var(--rpg-text,#e8dfc8);font-size:1.45rem;font-weight:800;margin:0}.bb-back{background:none;border:none;color:var(--rpg-muted,#8b9bbf);cursor:pointer;font-size:.82rem;margin:0 0 6px;padding:0}.bb-back:hover{color:var(--rpg-text,#e8dfc8)}.bb-close{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:50%;color:var(--rpg-muted,#8b9bbf);cursor:pointer;flex-shrink:0;font-size:1rem;height:36px;line-height:1;margin-left:16px;width:36px}.bb-close:hover{background:hsla(0,0%,100%,.12);color:var(--rpg-text,#e8dfc8)}.bb-mode-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr 1fr;padding:28px}@media (max-width:560px){.bb-mode-grid{grid-template-columns:1fr}}.bb-mode-card{background:var(--rpg-panel-raised,#212d47);border:2px solid var(--rpg-line,rgba(231,186,93,.18));border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:28px 22px;text-align:left;transition:border-color .12s,background .12s}.bb-mode-card:hover{background:#273050;border-color:var(--rpg-gold-bright,#e7ba5d)}.bb-mode-icon{font-size:2rem;line-height:1}.bb-mode-card strong{color:var(--rpg-text,#e8dfc8);display:block;font-size:1.15rem;font-weight:800;margin:4px 0 0}.bb-mode-card p{color:var(--rpg-muted,#8b9bbf);font-size:.88rem;line-height:1.5;margin:0}.bb-form{gap:22px;padding:24px 28px 32px}.bb-field,.bb-form{display:flex;flex-direction:column}.bb-field{gap:8px}.bb-field-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.bb-field-row{grid-template-columns:1fr}}.bb-label{color:var(--rpg-gold-bright,#e7ba5d);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bb-input{background:rgba(0,0,0,.28);border:1px solid var(--rpg-line,rgba(231,186,93,.22));border-radius:8px;color:var(--rpg-text,#e8dfc8);font-size:.95rem;padding:10px 12px;width:100%}.bb-input:focus{border-color:var(--rpg-gold-bright,#e7ba5d);outline:none}.bb-input-sm{max-width:140px}.bb-textarea{background:rgba(0,0,0,.28);border:1px solid var(--rpg-line,rgba(231,186,93,.22));border-radius:8px;color:var(--rpg-text,#e8dfc8);font-size:.92rem;padding:10px 12px;resize:vertical;width:100%}.bb-textarea:focus{border-color:var(--rpg-gold-bright,#e7ba5d);outline:none}.bb-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,.28) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e7ba5d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--rpg-line,rgba(231,186,93,.22));border-radius:8px;color:var(--rpg-text,#e8dfc8);font-size:.95rem;padding:10px 36px 10px 12px;width:100%}.bb-select:focus{border-color:var(--rpg-gold-bright,#e7ba5d);outline:none}.bb-toggle-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.bb-toggle{background:rgba(0,0,0,.24);border:2px solid var(--rpg-line,rgba(231,186,93,.2));border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:.95rem;font-weight:700;gap:4px;padding:14px 16px;text-align:left;transition:border-color .12s,background .12s,color .12s}.bb-toggle,.bb-toggle small{color:var(--rpg-muted,#8b9bbf)}.bb-toggle small{display:block;font-size:.72rem;font-weight:500}.bb-toggle.active{background:rgba(231,186,93,.1);border-color:var(--rpg-gold-bright,#e7ba5d);color:var(--rpg-text,#e8dfc8)}.bb-toggle.active small{color:#d4b86a}.bb-field-note{color:var(--rpg-muted,#8b9bbf);font-size:.75rem;margin:2px 0 0}.bb-viability{border-radius:12px;border:1px solid transparent;overflow:hidden;padding:16px 18px;position:relative}.bb-viability-top{align-items:center;display:flex;gap:12px;margin-bottom:12px}.bb-viability-badge{align-items:center;border-radius:10px;border:1.5px solid;display:flex;flex-shrink:0;font-size:1rem;font-weight:900;height:38px;justify-content:center;width:38px}.bb-viability-text{flex:1 1;min-width:0}.bb-viability-headline{font-size:.95rem;font-weight:700;letter-spacing:.01em;margin-bottom:2px}.bb-viability-sub{font-size:.76rem;line-height:1.5;opacity:.7}.bb-viability-bar-wrap{margin-top:4px}.bb-viability-bar-track{border-radius:99px;display:flex;height:6px;overflow:hidden;width:100%;background:hsla(0,0%,100%,.07);margin-bottom:6px}.bb-viability-bar-correct{border-radius:99px 0 0 99px}.bb-viability-bar-correct,.bb-viability-bar-wrong{height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.bb-viability-bar-wrong{border-radius:0 99px 99px 0;opacity:.35}.bb-viability-bar-labels{display:flex;justify-content:space-between}.bb-viability-stat{display:flex;flex-direction:column;gap:1px}.bb-viability-stat-num{font-size:.88rem;font-weight:700}.bb-viability-stat-label{font-size:.68rem;letter-spacing:.06em;opacity:.55;text-transform:uppercase}.bb-viability-impossible{background:rgba(224,82,82,.09);border-color:rgba(224,82,82,.3);box-shadow:inset 0 0 60px rgba(224,82,82,.04);color:#e87272}.bb-viability-zero-margin{background:rgba(231,186,93,.08);border-color:rgba(231,186,93,.3);box-shadow:inset 0 0 60px rgba(231,186,93,.04);color:#e7ba5d}.bb-viability-tight{background:rgba(240,160,48,.08);border-color:rgba(240,160,48,.3);box-shadow:inset 0 0 60px rgba(240,160,48,.04);color:#f0a030}.bb-viability-good{background:rgba(62,207,106,.07);border-color:rgba(62,207,106,.28);box-shadow:inset 0 0 60px rgba(62,207,106,.04);color:#3ecf6a}.bb-boss-picker{display:flex;flex-direction:column;gap:10px}.bb-boss-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));max-height:240px;overflow-y:auto;padding:4px 2px}.bb-boss-thumb{align-items:center;background:rgba(0,0,0,.24);border:2px solid var(--rpg-line,rgba(231,186,93,.18));border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:8px 6px 6px;text-align:center;transition:border-color .1s,background .1s}.bb-boss-thumb:hover{background:hsla(0,0%,100%,.05);border-color:rgba(231,186,93,.5)}.bb-boss-thumb.selected{background:rgba(231,186,93,.1);border-color:var(--rpg-gold-bright,#e7ba5d)}.bb-boss-thumb img{height:62px;object-fit:contain;width:62px}.bb-boss-thumb span{color:var(--rpg-muted,#8b9bbf);font-size:.65rem;line-height:1.3;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-boss-selected{color:var(--rpg-muted,#8b9bbf);font-size:.82rem;margin:0}.bb-boss-selected strong{color:var(--rpg-text,#e8dfc8)}.bb-library-toolbar{display:flex;justify-content:flex-end}.bb-battle-list{display:flex;flex-direction:column;gap:10px}.bb-battle-row{align-items:center;background:var(--rpg-panel-raised,#212d47);border:1px solid var(--rpg-line,rgba(231,186,93,.16));border-radius:12px;display:flex;gap:14px;padding:14px 16px}.bb-battle-boss{flex-shrink:0;height:52px;width:52px}.bb-battle-boss img{height:52px;object-fit:contain;width:52px}.bb-battle-boss-placeholder{align-items:center;background:rgba(0,0,0,.3);border-radius:8px;color:var(--rpg-muted,#8b9bbf);display:flex;font-size:1.4rem;height:52px;justify-content:center;width:52px}.bb-battle-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bb-battle-info strong{color:var(--rpg-text,#e8dfc8);font-size:1rem;font-weight:700}.bb-battle-info span{color:var(--rpg-muted,#8b9bbf);font-size:.78rem}.bb-battle-btns{display:flex;flex-shrink:0;gap:8px}.bb-questions-header{align-items:center;display:flex;justify-content:space-between}.bb-q-count{color:var(--rpg-muted,#8b9bbf);font-size:.8rem;font-weight:500}.bb-question-list{display:flex;flex-direction:column;gap:10px}.bb-question-card{align-items:flex-start;background:rgba(0,0,0,.22);border:1px solid var(--rpg-line,rgba(231,186,93,.14));border-radius:10px;display:flex;gap:12px;padding:12px 14px}.bb-q-num{color:var(--rpg-gold-bright,#e7ba5d);flex-shrink:0;font-size:.75rem;font-weight:800;letter-spacing:.05em;padding-top:11px;text-transform:uppercase;width:24px}.bb-q-fields{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.bb-input-answer{border-color:rgba(111,208,134,.35)!important}.bb-q-delete{background:none;border:none;color:var(--rpg-muted,#8b9bbf);cursor:pointer;flex-shrink:0;font-size:.8rem;line-height:1;margin-top:2px;padding:4px}.bb-q-delete:hover{color:var(--rpg-red,#d95f4f)}.bb-btn-primary{background:linear-gradient(180deg,#c9972e,#7a5410);border:1px solid #e7c06a;border-radius:9px;color:#fff8e0;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 18px;transition:opacity .12s;white-space:nowrap}.bb-btn-primary:hover{opacity:.88}.bb-btn-primary:disabled{opacity:.38;cursor:not-allowed}.bb-btn-secondary{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.14);border-radius:9px;color:var(--rpg-text,#e8dfc8);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 18px;transition:background .12s;white-space:nowrap}.bb-btn-secondary:hover{background:hsla(0,0%,100%,.12)}.bb-btn-danger{background:rgba(217,95,79,.15);border:1px solid rgba(217,95,79,.4);border-radius:9px;color:#ef9e93;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 14px;transition:background .12s;white-space:nowrap}.bb-btn-danger:hover{background:rgba(217,95,79,.28)}.bb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.bb-empty{color:var(--rpg-muted,#8b9bbf);font-size:.88rem;margin:0;text-align:center}.bb-empty-state{background:rgba(0,0,0,.18);border:1px dashed var(--rpg-line,rgba(231,186,93,.2));border-radius:10px;padding:24px;text-align:center}.bb-empty-state p{font-size:.88rem;margin:0}.bb-empty-state p,.bb-subhead{color:var(--rpg-muted,#8b9bbf)}.bb-subhead{font-size:.85rem;margin:4px 0 0}.bb-btn-sm{font-size:.8rem!important;padding:7px 12px!important}.bb-btn-launch{font-size:1rem!important;padding:13px 28px!important}.bb-participant-toolbar{align-items:center;display:flex;justify-content:space-between}.bb-participant-count{color:var(--rpg-muted,#8b9bbf);font-size:.85rem}.bb-participant-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.bb-participant-card{align-items:center;background:rgba(0,0,0,.26);border:2px solid var(--rpg-line,rgba(231,186,93,.18));border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:14px 10px 12px;position:relative;text-align:center;transition:border-color .12s,background .12s}.bb-participant-card:hover{background:hsla(0,0%,100%,.06);border-color:rgba(231,186,93,.45)}.bb-participant-card.selected{background:rgba(231,186,93,.1);border-color:var(--rpg-gold-bright,#e7ba5d)}.bb-p-check{background:var(--rpg-gold-bright,#e7ba5d);border-radius:50%;color:#1a1a0e;font-size:.7rem;font-weight:900;height:20px;line-height:20px;position:absolute;right:8px;text-align:center;top:8px;width:20px}.bb-participant-card:not(.selected) .bb-p-check{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:transparent}.bb-p-pets{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr 1fr;margin-top:6px;width:100%}.bb-p-pet-chip{align-items:center;background:rgba(0,0,0,.3);border:1px solid rgba(231,186,93,.2);border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:5px 7px}.bb-p-pet-chip img,.bb-p-pet-chip span:first-child{height:44px;object-fit:contain;width:44px}.bb-p-pet-chip span:first-child{font-size:1.8rem;line-height:44px;text-align:center}.bb-p-pet-chip-name{color:var(--rpg-muted,#8b9bbf);display:block;font-size:.6rem;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-p-name{color:var(--rpg-text,#e8dfc8);font-size:.88rem;font-weight:700}.bb-p-pet-name{color:var(--rpg-muted,#8b9bbf);font-size:.7rem}.bb-p-hpbar{width:100%}.bb-p-hp-text{color:var(--rpg-muted,#8b9bbf);font-size:.68rem}.bb-hpbar{background:rgba(0,0,0,.5);border-radius:99px;height:6px;overflow:hidden;width:100%}.bb-hpbar-fill{border-radius:99px;height:100%;transition:width .4s ease,background .4s ease}.bb-overlay-arena{align-items:stretch!important;padding:0!important}.bb-arena-wrap{background-color:#0a0f1a;background-position:50%;background-size:cover;display:flex;flex-direction:column;height:100vh;min-height:0;overflow:hidden;width:100%}.bb-arena-topbar{background:rgba(10,15,26,.88);border-bottom:1px solid rgba(231,186,93,.25);gap:18px;padding:10px 20px}.bb-arena-boss-info,.bb-arena-topbar{align-items:center;display:flex;flex-shrink:0}.bb-arena-boss-info{gap:10px}.bb-arena-boss-thumb{border:1px solid rgba(231,186,93,.4);border-radius:6px;height:40px;object-fit:contain;width:40px}.bb-arena-boss-name{color:var(--rpg-text,#e8dfc8);font-size:.9rem;font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-arena-boss-hp-wrap{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.bb-arena-hp-label{align-items:center;display:flex;gap:8px;justify-content:space-between}.bb-arena-hp-label span{color:var(--rpg-muted,#8b9bbf);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.bb-arena-hp-label strong{color:var(--rpg-text,#e8dfc8);font-size:.85rem}.bb-arena-boss-hpbar{background:rgba(0,0,0,.55);border-radius:99px;height:10px;overflow:hidden}.bb-arena-boss-hpfill{border-radius:99px;height:100%}.bb-arena-q-counter{align-items:baseline;color:var(--rpg-muted,#8b9bbf);display:flex;flex-shrink:0;font-size:.8rem;gap:3px}.bb-arena-q-counter strong{color:var(--rpg-gold-bright,#e7ba5d);font-size:1.3rem;font-weight:800}.bb-arena-flee{background:rgba(217,95,79,.18);border:1px solid rgba(217,95,79,.4);border-radius:8px;color:#ef9e93;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:700;padding:7px 14px}.bb-arena-flee:hover{background:rgba(217,95,79,.32)}.bb-arena-stage{display:grid;flex:1 1;grid-gap:0;gap:0;grid-template-columns:1fr 1.4fr;min-height:0;overflow-y:auto}@media (max-width:700px){.bb-arena-stage{grid-template-columns:1fr}}.bb-arena-boss-display{justify-content:flex-end;overflow:hidden;padding:0 12px 14vh;position:relative}.bb-arena-boss-display,.bb-boss-figure{align-items:center;display:flex;flex-direction:column}.bb-arena-boss-img{animation:bb-boss-idle 4s ease-in-out infinite,bb-boss-shimmer 6.5s ease-in-out infinite;display:block;filter:url(#bb-boss-warp) drop-shadow(0 12px 48px rgba(0,0,0,.8));height:auto;max-height:44vh;max-width:90%;object-fit:contain;object-position:bottom;transform-origin:bottom center;width:auto}.bb-boss-shadow{background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0,transparent 70%);border-radius:50%;flex-shrink:0;height:22px;margin-top:-4px;width:55%}@keyframes bb-boss-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}@keyframes bb-boss-shimmer{0%,to{filter:url(#bb-boss-warp) drop-shadow(0 12px 48px rgba(0,0,0,.8)) brightness(1)}40%{filter:url(#bb-boss-warp) drop-shadow(0 12px 48px rgba(0,0,0,.8)) brightness(1.06)}70%{filter:url(#bb-boss-warp) drop-shadow(0 12px 48px rgba(0,0,0,.8)) brightness(.96)}}.bb-chest-wrap{align-items:center;display:flex;flex-direction:column;position:relative}.bb-chest-img{animation:bb-boss-idle 3s ease-in-out infinite;filter:drop-shadow(0 8px 24px rgba(255,200,50,.45));height:auto;max-height:34vh;max-width:72%;object-fit:contain;transform-origin:bottom center;width:auto}.bb-chest-bonus-total{color:#ffe066;font-size:1.9rem;font-weight:900;letter-spacing:-.02em;margin-top:10px;text-shadow:0 2px 16px rgba(0,0,0,.8),0 0 28px rgba(255,200,0,.55)}.bb-coin-particle{animation:bb-coin-fly .88s ease-out forwards;height:34px;left:50%;pointer-events:none;position:absolute;top:45%;width:34px}@keyframes bb-coin-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.3)}}.bb-arena-boss-damage.bb-coin-damage{color:#ffe066}.bb-bonus-round-badge{align-items:flex-end;display:flex;flex-direction:column;gap:1px}.bb-bonus-round-badge>span{color:#ffe066;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bb-bonus-round-badge>strong{color:#ffe599;font-size:.86rem}.bb-bonus-gold-note{font-size:.78em;opacity:.75}.bb-arena-boss-damage{animation:bb-damage-float 1.2s ease-out forwards;color:#ff6b6b;font-size:2.5rem;font-weight:900;left:50%;pointer-events:none;position:absolute;text-shadow:0 2px 8px rgba(0,0,0,.8);top:30%;transform:translateX(-50%)}@keyframes bb-damage-float{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-60px)}}.bb-hit-shake{animation:bb-shake .45s ease}@keyframes bb-shake{0%,to{transform:translateX(0)}15%{transform:translateX(-10px) rotate(-2deg)}30%{transform:translateX(10px) rotate(2deg)}45%{transform:translateX(-8px)}60%{transform:translateX(8px)}75%{transform:translateX(-4px)}}.bb-arena-center{background:rgba(10,15,26,.6);border-left:1px solid rgba(231,186,93,.1);justify-content:center;min-height:0;overflow-y:auto;padding:24px 28px}.bb-arena-center,.bb-arena-prompt{align-items:center;display:flex;flex-direction:column;gap:16px}.bb-arena-prompt{text-align:center}.bb-arena-prompt p{color:var(--rpg-muted,#8b9bbf);font-size:1rem;margin:0}.bb-btn-call{background:linear-gradient(180deg,#e7ba5d,#8a6010);border:2px solid #f5d98a;border-radius:14px;box-shadow:0 0 24px rgba(231,186,93,.35);color:#1a1100;cursor:pointer;font-size:1.2rem;font-weight:800;letter-spacing:.02em;padding:16px 36px;transition:transform 80ms,box-shadow 80ms}.bb-btn-call:hover{box-shadow:0 0 36px rgba(231,186,93,.55);transform:scale(1.03)}.bb-btn-call:active{transform:scale(.97)}.bb-btn-call:disabled{opacity:.4;transform:none;cursor:not-allowed}.bb-callout{align-items:center;background:rgba(20,28,50,.88);border:2px solid rgba(231,186,93,.3);border-radius:16px;display:flex;gap:16px;padding:16px 20px;width:100%;max-width:440px}.bb-callout-hit{animation:bb-shake .45s ease;border-color:#e05252!important}.bb-callout-correct{border-color:#3ecf6a!important}.bb-callout-wrong{border-color:#e05252!important}.bb-callout-pet{animation:bb-pet-enter .4s cubic-bezier(.34,1.56,.64,1) both;flex-shrink:0}.bb-callout-pet img{display:block;height:80px;object-fit:contain;width:80px}.bb-callout-pet-placeholder{font-size:3rem;height:80px;line-height:80px;text-align:center;width:80px}@keyframes bb-pet-enter{0%{opacity:0;transform:scale(.4) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.bb-callout-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.bb-callout-label{color:var(--rpg-gold-bright,#e7ba5d);font-size:1.4rem;font-weight:800}.bb-callout-student{color:var(--rpg-muted,#8b9bbf);font-size:1rem;margin-bottom:2px}.bb-callout-hpbar{height:8px!important;margin-top:4px}.bb-callout-hp-text{color:var(--rpg-muted,#8b9bbf);font-size:.72rem}.bb-arena-question{background:rgba(20,28,50,.85);border:1px solid rgba(231,186,93,.2);border-radius:14px;display:flex;flex-direction:column;gap:12px;max-width:520px;padding:20px 24px;width:100%}.bb-arena-q-label{color:var(--rpg-gold-bright,#e7ba5d);font-size:.85rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.bb-arena-q-text{color:var(--rpg-text,#e8dfc8);font-size:1.9rem;font-weight:700;line-height:1.3}.bb-arena-reveal{background:none;border:1px solid rgba(231,186,93,.35);border-radius:8px;color:var(--rpg-gold-bright,#e7ba5d);cursor:pointer;font-size:.95rem;padding:6px 14px;width:-moz-fit-content;width:fit-content}.bb-arena-reveal:hover{background:rgba(231,186,93,.1)}.bb-arena-answer{background:rgba(62,207,106,.12);border:1px solid rgba(62,207,106,.35);border-radius:10px;color:#8ef5a8;font-size:1.7rem;font-weight:700;padding:10px 16px}.bb-arena-tg-q{color:var(--rpg-muted,#8b9bbf);font-size:1rem}.bb-answer-btns{display:flex;gap:14px;justify-content:center;max-width:440px;width:100%}.bb-btn-correct{background:linear-gradient(180deg,#4de87a,#1a7a3d);border:2px solid #8ef5a8;border-radius:12px;box-shadow:0 0 18px rgba(78,232,122,.3);color:#051a0e;cursor:pointer;flex:1 1;font-size:1.4rem;font-weight:800;padding:16px 20px;transition:transform 80ms,box-shadow 80ms}.bb-btn-correct:hover{box-shadow:0 0 28px rgba(78,232,122,.5);transform:scale(1.03)}.bb-btn-wrong{background:linear-gradient(180deg,#e85c5c,#7a1a1a);border:2px solid #f5a0a0;border-radius:12px;box-shadow:0 0 18px rgba(232,92,92,.3);color:#1a0505;cursor:pointer;flex:1 1;font-size:1.4rem;font-weight:800;padding:16px 20px;transition:transform 80ms,box-shadow 80ms}.bb-btn-wrong:hover{box-shadow:0 0 28px rgba(232,92,92,.5);transform:scale(1.03)}.bb-result-row{align-items:center;display:flex;flex-direction:column;gap:12px;max-width:440px;width:100%}.bb-result-badge{border-radius:10px;font-size:1.1rem;font-weight:700;padding:13px 18px;text-align:center;width:100%}.bb-result-badge.correct{background:rgba(62,207,106,.15);border:1px solid rgba(62,207,106,.4);color:#8ef5a8}.bb-result-badge.wrong{background:rgba(224,82,82,.15);border:1px solid rgba(224,82,82,.4);color:#f5a0a0}.bb-btn-next{background:rgba(231,186,93,.15);border:2px solid var(--rpg-gold-bright,#e7ba5d);border-radius:10px;color:var(--rpg-gold-bright,#e7ba5d);cursor:pointer;font-size:1.1rem;font-weight:700;padding:13px 28px;transition:background .12s}.bb-btn-next:hover{background:rgba(231,186,93,.28)}.bb-transitioning{color:var(--rpg-muted,#8b9bbf);font-size:1.2rem;font-style:italic;text-align:center}.bb-arena-roster{background:rgba(8,12,22,.9);border-top:1px solid rgba(231,186,93,.18);display:flex;flex-shrink:0;gap:10px;overflow-x:auto;padding:8px 14px}.bb-roster-card{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.1);border-radius:9px;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding:6px 10px 7px;transition:border-color .2s}.bb-roster-card.current{background:rgba(231,186,93,.1);border-color:var(--rpg-gold-bright,#e7ba5d);box-shadow:0 0 12px rgba(231,186,93,.25)}.bb-roster-card.fainted{filter:grayscale(.7);opacity:.4}.bb-roster-name{color:var(--rpg-text,#e8dfc8);font-size:.6rem;font-weight:700;max-width:80px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.bb-roster-pets{display:flex;gap:4px}.bb-roster-pet{position:relative}.bb-roster-pet img,.bb-roster-pet span{display:block;height:32px;object-fit:contain;width:32px}.bb-roster-pet.calling img{filter:drop-shadow(0 0 5px rgba(231,186,93,.9))}.bb-roster-ko{align-items:center;background:rgba(10,15,26,.72);border-radius:4px;bottom:0;color:#fff;display:flex;font-size:.75rem;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.bb-callout-pet.ko-flash img,.bb-callout-pet.ko-flash>div,.bb-roster-pet.ko-flash img,.bb-roster-pet.ko-flash span{animation:bb-ko-flash .65s ease-out forwards}@keyframes bb-ko-flash{0%{filter:brightness(9) saturate(0);opacity:1}15%{filter:brightness(6) saturate(0);opacity:1}55%{filter:brightness(2) saturate(0);opacity:.75}to{filter:grayscale(1) brightness(.55);opacity:.5}}.bb-callout.ko-out .bb-callout-pet img{filter:grayscale(1) brightness(.5);opacity:.5}.bb-callout.ko-out .bb-callout-label{color:var(--rpg-muted,#8b9bbf);text-decoration:line-through}.bb-roster-card .bb-hpbar{height:3px;width:100%}.bb-defeat-wrap,.bb-victory-wrap{align-items:center;display:flex!important;justify-content:center}.bb-result-screen{align-items:center;background:rgba(10,15,28,.92);border:1px solid rgba(231,186,93,.22);border-radius:20px;box-shadow:0 40px 100px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:14px;max-height:90vh;max-width:580px;overflow-y:auto;padding:40px 36px;text-align:center;width:calc(100vw - 48px)}.bb-result-icon{animation:bb-result-pop .5s cubic-bezier(.34,1.56,.64,1) both;font-size:3.5rem;line-height:1}@keyframes bb-result-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.bb-result-title{animation:bb-result-pop .5s cubic-bezier(.34,1.56,.64,1) .1s both;color:var(--rpg-gold-bright,#e7ba5d);font-size:2.4rem;font-weight:900;margin:0}.bb-victory-screen .bb-result-title{color:#f5d96a;text-shadow:0 0 24px hsla(48,87%,69%,.5)}.bb-defeat-screen .bb-result-title{color:#e05252;text-shadow:0 0 24px rgba(224,82,82,.5)}.bb-result-sub{color:var(--rpg-text,#e8dfc8);font-size:1rem;margin:0}.bb-reward-header{color:var(--rpg-muted,#8b9bbf);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin:4px 0 0;text-transform:uppercase}.bb-reward-list{display:flex;flex-direction:column;gap:8px;width:100%}.bb-reward-row{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid rgba(231,186,93,.14);border-radius:10px;display:flex;gap:12px;padding:10px 14px;text-align:left}.bb-reward-pet{flex-shrink:0;height:44px;object-fit:contain;width:44px}.bb-reward-pet-placeholder{flex-shrink:0;font-size:1.8rem;height:44px;line-height:44px;text-align:center;width:44px}.bb-reward-name{color:var(--rpg-text,#e8dfc8);flex:1 1;font-size:.95rem;font-weight:700}.bb-reward-amounts{align-items:center;display:flex;flex-shrink:0;gap:7px}.bb-xp-badge{background:rgba(54,117,216,.2);border:1px solid rgba(54,117,216,.45);border-radius:6px;color:#9acaff}.bb-gold-badge,.bb-xp-badge{font-size:.78rem;font-weight:700;padding:3px 8px}.bb-gold-badge{background:rgba(231,186,93,.15);border:1px solid rgba(231,186,93,.4);border-radius:6px;color:#f5d96a}.bb-defeat-boss-img{filter:drop-shadow(0 0 32px rgba(224,82,82,.6));max-height:160px;max-width:200px;object-fit:contain}.bb-villain-gloat{color:#f5a0a0!important;font-style:italic;font-weight:600}.bb-defeat-note{color:var(--rpg-muted,#8b9bbf);font-size:.85rem;margin:0}.bb-result-actions{display:flex;gap:12px;justify-content:center;margin-top:8px}.wb-shell{background:#f5f1e8;display:flex;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:300}.wb-sidebar{background:#1e212e;border-right:1px solid rgba(214,168,79,.3);box-shadow:4px 0 24px rgba(0,0,0,.35);color:#f4ead4;display:flex;flex-direction:column;flex-shrink:0;gap:0;overflow-y:auto;padding:0;transition:width .18s ease;width:240px}.wb-sidebar--collapsed{width:52px}.wb-sidebar-head{align-items:flex-start;border-bottom:1px solid rgba(214,168,79,.2);display:flex;gap:8px;justify-content:space-between;padding:16px 14px 14px}.wb-eyebrow{color:#d6a84f;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin:0 0 4px;text-transform:uppercase}.wb-sidebar-title{color:#f4ead4;font-size:1rem;font-weight:800}.wb-collapse-btn{background:hsla(0,0%,100%,.08);border:1px solid rgba(214,168,79,.3);border-radius:6px;color:#c2b596;flex-shrink:0;font-size:.78rem;height:32px;width:32px}.wb-sidebar-section{border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;flex-direction:column;gap:6px;padding:14px}.wb-section-label{color:#8a7d66;font-size:.7rem;font-weight:900;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.wb-sidebar-btn{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid rgba(214,168,79,.12);border-radius:8px;color:#f4ead4;display:flex;font-size:.9rem;font-weight:700;gap:10px;min-height:40px;padding:8px 12px;text-align:left;transition:background .12s ease,border-color .12s ease;width:100%}.wb-sidebar-btn:hover{background:hsla(0,0%,100%,.1);border-color:rgba(214,168,79,.3)}.wb-btn-icon{flex-shrink:0;font-size:1.1rem}.wb-sidebar-btn--action{background:hsla(0,0%,100%,.04)}.wb-sidebar-btn--danger{animation:wb-danger-pulse .6s ease-in-out infinite alternate;background:rgba(217,95,79,.18);border-color:rgba(217,95,79,.5);color:#f5b0a8}@keyframes wb-danger-pulse{0%{background:rgba(217,95,79,.12)}to{background:rgba(217,95,79,.28)}}.wb-theme-row{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr 1fr}.wb-theme-btn{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:#c2b596;font-size:.8rem;font-weight:700;min-height:36px;padding:0 8px}.wb-theme-btn--on{background:rgba(214,168,79,.18);border-color:rgba(214,168,79,.5);color:#f3d179}.wb-sidebar-footer{margin-top:auto;padding:14px}.wb-back-link{color:#8a7d66;display:block;font-size:.82rem;font-weight:800;padding:6px 0;text-decoration:none}.wb-back-link:hover{color:#c2b596}.wb-sidebar-icons{flex-direction:column;gap:6px;padding:10px 6px}.wb-icon-btn,.wb-sidebar-icons{align-items:center;display:flex}.wb-icon-btn{background:hsla(0,0%,100%,.06);border:1px solid rgba(214,168,79,.12);border-radius:8px;color:#f4ead4;font-size:1.15rem;height:38px;justify-content:center;width:38px}.wb-icon-btn:hover{background:hsla(0,0%,100%,.12);border-color:rgba(214,168,79,.3)}.wb-icon-btn--expand{font-size:.82rem}.wb-icon-divider{background:hsla(0,0%,100%,.08);height:1px;margin:4px 0;width:100%}.wb-exit-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.88);border:1px solid rgba(180,195,220,.5);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#8a9ab8;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:32px;justify-content:center;position:fixed;right:16px;text-decoration:none;top:14px;transition:background .12s ease,color .12s ease;width:32px;z-index:200}.wb-exit-btn:hover{background:#ffe8e8;border-color:rgba(220,80,80,.3);color:#c33}.wb-board{flex:1 1;overflow:hidden;position:relative}.wb-board--white{background:#fff}.wb-board--parchment{background:radial-gradient(ellipse at 20% 20%,hsla(40,62%,85%,.5) 0,transparent 60%),radial-gradient(ellipse at 80% 80%,hsla(38,51%,75%,.4) 0,transparent 55%),linear-gradient(145deg,#f9f3e4,#f3ecd6 50%,#ede4c8)}.wb-empty-hint{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.wb-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.3}.wb-empty-hint p{color:#b0b8c8;font-size:1rem;font-weight:700;margin:4px 0}.wb-toast{animation:wb-toast-pop 2.4s ease forwards;background:rgba(24,31,46,.94);border:1px solid rgba(214,168,79,.4);border-radius:10px;bottom:24px;box-shadow:0 12px 36px rgba(0,0,0,.35);color:#f4ead4;font-size:.95rem;font-weight:800;left:50%;padding:12px 22px;position:fixed;transform:translateX(-50%);z-index:400}@keyframes wb-toast-pop{0%{opacity:0;transform:translate(-50%,12px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}.wb-widget{background:#fff;border:2px solid #dde4ef;border-radius:12px;box-shadow:0 4px 20px rgba(23,32,51,.13);cursor:-webkit-grab;cursor:grab;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.wb-widget input,.wb-widget select,.wb-widget textarea{cursor:text}.wb-widget button{cursor:pointer}.wb-widget label{cursor:default}[data-dragging="1"] .wb-widget{cursor:-webkit-grabbing;cursor:grabbing}.wb-widget:hover{border-color:#c4cedf;box-shadow:0 6px 28px rgba(23,32,51,.18)}.wb-widget-controls{align-items:center;display:flex;gap:3px;opacity:0;position:absolute;right:6px;top:6px;transition:opacity .15s ease;z-index:10}.wb-widget:hover .wb-widget-controls{opacity:1}.wb-style-btn,.wb-widget-close{align-items:center;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(180,195,220,.5);border-radius:7px;box-shadow:0 1px 4px rgba(0,0,0,.1);cursor:pointer;display:flex;font-size:.72rem;font-weight:900;height:26px;justify-content:center;padding:0;transition:background .12s ease,box-shadow .12s ease;width:26px}.wb-style-btn{font-size:.85rem}.wb-style-btn:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.wb-widget-close{color:#8a9ab8}.wb-widget-close:hover{background:#ffe8e8;border-color:rgba(220,80,80,.3);color:#d05050}.wb-style-panel{background:#1e212e;border:1px solid rgba(214,168,79,.3);border-radius:11px;box-shadow:0 10px 32px rgba(0,0,0,.35);min-width:200px;padding:12px 14px;position:fixed;z-index:9999}.wb-style-panel-title{color:#8a9ab8;font-size:.68rem;font-weight:800;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.wb-widget-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.wb-widget-subtitle{color:#657089;font-size:.75rem;font-weight:800;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.wb-text-widget{display:flex;flex-direction:column;height:100%;padding:10px}.wb-text-controls{align-items:center;display:flex;flex-shrink:0;gap:12px;margin-bottom:8px}.wb-control-label{align-items:center;color:#657089;display:flex;font-size:.75rem;font-weight:800;gap:6px}.wb-control-label input[type=range]{height:4px;width:72px}.wb-control-label input[type=color]{border:1px solid #dde4ef;border-radius:4px;cursor:pointer;height:26px;padding:2px;width:36px}.wb-directions-view{display:flex;flex-direction:column;gap:10px;height:100%;padding:12px}.wb-directions-view-header strong{font-size:1.05em}.wb-directions-view-body{flex:1 1;overflow:auto}.wb-direction-line{font-size:1em;font-weight:600;line-height:1.55}.wb-directions-edit{display:flex;flex-direction:column;gap:8px;height:100%;padding:12px}.wb-directions-title-input{font:inherit;font-weight:800;min-height:38px;padding:6px 10px}.wb-directions-body-input,.wb-directions-title-input{background:#f5f7fb;border:1px solid #dde4ef;border-radius:6px;width:100%}.wb-directions-body-input{flex:1 1;font:inherit;padding:8px 10px;resize:none}.wb-edit-btn{background:#f5f7fb;border:1px solid #dde4ef;border-radius:6px;color:#657089;font-size:.78em;font-weight:800;min-height:30px;padding:0 10px}.wb-edit-btn:hover{background:#eef0f6}.wb-done-btn{background:#3675d8;border-radius:6px;color:#fff;padding:0 14px}.wb-cancel-btn,.wb-done-btn{font-weight:800;min-height:34px}.wb-cancel-btn{background:#f5f7fb;border:1px solid #dde4ef;border-radius:6px;color:#657089;padding:0 10px}.wb-checklist{gap:8px;padding:12px}.wb-checklist-header{flex-shrink:0}.wb-checklist-title{font-size:1em;font-weight:800}.wb-checklist-title-input{background:#f5f7fb;border:1px solid #dde4ef;border-radius:6px;flex:1 1;font:inherit;font-weight:800;min-height:32px;padding:4px 8px}.wb-checklist-count{background:#f5f7fb;border:1px solid #dde4ef;border-radius:999px;color:#657089;padding:3px 10px}.wb-checklist-items{display:flex;flex-direction:column;gap:4px;min-height:0}.wb-checklist-item{align-items:center;background:#f9fafb;border:1px solid #eef1f6;border-radius:6px;padding:7px 8px;transition:background 80ms ease}.wb-checklist-item:hover{background:#f0f4fa}.wb-checklist-item input[type=checkbox]{height:18px;width:18px}.wb-checklist-item span{flex:1 1;font-size:.92em;font-weight:600;line-height:1.3}.wb-item-del{border-radius:4px;flex-shrink:0;font-size:.72em;height:22px;transition:opacity .1s ease;width:22px}.wb-item-del:hover{background:#ffe8e5;color:#9a2f24}.wb-checklist-add{flex-shrink:0}.wb-checklist-add input{border:1px solid #dde4ef;min-height:36px;padding:0 10px}.wb-add-btn{background:#f0f4ff;border:1px solid #a9c7ff;color:#2257a6;font-size:1.2rem;height:36px;width:36px}.wb-timer{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:14px 12px}.wb-timer-display{background:#1e212e;border:2px solid rgba(214,168,79,.25);border-radius:12px;color:#f3d179;font-size:2.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em;padding:12px 20px;text-align:center;transition:background .2s ease,border-color .2s ease;width:100%}.wb-timer-display--running{border-color:rgba(214,168,79,.55)}.wb-timer-display--ended{animation:wb-end-flash .8s ease-in-out infinite alternate;background:#3a1010;border-color:rgba(217,95,79,.6);color:#f5b0a8;font-size:1.5rem}@keyframes wb-end-flash{0%{background:#3a1010}to{background:#501818}}.wb-timer-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.wb-ctrl-btn{background:#f5f7fb;border:1px solid #dde4ef;border-radius:8px;color:#172033;font-size:.85rem;font-weight:800;min-height:38px;padding:0 14px}.wb-ctrl-btn--start{background:#e7f8ef;border-color:#a8dfbf;color:#176b45}.wb-ctrl-btn--pause{background:#fff3c4;border-color:#f4c44f;color:#725100}.wb-ctrl-btn:disabled{cursor:not-allowed;opacity:.4}.wb-timer-set{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.wb-timer-set label{align-items:center;color:#657089;display:flex;font-size:.8rem;font-weight:800;gap:5px}.wb-timer-set input[type=number]{background:#f5f7fb;border:1px solid #dde4ef;border-radius:6px;font:inherit;font-weight:800;min-height:34px;padding:0 6px;text-align:center;width:54px}.wb-picker{flex-direction:column;gap:12px;height:100%;padding:14px 12px}.wb-picker,.wb-reel{align-items:center;display:flex;justify-content:center}.wb-reel{background:#1e212e;border:2px solid rgba(214,168,79,.2);border-radius:12px;height:80px;overflow:hidden;position:relative;transition:border-color .2s ease;width:100%}.wb-reel--spinning{border-color:rgba(214,168,79,.35)}.wb-reel--result{border-color:var(--rpg-gold-bright,#f3d179);box-shadow:0 0 0 1px #f3d179,0 4px 18px hsla(43,84%,71%,.12)}.wb-reel-hint{color:#8a7d66;font-size:.82em;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.wb-reel-name{color:#f4ead4;font-size:1.5em;font-weight:900;text-align:center}.wb-reel--spinning .wb-reel-name{animation:wb-reel-flicker .1s ease infinite;color:#8a7d66}.wb-reel--result .wb-reel-name{animation:wb-reel-land .35s cubic-bezier(.18,1.5,.4,1) forwards;color:#f3d179}@keyframes wb-reel-flicker{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.4;transform:translateY(-3px)}}@keyframes wb-reel-land{0%{opacity:.6;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.wb-spin-btn{background:linear-gradient(135deg,#d6a84f,#f3d179);border-radius:10px;color:#1a1200;font-size:1em;font-weight:900;min-height:46px;width:100%}.wb-spin-btn:disabled{opacity:.4}.wb-picker-hint{color:#9aabb8;font-size:.8em;font-weight:700;margin:0;text-align:center}.wb-dir-title{font-size:1em;font-weight:900}.wb-direction-line{font-size:.95em;line-height:1.5;margin:4px 0}.wb-directions-view-header{align-items:center;border-bottom:1px solid #e8ebf2;display:flex;justify-content:space-between;padding:10px 12px 8px}.wb-directions-view-body{padding:8px 12px 10px}.wb-checklist{display:flex;flex-direction:column;height:100%;overflow-y:auto}.wb-checklist-title{cursor:pointer;font-size:.95em;font-weight:900}.wb-item-text{flex:1 1;font-size:.9em;line-height:1.4}.wb-checked-text{color:#9aabb8;flex:1 1;font-size:.9rem;line-height:1.4;text-decoration:line-through}.wb-checklist-header{align-items:center;border-bottom:1px solid #e8ebf2;display:flex;justify-content:space-between;padding:8px 12px}.wb-checklist-count{color:#8a9ab8;font-size:.78em;font-weight:800}.wb-checklist-items{flex:1 1;overflow-y:auto;padding:6px 12px}.wb-checklist-item{align-items:flex-start;cursor:pointer;display:flex;gap:8px;padding:5px 0}.wb-checklist-item input[type=checkbox]{flex-shrink:0;margin-top:2px}.wb-item-del{background:none;border:none;color:#c0c8d8;cursor:pointer;font-size:.65rem;line-height:1;opacity:0;padding:2px 4px;transition:opacity .12s,color .12s}.wb-checklist-item:hover .wb-item-del{opacity:1}.wb-item-del:hover{color:#e07070}.wb-checklist-add{border-top:1px solid #e8ebf2;display:flex;gap:6px;padding:8px 10px}.wb-checklist-add input{background:#f5f7fb;border:1px solid #e0e6f0;border-radius:6px;color:#1a2035;flex:1 1;font:inherit;font-size:.88rem;padding:6px 8px}.wb-add-btn{background:#e8eef8;border:1px solid #c8d4e8;border-radius:6px;color:#3a5a90;cursor:pointer;font-size:1.1rem;font-weight:900;line-height:1;padding:4px 10px;transition:background .12s}.wb-add-btn:hover{background:#d4e0f4}.wb-clock-wrap{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:12px 16px 16px}.wb-clock-display{color:#1a2035;font-family:Courier New,Courier,monospace;font-size:3em;font-weight:900;letter-spacing:.04em;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wb-clock--idle{color:#2a3550;cursor:pointer}.wb-clock--idle:hover{color:#1a2035;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:5px}.wb-clock--running{color:#1a7a3a;cursor:default}.wb-clock--ended{animation:wb-clock-flash .75s ease infinite alternate;color:#c33;cursor:default;font-size:2em}@keyframes wb-clock-flash{0%{opacity:.45}to{opacity:1}}.wb-clock-input{background:transparent;border:none;border-bottom:2px solid #d6a84f;color:#1a2035;font-family:Courier New,Courier,monospace;font-size:3em;font-weight:900;letter-spacing:.04em;outline:none;padding:0 4px;text-align:center;width:100%}.wb-clock-btns{gap:10px;margin-top:14px}.wb-clock-btn,.wb-clock-btns{display:flex;justify-content:center}.wb-clock-btn{align-items:center;background:#f0f2f8;border:1px solid #dde4ef;border-radius:10px;color:#2a3550;cursor:pointer;font-size:1.15em;height:44px;transition:background .12s ease,transform 80ms ease;width:54px}.wb-clock-btn:hover{background:#e4e8f5}.wb-clock-btn:active{transform:scale(.93)}.wb-clock-btn:disabled{cursor:not-allowed;opacity:.3}.wb-clock-btn--play{background:#e8f5ec;border-color:#a8dbb8;color:#1a7a3a}.wb-clock-btn--play:hover{background:#d4eedd}.wb-clock-btn--pause{background:#fff5e0;border-color:#f3c66f;color:#8a5c00}.wb-clock-btn--pause:hover{background:#ffedc4}.wb-clock-btn--reset{color:#5a6a8a}
/* !important needed to beat the global textarea { background: #fff8e8 !important } rule */.wb-textarea{background:var(--wb-bg,#fff)!important;border:none!important;border-radius:0!important;color:var(--wb-text,#1a2035)!important;flex:1 1;font-family:inherit;font-weight:600;line-height:1.5;min-height:0;outline:none!important;padding:14px;resize:none;width:100%}.wb-textarea::placeholder{color:inherit!important;opacity:.45}.wb-textarea:focus{outline:none!important}.wb-fmt-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.wb-fmt-row--range{gap:6px}.wb-fmt-row:last-child{margin-bottom:0}.wb-fmt-label{color:#8a9ab8;flex-shrink:0;font-size:.72rem;font-weight:800;min-width:30px}.wb-fmt-row input[type=color]{border:1px solid hsla(0,0%,100%,.12);border-radius:5px;cursor:pointer;flex-shrink:0;height:28px;padding:0;width:44px}.wb-fmt-row input[type=range]{flex:1 1}.wb-fmt-val{color:#c2b596;flex-shrink:0;font-size:.72rem;font-weight:800;min-width:22px;text-align:right}.wb-align-btns{display:flex;gap:4px}.wb-align-btn{align-items:center;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:5px;color:#8a9ab8;cursor:pointer;display:flex;font-size:.9rem;height:28px;justify-content:center;transition:background .12s ease,color .12s ease;width:34px}.wb-align-btn:hover{background:hsla(0,0%,100%,.14);color:#d6c08e}.wb-align-btn--on{background:rgba(214,168,79,.2);border-color:rgba(214,168,79,.45);color:#f3d179}.wb-preset-swatches{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.wb-preset-swatch{border:2px solid rgba(200,210,230,.4);border-radius:6px;cursor:pointer;height:24px;outline:none;transition:border-color .12s ease,transform 80ms ease;width:32px}.wb-preset-swatch:hover{border-color:rgba(214,168,79,.5);transform:scale(1.1)}.wb-preset-swatch--on{border-color:#f3d179;box-shadow:0 0 0 1px #f3d179}.wb-bg-custom-row{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:5px 0 4px}.wb-bg-custom-row span{color:#8a9ab8;font-size:.75rem;font-weight:800}.wb-bg-custom-row input[type=color]{border:1px solid hsla(0,0%,100%,.08);border-radius:4px;cursor:pointer;height:24px;padding:0;width:42px}.wb-resize-handle{bottom:0;cursor:se-resize;height:18px;position:absolute;right:0;width:18px}.wb-resize-handle:after{border-bottom:2px solid rgba(180,192,210,.55);border-right:2px solid rgba(180,192,210,.55);bottom:4px;content:"";display:block;height:8px;position:absolute;right:4px;width:8px}.wb-board--custom{background:#f5f1e8}.wb-bg-color-row{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;margin-top:6px;padding:7px 10px;transition:background .12s ease}.wb-bg-color-row:hover{background:hsla(0,0%,100%,.06)}.wb-bg-color-row--on{background:rgba(214,168,79,.12);border-color:rgba(214,168,79,.3)}.wb-bg-color-row span{color:#c2b596;font-size:.82rem;font-weight:800}.wb-bg-color-row input[type=color]{border:none;border-radius:4px;cursor:pointer;height:24px;padding:0;width:38px}.wb-bg-images-label{color:#7a8ba0;font-size:.72rem;font-weight:800;letter-spacing:.07em;margin:10px 0 6px;text-transform:uppercase}.wb-bg-images{display:flex;flex-wrap:wrap;gap:6px}.wb-bg-thumb{background-position:50%;background-size:cover;border:2px solid hsla(0,0%,100%,.12);border-radius:7px;cursor:pointer;height:48px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:66px}.wb-bg-thumb:hover{border-color:rgba(214,168,79,.5)}.wb-bg-thumb--on{border-color:#f3d179;box-shadow:0 0 0 2px hsla(43,84%,71%,.35)}.spinner-shell{background:radial-gradient(circle at 68% 18%,rgba(214,168,79,.13),transparent 30%),radial-gradient(circle at 36% 52%,rgba(54,117,216,.1),transparent 38%),linear-gradient(135deg,#202432,#111622);color:#f4ead4;display:block;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:300}.spinner-sidebar-title{color:#f4ead4;font-size:1.05rem;font-weight:900}.spinner-floating-back,.spinner-light-button{background:rgba(28,32,45,.88);border:1px solid hsla(41,59%,89%,.18);border-radius:8px;color:#f4ead4;box-shadow:0 10px 26px rgba(0,0,0,.24);font-weight:850;min-height:38px;padding:9px 12px}.spinner-floating-back{left:16px;position:fixed;top:16px;z-index:6}.spinner-field{color:#c2b596;display:grid;font-size:.72rem;font-weight:850;grid-gap:7px;gap:7px;text-transform:uppercase}.spinner-field input,.spinner-textarea-field textarea{background:#f7efd9;border:1px solid hsla(41,59%,89%,.4);border-radius:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55);color:#172033;font:inherit;font-weight:850;min-height:40px;padding:0 10px;text-transform:none}.spinner-field--duration input{max-width:110px;width:110px}.spinner-duration-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.spinner-segmented{background:hsla(0,0%,100%,.055);border:1px solid hsla(41,59%,89%,.14);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.spinner-segmented-button{background:transparent;border-radius:6px;color:#d8cba9;font-size:.78rem;font-weight:900;min-height:38px;padding:0 8px}.spinner-segmented-button--on{background:#f7efd9;color:#172033;box-shadow:0 8px 18px rgba(0,0,0,.22)}.spinner-pill-button{background:hsla(0,0%,100%,.06);border:1px solid hsla(41,59%,89%,.14);border-radius:8px;color:#d8cba9;font-size:.72rem;font-weight:850;min-height:36px;padding:0 8px}.spinner-pill-button--on{background:linear-gradient(180deg,#d6a84f,#9b711d);border-color:hsla(43,84%,71%,.86);color:#1b1e2a;box-shadow:0 8px 18px rgba(214,168,79,.18)}.spinner-theme-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.spinner-theme-button{align-items:center;background:hsla(0,0%,100%,.055);border:1px solid hsla(41,59%,89%,.14);border-radius:8px;color:#f4ead4;display:flex;font-size:.76rem;font-weight:900;gap:8px;min-height:38px;padding:6px 8px}.spinner-theme-button--on{background:hsla(44,65%,91%,.12);border-color:rgba(214,168,79,.68);box-shadow:inset 0 0 0 1px rgba(214,168,79,.28);color:#f3d179}.spinner-theme-swatch{border-radius:999px;display:grid;flex:0 0 auto;grid-template-columns:repeat(4,1fr);height:18px;overflow:hidden;width:34px}.spinner-theme-swatch i{display:block}.spinner-check{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(41,59%,89%,.1);border-radius:8px;color:#f4ead4;display:flex;font-size:.86rem;font-weight:800;gap:10px;min-height:42px;padding:8px 10px}.spinner-check input,.spinner-entry-row input{accent-color:#d6a84f;height:18px;width:18px}.spinner-history{color:#f4ead4;display:grid;grid-gap:6px;gap:6px;margin:0;max-height:104px;overflow-y:auto;padding-left:22px}.spinner-muted{color:#8a7d66;font-weight:800;margin:0}.spinner-main{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(560px,1fr) minmax(360px,31vw);height:100%;min-width:0;overflow:hidden;padding:16px 16px 16px 74px}.spinner-wheel-stage{align-items:center;align-self:center;aspect-ratio:1;display:flex;justify-content:center;justify-self:center;max-width:min(calc(100dvh - 22px),calc(100vw - 430px));position:relative;width:min(100%,calc(100dvh - 22px),calc(100vw - 430px))}.spinner-pointer{border-left:26px solid transparent;border-right:26px solid transparent;border-top:48px solid #f7efd9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));left:50%;position:absolute;top:-2px;transform:translateX(-50%);z-index:4}.spinner-wheel{aspect-ratio:1;border:8px solid #f4ead4;border-radius:50%;box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 0 0 8px rgba(23,32,51,.22);overflow:hidden;position:relative;transition-property:transform;transition-timing-function:cubic-bezier(.12,.74,.12,1);width:100%}.spinner-wheel:before{background:repeating-conic-gradient(from 0deg,transparent 0 calc(var(--slice-angle) - .8deg),hsla(41,59%,89%,.32) calc(var(--slice-angle) - .8deg) var(--slice-angle));mix-blend-mode:soft-light;z-index:1}.spinner-wheel:after,.spinner-wheel:before{content:"";inset:0;pointer-events:none;position:absolute}.spinner-wheel:after{background:radial-gradient(circle,transparent 0 53%,hsla(0,0%,100%,.08) 53.5% 54.5%,transparent 55% 100%),radial-gradient(circle,transparent 0 66%,rgba(0,0,0,.12) 67% 100%)}.spinner-wheel-label{font-size:1rem;font-weight:950;height:34px;left:50%;line-height:1;padding-right:0;text-shadow:0 1px 2px rgba(0,0,0,.22);top:calc(50% - 17px);transform-origin:0 50%;width:50%;z-index:2}.spinner-center-button,.spinner-wheel-label{align-items:center;display:flex;justify-content:center;position:absolute}.spinner-center-button{background:#1e212e;border:5px solid #f7efd9;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.42);color:#f3d179;font-size:clamp(1.1rem,3vw,2rem);font-weight:1000;height:clamp(96px,18vw,150px);letter-spacing:.06em;width:clamp(96px,18vw,150px);z-index:5}.spinner-center-button:disabled,.spinner-entry-panel .primary-action:disabled{cursor:not-allowed;opacity:.45}.spinner-entry-panel{align-self:stretch;background:rgba(28,31,44,.9);border:1px solid hsla(41,59%,89%,.16);border-radius:8px;box-shadow:0 22px 58px rgba(0,0,0,.32);display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px}.spinner-tool-head{align-items:center;border-bottom:1px solid rgba(214,168,79,.16);display:flex;flex:0 0 auto;justify-content:space-between;padding-bottom:10px}.spinner-settings{background:hsla(0,0%,100%,.045);border:1px solid hsla(41,59%,89%,.13);border-radius:8px;flex:0 0 auto;padding:10px}.spinner-settings summary{color:#d6a84f;cursor:pointer;font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.spinner-settings-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr;margin-top:10px}.spinner-field--duration{grid-column:auto}.spinner-toggle-panel{border-top:1px solid hsla(41,59%,89%,.1);display:grid;grid-gap:8px 12px;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;padding-top:10px}.spinner-panel-head{align-items:center;display:flex;gap:16px;justify-content:space-between;padding-top:2px}.spinner-panel-head h1{color:#f4ead4;font-size:clamp(2rem,3.3vw,3.2rem);line-height:1;margin:0}.spinner-active-area{display:block;flex:0 0 auto;min-height:auto;overflow:visible}.spinner-mode-grid{display:grid;grid-gap:14px;gap:14px;grid-template-rows:auto auto;min-height:auto}.spinner-textarea-field{color:#c2b596;display:grid;font-size:.78rem;font-weight:900;grid-gap:8px;gap:8px;text-transform:uppercase}.spinner-textarea-field textarea{line-height:1.45;min-height:190px;padding:12px;resize:vertical}.spinner-entry-list,.spinner-student-list{display:grid;grid-gap:8px;gap:8px;align-content:start;max-height:none;min-height:auto;overflow:visible;padding-right:4px}.spinner-student-list{height:auto;min-height:auto}.spinner-recent-panel{background:rgba(28,31,44,.78);border:1px solid hsla(41,59%,89%,.16);border-radius:8px;bottom:16px;box-shadow:0 18px 38px rgba(0,0,0,.26);display:grid;grid-gap:8px;gap:8px;left:16px;max-width:min(280px,28vw);min-width:220px;padding:12px;position:fixed;z-index:6}.spinner-entry-row{align-items:center;background:hsla(0,0%,100%,.065);border:1px solid hsla(41,59%,89%,.11);border-radius:8px;color:#f4ead4;display:flex;gap:10px;justify-content:space-between;min-height:42px;padding:8px 10px}.spinner-entry-row:hover{background:hsla(0,0%,100%,.09);border-color:rgba(214,168,79,.28)}.spinner-entry-row span{min-width:0;overflow-wrap:anywhere}.spinner-entry-row button{background:rgba(217,95,79,.18);border:1px solid rgba(217,95,79,.35);border-radius:8px;color:#f5b0a8;flex:0 0 auto;font-size:.78rem;font-weight:900;min-height:30px;padding:0 10px}.spinner-empty-note{background:hsla(0,0%,100%,.06);border:1px dashed rgba(214,168,79,.28);border-radius:8px;color:#c2b596;font-weight:900;margin:0;padding:14px}.spinner-raffle-wrap{display:grid;grid-gap:14px;gap:14px;grid-template-rows:auto auto;height:auto;min-height:auto;overflow:visible}.spinner-raffle-controls{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.spinner-grid-preview{display:grid;grid-gap:6px;gap:6px;align-self:start;justify-self:center;max-width:min(100%,460px);overflow:hidden;width:100%}.spinner-grid-preview span{align-items:center;aspect-ratio:1;background:linear-gradient(145deg,hsla(44,65%,91%,.16),rgba(214,168,79,.08));border:1px solid hsla(41,59%,89%,.16);border-radius:6px;display:flex;min-height:0}.spinner-grid-preview span:nth-child(odd){background:linear-gradient(145deg,rgba(54,117,216,.16),rgba(47,158,116,.08))}.spinner-modal-backdrop{align-items:center;background:rgba(8,11,18,.62);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:500}.spinner-winner-modal{animation:spinnerWinnerPop .32s cubic-bezier(.18,1.4,.4,1) both;max-width:min(620px,100%);overflow:hidden;padding:30px;text-align:center}.spinner-theme-modal,.spinner-winner-modal{background:#1e212e;border:1px solid rgba(214,168,79,.45);border-radius:8px;box-shadow:0 28px 80px rgba(0,0,0,.5);position:relative}.spinner-theme-modal{animation:spinnerWinnerPop .26s cubic-bezier(.18,1.4,.4,1) both;max-width:min(520px,100%);padding:24px;width:min(520px,100%)}.spinner-theme-modal h2{color:#f4ead4;font-size:1.7rem;line-height:1;margin:8px 0 18px}.spinner-custom-colors{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.spinner-custom-colors label{align-items:center;background:hsla(0,0%,100%,.055);border:1px solid hsla(41,59%,89%,.12);border-radius:8px;color:#d8cba9;display:flex;font-size:.82rem;font-weight:900;justify-content:space-between;min-height:46px;padding:8px 10px}.spinner-custom-colors input[type=color]{background:transparent;border:0;cursor:pointer;height:30px;padding:0;width:42px}.spinner-winner-modal h2{color:#f4ead4;font-size:clamp(2.2rem,8vw,4.8rem);line-height:1;margin:8px 0 22px;overflow-wrap:anywhere}.spinner-winner-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.spinner-sparkles span{animation:spinnerSparkle 1.1s ease-in-out infinite alternate;background:#f3d179;border-radius:999px;height:8px;position:absolute;width:8px}.spinner-sparkles span:first-child{left:10%;top:18%}.spinner-sparkles span:nth-child(2){animation-delay:.12s;right:12%;top:16%}.spinner-sparkles span:nth-child(3){animation-delay:.24s;left:18%;bottom:22%}.spinner-sparkles span:nth-child(4){animation-delay:.36s;right:20%;bottom:18%}.spinner-sparkles span:nth-child(5){animation-delay:.48s;left:50%;top:10%}@keyframes spinnerWinnerPop{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spinnerSparkle{0%{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.35)}}@media (max-width:980px){.spinner-shell{display:block;overflow:auto}.spinner-main{grid-template-columns:1fr;height:auto;overflow:visible;padding:70px 14px 14px}.spinner-wheel-stage{max-width:min(90vw,620px);width:min(90vw,620px)}.spinner-recent-panel{bottom:auto;left:auto;margin-top:12px;max-width:100%;min-width:0;position:relative;width:100%}.spinner-settings-grid,.spinner-toggle-panel{grid-template-columns:1fr}}@media (max-width:620px){.spinner-main{padding:14px}.spinner-panel-head,.spinner-winner-actions{align-items:stretch;flex-direction:column}.spinner-raffle-controls{grid-template-columns:1fr}}.app-shell:has(.marketing-page){align-items:stretch;display:flex;flex-direction:column;max-width:none;padding:0;width:100%}body:has(.marketing-page){background:linear-gradient(180deg,#fff,#f6fbff 48%,#fff7e7),#fff}.app-shell:has(.marketing-page) .topbar{background:hsla(0,0%,100%,.92)!important;border-color:rgba(28,45,73,.08)!important;box-shadow:0 12px 34px rgba(28,45,73,.08)!important;margin:0 auto;max-width:1120px}.app-shell:has(.marketing-page) .brand-mark{background:#174c62!important;color:#fff!important}.app-shell:has(.marketing-page) .brand strong{color:#152235!important}.app-shell:has(.marketing-page) .brand small,.app-shell:has(.marketing-page) nav a{color:#637087!important}.app-shell:has(.marketing-page) .topbar-demo-button{background:#f0b429!important;border:1px solid #d79b1e!important;color:#192235!important}.marketing-page{color:#152235;overflow:hidden}.marketing-hero{background:linear-gradient(90deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.9) 44%,hsla(0,0%,100%,.6)),linear-gradient(135deg,rgba(33,171,143,.16),rgba(240,180,41,.18)),url(/spine/fantasy-character.png);background-position:50%,50%,58% 42%;background-size:auto,auto,1040px auto;border-bottom:1px solid rgba(28,45,73,.08);display:grid;grid-gap:26px;gap:26px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.78fr);min-height:min(760px,calc(100vh - 98px));padding:clamp(54px,8vw,96px) max(24px,calc((100vw - 1120px) / 2)) 44px;position:relative}.marketing-hero-content{align-self:center;max-width:680px;position:relative;z-index:1}.marketing-kicker{color:#147564;font-size:.78rem;font-weight:900;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.marketing-hero h1{color:#132033;font-size:clamp(3.1rem,7vw,6.8rem);letter-spacing:0;line-height:.92;margin:0;max-width:850px}.compact-band span,.marketing-hero p:not(.marketing-kicker),.marketing-section p{color:#637087;font-size:1.04rem;line-height:1.65}.marketing-hero-content>p:not(.marketing-kicker){max-width:610px}.marketing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.marketing-primary,.marketing-secondary{align-items:center;border-radius:8px;display:inline-flex;font-weight:900;justify-content:center;min-height:48px;padding:0 18px}.marketing-primary{background:#174c62;box-shadow:0 14px 28px rgba(23,76,98,.22);color:#fff}.marketing-secondary{background:#fff;border:1px solid rgba(23,76,98,.16);color:#174c62}.marketing-secondary.as-button{width:100%}.marketing-hero-preview{align-self:end;position:relative;z-index:1}.preview-window{background:hsla(0,0%,100%,.94);border:1px solid rgba(28,45,73,.12);border-radius:8px;box-shadow:0 28px 60px rgba(28,45,73,.16);display:grid;grid-gap:14px;gap:14px;padding:14px}.preview-toolbar{display:flex;gap:7px}.preview-toolbar span{background:#f0755b;border-radius:999px;height:10px;width:10px}.preview-toolbar span:nth-child(2){background:#f0b429}.preview-toolbar span:nth-child(3){background:#26a68a}.compact-band>div,.feature-card,.marketing-sign-in,.preview-awards span,.preview-class,.preview-grid article,.video-placeholder,.workflow-step{background:#fff;border:1px solid rgba(28,45,73,.1);border-radius:8px;box-shadow:0 14px 36px rgba(28,45,73,.08)}.preview-class{align-items:center;display:flex;justify-content:space-between;padding:16px}.preview-class p,.preview-grid p{color:#637087;margin:0}.preview-class strong,.preview-grid strong{display:block;margin-top:4px}.preview-class>span{background:#fff2c6;border-radius:8px;color:#8b5d00;font-weight:900;padding:8px 10px}.preview-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.preview-grid article{min-width:0;padding:14px}.preview-avatar{align-items:center;background:#d8f3ed;border-radius:8px;color:#0d6c5e;display:inline-flex;font-weight:900;height:42px;justify-content:center;margin-bottom:12px;width:42px}.preview-avatar.warm{background:#ffe3d7;color:#a8432e}.preview-avatar.green{background:#e7f4c4;color:#4d6b18}.preview-awards{display:flex;flex-wrap:wrap;gap:8px}.preview-awards span{color:#174c62;font-weight:900;padding:9px 11px}.marketing-band,.marketing-section{margin:0 auto;max-width:1120px;padding:70px 24px}.compact-band{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:42px;padding-top:28px}.compact-band>div{padding:18px}.compact-band strong{display:block;font-size:1.05rem;margin-bottom:5px}.compact-band span{display:block;font-size:.95rem}.marketing-section-heading{margin-bottom:26px;max-width:700px}.marketing-section h2{color:#142135;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:0;line-height:1;margin:0}.feature-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card{padding:32px}.feature-card>span{background:linear-gradient(135deg,#27a68a 0 50%,#f0b429 50% 100%);border-radius:8px;display:block;height:42px;margin-bottom:24px;width:42px}.feature-card:nth-child(2)>span{background:linear-gradient(135deg,#f0755b 0 50%,#f0b429 50% 100%)}.feature-card:nth-child(3)>span{background:linear-gradient(135deg,#6e7bd9 0 50%,#27a68a 50% 100%)}.feature-card:nth-child(4)>span{background:linear-gradient(135deg,#174c62 0 50%,#f0755b 50% 100%)}.feature-card h3,.workflow-step h3{color:#142135;font-size:1.25rem;font-weight:800;margin:0 0 10px}.feature-card p,.workflow-step p{font-size:1rem;line-height:1.6;margin:0}.product-story,.sign-in-section{align-items:center;display:grid;grid-gap:34px;gap:34px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sign-in-copy p:not(.marketing-kicker),.story-copy p:not(.marketing-kicker){max-width:560px}.video-placeholder{align-items:center;background:linear-gradient(135deg,rgba(23,76,98,.9),rgba(39,166,138,.84)),url(/spine/fantasy-character.png);background-position:50%;background-size:820px auto;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:360px;padding:34px;text-align:center}.video-placeholder strong{font-size:1.35rem;margin-top:18px}.video-placeholder p{color:hsla(0,0%,100%,.86);max-width:360px}.play-symbol{background:#fff;border-radius:999px;box-shadow:0 18px 38px rgba(0,0,0,.18);height:74px;position:relative;width:74px}.play-symbol:after{border-bottom:14px solid transparent;border-left:20px solid #174c62;border-top:14px solid transparent;content:"";left:30px;position:absolute;top:23px}.workflow-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.workflow-step{padding:20px}.workflow-step>span{align-items:center;background:#fff2c6;border-radius:8px;color:#8b5d00;display:inline-flex;font-weight:900;height:36px;justify-content:center;margin-bottom:18px;width:36px}.sign-in-section{padding-bottom:96px}.marketing-sign-in{display:grid;grid-gap:14px;gap:14px;padding:20px}.marketing-sign-in label{color:#152235;display:grid;font-weight:800;grid-gap:8px;gap:8px}.marketing-sign-in input{background:#f6fbff;border:1px solid rgba(28,45,73,.14);border-radius:8px;color:#152235;min-height:46px;padding:0 12px}.marketing-sign-in .form-message,.marketing-sign-in .google-action{background:#fff!important;border-color:rgba(28,45,73,.12)!important;box-shadow:none!important;color:#152235!important}@media (max-width:920px){.marketing-hero,.product-story,.sign-in-section{grid-template-columns:1fr}.marketing-hero{min-height:0}.marketing-hero-preview{align-self:stretch}.compact-band,.feature-grid,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.app-shell:has(.marketing-page){padding-top:10px}.app-shell:has(.marketing-page) .topbar{margin:0 12px}.marketing-hero{background-size:auto,auto,720px auto;padding:42px 18px 30px}.marketing-hero h1{font-size:clamp(2.55rem,16vw,4rem)}.compact-band,.feature-grid,.preview-grid,.workflow-grid{grid-template-columns:1fr}.marketing-band,.marketing-section{padding-left:18px;padding-right:18px}}body:has(.marketing-page){background:radial-gradient(circle at 18% 14%,rgba(255,215,89,.34),transparent 24%),radial-gradient(circle at 88% 24%,rgba(88,204,180,.28),transparent 22%),linear-gradient(180deg,#fffaf0,#f0fbff 44%,#fff7e8)}.mkt-nav{align-items:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(255,250,244,.55);border-bottom:1px solid rgba(16,36,58,.07);box-sizing:border-box;display:grid;grid-template-columns:1fr auto 1fr;padding:0 clamp(24px,5vw,80px);position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:200}.mkt-nav-brand{align-items:center;color:#10243a;display:flex;font-size:1rem;font-weight:800;gap:10px;padding:14px 0;text-decoration:none}.mkt-nav-mark{align-items:center;background:#10243a;border-radius:8px;color:#f7c948;display:inline-flex;font-size:.78rem;font-weight:900;height:34px;justify-content:center;letter-spacing:.02em;width:34px}.mkt-nav-menu{display:contents}.mkt-nav-toggle{align-items:center;background:hsla(0,0%,100%,.72);border:1px solid rgba(16,36,58,.16);border-radius:8px;display:none;flex-direction:column;gap:4px;height:40px;justify-content:center;justify-self:end;padding:0;width:42px}.mkt-nav-toggle span{background:#10243a;border-radius:999px;display:block;height:2px;width:18px}.mkt-nav-links{align-items:center;display:flex;gap:4px;justify-content:center}.mkt-nav-links a{background:transparent!important;border-radius:6px;color:#4a5568!important;font-size:.9rem;font-weight:600;min-height:unset;padding:8px 14px;position:relative;text-decoration:none;transition:color .15s ease}.mkt-nav-links a:after{background:#f7c948;bottom:4px;content:"";height:2px;left:14px;position:absolute;right:14px;transform:scaleX(0);transition:transform .2s ease}.mkt-nav-links a:hover{color:#10243a}.mkt-nav-links a:hover:after{transform:scaleX(1)}.mkt-nav-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.mkt-nav-student,.mkt-nav-teacher{align-items:center;border-radius:8px;display:inline-flex;font-size:.85rem;font-weight:700;justify-content:center;min-height:36px;padding:0 16px;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.mkt-nav-teacher{border:1.5px solid rgba(16,36,58,.25);color:#10243a}.mkt-nav-teacher:hover{border-color:#10243a}.mkt-nav-student{background:#f7c948;color:#10243a}.mkt-nav-student:hover,.mkt-nav-teacher:hover{opacity:.88;transform:translateY(-1px)}@keyframes mktDemoShimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.mkt-nav-demo{align-items:center;animation:mktDemoShimmer 3s ease infinite;background:linear-gradient(120deg,#f7c948,#ff7a59,#35c8a8,#f7c948);background-size:250% 250%;border-radius:8px;color:#10243a;display:inline-flex;font-size:.85rem;font-weight:800;gap:5px;justify-content:center;letter-spacing:.01em;min-height:36px;padding:0 16px;transition:transform .15s ease,box-shadow .15s ease}.mkt-nav-demo:hover{box-shadow:0 4px 16px rgba(247,201,72,.45);transform:translateY(-2px)}.app-shell:has(.marketing-page) .marketing-topbar{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:rgba(255,250,244,.5)!important;border:none!important;border-bottom:1px solid rgba(16,36,58,.07)!important;border-radius:0!important;box-shadow:none!important;display:grid!important;grid-gap:0;gap:0;grid-template-columns:1fr auto 1fr;left:0;padding:0 clamp(24px,5vw,80px);position:fixed!important;right:0;top:0;width:100%;z-index:100}.app-shell:has(.marketing-page) .marketing-topbar .brand{align-items:center;gap:10px;padding:16px 0}.app-shell:has(.marketing-page) .marketing-topbar .brand strong{color:#10243a;font-size:1rem;font-weight:800;letter-spacing:-.01em}.app-shell:has(.marketing-page) .marketing-topbar .brand-mark{background:#10243a;border-radius:8px;color:#f7c948;font-size:.78rem;font-weight:900;height:34px;letter-spacing:.02em;width:34px}.app-shell:has(.marketing-page) .marketing-topbar nav{align-items:center;display:flex;gap:4px;justify-content:center}.app-shell:has(.marketing-page) .marketing-topbar nav a{background:transparent!important;border:none!important;border-radius:6px!important;color:#4a5568!important;font-size:.9rem;font-weight:600;min-height:36px;padding:0 14px!important;position:relative;transition:color .15s ease}.app-shell:has(.marketing-page) .marketing-topbar nav a:after{background:#f7c948;bottom:6px;content:"";height:2px;left:14px;position:absolute;right:14px;transform:scaleX(0);transition:transform .2s ease}.app-shell:has(.marketing-page) .marketing-topbar nav a:hover{color:#10243a!important;transform:none}.app-shell:has(.marketing-page) .marketing-topbar nav a:hover:after{transform:scaleX(1)}.marketing-login-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;padding:12px 0}.marketing-login-actions a{align-items:center;border-radius:8px;display:inline-flex;font-size:.85rem;font-weight:700;justify-content:center;min-height:36px;padding:0 16px;transition:opacity .15s ease,transform .15s ease}.marketing-login-actions a:hover{opacity:.88;transform:translateY(-1px)}.teacher-login-link{background:transparent;border:1.5px solid rgba(16,36,58,.25);color:#10243a}.teacher-login-link:hover{border-color:#10243a}.student-login-link{background:#f7c948;color:#10243a}.back-to-top{align-items:center;background:rgba(16,36,58,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;bottom:32px;color:#fff;display:flex;font-size:1.1rem;height:44px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:32px;transition:opacity .25s ease,transform .25s ease;transform:translateY(8px);width:44px;z-index:200}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:rgba(16,36,58,.95);transform:translateY(-2px)}.marketing-page{--sun:#f7c948;--mint:#35c8a8;--coral:#ff7a59;--sky:#63c7ff;--grape:#7c67e8;--navy:#10243a}.marketing-hero{background:linear-gradient(90deg,rgba(255,250,240,.98),rgba(255,250,240,.88) 48%,rgba(255,250,240,.42)),repeating-linear-gradient(-8deg,rgba(16,36,58,.035) 0 1px,transparent 1px 18px);grid-template-columns:minmax(0,.92fr) minmax(340px,1fr);min-height:min(760px,calc(100vh - 94px))}.marketing-hero:after,.marketing-hero:before{content:none}.marketing-hero-content{animation:heroSlideIn .62s ease both}.marketing-kicker{color:#0f8b78;font-weight:950}.marketing-hero h1{color:var(--navy);font-size:clamp(3.2rem,6.4vw,6.4rem);text-wrap:balance}.marketing-hero-content>p:not(.marketing-kicker){color:#4d6078;font-size:1.16rem;font-weight:650}.marketing-primary,.marketing-secondary{border:2px solid rgba(16,36,58,.12);border-radius:999px;min-height:52px}.marketing-primary{background:linear-gradient(180deg,#1aa88e,#087765)}.marketing-secondary{box-shadow:0 10px 0 rgba(16,36,58,.08)}.marketing-hero-visual{align-self:center;animation:heroFloatIn .72s ease both;min-height:520px;position:relative;overflow:visible}.hero-screenshot-frame{border:7px solid #fff;border-radius:26px;box-shadow:0 32px 72px rgba(16,36,58,.24),0 0 0 2px rgba(16,36,58,.1);overflow:hidden}.hero-screenshot-frame img{display:block;height:520px;object-fit:cover;object-position:center center;width:100%}.hero-pet{animation:stickerBounce 5.2s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(16,36,58,.22));image-rendering:pixelated;pointer-events:none;position:absolute;width:72px;z-index:6}.hero-pet-one{animation-delay:0ms;right:-28px;top:-20px}.hero-pet-two{animation-delay:.7s;bottom:24px;right:-32px}.hero-pet-three{animation-delay:.35s;left:-32px;top:40%}.marketing-hero-visual>img:not(.hero-pet){animation:softBob 6s ease-in-out infinite;border:8px solid #fff;border-radius:28px;box-shadow:0 28px 70px rgba(16,36,58,.22);display:block;height:min(560px,55vw);object-fit:cover;width:100%}.product-preview-showcase{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);min-height:540px;overflow:visible}.preview-card{background:#fff;border:7px solid #fff;border-radius:26px;box-shadow:0 24px 56px rgba(16,36,58,.22);min-width:0;overflow:hidden;position:relative}.preview-card:after{border:2px solid rgba(16,36,58,.12);border-radius:19px;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.preview-card img{display:block;filter:saturate(.96) contrast(.98);height:100%;object-fit:cover;object-position:top center;width:100%}.preview-card-student{min-height:392px;transform:rotate(-2deg)}.preview-card-teacher{margin-top:76px;min-height:316px;transform:rotate(2deg)}.preview-card-label{background:#f7c948;border:2px solid rgba(16,36,58,.16);border-radius:999px;box-shadow:0 8px 0 rgba(16,36,58,.1);color:var(--navy);font-size:.82rem;font-weight:950;left:14px;padding:8px 12px;position:absolute;top:14px;z-index:4}.hotspot-button{animation:pulseHotspot 1.9s ease-in-out infinite;background:#35c8a8;border:4px solid #fff;border-radius:999px;box-shadow:0 10px 18px rgba(16,36,58,.24);cursor:pointer;height:28px;padding:0;position:absolute;width:28px;z-index:5}.hotspot-button:after{border:2px solid rgba(53,200,168,.55);border-radius:inherit;content:"";inset:-10px;position:absolute}.hotspot-button:focus-visible{outline:4px solid rgba(247,201,72,.84);outline-offset:4px}.hotspot-student-hero{left:54%;top:44%}.hotspot-student-rewards{left:43%;top:73%}.hotspot-teacher-classes{left:29%;top:45%}.hotspot-teacher-totals{left:61%;top:52%}.hero-callout-card{align-self:start;background:#10243a;border:4px solid #fff;border-radius:22px;box-shadow:0 18px 40px rgba(16,36,58,.2);color:#fff;grid-column:1/-1;justify-self:center;margin-top:-8px;max-width:500px;padding:18px 20px;text-align:center}.hero-callout-card .marketing-kicker{color:#f7c948;font-size:.76rem;margin-bottom:6px}.hero-callout-card h2{color:#fff;font-size:clamp(1.22rem,2vw,1.58rem);margin:0}.hero-callout-card p:not(.marketing-kicker){color:#dbeafe;font-size:.98rem;font-weight:700;line-height:1.45;margin:8px 0 0}.keeper-stage{background:radial-gradient(circle at 24% 20%,rgba(247,201,72,.58),transparent 28%),radial-gradient(circle at 78% 70%,rgba(53,200,168,.38),transparent 30%),linear-gradient(135deg,#fff7df,#e7fbf6);border:8px solid #fff;border-radius:30px;box-shadow:0 28px 70px rgba(16,36,58,.18);display:grid;grid-template-columns:1fr .82fr;grid-gap:16px;gap:16px;min-height:500px;overflow:hidden;padding:22px;position:relative}.keeper-stage:before{background:linear-gradient(90deg,#ff7a59 0 18%,transparent 18% 26%,#f7c948 26% 44%,transparent 44% 52%,#35c8a8 52% 70%,transparent 70% 78%,#7c67e8 78% 100%);border-radius:999px;content:"";height:12px;left:28px;opacity:.86;position:absolute;right:28px;top:24px}.keeper-card{align-items:flex-end;background:hsla(0,0%,100%,.8);border:2px solid rgba(16,36,58,.09);border-radius:24px;display:flex;justify-content:center;min-height:360px;overflow:hidden;padding:10px}.keeper-card-main{animation:softBob 6s ease-in-out infinite;margin-top:38px}.keeper-card-side{animation:softBob 5.2s ease-in-out infinite;animation-delay:.42s;margin-top:86px}.keeper-card .spine-character-stage{min-height:330px;width:100%}.pet-float,.shop-badge-art{filter:drop-shadow(0 12px 14px rgba(16,36,58,.18));position:absolute;z-index:2}.pet-float{animation:stickerBounce 5.2s ease-in-out infinite;image-rendering:auto;width:68px}.pet-one{left:5%;top:16%}.pet-two{bottom:10%;right:8%}.pet-three{right:25%;top:14%}.shop-badge-art{animation:softBob 6.3s ease-in-out infinite;bottom:10%;left:12%;width:82px}.floating-note{animation:stickerBounce 4.8s ease-in-out infinite;background:#fff;border:3px solid rgba(16,36,58,.14);border-radius:16px;box-shadow:0 18px 35px rgba(16,36,58,.15);color:var(--navy);font-weight:950;padding:12px 14px;position:absolute}.note-one{background:#fff0bd;left:-18px;top:14%;transform:rotate(-5deg)}.note-two{background:#dff8f2;right:-16px;top:46%;transform:rotate(5deg)}.note-three{background:#ffe1d6;bottom:8%;left:18%;transform:rotate(3deg)}.marketing-tab-panel{margin:56px auto 0;max-width:1120px;padding:0 24px 58px;position:relative;z-index:3}.tab-buttons{background:#10243a;border:4px solid #fff;border-radius:22px;box-shadow:0 18px 42px rgba(16,36,58,.18);display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}.route-tabs a,.tab-buttons button{background:transparent;border-radius:16px;color:#dce8f7;font-weight:950;min-height:50px}.route-tabs a:first-child,.tab-buttons button.active{background:#f7c948;color:#10243a}.route-tabs a{align-items:center;display:inline-flex;justify-content:center;text-align:center}.tab-feature-card{align-items:center;background:#fff;border:2px solid rgba(16,36,58,.1);border-radius:24px;box-shadow:0 20px 50px rgba(16,36,58,.12);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(240px,.56fr);margin-top:14px;padding:26px}.tab-feature-card h2{color:var(--navy);font-size:clamp(1.8rem,3vw,3rem);line-height:1;margin:0}.tab-feature-card p{color:#52667f;font-size:1.05rem;line-height:1.6}.tab-feature-card ul{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.tab-feature-card li{background:#f0fbff;border:2px dashed rgba(26,168,142,.28);border-radius:16px;color:#10243a;font-weight:900;padding:14px 16px}.route-feature-card{grid-template-columns:minmax(0,1fr) minmax(220px,.42fr)}.route-preview-pets{align-items:center;display:flex;gap:12px;justify-content:center}.route-preview-pets img{background:#f0fbff;border:2px solid rgba(16,36,58,.08);border-radius:18px;max-height:88px;max-width:31%;padding:10px}.progression-feature-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.student-screens-preview{display:flex;flex-direction:column;gap:8px}@keyframes screenFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.student-screen-main img{animation:screenFadeIn .35s ease;background:#1e2737;border:2px solid rgba(16,36,58,.12);border-radius:12px;box-shadow:0 4px 14px rgba(16,36,58,.14);cursor:zoom-in;display:block;height:340px;object-fit:contain;width:100%}.screen-lightbox{align-items:center;animation:screenFadeIn .18s ease;background:rgba(8,16,28,.9);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:9999}.screen-lightbox img{border-radius:14px;box-shadow:0 24px 64px rgba(0,0,0,.5);max-height:88vh;max-width:100%;object-fit:contain}.screen-lightbox-close{font-size:1.2rem;height:44px;right:24px;top:24px;width:44px}.lightbox-arrow,.screen-lightbox-close{background:hsla(0,0%,100%,.12);border:2px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;line-height:1;position:absolute}.lightbox-arrow{font-size:1.6rem;height:52px;top:50%;transform:translateY(-50%);transition:background .15s,transform .15s;width:52px}.lightbox-arrow:hover{background:hsla(0,0%,100%,.26);transform:translateY(-50%) scale(1.08)}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-dots{bottom:20px;display:flex;gap:8px;justify-content:center;left:0;position:absolute;right:0}.lightbox-dot{background:hsla(0,0%,100%,.3);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .15s,transform .15s;width:8px}.lightbox-dot.active{background:#fff;transform:scale(1.3)}.student-screen-thumbs{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:8px}.screen-thumb{background:none;border:2px solid transparent;border-radius:10px;cursor:pointer;overflow:hidden;padding:0;position:relative;transition:border-color .2s,box-shadow .2s,transform .15s}.screen-thumb:hover{transform:translateY(-2px)}.screen-thumb img{display:block;height:68px;object-fit:cover;width:100%}.screen-thumb span{background:rgba(16,36,58,.72);bottom:0;color:#fff;display:block;font-size:.6rem;font-weight:700;left:0;letter-spacing:.02em;padding:3px 5px;position:absolute;right:0;text-align:center;text-transform:uppercase}.screen-thumb.active{border-color:var(--sun,#f7c948);box-shadow:0 0 0 2px rgba(247,201,72,.28)}.screen-thumb:hover:not(.active){border-color:rgba(16,36,58,.25)}.scroll-reveal{opacity:0;transform:translateY(26px);transition:opacity .5s ease,transform .5s ease}.scroll-reveal.animate-in{opacity:1;transform:none}.scroll-reveal-delay-1{transition-delay:80ms}.scroll-reveal-delay-2{transition-delay:.16s}.scroll-reveal-delay-3{transition-delay:.24s}.scroll-reveal-delay-4{transition-delay:.32s}.tools-demo-section .marketing-section-heading{max-width:820px}.tool-demo-shell{display:grid;grid-gap:14px;gap:14px}.tool-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.tool-tabs button.active{background:#f7c948;color:#10243a}.tool-demo-card{align-items:stretch;background:#fff;border:2px solid rgba(16,36,58,.1);border-radius:24px;box-shadow:0 22px 48px rgba(16,36,58,.12);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(280px,.95fr) minmax(0,1fr);padding:18px}.tool-video-slot{align-items:center;background:radial-gradient(circle at 22% 20%,rgba(247,201,72,.36),transparent 30%),radial-gradient(circle at 80% 75%,rgba(53,200,168,.32),transparent 32%),linear-gradient(135deg,#10243a,#174c62);border-radius:20px;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:310px;padding:30px;text-align:center}.tool-video-slot strong{font-size:1.4rem;margin-top:16px}.tool-video-slot p{color:hsla(0,0%,100%,.82);max-width:360px}.tool-demo-copy{align-self:center;padding:14px 12px}.tool-demo-copy h3{color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0}.tool-demo-copy>p:not(.marketing-kicker){color:#52667f;font-size:1.06rem;line-height:1.65}.tool-demo-copy ul{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:22px 0 0;padding:0}.tool-demo-copy li{background:#f0fbff;border:2px dashed rgba(26,168,142,.28);border-radius:16px;color:#10243a;font-weight:900;padding:13px 15px}.marketing-info-page{padding:56px 24px 96px}.info-card-grid,.info-hero{margin:0 auto;max-width:1120px}.info-hero{align-items:center;display:grid;grid-gap:36px;gap:36px;grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);min-height:460px}.info-hero h1{color:var(--navy);font-size:clamp(3rem,6vw,5.8rem);line-height:.95;margin:0;text-wrap:balance}.info-hero p:not(.marketing-kicker){color:#4d6078;font-size:1.12rem;font-weight:650;line-height:1.65;max-width:680px}.info-hero-art{align-items:center;background:radial-gradient(circle at 20% 20%,rgba(247,201,72,.54),transparent 31%),radial-gradient(circle at 80% 72%,rgba(53,200,168,.42),transparent 32%),#fff;border:6px solid #fff;border-radius:30px;box-shadow:0 24px 60px rgba(16,36,58,.14);display:flex;justify-content:center;min-height:360px;overflow:hidden;position:relative}.info-hero-art img{max-height:210px;max-width:72%;position:relative;z-index:2}.info-hero-art span{background:#ff7a59;border-radius:999px;height:34px;position:absolute;right:16%;top:18%;width:34px}.info-hero-art span:nth-child(3){background:#35c8a8;bottom:16%;left:18%;right:auto;top:auto}.info-hero-art span:nth-child(4){background:#f7c948;bottom:20%;height:54px;right:18%;top:auto;width:54px}.info-card-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px}.info-card{background:#fff;border:2px solid rgba(16,36,58,.08);border-radius:22px;box-shadow:0 16px 36px rgba(16,36,58,.08);min-height:220px;padding:22px}.info-card>span{align-items:center;background:#f7c948;border-radius:12px;color:var(--navy);display:inline-flex;font-weight:950;height:34px;justify-content:center;margin-bottom:18px;width:34px}.info-card h2{color:var(--navy);font-size:1.25rem;margin:0 0 10px}.info-card p{color:#607187;line-height:1.55;margin:0}.marketing-section{padding-bottom:86px;padding-top:86px}.marketing-section h2{color:var(--navy);font-weight:950;text-wrap:balance}.feature-grid,.workflow-grid{gap:20px}.feature-card,.workflow-step{border:2px solid rgba(16,36,58,.08);border-radius:22px;transition:transform .16s ease,box-shadow .16s ease}.feature-card:hover,.workflow-step:hover{box-shadow:0 22px 45px rgba(16,36,58,.14);transform:translateY(-8px) rotate(-1deg)}.feature-card>span{align-items:center;background:#f7c948!important;border:3px solid #fff4cc;border-radius:15px;color:#10243a;display:inline-flex;font-weight:950;justify-content:center}.feature-card:nth-child(2)>span{background:#ff7a59!important;color:#fff}.feature-card:nth-child(3)>span{background:#35c8a8!important}.feature-card:nth-child(4)>span{background:#7c67e8!important;color:#fff}.student-showcase{background:linear-gradient(135deg,#dff8f2,#fff0bd 52%,#ffe1d6);border:4px solid #fff;border-radius:28px;box-shadow:0 24px 55px rgba(16,36,58,.15);display:grid;grid-gap:18px;gap:18px;padding:28px}.product-story--flip{direction:ltr}.product-story--flip>:first-child{order:1}.product-story--flip>:last-child{order:2}.teacher-story-visual{border:6px solid #fff;border-radius:18px;box-shadow:0 24px 56px rgba(16,36,58,.22);overflow:hidden;transform-origin:center right;transition:transform .5s ease,opacity .5s ease}.teacher-story-visual.animate-in{opacity:1;transform:rotate(-2.5deg)}.teacher-story-visual:hover{transform:rotate(0deg)}.teacher-story-visual img{display:block;height:auto;width:100%}.student-story-visual{border:6px solid #fff;border-radius:18px;box-shadow:0 24px 56px rgba(16,36,58,.22);overflow:hidden;transform-origin:center left;transition:transform .5s ease,opacity .5s ease}.student-story-visual.animate-in{opacity:1;transform:rotate(2.5deg)}.student-story-visual:hover{transform:rotate(0deg)}.student-story-visual img{display:block;height:auto;width:100%}.student-card-pop{animation:softBob 5.4s ease-in-out infinite;background:#fff;border-radius:22px;box-shadow:0 18px 36px rgba(16,36,58,.12);padding:22px}.student-card-pop span{align-items:center;background:#7c67e8;border-radius:18px;color:#fff;display:inline-flex;font-weight:950;height:58px;justify-content:center;width:58px}.student-card-pop strong{color:var(--navy);display:block;font-size:1.5rem;margin-top:14px}.inventory-pills{display:flex;flex-wrap:wrap;gap:10px}.inventory-pills span,.progress-ribbon{background:#fff;border:2px solid rgba(16,36,58,.1);border-radius:999px;color:var(--navy);font-weight:950;padding:10px 14px}.progress-ribbon{background:#10243a;color:#fff;text-align:center}.about-section{align-items:center;background:#10243a;border:6px solid #fff;border-radius:30px;box-shadow:0 28px 72px rgba(16,36,58,.26);color:#fff;display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);margin-bottom:70px;margin-top:48px}.about-section .marketing-kicker,.about-section h2,.about-section p{color:#fff!important}.about-section p{font-size:1.1rem}.sign-in-section{background:linear-gradient(135deg,rgba(255,240,189,.88),rgba(223,248,242,.92));border:2px solid rgba(16,36,58,.07);border-radius:28px;box-shadow:0 18px 48px rgba(16,36,58,.08);margin-bottom:80px}@keyframes heroSlideIn{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}@keyframes heroFloatIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes softBob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes stickerBounce{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(4deg)}}@keyframes pulseHotspot{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){.floating-note,.hotspot-button,.marketing-hero-content,.marketing-hero-visual,.marketing-hero-visual img,.marketing-hero:after,.marketing-hero:before,.student-card-pop{animation:none}}@media (max-width:920px){.marketing-hero{grid-template-columns:1fr}.marketing-hero-visual{min-height:0}.marketing-hero-visual>img:not(.hero-pet){height:auto}.product-preview-showcase{grid-template-columns:1fr;min-height:0}.preview-card-student,.preview-card-teacher{min-height:300px;transform:none}.hero-callout-card,.preview-card-teacher{margin-top:0}.about-section,.info-hero,.tab-buttons,.tab-feature-card,.tool-demo-card{grid-template-columns:1fr}.info-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.marketing-hero:after,.marketing-hero:before{display:none}.marketing-hero h1{font-size:clamp(2.6rem,15vw,4.2rem)}.preview-card-student,.preview-card-teacher{border-width:5px;border-radius:20px;min-height:224px}.preview-card-label{font-size:.72rem;left:10px;padding:7px 10px;top:10px}.hotspot-button{border-width:3px;height:24px;width:24px}.hotspot-button:after{inset:-8px}.floating-note{font-size:.78rem;padding:9px 11px}.tab-buttons{border-radius:18px}.tab-buttons,.tool-tabs{grid-template-columns:1fr 1fr}.app-shell:has(.marketing-page) .marketing-topbar{grid-template-columns:auto 1fr;padding:0 20px}.app-shell:has(.marketing-page) .marketing-topbar nav{display:none}.marketing-login-actions{display:none}.about-section,.sign-in-section,.student-showcase,.tab-feature-card{border-radius:20px}.keeper-stage{grid-template-columns:1fr;min-height:0}.keeper-card-side{display:none}.info-card-grid{grid-template-columns:1fr}.info-hero-art{min-height:260px}}.auth-page{align-items:center!important;box-sizing:border-box;justify-content:center!important;min-height:calc(100vh - 68px);overflow:visible!important;padding:48px 24px 80px;width:100%!important}.auth-card,.auth-page{display:flex!important}.auth-card{background:#fff!important;border:2px solid rgba(16,36,58,.1)!important;border-radius:24px!important;box-shadow:0 24px 64px rgba(16,36,58,.12),0 0 0 1px rgba(16,36,58,.06)!important;color:var(--ink)!important;flex-direction:column!important;grid-template-columns:unset!important;max-width:440px;padding:36px;position:relative;width:100%}.auth-back{color:#637087;display:block;font-size:.85rem;font-weight:700;margin-bottom:24px;transition:color .15s}.auth-back:hover{color:#10243a}.auth-header{margin-bottom:28px;text-align:center}.auth-mark{align-items:center;background:#10243a;border-radius:14px;color:#f7c948;display:inline-flex;font-size:.9rem;font-weight:900;height:52px;justify-content:center;letter-spacing:.04em;margin-bottom:16px;width:52px}.auth-header h1{color:#10243a!important;font-size:1.6rem!important;margin:0 0 8px!important;text-shadow:none!important}.auth-header p{color:#637087!important;font-size:.95rem;margin:0}.auth-form{gap:14px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{color:#10243a!important;font-size:.88rem;font-weight:700;gap:6px}.auth-form input[type=email]{background:#f5f7fb!important;border:1.5px solid #dde4ef!important;border-radius:10px!important;color:#10243a!important;font:inherit;min-height:46px;padding:0 14px;transition:border-color .15s;width:100%}.auth-form input[type=email]:focus{border-color:#1aa88e!important;outline:none}.auth-submit{margin-top:4px;width:100%}.auth-divider{align-items:center;color:#8a9ab8!important;display:flex;font-size:.82rem;font-weight:700;gap:12px;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:#dde4ef;content:"";flex:1 1;height:1px}.google-action{background:#fff!important;border:1.5px solid #dde4ef!important;border-radius:10px!important;color:#10243a!important;cursor:pointer;display:flex!important;font-size:.95rem;font-weight:700;gap:10px;min-height:48px;padding:0 18px;transition:border-color .15s,box-shadow .15s;width:100%!important}.google-action,.google-action span{align-items:center;justify-content:center}.google-action span{background:#4285f4;border-radius:6px;color:#fff;display:inline-flex;font-weight:900;height:26px;width:26px}.google-action:hover{border-color:#a9c7ff!important;box-shadow:0 4px 14px rgba(16,36,58,.1)!important}.auth-demo-strip{align-items:center;border-top:1.5px solid #eef1f8;display:flex;gap:12px;justify-content:space-between;margin-top:24px;padding-top:20px}.auth-demo-strip p{color:#8a9ab8!important;font-size:.88rem;font-weight:600;margin:0}.auth-coming-soon{display:flex;flex-direction:column;gap:18px;text-align:center}.auth-coming-soon p{color:#637087;line-height:1.6}.student-pick-label{color:#10243a;font-size:.85rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.student-pick-list{border:1.5px solid #dde4ef;border-radius:12px;min-height:120px;overflow:hidden}.auth-coming-soon-note{color:#8a9ab8!important;font-size:.88rem;padding:20px;text-align:center}.auth-back-step{background:none;border:none;color:#8a9ab8;cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-align:left}.auth-back-step:hover{color:#10243a}.form-message{background:#f0f9f6!important;border:1.5px solid #a8e6d5!important;border-radius:8px!important;color:#0d6b62!important;font-size:.88rem;font-weight:600;padding:10px 14px;text-align:center}.guides-hero{margin:0 auto;max-width:1120px;padding:64px 24px 0}.guides-hero h1{color:var(--navy);font-size:clamp(2.4rem,5vw,4.2rem);line-height:1;margin:12px 0 16px;text-wrap:balance}.guides-hero p{color:#637087;font-size:1.06rem;line-height:1.6;margin:0;max-width:580px}.guides-body{margin:48px auto 96px;max-width:1120px;padding:0 24px;display:grid;grid-gap:48px;gap:48px}.faq-section{display:grid;grid-gap:10px;gap:10px}.faq-category{color:#10243a;font-size:1.1rem;font-weight:950;margin:0 0 6px}.faq-list{display:grid;grid-gap:8px;gap:8px}.faq-item{background:#fff;border:2px solid rgba(16,36,58,.09);border-radius:16px;overflow:hidden;transition:border-color .18s}.faq-item.faq-open{border-color:rgba(26,168,142,.35)}.faq-question{align-items:center;background:transparent;color:#10243a;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:12px;justify-content:space-between;min-height:58px;padding:14px 20px;text-align:left;width:100%}.faq-question span:first-child{flex:1 1;line-height:1.4}.faq-chevron{align-items:center;background:#f5f7fb;border-radius:8px;color:#637087;display:inline-flex;flex-shrink:0;font-size:1.1rem;font-weight:900;height:28px;justify-content:center;width:28px}.faq-open .faq-chevron{background:rgba(26,168,142,.12);color:#1aa88e}.faq-answer{border-top:1.5px solid #eef1f8;padding:16px 20px 20px}.faq-answer p{color:#52667f;font-size:.98rem;line-height:1.65;margin:0}.about-hero{margin:0 auto;max-width:1120px;padding:64px 24px 0}.about-hero h1{color:var(--navy);font-size:clamp(2.4rem,5vw,4.2rem);line-height:1;margin:12px 0 0;text-wrap:balance}.about-body{align-items:flex-start;display:grid;grid-gap:48px;gap:48px;grid-template-columns:280px 1fr;margin:48px auto 0;max-width:1120px;padding:0 24px}.about-portrait-col{position:-webkit-sticky;position:sticky;top:88px}.about-portrait-placeholder{align-items:center;background:radial-gradient(circle at 30% 30%,rgba(247,201,72,.42),transparent 52%),radial-gradient(circle at 70% 70%,rgba(53,200,168,.34),transparent 52%),#f0f4fc;border:4px solid #fff;border-radius:24px;box-shadow:0 18px 48px rgba(16,36,58,.12);display:flex;font-size:5rem;height:280px;justify-content:center;width:100%}.about-portrait{border-radius:20px;box-shadow:0 18px 48px rgba(16,36,58,.14);display:block;height:auto;object-fit:cover;width:100%}.about-text-col{padding-bottom:96px}.about-text-col p{color:#3e526a;font-size:1.08rem;line-height:1.7;margin:0 0 20px}.about-contact{align-items:center;background:#10243a;border-radius:999px;color:#fff;display:inline-flex;font-size:.95rem;font-weight:800;margin-top:8px;min-height:48px;padding:0 24px;transition:background .15s}.about-contact:hover{background:#1aa88e}.about-cta-strip{align-items:center;background:linear-gradient(135deg,rgba(255,240,189,.88),rgba(223,248,242,.92));border-radius:24px;display:flex;gap:20px;justify-content:space-between;max-width:calc(1120px - 0px);padding:28px 32px;margin:0 auto 80px}.about-cta-strip p{color:#10243a;font-size:1.2rem;font-weight:800;margin:0}@media (max-width:760px){.about-body{grid-template-columns:1fr}.about-portrait-col{position:static}.about-portrait-placeholder{height:200px}.about-cta-strip{flex-direction:column;text-align:center}}@media (max-width:720px){.mkt-nav{grid-template-columns:minmax(0,1fr) auto;padding:0 16px}.mkt-nav-brand{min-width:0}.mkt-nav-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mkt-nav-toggle{display:inline-flex}.mkt-nav-menu{background:rgba(255,250,244,.94);border:1px solid rgba(16,36,58,.1);border-radius:8px;box-shadow:0 18px 36px rgba(16,36,58,.12);display:none;gap:10px;grid-column:1/-1;margin:0 0 12px;padding:12px}.mkt-nav-menu.is-open{display:grid}.mkt-nav-actions,.mkt-nav-links{align-items:stretch;display:grid;grid-gap:8px;gap:8px;justify-content:stretch}.mkt-nav-demo,.mkt-nav-links a,.mkt-nav-student,.mkt-nav-teacher{justify-content:center;min-height:40px;width:100%}.mkt-nav-links a:after{display:none}}