:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a09;--ink:#f3efe6;--muted:#a89f90;--gold:#c9a227;--gold-soft:#e6d3a3;--wood:#8b7355;--tao-cyan:#1a3a4a;--tao-cinnabar:#c23b22;--cath-stone:#cfc7b8;--cath-gold:#d4a84b;--panel:#0e0c0ae0;--stroke:#c9a22759;--radius:16px;--font-cn:"Noto Serif SC", "Songti SC", "PingFang SC", serif;--font-en:"Cormorant Garamond", "Times New Roman", serif;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--font-cn);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:100%;height:100%;position:relative}.canvas-host{position:absolute;inset:0}.faith-gate{z-index:20;padding:24px 20px calc(24px + var(--safe-b));touch-action:pan-y;background:radial-gradient(80% 55% at 50% 20%,#c9a2271f,#0000 60%),radial-gradient(60% 40% at 80% 80%,#1a3a4a40,#0000 50%),linear-gradient(#100e0c 0%,#0b0a09 100%);place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.faith-gate__inner{text-align:center;width:min(960px,100%)}.faith-gate__eyebrow{font-family:var(--font-en);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:12px;font-size:.85rem}.faith-gate__title{letter-spacing:.08em;margin:0 0 8px;font-size:clamp(2rem,5vw,3.2rem);font-weight:700}.faith-gate__sub{color:var(--muted);margin:0 0 36px;font-size:.95rem;line-height:1.7}.faith-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=760px){.faith-grid{grid-template-columns:1fr}}.faith-card{text-align:left;border-radius:var(--radius);border:1px solid var(--stroke);background:linear-gradient(160deg,#ffffff0a,#00000040);min-height:168px;padding:22px 20px 20px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}.faith-card:hover,.faith-card:focus-visible{border-color:var(--gold);outline:none;transform:translateY(-3px);box-shadow:0 12px 40px #00000059}.faith-card--buddhism{--accent:#c9a227}.faith-card--taoism{--accent:#c23b22}.faith-card--catholic{--accent:#d4a84b}.faith-card--soon{opacity:.45;cursor:not-allowed}.faith-card__mark{border:1px solid var(--accent);width:36px;height:36px;color:var(--accent);font-family:var(--font-en);border-radius:50%;place-items:center;margin-bottom:14px;font-size:1.1rem;display:grid}.faith-card__name{letter-spacing:.12em;margin:0 0 6px;font-size:1.35rem}.faith-card__en{font-family:var(--font-en);color:var(--muted);margin:0 0 10px;font-size:.95rem}.faith-card__desc{color:var(--muted);margin:0;font-size:.86rem;line-height:1.6}.faith-gate__remember{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-top:28px;font-size:.88rem;display:inline-flex}.faith-gate__foot{color:#a89f90b3;letter-spacing:.06em;margin-top:20px;font-size:.75rem}.hud{z-index:10;pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.hud__pill{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;display:inline-flex}.hud__pill strong{color:var(--gold-soft);font-weight:600}.hud__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hud__btn{background:var(--panel);border:1px solid var(--stroke);letter-spacing:.06em;border-radius:999px;padding:8px 14px;font-size:.82rem}.hud__btn:hover{border-color:var(--gold)}.hud__btn--primary{border-color:var(--gold);background:linear-gradient(#c9a22740,#c9a22714)}.hud__hint{bottom:calc(88px + var(--safe-b));background:var(--panel);border:1px solid var(--stroke);color:var(--gold-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100% - 32px);padding:8px 16px;font-size:.8rem;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}@media (width>=900px){.hud__hint{bottom:28px}}.hud__dock{left:50%;bottom:calc(16px + var(--safe-b));background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;gap:10px;padding:10px 12px;display:flex;position:absolute;transform:translate(-50%)}.hud__dock button{letter-spacing:.08em;background:#ffffff08;border:1px solid #0000;border-radius:12px;min-width:72px;padding:10px 12px;font-size:.82rem}.hud__dock button:active,.hud__dock button.is-near{border-color:var(--gold);color:var(--gold-soft)}@media (width>=900px){.hud__dock{display:none}}.mobile-controls{z-index:9;pointer-events:none;position:absolute;inset:0}.joystick{left:20px;bottom:calc(96px + var(--safe-b));pointer-events:auto;touch-action:none;background:#0e0c0a73;border:1px solid #c9a22740;border-radius:50%;width:118px;height:118px;position:absolute}.joystick__knob{will-change:transform;background:#c9a22759;border:1px solid #e6d3a380;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}.look-pad{pointer-events:auto;touch-action:none;width:55%;height:70%;position:absolute;top:0;right:0}@media (width>=900px){.mobile-controls{display:none}}.ritual-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:pan-y;background:#0504039e;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.ritual-panel{background:var(--panel);border:1px solid var(--stroke);border-radius:18px;width:min(420px,100%);padding:24px 22px 20px;box-shadow:0 24px 80px #00000073}.ritual-panel h2{letter-spacing:.14em;margin:0 0 8px;font-size:1.35rem}.ritual-panel p{color:var(--muted);white-space:pre-wrap;margin:0 0 12px;font-size:.92rem;line-height:1.7}.ritual-panel__verse{color:var(--gold-soft);letter-spacing:.06em;margin:12px 0;font-size:1.05rem;line-height:1.9}.ritual-panel__row{gap:10px;margin-top:18px;display:flex}.ritual-panel__row button{border:1px solid var(--stroke);letter-spacing:.1em;border-radius:12px;flex:1;padding:12px}.ritual-panel__row .primary{border-color:var(--gold);background:linear-gradient(#c9a2274d,#c9a2271a)}
