:root{--bg: #F7FAF7;--outside: #EEF2EF;--surface: #FFFFFF;--ink: #17231C;--muted: #6F7B73;--line: #E3E9E4;--brand: #19B36A;--brand-deep: #0D8B50;--brand-soft: #EAF8F1;--bone: #E7D6B8;--bone-deep: #C8B184;--ember: #D87442;--ember-soft: #F7D6C7;--water: #DDEFE7;--mountain: #B7D8C7;--shadow: 0 18px 46px rgba(31, 53, 40, .08);--serif: "Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", serif;--sans: "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--outside);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.app{width:min(100%,430px);min-height:100dvh;margin:0 auto;background:var(--bg);position:relative;overflow:hidden;box-shadow:0 0 50px #00000014}.bg-layer{position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none;z-index:0}.bg-layer img{position:absolute;left:0;bottom:0;width:100%;object-fit:cover}.bg-layer .mountain{opacity:.5;height:100%}.bg-layer .water{opacity:.45;height:52%}.topbar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:30;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(227,233,228,.6)}.topbar .title{font-weight:800;font-size:16px}.topbar button{border:0;background:transparent;color:var(--muted);font-size:14px;padding:8px 4px;min-width:44px;min-height:44px;cursor:pointer}.topbar .back{font-size:20px;line-height:1}.topbar .series-mark{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--brand-deep);white-space:nowrap;display:flex;align-items:center;min-width:44px;min-height:44px}.stage{position:relative;z-index:1;min-height:calc(100dvh - 57px);padding:14px 20px calc(112px + max(20px,env(safe-area-inset-bottom)))}.eyebrow{font-size:12px;color:var(--brand);font-weight:800;letter-spacing:.12em}h1{font-size:28px;line-height:1.25;margin:10px 0 8px;letter-spacing:.01em}.sub{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 4px}.sub.ai-value{color:var(--ink);font-weight:600}.bottom-bar{position:fixed;left:50%;transform:translate(-50%);width:min(100vw - 40px,390px);bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:12px;z-index:20}.bottom-bar:before{content:"";position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(100vw,430px);height:calc(84px + max(20px,env(safe-area-inset-bottom)));background:linear-gradient(180deg,rgba(247,250,247,0),var(--bg) 58%);z-index:-1;pointer-events:none}.bottom-bar.fade-in-late{animation:bar-in .3s ease .45s both}@keyframes bar-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.btn{flex:1;height:52px;border-radius:14px;border:1.5px solid var(--brand);background:var(--surface);color:var(--brand-deep);font-size:16px;font-weight:800;font-family:var(--sans);cursor:pointer;transition:transform .12s ease,opacity .2s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.ghost{border-color:var(--line);color:var(--ink)}.btn:disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.btn.primary:not(:disabled):hover{background:var(--brand-deep)}.result-stage .bottom-bar .btn.primary:not(:disabled){animation:btn-pop-in .3s ease both}@keyframes btn-pop-in{0%{opacity:.6;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.card-rail{display:flex;gap:14px;overflow-x:auto;padding:22px 4px 16px;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -4px}.card-rail::-webkit-scrollbar{display:none}.qcard{flex:0 0 82%;min-height:372px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);scroll-snap-align:center;position:relative;cursor:pointer;perspective:900px}.qcard.active{outline:2px solid rgba(25,179,106,.35)}.qcard.fade-in-card{animation:card-in .3s ease both}.qcard.card-hidden{opacity:0;pointer-events:none}.qcard.card-visible{animation:card-in .3s ease both}@keyframes card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.qcard{transition:transform .15s ease,box-shadow .2s ease,outline-color .18s ease}.qcard:active{transform:scale(.98)}.qcard:hover{transform:scale(1.02);box-shadow:0 22px 52px #1f35281f}.qcard.active{box-shadow:0 24px 56px #1f352824}.qface{position:absolute;top:0;right:0;bottom:0;left:0;padding:26px;display:flex;flex-direction:column}.qtype{font-size:12px;color:var(--brand);font-weight:800}.qtitle{font-family:var(--serif);font-weight:700;font-size:30px;margin:52px 0 14px}.qtext{font-size:17px;line-height:1.8;margin-top:20px}.qhint{margin-top:auto;font-size:12px;color:var(--muted)}.qmark{position:absolute;right:22px;bottom:20px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-size:13px;font-family:var(--serif)}.shell-pick-row{display:flex;gap:12px;justify-content:center;align-items:stretch;margin-top:26px}.shell-pick{flex:1 1 0;max-width:118px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;padding:16px 8px 12px;cursor:pointer;transition:transform .18s ease,outline-color .18s ease}.shell-pick:active{transform:scale(.97)}.shell-pick:focus-visible{outline:2px solid rgba(25,179,106,.45)}.shell-pick img{width:100%;aspect-ratio:355 / 472;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 10px 14px rgba(70,52,28,.14))}.shell-pick-name{margin-top:10px;font-size:13px;font-weight:700;color:var(--ink)}.shell-stage{position:relative;margin:0 auto}.shell-effects{position:absolute;top:-10%;right:-16%;bottom:-10%;left:-16%;z-index:2;pointer-events:none;overflow:visible}.shell-effects>span{position:absolute;display:block;pointer-events:none}.fire-halo{top:16%;right:18%;bottom:12%;left:18%;border-radius:50%;background:radial-gradient(ellipse at 50% 58%,rgba(255,188,99,.48) 0%,rgba(248,112,36,.25) 27%,rgba(232,81,35,.08) 52%,transparent 74%);filter:blur(9px);opacity:0;transform:scale(.82);animation:fire-halo-in 1.05s ease-out forwards,fire-halo-breathe .72s ease-in-out 1.05s infinite alternate}.heat-shimmer{top:7%;right:23%;bottom:6%;left:23%;border-radius:46% 54% 48% 52%;background:linear-gradient(90deg,transparent 0 22%,rgba(255,157,75,.13) 36%,rgba(255,222,147,.2) 50%,rgba(255,133,55,.12) 64%,transparent 78%);filter:blur(11px);opacity:0;mix-blend-mode:screen;animation:heat-shimmer .9s ease-in-out .12s infinite alternate}.fire-flame{width:22%;height:28%;bottom:10%;border-radius:58% 42% 62% 38%;background:linear-gradient(155deg,rgba(255,220,135,.88),rgba(255,112,26,.8) 54%,rgba(182,52,21,.12) 78%,transparent 80%);filter:blur(1px) drop-shadow(0 0 8px rgba(255,104,26,.65));opacity:0;transform-origin:50% 100%;mix-blend-mode:screen}.fire-flame-a{left:20%;animation:flame-flicker .58s ease-in-out .08s infinite alternate}.fire-flame-b{left:40%;width:27%;height:36%;animation:flame-flicker .68s ease-in-out .2s infinite alternate-reverse}.fire-flame-c{right:18%;width:18%;height:24%;animation:flame-flicker .48s ease-in-out .14s infinite alternate}.ember-spark{width:5px;height:8px;border-radius:70% 30%;background:#ffd48a;box-shadow:0 0 7px 2px #ff7d20b8;opacity:0;transform:translateY(10px) scale(.5);animation:spark-rise 1.15s ease-out infinite}.ember-spark-a{left:25%;bottom:30%;animation-delay:.12s}.ember-spark-b{left:37%;bottom:24%;animation-delay:.52s}.ember-spark-c{left:56%;bottom:28%;animation-delay:.28s}.ember-spark-d{left:68%;bottom:34%;animation-delay:.78s}.ember-spark-e{left:47%;bottom:18%;animation-delay:.95s}.shell-effects-1 .fire-flame,.shell-effects-1 .ember-spark{animation-play-state:paused}.shell-effects-1 .fire-flame{opacity:.45;animation:flame-flicker .6s ease-in-out .18s infinite alternate}.shell-effects-1 .ember-spark{animation-play-state:running}.shell-effects-2 .fire-flame,.shell-effects-3 .fire-flame,.shell-effects-4 .fire-flame{opacity:.7}.shell-effects-4 .fire-halo{opacity:.76}@keyframes fire-halo-in{0%{opacity:0;transform:scale(.72)}to{opacity:.72;transform:scale(1)}}@keyframes fire-halo-breathe{0%{transform:scale(.96);filter:blur(9px)}to{transform:scale(1.04);filter:blur(12px)}}@keyframes heat-shimmer{0%{opacity:.08;transform:translate(-3%) skew(-3deg)}to{opacity:.5;transform:translate(4%) skew(4deg)}}@keyframes flame-flicker{0%{opacity:.38;transform:rotate(-8deg) scale(.74,.84)}to{opacity:.88;transform:rotate(8deg) scale(1.06,1.18)}}@keyframes spark-rise{0%{opacity:0;transform:translateY(8px) scale(.35) rotate(0)}18%{opacity:.95}72%{opacity:.72}to{opacity:0;transform:translate(8px,-64px) scale(.7) rotate(35deg)}}.shell-bitmap{position:absolute;z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 18px 26px rgba(70,52,28,.16))}.shell-svg{overflow:visible;display:block;position:relative;z-index:3}.shell-overlay,.shell-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.shell-body{stroke:#c3b08d;stroke-width:2.2}.point{cursor:default}.point[role=button]{cursor:pointer}.point .hit{fill:transparent}.point .outer{fill:#fffffff0;stroke:#b6beb8;stroke-width:1.7}.point .inner{fill:#d4dbd6}.point.selected{pointer-events:none}.point.selected .outer{fill:var(--brand-deep);stroke:var(--brand-deep)}.point.selected .inner{fill:var(--brand-deep)}.point.disabled{opacity:.3;pointer-events:none}.point .idx{font-size:10px;fill:#fff;font-weight:700;pointer-events:none}.point.pressed .outer{stroke:var(--ember)}.press-ring{fill:none;stroke:var(--ember);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center;animation:press-ring .1s ease-out both;pointer-events:none}@keyframes press-ring{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}.joint-flash{fill:var(--ember);opacity:0;transform-box:fill-box;transform-origin:center;animation:joint-flash .5s ease-out;pointer-events:none}@keyframes joint-flash{0%{opacity:0;transform:scale(.4)}35%{opacity:.9;transform:scale(1.6)}to{opacity:0;transform:scale(2.2)}}.crack{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.crack.draw{animation:crack-draw .7s ease-out forwards,ember-ignite 2.2s ease .7s forwards}.crack.new{stroke:var(--ember);stroke-width:3;filter:drop-shadow(0 0 6px rgba(216,116,66,.55))}.crack.old{stroke:#77786f;stroke-width:2.5;filter:none}.crack.relight{animation:crack-draw 0s forwards,ember-relight .7s ease forwards}@keyframes crack-draw{to{stroke-dashoffset:0}}@keyframes ember-ignite{0%{stroke:#c8b184;stroke-width:2.5;filter:none}20%{stroke:#e8723a;stroke-width:3.2;filter:drop-shadow(0 0 8px rgba(255,107,26,.75)) drop-shadow(0 0 18px rgba(216,116,66,.45))}45%{stroke:#ff6b1a;stroke-width:3.5;filter:drop-shadow(0 0 10px rgba(255,140,66,.9)) drop-shadow(0 0 22px rgba(216,116,66,.5))}70%{stroke:#c86030;stroke-width:3;filter:drop-shadow(0 0 5px rgba(216,116,66,.4))}to{stroke:#3d3328;stroke-width:2.5;filter:none}}@keyframes ember-relight{0%{filter:drop-shadow(0 0 2px rgba(216,116,66,.2))}50%{filter:drop-shadow(0 0 14px rgba(216,116,66,.8))}to{stroke:#77786f;filter:none}}.ember-halo{fill:var(--ember);opacity:0;transform-origin:center;transform-box:fill-box}.ember-halo.on{animation:halo .32s ease-out}@keyframes halo{0%{opacity:.75;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.hud{display:flex;justify-content:space-between;align-items:center;margin:2px 0 6px}.pill{font-size:12px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted)}.pill.green{background:var(--brand-soft);border-color:transparent;color:var(--brand-deep);font-weight:800}.shell-canvas{display:grid;place-items:center;min-height:400px;position:relative}.burn-status{text-align:center;margin-top:2px;min-height:120px}.burn-status .headline{font-size:21px;font-weight:900;margin:0 0 6px}.burn-status .proposal{font-size:15px;color:var(--ink);margin:4px 0;line-height:1.6}.burn-status .helper{color:var(--muted);font-size:13px;margin:6px 0 0;line-height:1.6}.burn-status .omen-line{font-family:var(--serif);font-size:15px;line-height:1.9;color:#3b4a41}.burn-status .explain{font-size:13.5px;color:#425049;line-height:1.75;margin:8px 0 0;text-align:left}.burn-status .change{font-size:12px;color:var(--ember);margin-top:6px}.fade-in{animation:fade-in .3s ease both}.fade-in-late{animation:fade-in .3s ease .45s both}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal-scene{position:relative;min-height:calc(100dvh - 57px);display:flex;flex-direction:column}.reveal-dim{position:absolute;top:-14px;right:-20px;bottom:-14px;left:-20px;background:#17231c21;z-index:0;animation:fade-only .3s ease}.reveal-home{position:absolute;top:2px;left:4px;z-index:2;border:0;background:transparent;color:var(--muted);font-size:13px;padding:8px 10px;min-height:44px;cursor:pointer}.reveal-canvas{position:relative;z-index:1;flex:1;min-height:360px;display:grid;place-items:center}.reveal-text{position:relative;z-index:1;text-align:center;padding-bottom:100px;animation:fade-in .3s ease .2s both}.reveal-title{font-family:var(--serif);font-size:34px;font-weight:800;letter-spacing:.06em}.reveal-sub{color:var(--muted);margin-top:10px;font-size:14px}.reveal-cta{animation:fade-only .3s ease 1s both}@keyframes fade-only{0%{opacity:0}to{opacity:1}}.perform-skip{position:absolute;top:2px;right:4px;z-index:2;border:0;background:transparent;color:var(--muted);font-size:13px;padding:8px 10px;min-height:44px;cursor:pointer;animation:fade-only .3s ease both}.perform-echo{position:relative;z-index:1;text-align:center;padding:6px 24px 0;animation:fade-only .4s ease both}.perform-echo.off{opacity:0;transition:opacity .4s ease}.perform-echo-label{font-size:12px;color:var(--muted)}.perform-echo-text{font-family:var(--serif);font-size:17px;font-weight:700;margin-top:4px;line-height:1.5}.perform-omen-sub{animation:fade-only .35s ease .15s both}.perform-seal{animation:fade-only .3s ease .5s both;color:var(--ember);font-size:13px;margin-top:12px;letter-spacing:.2em}.result-stage{padding-top:10px;padding-bottom:calc(210px + max(20px,env(safe-area-inset-bottom)))}.result-topline{display:flex;align-items:center;margin-bottom:2px}.result-topline .link-btn{padding-left:0;min-height:36px}.result-hero-text .result-state{font-family:var(--serif);font-size:22px;font-weight:800;color:var(--ink)}.result-hero-text .omen{font-size:14px;line-height:1.8;margin:4px 0 0}.result-pick-label{margin-top:18px}.alt-list{margin-top:6px}.alt-city{display:block;width:100%;text-align:left;border:0;border-top:1px dashed var(--line);background:transparent;padding:12px 2px;cursor:pointer}.alt-city b{font-family:var(--serif);font-size:15px;color:var(--ink);margin-right:8px}.alt-city span{font-size:13px;color:var(--muted);line-height:1.6}.result-secondary{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:10px;padding-bottom:96px}.result-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.asked-inline{font-size:12px;color:var(--muted)}.result-shell{display:grid;place-items:center;margin:4px 0 2px}.result-sub{font-size:13px;color:var(--muted);margin-top:4px}.question-chip{display:inline-block;font-size:12px;background:var(--brand-soft);color:var(--brand-deep);padding:6px 12px;border-radius:999px;font-weight:700}.result-title{font-size:26px;font-weight:900;margin:4px 0 2px}.result-main{font-size:16px;font-weight:800;margin:4px 0 8px}.omen{font-family:var(--serif);font-size:16px;line-height:1.9;margin:6px 0 10px;color:#2b3830}.omen-summary{font-family:var(--serif);font-size:13.5px;color:var(--muted);margin:-4px 0 10px}.asked{font-size:13px;color:var(--muted);margin:10px 0 4px}.explain{color:#425049;line-height:1.8;font-size:15px;margin:4px 0 0}.tag-section{margin-top:16px}.tag-label{font-size:13px;font-weight:800;color:var(--brand-deep);margin-bottom:8px}.tag-label.avoid{color:#b4673f}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12px;padding:7px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);font-weight:700}.chip.avoid{background:#fbede5;color:#b4673f}.link-row{display:flex;gap:18px;justify-content:center;margin-top:18px}.link-btn{border:0;background:transparent;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px;min-height:44px}.dest-rail{display:flex;gap:14px;overflow-x:auto;padding:18px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -2px}.dest-rail::-webkit-scrollbar{display:none}.dest{flex:0 0 92%;background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;scroll-snap-align:center;box-shadow:var(--shadow);cursor:pointer}.dest-img{height:218px;position:relative;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(160deg,var(--water),var(--mountain));background-size:cover;background-position:center}.dest-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,rgba(20,35,27,.38))}.dest-name{position:relative;z-index:1;color:#fff;font-size:32px;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.25)}.dest-body{padding:18px 20px 20px}.dest-type{font-size:12px;color:var(--brand-deep);font-weight:800;background:var(--brand-soft);display:inline-block;padding:5px 10px;border-radius:999px}.dest-why-label{font-size:13px;font-weight:800;color:var(--brand-deep);margin:14px 0 6px}.dest-reason{line-height:1.75;margin:0;font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.guide-tip{font-size:12.5px;color:var(--muted);margin:8px 0 0}.guide-cta{display:inline-block;margin-top:10px;font-size:13.5px;font-weight:800;color:var(--brand-deep)}.dest-modules{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}.dest-module{margin-bottom:12px}.dest-module b{font-size:13.5px;display:block;margin-bottom:3px}.dest-module p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.dest-source{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.dest-dots{display:flex;gap:6px;justify-content:center;margin:4px 0 10px}.dest-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.dest-dots i.on{background:var(--brand)}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.archive-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px}.archive-card .mini{height:118px;display:grid;place-items:center;background:#fafbf8;border-radius:14px;margin-bottom:10px}.archive-card b{font-size:14px;display:block}.archive-card p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.5}.empty{margin-top:60px;text-align:center;color:var(--muted);font-size:14px;line-height:1.8}.quota-line{margin:10px 0 0;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.04em}.quota-note{margin:14px 0 0;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.06em}.btn.sub{font-size:14px;white-space:nowrap;padding-inline:6px}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#17231c52;z-index:60;display:grid;place-items:end center;animation:fade-in .2s ease}.sheet{width:min(100%,430px);max-height:92dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px 20px 0 0;padding:22px 22px max(26px,env(safe-area-inset-bottom));animation:sheet-up .25s ease}@keyframes sheet-up{0%{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}.sheet h3{margin:0 0 12px;font-size:17px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-close{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;width:44px;height:44px;cursor:pointer}.sheet p{font-size:13.5px;color:#425049;line-height:1.8;margin:0 0 10px}.sheet .row{display:flex;gap:12px;margin-top:16px}.share-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}.share-card .omen{font-size:15px;margin:8px 0}.share-card .dests{font-size:12.5px;color:var(--muted);margin-top:8px}.share-card .brand-line{font-size:11px;color:var(--brand-deep);margin-top:12px;font-weight:700}.qr{display:grid;place-items:center;margin-top:14px}.toast{position:fixed;left:50%;bottom:120px;transform:translate(-50%);background:#17231cdb;color:#fff;font-size:13px;padding:10px 18px;border-radius:999px;z-index:80;animation:fade-in .2s ease;white-space:nowrap;pointer-events:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.crack{stroke-dashoffset:0}}.bg-layer .water{animation:bg-breathe 8s ease-in-out infinite alternate}@keyframes bg-breathe{0%{opacity:.4;transform:translateY(0)}to{opacity:.52;transform:translateY(-6px)}}.reveal-scene.exiting{animation:fade-only-out .28s ease forwards}@keyframes fade-only-out{0%{opacity:1}to{opacity:0}}.stage{animation:page-in .42s cubic-bezier(.22,1,.36,1) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.topbar .sound-toggle{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;min-width:0;min-height:36px;background:#fff9}.topbar .sound-toggle.on{color:var(--brand-deep);border-color:var(--brand);background:var(--brand-soft)}.topbar-right{display:flex;align-items:center;gap:2px}.result-card{position:relative}.result-hero{display:flex;align-items:center;gap:14px;margin:8px 0 4px}.result-hero .result-shell{margin:0;flex:none}.result-hero-text{min-width:0}.result-card-v4{text-align:center;padding:22px 20px 14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin-bottom:4px}.result-shell-center{display:grid;place-items:center;margin:0 0 10px}.result-hero-text-center{min-width:0}.result-state-lg{font-family:var(--serif);font-size:28px;font-weight:800;color:var(--ink);letter-spacing:.08em}.omen-center{font-family:var(--serif);font-size:17px;line-height:1.9;margin:10px 0 0;color:#2b3830}.result-title-sm{font-size:13px;color:var(--muted);font-weight:700}.explain.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.explain-toggle{padding:2px 0;min-height:32px}.dest-guide-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.dest-source-label{font-size:12px;color:var(--muted);font-weight:700}.dest-guide-link{font-size:13px;color:var(--brand-deep);font-weight:800;text-decoration:none}.dest-guide-disabled{font-size:12px;color:var(--muted)}.dest-card-ops{display:flex;gap:16px;align-items:center;margin-top:8px}.dest-interest-state{font-size:12px;color:var(--brand-deep);font-weight:700}.dest-img{height:210px}.review-mask{position:fixed;top:0;bottom:0;left:50%;width:min(100vw,430px);transform:translate(-50%);background:var(--bg);overflow-y:auto;z-index:70;animation:fade-only .25s ease both}.review-inner{padding:14px 20px 40px}.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.archive-card{cursor:pointer}.archive-q{font-size:12px;color:#425049;line-height:1.5;margin:4px 0 0}@media (prefers-reduced-motion: reduce){.bg-layer .water,.stage{animation:none}.joint-flash{animation:none;opacity:.6}.press-ring{animation:none;opacity:.4}.crack.draw{animation:none}}.btn.soft{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.page-dots{display:flex;gap:6px;justify-content:center;margin-top:4px}.page-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.page-dots i.on{background:var(--brand)}.qtext-front{font-size:15px;line-height:1.7;margin-top:14px;color:#3b4a41}.dest-page{text-align:center;font-size:12px;color:var(--muted);margin:2px 0 6px}.dest-hero{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.dest-img{padding:0}.dest-img .dest-name{position:absolute;left:20px;bottom:18px;z-index:1}.dest-heart{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#14231b52;color:#fff;cursor:pointer;padding:0}.dest-heart.on{color:#e4655a}.city-hero{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.city-hero-img{display:block;width:100%;height:200px;object-fit:cover}.city-hero-name{position:absolute;left:20px;bottom:14px;color:#fff;font-size:30px;font-weight:900;text-shadow:0 2px 10px rgba(20,35,27,.35)}.share-dest-col{display:flex;flex-direction:column;gap:10px}.share-dest-row{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px}.share-dest-row b{font-size:15px}.share-dest-row p{font-size:12.5px;color:var(--muted);margin:3px 0 0;line-height:1.5}.share-dest-hero{width:84px;height:56px;border-radius:10px;flex:none;object-fit:cover}.archive-interest{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.archive-interest .chip{font-size:11px;padding:4px 9px}.archive-interest .unlink{border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;cursor:pointer;padding:2px}.topbar .share-btn{min-width:44px;min-height:44px;font-size:16px}.page-title{font-size:24px;margin:4px 0 6px}.result-state{font-size:13px;color:var(--muted);font-weight:700}.topbar .archive-entry{font-size:13px;color:var(--ink);white-space:nowrap;border:0;background:transparent;cursor:pointer;padding:4px 2px;min-height:32px}.resume-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 0;font-size:13px;color:var(--muted)}.resume-note .link-btn{font-size:13px}.card-rail.nudge{animation:rail-nudge .6s ease .5s both}@keyframes rail-nudge{0%{transform:translate(0)}30%{transform:translate(-26px)}to{transform:translate(0)}}.swipe-hint{text-align:center;font-size:12px;color:var(--muted);margin:2px 0 0;transition:opacity .4s ease}.swipe-hint.off{opacity:0}.heart-tip{position:absolute;top:60px;right:12px;z-index:3;background:#17231cdb;color:#fff;font-size:11.5px;line-height:1;padding:6px 10px;border-radius:999px;animation:heart-tip-in .18s ease both;pointer-events:none}@keyframes heart-tip-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.archive-q{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.archive-meta{font-size:11.5px;color:var(--muted);margin:4px 0 0}.archive-dests{font-size:11.5px;color:#425049;margin:3px 0 0}.archive-identity{font-size:11.5px;color:var(--brand-deep);margin:3px 0 0}.archive-generating{font-size:11.5px;color:var(--brand);margin:3px 0 0}.archive-interest-label{font-size:11px;color:var(--muted)}.ai-block{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 18px 14px}.ai-sec+.ai-sec{margin-top:14px}.ai-label{font-size:11.5px;color:var(--muted);margin-bottom:4px}.ai-loading{text-align:center}.ai-loading-title{font-size:14px;font-weight:600}.ai-loading-sub{font-size:12px;color:var(--muted);margin:6px 0 0}.ai-failed{text-align:center}.ai-fail-text{font-size:13px;color:var(--muted);margin:4px 0 0}.ai-title{font-family:var(--serif);font-size:16px;font-weight:800;color:var(--ink);margin:0 0 10px}.ai-identity{font-size:16px;font-weight:700;color:var(--brand-deep);margin:0 0 8px;line-height:1.5}.ai-reading{font-size:14px;line-height:1.9;margin:0;color:var(--ink)}.ai-reason-label{font-size:13px;font-weight:800;color:var(--brand-deep);margin:14px 0 6px}.ai-reason{font-size:13px;line-height:1.8;margin:0;color:var(--muted)}.ai-inline-dest{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}.ai-inline-dest-img{display:block;width:100%;height:150px;object-fit:cover}.ai-inline-dest-body{padding:12px 14px 14px}.ai-inline-dest-name{font-family:var(--serif);font-size:17px;font-weight:800;color:var(--ink)}.ai-inline-dest-tip{font-size:12.5px;color:var(--muted);margin-top:4px}.ai-inline-dest-cta{display:inline-block;margin-top:8px;font-size:13px;font-weight:800;color:var(--brand-deep)}.ai-block-success{animation:ai-reveal .55s cubic-bezier(.22,1,.36,1) .1s both}@keyframes ai-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.result-card-v4{animation:fade-in .35s ease .05s both}.asked{animation:fade-in .3s ease .18s both}.ai-block{animation:fade-in .35s ease .28s both}.result-pick-label{animation:fade-in .3s ease .4s both}.ai-dock{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(100vw,430px);z-index:50;background:var(--surface);border-top:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #14231b1a;cursor:pointer;padding:0 20px calc(16px + max(0px,env(safe-area-inset-bottom))) 20px;transition:box-shadow .2s ease;-webkit-user-select:none;user-select:none}.ai-dock:hover{box-shadow:0 -6px 28px #14231b24}.ai-dock-handle{display:flex;justify-content:center;padding:10px 0 6px}.ai-dock-handle span{display:block;width:40px;height:4px;border-radius:999px;background:var(--line)}.ai-dock-content{min-height:44px}.ai-dock-label{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink);margin:0 0 2px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-dock-sub{font-size:13px;color:var(--brand-deep);font-weight:700;margin:0 0 4px}.ai-dock-cta{font-size:12px;color:var(--muted);margin:4px 0 0;text-align:center}.ai-dock-retry{font-size:13px;color:var(--brand);text-decoration:underline}.ai-dock.open{opacity:0;pointer-events:none;transition:opacity .2s ease}.result-stage{padding-bottom:calc(210px + max(20px,env(safe-area-inset-bottom)))}.result-bottom{gap:10px}.result-stage .result-bottom{bottom:calc(112px + max(20px,env(safe-area-inset-bottom)))}.result-bottom.sheet-open{opacity:0;pointer-events:none;transition:opacity .2s ease}.ai-sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;pointer-events:none;visibility:hidden;transition:visibility 0s linear .34s}.ai-sheet-root.open{pointer-events:auto;visibility:visible;transition-delay:0s}.ai-sheet-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#14231b6b;opacity:0;transition:opacity .28s ease}.ai-sheet-root.open .ai-sheet-mask{opacity:1}.ai-sheet{position:absolute;left:0;right:0;bottom:0;width:min(100%,430px);margin:0 auto;max-height:85vh;display:flex;flex-direction:column;background:var(--bg);border-radius:22px 22px 0 0;box-shadow:0 -8px 32px #14231b2e;transform:translateY(102%);transition:transform .32s cubic-bezier(.32,.72,.24,1)}.ai-sheet-root.open .ai-sheet{transform:translateY(0)}.ai-sheet-handle{display:block;width:100%;padding:10px 0 8px;background:none;border:0;cursor:pointer;flex:none}.ai-sheet-handle span{display:block;width:44px;height:5px;margin:0 auto;border-radius:999px;background:var(--line)}.ai-sheet-scroll{overflow-y:auto;padding:4px 20px calc(24px + env(safe-area-inset-bottom))}.ai-sheet-identity{font-size:15px;font-weight:700;color:var(--brand-deep);margin:0 0 10px}.ai-full-reading{font-size:14px;line-height:1.9;margin:0;color:var(--ink)}.ai-sheet-reason-label{font-size:13px;font-weight:800;color:var(--brand-deep);margin:16px 0 6px}.ai-sheet-reason{font-size:13.5px;line-height:1.8;margin:0;color:var(--ink)}.ai-sheet-dest{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}.ai-sheet-dest-img{display:block;width:100%;height:160px;object-fit:cover}.ai-sheet-dest-body{padding:12px 14px 14px}.ai-sheet-dest-name{font-family:var(--serif);font-size:18px;font-weight:800;color:var(--ink)}.ai-sheet-dest-tip{font-size:12.5px;color:var(--muted);margin-top:4px}.ai-sheet-cta{display:inline-block;margin-top:8px;font-size:13px;font-weight:800;color:var(--brand-deep)}.ai-sheet-close{display:block;margin:12px auto 0}.ai-sheet-alts{margin-top:20px}.ai-sheet-alts-label{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:10px;letter-spacing:.06em}.ai-sheet-alts-row{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ai-alt-card{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.ai-alt-card:active{transform:scale(.97)}.ai-alt-card-img{display:block;width:100%;height:80px;object-fit:cover}.ai-alt-card-placeholder{background:var(--water)}.ai-alt-card-name{font-family:var(--serif);font-size:14px;font-weight:800;color:var(--ink);padding:8px 10px 2px}.ai-alt-card-type{font-size:11px;color:var(--muted);padding:0 10px 8px}@media (prefers-reduced-motion: reduce){.ai-sheet-root,.ai-sheet-mask,.ai-sheet,.ai-dock{transition:none}}.perform-status{position:relative;z-index:1;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.1em;margin-top:6px;padding:0 24px}
