:root{--bg:#060714;--bg-card:#0a0e22e0;--border-glass:#ffffff21;--text:#fff;--muted:#94a3b8;--subtext:#e2e8f0;--accent-pink:#ff007a;--accent-purple:#7928ca;--accent-violet:#a855f7;--accent-cyan:#00f2fe;--accent-mint:#00f5d4;--accent-gold:#ffb703;--accent-coral:#ff5400;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text);padding-top:max(var(--sat), 0px);padding-bottom:max(var(--sab), 24px);padding-left:max(var(--sal), 0px);padding-right:max(var(--sar), 0px);-webkit-overflow-scrolling:touch;margin:0;position:relative;overflow-x:hidden}.abstract-bg{pointer-events:none;z-index:0;contain:strict;background:#060714;position:fixed;inset:0;overflow:hidden}.abstract-blob{filter:blur(50px);opacity:.38;will-change:transform;border-radius:50%;position:absolute;transform:translateZ(0)}.blob-1{background:radial-gradient(circle,#ec4899 0%,#7928ca 70%,#0000 100%);width:52vw;min-width:280px;height:52vw;min-height:280px;animation:22s ease-in-out infinite alternate morphBlob1;top:-10vw;left:-10vw}.blob-2{background:radial-gradient(circle,#00f2fe 0%,#3b82f6 60%,#0000 100%);width:48vw;min-width:260px;height:48vw;min-height:260px;animation:25s ease-in-out infinite alternate morphBlob2;top:15vh;right:-10vw}.blob-3{background:radial-gradient(circle,#a855f7 0%,#00f5d4 70%,#0000 100%);width:44vw;min-width:250px;height:44vw;min-height:250px;animation:28s ease-in-out infinite alternate morphBlob3;bottom:8vh;left:8vw}.blob-4{background:radial-gradient(circle,#ff5400 0%,#ff007a 70%,#0000 100%);width:44vw;min-width:250px;height:44vw;min-height:250px;animation:20s ease-in-out infinite alternate morphBlob4;bottom:-10vw;right:-5vw}@keyframes morphBlob1{0%{transform:translate(0,0)rotate(0)scale(1)}50%{transform:translate(5vw,6vh)rotate(90deg)scale(1.08)}to{transform:translate(-3vw,9vh)rotate(180deg)scale(.96)}}@keyframes morphBlob2{0%{transform:translate(0,0)rotate(0)scale(1)}50%{transform:translate(-6vw,8vh)rotate(-100deg)scale(1.06)}to{transform:translate(-2vw,-4vh)rotate(-200deg)scale(.94)}}@keyframes morphBlob3{0%{transform:translate(0,0)scale(1)}50%{transform:translate(8vw,-7vh)scale(1.08)}to{transform:translate(3vw,4vh)scale(.92)}}@keyframes morphBlob4{0%{transform:translate(0,0)scale(1)}50%{transform:translate(-8vw,-6vh)scale(1.06)}to{transform:translate(-4vw,5vh)scale(.95)}}.abstract-grid{opacity:.65;background-image:radial-gradient(#ffffff1f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 40%,#0000 85%);mask-image:radial-gradient(circle at 50% 45%,#000 40%,#0000 85%)}.abstract-shimmer{pointer-events:none;background:radial-gradient(circle at 50% 20%,#7928ca29 0%,#0000 60%);position:absolute;inset:0}.shell{z-index:2;box-sizing:border-box;width:100%;max-width:1140px;margin:0 auto;padding:0 clamp(16px,4vw,32px);position:relative}.topbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:auto;min-height:64px;padding:16px 0 12px;display:flex}.brand{cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.abstract-gem{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.gem-ring{background:linear-gradient(135deg, var(--accent-pink), var(--accent-cyan));border-radius:9px;animation:12s linear infinite gemSpin;position:absolute;inset:0;transform:rotate(45deg);box-shadow:0 0 18px #ff007a73}.gem-core{z-index:2;background:#fff;border-radius:3px;width:13px;height:13px;position:relative;box-shadow:0 0 12px #fff}@keyframes gemSpin{0%{transform:rotate(45deg)}50%{transform:rotate(225deg)scale(.9)}to{transform:rotate(405deg)}}.brand-text{font-family:var(--font-display);letter-spacing:.08em;color:#fff;font-size:clamp(17px,3.8vw,20px);font-weight:800}.brand-gradient{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-pink));color:#0000;-webkit-background-clip:text}.topbar-badge{font-family:var(--font-body);letter-spacing:.12em;color:#cbd5e1;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:5px 13px;font-size:11px;font-weight:600;display:inline-flex}.live-dot{background:var(--accent-mint);width:7px;height:7px;box-shadow:0 0 10px var(--accent-mint);border-radius:50%;animation:2s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.35)}}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,4.5vw,64px);padding:clamp(28px,5vw,60px) 0 clamp(32px,5vw,64px);display:grid}.hero-copy{flex-direction:column;align-items:flex-start;display:flex}.eyebrow-badge{color:var(--accent-cyan);font-family:var(--font-body);letter-spacing:.16em;background:#00f2fe14;border:1px solid #00f2fe47;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:clamp(10.5px,2.2vw,11.5px);font-weight:700;display:inline-flex;box-shadow:0 0 16px #00f2fe1f}.pulse-beacon{background:var(--accent-cyan);width:7px;height:7px;box-shadow:0 0 10px var(--accent-cyan);border-radius:50%;animation:1.8s infinite beaconPulse}@keyframes beaconPulse{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;box-shadow:0 0 16px var(--accent-cyan);transform:scale(1.4)}to{opacity:.8;transform:scale(.9)}}.hero-title{font-family:var(--font-display);letter-spacing:-.025em;flex-direction:column;margin:0 0 18px;font-size:clamp(32px,6vw,58px);font-weight:800;line-height:1.1;display:flex}.title-main{color:#fff;text-shadow:0 2px 20px #ffffff2e}.title-gradient{background:linear-gradient(135deg,#ff007a 0%,#a855f7 35%,#00f2fe 70%,#00f5d4 100%) 0 0/250% 250%;color:#0000;filter:drop-shadow(0 0 30px #ff007a66);-webkit-background-clip:text;animation:6s infinite alternate gradientShift;display:inline-block}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.title-tail{font-family:var(--font-display);color:#cbd5e1;letter-spacing:-.01em;margin-top:6px;font-size:clamp(18px,3.2vw,26px);font-weight:600}.hero-desc{max-width:520px;font-family:var(--font-body);color:var(--subtext);margin:0;font-size:clamp(14px,2.5vw,15.5px);line-height:1.65}.card{background:var(--bg-card);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(14px);border-radius:clamp(18px,4vw,26px);position:relative;overflow:hidden;box-shadow:0 20px 60px #0009,inset 0 1px 1px #ffffff26}.card-glow-edge{pointer-events:none;background:linear-gradient(90deg,#0000,#00f2fecc,#ff007acc,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.calculator{width:100%;max-width:480px;margin:0 auto;padding:clamp(20px,4vw,32px)}.calculator label{font-family:var(--font-body);color:#f1f5f9;margin-bottom:20px;font-size:13.5px;font-weight:600;display:block}.label-badge{font-family:var(--font-body);letter-spacing:.1em;color:var(--accent-cyan);background:#00f2fe14;border:1px solid #00f2fe40;border-radius:6px;margin-right:8px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-block}.calculator input{color:#fff;width:100%;font:500 16px var(--font-body);-webkit-appearance:none;touch-action:manipulation;background:#050717d9;border:1px solid #ffffff29;border-radius:14px;outline:none;margin-top:8px;padding:clamp(14px,3vw,17px) 16px;transition:border-color .25s,box-shadow .25s,background .25s;display:block}.calculator input:focus{border-color:var(--accent-cyan);background:#050717f2;box-shadow:0 0 0 3px #00f2fe33,0 0 20px #00f2fe2e}.calculator button{color:#fff;width:100%;min-height:54px;font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#ff007a 0%,#7928ca 50%,#00f2fe 100%) 0 0/200% 200%;border:0;border-radius:14px;margin-top:8px;padding:16px;font-size:clamp(13.5px,2.8vw,15px);font-weight:800;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background-position .4s;position:relative;overflow:hidden;box-shadow:0 10px 35px #ff007a59,0 4px 15px #00f2fe38}.calculator button:hover{background-position:100% 100%;transform:translateY(-2px);box-shadow:0 14px 45px #ff007a80,0 6px 20px #00f2fe4d}.calculator button:active{transform:scale(.98)}.calculator button:disabled{opacity:.7;cursor:wait}.btn-content{z-index:2;text-shadow:0 2px 8px #0006;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.btn-arrow{font-size:1.15em;transition:transform .2s}.calculator button:hover .btn-arrow{transform:translate(3px,-3px)}.btn-shimmer{pointer-events:none;opacity:0;background:radial-gradient(circle,#ffffff59 0%,#0000 60%);width:200%;height:200%;transition:opacity .3s;position:absolute;top:-50%;left:-50%;transform:rotate(30deg)}.calculator button:hover .btn-shimmer{opacity:1}.micro{text-align:center;font-family:var(--font-body);color:var(--muted);letter-spacing:.02em;margin:14px 0 0;font-size:12px;line-height:1.4}.result{padding:10px 0 60px}.result-card{text-align:center;border:1px solid var(--border-glass);background:var(--bg-card);-webkit-backdrop-filter:blur(14px);border-radius:clamp(20px,4.5vw,32px);width:100%;max-width:640px;margin:auto;padding:clamp(28px,5.5vw,48px) clamp(16px,4vw,32px);position:relative;overflow:hidden;box-shadow:0 25px 80px #000000a6,inset 0 1px 1px #ffffff2e}.result-badge-wrap{background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:5px 14px;display:inline-flex}.badge-glow-dot{background:var(--accent-mint);width:7px;height:7px;box-shadow:0 0 10px var(--accent-mint);border-radius:50%}.result-label{font-family:var(--font-body);letter-spacing:.18em;color:#e2e8f0;font-size:clamp(11px,2.3vw,12px);font-weight:700}.gauge{justify-content:center;align-items:center;width:clamp(180px,48vw,220px);height:clamp(180px,48vw,220px);margin:18px auto 14px;display:flex;position:relative}.gauge svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}circle{fill:none;stroke-width:13px}.track{stroke-linecap:round}.progress{stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553px;filter:drop-shadow(0 0 10px #ff007a73);transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1)}.score{z-index:2;pointer-events:none;justify-content:center;align-items:baseline;max-width:65%;line-height:1;display:inline-flex;position:relative}.score strong{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;text-shadow:0 0 20px #ffffff59;font-size:clamp(40px,10vw,56px);font-weight:800;line-height:1}.score-unit{font-family:var(--font-display);color:var(--accent-cyan);align-self:flex-start;margin-top:4px;margin-left:2px;font-size:clamp(16px,3.8vw,22px);font-weight:700;line-height:1}.message{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin:8px 0 24px;padding:0 10px;font-size:clamp(16px,3.8vw,20px);font-weight:700;line-height:1.35}.again{color:#f1f5f9;cursor:pointer;font-family:var(--font-body);letter-spacing:.06em;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:clamp(11.5px,2.5vw,12.5px);font-weight:600;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex}.again:hover{background:#ffffff1f;border-color:#ffffff59;transform:translateY(-2px);box-shadow:0 0 20px #ffffff26}.again:active{transform:scale(.97)}.again-icon{font-size:1.15em;transition:transform .4s}.again:hover .again-icon{transform:rotate(180deg)}.hidden{display:none}body.high .result-card{border-color:#00f5d480;box-shadow:0 0 100px #00f5d440,0 25px 80px #000000a6}body.low .result-card{border-color:#ff007a73;box-shadow:0 0 100px #ff007a33,0 25px 80px #000000a6}.loshu-container{border-top:1px solid #ffffff14;margin-top:clamp(36px,6vw,56px);padding-top:clamp(28px,5vw,42px)}.loshu-header{text-align:center;max-width:720px;margin:0 auto clamp(24px,4vw,36px)}.section-title{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#cbd5e1 45%,#a855f7 100%);color:#0000;-webkit-background-clip:text;margin:10px 0 12px;font-size:clamp(24px,4.5vw,36px);font-weight:800;line-height:1.2}.abstract-accent-line{background:linear-gradient(90deg, var(--accent-pink), var(--accent-cyan));width:50px;height:3px;box-shadow:0 0 12px var(--accent-pink);border-radius:999px;margin:0 auto 16px}.loshu-subtitle{font-family:var(--font-body);color:var(--subtext);margin:0 auto 20px;font-size:clamp(13.5px,2.5vw,15px);line-height:1.65}.profile-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px;display:flex}.profile-chip{font-family:var(--font-body);color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:6px 14px;font-size:clamp(11.5px,2.4vw,13px);font-weight:500;display:inline-flex;box-shadow:0 4px 16px #00000040}.profile-chip strong{font-family:var(--font-display);color:var(--accent-cyan);font-weight:700}.toggle-wrapper{justify-content:center;margin-bottom:clamp(24px,4vw,36px);display:flex}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff24;border-radius:16px;align-items:center;gap:10px;max-width:100%;padding:8px 16px;transition:all .25s;display:inline-flex}.toggle-label:hover{background:#ffffff14;border-color:#ffffff47}.switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#1a1e38;border:1px solid #fff3;border-radius:22px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 5px #0006}input:checked+.slider{background:linear-gradient(135deg, var(--accent-pink), var(--accent-purple));border-color:var(--accent-pink);box-shadow:0 0 16px #ff007a73}input:checked+.slider:before{transform:translate(18px)}.toggle-text{font-family:var(--font-body);color:#e2e8f0;font-size:clamp(12px,2.4vw,13px);font-weight:500;line-height:1.3}.loshu-grid-wrapper{grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(16px,3vw,24px);max-width:960px;margin-bottom:clamp(32px,5vw,48px);margin-left:auto;margin-right:auto;display:grid}.loshu-chart-card,.loshu-planes-card{background:var(--bg-card);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(14px);box-sizing:border-box;border-radius:clamp(18px,4vw,26px);flex-direction:column;width:100%;height:100%;padding:clamp(16px,3.5vw,26px);display:flex;box-shadow:0 20px 60px #0009,inset 0 1px 1px #ffffff26}.chart-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:42px;margin-bottom:18px;padding-bottom:12px;display:flex}.chart-header h3{font-family:var(--font-display);color:#f8f9ff;letter-spacing:-.01em;margin:0;font-size:clamp(16px,3.5vw,19px);font-weight:700}.badge-sub{font-family:var(--font-body);color:var(--accent-cyan);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(10px,2.2vw,11px);font-weight:600}.loshu-grid{flex:1;grid-template-columns:repeat(3,1fr);align-content:center;gap:clamp(8px,2vw,12px);width:100%;max-width:340px;margin:auto;display:grid}.grid-cell{box-sizing:border-box;text-align:center;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#ffffff08;border:1px solid #ffffff1a;border-radius:clamp(12px,2.5vw,18px);flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:clamp(84px,20vw,106px);padding:8px 4px;transition:all .25s;display:flex;position:relative;overflow:hidden}.grid-cell:active{transform:scale(.97)}.grid-cell.present{background:radial-gradient(circle,#7928ca47 0%,#ffffff0a 100%);border-color:#00f2fe73;box-shadow:0 0 20px #00f2fe2e,inset 0 0 12px #7928ca2e}.grid-cell.present .cell-num{font-family:var(--font-display);color:#fff;text-shadow:0 0 20px #ffffff80;font-size:clamp(22px,5.2vw,30px);font-weight:800;line-height:1}.grid-cell.present .cell-count{font-family:var(--font-body);color:var(--accent-cyan);text-overflow:ellipsis;white-space:nowrap;background:#00f2fe1f;border:1px solid #00f2fe59;border-radius:999px;max-width:95%;padding:2px 7px;font-size:clamp(9px,2vw,10.5px);font-weight:600;overflow:hidden}.grid-cell.missing{cursor:pointer;background:#ff007a0a;border:1.5px dashed #ff007a59}.grid-cell.missing:hover{border-color:var(--accent-pink);background:#ff007a1f;transform:translateY(-3px)scale(1.02);box-shadow:0 8px 24px #ff007a40}.grid-cell.missing .cell-num{font-family:var(--font-display);color:#ff007ab3;font-size:clamp(20px,5vw,28px);font-weight:800;line-height:1}.grid-cell.missing .cell-count{font-family:var(--font-body);color:var(--accent-pink);letter-spacing:.05em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;background:#ff007a1a;border:1px solid #ff007a40;border-radius:6px;max-width:95%;padding:2px 6px;font-size:clamp(9px,1.8vw,10.5px);font-weight:700;overflow:hidden}.cell-sub{font-family:var(--font-body);color:#94a3b8;text-align:center;white-space:normal;word-break:normal;margin-top:2px;font-size:clamp(9px,2vw,10.5px);font-weight:500;line-height:1.15}.planes-list{flex-direction:column;flex:1;justify-content:space-between;gap:clamp(8px,1.6vw,10px);height:100%;display:flex}.plane-row{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;transition:all .2s;display:flex}.plane-row:hover{background:#ffffff0f;border-color:#ffffff29;transform:translate(2px)}.plane-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plane-title{font-family:var(--font-body);color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(12px,2.6vw,13.5px);font-weight:600;overflow:hidden}.plane-numbers{font-family:var(--font-body);color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(10.5px,2.2vw,11.5px);overflow:hidden}.plane-progress{flex-shrink:0;align-items:center;gap:8px;display:flex}.plane-bar{background:#ffffff1a;border-radius:999px;flex-shrink:0;width:clamp(50px,12vw,80px);height:7px;overflow:hidden}.plane-fill{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 10px}.plane-status{font-family:var(--font-body);text-align:right;white-space:nowrap;min-width:55px;font-size:clamp(10.5px,2.2vw,11.5px);font-weight:700}.missing-section{margin-top:clamp(28px,5vw,44px)}.missing-header{text-align:center;max-width:720px;margin:0 auto clamp(24px,4vw,36px)}.missing-header p{font-family:var(--font-body);color:var(--subtext);margin:0;font-size:clamp(13.5px,2.5vw,15px);line-height:1.65}.missing-tag-wrap{margin-bottom:12px}.missing-count-badge{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#ff4d94;background:#ff007a1f;border:1px solid #ff007a66;border-radius:999px;padding:6px clamp(14px,3vw,20px);font-size:clamp(11px,2.3vw,12px);font-weight:700;display:inline-block;box-shadow:0 0 20px #ff007a2e}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:clamp(16px,3vw,24px);display:grid}@keyframes cardEntrance{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.missing-card{background:var(--bg-card);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(14px);touch-action:manipulation;box-sizing:border-box;border-radius:clamp(18px,4vw,26px);flex-direction:column;gap:clamp(14px,2.5vw,20px);width:100%;padding:clamp(18px,3.5vw,28px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0009,inset 0 1px 1px #ffffff29}.missing-card:hover{transform:translateY(-4px)}.missing-card:active{transform:scale(.99)}.missing-card[data-element=water]{border-color:#00f2fe59}.missing-card[data-element=water]:hover{border-color:#00f2feb3;box-shadow:0 20px 60px #00f2fe38}.missing-card[data-element=water] .card-num-circle{background:radial-gradient(circle at 35% 35%,#00f2fe,#0284c7);box-shadow:0 0 24px #00f2fe73}.missing-card[data-element=water] .element-badge{color:#7dd3fc;background:#00f2fe1f;border-color:#00f2fe59}.missing-card[data-element=earth]{border-color:#ffb70359}.missing-card[data-element=earth]:hover{border-color:#ffb703b3;box-shadow:0 20px 60px #ffb70338}.missing-card[data-element=earth] .card-num-circle{background:radial-gradient(circle at 35% 35%,#ffb703,#d97706);box-shadow:0 0 24px #ffb70373}.missing-card[data-element=earth] .element-badge{color:#fde68a;background:#ffb7031f;border-color:#ffb70359}.missing-card[data-element=wood]{border-color:#00f5d459}.missing-card[data-element=wood]:hover{border-color:#00f5d4b3;box-shadow:0 20px 60px #00f5d438}.missing-card[data-element=wood] .card-num-circle{background:radial-gradient(circle at 35% 35%,#00f5d4,#059669);box-shadow:0 0 24px #00f2fe73}.missing-card[data-element=wood] .element-badge{color:#a7f3d0;background:#00f5d41f;border-color:#00f5d459}.missing-card[data-element=metal]{border-color:#e2e8f059}.missing-card[data-element=metal]:hover{border-color:#e2e8f0b3;box-shadow:0 20px 60px #e2e8f033}.missing-card[data-element=metal] .card-num-circle{background:radial-gradient(circle at 35% 35%,#fff,#64748b);box-shadow:0 0 24px #ffffff59}.missing-card[data-element=metal] .element-badge{color:#f1f5f9;background:#ffffff1f;border-color:#ffffff59}.missing-card[data-element=fire]{border-color:#ff007a59}.missing-card[data-element=fire]:hover{border-color:#ff007abf;box-shadow:0 20px 60px #ff007a3d}.missing-card[data-element=fire] .card-num-circle{background:radial-gradient(circle at 35% 35%,#ff007a,#e11d48);box-shadow:0 0 24px #ff007a7a}.missing-card[data-element=fire] .element-badge{color:#fecdd3;background:#ff007a1f;border-color:#ff007a59}.card-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.card-num-circle{width:clamp(50px,11vw,62px);height:clamp(50px,11vw,62px);font-family:var(--font-display);color:#fff;border-radius:clamp(14px,3vw,18px);flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(24px,5.5vw,32px);font-weight:800;display:flex}.card-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:5px;display:flex}.element-badge{font-family:var(--font-body);letter-spacing:.04em;text-transform:capitalize;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px clamp(9px,2vw,12px);font-size:clamp(10.5px,2.3vw,11.5px);font-weight:600;display:inline-flex}.planet-tag{font-family:var(--font-body);color:#cbd5e1;font-size:clamp(10.5px,2.2vw,11.5px);font-weight:500}.card-head{flex-direction:column;gap:3px;display:flex}.card-number-label{font-family:var(--font-body);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:clamp(10.5px,2.2vw,11.5px);font-weight:700}.card-title{font-family:var(--font-display);color:#fff;letter-spacing:-.015em;margin:0;font-size:clamp(18px,3.8vw,22px);font-weight:700;line-height:1.25}.card-plane-tag{font-family:var(--font-body);color:var(--accent-violet);font-size:clamp(11px,2.2vw,12px);font-weight:600}.card-section{background:#ffffff0a;border:1px solid #ffffff14;border-radius:clamp(14px,2.5vw,18px);padding:clamp(12px,2.8vw,16px)}.section-heading{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:clamp(11px,2.2vw,12px);font-weight:700;display:flex}.heading-meaning{color:var(--accent-cyan)}.heading-effects{color:var(--accent-pink)}.heading-remedies{color:var(--accent-mint)}.card-meaning-text{font-family:var(--font-body);color:var(--subtext);margin:0;font-size:clamp(13px,2.6vw,14px);line-height:1.6}.effects-list,.remedies-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.effects-list li,.remedies-list li{font-family:var(--font-body);color:#f1f5f9;align-items:flex-start;gap:10px;font-size:clamp(12.5px,2.5vw,13.5px);line-height:1.5;display:flex}.effect-icon{background:var(--accent-pink);width:6px;height:6px;box-shadow:0 0 8px var(--accent-pink);border-radius:50%;flex-shrink:0;margin-top:6px}.remedy-icon{width:16px;height:16px;color:var(--accent-mint);background:#00f5d42e;border:1px solid #00f5d466;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:10px;font-weight:900;display:inline-flex}.all-complete-card{text-align:center;background:radial-gradient(circle,#00f5d42e 0%,#ffffff08 100%);border:1px solid #00f5d473;border-radius:24px;grid-column:1/-1;padding:clamp(32px,5vw,48px) clamp(16px,3.5vw,30px);box-shadow:0 0 50px #00f5d433}.all-complete-icon{margin-bottom:12px;font-size:44px}.all-complete-card h4{font-family:var(--font-display);color:#fff;margin:0 0 10px;font-size:clamp(20px,4.5vw,24px);font-weight:800}.all-complete-card p{font-family:var(--font-body);color:var(--subtext);max-width:560px;margin:0 auto;font-size:clamp(13.5px,2.6vw,15px);line-height:1.65}footer{text-align:center;font-family:var(--font-body);color:var(--muted);padding:15px 0 35px;font-size:clamp(11px,2.4vw,12px);line-height:1.6}#particles{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.spark{border-radius:50%;width:5px;height:5px;animation:1.25s ease-out forwards fire;position:absolute}@keyframes fire{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--x), var(--y)) scale(0);opacity:0}}@media (width<=880px){.hero{text-align:center;grid-template-columns:1fr;gap:32px;padding:24px 0 44px}.hero-copy{text-align:center;align-items:center}.hero-desc{margin:0 auto 10px}.calculator{margin:0 auto}.loshu-grid-wrapper{grid-template-columns:1fr;gap:20px;max-width:480px}}@media (width<=480px){.shell{padding:0 12px}.calculator{padding:16px 14px}.result-card{padding:24px 12px}.loshu-chart-card,.loshu-planes-card{padding:16px 12px}.cards-grid{grid-template-columns:1fr}.missing-card{padding:16px 14px}.chart-header{flex-direction:column;align-items:flex-start;gap:4px}.toggle-label{padding:8px 12px}.plane-row{padding:8px 10px}.card-top{gap:10px}}@media (width<=350px){.hero-title{font-size:26px}.gauge{width:175px;height:175px}.score strong{font-size:34px}.grid-cell{min-height:78px;padding:4px 2px}.grid-cell.present .cell-num{font-size:20px}.cell-sub{font-size:8.5px}}
