@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Serif+SC:wght@300;400;600;700&family=Cinzel:wght@400;600;700&display=swap";:root{--bg-primary:#050b08;--bg-card:#0d1b15bf;--bg-card-solid:#0d1b15;--border-jade:#1b3629;--color-gold:#cfac62;--color-gold-hover:#e2c281;--color-red:#c04851;--color-green:#2fa874;--text-primary:#e6ede9;--text-secondary:#90a498;--text-muted:#5e7367;--font-serif:"Noto Serif SC", serif;--font-sans:"Inter", system-ui, sans-serif;--font-cinzel:"Cinzel", serif;--shadow-gold:0 8px 32px 0 #cfac621a;--shadow-inset-gold:inset 0 0 15px #cfac6226}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 10% 20%,#1b362926 0%,#0000 40%),radial-gradient(circle at 90% 80%,#c048510d 0%,#0000 45%);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-jade);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}#root{flex-direction:column;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:20px;display:flex}.tcm-title{font-family:var(--font-serif);color:var(--color-gold);text-shadow:0 2px 10px #cfac624d;letter-spacing:.1em;font-weight:700}.tcm-serif{font-family:var(--font-serif)}.tcm-cinzel{font-family:var(--font-cinzel)}.tcm-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-jade);box-shadow:var(--shadow-gold);border-radius:16px;padding:24px;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.tcm-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-gold), transparent);opacity:.7;width:100%;height:2px;position:absolute;top:0;left:0}.tcm-card.hoverable:hover{border-color:var(--color-gold);transform:translateY(-4px);box-shadow:0 12px 40px #cfac622e}.btn-gold{color:#060b08;font-family:var(--font-serif);cursor:pointer;letter-spacing:.05em;background:linear-gradient(135deg,#bd9647 0%,#a47d2f 100%);border:none;border-radius:8px;padding:12px 28px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #cfac624d}.btn-gold:hover{background:linear-gradient(135deg,#cfac62 0%,#bd9647 100%);transform:translateY(-2px);box-shadow:0 6px 20px #cfac6273}.btn-gold:active{transform:translateY(0)}.btn-gold:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{color:var(--color-gold);border:1px solid var(--color-gold);font-family:var(--font-serif);cursor:pointer;background:0 0;border-radius:8px;padding:11px 26px;transition:all .3s}.btn-outline:hover{border-color:var(--color-gold-hover);color:var(--color-gold-hover);background:#cfac621a}@keyframes scan{0%{opacity:.2;top:0%}50%{opacity:1}to{opacity:.2;top:100%}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-gold{0%{box-shadow:0 0 #cfac6266}70%{box-shadow:0 0 0 10px #cfac6200}to{box-shadow:0 0 #cfac6200}}@keyframes ink-flow{0%{opacity:.3;filter:blur(5px);transform:scale(.9)}50%{opacity:.7;filter:blur();transform:scale(1.05)}to{opacity:.3;filter:blur(5px);transform:scale(.9)}}.scanner-overlay{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.scanner-line{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);width:100%;height:3px;box-shadow:0 0 15px var(--color-gold);animation:3s linear infinite scan;position:absolute;left:0}.rotate-yin-yang{animation:20s linear infinite spin-slow}.ink-pulse{animation:8s ease-in-out infinite ink-flow}.pulse-button{animation:2s infinite pulse-gold}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}@media (width<=992px){.grid-3{grid-template-columns:1fr 1fr}}@media (width<=600px){.grid-3{grid-template-columns:1fr}}.form-group{text-align:left;margin-bottom:20px}.form-label{font-family:var(--font-serif);color:var(--color-gold);margin-bottom:8px;font-size:1.1rem;display:block}.form-select,.form-input{border:1px solid var(--border-jade);width:100%;color:var(--text-primary);background:#050b08cc;border-radius:8px;outline:none;padding:12px;font-size:1rem;transition:all .3s}.form-select:focus,.form-input:focus{border-color:var(--color-gold);box-shadow:0 0 8px #cfac6233}.radar-grid{stroke:var(--border-jade);stroke-width:1px;fill:none}.radar-axis-line{stroke:var(--border-jade);stroke-dasharray:4}.radar-axis-label{fill:var(--text-secondary);font-family:var(--font-serif);text-anchor:middle;cursor:pointer;font-size:12px;font-weight:600}.radar-axis-label:hover{fill:var(--color-gold)}.radar-polygon{fill:#cfac6240;stroke:var(--color-gold);stroke-width:2px}.radar-point{fill:var(--color-gold);stroke:var(--bg-card-solid);stroke-width:2px;cursor:pointer;transition:r .2s}.radar-point:hover{r:8px;fill:var(--color-gold-hover)}.question-option{border:1px solid var(--border-jade);cursor:pointer;text-align:left;background:#1b362926;border-radius:12px;align-items:center;gap:12px;padding:16px;transition:all .3s;display:flex}.question-option:hover{border-color:var(--color-gold);background:#cfac620d}.question-option.selected{border-color:var(--color-gold);box-shadow:var(--shadow-inset-gold);background:#cfac621f}.option-indicator{border:2px solid var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.question-option.selected .option-indicator{border-color:var(--color-gold)}.question-option.selected .option-indicator:after{content:"";background:var(--color-gold);border-radius:50%;width:10px;height:10px}.tcm-tabs{border-bottom:1px solid var(--border-jade);gap:12px;margin-bottom:24px;display:flex}.tcm-tab{color:var(--text-secondary);cursor:pointer;font-family:var(--font-serif);border-bottom:3px solid #0000;padding:12px 20px;font-weight:500;transition:all .3s}.tcm-tab:hover{color:var(--color-gold)}.tcm-tab.active{color:var(--color-gold);border-color:var(--color-gold)}.camera-container{aspect-ratio:4/3;border:2px solid var(--border-jade);background:#000;border-radius:12px;position:relative;overflow:hidden}.camera-guide{pointer-events:none;border:2px dashed #cfac6280;border-radius:50%;width:45%;height:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0009}.camera-guide-tongue{pointer-events:none;border:2px dashed #cfac6280;border-radius:40% 40% 60% 60%;width:40%;height:65%;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0009}.camera-fallback-card{border:1px solid var(--border-jade);background:#ffffff05;border-radius:8px;margin-top:15px;padding:16px}.camera-fallback-btn{border:1px solid var(--border-jade);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:#1b362966;border-radius:6px;margin:8px 0;padding:10px;transition:all .2s;display:block}.camera-fallback-btn:hover{border-color:var(--color-gold);background:#cfac6214}.camera-fallback-btn.selected{border-color:var(--color-gold);background:#cfac6226}.tcm-table{border-collapse:collapse;width:100%;margin-top:15px;font-size:.9rem}.tcm-table th,.tcm-table td{border:1px solid var(--border-jade);text-align:left;padding:10px}.tcm-table th{color:var(--color-gold);font-family:var(--font-serif);background:#1b36294d}.tcm-table tr:hover{background:#ffffff05}.badge-wood{color:#4ade80;background:#2fa87426;border:1px solid #2fa8744d;border-radius:4px;padding:2px 6px}.badge-fire{color:#f87171;background:#c0485126;border:1px solid #c048514d;border-radius:4px;padding:2px 6px}.badge-earth{color:#fbbf24;background:#cfac6226;border:1px solid #cfac624d;border-radius:4px;padding:2px 6px}.badge-metal{color:#f3f4f6;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:2px 6px}.badge-water{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:4px;padding:2px 6px}.report-grid-details{grid-template-columns:320px 1fr;gap:24px;display:grid}@media (width<=850px){.report-grid-details{grid-template-columns:1fr}}
