:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3ead1;font-synthesis:none;--gold:#d6b365;--gold-bright:#f2dda0;--jade:#79d5bd;--cinnabar:#d9694f;--ink:#050604;--panel:#10110ee0;--line:#d6b36533;--muted:#a79f8c;background:#050604;font-family:Songti SC,Noto Serif CJK SC,STSong,serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 38% 42%,#7d652d2e,#0000 36%),radial-gradient(circle at 78% 18%,#32756c14,#0000 24%),linear-gradient(145deg,#090a07,#020302 65%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:conic-gradient(from 20deg,#0000,#d6b36509,#0000 22%,#79d5bd06,#0000 48%);animation:48s linear infinite sky-turn;position:fixed;inset:-30%}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050604c2;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,4vw,56px);display:flex;position:relative}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{color:var(--gold-bright);filter:drop-shadow(0 0 12px #d6b36566);font-size:34px;animation:4s ease-in-out infinite brand-breathe}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.24em;font-size:20px}.brand small{color:var(--muted);letter-spacing:.2em;margin-top:2px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px}.header-status{color:var(--muted);align-items:center;gap:8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;display:flex}.status-dot{background:#6b675f;border-radius:50%;width:7px;height:7px}.status-dot.online{background:#83b983;box-shadow:0 0 12px #83b983}.status-dot.offline{background:#b87f68}.app-shell{grid-template-columns:minmax(0,1fr) minmax(320px,390px);min-height:calc(100vh - 72px);display:grid}.ritual-stage{--pointer-x:50%;--pointer-y:50%;isolation:isolate;place-items:center;min-height:calc(100vh - 72px);display:grid;position:relative;overflow:hidden}.ritual-stage:after{content:"";z-index:2;opacity:0;filter:blur(18px);pointer-events:none;background:linear-gradient(90deg,#0000,#f2dda01f,#79d5bd14,#0000);width:34%;height:124%;transition:opacity .35s,transform .6s;position:absolute;top:-12%;left:50%;transform:translate(-50%)scaleX(.25)}#cameraVideo,#ambientCanvas,#luopanCanvas,#handOverlay,.celestial-noise,.stage-vignette{width:100%;height:100%;position:absolute;inset:0}#cameraVideo{z-index:0;object-fit:cover;opacity:.18;filter:grayscale()contrast(1.35)brightness(.62);transform:scaleX(-1)}#ambientCanvas{z-index:1;pointer-events:none}#luopanCanvas{z-index:4;pointer-events:none}.ritual-stage.webgl-ready #luopanFallback{opacity:.08;transition:opacity .4s}#handOverlay{z-index:5;object-fit:cover;opacity:.88;mix-blend-mode:screen;filter:drop-shadow(0 0 8px #79d5bd73);pointer-events:none;transform:scaleX(-1)}.celestial-noise{z-index:2;opacity:.2;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}.stage-vignette{z-index:2;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), #d6b36512, transparent 20%), radial-gradient(circle, transparent 25%, #0203024d 54%, #020302 88%), linear-gradient(90deg, transparent 68%, #02030280);pointer-events:none}.ritual-orbit{--orbit-size:min(70vw, calc(100vh - 118px), 720px);--hand-rotation:0deg;--tilt-x:0deg;--tilt-y:0deg;--charge:0;--cast-progress:0deg;--result-angle:0deg;--result-spin:0deg;--result-overshoot:0deg;--gesture-x:50%;--gesture-y:50%;z-index:3;width:var(--orbit-size);aspect-ratio:1;transform:perspective(1000px) rotateX(var(--tilt-y)) rotateY(var(--tilt-x)) rotateZ(var(--hand-rotation));filter:drop-shadow(0 0 28px rgba(214, 179, 101, calc(.09 + var(--charge) * .2)));will-change:transform, filter;border-radius:50%;transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .5s;position:relative}.ritual-orbit:before,.ritual-orbit:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.ritual-orbit:before{opacity:.28;background:conic-gradient(from 0deg, transparent 0 8%, var(--gold) 8.2%, transparent 8.7% 24%, var(--jade) 24.2%, transparent 24.7% 53%, var(--gold-bright) 53.2%, transparent 53.7% 78%, var(--gold) 78.2%, transparent 78.7%);animation:18s linear infinite compass-scan;inset:-4%;-webkit-mask:radial-gradient(#0000 70%,#000 70.5% 71.2%,#0000 71.7%);mask:radial-gradient(#0000 70%,#000 70.5% 71.2%,#0000 71.7%)}.ritual-orbit:after{opacity:calc(.12 + var(--charge) * .52);background:radial-gradient(circle at var(--gesture-x) var(--gesture-y), #79d5bd9e, transparent 9%);mix-blend-mode:screen;transition:opacity .18s;inset:6%}.energy-halo{pointer-events:none;border-radius:50%;position:absolute}.energy-halo-outer{border:1px dashed #f2dda04d;animation:64s linear infinite slow-spin;inset:1.5%;box-shadow:inset 0 0 24px #d6b3651a,0 0 30px #d6b36514}.energy-halo-inner{box-shadow:0 0 30px rgba(121, 213, 189, calc(var(--charge) * .2));border:1px dotted #79d5bd40;animation:26s linear infinite reverse-spin;inset:21%}.celestial-spokes{opacity:.13;background:repeating-conic-gradient(from 0deg, #f2dda0d9 0 .18deg, transparent .22deg 5.625deg);border-radius:50%;animation:110s linear infinite reverse-spin;position:absolute;inset:6.8%;-webkit-mask:radial-gradient(#0000 0 64%,#000 64.4% 65.1%,#0000 65.5% 86%,#000 86.4% 87.1%,#0000 87.5%);mask:radial-gradient(#0000 0 64%,#000 64.4% 65.1%,#0000 65.5% 86%,#000 86.4% 87.1%,#0000 87.5%)}.orbit-line{border:1px solid var(--line);border-radius:50%;position:absolute;inset:0}.orbit-line:before,.orbit-line:after{content:"";border-radius:inherit;border:1px solid #d6b36517;position:absolute;inset:8px}.orbit-line:after{inset:18px}.orbit-line-middle{inset:27%}.hexagram-ring{border:1px solid #d6b36557;border-radius:50%;position:absolute;inset:3.5%;box-shadow:inset 0 0 38px #d6b3650a}.hexagram-ring:before{content:"";opacity:.74;background:repeating-conic-gradient(from -2.8125deg, #f2dda0c7 0 .28deg, transparent .32deg 5.625deg), repeating-conic-gradient(from -2.8125deg, #d6b3656b 0 .72deg, transparent .78deg 22.5deg);border-radius:50%;position:absolute;inset:8px;-webkit-mask:radial-gradient(#0000 0 78%,#000 78.4% 96%,#0000 96.4%);mask:radial-gradient(#0000 0 78%,#000 78.4% 96%,#0000 96.4%)}.hexagram-ring:after{content:"";z-index:3;opacity:0;width:2px;height:43%;box-shadow:0 0 12px var(--gold-bright), 0 0 28px var(--gold);transform-origin:50% 100%;transform:translate(-50%, -100%) rotate(var(--result-angle));background:linear-gradient(#0000,#f2dda0d6 56%,#0000 93%);transition:opacity .48s;position:absolute;top:50%;left:50%}.hexagram-sector{z-index:1;color:#e3d0a09e;text-align:center;width:30px;transform:rotate(var(--angle)) translateY(calc(var(--orbit-size) * -.464)) rotate(calc(var(--angle) * -1));transform-origin:50%;justify-items:center;gap:1px;margin-left:-15px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(7px,.67vw,10px);line-height:1;transition:color .24s,filter .24s,transform .36s cubic-bezier(.18,.82,.2,1);display:grid;position:absolute;top:50%;left:50%}.hexagram-sector:before{content:"";background:#d6b36599;width:1px;height:8px;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)}.hexagram-sector:nth-child(8n+1):before{background:var(--gold-bright);height:14px}.hexagram-sector b,.hexagram-sector span{font:inherit;font-weight:500}.hexagram-sector b{color:#f2dda075;font-size:.85em}.hexagram-sector.active{z-index:5;color:#fff0b4;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 16px var(--gold));font-size:clamp(10px,.95vw,14px);font-weight:700}.hexagram-sector.active b{color:var(--jade)}.hexagram-sector.active:before{background:var(--gold-bright);width:2px;height:22px;box-shadow:0 0 12px var(--gold)}.bagua-ring{background:radial-gradient(circle,#0000 63%,#79d5bd0b 64% 66%,#0000 67%);border:1px solid #79d5bd47;border-radius:50%;position:absolute;inset:23%;box-shadow:inset 0 0 30px #79d5bd09}.bagua-ring span{color:#f2dda0d1;width:42px;transform:rotate(var(--angle)) translateY(calc(var(--orbit-size) * -.285)) rotate(calc(var(--angle) * -1));justify-items:center;gap:2px;margin-left:-21px;font-size:clamp(12px,1.2vw,18px);line-height:1;transition:color .22s,text-shadow .22s;display:grid;position:absolute;top:50%;left:50%}.bagua-ring span b{letter-spacing:.08em;font-weight:600}.bagua-ring span i{color:var(--jade);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.76em;font-style:normal}.jiugong{border:1px solid #d6b36570;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);transition:box-shadow .45s,border-color .45s;display:grid;position:absolute;inset:32%;transform:rotate(45deg);box-shadow:inset 0 0 34px #d6b36512,0 0 24px #d6b3650d}.jiugong:after{content:"";z-index:-1;opacity:.54;background:conic-gradient(from -90deg, var(--gold) 0 var(--cast-progress), #d6b3650f var(--cast-progress) 360deg);border-radius:50%;transition:background .52s;position:absolute;inset:-14%;-webkit-mask:radial-gradient(#0000 0 63%,#000 64% 67%,#0000 68%);mask:radial-gradient(#0000 0 63%,#000 64% 67%,#0000 68%)}.jiugong span{color:#f2dda09e;border:1px solid #d6b36529;place-items:center;font-size:clamp(11px,1vw,16px);display:grid;transform:rotate(-45deg)}.jiugong .center-palace{color:var(--gold-bright);text-align:center;gap:2px}.center-palace b{font-weight:600}.center-palace small{color:var(--jade);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.55em}.taiji{background:linear-gradient(90deg,#0a0b08 50%,#e8dcc0 50%);border:1px solid #f2dda08a;border-radius:50%;animation:4.8s ease-in-out infinite taiji-breathe;position:absolute;inset:42%;overflow:hidden;box-shadow:inset 0 0 18px #000000b3,0 0 34px #d6b3652e}.taiji:before,.taiji:after{content:"";aspect-ratio:1;border-radius:50%;width:50%;position:absolute;left:25%}.taiji:before{background:#0a0b08;top:0;box-shadow:inset 0 0 0 7px #e8dcc0}.taiji:after{background:#e8dcc0;bottom:0;box-shadow:inset 0 0 0 7px #0a0b08}.taiji-dark,.taiji-light{display:none}.gesture-aura{pointer-events:none;border-radius:50%;position:absolute;inset:38%}.gesture-aura i{--ray:0deg;opacity:0;background:linear-gradient(to top, transparent, var(--gold-bright));width:2px;height:28%;box-shadow:0 0 10px var(--gold);transform-origin:50% 0;transform:rotate(var(--ray)) translateY(-48px) scaleY(.2);border-radius:999px;position:absolute;top:50%;left:50%}.gesture-aura i:nth-child(2){--ray:60deg}.gesture-aura i:nth-child(3){--ray:120deg}.gesture-aura i:nth-child(4){--ray:180deg}.gesture-aura i:nth-child(5){--ray:240deg}.gesture-aura i:nth-child(6){--ray:300deg}.ritual-orbit.awakened .hexagram-ring{animation:46s linear infinite luopan-outer-turn}.ritual-orbit.awakened .bagua-ring{animation:30s linear infinite luopan-inner-turn}.ritual-orbit.awakened .taiji{animation:14s linear infinite slow-spin,3s ease-in-out infinite taiji-breathe}.ritual-stage[data-gesture=open] .energy-halo-outer{border-style:solid;border-color:#f2dda08c;animation-duration:9s}.ritual-stage[data-gesture=open] .gesture-aura i{animation:1.8s ease-out infinite aura-open}.ritual-stage[data-gesture=open] .gesture-aura i:nth-child(2){animation-delay:80ms}.ritual-stage[data-gesture=open] .gesture-aura i:nth-child(3){animation-delay:.16s}.ritual-stage[data-gesture=open] .gesture-aura i:nth-child(4){animation-delay:.24s}.ritual-stage[data-gesture=open] .gesture-aura i:nth-child(5){animation-delay:.32s}.ritual-stage[data-gesture=open] .gesture-aura i:nth-child(6){animation-delay:.4s}.ritual-stage[data-gesture=point] .celestial-spokes{opacity:.42;animation-duration:8s}.ritual-stage[data-gesture=point] .bagua-ring span{color:var(--jade);text-shadow:0 0 16px #79d5bd9e}.ritual-stage[data-gesture=seal] .hexagram-ring{animation:7s linear infinite slow-spin}.ritual-stage[data-gesture=seal] .bagua-ring{animation:5s linear infinite reverse-spin}.ritual-stage[data-gesture=seal] .jiugong{border-color:#f2dda0bf;animation:1.4s ease-in-out infinite seal-resonance}.ritual-stage[data-gesture=seal] .gesture-aura i,.ritual-stage[data-gesture=invoke] .gesture-aura i{animation:1.25s ease-out infinite aura-open}.ritual-stage[data-gesture=rise]:after{opacity:.68;animation:1.8s ease-in-out infinite light-pillar;transform:translate(-50%)scaleX(1)}.ritual-stage[data-gesture=rise] .taiji{box-shadow:inset 0 0 18px #000000b3,0 0 72px #f2dda094}.ritual-stage[data-gesture=wane] .ritual-orbit{filter:saturate(.45)brightness(.7)drop-shadow(0 0 28px #79d5bd33)}.ritual-stage[data-gesture=wane] .energy-halo-inner{border-color:#79d5bd85;animation-direction:reverse}.ritual-stage[data-gesture=invoke] .celestial-spokes{opacity:.62;background:repeating-conic-gradient(from 0deg, #79d5bdf2 0 .2deg, transparent .24deg 5.625deg);animation-duration:5s}.ritual-stage[data-gesture=invoke] .gesture-aura i{background:linear-gradient(to top, transparent, var(--jade));box-shadow:0 0 12px var(--jade)}.ritual-stage[data-gesture=fist] .energy-halo-inner{border-color:rgba(217, 105, 79, calc(.3 + var(--charge) * .65));transform:scale(calc(1 - var(--charge) * .12));box-shadow:0 0 calc(22px + var(--charge) * 55px) rgba(217, 105, 79, calc(.12 + var(--charge) * .38));transition:transform .1s linear,box-shadow .1s linear}.ritual-stage[data-gesture=fist] .jiugong{box-shadow:inset 0 0 calc(30px + var(--charge) * 50px) rgba(214, 179, 101, calc(.08 + var(--charge) * .18));border-color:#f2dda0bf}.ritual-stage[data-gesture=fist] .taiji{filter:brightness(calc(1 + var(--charge) * .8))}.ritual-orbit.casting{animation:.78s cubic-bezier(.16,.8,.2,1) cast-pulse}.ritual-orbit.casting .hexagram-ring{animation:.78s cubic-bezier(.16,.8,.2,1) luopan-cast-outer}.ritual-orbit.casting .bagua-ring{animation:.7s cubic-bezier(.16,.8,.2,1) luopan-cast-inner}.ritual-orbit.casting .jiugong:after{animation:.76s cubic-bezier(.16,.8,.2,1) cast-progress-arrive}.ritual-orbit.gesture-flare{animation:.86s cubic-bezier(.16,.8,.2,1) gesture-flare}.ritual-orbit.revealed{filter:drop-shadow(0 0 48px #f2dda07a)drop-shadow(0 0 110px #79d5bd2e)}.ritual-stage.result-revealed .ritual-orbit:before{opacity:.78;animation-duration:6s}.ritual-orbit.revealed .hexagram-ring{animation:1.25s cubic-bezier(.12,.8,.18,1) both luopan-result-settle}.ritual-orbit.revealed .bagua-ring{animation:1.05s cubic-bezier(.12,.8,.18,1) both luopan-result-counter}.ritual-orbit.revealed .hexagram-ring:after{opacity:1;animation:1.4s ease-in-out infinite result-ray}.ritual-stage.result-revealed .hexagram-sector:not(.active){opacity:.3}.eyebrow{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin:0 0 9px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700}.gesture-chip{z-index:8;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0506049e;border-radius:999px;align-items:center;gap:10px;min-width:212px;padding:9px 12px 9px 10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;display:flex;position:absolute;top:24px;left:24px;box-shadow:inset 0 1px #ffffff0a,0 10px 35px #0000003d}.gesture-chip strong{color:var(--gold-bright);margin-left:auto}.gesture-orb{background:radial-gradient(circle,#f2dda0e6 0 8%,#d6b36533 10% 32%,#0000 34%);border:1px solid #d6b3657a;border-radius:50%;flex:none;width:22px;height:22px;animation:2.8s ease-in-out infinite orb-pulse;box-shadow:0 0 13px #d6b36540}.gesture-readout{gap:5px;min-width:110px;display:grid}.gesture-meter{background:#ffffff1a;border-radius:999px;height:2px;overflow:hidden}.gesture-meter i{background:linear-gradient(90deg, var(--gold), var(--gold-bright), var(--jade));width:100%;height:100%;box-shadow:0 0 7px var(--gold);transform-origin:0;transition:transform 90ms linear;display:block;transform:scaleX(0)}.ritual-stage[data-gesture=fist] .gesture-orb{border-color:var(--cinnabar);background:radial-gradient(circle,#ffd4b7 0 7%,#d9694f7a 10% 38%,#0000 40%);box-shadow:0 0 20px #d9694f99}.ritual-stage[data-gesture=point] .gesture-orb{border-color:var(--jade);box-shadow:0 0 20px #79d5bd8c}.control-panel{z-index:5;border-left:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);flex-direction:column;gap:16px;min-height:0;padding:22px 24px;display:flex;position:relative;overflow-y:auto;box-shadow:-20px 0 60px #00000047}.control-panel:before{content:"";z-index:-1;opacity:.28;pointer-events:none;background:linear-gradient(90deg,#d6b3651f,#0000 1px) 0 0/32px 32px,linear-gradient(#d6b36514,#0000 1px) 0 0/32px 32px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000,#0000 65%);mask:linear-gradient(#000,#0000 65%)}.mode-switch{border:1px solid var(--line);background:#00000038;border-radius:6px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.mode-button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:4px}.mode-button.active{color:var(--gold-bright);background:#d6b36521}.mode-button:disabled{cursor:not-allowed;opacity:.45}.control-section{border-bottom:1px solid var(--line);padding-bottom:16px}.section-heading{justify-content:space-between;align-items:end;display:flex}.section-heading h2{margin:0;font-size:24px;font-weight:500}.ritual-progress{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:16px;display:grid;position:relative}.ritual-progress:before{content:"";background:#d6b36529;height:1px;position:absolute;top:50%;left:5%;right:5%}.ritual-progress i{z-index:1;background:#11120e;border:1px solid #d6b36552;border-radius:50%;justify-self:center;width:10px;height:10px;transition:all .3s;position:relative}.ritual-progress i.next{border-color:#f2dda0b3;animation:1.7s ease-in-out infinite next-line-pulse}.ritual-progress i.active{border-color:var(--gold-bright);background:var(--gold);box-shadow:0 0 8px var(--gold), 0 0 18px #d6b36570;animation:.52s cubic-bezier(.16,.8,.2,1) both seal-in}.text-button{color:var(--gold);background:0 0;border:0;padding:6px 0}.line-stack{gap:4px;margin-top:12px;display:grid}.line-row{grid-template-columns:20px 1fr 24px;align-items:center;gap:12px;min-height:20px;display:grid}.line-row.newly-cast{animation:.72s cubic-bezier(.16,.85,.25,1) both line-arrive}.line-row.newly-cast .solid-line,.line-row.newly-cast .broken-line{animation:.9s ease-out both line-ignite}.line-position,.line-row strong{color:var(--muted);text-align:center;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.line-visual{justify-content:center;gap:15%;height:10px;display:flex;position:relative}.solid-line,.broken-line{background:#d7c58f;height:7px;display:block;box-shadow:0 0 8px #d6b36538}.solid-line{width:100%}.broken-line{width:42.5%}.line-visual.moving:after{content:"动";color:var(--gold-bright);text-shadow:0 0 8px var(--gold);font-size:9px;animation:1.6s ease-in-out infinite moving-mark;position:absolute;top:-5px;right:-26px}.empty-line{border-top:1px dashed #d6b36538}.empty-result{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.7}.result-card{background:linear-gradient(135deg,#d6b36514,#79d5bd06);border:1px solid #d6b3652e;border-radius:6px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:15px;animation:.78s cubic-bezier(.16,.8,.2,1) both result-card-enter;display:grid;overflow:hidden}.result-card[hidden]{display:none}.result-card div:not(.result-arrow){gap:5px;display:grid}.result-card span,.result-card small,.result-card p{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px}.result-card strong{color:var(--gold-bright);font-size:20px;font-weight:500}.result-card p{grid-column:1/-1;margin:8px 0 0}.result-arrow{color:var(--gold)}.primary-actions{gap:8px;margin-top:0;display:grid}.primary-button,.secondary-button{letter-spacing:.08em;border-radius:4px;min-height:48px;position:relative;overflow:hidden}.primary-button{border:1px solid var(--gold);background:var(--gold);color:#18140b;font-weight:700;box-shadow:0 0 24px #d6b3651f}.secondary-button{border:1px solid var(--line);color:#d6cdb8;background:0 0}.primary-button:hover,.secondary-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.primary-button:after,.secondary-button:after{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff47 48%,#0000 75%);position:absolute;inset:0;transform:translate(-130%)}.primary-button:hover:after,.secondary-button:hover:after{animation:.7s ease-out button-sweep}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.42}.privacy-note{color:#777264;margin:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;line-height:1.6}.ritual-guidance{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.ritual-guidance h1{letter-spacing:.07em;color:#0000;filter:drop-shadow(0 6px 18px #00000073);background:linear-gradient(105deg,#f8edce 15%,#c9ab65 52%,#fff4d0 74%,#b9e4d8) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(20px,1.65vw,27px);font-weight:500;line-height:1.25;animation:7s ease-in-out infinite title-shimmer}.ritual-guidance p:last-child{color:#a8a08e;margin:8px 0 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.65}.cast-flash{z-index:6;aspect-ratio:1;opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff6cdb3,#d6b36529 24%,#0000 68%);border-radius:50%;width:min(64vw,620px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.25)}.cast-flash.active{animation:.82s ease-out flash-cast}.cast-burst,.result-wave{z-index:9;pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:50%}.cast-burst i{opacity:0;background:linear-gradient(var(--gold-bright), transparent);width:3px;height:18px;box-shadow:0 0 10px var(--gold);transform-origin:50% 0;animation:spark-flight .9s cubic-bezier(.15, .75, .25, 1) var(--spark-delay) both;border-radius:50%;position:absolute;top:0;left:0}.result-wave:before,.result-wave:after{content:"";aspect-ratio:1;border:1px solid #f2dda0b3;border-radius:50%;width:min(68vw,660px);animation:1.55s cubic-bezier(.1,.72,.2,1) both result-wave;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.2)}.result-wave:after{border-color:#79d5bd80;animation-delay:.18s}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes reverse-spin{to{transform:rotate(-360deg)}}@keyframes luopan-outer-turn{to{transform:rotate(360deg)}}@keyframes luopan-inner-turn{to{transform:rotate(-360deg)}}@keyframes luopan-cast-outer{0%{filter:brightness();transform:rotate(0)scale(1)}38%{filter:brightness(1.8);transform:rotate(-38deg)scale(.982)}to{filter:brightness();transform:rotate(112deg)scale(1)}}@keyframes luopan-cast-inner{0%{transform:rotate(0)scale(1)}42%{transform:rotate(26deg)scale(1.05)}to{transform:rotate(-86deg)scale(1)}}@keyframes cast-progress-arrive{0%{opacity:.1;scale:.84}45%{opacity:1;filter:brightness(1.9);scale:1.16}to{opacity:.54;filter:brightness();scale:1}}@keyframes luopan-result-settle{0%{transform:rotate(0)}70%{transform:rotate(var(--result-overshoot))}to{transform:rotate(var(--result-spin))}}@keyframes luopan-result-counter{0%{transform:rotate(0)}65%{transform:rotate(38deg)}to{transform:rotate(24deg)}}@keyframes result-ray{0%,to{filter:brightness(.85);opacity:.64}50%{filter:brightness(1.45);opacity:1}}@keyframes cast-pulse{0%{scale:1}28%{filter:brightness(1.25);scale:.965}52%{filter:brightness(2);scale:1.075}to{scale:1}}@keyframes sky-turn{to{transform:rotate(360deg)}}@keyframes brand-breathe{0%,to{filter:drop-shadow(0 0 8px #d6b3654d);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #d6b365b3);transform:scale(1.06)}}@keyframes compass-scan{to{transform:rotate(360deg)}}@keyframes taiji-breathe{0%,to{box-shadow:inset 0 0 18px #000000b3,0 0 24px #d6b36524}50%{box-shadow:inset 0 0 18px #000000b3,0 0 52px #d6b3655c}}@keyframes aura-open{0%{opacity:0;transform:rotate(var(--ray)) translateY(-34px) scaleY(.15)}35%{opacity:.75}to{opacity:0;transform:rotate(var(--ray)) translateY(-86px) scaleY(1.25)}}@keyframes title-shimmer{0%,to{background-position:100%}50%{background-position:0}}@keyframes orb-pulse{0%,to{opacity:.68;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes next-line-pulse{0%,to{transform:scale(.82);box-shadow:0 0 #d6b36500}50%{transform:scale(1.15);box-shadow:0 0 12px #d6b36580}}@keyframes seal-in{0%{opacity:0;transform:scale(2.4)rotate(180deg)}60%{transform:scale(.78)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes line-arrive{0%{opacity:0;filter:blur(5px)brightness(2);transform:translate(38px)scaleX(.55)}55%{opacity:1;filter:blur()brightness(1.8);transform:translate(-4px)scaleX(1.04)}to{filter:brightness();transform:translate(0)scaleX(1)}}@keyframes line-ignite{0%{box-shadow:0 0 5px #fff, 0 0 32px var(--gold-bright);background:#fff8d5}to{background:#d7c58f;box-shadow:0 0 8px #d6b36538}}@keyframes moving-mark{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes result-card-enter{0%{opacity:0;filter:blur(5px);transform:translateY(18px)scale(.95)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes button-sweep{to{transform:translate(130%)}}@keyframes flash-cast{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}22%{opacity:.65}to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}@keyframes spark-flight{0%{opacity:0;transform:rotate(var(--spark-angle)) translateY(-42px) scaleY(.25)}18%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(calc(var(--spark-distance) * -1)) scaleY(.05)}}@keyframes result-wave{0%{opacity:0;transform:translate(-50%,-50%)scale(.18)}18%{opacity:.85}to{opacity:0;transform:translate(-50%,-50%)scale(1.25)}}@keyframes gesture-flare{0%{scale:1}38%{filter:brightness(1.85)drop-shadow(0 0 48px #d6b36580);scale:1.025}to{scale:1}}@keyframes seal-resonance{0%,to{transform:rotate(45deg)scale(.98);box-shadow:inset 0 0 24px #d6b3650f}50%{transform:rotate(45deg)scale(1.035);box-shadow:inset 0 0 58px #d6b36538}}@keyframes light-pillar{0%,to{filter:blur(20px)brightness(.85)}50%{filter:blur(12px)brightness(1.45)}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.ritual-stage{min-height:72vh}.ritual-orbit{--orbit-size:min(92vw, 620px)}.control-panel{border-top:1px solid var(--line);border-left:0}}@media (width<=560px){.site-header{height:62px}.header-status{text-align:right;max-width:130px}.ritual-stage{min-height:610px}.ritual-orbit{--orbit-size:min(96vw, 520px)}.hexagram-sector{width:24px;margin-left:-12px;font-size:7px}.hexagram-sector b{display:none}.hexagram-sector:nth-child(odd):not(.active){opacity:0}.bagua-ring span{font-size:12px}.gesture-chip{top:14px;left:14px}.control-panel{padding:22px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
