.user-menu[data-v-0db73280]{display:flex;align-items:center;gap:16px}.nav-user[data-v-0db73280]{display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:999px;padding:2px 8px 2px 2px;transition:background .15s ease}.nav-user[data-v-0db73280]:hover{background:var(--cv-panel-bg, rgba(255, 255, 255, .05))}.nav-avatar[data-v-0db73280]{width:30px;height:30px;padding:0;border:var(--cv-border, 1px solid rgba(255, 255, 255, .12));border-radius:999px;background:linear-gradient(135deg,#42b883,#2f9e7a);color:var(--cv-text-muted, #fff);font-size:13px;font-weight:600;cursor:pointer;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:box-shadow .15s ease}.nav-avatar[data-v-0db73280]:hover{box-shadow:0 0 0 2px #42b88380}.nav-avatar-initial[data-v-0db73280]{line-height:1}.nav-avatar-img[data-v-0db73280]{width:100%;height:100%;object-fit:cover;border-radius:999px}.nav-user-name[data-v-0db73280]{color:#a1a1aa;font-size:14px;line-height:1}.btn-outline[data-v-0db73280]{padding:8px 20px;border:var(--cv-border, 1px solid #363b47);background:var(--cv-raised-bg, #2a2e3b);color:var(--cv-text-muted, #ffffff);cursor:pointer;font-size:14px;transition:background .2s ease,border-color .2s ease;box-shadow:var(--nm-raised);border-radius:10px}.btn-outline[data-v-0db73280]:hover{background:var(--cv-raised-bg, #333845);border-color:#42b883}.btn-primary[data-v-0db73280]{padding:8px 20px;border:none;border-radius:999px;background:#42b883;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s ease}.btn-primary[data-v-0db73280]:hover{background:var(--cv-raised-bg, #35996d)}body.theme-light .user-menu[data-v-0db73280]{--cv-text-muted: #46505e}.btn-outline[data-v-0db73280]:hover{box-shadow:var(--nm-sunken)!important;transform:translateY(1px)!important}.btn-outline[data-v-0db73280]:active{box-shadow:var(--nm-pressed)!important;transform:translateY(1px)!important}.navbar[data-v-d205a273]{position:fixed;top:0;left:0;right:0;z-index:1000;height:60px;background:var(--cv-panel-bg, rgba(10, 10, 26, .95));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle, #1c2030);box-shadow:var(--nm-raised);border-radius:10px}.nav-inner[data-v-d205a273]{height:100%;width:100%;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-d205a273]{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--text-primary, #f7f8f8);text-decoration:none}.logo-icon[data-v-d205a273]{width:26px;height:26px;display:block}.nav-actions[data-v-d205a273]{display:flex;align-items:center;gap:16px}.btn-outline[data-v-d205a273]{padding:8px 20px;border:var(--cv-border, 1px solid #363b47);background:var(--cv-raised-bg, #2a2e3b);color:var(--cv-text-muted, #ffffff);cursor:pointer;font-size:14px;text-decoration:none;transition:background .2s ease,border-color .2s ease;box-shadow:var(--nm-raised);border-radius:10px}.btn-outline[data-v-d205a273]:hover{background:var(--cv-raised-bg, #333845);border-color:#42b883}.btn-primary[data-v-d205a273]{padding:8px 20px;border:none;border-radius:999px;background:#42b883;color:#fff;cursor:pointer;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s ease}.btn-primary[data-v-d205a273]:hover{background:var(--cv-raised-bg, #35996d)}.navbar.theme-light[data-v-d205a273]{background:#e4e9f1eb;border-bottom-color:var(--cv-text-muted, rgba(43, 51, 64, .08));box-shadow:0 6px 18px #a0afc647}.navbar.theme-light .logo[data-v-d205a273]{color:var(--cv-text-main, #2b3340)}.navbar.theme-light .btn-outline[data-v-d205a273]{background:#e4e9f1;border-color:var(--cv-text-muted, #c7d0dd);color:var(--cv-text-main, #2b3340);box-shadow:3px 3px 7px #c7d0dd,-3px -3px 7px #fff}.navbar.theme-light .btn-outline[data-v-d205a273]:hover{background:#e4e9f1;border-color:#2f9e7f;color:#2f9e7f;box-shadow:inset 2px 2px 5px #c7d0dd,inset -2px -2px 5px #fff}.navbar.theme-light .btn-primary[data-v-d205a273]{background:#2f9e7f}.navbar.theme-light .btn-primary[data-v-d205a273]:hover{background:var(--cv-raised-bg, #27816a)}.navbar.theme-light[data-v-d205a273] .nav-user:hover{background:#0000000d}.navbar.theme-light[data-v-d205a273] .nav-user-name{color:#4d5768}.navbar.theme-light[data-v-d205a273] .btn-outline{background:#e4e9f1;border-color:var(--cv-text-muted, #c7d0dd);color:#2b3340;box-shadow:3px 3px 7px #c7d0dd,-3px -3px 7px #fff}.navbar.theme-light[data-v-d205a273] .btn-outline:hover{background:#e4e9f1;border-color:#2f9e7f;color:#2f9e7f;box-shadow:inset 2px 2px 5px #c7d0dd,inset -2px -2px 5px #fff}body.theme-light .navbar[data-v-d205a273]{--cv-text-muted: #46505e}.navbar[data-v-d205a273]{padding:var(--nm-padding-card)!important;border-radius:var(--nm-radius)!important}.btn-outline[data-v-d205a273]:hover{box-shadow:var(--nm-sunken)!important;transform:translateY(1px)!important}.btn-outline[data-v-d205a273]:active{box-shadow:var(--nm-pressed)!important;transform:translateY(1px)!important}.footer[data-v-df51f761]{border-top:1px solid var(--border-subtle);padding:48px 24px 24px;margin-top:auto}.footer-inner[data-v-df51f761]{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}.footer-brand[data-v-df51f761]{color:var(--text-secondary);font-size:14px}.footer-logo[data-v-df51f761]{font-size:18px;font-weight:700;color:var(--text-primary);display:block;margin-bottom:4px}.footer-logo-icon[data-v-df51f761]{width:20px;height:20px;margin-right:8px;vertical-align:-3px}.footer-links[data-v-df51f761]{display:flex;gap:24px}.footer-links a[data-v-df51f761]{color:var(--text-secondary);font-size:14px}.footer-copy[data-v-df51f761]{width:100%;text-align:center;color:var(--text-secondary);font-size:13px;padding-top:24px;border-top:1px solid var(--border-subtle);margin-top:8px}.anno-root[data-v-b8aff4ed]{--anno-bg: #1a1e29;--anno-card: #232833;--anno-card-light: #252b38;--anno-card-dark: #1e242f;--anno-text: #e6e9ef;--anno-muted: #8a93a8;--anno-border: rgba(255, 255, 255, .08);--anno-accent: #42b883;--anno-radius: 14px}.anno-root[data-v-b8aff4ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none}.anno-canvas[data-v-b8aff4ed]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.anno-canvas.capture[data-v-b8aff4ed]{pointer-events:auto;cursor:crosshair;touch-action:none}.anno-trigger[data-v-b8aff4ed]{position:fixed;z-index:2;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(145deg,#2a3140,#1f2632);color:var(--anno-text);display:flex;align-items:center;justify-content:center;cursor:grab;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:6px 6px 14px #00000073,-3px -3px 10px #ffffff0d,inset 0 0 0 1px #42b88340,0 0 18px #42b88340;transition:box-shadow .15s ease,transform .12s ease}.anno-trigger[data-v-b8aff4ed]:hover{box-shadow:7px 7px 16px #00000080,-4px -4px 12px #ffffff0f,inset 0 0 0 1px #42b88366,0 0 26px #42b88373}.anno-trigger.dragging[data-v-b8aff4ed]{cursor:grabbing}.anno-trigger.on[data-v-b8aff4ed]{background:linear-gradient(145deg,#47c78c,#35996d);color:#04201d;box-shadow:6px 6px 14px #00000073,-3px -3px 10px #ffffff14,inset 0 1px #ffffff4d}.anno-trigger svg[data-v-b8aff4ed]{width:24px;height:24px;pointer-events:none}.anno-panel[data-v-b8aff4ed]{position:fixed;z-index:2;width:300px;max-height:74vh;overflow-y:auto;background:linear-gradient(145deg,var(--anno-card-light),var(--anno-card-dark));border-radius:var(--anno-radius);padding:16px;pointer-events:auto;color:var(--anno-text);display:flex;flex-direction:column;gap:16px;will-change:left,top;box-shadow:12px 12px 28px #00000080,-6px -6px 18px #ffffff0a,inset 0 0 0 1px #ffffff12}.anno-panel[data-v-b8aff4ed]::-webkit-scrollbar{width:6px}.anno-panel[data-v-b8aff4ed]::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.drag-handle[data-v-b8aff4ed]{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;margin:-4px -4px 0;border-radius:10px;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab;transition:background .12s ease}.anno-panel.dragging .drag-handle[data-v-b8aff4ed]{cursor:grabbing}.drag-handle[data-v-b8aff4ed]:hover{background:#ffffff0a}.anno-drag-handle[data-v-b8aff4ed]{display:inline-flex;align-items:center;justify-content:center;color:var(--anno-muted);margin-right:8px;cursor:grab}.anno-title[data-v-b8aff4ed]{font-size:13px;font-weight:600;color:var(--anno-text);pointer-events:none}.anno-close[data-v-b8aff4ed]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--anno-muted);font-size:18px;line-height:1;cursor:pointer;transition:all .12s ease}.anno-close[data-v-b8aff4ed]:hover{color:var(--anno-text);background:#ffffff14}.anno-section[data-v-b8aff4ed]{display:flex;flex-direction:column;gap:10px}.anno-section-title[data-v-b8aff4ed]{font-size:12px;font-weight:600;color:var(--anno-muted);letter-spacing:.5px;padding-left:4px}.anno-tools[data-v-b8aff4ed]{display:flex;flex-wrap:wrap;gap:8px}.anno-tool[data-v-b8aff4ed]{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:none;border-radius:10px;background:linear-gradient(145deg,#252b38,#1e242f);color:var(--anno-text);font-size:12px;cursor:pointer;pointer-events:auto;box-shadow:4px 4px 9px #00000059,-2px -2px 6px #ffffff0a,inset 0 0 0 1px #ffffff0d;transition:transform .1s ease,box-shadow .15s ease,background .15s ease}.anno-tool[data-v-b8aff4ed]:hover{background:linear-gradient(145deg,#2a303d,#222832)}.anno-tool[data-v-b8aff4ed]:active{transform:translateY(1px);box-shadow:inset 3px 3px 7px #00000059,inset -2px -2px 5px #ffffff0a}.anno-tool.active[data-v-b8aff4ed]{background:linear-gradient(145deg,#42b8832e,#42b8831a);color:#fff;box-shadow:inset 0 0 0 1px #42b8838c,0 0 0 3px #42b8831f}.anno-tool[data-v-b8aff4ed]:disabled{opacity:.35;cursor:not-allowed;transform:none}.anno-tool svg[data-v-b8aff4ed]{width:16px;height:16px}.anno-colors[data-v-b8aff4ed]{display:flex;flex-wrap:wrap;gap:10px;padding:4px}.anno-color[data-v-b8aff4ed]{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:3px 3px 6px #00000059,-2px -2px 5px #ffffff14,inset 0 0 0 1px #ffffff26;transition:transform .12s ease,box-shadow .15s ease}.anno-color[data-v-b8aff4ed]:hover{transform:scale(1.12)}.anno-color.active[data-v-b8aff4ed]{border-color:#fff;box-shadow:0 0 0 2px var(--anno-accent),0 0 10px #42b88373}.anno-width[data-v-b8aff4ed]{display:flex;align-items:center;gap:12px;padding:6px 4px}.anno-width input[type=range][data-v-b8aff4ed]{flex:1;accent-color:var(--anno-accent);cursor:pointer;height:4px;border-radius:2px;background:#ffffff14;-webkit-appearance:none;-moz-appearance:none;appearance:none}.anno-width input[type=range][data-v-b8aff4ed]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--anno-accent);box-shadow:0 0 8px #42b88380;cursor:pointer}.anno-width-val[data-v-b8aff4ed]{font-size:12px;color:var(--anno-muted);min-width:40px;text-align:right}.anno-history[data-v-b8aff4ed]{display:flex;gap:8px}.anno-modal-mask[data-v-b8aff4ed]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:1600}.anno-modal[data-v-b8aff4ed]{background:linear-gradient(145deg,#252b38,#1f2530);border-radius:16px;padding:22px;width:300px;color:var(--anno-text);box-shadow:12px 12px 28px #00000080,-6px -6px 18px #ffffff0a,inset 0 0 0 1px #ffffff12}.anno-modal p[data-v-b8aff4ed]{margin:0 0 18px;font-size:14px;line-height:1.5}.anno-modal-actions[data-v-b8aff4ed]{display:flex;justify-content:flex-end;gap:10px}.anno-modal-actions button[data-v-b8aff4ed]{height:36px;padding:0 16px;border-radius:10px;border:none;background:linear-gradient(145deg,#252b38,#1e242f);color:var(--anno-text);font-size:13px;cursor:pointer;box-shadow:4px 4px 9px #00000059,-2px -2px 6px #ffffff0a,inset 0 0 0 1px #ffffff0d;transition:transform .1s ease}.anno-modal-actions button[data-v-b8aff4ed]:active{transform:translateY(1px)}.anno-modal-actions .danger[data-v-b8aff4ed]{background:linear-gradient(145deg,#c94a4a,#a83232);color:#fff}body.theme-light .anno-root[data-v-b8aff4ed]{--anno-bg: #eef1f5;--anno-card: #ffffff;--anno-card-light: #ffffff;--anno-card-dark: #e6e9ef;--anno-text: #2c3e50;--anno-muted: #6b7b8c;--anno-border: rgba(0, 0, 0, .08);--anno-sunken: #eef1f5}body.theme-light .anno-panel[data-v-b8aff4ed],body.theme-light .anno-modal[data-v-b8aff4ed]{box-shadow:12px 12px 28px #a3b1c673,-6px -6px 18px #ffffffe6,inset 0 0 0 1px #fffc}body.theme-light .anno-trigger[data-v-b8aff4ed]{background:linear-gradient(145deg,#fff,#e6e9ef);color:var(--anno-text);box-shadow:6px 6px 14px #a3b1c673,-3px -3px 10px #ffffffe6,inset 0 0 0 1px #42b88340}body.theme-light .anno-trigger.on[data-v-b8aff4ed]{background:linear-gradient(145deg,#47c78c,#3aa876);color:#04201d}body.theme-light .anno-tool[data-v-b8aff4ed],body.theme-light .anno-modal-actions button[data-v-b8aff4ed]{background:linear-gradient(145deg,#fff,#e6e9ef);color:var(--anno-text);box-shadow:4px 4px 9px #a3b1c673,-2px -2px 6px #ffffffe6}body.theme-light .anno-tool.active[data-v-b8aff4ed]{background:linear-gradient(145deg,#42b88338,#42b8831f)}body.theme-light .anno-close[data-v-b8aff4ed]{background:#0000000a;border-color:#00000014;color:var(--anno-muted)}body.theme-light .anno-close[data-v-b8aff4ed]:hover,body.theme-light .anno-width input[type=range][data-v-b8aff4ed]{background:#00000014}.anno-group[data-v-b8aff4ed],.anno-group-label[data-v-b8aff4ed]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;height:auto!important;background:transparent!important;box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;gap:10px!important}.anno-group-label[data-v-b8aff4ed]{font-size:12px!important;color:var(--anno-muted, #8a93a8)!important;letter-spacing:.5px!important}.module-card[data-v-34a5ea56]{display:flex;flex-direction:column;background:var(--ms-card);border:1px solid var(--ms-border);border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:var(--ms-card-shadow, none);transition:transform .15s ease,border-color .15s ease}.module-card[data-v-34a5ea56]:hover{transform:translateY(-3px);border-color:var(--ms-card-hover-border, #3a4150);box-shadow:var(--ms-card-hover-shadow, 0 10px 30px rgba(0, 0, 0, .45), 0 0 0 1px rgba(66, 184, 131, .22))}.preview[data-v-34a5ea56]{position:relative;height:140px;flex:0 0 140px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.preview.teal[data-v-34a5ea56]{background:linear-gradient(160deg,#42b88329,#42b88305 62%),var(--ms-preview-bg, #13171d)}.preview.indigo[data-v-34a5ea56]{background:linear-gradient(160deg,#7c3aed29,#7c3aed05 62%),var(--ms-preview-bg, #13171d)}.thumb-canvas[data-v-34a5ea56]{width:80%;height:80%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.thumb-canvas[data-v-34a5ea56] svg{width:100%;height:100%;overflow:visible}.card-body[data-v-34a5ea56]{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}.tag[data-v-34a5ea56]{position:absolute;top:10px;left:10px;height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;background:var(--ms-tag-bg, rgba(12,14,18,.6));border:var(--ms-tag-border, 1px solid rgba(255,255,255,.1));color:var(--ms-tag-color, #c7cdd6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2}.tag.teal[data-v-34a5ea56]{color:var(--ms-tag-teal, #8fe0d4)}.tag.indigo[data-v-34a5ea56]{color:var(--ms-tag-indigo, #b3b8ff)}.lv[data-v-34a5ea56]{margin-left:5px;font-size:9px;font-weight:600;letter-spacing:.3px}.lv-senior[data-v-34a5ea56]{color:var(--ms-lv-senior, #7fd1b0)}.lv-junior[data-v-34a5ea56]{color:var(--ms-lv-junior, #e0a96b)}.card-title[data-v-34a5ea56]{font-size:16px;font-weight:600;color:var(--ms-text-1);margin:0;line-height:1.3}.card-desc[data-v-34a5ea56]{font-size:13px;line-height:20px;color:var(--ms-text-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.enter-btn[data-v-34a5ea56]{margin-top:auto;align-self:flex-end;width:auto;height:auto;padding:7px 16px;border:1px solid var(--ms-accent, #42b883);border-radius:999px;background:transparent;color:var(--ms-accent, #42b883);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.enter-btn[data-v-34a5ea56]:hover{background:var(--ms-accent);color:var(--cv-text-muted, #fff)}.module-card:hover .enter-btn[data-v-34a5ea56]{background:var(--ms-accent, #42b883);color:var(--cv-text-muted, #fff);box-shadow:0 4px 14px #42b88359}.module-card.list .enter-btn[data-v-34a5ea56]{align-self:flex-end}.module-card.list[data-v-34a5ea56]{flex-direction:row;min-height:140px}.module-card.list .preview[data-v-34a5ea56]{width:220px;flex:0 0 220px;height:auto}.module-card.list .card-body[data-v-34a5ea56]{flex:1}body.theme-light .module-card[data-v-34a5ea56]{--cv-text-muted: #46505e}.gk-card[data-v-1a4f896f]{display:flex;flex-direction:column;background:var(--bg-card, #232833);border:1px solid var(--border-color, #2f3545);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.gk-card[data-v-1a4f896f]:hover{transform:translateY(-2px);border-color:var(--cv-text-main, #3a4150)}.gk-preview[data-v-1a4f896f]{position:relative;height:150px;flex:0 0 150px;background:linear-gradient(160deg,#f2c94c1f,#f2c94c05 62%),var(--ms-preview-bg, #13171d);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.06)}.gk-tag[data-v-1a4f896f]{position:absolute;top:10px;left:10px;z-index:2;height:22px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;background:var(--cv-panel-bg, rgba(12,14,18,.6));border:1px solid rgba(242,201,76,.5);color:var(--cv-text-muted, #ffe08a);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:var(--nm-raised);border-radius:10px}.gk-lv[data-v-1a4f896f]{margin-left:5px;font-size:9px;font-weight:700;letter-spacing:.3px}.gk-lv.lv-senior[data-v-1a4f896f]{color:#7fd1b0}.gk-lv.lv-junior[data-v-1a4f896f]{color:#e0a96b}.gk-canvas[data-v-1a4f896f]{width:100%;height:100%;display:block}.gk-cap[data-v-1a4f896f]{position:absolute;bottom:8px;right:10px;font-size:10px;color:var(--cv-text-muted, rgba(180,195,220,.7));background:var(--cv-panel-bg, rgba(12,14,18,.55));padding:2px 8px;box-shadow:var(--nm-raised);border-radius:10px}.gk-body[data-v-1a4f896f]{padding:14px;display:flex;flex-direction:column;gap:10px;flex:1}.gk-title[data-v-1a4f896f]{font-size:15px;font-weight:600;color:var(--cv-text-muted, #f1f3f6);margin:0;line-height:1.3}.gk-tags[data-v-1a4f896f]{display:flex;flex-wrap:wrap;gap:6px}.gk-chip[data-v-1a4f896f]{font-size:11px;padding:3px 9px;border-radius:6px;background:var(--cv-panel-bg, rgba(66,184,131,.12));border:var(--cv-border, 1px solid rgba(66,184,131,.35));color:var(--cv-text-muted, #9dffd0)}.gk-foot[data-v-1a4f896f]{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.gk-stars[data-v-1a4f896f]{display:inline-flex;align-items:center;gap:2px}.gk-stars svg.on[data-v-1a4f896f]{fill:#ffe08a;filter:drop-shadow(0 0 3px rgba(255,224,138,.5))}.gk-stars svg.off[data-v-1a4f896f]{fill:#3a4150}.gk-star-num[data-v-1a4f896f]{margin-left:6px;font-size:11px;color:#a0a5b0}.gk-enter[data-v-1a4f896f]{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:8px;border:1px solid #42b883;background:transparent;color:#42b883;font-size:13px;font-weight:700;cursor:pointer;transition:.15s}.gk-enter[data-v-1a4f896f]:hover{background:#42b883;color:var(--cv-text-main, #04201d)}.gk-card.list[data-v-1a4f896f]{flex-direction:row;min-height:150px}.gk-card.list .gk-preview[data-v-1a4f896f]{width:230px;flex:0 0 230px;height:auto;border-bottom:none;border-right:1px solid rgba(255,255,255,.06)}body.theme-light .gk-card[data-v-1a4f896f]{--cv-text-muted: #46505e}.gk-tag[data-v-1a4f896f],.gk-cap[data-v-1a4f896f]{padding:var(--nm-padding-card)!important;border-radius:var(--nm-radius)!important}.module-select[data-v-b4568ceb]{--nav-h: 60px;--ms-bg: #1a1e29;--ms-accent: #42b883;--ms-sidebar: #1a1e29;--ms-card: #1a1e29;--ms-border: transparent;--ms-text-1: #F7F8F8;--ms-text-2: #A1A1AA;--ms-text-3: #8A909C;--ms-teal: #42b883;--ms-toolbar-bg: #1a1e29;--ms-lv-bg: #1a1e29;--ms-accent-ink: #04201d;--ms-badge-bg: #2a2e3b;--ms-scrollbar: #2b313c;--ms-scrollbar-hover: #3a4150;--ms-shadow-dark: #0e1118;--ms-shadow-light: #262c3a;--ms-sidebar-shadow: rgba(0, 0, 0, .5);--ms-toolbar-shadow: rgba(0, 0, 0, .4);--ms-card-shadow: 6px 6px 14px #0e1118, -6px -6px 14px #262c3a;--ms-card-hover-shadow: 9px 11px 22px #0b0e14, -5px -5px 12px #2a3140;--ms-card-hover-border: transparent;--ms-preview-bg: #13171d;--bg-card: #1a1e29;--border-color: transparent;--ms-cat-active-bg: rgba(45, 212, 191, .18);--ms-cat-active-line: #2dd4bf;--ms-cat-hover-bg: rgba(255, 255, 255, .04);--ms-toggle-hover-bg: rgba(255, 255, 255, .06);--ms-tag-bg: rgba(12, 14, 18, .6);--ms-tag-border: 1px solid rgba(255, 255, 255, .1);--ms-tag-color: var(--cv-text-muted, #c7cdd6);--ms-tag-teal: #8fe0d4;--ms-tag-indigo: #b3b8ff;--ms-lv-senior: #7fd1b0;--ms-lv-junior: #e0a96b;height:100vh;min-height:100vh;min-height:100dvh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-top:var(--nav-h);background:var(--ms-bg);color:var(--ms-text-1);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.ms-body[data-v-b4568ceb]{flex:1;display:flex;min-height:0;overflow:hidden}.ms-sidebar[data-v-b4568ceb]{width:280px;flex:0 0 280px;background:var(--ms-sidebar);border-right:1px solid var(--ms-border);padding:16px 0;display:flex;flex-direction:column;overflow-y:auto;z-index:10;position:relative;transition:width .28s cubic-bezier(.4,0,.2,1),flex-basis .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1)}.sidebar-toggle[data-v-b4568ceb]{flex:0 0 auto;width:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:0 6px 6px 0;background:transparent;color:var(--ms-text-3);cursor:pointer;transition:background .15s,color .15s,transform .2s;align-self:flex-start;margin-top:16px;padding:4px 2px;z-index:20}.sidebar-toggle[data-v-b4568ceb]:hover{background:#ffffff0f;color:var(--ms-text-1)}.sidebar-toggle[data-v-b4568ceb]:active{transform:scale(.9)}.sidebar-toggle.expanded[data-v-b4568ceb]{margin-left:-8px}.sidebar-inner[data-v-b4568ceb]{display:flex;flex-direction:column;min-width:0;flex:1}.ms-sidebar.collapsed[data-v-b4568ceb]{width:0!important;flex-basis:0!important;padding:0;border-right-color:transparent;overflow:hidden}.sidebar-top[data-v-b4568ceb]{position:sticky;top:0;z-index:5;background:var(--ms-sidebar);padding-bottom:6px}.side-search[data-v-b4568ceb]{display:flex;align-items:center;gap:8px;height:40px;width:180px;flex:0 1 200px;margin:0;padding:0 12px;background:var(--ms-card);border:1px solid var(--ms-border);border-radius:10px;color:var(--ms-text-3);transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.side-search[data-v-b4568ceb]:focus-within{border-color:var(--ms-accent);color:var(--ms-accent);box-shadow:0 0 0 3px #42b8831f}.side-search input[data-v-b4568ceb]{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--ms-text-1);font-size:14px;font-family:inherit}.side-search input[data-v-b4568ceb]::placeholder{color:var(--ms-text-3)}.level-switch[data-v-b4568ceb]{display:flex;gap:4px;padding:0;margin:0}.lv-btn[data-v-b4568ceb]{flex:none;height:40px;padding:0 16px;border:1px solid var(--ms-border);background:var(--ms-lv-bg);color:var(--cv-text-muted, #F7F8F8);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.lv-btn[data-v-b4568ceb]:hover{border-color:#4a515f}.lv-btn.active[data-v-b4568ceb]{background:var(--ms-accent);color:var(--ms-accent-ink);border-color:var(--ms-accent);font-weight:700}.cat-list[data-v-b4568ceb]{display:flex;flex-direction:column;gap:2px;padding:0 12px}.cat[data-v-b4568ceb]{display:flex;align-items:center;justify-content:space-between;width:100%;height:38px;padding:0 12px;border:none;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ms-text-2);background:transparent;text-align:left;font-family:inherit;transition:background .12s,color .12s}.cat[data-v-b4568ceb]:hover:not(.disabled){background:#ffffff0a;color:var(--ms-text-1)}.cat.active[data-v-b4568ceb]{background:#2dd4bf2e;color:var(--ms-text-1);font-weight:600;border-left:2px solid #2dd4bf;padding-left:10px;box-shadow:inset 0 0 0 1px #2dd4bf40}.cat.disabled[data-v-b4568ceb]{color:#595f6b;cursor:not-allowed}.cat .count-badge[data-v-b4568ceb]{margin-left:auto;font-size:11px;font-weight:600;line-height:1.4;color:var(--ms-text-2, #cfd4dd);background:var(--ms-badge-bg);border-radius:4px;padding:2px 6px;min-width:18px;text-align:center}.cat.active .count-badge[data-v-b4568ceb]{background:#313846;color:var(--cv-text-muted, #e6e9ef)}.cat.disabled .count-badge[data-v-b4568ceb]{background:#23262f;color:#4b4f58}.cat-all[data-v-b4568ceb]{margin-bottom:8px}.ms-main[data-v-b4568ceb]{flex:1;min-width:0;padding:0 24px 24px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.ms-toolbar[data-v-b4568ceb]{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:100;background-color:var(--ms-toolbar-bg);margin:0 -24px;padding:16px 24px 14px;border-bottom:1px solid var(--ms-border)}.toolbar-left[data-v-b4568ceb]{display:flex;align-items:center;gap:10px}.toolbar-right[data-v-b4568ceb]{display:flex;align-items:center;gap:16px}.view-toggle[data-v-b4568ceb]{display:flex;background:var(--ms-card);border:1px solid var(--ms-border);border-radius:8px;padding:3px;gap:2px}.view-toggle button[data-v-b4568ceb]{border:none;background:none;color:var(--ms-text-2);font-size:13px;padding:0 14px;height:32px;border-radius:6px;cursor:pointer;font-family:inherit}.view-toggle button.active[data-v-b4568ceb]{background:var(--ms-teal);color:var(--cv-text-muted, #fff);font-weight:600}.fs-btn[data-v-b4568ceb]{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;background:var(--ms-card);border:1px solid var(--ms-border);border-radius:8px;color:var(--ms-text-2);font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.fs-btn[data-v-b4568ceb]:hover{border-color:var(--ms-accent);color:var(--ms-text-1)}.fs-btn svg[data-v-b4568ceb]{display:block;flex-shrink:0}.skin-btn[data-v-b4568ceb]{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;background:var(--ms-card);border:1px solid var(--ms-border);border-radius:8px;color:var(--ms-text-2);font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}.skin-btn[data-v-b4568ceb]:hover{border-color:var(--ms-accent);color:var(--ms-text-1)}.skin-btn svg[data-v-b4568ceb]{display:block;flex-shrink:0}.section[data-v-b4568ceb]{display:flex;flex-direction:column;gap:16px}.section-head[data-v-b4568ceb]{display:flex;align-items:center;justify-content:space-between}.section-title[data-v-b4568ceb]{font-size:16px;font-weight:700;color:var(--ms-text-1)}.section-count[data-v-b4568ceb]{font-size:13px;color:var(--ms-text-3)}.module-grid[data-v-b4568ceb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.module-grid.list[data-v-b4568ceb]{grid-template-columns:1fr}@media (max-width: 1180px){.module-grid[data-v-b4568ceb]:not(.list){grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}}@media (max-width: 768px){.module-grid[data-v-b4568ceb]:not(.list){grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}}@media (max-width: 480px){.module-grid[data-v-b4568ceb]:not(.list){grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}.empty[data-v-b4568ceb]{color:var(--ms-text-3);font-size:14px;text-align:center;padding:48px 0}.module-select.is-mobile.is-portrait .ms-body[data-v-b4568ceb]{flex-direction:column}.module-select.is-mobile.is-portrait .ms-sidebar[data-v-b4568ceb]{width:100%;flex:none;height:auto;position:static;border-right:none;border-bottom:1px solid var(--ms-border);padding:12px 0}.module-select.is-mobile.is-portrait.sidebar-collapsed .ms-sidebar[data-v-b4568ceb],.module-select.is-mobile.is-portrait .sidebar-toggle[data-v-b4568ceb]{display:none}.module-select.is-mobile.is-portrait .cat-list[data-v-b4568ceb]{flex-direction:row;overflow-x:auto;gap:8px;padding:0 16px}.module-select.is-mobile.is-portrait .cat[data-v-b4568ceb],.module-select.is-mobile.is-portrait .cat.active[data-v-b4568ceb]{flex:0 0 auto;white-space:nowrap;border-left:none;padding-left:12px}.module-select.is-mobile.is-portrait .ms-main[data-v-b4568ceb]{padding:0 16px 16px}.module-select.is-mobile.is-portrait .ms-toolbar[data-v-b4568ceb]{margin:0 -16px;padding:12px 16px 10px}.module-select.is-mobile.is-portrait .toolbar-left[data-v-b4568ceb]{width:100%}.module-select.is-mobile.is-portrait .side-search[data-v-b4568ceb]{flex:1 1 auto;width:auto}.module-select.is-mobile.is-portrait .toolbar-right[data-v-b4568ceb]{width:100%;justify-content:flex-end}@media (max-width: 640px){.ms-main[data-v-b4568ceb]{padding:0 16px 16px}.ms-toolbar[data-v-b4568ceb]{margin:0 -16px;padding:12px 16px 10px}.toolbar-left[data-v-b4568ceb]{width:100%}.side-search[data-v-b4568ceb]{flex:1 1 auto;width:auto}.toolbar-right[data-v-b4568ceb]{width:100%;justify-content:flex-end}}.ms-sidebar[data-v-b4568ceb],.ms-main[data-v-b4568ceb]{scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar) transparent}.ms-sidebar[data-v-b4568ceb]::-webkit-scrollbar,.ms-main[data-v-b4568ceb]::-webkit-scrollbar{width:8px}.ms-sidebar[data-v-b4568ceb]::-webkit-scrollbar-track,.ms-main[data-v-b4568ceb]::-webkit-scrollbar-track{background:transparent}.ms-sidebar[data-v-b4568ceb]::-webkit-scrollbar-thumb,.ms-main[data-v-b4568ceb]::-webkit-scrollbar-thumb{background:var(--ms-scrollbar);border-radius:8px}.ms-sidebar[data-v-b4568ceb]::-webkit-scrollbar-thumb:hover,.ms-main[data-v-b4568ceb]::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-hover)}.module-select.theme-light[data-v-b4568ceb]{--ms-bg: #e4e9f1;--ms-toolbar-bg: #e4e9f1;--ms-sidebar: #e4e9f1;--ms-card: #e4e9f1;--ms-border: transparent;--ms-text-1: #2b3340;--ms-text-2: #4d5768;--ms-text-3: #77839a;--ms-accent: #2f9e7f;--ms-teal: #2f9e7f;--ms-accent-ink: #ffffff;--ms-lv-bg: #e4e9f1;--ms-badge-bg: #d6dde8;--ms-scrollbar: #c7d0dd;--ms-scrollbar-hover: #b6c1d1;--bg-card: #e4e9f1;--border-color: transparent;--ms-shadow-dark: #c7d0dd;--ms-shadow-light: #ffffff;--ms-sidebar-shadow: rgba(160, 175, 198, .35);--ms-toolbar-shadow: rgba(160, 175, 198, .28);--ms-card-shadow: 7px 7px 15px #c7d0dd, -7px -7px 15px #ffffff;--ms-card-hover-shadow: 10px 12px 24px #b9c4d4, -6px -6px 14px #ffffff;--ms-card-hover-border: transparent;--ms-preview-bg: #dde3ec;--ms-cat-active-bg: rgba(47, 158, 127, .15);--ms-cat-active-line: #2f9e7f;--ms-cat-hover-bg: rgba(255, 255, 255, .6);--ms-toggle-hover-bg: rgba(0, 0, 0, .06);--ms-tag-bg: rgba(255, 255, 255, .72);--ms-tag-border: 1px solid rgba(43, 51, 64, .12);--ms-tag-color: #3a4150;--ms-tag-teal: #1e7a60;--ms-tag-indigo: #5b52c9;--ms-lv-senior: #1e7a60;--ms-lv-junior: #b06a1e}.module-select .ms-sidebar[data-v-b4568ceb]{box-shadow:10px 0 22px var(--ms-sidebar-shadow, rgba(0, 0, 0, .5))}.module-select .ms-toolbar[data-v-b4568ceb]{box-shadow:0 10px 22px var(--ms-toolbar-shadow, rgba(0, 0, 0, .4))}.module-select .side-search[data-v-b4568ceb]{background:var(--ms-card);border-color:transparent;box-shadow:inset 3px 3px 7px var(--ms-shadow-dark),inset -3px -3px 7px var(--ms-shadow-light)}.module-select .side-search[data-v-b4568ceb]:focus-within{border-color:var(--ms-accent);box-shadow:inset 3px 3px 7px var(--ms-shadow-dark),inset -3px -3px 7px var(--ms-shadow-light),0 0 0 3px #42b88324}.module-select .view-toggle[data-v-b4568ceb]{background:var(--ms-card);border-color:transparent;box-shadow:inset 2px 2px 6px var(--ms-shadow-dark),inset -2px -2px 6px var(--ms-shadow-light)}.module-select .fs-btn[data-v-b4568ceb],.module-select .skin-btn[data-v-b4568ceb]{background:var(--ms-card);border-color:transparent;box-shadow:5px 5px 10px var(--ms-shadow-dark),-5px -5px 10px var(--ms-shadow-light)}.module-select .fs-btn[data-v-b4568ceb]:hover,.module-select .skin-btn[data-v-b4568ceb]:hover{color:var(--ms-accent);border-color:transparent;box-shadow:inset 3px 3px 7px var(--ms-shadow-dark),inset -3px -3px 7px var(--ms-shadow-light)}.module-select .lv-btn[data-v-b4568ceb]{background:var(--ms-lv-bg);border-color:transparent;box-shadow:4px 4px 8px var(--ms-shadow-dark),-4px -4px 8px var(--ms-shadow-light)}.module-select .lv-btn[data-v-b4568ceb]:hover{border-color:transparent;color:var(--ms-accent);box-shadow:inset 2px 2px 6px var(--ms-shadow-dark),inset -2px -2px 6px var(--ms-shadow-light)}.module-select .lv-btn.active[data-v-b4568ceb]{background:var(--ms-accent);color:var(--ms-accent-ink);border-color:transparent;box-shadow:inset 3px 3px 7px var(--ms-shadow-dark)}.module-select .cat[data-v-b4568ceb]:hover:not(.disabled){background:var(--ms-cat-hover-bg, rgba(255, 255, 255, .04));color:var(--ms-text-1)}.module-select .cat.active[data-v-b4568ceb]{background:var(--ms-cat-active-bg, rgba(45, 212, 191, .18));border-left-color:var(--ms-cat-active-line, #2dd4bf);box-shadow:inset 2px 2px 6px var(--ms-shadow-dark)}.module-select .sidebar-toggle[data-v-b4568ceb]:hover{background:var(--ms-toggle-hover-bg, rgba(255, 255, 255, .06));color:var(--ms-text-2)}.module-select[data-v-b4568ceb] .gk-card{border-color:transparent;box-shadow:var(--ms-card-shadow)}.module-select[data-v-b4568ceb] .gk-card:hover{border-color:var(--ms-card-hover-border);box-shadow:var(--ms-card-hover-shadow)}.module-select.theme-light[data-v-b4568ceb] .gk-title{color:var(--ms-text-1)}.module-select.theme-light[data-v-b4568ceb] .gk-chip{background:#2f9e7f24;border-color:#2f9e7f66;color:#1e7a60}.module-select.theme-light[data-v-b4568ceb] .gk-star-num{color:var(--ms-text-2)}.module-select.theme-light[data-v-b4568ceb] .gk-enter{border-color:var(--ms-accent);color:var(--ms-accent)}.module-select.theme-light[data-v-b4568ceb] .gk-enter:hover{background:var(--ms-accent);color:var(--cv-text-muted, #fff)}.module-select.theme-light[data-v-b4568ceb] .preview,.module-select.theme-light[data-v-b4568ceb] .gk-preview{box-shadow:inset 2px 2px 6px var(--ms-shadow-dark),inset -2px -2px 6px var(--ms-shadow-light)}.module-select.theme-light[data-v-b4568ceb] .gk-preview{border-bottom-color:var(--cv-text-muted, rgba(43, 51, 64, .08))}.module-select.theme-light[data-v-b4568ceb] .thumb-canvas{filter:invert(.92) hue-rotate(180deg) drop-shadow(0 2px 4px rgba(43,51,64,.25))}.module-select.theme-light[data-v-b4568ceb] .gk-canvas{filter:invert(.92) hue-rotate(180deg)}.module-select.theme-light[data-v-b4568ceb] .gk-tag{background:#ffffffb8;border-color:var(--cv-text-muted, rgba(242, 201, 76, .6));color:#8a6d1a}.module-select.theme-light[data-v-b4568ceb] .gk-cap{background:#fff9;color:#5b6472}.module-select.theme-light[data-v-b4568ceb] .gk-lv.lv-senior{color:#1e7a60}.module-select.theme-light[data-v-b4568ceb] .gk-lv.lv-junior{color:#b06a1e}.module-select.theme-light .cat.active .count-badge[data-v-b4568ceb]{background:#c3cddb;color:var(--ms-text-2)}.module-select.theme-light .cat.disabled .count-badge[data-v-b4568ceb]{background:#d9dfe8;color:#a4adbd}body.theme-light .module-select[data-v-b4568ceb]{--cv-text-muted: #46505e}:root{--bg-main: #1a1e29;--bg-card: #232833;--bg-input: #1a1e29;--bg-track: #363b47;--bg-active: #42b883;--bg-overlay: rgba(27, 31, 41, .85);--theme-shadow-dark: rgba(0, 0, 0, .6);--theme-shadow-light: rgba(255, 255, 255, .04);--theme-bg-deep: #161922;--theme-bg: #1a1e29;--theme-panel: #232833;--theme-border: #2f3545;--theme-text-1: #e6e9ef;--theme-text-2: #a0a5b0;--theme-accent: #42b883;--text-primary: #ffffff;--text-body: #e6e9ef;--text-secondary: #a0a5b0;--text-label: #cfd4dd;--text-active: #42b883;--text-danger: #ff6b6b;--text-on-active: #04201d;--theme-green: #42b883;--theme-hover: #52d495;--border-color: #2f3545;--border-input: #2f3a4d;--border-pill: #4a4f5b;--bg-pill: #3a3f4b;--accent-amber: #f2c94c;--accent-orange: #ff9f43;--accent-blue: #74b9ff;--accent-red: #ff6b6b;--accent-cyan: #5fd0ff;--radius-card: 10px;--radius-btn: 8px;--radius-input: 5px;--radius-pill: 999px;--padding-card: 12px;--padding-input: 0}:root{--nm-bg: #1a1e29;--nm-card: #232833;--nm-text: #ffffff;--nm-text-sub: #a0a5b0;--nm-accent: #42b883;--nm-track: #363b47;--nm-radius: 12px;--nm-padding-card: 12px;--nm-input-h: 32px;--nm-raised: 4px 4px 8px rgba(0, 0, 0, .6), -4px -4px 8px rgba(255, 255, 255, .05);--nm-sunken: inset 2px 2px 4px rgba(0, 0, 0, .6), inset -2px -2px 4px rgba(255, 255, 255, .05);--nm-pressed: inset 4px 4px 8px rgba(0, 0, 0, .6), inset -4px -4px 8px rgba(255, 255, 255, .05);--nm-chart-axis: #a0a5b0;--nm-chart-split: rgba(255, 255, 255, .06);--nm-scroll-thumb: rgba(255, 255, 255, .18);--nm-scroll-track: rgba(255, 255, 255, .04)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg-main);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#app{min-height:100vh;display:flex;flex-direction:column}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .3s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0}a{color:var(--theme-green);text-decoration:none}a:hover{color:var(--theme-hover)}.scroll-hidden::-webkit-scrollbar{width:0;height:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--theme-green);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--theme-hover)}*{scrollbar-width:thin;scrollbar-color:var(--theme-green) var(--bg-main)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-btn);font-size:13px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-body);background:var(--bg-input);transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.btn:hover{background:#2f3a4d}.btn-primary{background:var(--theme-green);border-color:var(--theme-green);color:var(--text-on-active)}.btn-primary:hover{background:var(--theme-hover);border-color:var(--theme-hover)}.btn-secondary{background:var(--bg-input);border-color:#ffffff14;color:var(--text-body)}.btn-secondary:hover{background:#2f3a4d}.pill{flex:1;padding:7px 8px;background:var(--bg-pill);border:1px solid var(--border-pill);color:var(--text-body);border-radius:var(--radius-pill);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.pill:hover{background:#4a4f5b;color:var(--text-primary)}.pill.active{background:var(--theme-green);border-color:var(--theme-green);color:var(--text-on-active)}.pill.active:hover{background:var(--theme-hover)}.pill-back{position:fixed;left:20px;top:20px;z-index:9999;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 11px;border-radius:17px;border:1px solid var(--border-input);background:var(--bg-overlay);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.pill-back:hover{background:var(--theme-green);color:var(--text-primary);border-color:var(--theme-green)}.pill-back svg{display:block}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:var(--padding-card);margin-bottom:12px}.card-title{font-size:11px;color:var(--text-secondary);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.input-number{width:58px;height:24px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-input);color:var(--text-body);font-size:12px;text-align:center;font-variant-numeric:tabular-nums;outline:none}.input-number:focus{border-color:var(--theme-green)}.spin-group{display:inline-flex;align-items:center;gap:2px}.spin-btn{width:24px;height:24px;background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-body);border-radius:var(--radius-input);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.spin-btn:hover{background:#2f3a4d}.slider-row{display:flex;align-items:center;gap:10px}.slider-row>.slider-label{flex:0 0 auto;width:84px;font-size:12px;color:var(--text-label);white-space:nowrap}.slider-row>input[type=range]{flex:1 1 auto;min-width:0}.slider-row>.slider-val{flex:0 0 auto;min-width:78px;text-align:right;font-size:11px;color:var(--accent-amber);font-variant-numeric:tabular-nums;white-space:nowrap}.slider-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);margin-top:4px}.slider-ends .end-warm{color:var(--accent-orange)}.slider-ends .end-cool{color:var(--accent-blue)}input[type=range].ui-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:16px;border-radius:8px;background:linear-gradient(to right,var(--theme-green) 0%,var(--theme-green) var(--pct, 50%),var(--bg-track) var(--pct, 50%),var(--bg-track) 100%);outline:none;cursor:pointer}input[type=range].ui-slider::-webkit-slider-runnable-track{height:16px;border-radius:8px;background:transparent}input[type=range].ui-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:none;box-shadow:0 0 0 4px #42b88333;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}input[type=range].ui-slider:hover::-webkit-slider-thumb{transform:scale(1.18)}input[type=range].ui-slider:active::-webkit-slider-thumb{transform:scale(1.05)}input[type=range].ui-slider::-moz-range-track{height:16px;border-radius:8px;background:var(--bg-track)}input[type=range].ui-slider::-moz-range-progress{height:16px;border-radius:8px;background:var(--theme-green)}input[type=range].ui-slider::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #42b88333}.chk{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--text-label);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.chk input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0}.chk-box{flex:0 0 auto;width:16px;height:16px;background:var(--bg-input);border:1px solid var(--border-pill);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.chk input:checked+.chk-box{background:var(--theme-green);border-color:var(--theme-green)}.chk-box:after{content:"✓";color:#fff;font-size:11px;font-weight:700;line-height:1;opacity:0;transform:scale(.5);transition:opacity .15s ease,transform .15s ease}.chk input:checked+.chk-box:after{opacity:1;transform:scale(1)}.title-lg{font-size:22px;color:var(--text-primary);font-weight:700}.label-sm{font-size:12px;color:var(--text-label)}.data-val{font-size:20px;color:var(--text-active);font-weight:800}.data-unit{font-size:12px;color:var(--text-secondary);margin-left:2px}.readout-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.readout-cell{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 6px;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.readout-label{font-size:10px;color:var(--text-secondary)}.readout-val{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.readout-val.green{color:var(--theme-green)}.readout-val.orange{color:var(--accent-amber)}.readout-val.red{color:var(--accent-red)}.readout-val.blue{color:var(--accent-blue)}.module-shell{width:100%;height:100vh;overflow:hidden;display:flex;background:var(--bg-main);color:var(--text-body)}.module-2col{display:flex;width:100%;height:100%}.module-2col>.col-left{flex:0 0 30%;max-width:30%;min-width:280px;height:100%;overflow-y:auto;overflow-x:hidden;padding:12px;border-right:1px solid rgba(255,255,255,.06)}.module-2col>.col-right{flex:1 1 auto;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.module-2col>.col-right>.canvas-wrap{flex:1 1 auto;min-height:0;position:relative;overflow:hidden}.module-2col>.col-right>.chart-wrap{flex:0 0 190px;height:190px;display:flex;flex-direction:column;padding:6px 12px 4px;border-top:1px solid rgba(255,255,255,.06);overflow:hidden}.module-3col{display:flex;width:100%;height:100%}.module-3col>.col-side{flex:0 0 30%;max-width:30%;min-width:280px;height:100%;overflow-y:auto;padding:14px}.module-3col>.col-mid{flex:0 0 40%;max-width:40%;height:100%;position:relative}@media (max-width: 1100px){.module-3col{flex-wrap:wrap}.module-3col>.col-mid{flex:1 1 100%;max-width:100%;order:-1;height:320px}.module-3col>.col-side{flex:1 1 50%;max-width:50%;height:auto}.module-2col>.col-left{flex:0 0 260px;min-width:260px}}@media (max-width: 800px){.module-2col{flex-direction:column}.module-2col>.col-left{flex:0 0 40%;max-width:100%;width:100%;height:40%;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.module-2col>.col-right{flex:1 1 60%;height:60%}}.module-shell{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh}@media (pointer: coarse){body{font-size:15px}.title-lg{font-size:24px}.label-sm,.card-title{font-size:12px}.data-val{font-size:22px}.slider-row>.slider-label{width:92px;font-size:13px}.slider-row>.slider-val{min-width:86px;font-size:12px}.btn{height:42px;padding:0 18px;font-size:14px}.pill{min-height:40px;padding:10px;font-size:13px}.lv-btn,.cat,.filter-btn,.view-toggle button{min-height:42px;font-size:14px}.pill-back{height:40px}.side-search,.level-switch .lv-btn{height:44px}input[type=range].ui-slider{height:24px}input[type=range].ui-slider::-webkit-slider-runnable-track{height:24px}input[type=range].ui-slider::-webkit-slider-thumb{width:24px;height:24px;box-shadow:0 0 0 5px #42b88338}input[type=range].ui-slider::-moz-range-track{height:24px}input[type=range].ui-slider::-moz-range-thumb{width:24px;height:24px}.input-number{width:66px;height:34px;font-size:14px}.spin-btn{width:34px;height:34px;font-size:16px}.chk{font-size:14px}.chk-box{width:20px;height:20px}.chk-box:after{font-size:13px}}@media (max-width: 900px) and (orientation: portrait){.module-2col{flex-direction:column}.module-2col>.col-left{flex:0 0 auto;max-width:100%;width:100%;height:auto;max-height:44%;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.module-2col>.col-right{flex:1 1 auto;height:auto}}:root{--legacy-bg-primary: #0a0a1a;--legacy-bg-secondary: #12122a;--legacy-bg-card: rgba(18, 18, 42, .8);--legacy-bg-card-hover: rgba(30, 30, 60, .9);--legacy-text-primary: #f4f4fa;--legacy-text-secondary: #b4b4cc;--legacy-accent-primary: #6c5ce7;--legacy-accent-secondary: #a29bfe;--legacy-accent-glow: rgba(108, 92, 231, .3);--legacy-border-subtle: rgba(255, 255, 255, .06);--legacy-gradient-hero: linear-gradient(135deg, #0a0a1a 0%, #1a1040 50%, #0a0a1a 100%);--legacy-radius: 12px;--legacy-radius-lg: 20px;--legacy-transition: all .3s cubic-bezier(.4, 0, .2, 1);--accent-primary: var(--legacy-accent-primary);--accent-secondary: var(--legacy-accent-secondary);--accent-glow: var(--legacy-accent-glow);--bg-primary: var(--legacy-bg-primary);--bg-secondary: var(--legacy-bg-secondary);--bg-card-hover: var(--legacy-bg-card-hover);--border-subtle: var(--legacy-border-subtle);--gradient-hero: var(--legacy-gradient-hero);--radius: var(--legacy-radius);--radius-lg: var(--legacy-radius-lg);--transition: var(--legacy-transition)}@media (max-width: 1024px){.uam-page,.cf-app,.crt-app,.cfmOverview,.go-page,.impulse-wrap,.ce-root,.b-root,.g-root,.lp-root,.ke-page,.ms-page,.ms-root,.ac-app,.kp-wrap,.kp-root,.fric-root,.br-page,.cb-page,.hk-page,.ohm-root,.cm-page,.pm-page,.dr-root,.at-root,.sc-root,.ei-page,.fv-root,.me-root,.pe-root,.ff-page,.sb-page,.cyc-root,.ds-root,.bm-root,.gvd-root,.cn-root,.de-root,.am-root,.ss-root,.gb-root,.bh-root,.as-root,.rc-root,.ap-root,.cl-root,.fe-root,.su-root,.fb-root,.cp-root,.ph-root{height:auto!important;min-height:100vh;min-height:100dvh;overflow:visible!important}}@media (max-width: 640px){.uam-page,.cf-app,.crt-app,.cfmOverview,.go-page,.impulse-wrap,.ce-root,.b-root,.g-root,.lp-root,.ke-page,.ms-page,.ms-root,.ac-app,.kp-wrap,.kp-root,.fric-root,.br-page,.cb-page,.hk-page,.ohm-root,.cm-page,.pm-page,.dr-root,.at-root,.sc-root,.ei-page,.fv-root,.me-root,.pe-root,.ff-page,.sb-page,.cyc-root,.ds-root,.bm-root,.gvd-root,.cn-root,.de-root,.am-root,.ss-root,.gb-root,.bh-root,.as-root,.rc-root,.ap-root,.cl-root,.fe-root,.su-root,.fb-root,.cp-root,.ph-root{height:auto!important;min-height:auto;overflow:visible!important}}body.theme-light{--theme-bg-deep: #dde3ec;--theme-bg: #e4ebf5;--theme-panel: #e4ebf5;--theme-border: #b8bcc3;--theme-text-1: #374151;--theme-text-2: #7b8794;--theme-accent: #2f9e7f;--bg-main: #e4ebf5;--bg-card: #e4ebf5;--bg-input: #e4ebf5;--bg-track: #d3dae6;--bg-overlay: rgba(228, 235, 245, .85);--text-primary: #374151;--text-body: #374151;--text-secondary: #7b8794;--text-label: #7b8794;--border-color: #b8bcc3;--border-input: #b8bcc3;--border-pill: #b8bcc3;--bg-pill: #e4ebf5;--theme-shadow-dark: #b8bcc3;--theme-shadow-light: #ffffff;--nm-bg: #e4ebf5;--nm-card: #e4ebf5;--nm-text: #374151;--nm-text-sub: #7b8794;--nm-accent: #42b883;--nm-track: #d3dae6;--nm-radius: 12px;--nm-raised: 6px 6px 12px rgba(184, 188, 195, .6), -6px -6px 12px rgba(255, 255, 255, .9);--nm-sunken: inset 4px 4px 8px rgba(184, 188, 195, .6), inset -4px -4px 8px rgba(255, 255, 255, .9);--nm-pressed: inset 4px 4px 8px rgba(184, 188, 195, .6), inset -4px -4px 8px rgba(255, 255, 255, .9);--nm-chart-axis: #6b7280;--nm-chart-split: #e5e7eb;--nm-scroll-thumb: #b8bcc3;--nm-scroll-track: #e4ebf5}body.theme-light .module-page :is(div,main,section):has(>canvas):not([class*=chart]):not(.module-shell):not([class*=col-]),body.theme-light .module-page :is(div,main,section)[class*=canvas]:not([class*=chart]),body.theme-light .module-page :is(div,main,section)[class*=stage]:not([class*=chart]),body.theme-light .module-page :is(div,main,section)[class*=three]:not([class*=chart]){border:none!important;box-shadow:var(--nm-sunken)!important;border-radius:10px;overflow:hidden}body.theme-light .module-page canvas{border:none!important;border-radius:10px}.card,.nm-card{border:none!important;border-radius:var(--nm-radius);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.nm-card-inset{border:none!important;border-radius:var(--nm-radius);box-shadow:var(--nm-sunken);transition:all .2s ease-in-out}.btn{background:var(--nm-card);border:none!important;border-radius:var(--nm-radius);color:var(--nm-text);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.btn:hover{box-shadow:var(--nm-sunken);transform:translateY(1px);background:var(--nm-card)}.btn:active{box-shadow:var(--nm-pressed);transform:translateY(1px)}.btn-primary{background:var(--nm-accent);border:none!important;border-radius:var(--nm-radius);color:#04201d;box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.btn-primary:hover{box-shadow:var(--nm-sunken);transform:translateY(1px)}.btn-primary:active{box-shadow:var(--nm-pressed);transform:translateY(1px)}.btn-secondary{background:var(--nm-card);border:none!important;border-radius:var(--nm-radius);color:var(--nm-text);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.btn-secondary:hover{box-shadow:var(--nm-sunken);transform:translateY(1px);background:var(--nm-card)}.btn-secondary:active{box-shadow:var(--nm-pressed);transform:translateY(1px)}.pill{background:var(--nm-card);border:none!important;border-radius:var(--nm-radius);color:var(--nm-text);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.pill:hover{box-shadow:var(--nm-sunken);transform:translateY(1px);color:var(--nm-text)}.pill.active{background:var(--nm-accent);color:#04201d;box-shadow:var(--nm-sunken)}.pill.active:hover{background:var(--nm-accent);box-shadow:var(--nm-sunken)}.pill-back{border:none!important;border-radius:17px;background:var(--bg-overlay);color:var(--nm-text);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.pill-back:hover{background:var(--nm-accent);color:#04201d;box-shadow:var(--nm-sunken);transform:translateY(1px)}.input-number{background:var(--bg-input);border:none!important;border-radius:6px;color:var(--nm-text);box-shadow:var(--nm-sunken);transition:all .2s ease-in-out}.input-number:focus{box-shadow:var(--nm-sunken);outline:1px solid var(--nm-accent)}.spin-btn{background:var(--nm-card);border:none!important;border-radius:6px;color:var(--nm-text);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.spin-btn:hover{background:var(--nm-card)}.spin-btn:active{box-shadow:var(--nm-pressed);transform:translateY(1px)}.input-group,.spin-group{display:flex;align-items:center;justify-content:space-between;height:var(--nm-input-h);padding:0 4px;gap:4px;background:var(--nm-card);border:none!important;border-radius:var(--nm-radius);box-shadow:var(--nm-sunken);transition:all .2s ease-in-out}.input-group .spin-btn,.input-group .input-number,.spin-group .spin-btn,.spin-group .input-number{height:100%}.input-group .input-number,.spin-group .input-number{flex:1 1 auto;box-shadow:none;background:transparent;font-size:13px}.input-group .spin-btn,.spin-group .spin-btn{flex:0 0 auto;width:var(--nm-input-h);border-radius:8px}input[type=range].ui-slider,.nm-slider{box-shadow:var(--nm-sunken)!important;transition:all .2s ease-in-out}input[type=range]{box-shadow:var(--nm-sunken)!important}input[type=range]:focus{outline:none}input[type=range].ui-slider::-webkit-slider-thumb{border:none;box-shadow:var(--nm-raised),0 0 0 3px #42b88340!important;transition:transform .15s ease,box-shadow .2s ease-in-out}input[type=range].ui-slider:hover::-webkit-slider-thumb{transform:scale(1.12)}input[type=range].ui-slider:active::-webkit-slider-thumb{transform:scale(1.04)}input[type=range].ui-slider::-moz-range-thumb{border:none;box-shadow:var(--nm-raised),0 0 0 3px #42b88340!important}.chk-box{background:var(--nm-card);border:none!important;box-shadow:var(--nm-sunken);transition:all .2s ease-in-out}.chk input:checked+.chk-box{box-shadow:inset 1px 1px 3px #0000004d}.readout-cell{background:var(--nm-card);border:none!important;box-shadow:var(--nm-sunken);transition:all .2s ease-in-out}.chart-wrap,.nm-chart{border-radius:var(--nm-radius);box-shadow:var(--nm-raised);transition:all .2s ease-in-out}.chart-wrap canvas,.nm-chart canvas,.echarts-instance canvas,div[echarts-instance] canvas{background:transparent!important}.module-topbar,.nm-topbar{background:transparent!important;box-shadow:none!important;border:none!important}.nm-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.module-shell,.module-2col>.col-left,.module-2col>.col-right,.module-3col>.col-side,.module-3col>.col-mid,.nm-scroll{scrollbar-width:thin;scrollbar-color:var(--nm-scroll-thumb) var(--nm-scroll-track)}.module-shell::-webkit-scrollbar,.module-2col>.col-left::-webkit-scrollbar,.module-2col>.col-right::-webkit-scrollbar,.module-3col>.col-side::-webkit-scrollbar,.module-3col>.col-mid::-webkit-scrollbar,.nm-scroll::-webkit-scrollbar{width:8px;height:8px}.module-shell::-webkit-scrollbar-track,.module-2col>.col-left::-webkit-scrollbar-track,.module-2col>.col-right::-webkit-scrollbar-track,.module-3col>.col-side::-webkit-scrollbar-track,.module-3col>.col-mid::-webkit-scrollbar-track,.nm-scroll::-webkit-scrollbar-track{background:var(--nm-scroll-track);border-radius:8px}.module-shell::-webkit-scrollbar-thumb,.module-2col>.col-left::-webkit-scrollbar-thumb,.module-2col>.col-right::-webkit-scrollbar-thumb,.module-3col>.col-side::-webkit-scrollbar-thumb,.module-3col>.col-mid::-webkit-scrollbar-thumb,.nm-scroll::-webkit-scrollbar-thumb{background:var(--nm-scroll-thumb);border-radius:8px}.module-shell::-webkit-scrollbar-thumb:hover,.module-2col>.col-left::-webkit-scrollbar-thumb:hover,.module-2col>.col-right::-webkit-scrollbar-thumb:hover,.module-3col>.col-side::-webkit-scrollbar-thumb:hover,.module-3col>.col-mid::-webkit-scrollbar-thumb:hover,.nm-scroll::-webkit-scrollbar-thumb:hover{background:var(--nm-accent)}body.theme-light .module-page :is(div,section,footer)[class*=actions],body.theme-light .module-page :is(div,section,footer)[class*=controls],body.theme-light .module-page :is(div,section,footer)[class*=bottom],body.theme-light .module-page :is(div,section,footer)[class*=footer],body.theme-light .module-page :is(div,section,footer)[class*=play-row],body.theme-light .module-page :is(div,section,footer)[class*=bottom-grid],body.theme-light .module-page :is(div,section,footer).step-footer{background:transparent!important;border:none!important;box-shadow:none!important}.module-page button:not(.spin-btn):not(.pill):not(.pill-back):not(.btn):not(.btn-primary):not(.btn-secondary){border:none!important;border-radius:var(--nm-radius);box-shadow:var(--nm-raised)!important;transition:all .2s ease-in-out}.module-page button:not(.spin-btn):not(.pill):not(.pill-back):not(.btn):not(.btn-primary):not(.btn-secondary):hover{box-shadow:var(--nm-sunken)!important;transform:translateY(1px)}.module-page button:not(.spin-btn):not(.pill):not(.pill-back):not(.btn):not(.btn-primary):not(.btn-secondary):active{box-shadow:var(--nm-pressed)!important;transform:translateY(2px)!important}.module-page input[type=number],.module-page input[type=text],.module-page .input-number{box-shadow:var(--nm-sunken)!important}body.theme-light .module-page input[type=number],body.theme-light .module-page input[type=text]{color:#374151!important}body.device-mobile.is-portrait .module-page.is-mobile-layout{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}body.device-mobile.is-portrait .module-page .uam-page,.cf-app,.crt-app,.cfmOverview,.experimentToolbar,.go-page,.impulse-wrap,.ce-root,.b-root,.g-root,.lp-root,.ke-page,.ms-page,.ms-root,.ac-app,.ac-page,.kp-wrap,.kp-root,.fric-root,.br-page,.cb-page,.hk-page,.ohm-root,.cm-page,.pm-page,.pm-root,.dr-root,.at-root,.sc-root,.ei-page,.fv-root,.me-root,.pe-root,.pe-body,.ff-page,.sb-page,.sb-root,.cyc-root,.ds-root,.bm-root,.gvd-root,.cn-root,.de-root,.am-root,.ss-root,.sw-root,.gb-root,.bh-root,.as-root,.rc-root,.ap-root,.cl-root,.fe-root,.su-root,.fb-root,.cp-root,.ph-root,.lt-root,.ld-root,.lr-root,.rf-root,.md-root,.mm-root,.pr-root,.sp-root,.sd-root,.vp-root,.mt-root,.mc-page,.rr-page,.rs-root,.tb-root,.ref-app,.refract-root,.ecd-root,.lens-root,.mag-root,.ph,.pe-page,.module-stage>*{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:0 0 auto!important;gap:10px!important;padding:8px 10px!important}body.device-mobile.is-portrait .module-page [class*=grid i],body.device-mobile.is-portrait .module-page [style*="display: grid"],body.device-mobile.is-portrait .module-page [style*="display:grid"]{display:flex!important;flex-direction:column!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;grid-auto-flow:row!important;width:100%!important;height:auto!important;max-height:none!important;gap:10px!important}body.device-mobile.is-portrait .module-page [class*=left i],body.device-mobile.is-portrait .module-page [class*=right i],body.device-mobile.is-portrait .module-page [class*=mid i],body.device-mobile.is-portrait .module-page [class*=center i],body.device-mobile.is-portrait .module-page [class*=side i],body.device-mobile.is-portrait .module-page [class*=col i],body.device-mobile.is-portrait .module-page [class*=panel i],body.device-mobile.is-portrait .module-page [class*=card i],body.device-mobile.is-portrait .module-page [class*=section i],body.device-mobile.is-portrait .module-page [class*=wrap i],body.device-mobile.is-portrait .module-page [class*=pane i],body.device-mobile.is-portrait .module-page [class*=rail i],body.device-mobile.is-portrait .module-page [class*=readout i],body.device-mobile.is-portrait .module-page [class*=stats i],body.device-mobile.is-portrait .module-page [class*=presets i],body.device-mobile.is-portrait .module-page [class*=controls i],body.device-mobile.is-portrait .module-page [class*=procs i],body.device-mobile.is-portrait .module-page [class*=lower i],body.device-mobile.is-portrait .module-page [class*=split i],body.device-mobile.is-portrait .module-page [class*=capsule i],body.device-mobile.is-portrait .module-page [class*=data i],body.device-mobile.is-portrait .module-page [class*=formula i],body.device-mobile.is-portrait .module-page [class*=measure i],body.device-mobile.is-portrait .module-page [class*=reading i],body.device-mobile.is-portrait .module-page [class*=cards i],body.device-mobile.is-portrait .module-page [class*=aside i],body.device-mobile.is-portrait .module-page [class*=main i]{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;flex:0 0 auto!important;align-self:stretch!important;border-right:none!important;border-left:none!important;overflow:visible!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}body.device-mobile.is-portrait .module-page .lt-top,body.device-mobile.is-portrait .module-page .lt-bottom{flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}body.device-mobile.is-portrait .module-page .panel,body.device-mobile.is-portrait .module-page .card,body.device-mobile.is-portrait .module-page [class*=panel i],body.device-mobile.is-portrait .module-page [class*=card i]{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:10px 12px!important;margin-bottom:10px!important;font-size:13px!important;border-radius:10px!important}body.device-mobile.is-portrait .module-page [class*=wrap i]:has(>canvas),body.device-mobile.is-portrait .module-page [class*=host i]:has(>canvas),body.device-mobile.is-portrait .module-page [class*=stage i]:has(>canvas),body.device-mobile.is-portrait .module-page [class*=canvas i]:has(>canvas),body.device-mobile.is-portrait .module-page [class*=scene i]:has(>canvas),body.device-mobile.is-portrait .module-page [class*=center i]:has(>canvas),body.device-mobile.is-portrait .module-page .fric-mid,body.device-mobile.is-portrait .module-page .demo-section,body.device-mobile.is-portrait .module-page .river-wrap,body.device-mobile.is-portrait .module-page .vt-wrap{width:100%!important;height:42dvh!important;min-height:240px!important;max-height:42dvh!important;flex:0 0 auto!important;overflow:hidden!important}body.device-mobile.is-portrait .module-page canvas{width:100%!important;height:100%!important;display:block!important}body.device-mobile.is-portrait input[type=range],body.device-mobile.is-portrait input[type=range].ui-slider,body.device-mobile.is-portrait .br-slider,body.device-mobile.is-portrait .fric-range{width:100%!important;min-width:0!important;height:28px!important;flex:1 1 auto!important;accent-color:#42b883}body.device-mobile.is-portrait input[type=range]::-webkit-slider-thumb{width:28px!important;height:28px!important;margin-top:-6px!important}body.device-mobile.is-portrait input[type=range]::-webkit-slider-runnable-track{height:16px!important}body.device-mobile.is-portrait input[type=range]::-moz-range-thumb{width:28px!important;height:28px!important}body.device-mobile.is-portrait .slider-row,body.device-mobile.is-portrait .fric-slider-wrap{width:100%!important;flex-wrap:wrap!important}body.device-mobile.is-portrait .slider-row>.slider-label,body.device-mobile.is-portrait .fric-slider-val{width:auto!important;min-width:0!important;flex:0 0 auto!important}body.device-mobile.is-portrait .module-page .card-title,body.device-mobile.is-portrait .module-page [class*=card-h i],body.device-mobile.is-portrait .module-page [class*=panel-title i],body.device-mobile.is-portrait .module-page .fric-card-h{font-size:13px!important;margin-bottom:8px!important;white-space:normal!important;writing-mode:horizontal-tb!important}body.device-mobile.is-portrait .module-page .label-sm,body.device-mobile.is-portrait .module-page .slider-label,body.device-mobile.is-portrait .module-page .fric-hint,body.device-mobile.is-portrait .module-page .reading-label{font-size:13px!important;line-height:1.5!important;white-space:normal!important;writing-mode:horizontal-tb!important}body.device-mobile.is-portrait .module-page .data-val,body.device-mobile.is-portrait .module-page .reading-value,body.device-mobile.is-portrait .module-page .fric-slider-val b{font-size:14px!important}body.device-mobile.is-portrait .mod-topbar{height:48px!important;padding:0 10px!important;gap:8px!important}body.device-mobile.is-portrait .mod-back,body.device-mobile.is-portrait .mod-fs,body.device-mobile.is-portrait .mod-skin{height:30px!important;min-width:30px!important;padding:0 8px!important;font-size:14px!important}body.device-mobile.is-portrait .mod-title{font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;flex:1 1 auto!important;text-align:left!important}body.device-mobile.is-portrait .mod-desc{display:none!important}body.device-mobile.is-portrait .fs-fallback{top:10px!important;right:10px!important;height:30px!important;padding:0 10px!important;font-size:13px!important}body.device-mobile.is-portrait .module-page .fric-back,body.device-mobile.is-portrait .module-page .pill-back,body.device-mobile.is-portrait .module-page .back-btn{position:static!important;margin:0 0 8px!important;align-self:flex-start!important}body.device-mobile.is-portrait .module-page .readout-grid,body.device-mobile.is-portrait .module-page .fric-read-grid,body.device-mobile.is-portrait .module-page [class*=readout-grid i],body.device-mobile.is-portrait .module-page [class*=read-grid i]{grid-template-columns:1fr!important}body.device-mobile.is-portrait .module-page *{max-width:100%!important;box-sizing:border-box!important}
