.container{width:100vw;height:100vh;position:relative;overflow:hidden}.question-section{position:absolute;top:40px;left:0;width:100%;text-align:center;z-index:10;animation:fadeInDown .8s ease-out .2s both;transition:all .3s ease}.question-title{display:block;font-size:24px;font-weight:600;color:#d4af37;letter-spacing:2px;margin-bottom:8px;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.question-subtitle{display:block;font-size:12px;color:#d4af3799;letter-spacing:1px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.question-section.compact{top:10px}.question-section.compact .question-title{font-size:16px;margin-bottom:2px}.question-section.compact .question-subtitle{font-size:10px;margin-bottom:8px}.deck-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:300px;z-index:5;perspective:1000px}.deck-wrapper.hidden{display:none}.deck-container{position:relative;width:100%;height:100%;transition:transform .3s ease}.deck-container.shuffling{animation:screenShake .5s ease-in-out .5s}.card{position:absolute;width:140px;height:210px;left:50%;top:50%;margin-left:-70px;margin-top:-105px;transform-style:preserve-3d;transition:all .6s cubic-bezier(.34,1.56,.64,1);cursor:pointer;will-change:transform,opacity}.card.idle{animation:cardFloat 3s ease-in-out infinite}.card.hovering{transform:scale(1.05)!important;filter:drop-shadow(0 10px 30px rgba(212,175,55,.4))}.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;transition:opacity .3s ease}.card-back.hidden{opacity:0;pointer-events:none}.card-border{width:100%;height:100%;background:linear-gradient(135deg,#0a0e27,#1a0b2e);border:2px solid #d4af37;border-radius:10px;box-shadow:0 4px 16px #0006,inset 0 0 20px #d4af371a;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.yinyang-symbol{font-size:40px;color:#d4af37;margin-bottom:20px;filter:drop-shadow(0 0 10px rgba(212,175,55,.6));animation:yinyangRotate 20s linear infinite}.card-pattern{position:absolute;width:100%;height:100%;opacity:.15;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(212,175,55,.1) 5px,rgba(212,175,55,.1) 10px)}.card-back-text{display:block;font-size:20px;font-weight:700;color:#d4af37;letter-spacing:4px;margin-top:20px}.card-back-text-en{display:block;font-size:10px;color:#d4af3799;letter-spacing:3px;margin-top:4px}.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;transform:rotateY(180deg);opacity:0;transition:opacity .3s ease .3s}.card-front.visible{opacity:1}.selection-view{position:absolute;top:60px;left:0;width:100%;height:calc(100vh - 60px);z-index:5;opacity:0;transform:scale(.9);transition:all .5s ease;pointer-events:none;overflow-y:auto;overflow-x:hidden}.selection-view.visible{opacity:1;transform:scale(1);pointer-events:all}.cards-grid{display:flex;flex-wrap:wrap;padding:15px 15px 20px;box-sizing:border-box;justify-content:flex-start;align-content:flex-start;gap:5px 5px}.selection-card{width:calc(33.333% - 3.33px);aspect-ratio:2/3;animation:cardFadeIn .4s ease-out backwards;cursor:pointer}.selection-card:nth-child(1){animation-delay:0s}.selection-card:nth-child(2){animation-delay:.02s}.selection-card:nth-child(3){animation-delay:.04s}.selection-card:nth-child(4){animation-delay:.06s}.selection-card:nth-child(5){animation-delay:.08s}.selection-card:nth-child(6){animation-delay:.1s}.selection-card:nth-child(7){animation-delay:.12s}.selection-card:nth-child(8){animation-delay:.14s}.selection-card-back{width:100%;height:100%;position:relative}.selection-card-border{width:100%;height:100%;background:linear-gradient(135deg,#0a0e27,#1a0b2e);border:1.5px solid #d4af37;border-radius:8px;box-shadow:0 2px 8px #0000004d,inset 0 0 15px #d4af371a;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;transition:all .3s ease;position:relative;overflow:hidden}.selection-card:active .selection-card-border{transform:scale(.95);border-color:#d4af37cc;box-shadow:0 4px 12px #d4af3766,inset 0 0 20px #d4af3733}.selection-yinyang{font-size:30px;color:#d4af37;margin-bottom:12px;filter:drop-shadow(0 0 8px rgba(212,175,55,.5))}.selection-pattern{position:absolute;width:100%;height:100%;opacity:.12;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(212,175,55,.1) 4px,rgba(212,175,55,.1) 8px);pointer-events:none}.selection-back-text{display:block;font-size:16px;font-weight:700;color:#d4af37;letter-spacing:3px;margin-bottom:4px}.selection-back-text-en{display:block;font-size:9px;color:#d4af3799;letter-spacing:2px;margin-bottom:10px}.selection-card-number{position:absolute;bottom:6px;right:6px;font-size:8px;color:#d4af3766;letter-spacing:.5px}.action-section{position:absolute;bottom:50px;left:0;width:100%;display:flex;justify-content:center;z-index:10;transition:opacity .3s ease}.action-section.hidden{opacity:0;pointer-events:none}.action-btn{width:90%;max-width:280px;height:60px;background:linear-gradient(135deg,#d4af37,#f4d47c);border:none;border-radius:30px;box-shadow:0 4px 16px #d4af3766,inset 0 1px 2px #ffffff4d;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.action-btn.shuffling{pointer-events:none;opacity:.7}.action-btn.shuffling:before{left:100%}.action-btn.ready{animation:buttonPulse 2s ease-in-out infinite}.btn-subtext{font-size:11px;color:#000000b3!important;letter-spacing:1px}.loading-overlay{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#0a0e27cc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.loading-overlay.active{opacity:1;pointer-events:all}.loading-spinner{width:40px;height:40px;border:3px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:20px;font-size:14px;color:#d4af37;letter-spacing:2px}.hidden{opacity:0!important;pointer-events:none!important}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-2.5px)}20%{transform:translate(2.5px)}30%{transform:translate(-2.5px)}40%{transform:translate(2.5px)}50%{transform:translate(-2.5px)}60%{transform:translate(2.5px)}70%{transform:translate(-2.5px)}80%{transform:translate(2.5px)}90%{transform:translate(-2.5px)}}.reduce-motion{animation-duration:.01ms!important;transition-duration:.01ms!important}@media (max-width: 768px){.question-title{font-size:20px}.question-subtitle{font-size:11px}.selection-card{width:calc(33.333% - 3.33px)}}@media (min-width: 769px){.selection-card{width:calc(16.666% - 4.17px)}.cards-grid{padding:20px;gap:5px}.action-btn{max-width:320px;height:70px}.btn-text{font-size:20px}}@media (min-width: 1024px){.selection-card{width:calc(12.5% - 4.375px)}}.selection-view::-webkit-scrollbar{width:8px}.selection-view::-webkit-scrollbar-track{background:#0a0e2780}.selection-view::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:4px}.selection-view::-webkit-scrollbar-thumb:hover{background:#d4af3780}.dice-container{width:100vw;height:100vh;background:linear-gradient(135deg,#0a0e27,#1a0b2e);position:relative;overflow:hidden}.particles-bg{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:0}.header-section{position:absolute;top:30px;left:0;width:100%;text-align:center;z-index:10;animation:fadeInDown .6s ease-out}.header-title{display:block;font-size:16px;color:#d4af37;letter-spacing:2px;margin-bottom:4px}.header-subtitle{display:block;font-size:10px;color:#d4af3799;letter-spacing:1px;margin-bottom:16px}.hexagram-display{display:inline-block;padding:16px 24px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hexagram-name{display:block;font-size:28px;font-weight:700;color:#d4af37;letter-spacing:4px;margin-bottom:4px}.hexagram-pinyin{display:block;font-size:12px;color:#d4af37cc;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.mini-hexagram-lines{display:flex;flex-direction:column-reverse;align-items:center;gap:6px}.mini-line{width:50px;height:3px}.mini-line-solid{width:100%;height:100%;background:linear-gradient(90deg,#d4af37,#f4d47c,#d4af37);border-radius:1.5px;box-shadow:0 0 4px #d4af3766}.mini-line-broken{width:100%;height:100%;display:flex;justify-content:space-between}.mini-line-segment{width:21px;height:100%;background:linear-gradient(90deg,#d4af37,#f4d47c,#d4af37);border-radius:1.5px;box-shadow:0 0 4px #d4af3766}.instruction-section{position:absolute;top:60%;left:0;width:100%;text-align:center;z-index:10;animation:fadeInUp .8s ease-out .3s both;transition:opacity .5s ease,transform .5s ease;padding:0 20px}.instruction-section.fade-out{opacity:0;transform:translateY(-10px);pointer-events:none;visibility:hidden}.instruction-title{display:block;font-size:18px;color:#d4af37;letter-spacing:2px;margin-bottom:4px}.instruction-subtitle{display:block;font-size:11px;color:#d4af3799;letter-spacing:1px;margin-bottom:8px}.instruction-desc{display:block;font-size:12px;color:#fff9;letter-spacing:1px}.dice-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:300px;z-index:5}.dice-box{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:1000px}.dice{position:relative;width:100px;height:100px;transform-style:preserve-3d;transition:transform .1s ease-out;animation:diceIdle 3s ease-in-out infinite}.dice.animate-roll{animation:diceRoll 2s cubic-bezier(.17,.67,.36,.96)}.dice.show-face-1{transform:rotateX(0) rotateY(0)!important;animation:none}.dice.show-face-2{transform:rotateX(0) rotateY(180deg)!important;animation:none}.dice.show-face-3{transform:rotateX(0) rotateY(-90deg)!important;animation:none}.dice.show-face-4{transform:rotateX(0) rotateY(90deg)!important;animation:none}.dice.show-face-5{transform:rotateX(-90deg) rotateY(0)!important;animation:none}.dice.show-face-6{transform:rotateX(90deg) rotateY(0)!important;animation:none}.dice-face{position:absolute;width:100px;height:100px;background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid #d4af37;border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);justify-items:center;align-items:center;padding:10px;box-shadow:0 0 20px #d4af374d;backface-visibility:visible}.dot{width:12px;height:12px;background:#0a0e27;border-radius:50%;box-shadow:0 1px 2px #0003}.face-1{transform:rotateY(0) translateZ(50px)}.face-2{transform:rotateY(180deg) translateZ(50px)}.face-3{transform:rotateY(90deg) translateZ(50px)}.face-4{transform:rotateY(-90deg) translateZ(50px)}.face-5{transform:rotateX(90deg) translateZ(50px)}.face-6{transform:rotateX(-90deg) translateZ(50px)}.dice-face.hidden{opacity:0!important;visibility:hidden;pointer-events:none}.face-1 .dot{grid-column:2;grid-row:2}.face-2 .dot:first-child{grid-column:1;grid-row:1}.face-2 .dot:last-child{grid-column:3;grid-row:3}.face-3 .dot:nth-child(1){grid-column:1;grid-row:1}.face-3 .dot:nth-child(2){grid-column:2;grid-row:2}.face-3 .dot:nth-child(3){grid-column:3;grid-row:3}.face-4 .dot:nth-child(1){grid-column:1;grid-row:1}.face-4 .dot:nth-child(2){grid-column:3;grid-row:1}.face-4 .dot:nth-child(3){grid-column:1;grid-row:3}.face-4 .dot:nth-child(4){grid-column:3;grid-row:3}.face-5 .dot:nth-child(1){grid-column:1;grid-row:1}.face-5 .dot:nth-child(2){grid-column:3;grid-row:1}.face-5 .dot:nth-child(3){grid-column:2;grid-row:2}.face-5 .dot:nth-child(4){grid-column:1;grid-row:3}.face-5 .dot:nth-child(5){grid-column:3;grid-row:3}.face-6 .dot:nth-child(1){grid-column:1;grid-row:1}.face-6 .dot:nth-child(2){grid-column:1;grid-row:2}.face-6 .dot:nth-child(3){grid-column:1;grid-row:3}.face-6 .dot:nth-child(4){grid-column:3;grid-row:1}.face-6 .dot:nth-child(5){grid-column:3;grid-row:2}.face-6 .dot:nth-child(6){grid-column:3;grid-row:3}.result-section{position:absolute;top:61%;left:0;width:100%;text-align:center;z-index:10;opacity:0;transform:scale(.8);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.result-section.visible{opacity:1;transform:scale(1)}.result-title{display:block;font-size:14px;color:#d4af37cc;letter-spacing:1px;margin-bottom:8px}.result-number{display:block;font-size:48px;font-weight:700;color:#d4af37;line-height:1;margin-bottom:8px;text-shadow:0 0 20px rgba(212,175,55,.6);animation:numberPulse 1.5s ease-in-out infinite}.result-line{display:block;font-size:16px;color:#d4af37;letter-spacing:2px;margin-bottom:4px}.result-desc{display:block;font-size:12px;color:#fff9;letter-spacing:1px}.action-section{position:absolute;bottom:50px;left:0;width:100%;display:flex;justify-content:center;z-index:10}.action-btn{width:280px;height:60px;background:linear-gradient(135deg,#d4af37,#f4d47c);border:none;border-radius:30px;box-shadow:0 4px 16px #d4af3766,inset 0 1px 2px #ffffff4d;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.action-btn.roll-btn{animation:buttonPulse 2s ease-in-out infinite}.action-btn:active{transform:scale(.95)}.action-btn.rolling{pointer-events:none;opacity:.7}.btn-text{font-size:20px;font-weight:900;color:#000!important;letter-spacing:2px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.btn-subtext{font-size:11px;color:#000000b3!important;letter-spacing:1px;margin-top:2px}.reroll-section{position:absolute;bottom:40px;left:0;width:100%;display:flex;justify-content:center;z-index:10;opacity:0;transition:opacity .5s ease .5s}.reroll-section.visible{opacity:1}.reroll-btn{padding:10px 24px;background:#d4af3733;border:1px solid rgba(212,175,55,.4);border-radius:20px;transition:all .3s ease;cursor:pointer}.reroll-btn:active{transform:scale(.95);background:#d4af374d}.reroll-text{font-size:14px;color:#d4af37;letter-spacing:1px}@keyframes diceIdle{0%,to{transform:rotateX(0) rotateY(0)}25%{transform:rotateX(5deg) rotateY(5deg)}50%{transform:rotateX(0) rotateY(10deg)}75%{transform:rotateX(-5deg) rotateY(5deg)}}@keyframes diceRoll{0%{transform:rotateX(0) rotateY(0) rotate(0)}25%{transform:rotateX(360deg) rotateY(180deg) rotate(90deg)}50%{transform:rotateX(720deg) rotateY(360deg) rotate(180deg)}75%{transform:rotateX(1080deg) rotateY(540deg) rotate(270deg)}to{transform:rotateX(var(--final-rotate-x)) rotateY(var(--final-rotate-y)) rotate(var(--final-rotate-z))}}@media (max-width: 768px){.header-title{font-size:14px}.hexagram-name{font-size:24px}.action-btn{width:240px;height:55px}.btn-text{font-size:16px}}@media (min-width: 769px){.dice{width:120px;height:120px}.dice-face{width:120px;height:120px;padding:12px}.face-1{transform:rotateY(0) translateZ(60px)}.face-2{transform:rotateY(180deg) translateZ(60px)}.face-3{transform:rotateY(90deg) translateZ(60px)}.face-4{transform:rotateY(-90deg) translateZ(60px)}.face-5{transform:rotateX(90deg) translateZ(60px)}.face-6{transform:rotateX(-90deg) translateZ(60px)}.action-btn{width:320px;height:70px}}.reading-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:linear-gradient(135deg,#0a0e27,#1a0b2e);overflow:hidden;display:flex;flex-direction:column}.reading-container>div:first-child{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.reading-scroll-content{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:1;position:relative}.reading-header{padding:20px 15px;animation:fadeInDown .6s ease-out}.hexagram-card{background:linear-gradient(135deg,#d4af3726,#d4af370d);border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d}.hexagram-name{display:block;font-size:32px;font-weight:700;color:#d4af37;text-align:center;letter-spacing:6px;margin-bottom:6px}.hexagram-pinyin{display:block;font-size:14px;color:#d4af37cc;text-align:center;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px}.hexagram-number{display:block;font-size:10px;color:#d4af3799;text-align:center;letter-spacing:1px;margin-bottom:20px}.hexagram-lines{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.line-row{display:flex;align-items:center;padding:8px 10px;background:#0a0e274d;border-radius:6px;border:1px solid transparent;transition:all .3s ease;position:relative}.line-row.selected{background:#d4af3733;border-color:#d4af37;box-shadow:0 0 10px #d4af3766;animation:lineGlow 2s ease-in-out infinite}.line-label{font-size:12px;color:#d4af37cc;min-width:40px;letter-spacing:1px;flex-shrink:0}.line-row.selected .line-label{color:#d4af37;font-weight:700}.line-visual{flex:1;height:4px;margin:0 10px}.line-solid{width:100%;height:100%;background:linear-gradient(90deg,#d4af37,#f4d47c,#d4af37);border-radius:2px;box-shadow:0 0 6px #d4af3766}.line-broken{width:100%;height:100%;display:flex;justify-content:space-between;gap:10px}.line-segment{flex:1;height:100%;background:linear-gradient(90deg,#d4af37,#f4d47c,#d4af37);border-radius:2px;box-shadow:0 0 6px #d4af3766}.line-indicator{min-width:30px;text-align:center;flex-shrink:0}.indicator-text{font-size:16px;animation:bounce 1s ease-in-out infinite}.judgment-section{padding-top:15px;border-top:1px solid rgba(212,175,55,.2)}.judgment-title{display:block;font-size:12px;color:#d4af37cc;letter-spacing:2px;margin-bottom:8px}.judgment-text{display:block;font-size:14px;color:#ffffffe6;line-height:1.8;letter-spacing:1px}.reading-section{padding:15px;animation:fadeInUp .6s ease-out both}.reading-section:nth-child(2){animation-delay:.2s}.reading-section:nth-child(3){animation-delay:.4s}.section-header{text-align:center;margin-bottom:12px}.section-title{display:block;font-size:16px;color:#d4af37;letter-spacing:2px;margin-bottom:4px;font-weight:600}.section-subtitle{display:block;font-size:10px;color:#d4af3799;letter-spacing:1px}.content-card{background:linear-gradient(135deg,#d4af371a,#d4af370d);border:1px solid rgba(212,175,55,.3);border-radius:10px;padding:16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);min-height:80px}.line-title{display:block;font-size:14px;color:#d4af37;font-weight:700;letter-spacing:2px;margin-bottom:8px}.line-text{display:block;font-size:14px;color:#ffffffe6;line-height:1.8;letter-spacing:1px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;min-height:100px}.loading-spinner{width:30px;height:30px;border:2px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:12px;font-size:12px;color:#d4af37cc;letter-spacing:1px}.interpretation-text{display:block;font-size:14px;color:#ffffffe6;line-height:1.8;letter-spacing:.5px;white-space:pre-wrap}.reading-actions{padding:15px 15px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:fadeInUp .6s ease-out .6s both}.action-btn{width:90%;max-width:400px;min-height:60px;border:none;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 20px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.action-btn:active{transform:scale(.98)}.action-btn:hover{opacity:.95}.primary-btn{background:linear-gradient(135deg,#d4af37,#f4d47c);box-shadow:0 4px 12px #d4af3766}.secondary-btn{background:linear-gradient(135deg,#d4af374d,#d4af3733);border:1px solid rgba(212,175,55,.5)}.tertiary-btn{background:#0a0e2780;border:1px solid rgba(212,175,55,.3)}.btn-icon{font-size:18px;line-height:1}.btn-text{font-size:16px;font-weight:900;letter-spacing:1px;line-height:1.2}.primary-btn .btn-text{color:#000;text-shadow:0 1px 3px rgba(0,0,0,.3)}.secondary-btn .btn-text,.tertiary-btn .btn-text{color:#d4af37}.btn-subtext{font-size:10px;letter-spacing:.5px;opacity:.7;line-height:1.2}.primary-btn .btn-subtext{color:#000000b3}.secondary-btn .btn-subtext,.tertiary-btn .btn-subtext{color:#d4af37b3}.reading-scroll-content::-webkit-scrollbar{width:6px}.reading-scroll-content::-webkit-scrollbar-track{background:#0a0e274d}.reading-scroll-content::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.reading-scroll-content::-webkit-scrollbar-thumb:hover{background:#d4af3780}@media (min-width: 768px){.reading-scroll-content{padding:0 calc((100vw - 600px)/2)}.hexagram-name{font-size:40px;letter-spacing:8px}.hexagram-pinyin{font-size:16px}.section-title{font-size:18px}.line-text,.judgment-text,.interpretation-text{font-size:16px}.action-btn{min-height:70px}.btn-icon{font-size:20px}.btn-text{font-size:16px}.btn-subtext{font-size:10px}}@media (min-width: 1024px){.reading-scroll-content{padding:0 calc((100vw - 700px)/2)}}@media (max-width: 767px){.reading-container{height:-webkit-fill-available}.reading-header{padding:15px 12px}.reading-section,.reading-actions{padding:12px}.action-btn{min-height:65px}}@supports (padding: max(0px)){.reading-scroll-content{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}.reading-actions{padding-bottom:max(40px,calc(40px + env(safe-area-inset-bottom)))}}.action-btn:focus{outline:2px solid rgba(212,175,55,.5);outline-offset:2px}.action-btn:focus:not(:focus-visible){outline:none}.chat-container{width:100vw;height:100vh;background:linear-gradient(135deg,#0a0e27,#1a0b2e);display:flex;flex-direction:column;position:relative}.chat-scroll{flex:1;width:100%;padding:10px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1}.context-card{background:linear-gradient(135deg,#d4af3733,#d4af371a);border:1px solid rgba(212,175,55,.3);border-radius:8px;padding:12px;margin-bottom:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.context-title{display:block;font-size:.7rem;color:#d4af37cc;margin-bottom:6px}.context-hexagram{display:block;font-size:.875rem;color:#d4af37;font-weight:700;margin-bottom:4px}.context-line{display:block;font-size:.75rem;color:#fffc;line-height:1.6}.question-counter{margin-top:8px;padding:6px 10px;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:6px;text-align:center}.question-counter.blocked{background:#ef44441a;border-color:#ef44444d}.counter-text{font-size:.7rem;color:#d4af37e6;font-weight:700}.question-counter.blocked .counter-text{color:#ef4444e6}.messages-container{display:flex;flex-direction:column;gap:12px}.message-wrapper{display:flex;align-items:flex-end;gap:8px;animation:fadeInUp .3s ease-out}.user-message{flex-direction:row-reverse}.message-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.user-avatar{background:linear-gradient(135deg,#d4af37,#f4d47c)}.ai-avatar{background:linear-gradient(135deg,#d4af374d,#d4af3733);border:1px solid rgba(212,175,55,.5)}.message-bubble{max-width:250px;padding:10px 12px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-bubble{background:linear-gradient(135deg,#d4af37,#f4d47c);border-bottom-right-radius:2px}.ai-bubble{background:#1a0b2ecc;border:1px solid rgba(212,175,55,.3);border-bottom-left-radius:2px}.message-text{font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.user-bubble .message-text{color:#0a0e27}.ai-bubble .message-text{color:#ffffffe6}.typing-bubble{padding:12px}.typing-indicator{display:flex;gap:4px}.typing-dot{width:6px;height:6px;background:#d4af37cc;border-radius:50%;animation:typingDot 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-area{width:100%;background:#0a0e27f2;border-top:1px solid rgba(212,175,55,.2);padding:10px;z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-container{display:flex;align-items:flex-end;gap:8px}.input-field{flex:1;min-height:40px;max-height:100px;padding:8px 10px;background:#1a0b2ecc;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:#ffffffe6;font-size:.875rem;line-height:1.5;resize:none;font-family:inherit}.input-field::placeholder{color:#ffffff59}.input-field:disabled{opacity:.5}.send-btn{width:60px;height:40px;background:#d4af374d;border:1px solid rgba(212,175,55,.5);border-radius:8px;color:#d4af3799;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.send-btn.active{background:linear-gradient(135deg,#d4af37,#f4d47c);border-color:#d4af37;color:#0a0e27}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}.booking-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:linear-gradient(135deg,#0a0e27,#1a0b2e);overflow:hidden;display:flex;flex-direction:column}.booking-container>div:first-child{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.booking-scroll-content{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:1;position:relative}.booking-header{padding:30px 15px 20px;animation:fadeInDown .6s ease-out}.header-card{background:linear-gradient(135deg,#d4af3726,#d4af370d);border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:25px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d;text-align:center}.header-icon{display:block;font-size:50px;margin-bottom:12px;animation:float 3s ease-in-out infinite}.header-title{display:block;font-size:22px;font-weight:700;color:#d4af37;letter-spacing:2px;margin-bottom:8px;line-height:1.4}.header-subtitle{display:block;font-size:11px;color:#d4af37b3;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}.header-desc{display:block;font-size:12px;color:#ffffffb3;letter-spacing:.5px;line-height:1.6}.booking-form-section{padding:0 15px 20px;animation:fadeInUp .6s ease-out .2s both}.form-card{background:linear-gradient(135deg,#d4af371a,#d4af370d);border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%}.form-field{margin-bottom:20px}.form-field:last-of-type{margin-bottom:0}.field-label{display:block;font-size:13px;color:#d4af37;margin-bottom:8px;letter-spacing:.5px;font-weight:500}.field-input,.field-textarea{width:100%;padding:12px 14px;background:#1a0b2eb3;border:1px solid rgba(212,175,55,.3);border-radius:8px;color:#fffffff2;font-size:14px;font-family:inherit;box-sizing:border-box;transition:all .3s ease}.field-input:focus,.field-textarea:focus{outline:none;border-color:#d4af37;background:#1a0b2ed9;box-shadow:0 0 0 3px #d4af3726}.field-input.select-input,.field-input.date-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:40px;cursor:pointer}.field-textarea{min-height:90px;line-height:1.6;resize:vertical;padding:12px 14px}.field-input::placeholder,.field-textarea::placeholder{color:#fff6;font-size:13px}.char-count{display:block;text-align:right;font-size:10px;color:#d4af3780;margin-top:6px;letter-spacing:.5px}.reading-info{margin-top:20px;padding:16px;background:linear-gradient(135deg,#d4af3726,#d4af3714);border:1px solid rgba(212,175,55,.4);border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.info-label{display:block;font-size:11px;color:#d4af37cc;margin-bottom:6px;letter-spacing:.5px}.info-text{display:block;font-size:14px;color:#d4af37;font-weight:700;letter-spacing:1px}.booking-actions{padding:0 15px 40px;display:flex;flex-direction:column;gap:12px;animation:fadeInUp .6s ease-out .4s both}.submit-btn{width:100%;min-height:55px;border:none;border-radius:10px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:14px 24px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;background:#d4af3733;border:1px solid rgba(212,175,55,.4)}.submit-btn:active{transform:scale(.98)}.submit-btn:hover:not(:disabled){opacity:.95}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn.active{background:linear-gradient(135deg,#d4af37,#f4d47c);border-color:#d4af37;box-shadow:0 4px 12px #d4af3766}.btn-icon{font-size:16px;line-height:1}.btn-text{font-size:15px;font-weight:700;letter-spacing:1.5px;color:#d4af37e6;line-height:1}.submit-btn.active .btn-text{color:#0a0e27}.submit-btn.active .btn-icon{animation:sparkle 1.5s ease-in-out infinite}.privacy-note{font-size:11px;color:#d4af3799;text-align:center;letter-spacing:.25px;line-height:1.6;padding:0 10px}.booking-scroll-content::-webkit-scrollbar{width:6px}.booking-scroll-content::-webkit-scrollbar-track{background:#0a0e274d}.booking-scroll-content::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.booking-scroll-content::-webkit-scrollbar-thumb:hover{background:#d4af3780}@media (min-width: 768px){.booking-scroll-content{padding:0 calc((100vw - 600px)/2)}.booking-header{padding:40px 0 25px}.booking-form-section{padding:0 0 25px}.booking-actions{padding:0 0 50px}.header-title{font-size:26px}.header-icon{font-size:60px}.form-card{padding:30px}.field-input,.field-textarea{font-size:15px;padding:14px 16px}.field-input.select-input,.field-input.date-input{height:48px}.submit-btn{min-height:60px}.btn-icon{font-size:18px}.btn-text{font-size:16px}}@media (min-width: 1024px){.booking-scroll-content{padding:0 calc((100vw - 700px)/2)}}@media (max-width: 767px){.booking-container{height:-webkit-fill-available}.booking-header{padding:20px 12px 15px}.booking-form-section{padding:0 12px 15px}.booking-actions{padding:0 12px 30px}.header-card{padding:20px 16px}.form-card{padding:16px}.form-field{margin-bottom:18px}}@supports (padding: max(0px)){.booking-scroll-content{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}.booking-actions{padding-bottom:max(40px,calc(40px + env(safe-area-inset-bottom)))}}.submit-btn:focus{outline:2px solid rgba(212,175,55,.5);outline-offset:2px}.submit-btn:focus:not(:focus-visible){outline:none}.field-input:focus,.field-textarea:focus{outline:none}select.field-input option{background:#1a0b2e;color:#fffffff2;padding:10px}.page-root{background:linear-gradient(135deg,#0a0e27,#1a0b2e);height:100vh;overflow:hidden;width:100vw;position:fixed;top:0;left:0}.container{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center}.language-content{text-align:center;background:linear-gradient(135deg,#0a0e27,#1a0b2e);border:1.5px solid #d4af37;padding:60px;border-radius:20px;box-shadow:0 4px 16px #d4af374d,inset 0 0 20px #d4af371a;max-width:500px;width:100%;z-index:10;position:relative;overflow:hidden}.language-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.12;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(212,175,55,.1) 4px,rgba(212,175,55,.1) 8px);pointer-events:none}.language-yinyang{font-size:4rem;color:#d4af37;margin-bottom:20px;filter:drop-shadow(0 0 12px rgba(212,175,55,.5));animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.language-title{font-size:2.5rem;margin-bottom:40px;color:#d4af37;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px}.language-options{display:flex;flex-direction:column;gap:20px}.language-button{padding:18px 30px;font-size:1.5rem;font-weight:900;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#000;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d4af37,#f4d47c);box-shadow:0 4px 16px #d4af3766,inset 0 1px 2px #ffffff4d;text-shadow:0 1px 3px rgba(0,0,0,.3)}.language-button:hover{transform:translateY(-5px);box-shadow:0 8px 24px #d4af3799,inset 0 1px 2px #ffffff4d}.language-button:active{transform:translateY(-2px);box-shadow:0 2px 8px #d4af3766,inset 0 1px 2px #ffffff4d}.language-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.language-button:hover:before{left:100%}@media (max-width: 768px){.language-content{padding:40px 20px;margin:0 20px}.language-title{font-size:2rem}.language-button{font-size:1.2rem;padding:15px 25px}}@media (max-width: 480px){.language-content{padding:30px 15px;margin:0 15px}.language-title{font-size:1.8rem}.language-button{font-size:1.1rem;padding:14px 20px}}*{margin:0;padding:0;box-sizing:border-box}:root{--gold: #d4af37;--gold-light: #f4d47c;--gold-dark: #b8942f;--dark-primary: #0a0e27;--dark-secondary: #1a0b2e;--white: #ffffff;--white-90: rgba(255, 255, 255, .9);--white-80: rgba(255, 255, 255, .8);--white-60: rgba(255, 255, 255, .6);--white-35: rgba(255, 255, 255, .35);--gold-60: rgba(212, 175, 55, .6);--gold-80: rgba(212, 175, 55, .8);--gold-30: rgba(212, 175, 55, .3);--gold-20: rgba(212, 175, 55, .2);--gold-10: rgba(212, 175, 55, .1);--font-chinese: "Noto Serif SC", "PingFang SC", "Microsoft YaHei", serif;--font-english: "Cinzel", "SF Pro Text", -apple-system, serif;font-size:16px}html,body{height:100%;overflow:hidden}body{font-family:var(--font-chinese);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#e0e0e0;background:linear-gradient(135deg,var(--dark-primary) 0%,var(--dark-secondary) 100%)}#root{height:100%}button{border:none;outline:none;background:none;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.6;cursor:not-allowed}input,textarea{font-family:inherit;outline:none;border:none;background:none}::-webkit-scrollbar{width:0;height:0;background:transparent}::selection{background:var(--gold-30);color:var(--gold)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes yinyangRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes buttonPulse{0%,to{box-shadow:0 4px 16px #d4af3766,inset 0 1px 2px #ffffff4d}50%{box-shadow:0 4px 24px #d4af37cc,inset 0 1px 2px #ffffff4d}}@keyframes lineGlow{0%,to{box-shadow:0 0 10px #d4af3766}50%{box-shadow:0 0 15px #d4af3799}}@keyframes numberPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}@keyframes sparkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-2px)}20%{transform:translate(2px)}30%{transform:translate(-2px)}40%{transform:translate(2px)}50%{transform:translate(-2px)}60%{transform:translate(2px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-2px)}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hidden{display:none!important}.invisible{visibility:hidden;opacity:0}.fade-in{animation:fadeIn .3s ease-out}.fade-in-up{animation:fadeInUp .5s ease-out}.fade-in-down{animation:fadeInDown .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}.no-select{user-select:none;-webkit-user-select:none}.tap-active:active{transform:scale(.98)}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 768px){:root{font-size:14px}}@media (max-width: 375px){:root{font-size:13px}}
