.tp-panel.tp-control[data-v-4ee2531d]{left:16px;width:300px}.tp-panel.tp-collapsed.tp-control[data-v-4ee2531d]{width:auto}.tp-scale-note[data-v-4ee2531d]{line-height:1.5}.tp-iss-title[data-v-4ee2531d]{font-size:11px;color:var(--text-secondary, #98c1d9);letter-spacing:1px;margin:10px 0 4px;text-transform:uppercase}.tp-iss-row[data-v-4ee2531d]{display:flex;justify-content:space-between;align-items:center;margin:3px 0}.tp-iss-label[data-v-4ee2531d]{color:var(--text-secondary, #98c1d9);font-size:12px;letter-spacing:1px}.tp-iss-value[data-v-4ee2531d]{font-family:var(--font-mono, monospace);font-size:13px;font-weight:600;color:var(--text-primary, #e0fbfc)}.tp-date-input[data-v-4ee2531d]{background:#0000004d;border:1px solid rgba(94,234,212,.35);color:var(--text-primary, #e0fbfc);border-radius:999px;padding:4px 10px;font-size:12px;width:172px;color-scheme:dark}.tp-panel.tp-teach[data-v-18b6e328]{right:16px;width:360px}.tp-panel.tp-collapsed.tp-teach[data-v-18b6e328]{width:auto}.tp-time-row[data-v-18b6e328]{padding:2px 0 10px;border-bottom:1px dashed rgba(94,234,212,.18);margin-bottom:12px}.tp-moon-box[data-v-18b6e328]{display:flex;gap:12px;align-items:center}.tp-moon-canvas[data-v-18b6e328]{border-radius:50%;box-shadow:0 0 12px #f0ebdc4d;flex:0 0 auto}.tp-badge[data-v-18b6e328]{display:none;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;margin:4px 4px 0 0}.tp-badge.tp-show[data-v-18b6e328]{display:inline-block}.tp-badge.tp-solar[data-v-18b6e328]{background:#ffb43c38;color:#ffb43c;border:1px solid rgba(255,180,60,.6)}.tp-badge.tp-lunar[data-v-18b6e328]{background:#aa8cff38;color:#b39aff;border:1px solid rgba(170,140,255,.6)}.tp-lesson-card[data-v-18b6e328]{display:block;width:100%;text-align:left;margin:6px 0;background:#5eead40f;border:1px solid rgba(94,234,212,.28);border-radius:var(--tp-radius-inner, 12px);padding:10px 14px;cursor:pointer;transition:all var(--tp-transition, .25s ease);color:var(--text-primary, #e0fbfc);font-family:inherit}.tp-lesson-card[data-v-18b6e328]:hover{background:#5eead424;border-color:#5eead4a6;transform:translateY(-2px);box-shadow:0 6px 18px #00000059,0 0 14px #5eead426}.tp-lesson-name[data-v-18b6e328]{font-size:15px;font-weight:600}.tp-lesson-intro[data-v-18b6e328]{font-size:12px;color:var(--text-secondary, #98c1d9);margin-top:3px}.tp-lesson-view[data-v-18b6e328]{animation:tpFadeIn .25s ease}.tp-lesson-step[data-v-18b6e328]{font-size:11px;color:var(--text-secondary, #98c1d9);letter-spacing:1px;text-transform:uppercase}.tp-lesson-title[data-v-18b6e328]{font-size:16px;font-weight:700;margin:4px 0 8px;background:var(--tp-grad, linear-gradient(135deg, #5eead4, #a78bfa));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tp-lesson-text[data-v-18b6e328]{font-size:15px;line-height:1.7;margin-bottom:12px}.tp-lesson-nav[data-v-18b6e328]{display:flex;gap:6px}.tp-lesson-nav .tp-btn[data-v-18b6e328]{flex:1;padding:7px 0;font-size:13px}.vp-loader-container{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center}.loader{width:6em;height:6em;font-size:10px;position:relative;display:flex;align-items:center;justify-content:center}.loader .face{position:absolute;border-radius:50%;border-style:solid;animation:loader-spin 3s linear infinite}.loader .face:nth-child(1){width:100%;height:100%;color:gold;border-color:currentColor transparent transparent currentColor;border-width:.2em .2em 0em 0em;--deg: -45deg;animation-direction:normal}.loader .face:nth-child(2){width:70%;height:70%;color:#0f0;border-color:currentColor currentColor transparent transparent;border-width:.2em 0em 0em .2em;--deg: -135deg;animation-direction:reverse}.loader .face .circle{position:absolute;width:50%;height:.1em;top:50%;left:50%;background-color:transparent;transform:rotate(var(--deg));transform-origin:left}.loader .face .circle:before{position:absolute;top:-.5em;right:-.5em;content:"";width:1em;height:1em;background-color:currentColor;border-radius:50%;box-shadow:0 0 2em,0 0 4em,0 0 6em,0 0 8em,0 0 10em,0 0 0 .5em #ffff001a}@keyframes loader-spin{to{transform:rotate(1turn)}}.vp-loader-text{color:#fff;font-size:18px;margin-top:40px;font-family:Arial,sans-serif}.vp-fade-leave-active{transition:opacity .5s ease}.vp-fade-leave-to{opacity:0}:root{--panel-bg: linear-gradient(135deg, rgba(10, 25, 47, .95) 0%, rgba(17, 34, 64, .95) 100%);--panel-border: rgba(94, 234, 212, .5);--panel-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 20px rgba(94, 234, 212, .3);--text-primary: #e0fbfc;--text-secondary: #98c1d9;--text-accent: #5eead4;--border-radius: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--tp-accent: #5eead4;--tp-accent-2: #a78bfa;--tp-grad: linear-gradient(135deg, #5eead4 0%, #a78bfa 100%);--tp-panel-bg: linear-gradient(160deg, rgba(8, 15, 35, .92) 0%, rgba(18, 28, 58, .88) 100%);--tp-radius: 16px;--tp-radius-inner: 12px;--tp-transition: .25s ease}body{overflow:hidden;margin:0}.vp-viewport{position:fixed;inset:0;z-index:0}.vp-viewport canvas{display:block}.tp-panel{position:fixed;top:16px;z-index:1000;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;font-family:var(--font-primary);background:var(--tp-panel-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:var(--tp-radius);box-shadow:0 12px 40px #00000080,0 0 24px #5eead41f;color:var(--text-primary);font-size:13px;user-select:none}.tp-panel:before{content:"";position:absolute;inset:0;border-radius:var(--tp-radius);padding:1px;background:linear-gradient(135deg,#5eead48c,#a78bfa66);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.tp-panel::-webkit-scrollbar{width:6px}.tp-panel::-webkit-scrollbar-thumb{background:#5eead44d;border-radius:999px}.tp-panel::-webkit-scrollbar-track{background:transparent}.tp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(94,234,212,.15)}.tp-collapsed .tp-header{border-bottom:none}.tp-title{font-weight:700;font-size:14px;letter-spacing:1px;background:var(--tp-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tp-collapse-btn{background:#5eead414;border:1px solid rgba(94,234,212,.35);color:var(--tp-accent);border-radius:999px;cursor:pointer;font-size:11px;padding:3px 10px;transition:all var(--tp-transition)}.tp-collapse-btn:hover{background:#5eead433}.tp-body{padding:4px 16px 16px}.tp-collapsed .tp-body{display:none}.tp-section{margin-bottom:14px}.tp-section:last-child{margin-bottom:0}.tp-section-title{font-size:11px;color:var(--text-secondary);letter-spacing:1px;margin-bottom:6px;text-transform:uppercase;font-weight:600}.tp-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0}.tp-btn{background:#5eead412;border:1px solid rgba(94,234,212,.3);color:var(--text-primary);border-radius:999px;cursor:pointer;font-size:12px;padding:4px 12px;transition:all var(--tp-transition)}.tp-btn:hover{background:#5eead42e;border-color:#5eead499;transform:translateY(-1px)}.tp-btn.tp-active{background:var(--tp-grad);border-color:transparent;color:#04202c;font-weight:600;box-shadow:0 2px 10px #5eead459}.tp-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.tp-time{font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.tp-sub{color:var(--text-secondary);font-size:12px}.tp-value{font-family:var(--font-mono);color:var(--text-primary)}.tp-toggle{display:flex;align-items:center;gap:6px;margin:3px 0;cursor:pointer}.tp-toggle input{accent-color:#5eead4;cursor:pointer}.tp-label3d{color:#ffd27d;background:#040a18b3;padding:2px 8px;border-radius:6px;font-family:Arial,sans-serif;font-size:12px;font-weight:700;pointer-events:auto;cursor:pointer;border:1px solid rgba(255,210,125,.8);white-space:nowrap;box-shadow:0 0 10px #ffd27d40}.tp-label3d.tp-moon{color:#cfd8e3;border-color:#cfd8e3cc;box-shadow:0 0 10px #cfd8e333}@keyframes tpFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
