:root{color-scheme:dark;font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,sans-serif;background:#14110f;color:#f3e7d0;--bg-base: #14110f;--bg-elevated: #1d1815;--bg-panel: rgba(36, 29, 25, .86);--bg-soft: #2e2520;--text-primary: #f3e7d0;--text-secondary: #cdbda4;--text-muted: #a3917b;--gold: #c8a96b;--gold-strong: #e0bc76;--wine: #6c2e2e;--moon: #7c8aa6;--line-strong: rgba(200, 169, 107, .34);--line-soft: rgba(243, 231, 208, .1);--shadow-card: 0 18px 50px rgba(0, 0, 0, .28);--shadow-glow: 0 0 34px rgba(200, 169, 107, .18);--radius-md: 18px;--radius-lg: 24px;--spacing-page: min(6vw, 48px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at top,rgba(92,70,42,.38),transparent 28%),radial-gradient(circle at 80% 20%,rgba(124,138,166,.14),transparent 24%),linear-gradient(180deg,#191411,#14110f 40%,#100d0c);color:var(--text-primary)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(243,231,208,.06) .6px,transparent .6px),radial-gradient(rgba(200,169,107,.04) .8px,transparent .8px);background-size:24px 24px,80px 80px;opacity:.3;pointer-events:none}button,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.app-shell{position:relative;min-height:100vh}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 12%,rgba(200,169,107,.08),transparent 24%),radial-gradient(circle at 50% 28%,rgba(76,54,34,.32),transparent 34%)}.topbar{position:sticky;top:0;z-index:10;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:20px var(--spacing-page);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14110fbd;border-bottom:1px solid var(--line-soft)}.topbar-controls{display:flex;gap:8px;align-items:center}.lang-toggle,.dev-mode-toggle{padding:6px 12px;font-size:.75rem;font-weight:600;border-radius:6px;border:1px solid var(--line-soft);background:var(--bg-soft);color:var(--text-secondary);transition:all .2s ease}.lang-toggle:hover,.dev-mode-toggle:hover{border-color:var(--gold);color:var(--gold)}.dev-mode-toggle.is-active{background:var(--gold);color:var(--bg-base);border-color:var(--gold)}.topbar h1,.hero-copy h2,.ritual-stage-copy h2,.featured-header h2,.question-copy h2{margin:0;font-family:"Noto Serif SC","Source Han Serif SC",serif;letter-spacing:.02em}.topbar h1{font-size:clamp(1.25rem,1rem + 1vw,1.9rem)}.eyebrow{margin:0 0 6px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}.topnav{display:flex;flex-wrap:wrap;gap:10px}.nav-link,.secondary-button,.category-chip{min-height:44px;border:1px solid var(--line-strong);background:#ffffff05;color:var(--text-primary)}.nav-link{border-radius:999px;padding:0 16px}.nav-link.is-active{background:#c8a96b29;box-shadow:inset 0 -2px 0 var(--gold)}.page-shell{width:min(1280px,100% - 32px);margin:0 auto;padding:36px 0 80px}.hero-layout,.section-stack{display:grid;gap:28px}.hero-layout{grid-template-columns:1.1fr .9fr;align-items:center}.hero-copy,.mode-card,.question-panel,.paper-panel,.history-card,.spread-slot,.ritual-stage,.featured-section{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#281f1ae6,#1c1714e0),#ffffff05;box-shadow:var(--shadow-card)}.hero-copy,.question-panel,.paper-panel,.history-card,.featured-section{padding:28px}.hero-copy p{color:var(--text-secondary);line-height:1.8}.hero-actions,.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.primary-button,.secondary-button{min-height:48px;padding:0 22px;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.primary-button{border:1px solid rgba(224,188,118,.72);color:#201711;background:linear-gradient(135deg,#e0bc76,#b98b49);box-shadow:0 10px 28px #b98b4947}.primary-button:hover,.secondary-button:hover,.mode-card:hover{transform:translateY(-2px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.secondary-button{color:var(--text-primary);background:#ffffff08}.hero-stage{position:relative;min-height:560px;display:grid;place-items:center}.hero-circle,.magic-circle{position:absolute;width:min(78vw,460px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(200,169,107,.22);background:radial-gradient(circle,rgba(200,169,107,.12) 0%,transparent 58%),conic-gradient(from 0deg,transparent 0deg,rgba(200,169,107,.16) 60deg,transparent 120deg);box-shadow:var(--shadow-glow)}.ritual-stage-scene{position:relative;width:min(92vw,620px);min-height:430px;display:grid;place-items:center;perspective:1400px;isolation:isolate}.stage-pointer{position:absolute;top:22px;left:50%;z-index:4;width:110px;height:110px;translate:-50% 0;display:grid;place-items:center;filter:drop-shadow(0 0 18px rgba(200,169,107,.34))}.stage-pointer:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;border:1px solid rgba(200,169,107,.28);background:radial-gradient(circle,rgba(200,169,107,.16),transparent 70%)}.stage-pointer span{position:relative;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:36px solid var(--gold-strong);transform:translateY(22px)}.stage-pointer span:after{content:"";position:absolute;left:50%;top:-48px;width:2px;height:48px;background:linear-gradient(180deg,#f3dfae00,#f3dfaee0);transform:translate(-50%)}.hero-card{position:absolute;width:170px;border-radius:20px;overflow:hidden;border:1px solid rgba(200,169,107,.28);transform:rotate(calc(var(--hero-index) * 8deg - 16deg)) translateY(calc(var(--hero-index) * 10px - 24px));animation:float 5.2s ease-in-out infinite;animation-delay:calc(var(--hero-index) * .14s);box-shadow:0 24px 44px #00000061}.hero-card:nth-child(2){left:10%}.hero-card:nth-child(3){left:24%}.hero-card:nth-child(4){right:24%}.hero-card:nth-child(5){right:10%}.hero-card:nth-child(6){top:16%}.hero-card:nth-child(7){bottom:12%}.mode-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mode-card{padding:24px}.mode-card p{color:var(--text-secondary);line-height:1.7}.mode-meta{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 20px}.mode-meta span,.keyword-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:999px;background:#dec9a61f;color:var(--text-primary);border:1px solid rgba(200,169,107,.18)}.ritual-stage{padding:28px;display:grid;gap:24px;justify-items:center;text-align:center}.ritual-stage-copy{max-width:760px}.ritual-stage-copy p:last-child{margin:0;color:var(--text-secondary);line-height:1.8}.ritual-canvas-wrap{position:relative;width:min(92vw,620px);height:360px;border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 54%,rgba(200,169,107,.1),transparent 35%),radial-gradient(circle at 50% 18%,rgba(124,138,166,.08),transparent 28%),linear-gradient(180deg,#0e0b0a33,#0e0b0a6b);box-shadow:inset 0 0 0 1px #c8a96b14,inset 0 -24px 60px #00000061}.ritual-canvas-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 78%,rgba(200,169,107,.14),transparent 22%),radial-gradient(circle at 50% 12%,rgba(243,223,174,.08),transparent 18%);pointer-events:none;z-index:1}.ritual-canvas-wrap:after{content:"";position:absolute;inset:auto 10% 14px;height:28px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.44),transparent 72%);filter:blur(10px);pointer-events:none;z-index:1}.ritual-canvas-wrap canvas{width:100%;height:100%;display:block}.ritual-actions{display:flex;justify-content:center}.featured-section{display:grid;gap:18px;justify-items:center}.featured-header{text-align:center}.tarot-card{display:grid;gap:14px;justify-items:center}.tarot-card-frame{width:min(300px,100%);padding:10px;border-radius:22px;border:1px solid rgba(200,169,107,.32);background:linear-gradient(180deg,#261f1beb,#171311eb);box-shadow:0 16px 42px #00000057}.tarot-card-frame.is-reversed .tarot-card-image{transform:rotate(180deg)}.tarot-card-image{width:100%;border-radius:16px;transition:transform .28s ease}.tarot-card-featured .tarot-card-frame{width:min(340px,100%);box-shadow:0 18px 44px #0000005c,0 0 32px #c8a96b29}.tarot-card-meta{text-align:center}.tarot-card-meta h3{margin:0 0 6px;font-size:1.45rem}.tarot-card-meta p{margin:0;color:var(--text-secondary)}.keyword-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.reading-grid{display:grid;gap:20px}.lead-text,.final-message{color:var(--gold-strong);font-size:1.08rem;line-height:1.9}.paper-panel h3,.mode-card h3,.spread-slot h3{margin-top:0;font-family:"Noto Serif SC","Source Han Serif SC",serif}.paper-panel p,.paper-panel li,.history-card p,.slot-placeholder p,.question-copy p{color:var(--text-secondary);line-height:1.8}.panel-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.paper-panel ul{margin:0;padding-left:18px}.paper-panel li+li{margin-top:10px}.lucky-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lucky-grid div,.history-meta{display:grid;gap:6px}.lucky-grid span{color:var(--text-muted)}.question-panel{display:grid;gap:18px}.field{display:grid;gap:10px}.field span{color:var(--text-primary);font-weight:600}.field textarea{width:100%;min-height:120px;resize:vertical;padding:16px;border-radius:18px;border:1px solid rgba(200,169,107,.22);background:#ffffff08;color:var(--text-primary)}.field textarea:focus-visible,.nav-link:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.category-chip:focus-visible{outline:3px solid rgba(200,169,107,.28);outline-offset:2px}.category-row{display:flex;flex-wrap:wrap;gap:12px}.category-chip{border-radius:999px;padding:0 14px}.category-chip.is-active{background:#c8a96b29;box-shadow:var(--shadow-glow)}.spread-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.spread-slot{padding:24px 18px;display:grid;gap:16px;align-content:start}.slot-placeholder{min-height:360px;display:grid;place-items:center;align-content:center;border-radius:20px;border:1px dashed rgba(200,169,107,.24);background:#ffffff05}.history-list{display:grid;gap:16px}.history-card{display:grid;gap:16px;grid-template-columns:220px 1fr}.history-card h3{margin:0 0 8px}.loading-panel{text-align:center}.oracle-panel{display:grid;gap:20px}.wechat-follow-card{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-top:20px;border-radius:18px;border:1px solid rgba(76,175,80,.3);background:linear-gradient(135deg,#4caf5014,#388e3c0a);box-shadow:0 4px 20px #0003}.wechat-follow-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#4caf50,#2e7d32);display:grid;place-items:center;color:#fff;box-shadow:0 4px 14px #4caf504d}.wechat-follow-icon svg{width:32px;height:32px}.wechat-follow-info{display:grid;gap:4px;flex:1}.wechat-follow-title{margin:0;color:#81c784;font-size:.85rem;font-weight:600;letter-spacing:.05em}.wechat-follow-nickname{margin:0;color:var(--gold-strong);font-size:1.1rem;font-weight:700;font-family:"Noto Serif SC","Source Han Serif SC",serif}.wechat-follow-id{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--text-secondary);font-size:.9rem}.wechat-follow-id code{padding:3px 10px;border-radius:6px;background:#ffffff0f;border:1px solid rgba(200,169,107,.18);color:var(--text-primary);font-family:inherit;font-size:.88rem;letter-spacing:.03em}.copy-button{position:relative;padding:4px 12px;border-radius:6px;border:1px solid rgba(76,175,80,.5);background:#4caf501f;color:#81c784;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.copy-button:hover{background:#4caf503d;border-color:#4caf50b3;transform:translateY(-1px)}.copy-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;padding:6px 14px;border-radius:8px;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;font-size:.85rem;white-space:nowrap;box-shadow:0 4px 12px #4caf504d;z-index:9999;opacity:0;pointer-events:none}.copy-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#2e7d32}.copy-button:has(.copy-tooltip) .copy-tooltip{opacity:1;transform:translate(-50%,-2px);animation:tooltip-fade-in .2s ease-out forwards}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%,-2px)}}@keyframes tooltip-pop-in{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}.oracle-wechat{margin-top:0}@media (max-width: 768px){.wechat-follow-card{flex-direction:column;text-align:center}.wechat-follow-id{justify-content:center;flex-wrap:wrap}}.oracle-context{padding:20px 22px}.oracle-chat-log{display:grid;gap:14px}.chat-input-shell{position:relative}.chat-input-shell textarea{padding-right:82px}.chat-send-button{position:absolute;right:14px;bottom:14px;width:48px;height:48px;border:1px solid rgba(224,188,118,.78);border-radius:999px;color:#201711;background:linear-gradient(135deg,#e0bc76,#b98b49);box-shadow:0 10px 24px #b98b493d;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.chat-send-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #b98b494d}.chat-send-button:disabled{cursor:not-allowed;opacity:.78;transform:none}.chat-send-button svg{width:22px;height:22px}.chat-send-loader{width:18px;height:18px;border-radius:50%;border:2px solid rgba(32,23,17,.28);border-top-color:#201711;animation:chat-spin .8s linear infinite}.oracle-message{padding:18px 20px;border-radius:22px;border:1px solid rgba(200,169,107,.16);background:#ffffff08}.oracle-message.is-assistant{background:linear-gradient(180deg,#362a23e0,#201916e6)}.oracle-message.is-user{background:linear-gradient(180deg,#4a372180,#2b1f158f)}.oracle-name{margin:0 0 8px;color:var(--gold);font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}@keyframes float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes chat-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.hero-layout,.mode-grid,.spread-grid,.panel-columns,.history-card,.lucky-grid{grid-template-columns:1fr}.hero-stage{order:-1;min-height:460px}}@media (max-width: 768px){.topbar{align-items:flex-start;flex-direction:column}.page-shell{width:min(100% - 24px,1280px);padding-top:24px}.hero-copy,.question-panel,.paper-panel,.history-card,.featured-section,.ritual-stage{padding:20px}.hero-stage{min-height:360px}.hero-card{width:120px}.ritual-canvas-wrap{height:320px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.wechat-lead-card{position:relative;overflow:hidden;border:1px solid rgba(76,175,80,.4);border-radius:var(--radius-lg);background:linear-gradient(135deg,#4caf501f,#2e7d3214);box-shadow:0 8px 32px #0000003d,0 0 24px #4caf501f;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.wechat-lead-card.is-visible{opacity:1;transform:translateY(0)}.wechat-lead-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:radial-gradient(circle,rgba(129,199,132,.8),transparent 70%);border-radius:50%;left:var(--x);top:var(--y);animation:particle-float 4s ease-in-out infinite;animation-delay:var(--delay)}@keyframes particle-float{0%,to{opacity:.3;transform:translateY(0) scale(1)}50%{opacity:.8;transform:translateY(-12px) scale(1.2)}}.wechat-lead-content{position:relative;z-index:1;padding:32px 28px;text-align:center}.wechat-lead-usage{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}.usage-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;background:#4caf5033;border:1px solid rgba(76,175,80,.4);color:#81c784;font-size:.88rem;font-weight:600}.usage-icon{width:16px;height:16px}.usage-exhausted{color:#ef5350;font-size:.82rem;font-weight:500;letter-spacing:.03em}.wechat-lead-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:18px;background:linear-gradient(135deg,#4caf50,#2e7d32);display:grid;place-items:center;color:#fff;box-shadow:0 6px 20px #4caf5066;animation:icon-glow 3s ease-in-out infinite}.wechat-lead-icon svg{width:38px;height:38px}@keyframes icon-glow{0%,to{box-shadow:0 6px 20px #4caf5066}50%{box-shadow:0 6px 28px #4caf5099,0 0 40px #4caf5033}}.wechat-lead-title{margin:0 0 12px;font-family:"Noto Serif SC","Source Han Serif SC",serif;font-size:1.35rem;font-weight:700;color:var(--gold-strong);letter-spacing:.04em}.wechat-lead-divider{width:60px;height:2px;margin:0 auto 16px;background:linear-gradient(90deg,transparent,rgba(76,175,80,.6),transparent);border-radius:1px}.wechat-lead-description{margin:0 0 20px;color:var(--text-secondary);font-size:.95rem;line-height:1.7}.wechat-lead-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:18px 20px;border-radius:14px;background:#4caf5014;border:1px solid rgba(76,175,80,.2)}.benefit-item{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-primary);font-size:.92rem;padding-left:1.2em}.benefit-star{position:absolute;left:0;top:50%;transform:translateY(-50%);color:#81c784;font-size:.92rem}.benefit-text{display:inline-block}.wechat-lead-contact{padding:16px 20px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(200,169,107,.2);margin-bottom:16px}.wechat-lead-nickname{margin:0 0 10px;color:var(--gold-strong);font-size:1.1rem;font-weight:700;font-family:"Noto Serif SC","Source Han Serif SC",serif}.wechat-lead-id-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.wechat-lead-id{padding:6px 14px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(200,169,107,.22);color:var(--text-primary);font-family:inherit;font-size:.92rem;letter-spacing:.02em}.wechat-lead-copy{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;border:1px solid rgba(76,175,80,.5);background:#4caf5026;color:#81c784;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.wechat-lead-copy:hover{background:#4caf5040;border-color:#4caf50b3;transform:translateY(-1px)}.copy-icon{width:16px;height:16px}.copy-tooltip-lead{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 12px;border-radius:8px;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;font-size:.82rem;white-space:nowrap;box-shadow:0 4px 12px #4caf504d;z-index:10}.wechat-lead-copy:hover .copy-tooltip-lead{display:block;animation:tooltip-pop-in .2s ease-out}.wechat-lead-highlight{margin:0;color:#81c784;font-size:.98rem;font-weight:600;letter-spacing:.03em}.wechat-lead-decoration{position:absolute;top:12px;right:16px;display:flex;gap:8px;opacity:.4}.deco-moon,.deco-star{font-size:1rem;color:#81c784}.deco-star{animation:star-twinkle 2s ease-in-out infinite}.deco-moon:nth-child(3){animation:moon-pulse 3s ease-in-out infinite}@keyframes star-twinkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes moon-pulse{0%,to{opacity:.3}50%{opacity:.6}}.primary-button.is-disabled{cursor:not-allowed;opacity:.5;background:linear-gradient(135deg,#8a7a6a,#6a5a4a);border-color:#96826466;box-shadow:none;transform:none}@media (max-width: 768px){.wechat-lead-content{padding:24px 20px}.wechat-lead-title{font-size:1.2rem}.wechat-lead-benefits{padding:14px 16px}.benefit-item{font-size:.88rem}.wechat-lead-id-row{flex-direction:column;gap:10px}}
