:root{--velvet:#170b13;--wine:#2c1121;--foil:#e2b49a;--foil-2:#f6dcc8;--foil-dim:#e2b49a61;--ivory:#fbf1ea;--sub:#c9b3b8;--rose:#ff7ea6;--lead:#ff7ea6;--ink:var(--velvet);--gold:var(--foil);--r-n:#f2f2f5;--r-r:#4da3ff;--r-sr:#8a4dff;--r-ssr:#ffc21a;--prism:linear-gradient(120deg, #ff5c8a, #ffc21a, #4de0a0, #4da3ff, #8a4dff, #ff5c8a);--glass:linear-gradient(180deg, #2c1121b8, #170b13db);--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "Noto Serif CJK SC", serif;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);font-family:var(--sans);color:var(--ivory);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--velvet);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;height:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input{font:inherit}.ico{display:block}#backdrop{background:var(--velvet) center/cover;filter:blur(28px)brightness(.4)saturate(1.1);position:fixed;inset:-40px}#app{background:var(--velvet);width:min(100vw,46.1538dvh,480px);height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 60px #0008}@media (width<=520px){#app{width:100vw}}.screen{flex-direction:column;animation:.4s both fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.btn{min-height:50px;font-family:var(--serif);letter-spacing:2px;color:#3a1424;background:linear-gradient(135deg,#f7decb 0%,#e2b49a 45%,#c98e78 100%);border-radius:999px;padding:0 24px;font-size:16px;font-weight:700;transition:transform .14s cubic-bezier(.3,1.8,.5,1),box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 24px #c98e7847,inset 0 1px #fff9}.btn.ghost{color:var(--foil-2);box-shadow:inset 0 0 0 1px var(--foil-dim);-webkit-backdrop-filter:blur(10px);background:#2c112199}.btn.small{letter-spacing:1px;min-height:40px;padding:0 18px;font-size:14px}.press{transform:scale(.95)}.ripple{pointer-events:none;background:#fff0e659;border-radius:50%;animation:.55s ease-out forwards ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(2.6)}}.tap-ripple{z-index:80;pointer-events:none;border:1px solid #f6dcc8cc;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:.6s cubic-bezier(.2,.7,.3,1) forwards tapR;position:absolute;box-shadow:0 0 10px #e2b49a80}@keyframes tapR{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(4)}}.icon-btn{width:42px;height:42px;color:var(--foil-2);box-shadow:inset 0 0 0 1px var(--foil-dim);-webkit-backdrop-filter:blur(8px);background:#170b1373;border-radius:50%;place-items:center;display:grid}.panel{background:var(--glass);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px var(--foil-dim);border-radius:22px;padding:18px}.scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.toast{left:50%;top:calc(var(--safe-t) + 72px);z-index:90;box-shadow:inset 0 0 0 1px var(--foil-dim);font-family:var(--serif);color:var(--foil-2);white-space:nowrap;background:#170b13d1;border-radius:999px;padding:9px 20px;font-size:14px;animation:.3s both rise;position:absolute;transform:translate(-50%)}.tap-hint{font-family:var(--serif);color:var(--foil-2);opacity:.85;letter-spacing:6px;font-size:14px;animation:2s ease-in-out infinite breathe2}@keyframes breathe2{50%{opacity:.35}}.particle{pointer-events:none;z-index:45;position:absolute}.crest{background:var(--ui-crest) center/contain no-repeat;width:92px;height:92px;display:block}.scene{background:var(--velvet);transform-origin:50% 30%;transition:transform .9s cubic-bezier(.2,.8,.3,1);position:absolute;inset:0;overflow:hidden}.scene.close{transform:scale(1.03)}.scene .bgfill{filter:blur(24px)brightness(.5);background:50%/cover;position:absolute;inset:-30px}.scene .art,.scene .lq,.scene .ph{aspect-ratio:2/3;width:100%;position:absolute;top:0;left:0;right:0}.scene .art{transform-origin:50% 25%;background:50%/cover no-repeat;transition:opacity .5s,filter .45s}.scene .lq{filter:blur(14px);background:50%/cover;transform:scale(1.04)}.scene .ph{color:#fff8;place-items:center;font-size:13px;display:grid}.scene .art-fade{background:linear-gradient(transparent, #170b13bf 45%, var(--velvet) 80%);pointer-events:none;height:46%;position:absolute;bottom:0;left:0;right:0}.scene.dim .art,.scene.dim .lq{filter:brightness(.62)saturate(.85)}.vignette{pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0;box-shadow:inset 0 0 140px #000c}.scene.dim .vignette{opacity:1}.love-ring{pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 100px 18px #ff7ea68c}.love-ring.beat{animation:1.2s ease-out 2 loveBeat}@keyframes loveBeat{0%{opacity:0}12%{opacity:1}30%{opacity:.3}44%{opacity:.85}to{opacity:0}}.topbar{top:calc(var(--safe-t) + 10px);z-index:5;align-items:center;gap:10px;display:flex;position:absolute;left:12px;right:12px}.topbar .spacer{flex:1}.chap{font-family:var(--serif);text-shadow:0 1px 6px #000c;align-items:baseline;gap:8px;min-width:0;display:flex}.chap em{color:var(--foil);box-shadow:inset 0 0 0 1px var(--foil-dim);border-radius:4px;padding:1px 7px;font-size:12px;font-style:normal}.chap b{letter-spacing:1px;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.meter{box-shadow:inset 0 0 0 1px var(--foil-dim);-webkit-backdrop-filter:blur(8px);background:#170b138c;border-radius:999px;flex:none;align-items:center;gap:7px;padding:3px 12px 3px 3px;display:flex}.meter .ava{width:34px;height:34px;box-shadow:0 0 0 1.5px var(--lead);background-size:cover;border-radius:50%;flex:none}.meter .mheart{width:22px;height:20px}.meter .mheart svg{width:100%;height:100%;display:block;overflow:visible}.meter .hbg{fill:#ffffff14;stroke:var(--foil);stroke-width:1.4px}.meter .hfill{fill:var(--rose);transition:y .8s cubic-bezier(.3,1.4,.5,1)}.meter .mnum{font-family:var(--serif);color:var(--foil-2);min-width:38px;font-size:13px;font-weight:700}.meter.full{box-shadow:inset 0 0 0 1px var(--rose), 0 0 16px #ff7ea680}.fly-heart{z-index:31;color:var(--rose);pointer-events:none;text-shadow:0 0 8px var(--rose);font-size:16px;position:absolute}.loc-title{text-align:center;z-index:6;pointer-events:none;animation:2s both locIn;position:absolute;top:55%;left:0;right:0}.loc-title b{font-family:var(--serif);letter-spacing:6px;color:var(--foil-2);text-shadow:0 2px 12px #000;background:var(--ui-divider) center bottom/220px auto no-repeat;padding:14px 30px 26px;font-size:20px;font-weight:500;display:inline-block}@keyframes locIn{0%{opacity:0;letter-spacing:12px}25%,75%{opacity:1}to{opacity:0}}.dialog{left:12px;right:12px;bottom:calc(var(--safe-b) + 64px);background:var(--glass);-webkit-backdrop-filter:blur(14px);z-index:4;--who:transparent;border-radius:20px;padding:26px 20px 18px;animation:.35s both rise;position:absolute;box-shadow:inset 0 0 0 1px #e2b49a38,0 12px 40px #00000073}.dialog .dlg-orn{background:var(--ui-divider) center/contain no-repeat;pointer-events:none;width:200px;height:18px;margin-left:-100px;position:absolute;top:-9px;left:50%}.dialog .name{font-family:var(--serif);letter-spacing:2px;color:var(--ivory);text-shadow:0 0 12px var(--who), 0 2px 6px #000;border-left:3px solid var(--who);padding:2px 4px 0 12px;font-size:16px;font-weight:700;line-height:1.3;position:absolute;top:-15px;left:18px}.dialog .say{font-family:var(--serif);letter-spacing:.5px;text-shadow:0 1px 4px #0008;min-height:32px;font-size:17px;font-weight:500;line-height:1.85}.dialog .say.narr{color:#e7d6db;font-weight:500}.dialog .say.me{color:#fbe0e8}.dialog .say .ch{animation:.28s ease-out both chIn;display:inline-block}@keyframes chIn{0%{opacity:0;filter:blur(2px);transform:translateY(4px)}}.dialog .more{border-right:1.5px solid var(--foil);border-bottom:1.5px solid var(--foil);width:7px;height:7px;animation:1.2s ease-in-out infinite bob;position:absolute;bottom:10px;right:18px;transform:rotate(45deg)}@keyframes bob{50%{opacity:.5;transform:translateY(3px)rotate(45deg)}}.tap-layer{z-index:3;position:absolute;inset:0}.auto-btn{right:14px;bottom:calc(var(--safe-b) + 16px);z-index:5;min-height:36px;font-family:var(--serif);letter-spacing:2px;color:var(--sub);background:#170b1380;border-radius:999px;padding:0 16px;font-size:13px;position:absolute;box-shadow:inset 0 0 0 1px #e2b49a40}.auto-btn.on{color:var(--foil-2);box-shadow:inset 0 0 0 1px var(--foil), 0 0 14px #e2b49a66}.choices{left:16px;right:16px;bottom:calc(var(--safe-b) + 28px);z-index:6;flex-direction:column;gap:14px;display:flex;position:absolute}.choices .prompt{font-family:var(--serif);letter-spacing:3px;color:var(--foil-2);text-shadow:0 2px 10px #000;background:var(--ui-divider) center bottom/180px auto no-repeat;align-self:center;padding:0 20px 20px;font-size:15px;animation:.35s both rise}.opt{text-align:left;min-height:66px;font-family:var(--serif);letter-spacing:.5px;color:var(--ivory);background:linear-gradient(100deg, #3a1628e0, #1c0c16d1), var(--ui-silk) center/240px;-webkit-backdrop-filter:blur(10px);border-radius:16px;align-items:center;gap:14px;padding:12px 20px 12px 14px;font-size:16px;font-weight:500;line-height:1.45;transition:transform .16s cubic-bezier(.3,1.8,.5,1),opacity .3s,box-shadow .2s;animation:.5s cubic-bezier(.2,1.2,.4,1) both optIn;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e2b49a80,inset 0 1px #ffe6d71f,0 10px 30px #00000073}.opt .orn{background:var(--ui-corner) top left/contain no-repeat;opacity:.9;pointer-events:none;width:34px;height:34px;position:absolute;top:3px;left:3px}.opt .orn:after{content:"";position:absolute;inset:auto 0 0 auto}.opt:after{content:"";background:var(--ui-corner) top left/contain no-repeat;opacity:.9;pointer-events:none;width:34px;height:34px;position:absolute;bottom:3px;right:3px;transform:rotate(180deg)}.opt .ic{width:40px;height:40px;color:var(--foil-2);box-shadow:inset 0 0 0 1px var(--foil-dim);background:radial-gradient(circle,#e2b49a29,#0000 70%);border-radius:50%;flex:none;place-items:center;display:grid}.opt .lb{flex:1}.opt.press{box-shadow:inset 0 0 0 1px var(--foil), 0 0 22px #e2b49a59;transform:scale(.96)}@keyframes optIn{0%{opacity:0;transform:translateY(24px)}}.opt.chosen{box-shadow:inset 0 0 0 1.5px var(--foil-2), 0 0 30px #ff7ea673;transform:scale(1.03)}.opt.chosen .ic{color:var(--rose);box-shadow:inset 0 0 0 1px var(--rose)}.opt.off{opacity:.38;filter:grayscale();pointer-events:none;box-shadow:inset 0 0 0 1px #e2b49a33}.opt.off .orn,.opt.off:after{display:none}.opt.gone{opacity:0;transform:scale(.96)translateY(6px)}.aff-pop{z-index:30;font-family:var(--serif);color:var(--rose);text-shadow:0 2px 10px #000,0 0 14px #ff7ea699;pointer-events:none;font-size:22px;font-weight:900;animation:1.5s ease-out forwards affUp;position:absolute;top:30%;left:58%}@keyframes affUp{0%{opacity:0;transform:translateY(10px)scale(.8)}20%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:translateY(-56px)}}.sheet-ov{z-index:60;background:#0a040899;align-items:flex-end;animation:.2s both fadeIn;display:flex;position:absolute;inset:0}.sheet{width:100%;max-height:72%;padding:26px 18px calc(22px + var(--safe-b));border-radius:24px 24px 0 0;flex-direction:column;gap:10px;animation:.28s both rise;display:flex;position:relative}.sheet:before{content:"";background:var(--ui-divider) center/contain no-repeat;width:180px;height:16px;margin-left:-90px;position:absolute;top:-8px;left:50%}.log{font-family:var(--serif);color:#e7d6db;font-size:15px;line-height:1.9}.menu{flex-direction:column;gap:10px;display:flex}.reveal{z-index:70;-webkit-backdrop-filter:blur(6px);background:#170b13d1;place-items:center;animation:.25s both fadeIn;display:grid;position:absolute;inset:0}.reveal.dark{background:#0a0408f0}.reveal .stage{aspect-ratio:2/3;perspective:1000px;width:66%;animation:.55s cubic-bezier(.2,.9,.3,1.15) both flyIn;position:relative}.card3d{transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,1.3,.5,1);position:absolute;inset:0}@keyframes flyIn{0%{opacity:0;transform:translateY(50%)scale(.4)rotate(-6deg)}}.card3d .face,.card3d .back{backface-visibility:hidden;border-radius:14px;position:absolute;inset:0;overflow:hidden}.card3d .back{background:var(--ui-frame) center/100% 100% no-repeat, linear-gradient(#2c11218c, #170b13b3), var(--ui-silk) center/cover;box-shadow:0 0 0 1px var(--foil-dim);place-items:center;display:grid}.card3d .back .crest{aspect-ratio:1;width:46%;height:auto}.card3d .face,.card3d.flipped{transform:rotateY(180deg)}.reveal .meta{left:0;right:0;bottom:calc(var(--safe-b) + 40px);text-align:center;padding:0 28px;animation:.4s .2s both rise;position:absolute}.reveal .meta h3{font-family:var(--serif);letter-spacing:3px;color:var(--foil-2);font-size:22px;font-weight:700}.reveal .meta p{color:var(--sub);font-family:var(--serif);margin-top:8px;font-size:14px;line-height:1.7}.reveal .meta .new{color:#3a1424;letter-spacing:2px;background:linear-gradient(135deg,#f7decb,#e2b49a);border-radius:999px;margin-bottom:10px;padding:2px 12px;font-size:11px;font-weight:800;display:inline-block}.reveal .meta .dup{color:var(--sub);margin-bottom:8px;font-size:12px;display:inline-block}.reveal .hint{bottom:calc(var(--safe-b) + 12px);text-align:center;width:100%;font-family:var(--serif);letter-spacing:4px;color:#f6dcc873;font-size:12px;position:absolute}.rays{background:repeating-conic-gradient(from 0deg, #f6d2a038 0 4deg, transparent 4deg 24deg);pointer-events:none;width:200vmax;height:200vmax;animation:14s linear infinite spin,.8s both fadeIn;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#000 0,#0000 42%);mask:radial-gradient(circle,#000 0,#0000 42%)}.rays.ur{background:repeating-conic-gradient(from 0deg, #ff7ea638 0 4deg, transparent 4deg 14deg, #a0beff33 14deg 18deg, transparent 18deg 28deg)}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.flash{z-index:50;pointer-events:none;background:#fff4ee;animation:.8s ease-out forwards flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.9}to{opacity:0}}.card{background:#3a2a3a 50%/cover;border-radius:14px;width:100%;height:100%;position:relative;overflow:hidden}.card .img{background:50%/cover;position:absolute;inset:0}.card .frame{pointer-events:none;border-radius:14px;position:absolute;inset:0}.card .badge{min-width:30px;height:22px;color:var(--velvet);place-items:center;padding:0 6px;font-size:11px;font-weight:900;display:grid;position:absolute;top:8px;left:8px}.card .cap{font-family:var(--serif);letter-spacing:1px;text-align:center;background:linear-gradient(#0000,#170b13eb);padding:28px 10px 10px;font-size:13px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.card.N .frame{border:2px solid var(--r-n)}.card.N .badge{background:var(--r-n);border-radius:50%}.card.R .frame{border:3px solid var(--r-r);box-shadow:inset 0 0 14px #4da3ff55}.card.R .badge{background:var(--r-r);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);min-width:34px;height:26px}.card.SR .frame{border:5px double var(--r-sr);box-shadow:inset 0 0 22px #8a4dff66,0 0 16px #8a4dff55}.card.SR .badge{background:var(--r-sr);color:#fff;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);min-width:38px}.card.SSR .frame{border:7px double var(--r-ssr);box-shadow:inset 0 0 28px #ffc21a77,0 0 24px #ffc21a88}.card.SSR .badge{background:var(--r-ssr);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);min-width:40px;height:36px;font-size:9px}.card.SSR:after,.card.UR:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff4d 50%,#0000 65%) 0 0/250% 100%;animation:3s ease-in-out infinite sweep;position:absolute;inset:0}@keyframes sweep{0%{background-position:150% 0}to{background-position:-100% 0}}.card.UR .frame{background:var(--prism) border-box;background-size:300% 300%;border:9px solid #0000;animation:4s linear infinite prism;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0)}.card.UR .badge{background:var(--prism);color:#fff;border-radius:6px}@keyframes prism{to{background-position:300% 0}}.card.locked{background:linear-gradient(#170b13b3, #170b13d9), var(--ui-silk) center/cover}.card.locked .img{display:none}.card.locked .frame{box-shadow:inset 0 0 0 1px var(--foil-dim);background:0 0;border:0;-webkit-mask:none;mask:none}.card.locked .badge{display:none}.card.locked .q{font-family:var(--serif);color:#e2b49a80;place-items:center;font-size:22px;display:grid;position:absolute;inset:0}.card.locked:after{display:none}.card.mini{border-radius:6px;flex:none;width:32px;height:48px}.card.mini .badge,.card.mini .cap{display:none}.card.mini .frame{border-width:2px;border-radius:6px}.card.mini .q{font-size:13px}.title .strips{display:flex;position:absolute;inset:0}.title .strip{background-size:cover;flex:1;animation:1.2s cubic-bezier(.2,.8,.3,1) both stripIn}.title .strip+.strip{box-shadow:-1px 0 #e2b49a59}.title .strip:nth-child(2){animation-delay:.12s}.title .strip:nth-child(3){animation-delay:.24s}.title .strip:nth-child(4){animation-delay:.36s}@keyframes stripIn{0%{opacity:0;transform:translateY(-30px)}}.title-shade{background:linear-gradient(#170b131a 25%, #170b13e6 62%, var(--velvet) 85%);position:absolute;inset:0}.title-box{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:0 24px;display:flex;position:absolute;top:50%;left:0;right:0}.title .crest{animation:1s .4s both rise}.title .logo{font-family:var(--serif);letter-spacing:8px;color:var(--foil-2);background:linear-gradient(175deg,#fff3ea 15%,#f2c9b0 50%,#c98e78 90%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 14px #000000b3);-webkit-background-clip:text;background-clip:text;font-size:46px;font-weight:900;line-height:1.2;animation:1s .55s both rise}.title .sub{font-family:var(--serif);color:#e7d6db;letter-spacing:4px;font-size:13px;animation:1s .7s both rise}.title .tap-hint{margin-top:34px}.name-screen{background:linear-gradient(#170b13c7, var(--velvet) 70%), var(--ui-silk) center/cover;gap:16px;padding:18% 22px 0}.name-screen .q{font-family:var(--serif);letter-spacing:3px;color:var(--foil-2);font-size:26px;font-weight:900}.name-screen .qs{color:var(--sub);font-size:13px}.name-screen input{height:58px;box-shadow:inset 0 0 0 1px var(--foil);color:var(--ivory);font-family:var(--serif);letter-spacing:6px;background:#170b1399;border:0;border-radius:16px;outline:none;padding:0 18px;font-size:22px}.name-screen .sug{flex-wrap:wrap;gap:8px;display:flex}.name-screen .preview{font-family:var(--serif);color:#e7d6db;min-height:120px;padding:6px 0;font-size:15px;line-height:2}.hub{background:linear-gradient(#170b13d1, var(--velvet) 40%), var(--ui-silk) center/cover}.hub-head{padding:calc(var(--safe-t) + 16px) 18px 10px;justify-content:space-between;align-items:center;display:flex}.hub-head .hi{font-family:var(--serif);letter-spacing:2px;color:var(--foil-2);font-size:21px;font-weight:700}.hub-head .sub{color:var(--sub);letter-spacing:1px;margin-top:4px;font-size:12px}.hub-list{-webkit-overflow-scrolling:touch;padding:4px 16px calc(var(--safe-b) + 24px);scroll-snap-type:y mandatory;flex-direction:column;flex:1;gap:18px;display:flex;overflow-y:auto}.lead-card{scroll-snap-align:start;background-size:cover;border-radius:20px;flex:none;height:74dvh;min-height:440px;max-height:640px;animation:.6s both rise;position:relative;overflow:hidden;box-shadow:0 14px 40px #0000008c}.lead-card:nth-child(2){animation-delay:80ms}.lead-card:nth-child(3){animation-delay:.16s}.lead-card:nth-child(4){animation-delay:.24s}.lc-frame{z-index:4;pointer-events:none;border:36px solid #0000;border-image:var(--ui-frame) 72 fill / 36px stretch;opacity:.95;position:absolute;inset:8px}.lc-info{z-index:3;background:linear-gradient(#0000,#170b13d9 32%,#170b13f7);flex-direction:column;gap:7px;padding:90px 26px 26px;display:flex;position:absolute;bottom:0;left:0;right:0}.lc-title{font-family:var(--serif);letter-spacing:4px;color:var(--foil-2);text-shadow:0 0 22px var(--lead), 0 2px 8px #000;font-size:28px;font-weight:900}.lc-name{align-items:baseline;gap:10px;display:flex}.lc-name b{font-family:var(--serif);color:var(--ivory);border-left:3px solid var(--lead);letter-spacing:2px;padding-left:10px;font-size:18px}.lc-name span{color:var(--sub);font-size:12px}.lc-tag{font-family:var(--serif);color:#e7d6db;font-size:14px;line-height:1.7}.lc-meta{color:var(--sub);align-items:center;gap:10px;font-size:12px;display:flex}.hearts{letter-spacing:2px;font-size:15px}.hearts.big{font-size:30px}.segs{align-items:center;gap:5px;margin-top:2px;display:flex}.segs i{background:#e2b49a38;border-radius:1px;flex:1;height:2px;font-style:normal}.segs i.on{background:var(--foil-2);box-shadow:0 0 6px var(--foil)}.segs i.end{color:#e2b49a4d;width:auto;height:auto;box-shadow:none;background:0 0;flex:none;font-size:13px}.segs i.end.on{color:var(--foil-2)}.lc-row{gap:10px;margin-top:8px;display:flex}.lc-go{flex:1}.lc-more{flex:none}.lead-screen{background:var(--velvet)}.ls-head{background-size:cover;flex:none;height:40%;min-height:250px;position:relative}.ls-shade{background:linear-gradient(transparent 15%, var(--velvet));position:absolute;inset:0}.ls-txt{flex-direction:column;gap:7px;display:flex;position:absolute;bottom:8px;left:18px;right:18px}.ls-txt>b{font-family:var(--serif);letter-spacing:3px;color:var(--foil-2);border-left:3px solid var(--lead);padding-left:12px;font-size:28px}.ls-txt>span{font-family:var(--serif);color:#e7d6db;font-size:13px;line-height:1.7}.ls-head .back{top:calc(var(--safe-t) + 12px);position:absolute;left:12px}.ls-body{padding:12px 16px calc(var(--safe-b) + 24px);flex-direction:column;gap:10px;display:flex}.ls-row{text-align:left;background:linear-gradient(100deg,#3a1628b3,#1c0c1699);border-radius:16px;align-items:center;gap:14px;padding:12px 14px;transition:transform .14s;display:flex;box-shadow:inset 0 0 0 1px #e2b49a33}.ls-n{width:34px;height:34px;font-family:var(--serif);color:var(--foil-2);box-shadow:inset 0 0 0 1px var(--foil-dim);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ls-t{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ls-t b{font-family:var(--serif);letter-spacing:1px;font-size:15px}.ls-t span{color:var(--sub);font-size:12px}.ls-thumbs{gap:5px;display:flex}.ls-sec h4{font-family:var(--serif);letter-spacing:3px;color:var(--foil);text-align:center;background:var(--ui-divider) center bottom/160px auto no-repeat;margin:14px 0 4px;padding-bottom:14px;font-size:14px;font-weight:500}.ls-sec{flex-direction:column;gap:10px;display:flex}.ls-bonus{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ls-bonus .card{aspect-ratio:2/3;height:auto}.result{background-size:cover}.res-shade{background:linear-gradient(#170b1326,#170b13f2 52%);position:absolute;inset:0}.res-box{left:20px;right:20px;bottom:calc(var(--safe-b) + 22px);text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.res-k{font-family:var(--serif);letter-spacing:5px;color:var(--foil);background:var(--ui-divider) center bottom/150px auto no-repeat;padding-bottom:14px;font-size:13px;animation:.5s both rise}.res-t{font-family:var(--serif);letter-spacing:4px;color:var(--foil-2);font-size:30px;font-weight:900;animation:.5s .1s both rise}.res-love{color:var(--sub);letter-spacing:1px;font-size:12px}.track{width:100%;margin:6px 0 0;list-style:none;display:flex;position:relative}.track:before{content:"";background:#e2b49a47;height:1px;position:absolute;top:15px;left:10%;right:10%}.track li{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.track li i{width:30px;height:30px;font-style:normal;font-family:var(--serif);color:var(--sub);background:var(--velvet);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #e2b49a4d}.track li span{font-family:var(--serif);color:var(--sub);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 2px;font-size:11px;overflow:hidden}.track li.on i{color:#3a1424;background:linear-gradient(135deg,#f7decb,#e2b49a 50%,#c98e78);box-shadow:0 0 10px #e2b49a80}.track li.on span{color:var(--foil-2)}.track li.just i{box-shadow:0 0 0 4px #e2b49a33, 0 0 18px var(--foil);animation:.7s cubic-bezier(.2,1.6,.4,1) .5s both pop}.track li.end.on i{color:#fff;background:var(--rose)}.track-tip{font-family:var(--serif);letter-spacing:2px;color:var(--foil-2);margin-top:2px;font-size:16px;font-weight:700}.res-sub{color:var(--sub);letter-spacing:1px;font-size:12px}.res-cards{justify-content:center;gap:10px;margin:8px 0;display:flex}.res-card{width:118px;height:177px;animation:.7s cubic-bezier(.2,1.5,.4,1) .3s both pop}.res-cards.many{flex-wrap:wrap;gap:8px}.res-cards.many .res-card{width:70px;height:105px}.quick-box{text-align:center;box-shadow:inset 0 0 0 1px var(--foil);background:linear-gradient(100deg,#5a2340b3,#280f1eb3);border-radius:18px;flex-direction:column;gap:8px;padding:16px;display:flex}.quick-box b{font-family:var(--serif);letter-spacing:2px;color:var(--foil-2);font-size:16px}.quick-box span{color:#e7d6db;font-size:13px;line-height:1.7}.res-row{flex-direction:column;gap:10px;width:100%;display:flex}.levelup{z-index:65;text-align:center;background:radial-gradient(circle at 50% 55%,#5a2340f5,#170b13fa 70%);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;animation:.35s both fadeIn;display:flex;position:absolute;inset:0}.levelup .pillar{filter:blur(14px);pointer-events:none;transform-origin:bottom;background:linear-gradient(#0000,#e2b49a2e 60%,#f6dcc859);width:46%;height:100%;animation:1.3s ease-out both pillar;position:absolute;bottom:0;left:27%}@keyframes pillar{0%{transform:scaleY(0)}}.levelup .crest{width:110px;height:110px;animation:.7s cubic-bezier(.2,1.5,.4,1) .2s both pop}.levelup h2{font-family:var(--serif);letter-spacing:8px;color:var(--foil-2);font-size:26px;animation:.5s .35s both rise}.levelup .lv{font-family:var(--serif);color:var(--ivory);text-shadow:0 0 30px var(--lead);font-size:60px;font-weight:900;animation:.6s cubic-bezier(.2,1.6,.4,1) .5s both pop}.levelup p{font-family:var(--serif);color:#e7d6db;letter-spacing:1px}@keyframes pop{0%{opacity:0;transform:scale(.3)}}@supports not (aspect-ratio:1){.scene .art,.scene .lq,.scene .ph{height:150vw;max-height:720px}.reveal .stage{height:99vw;max-height:480px}.ls-bonus .card{height:60vw;max-height:300px}.card3d .back .crest{height:30vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}#err{z-index:999;color:#fff;white-space:pre-wrap;background:#400;max-height:40%;padding:8px;font:12px/1.4 monospace;position:fixed;bottom:0;left:0;right:0;overflow:auto}
