:root{--cw21-panel:#203440;--cw21-line:#ffffff21;--cw21-ink:#edf5ef;--cw21-muted:#afc8c8}html[data-theme=light]{--cw21-panel:#eff5e9;--cw21-line:#315b5c25;--cw21-ink:#1d3a40;--cw21-muted:#476569}.hub-hero21{padding:32px 42px;display:grid;grid-template-columns:1.6fr 1fr;gap:20px;background:linear-gradient(110deg,#315f58,#27364e);border:1px solid #d8eabf30;border-radius:28px;color:#fff7e4;position:relative;overflow:hidden;margin-bottom:22px}.hub-hero21 h1{font-size:clamp(28px,3.3vw,44px);line-height:1.15;letter-spacing:-1px;margin:17px 0}.hub-hero21 p{color:#c8ded2}.hub-hero21 .actions{margin:25px 0}.hub-art21{display:grid;place-items:center;background:radial-gradient(ellipse,#e7e6b329,transparent 65%)}.hub-art21 img{width:min(100%,380px);height:auto;filter:drop-shadow(0 15px 24px #12242755)}.hub-progress21{display:flex;align-items:center;gap:12px}.hub-progress21 progress{width:180px;height:8px;accent-color:#e9d590}.hub-grid21{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-choice21{display:grid;grid-template-columns:130px 1fr;gap:5px 15px;text-align:left;align-content:center;background:var(--cw21-panel);border:1px solid var(--cw21-line);padding:18px;border-radius:22px;min-height:144px;color:var(--cw21-ink)}.hub-choice21 img{width:130px;height:auto;grid-row:1/3;align-self:center}.hub-choice21 strong{font-size:19px;align-self:end}.hub-choice21 span{font-size:12px;line-height:1.5;color:var(--cw21-muted)}.hub-links21{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.hub-ready21{margin:16px 0}.chapters21{display:flex;gap:8px;overflow:auto;margin:20px 0;padding-bottom:6px}.chapters21 button{flex-shrink:0}.chapter-summary21{font-size:13px;color:var(--cw21-muted);margin-bottom:18px}.achievement-grid21{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;margin:20px 0}.achievement21{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:20px;background:var(--cw21-panel);border:1px solid var(--cw21-line)}.achievement21 img{align-self:center;height:120px;width:166px;object-fit:contain}.achievement21 h3{margin:0}.achievement21 p{font-size:12px;line-height:1.6;color:var(--cw21-muted);min-height:38px;margin:0}.achievement21 progress{width:100%;accent-color:#c6d999;height:8px}.achievement21 small{font-size:11px;color:var(--cw21-muted)}.achievement21 strong{margin-top:auto}.achievement21.ready21{border-color:#dac981;box-shadow:0 0 22px #e6c36910}.achievement21.claimed21{border-color:#91c2aa55}.reward-popup21{max-width:min(90vw,460px);text-align:center;background:var(--cw21-panel);color:var(--cw21-ink);border:1px solid #e3ce88;border-radius:24px}.reward-popup21 img{max-width:100%;height:auto;display:block;margin:0 auto}.reward-popup21 button{margin:8px}.chat-launch21{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:70;padding:10px 17px;box-shadow:0 5px 20px #071d3a33;background:#dcebd1;color:#26463f;border-color:#789584}.chat21{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 24px));height:min(560px,75dvh);z-index:71;background:var(--cw21-panel);color:var(--cw21-ink);border:1px solid #a8c4bb66;border-radius:20px;box-shadow:0 16px 65px #071c3655;display:flex;flex-direction:column;overflow:hidden}.chat21[hidden]{display:none!important}.chat-head21{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--cw21-line)}.chat-head21 button{padding:5px 11px;font-size:21px}.chat-tabs21{display:flex;gap:6px;padding:10px}.chat-tabs21 button{font-size:12px;flex:1;padding:8px}.chat-messages21{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 14px;scrollbar-width:thin}.chat-message21{position:relative;padding:10px 20px 10px 0;border-bottom:1px solid var(--cw21-line)}.chat-meta21{display:flex;justify-content:space-between;gap:8px;font-size:11px}.chat-meta21 strong{color:var(--cw21-ink);overflow-wrap:anywhere}.chat-meta21 time{color:var(--cw21-muted);white-space:nowrap}.chat-message21 p{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.chat-message21 details{position:relative;font-size:11px}.chat-message21 summary{cursor:pointer;text-align:right;color:var(--cw21-muted);list-style:none}.chat-message21 details button{padding:7px;font-size:11px;margin-right:4px}.chat-note21{margin:8px 13px;font-size:10px;line-height:1.4;color:var(--cw21-muted)}.chat-form21{padding:0 10px 10px;display:flex;gap:6px}.chat-form21[hidden]{display:none}.chat-form21 input{flex:1;min-width:0;font-size:16px}.chat-form21 button{font-size:12px;padding:8px}.chat-empty21{font-size:13px;color:var(--cw21-muted);margin:20px 0}.chat-open21 .mobile-controls,.chat-open21 .arena-touch17,.chat-open21 #touchControls{pointer-events:none}.arena-live19 .chat-launch21,.playing19 .chat-launch21{bottom:auto;top:calc(62px + env(safe-area-inset-top));right:12px;font-size:11px;padding:8px 12px}.arena-live19 .chat21,.playing19 .chat21{bottom:auto;top:calc(106px + env(safe-area-inset-top));height:min(460px,calc(100dvh - 130px))}.practice21{border:1px solid #91c5b5!important}.editor-fold19>summary{padding:10px 0;cursor:pointer}.inventory-toolbar20 select{max-width:200px}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #b0dbc5;outline-offset:3px}.chapter-card21 button.primary{min-width:100px} @media(max-width:900px){.hub-grid21{grid-template-columns:1fr}.hub-choice21{min-height:110px;grid-template-columns:100px 1fr}.hub-choice21 img{width:100px}}@media(max-width:600px){.hub-hero21{padding:25px 20px;grid-template-columns:1fr;gap:0}.hub-art21{display:none}.hub-hero21 h1{font-size:30px}.hub-hero21 .actions button{padding:13px}.hub-links21 button{flex:1;min-width:130px;font-size:12px}.achievement-grid21{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement21{padding:14px}.achievement21 img{width:100%;height:95px}.achievement21 h3{font-size:15px}.achievement21 strong{font-size:12px}.chat21{right:12px}.chat-form21 button{padding:6px}.chat-open21 .chat21{max-height:calc(100dvh - 120px)}}@media(prefers-reduced-motion:reduce){.hub-choice21,.achievement21{transition:none!important}} 