@font-face{font-family:LXGW WenKai;src:url(../fonts/lxgwwenkai-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ZCOOL XiaoWei;src:url(../fonts/zcoolxiaowei-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ma Shan Zheng;src:url(../fonts/mashanzheng-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cinzel;src:url(../fonts/cinzel.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--ink-9:#080b18;--ink-8:#0e1430;--ink-7:#141d40;--ink-6:#1c2654;--paper:#dcdcef;--paper-dim:#b4b8d8;--muted:#868bb2;--cinnabar:#c9503a;--cinnabar-bright:#e0704e;--jade:#6fae9b;--gold:#cba85a;--gold-bright:#ecd28f;--line:#28326a;--line-strong:#cba85a6b;--radius:5px;--font-scale:1;--font-serif:"LXGW WenKai", "Noto Serif SC", "Source Han Serif SC", "Source Han Serif CN", "Songti SC", STSong, "SimSun", serif;--font-display:"ZCOOL XiaoWei", "Noto Serif SC", "STZhongsong", "Songti SC", "SimSun", serif;--font-script:"Ma Shan Zheng", "Kaiti SC", STKaiti, KaiTi, "楷体", cursive;--font-roman:"Cinzel", "Noto Serif SC", serif;font-size:16px}html[lang=zh-Hant]{--font-display:"LXGW WenKai", "Noto Serif SC", "STZhongsong", "Songti SC", "SimSun", serif}*{box-sizing:border-box}html{background:var(--ink-9);overflow-x:clip}body{min-height:100dvh;color:var(--paper);font-family:var(--font-serif);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.72 0 0 0 0 0.78 0 0 0 0 0.98 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(72% 56% at 50% 4%,#966ecc33,#0000 72%),radial-gradient(62% 52% at 12% 30%,#5c60c626,#0000 74%),radial-gradient(64% 54% at 90% 38%,#4076c624,#0000 74%),radial-gradient(74% 62% at 72% 92%,#68ac9c1f,#0000 76%),radial-gradient(60% 50% at 16% 88%,#a0546e1a,#0000 74%),linear-gradient(165deg,#0c1230,#080b1c 58%,#05060f);background-position:50%;background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-size:220px 220px,cover,cover,cover,cover,cover,cover;background-attachment:fixed;margin:0;font-weight:400;line-height:1.95;overflow-x:clip}body:after{content:"";pointer-events:none;z-index:0;background-color:#0000;background-image:radial-gradient(2.2px 2.2px at 22% 16%,#fffffff2,#0000 60%),radial-gradient(2.6px 2.6px at 76% 24%,#ecd28fe6,#0000 60%),radial-gradient(2px 2px at 58% 72%,#ffffffd9,#0000 60%),radial-gradient(2.4px 2.4px at 12% 64%,#d0e0ffd9,#0000 60%),radial-gradient(2px 2px at 90% 80%,#ecd28fcc,#0000 60%),radial-gradient(130% 120% at 50% 40%,#0000 64%,#02040c6b 100%);background-position:0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat;background-size:auto,auto,auto,auto,auto,auto;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;position:fixed;inset:0}body:before{content:"";pointer-events:none;z-index:0;opacity:.85;background-image:radial-gradient(1.6px 1.6px at 24px 28px,#fffffff2,#0000),radial-gradient(1.4px 1.4px at 150px 22px,#ecd28fe6,#0000),radial-gradient(1px 1px at 92px 66px,#ffffffb3,#0000),radial-gradient(1px 1px at 58px 128px,#fff9,#0000),radial-gradient(1.3px 1.3px at 178px 112px,#ffffffbf,#0000),radial-gradient(1.2px 1.2px at 116px 176px,#ecd28fb3,#0000),radial-gradient(1px 1px at 200px 150px,#ffffff8c,#0000);background-repeat:repeat;background-size:230px 230px;animation:7s ease-in-out infinite alternate twinkle;position:fixed;inset:0}@keyframes twinkle{0%{opacity:.6}to{opacity:.95}}.app{z-index:1;max-width:820px;margin:0 auto;padding:24px 16px 48px;position:relative}#main-content:focus{outline:none}.skip-link{z-index:100;font-family:var(--font-display);color:var(--gold);border:1px solid var(--line-strong);background:#101634f5;border-radius:8px;padding:8px 14px;font-size:.9rem;text-decoration:none;transition:transform .18s;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{outline:2px solid var(--gold);outline-offset:2px;transform:translateY(0)}.lang-toggle{z-index:90;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));width:34px;height:34px;font-family:var(--font-display);color:var(--gold);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#101634eb;border-radius:50%;padding:0;font-size:1.05rem;transition:color .2s,border-color .2s,transform .2s;position:fixed}.lang-toggle:hover{color:var(--gold-bright);border-color:var(--gold);transform:scale(1.08)}.display,.logo,.ending-tone{font-family:var(--font-display);font-weight:400}button{font:inherit;color:var(--paper);background:var(--ink-7);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;padding:10px 18px;transition:border-color .2s,background .2s,color .2s,transform .15s}button:hover:not(:disabled){border-color:var(--gold)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:linear-gradient(180deg, var(--gold-bright), var(--gold));color:#1a1530;border-color:var(--gold);letter-spacing:.15em;font-weight:600;box-shadow:0 0 18px #cba85a38}button.primary:hover:not(:disabled){background:linear-gradient(180deg, #f3dca0, var(--gold-bright));border-color:var(--gold-bright);box-shadow:0 0 28px #cba85a66}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover{color:var(--paper)}input,select{font:inherit;width:100%;color:var(--paper);background:var(--ink-9);border:1px solid var(--line);border-radius:var(--radius);margin-top:4px;padding:9px 12px}input:focus,select:focus{border-color:var(--gold);outline:none}input::placeholder{color:#586089}:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}.choice:active:not(:disabled){transform:translate(2px)translateY(1px)}label{color:var(--paper-dim);margin:14px 0;font-size:.9rem;display:block}.error{color:var(--cinnabar-bright)}.loading{color:var(--gold);font-style:italic;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}html{scrollbar-color:#cba85a6b transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.home{text-align:center;padding-top:4vh;position:relative}.hero{justify-content:center;align-items:center;min-height:min(520px,96vw);margin:1vh 0 26px;display:flex;position:relative}.home-banner{pointer-events:none;z-index:0;width:min(520px,94vw);height:min(520px,94vw);margin-top:calc(min(520px,94vw)/-2);margin-left:calc(min(520px,94vw)/-2);animation:1s ease-out both bannerIn;position:absolute;top:50%;left:50%}.home-banner .ring,.home-banner .ticks,.home-banner .inner,.home-banner .orbit{border-radius:50%;position:absolute}.home-banner .ring{border:1px solid #cba85a4d;inset:0;box-shadow:inset 0 0 100px #cba85a0d}.home-banner .ticks{background:repeating-conic-gradient(from 0deg, #cba85a80 0 .5deg, transparent .5deg 7.5deg);animation:60s linear infinite spin;inset:-1px;-webkit-mask:radial-gradient(circle,#0000 87%,#000 89% 99%,#0000 100%);mask:radial-gradient(circle,#0000 87%,#000 89% 99%,#0000 100%)}.home-banner .ticks.fine{background:repeating-conic-gradient(from 0deg, #cba85a47 0 .3deg, transparent .3deg 1.5deg);animation:90s linear infinite spinRev;-webkit-mask:radial-gradient(circle,#0000 91%,#000 92% 96%,#0000 97%);mask:radial-gradient(circle,#0000 91%,#000 92% 96%,#0000 97%)}.home-banner .inner{border:1px dashed #cba85a42;animation:75s linear infinite spin;inset:15%;box-shadow:inset 0 0 80px #cba85a14,0 0 50px #6fae9b0d}.home-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#cba85a1f,#6fae9b0b 48%,#0000 72%);border-radius:50%;animation:6.5s ease-in-out infinite alternate corePulse;position:absolute;inset:24%}@keyframes corePulse{0%{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1.08)}}.home-banner .orbit{animation:60s linear infinite spin;inset:0}.home-banner .orbit.orbit2{transform:rotate(90deg)}.home-banner .orbit .g{font-family:var(--font-display);color:var(--gold-bright);opacity:.78;text-shadow:0 0 14px #cba85a99;font-size:1.5rem;animation:60s linear infinite spinRev;position:absolute;top:0;left:50%;transform:translate(-50%)}.home-banner .orbit .g.o2{top:auto;bottom:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinRev{to{transform:rotate(-360deg)}}@keyframes bannerIn{0%{opacity:0}to{opacity:.92}}.home>*{z-index:1;position:relative}.hero-title{z-index:2;animation:.7s ease-out both fadeUp;display:inline-block;position:relative}.hero-title:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#080b189e,#080b1847 60%,#0000 80%);position:absolute;inset:-34% -24%}.hero-div{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:120px;height:1px;margin:16px auto 12px;animation:.7s ease-out .1s both fadeUp;display:block}.logo{letter-spacing:.18em;text-indent:.18em;color:#0000;background:linear-gradient(180deg, var(--gold-bright), var(--gold) 55%, #8a6f34);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px #cba85a59);-webkit-background-clip:text;background-clip:text;margin:0;font-size:5rem;animation:.7s ease-out both fadeUp,4.5s ease-in-out .7s infinite alternate logoGlow;position:relative}@keyframes logoGlow{to{filter:drop-shadow(0 0 30px #cba85a9e)}}.seal{width:2.2em;height:2.2em;font-family:var(--font-script);letter-spacing:0;color:#f3e4c8;-webkit-text-fill-color:#f3e4c8;text-indent:0;background:var(--cinnabar);writing-mode:vertical-rl;border-radius:3px;place-items:center;font-size:.9rem;line-height:1.1;display:grid;position:absolute;bottom:.5em;right:-1.5em;transform:rotate(6deg);box-shadow:inset 0 0 0 1px #00000059,0 2px 10px #c9503a59}.roman{font-family:var(--font-roman);letter-spacing:.55em;text-indent:.55em;color:var(--gold);opacity:.8;margin:0;font-size:.82rem;animation:.7s ease-out .12s both fadeUp}.tagline{color:var(--paper-dim);letter-spacing:.34em;text-indent:.34em;margin:14px 0 0;animation:.7s ease-out .18s both fadeUp}.home-hook{letter-spacing:.06em;color:var(--paper-dim);margin:12px 0 0;font-size:.84rem;animation:.7s ease-out .16s both fadeUp}.home-hint{letter-spacing:.14em;color:var(--jade);opacity:.9;margin:8px 0 0;font-size:.8rem;animation:.7s ease-out .2s both fadeUp}.collection-strip{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c10268c;border-radius:10px;align-items:center;gap:24px;margin:0 auto 30px;padding:11px 22px;transition:border-color .2s,background .2s;animation:.7s ease-out .24s both fadeUp;display:inline-flex}.collection-strip:hover{border-color:var(--gold);background:#cba85a17}.cs-gauge{flex-direction:column;gap:5px;min-width:124px;display:flex}.cs-top{letter-spacing:.03em;color:var(--paper-dim);white-space:nowrap;font-size:.82rem}.cs-top b{color:var(--gold-bright);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.cs-top i{color:var(--muted);font-style:normal}.cs-bar{background:#28326a99;border-radius:3px;height:3px;position:relative;overflow:hidden}.cs-bar-fill{background:linear-gradient(to right, var(--cinnabar), var(--gold-bright));border-radius:3px;height:100%;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #cba85a80}.cs-bar-fill.ach{background:linear-gradient(to right, var(--gold), var(--gold-bright))}.cs-go{color:var(--gold);letter-spacing:.1em;white-space:nowrap;align-self:center;font-size:.86rem}.collection-strip:hover .cs-go{color:var(--gold-bright)}.colophon{flex-direction:column;align-items:center;gap:20px;margin:46px 0 12px;animation:.7s ease-out .3s both fadeUp;display:flex}.colophon-rule{background:linear-gradient(90deg, transparent, var(--line-strong), transparent);width:132px;height:1px;color:var(--gold);text-align:center;font-size:.6rem;line-height:0;position:relative}.colophon-rule:after{content:"❖";background:var(--ink-9);padding:0 8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.colophon-mark{border-radius:var(--radius);align-items:center;gap:14px;padding:7px 12px;text-decoration:none;transition:background .25s;display:inline-flex}.colophon-mark:hover{background:#c9503a0f}.colophon-seal{width:2.4em;height:2.4em;font-family:var(--font-script);color:#f3e4c8;background:var(--cinnabar);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.95rem;line-height:1;transition:transform .25s,box-shadow .25s,background .25s;display:flex;transform:rotate(-5deg);box-shadow:inset 0 0 0 1px #00000059,0 2px 10px #c9503a4d}.colophon-mark:hover .colophon-seal{background:var(--cinnabar-bright);transform:rotate(0)scale(1.04);box-shadow:inset 0 0 0 1px #00000059,0 4px 16px #e0704e73}.colophon-meta{text-align:left;flex-direction:column;gap:4px;display:flex}.colophon-invite{letter-spacing:.08em;color:var(--paper-dim);font-size:.84rem;transition:color .25s}.colophon-mark:hover .colophon-invite{color:var(--gold-bright)}.colophon-repo{font-family:var(--font-roman);letter-spacing:.1em;color:var(--gold);opacity:.7;font-size:.72rem}.free-badge{z-index:1;letter-spacing:.04em;color:var(--jade);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080b18b8;border:1px solid #6fae9b80;border-radius:2px;padding:2px 8px;font-size:.68rem;position:absolute;top:10px;right:10px}.continue-card{border:1px dashed var(--gold);width:100%;color:var(--gold-bright);background:#cba85a0f;margin-bottom:22px;padding:14px;animation:.6s ease-out .15s both fadeUp;display:block}.continue-card:hover{border-color:var(--gold-bright);background:#cba85a1f}.scenario-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.scenario-card{text-align:left;background:var(--ink-8);border:1px solid var(--line);flex-direction:column;gap:8px;min-height:190px;padding:22px 20px;animation:.6s ease-out backwards fadeUp;display:flex;position:relative;overflow:hidden}.card-cover{opacity:.5;z-index:0;background-position:50%;background-size:cover;transition:opacity .3s,transform .4s;position:absolute;inset:0}.has-cover:after{content:"";z-index:0;background:linear-gradient(to top, var(--ink-9) 8%, #080b1873 55%, #080b1826);position:absolute;inset:0}.has-cover .scenario-title,.has-cover .scenario-intro{z-index:1;position:relative}.has-cover .scenario-title{text-shadow:0 1px 8px #000c}.has-cover .scenario-intro{color:var(--paper-dim);text-shadow:0 1px 6px #000000e6}.has-cover:hover .card-cover{opacity:.7;transform:scale(1.05)}.scenario-card:first-child{animation-delay:.15s}.scenario-card:nth-child(2){animation-delay:.22s}.scenario-card:nth-child(3){animation-delay:.29s}.scenario-card:nth-child(4){animation-delay:.36s}.scenario-card:nth-child(5){animation-delay:.43s}.scenario-card:nth-child(n+6){animation-delay:.5s}.scenario-card:before{content:"";pointer-events:none;border:1px solid #cba85a38;border-radius:3px;transition:border-color .25s;position:absolute;inset:5px}.scenario-card:hover{border-color:var(--gold);background:var(--ink-7);transform:translateY(-5px);box-shadow:0 14px 38px #00000080,0 0 22px #cba85a2e}.scenario-card:hover:before{border-color:#cba85a8c}.card-rune{z-index:1;color:var(--gold);opacity:.4;pointer-events:none;font-size:.95rem;line-height:1;transition:opacity .25s,text-shadow .25s;position:absolute;top:8px;left:11px}.scenario-card:hover .card-rune{opacity:.85;text-shadow:0 0 10px #cba85a80}.scenario-emoji{filter:drop-shadow(0 0 8px #cba85a40);font-size:2.1rem;line-height:1.2;transition:transform .25s}.scenario-card:hover .scenario-emoji{transform:scale(1.12)}.scenario-title{font-family:var(--font-display);letter-spacing:.1em;color:var(--gold-bright);font-size:clamp(1.35rem,1.05rem + 1.1vw,1.6rem);font-weight:400;line-height:1.22}.scenario-intro{color:var(--paper-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.6;display:-webkit-box;overflow:hidden}.scenario-genre{font-family:var(--font-serif);letter-spacing:.34em;text-indent:.34em;color:var(--gold);opacity:.8;margin-bottom:3px;font-size:.66rem}.has-cover .scenario-genre{text-shadow:0 1px 6px #000000e6}.scenario-card.has-cover .scenario-title:after{content:"";background:linear-gradient(90deg, var(--gold), transparent);opacity:.7;width:34px;height:1px;margin:7px 0 5px;display:block}.scenario-card:hover .scenario-title{color:#f5e8ca}.scenario-card:hover .scenario-genre{opacity:1;color:var(--gold-bright)}.card-meter{z-index:1;background:#080b188c;height:3px;position:absolute;bottom:0;left:0;right:0}.card-meter-fill{background:linear-gradient(to right, var(--cinnabar), var(--gold-bright));height:100%;display:block;box-shadow:0 0 8px #cba85a8c}.card-seen{z-index:1;color:var(--gold-bright);font-variant-numeric:tabular-nums;border:1px solid var(--line-strong);opacity:0;background:#080b18b8;border-radius:10px;padding:1px 8px;font-size:.7rem;transition:opacity .25s;position:absolute;bottom:10px;right:11px}.scenario-card:hover .card-seen{opacity:1}.import-card{text-align:center;border-style:dashed;justify-content:center;align-items:center}.saves{text-align:left;margin-top:28px;animation:.6s ease-out .5s both fadeUp}.saves-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:8px;display:flex}.saves-title{color:var(--gold);letter-spacing:.2em;font-size:.95rem}.saves-title:before{content:"✦ ";color:var(--gold);opacity:.65}.saves-invite{text-align:center;background:radial-gradient(70% 80% at 50% 0,#cba85a0d,#0000 70%),#0e143066;border:1px dashed #cba85a52;border-radius:8px;flex-direction:column;align-items:center;gap:14px;margin-top:14px;padding:34px 20px 30px;display:flex}.saves-invite-seal{width:2em;height:2em;font-family:var(--font-script);color:#c9503acc;text-shadow:0 0 12px #c9503a59;border:1px solid #c9503a66;border-radius:4px;place-items:center;font-size:1.3rem;display:grid;transform:rotate(-4deg)}.saves-invite-text{color:var(--paper-dim);max-width:30em;margin:0;font-size:.9rem;line-height:1.9}.saves-invite-go{letter-spacing:.12em;color:var(--gold-bright);background:#cba85a14;padding:9px 22px}.saves-invite-go:hover{border-color:var(--gold);background:#cba85a24}.slot-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.slot{align-items:stretch;gap:8px;display:flex}.slot-load{text-align:left;background:var(--ink-8);border:1px solid var(--line);flex-direction:column;flex:1;gap:3px;padding:10px 14px;display:flex}.slot-load:hover{background:var(--ink-7);border-color:var(--gold)}.slot-name{font-weight:600}.slot-meta{color:var(--muted);font-size:.8rem}.slot-act{white-space:nowrap;padding:6px 12px;font-size:.85rem}.achievements{text-align:left;margin-top:20px;animation:.6s ease-out .5s both fadeUp}.ach-group{margin-bottom:26px}.ach-group-head{align-items:center;gap:13px;margin:0 0 13px;display:flex}.ach-group-label{font-family:var(--font-display);letter-spacing:.36em;color:var(--gold-bright);text-shadow:0 0 16px #cba85a4d;white-space:nowrap;padding-left:1px;font-size:1.04rem}.ach-group-rule{background:linear-gradient(to right, var(--line-strong), transparent);flex:1;height:1px}.ach-group-count{color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:.8rem}.ach-group-count i{color:var(--muted);font-style:normal}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:10px;display:grid}.ach{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-8);align-items:center;gap:11px;padding:11px 13px;display:flex}.ach.done{background:linear-gradient(158deg,#c9503a1a,#0e143066 70%);border-color:#c9503a80}.ach.locked{background:#0e14306b}.ach.locked .ach-name{color:var(--paper-dim)}.ach-icon{opacity:.85;flex:none;place-items:center;width:52px;font-size:1.5rem;line-height:1;display:grid}.ach.locked .ach-icon{opacity:.4}.ach-grid-legend{grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}.ach-group-legend .ach{padding:13px 14px}.ach-group-legend .ach.done{border-color:var(--gold);background:linear-gradient(158deg,#cba85a24,#c9503a0d 72%)}.ach-group-legend .ach.done .ach-name{color:var(--gold-bright)}.ach-group-legend .ach-img,.ach-group-legend .ach-icon{width:60px}.ach-group-legend .ach-img{height:60px}.ach-img{border:1px solid var(--line-strong);background-position:50%;background-size:cover;border-radius:6px;flex:none;width:52px;height:52px;padding:0;transition:transform .15s,box-shadow .2s,filter .2s;box-shadow:0 0 10px #cba85a2e}.ach-img.sealed{filter:grayscale()brightness(.46)contrast(.92);opacity:.62;box-shadow:none;border-color:var(--line)}.ach-clickable{text-align:left;cursor:zoom-in;font:inherit;width:100%;transition:border-color .2s,box-shadow .2s}.ach-clickable:hover{border-color:var(--gold);box-shadow:0 0 18px #cba85a3d}.ach-clickable:hover .ach-img{transform:scale(1.08);box-shadow:0 0 16px #cba85a73}.ach-prog{align-items:center;gap:8px;margin-top:7px;display:flex}.ach-bar{background:#28326a99;border-radius:3px;flex:1;height:4px;position:relative;overflow:hidden}.ach-bar-fill{background:linear-gradient(to right, var(--gold), var(--gold-bright));border-radius:3px;height:100%;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #cba85a8c}.ach-bar-num{color:var(--gold);font-variant-numeric:tabular-nums;flex:none;font-size:.66rem}.badge-overlay{z-index:70;cursor:zoom-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);perspective:1200px;background:#04060ed9;justify-content:center;align-items:center;padding:5vh 16px;animation:.25s ease-out both fadeIn;display:flex;position:fixed;inset:0}.badge-show{cursor:default;text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:90vw;display:flex}.badge-show-img{filter:drop-shadow(0 0 40px #cba85a80);transform-origin:50%;background-position:50%;background-repeat:no-repeat;background-size:contain;width:min(300px,72vw);height:min(300px,72vw);animation:1.3s cubic-bezier(.16,.84,.3,1) both fateSpinIn,3.5s ease-in-out 1.3s infinite alternate badgeFloat}@keyframes badgeFloat{to{filter:drop-shadow(0 0 60px #ecd28fbf);transform:translateY(-6px)}}.badge-show-name{font-family:var(--font-display);letter-spacing:.12em;color:var(--gold-bright);text-shadow:0 0 22px #cba85a66;margin:0;font-size:1.8rem;animation:.6s ease-out .5s both fadeUp}.badge-show-desc{max-width:26em;color:var(--paper-dim);margin:0;line-height:1.9;animation:.6s ease-out .65s both fadeUp}.ach-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ach-name{color:var(--paper);font-size:.9rem;font-weight:600}.ach.done .ach-name{color:var(--cinnabar-bright)}.ach-desc{color:var(--muted);font-size:.74rem;line-height:1.5}.gallery{text-align:left;margin-top:20px;animation:.6s ease-out .55s both fadeUp}.gal-scene{margin-bottom:26px}.gal-scene-head{align-items:center;gap:13px;margin:0 0 12px;display:flex}.gal-scene-name{white-space:nowrap;font-family:var(--font-display);letter-spacing:.12em;color:var(--paper);align-items:baseline;gap:8px;font-size:1.04rem;display:flex}.gal-bar{background:#28326a8c;border-radius:3px;flex:1;height:3px;overflow:hidden}.gal-bar-fill{background:linear-gradient(to right, var(--cinnabar), var(--gold-bright));border-radius:3px;height:100%;display:block;box-shadow:0 0 8px #cba85a80}.gal-scene-count{color:var(--gold);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;font-size:.82rem;display:flex}.gal-scene-count i{color:var(--muted);font-style:normal}.gal-scene.complete .gal-scene-name{color:var(--gold-bright)}.gal-seal-done{font-family:var(--font-script);color:#f3e4c8;letter-spacing:.1em;background:var(--cinnabar);border-radius:3px;padding:1px 7px;font-size:.7rem;box-shadow:0 0 12px #c9503a80}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;display:grid}.gal-tile{aspect-ratio:3/4;border:1px solid var(--line);background:var(--ink-8) center / cover no-repeat;border-radius:6px;margin:0;padding:0;position:relative;overflow:hidden}.gal-tile.locked{background:radial-gradient(80% 60% at 50% 38%, #c9503a1a, transparent 70%), repeating-linear-gradient(135deg, #28326a2e 0 7px, transparent 7px 14px), var(--ink-8);border-style:dashed;border-color:#cba85a47;place-items:center;display:grid}.gal-tile-seal-mark{font-family:var(--font-script);color:#c9503a8c;text-shadow:0 0 12px #c9503a4d;border:1px solid #c9503a52;border-radius:4px;place-items:center;width:1.7em;height:1.7em;font-size:1.5rem;transition:color .2s,text-shadow .2s,border-color .2s;display:grid}.gal-tile.locked:active{border-color:#c9503a80}.gal-tile.locked:active .gal-tile-seal-mark{color:#e0704ee6;text-shadow:0 0 20px #c9503abf;border-color:#c9503a99}.ach.locked{transition:border-color .2s,box-shadow .2s}.ach.locked:active{border-color:#c9503a73;box-shadow:0 0 14px #c9503a26}.gal-tile.seen{cursor:pointer;border-color:var(--line-strong);transition:transform .16s,box-shadow .22s,border-color .22s;box-shadow:0 4px 18px #0006}.gal-tile.seen:hover{border-color:var(--gold-bright);transform:translateY(-3px);box-shadow:0 8px 26px #00000080,0 0 22px #cba85a4d}.gal-tile-veil{background:linear-gradient(#0000 28%,#080b188c 64%,#080b18f0);position:absolute;inset:0}.gal-tile-tone{z-index:2;text-align:center;line-height:1.3;font-family:var(--font-display);letter-spacing:.02em;color:#f1e6cf;text-shadow:0 1px 4px #000c;padding:16px 7px 8px;font-size:.74rem;position:absolute;bottom:0;left:0;right:0}.gal-tile-seal{z-index:2;font-family:var(--font-script);color:var(--gold-bright);opacity:0;text-shadow:0 0 8px #cba85acc;font-size:.78rem;transition:opacity .22s;position:absolute;top:6px;right:7px}.gal-tile.seen:hover .gal-tile-seal{opacity:1}.archive{animation:.5s ease-out both fadeIn}.archive-back{margin-bottom:8px}.archive-title{text-align:center;font-family:var(--font-display);letter-spacing:.32em;color:var(--gold-bright);text-shadow:0 0 18px #cba85a47;margin:10px 0 2px;font-size:1.9rem}.archive-sub{text-align:center;color:var(--muted);letter-spacing:.28em;margin:0 0 22px;font-size:.82rem}.archive-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:8px;display:flex}@media (width<=430px){.archive-tabs{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:2px;overflow-x:auto}.archive-tabs::-webkit-scrollbar{display:none}.archive-tabs button{white-space:nowrap;flex:none;padding:10px 12px 12px}}.archive-tabs button{color:var(--muted);letter-spacing:.12em;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px 12px;font-size:.98rem;transition:color .2s,border-color .2s}.archive-tabs button:hover{color:var(--paper)}.archive-tabs button.active{color:var(--gold-bright);border-bottom-color:var(--gold);text-shadow:0 0 12px #cba85a66}.archive-tabs .tab-num{color:var(--gold);font-variant-numeric:tabular-nums;opacity:.85;margin-left:7px;font-size:.74rem}.archive .saves,.archive .achievements,.archive .gallery{margin-top:8px}.play-auto-flag{letter-spacing:.18em;color:#1a1208;background:var(--gold);border-radius:10px;padding:1px 9px;font-size:.7rem;animation:1.8s ease-in-out infinite pulse}.play-menu{margin-left:4px;position:relative}.play-menu-btn{width:34px;height:34px;font-family:var(--font-script);color:var(--gold);background:0 0;border:1px solid #0000;border-radius:50%;padding:0;font-size:1.15rem;line-height:1;transition:color .2s,border-color .2s,background .2s,transform .2s}.play-menu-btn:hover{color:var(--gold-bright);border-color:var(--line-strong);background:#cba85a14}.play-menu-btn.open{color:var(--gold-bright);border-color:var(--gold);background:#cba85a1f}.play-menu-backdrop{z-index:30;position:fixed;inset:0}.play-menu-panel{z-index:31;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:100% 0;background:#0e1430f7;border-radius:10px;flex-direction:column;gap:1px;min-width:196px;padding:6px;animation:.18s ease-out both menuDrop;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 50px #0009,0 0 24px #cba85a14}@keyframes menuDrop{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}.play-menu-item{text-align:left;letter-spacing:.04em;width:100%;color:var(--paper-dim);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:9px 12px;font-size:.92rem;display:flex}.play-menu-item:hover{color:var(--paper);background:#cba85a1a;border-color:#0000}.play-menu-item.on{color:var(--gold-bright)}.play-menu-item.on:hover{background:#cba85a29}.play-menu-item.danger{color:var(--muted)}.play-menu-item.danger:hover{color:var(--cinnabar-bright);background:#c9503a1a}.play-menu-glyph{opacity:.7;flex:none;font-size:.85rem}.play-menu-sep{background:linear-gradient(90deg, transparent, var(--line), transparent);height:1px;margin:4px 8px}.play-menu-fontrow{align-items:center;gap:8px;padding:6px 12px;display:flex}.play-menu-fontlabel{color:var(--muted);letter-spacing:.1em;white-space:nowrap;flex:none;font-size:.82rem}.auto-hint{color:var(--gold);margin:0 0 4px;font-size:.85rem;font-style:italic;animation:1.6s ease-in-out infinite pulse}.choice.recommended{border-color:var(--gold);background:linear-gradient(100deg, #cba85a1c, var(--ink-8) 58%)}.choice.recommended .choice-text{color:var(--gold-bright)}.choice.recommended:after{content:"拟";font-family:var(--font-script);color:#f3e4c8;background:var(--cinnabar);border-radius:0 var(--radius) 0 7px;padding:3px 7px 4px;font-size:.72rem;line-height:1;position:absolute;top:-1px;right:-1px;box-shadow:0 2px 9px #c9503a66}.setup{animation:.5s ease-out both fadeUp}.setup h2{letter-spacing:.08em;margin:16px 0 4px}.setup-intro{color:var(--muted)}.setup-back{margin-bottom:4px}.setup-hero{border:1px solid var(--line-strong);background:var(--ink-8);border-radius:8px;height:clamp(220px,34vw,300px);margin:6px 0 16px;position:relative;overflow:hidden;box-shadow:0 16px 44px #00000080,0 0 30px #cba85a0f}.setup-hero-art{background-position:50% 28%;background-size:cover;position:absolute;inset:0}.setup-hero-veil{background:linear-gradient(#0000,#080b181f 28%,#080b186b 58%,#080b18f5 97%);position:absolute;inset:0}.setup-hero-cap{position:absolute;bottom:22px;left:clamp(18px,4vw,34px);right:clamp(18px,4vw,34px)}.setup-genre{letter-spacing:.36em;text-indent:.36em;color:var(--gold);opacity:.9;text-shadow:0 1px 6px #000000e6;margin-bottom:7px;font-size:.74rem;display:block}.setup .setup-name{font-family:var(--font-display);letter-spacing:.1em;color:var(--gold-bright);text-shadow:0 2px 16px #000000d9,0 0 26px #cba85a40;margin:0;font-size:clamp(1.9rem,1.3rem + 2.4vw,2.7rem);font-weight:400;line-height:1.1}.panel{background:var(--ink-8);border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;padding:18px 22px;position:relative}.panel h3{color:var(--gold);letter-spacing:.12em;border-bottom:1px solid var(--line);margin-top:0;padding-bottom:10px;font-size:1rem}.opening-list{flex-direction:column;gap:10px;display:flex}.opening{text-align:left;flex-direction:column;gap:4px;display:flex}.opening span{color:var(--muted);font-size:.85rem}.opening.selected{border-color:var(--cinnabar);background:#c9503a14}.opening.selected strong{color:var(--cinnabar-bright)}.mode-row{flex-wrap:wrap;gap:12px;display:flex}.mode-card{text-align:left;background:var(--ink-8);border:1px solid var(--line);flex-direction:column;flex:1;gap:6px;min-width:200px;padding:14px 16px;display:flex}.mode-card strong{font-size:1rem}.mode-card span{color:var(--muted);font-size:.82rem;line-height:1.6}.mode-card.selected{border-color:var(--cinnabar);background:#c9503a14}.mode-card.selected strong{color:var(--cinnabar-bright)}.ambition-list{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ambition-chip{border-radius:16px;padding:6px 14px;font-size:.9rem}.ambition-chip.selected{border-color:var(--gold);color:var(--gold);background:#c9a05c1a}.start-btn{width:100%;margin-top:8px;padding:14px;font-size:1.05rem}.font-scale{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.font-scale-label{color:var(--muted);letter-spacing:.1em;margin-right:2px;font-size:.82rem}.font-scale-btn{color:var(--paper-dim);background:var(--ink-8);border:1px solid var(--line);border-radius:14px;padding:4px 12px;font-size:.86rem;transition:color .2s,border-color .2s,background .2s}.font-scale-btn:hover:not(.active){border-color:var(--line-strong);color:var(--paper)}.font-scale-btn.active{color:var(--gold-bright);border-color:var(--gold);background:#cba85a1a}.font-scale.compact{gap:4px}.font-scale.compact .font-scale-btn{padding:3px 9px;font-size:.8rem}.test-result{font-size:.9rem}.hint{color:var(--muted);margin:8px 0 0;font-size:.85rem}.hint,details>summary,.share-social-label{text-wrap:balance}.label-row{justify-content:space-between;align-items:baseline;display:flex}a.ext{color:var(--gold);white-space:nowrap;font-size:.85rem;text-decoration:none}a.ext:hover{color:var(--cinnabar-bright);text-decoration:underline}.combo{position:relative}.combo-list{z-index:10;background:var(--ink-7);border:1px solid var(--line-strong);border-radius:var(--radius);max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #00000080}.combo-item{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.combo-item:hover{background:var(--ink-6)}.combo-item.selected{color:var(--cinnabar-bright)}.combo-hint{color:var(--muted);white-space:nowrap;font-size:.8rem}.play{flex-direction:column;width:100%;max-width:680px;height:calc(100dvh - 48px);margin-inline:auto;display:flex}.play-ambient{z-index:-1;pointer-events:none;opacity:.16;filter:blur(7px)saturate(.82);background-position:50%;background-size:cover;position:fixed;inset:0;transform:scale(1.08);box-shadow:inset 0 0 220px 80px #080b18eb}.choices{animation:.55s both choicesRise}@keyframes choicesRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width>=880px){.app:has(.play){max-width:880px}.play{max-width:820px}}@keyframes lowPulse{50%{opacity:.5}}.ambition-bar{border-left:2px solid var(--gold);background:#c9a05c0f;align-items:baseline;gap:8px;margin-top:8px;padding:6px 12px;display:flex}.ambition-label{color:var(--gold);letter-spacing:.2em;white-space:nowrap;font-size:.78rem}.ambition-text{color:var(--paper-dim);flex:1;min-width:0;font-size:.9rem}.goal-progress{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.goal-progress-track{background:#c9a05c2e;border-radius:3px;width:72px;height:6px;overflow:hidden}.goal-progress-fill{background:linear-gradient(90deg, var(--gold), var(--cinnabar-bright));height:100%;transition:width .6s;display:block}.goal-progress-stage{color:var(--gold);letter-spacing:.03em;font-size:.76rem}.inventory{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:0 4px;display:flex}.inventory-label{color:var(--muted);letter-spacing:.2em;font-size:.8rem}.item-chip{color:var(--paper-dim);background:var(--ink-8);border:1px solid var(--line-strong);border-radius:12px;padding:2px 10px;font-size:.8rem;animation:.4s ease-out both fadeUp}.memory{margin-top:8px;padding:0 4px}.memory>summary{cursor:pointer;color:var(--muted);letter-spacing:.2em;align-items:center;gap:8px;font-size:.8rem;list-style:none;display:inline-flex}.memory>summary::-webkit-details-marker{display:none}.memory>summary:before{content:"▸";letter-spacing:0}.memory[open]>summary:before{content:"▾"}.memory-count{letter-spacing:0;color:var(--cinnabar-bright);border:1px solid #c9503a80;border-radius:10px;padding:0 7px;font-size:.72rem}.memory-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0 0 0 4px;list-style:none;display:flex}.memory-list li{color:var(--paper-dim);padding-left:14px;font-size:.82rem;line-height:1.5;position:relative}.memory-list li:before{content:"·";color:var(--cinnabar);position:absolute;left:4px}.vn-vital-val.bump-up{animation:1.8s ease-out both bumpUp}.vn-vital-val.bump-down{animation:1.8s ease-out both bumpDown}@keyframes bumpUp{0%,55%{color:var(--jade)}to{color:var(--muted)}}@keyframes bumpDown{0%,55%{color:var(--cinnabar-bright)}to{color:var(--muted)}}.intro{color:var(--muted);font-style:italic;font-size:calc(17px * var(--font-scale))}.narrative{white-space:pre-wrap;text-indent:2em;font-size:calc(17px * var(--font-scale));margin:0 0 8px}.picked{color:var(--paper-dim);margin:0;font-size:.9rem}.picked:before{content:"▸ ";color:var(--cinnabar)}.reaction{border-left:2px solid var(--gold);color:var(--gold-bright);font-size:calc(.88rem * var(--font-scale));opacity:.92;margin:6px 0 0;padding:4px 0 4px 12px;font-style:italic;line-height:1.7}.twist{border:1px dashed var(--cinnabar);color:var(--cinnabar-bright);letter-spacing:.04em;background:#c9503a0f;border-radius:4px;margin:8px 0 0;padding:6px 12px;font-size:.84rem}.typewriter{cursor:pointer}.caret{color:var(--cinnabar-bright);animation:.8s steps(2,end) infinite pulse}.error-box{border:1px solid var(--cinnabar);border-radius:var(--radius);background:#c9503a0f;margin:12px 0;padding:12px 16px}.error-box p{color:var(--cinnabar-bright);margin:0 0 8px}.choices{flex-direction:column;gap:8px;margin-top:2px;padding:18px 0 6px;display:flex;position:relative}.choices:not(.key-moment):before{content:"";background:linear-gradient(90deg, transparent, var(--line-strong), transparent);width:56px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.choice{text-align:left;border-radius:var(--radius);background:linear-gradient(100deg,#1c265457,#141d4029);border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 16px 13px 20px;transition:background .2s,border-color .2s,transform .2s,box-shadow .22s;animation:.4s ease-out backwards fadeUp;display:flex;position:relative}.choice:nth-child(2){animation-delay:70ms}.choice:nth-child(3){animation-delay:.14s}.choice:nth-child(4){animation-delay:.21s}.choice:nth-child(n+5){animation-delay:.28s}.choice:before{content:"";background:var(--cinnabar);opacity:0;width:3px;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0}.choice:hover{background:linear-gradient(100deg,#cba85a1f,#1c265447 60%);border-color:#cba85a52;transform:translate(2px);box-shadow:0 4px 20px #0000005c,-4px 0 20px #cba85a1a}.choice:hover:before{opacity:1}.choice-text{line-height:1.75;font-size:calc(17px * var(--font-scale));color:var(--paper);letter-spacing:.01em}.choice:hover .choice-text{color:var(--gold-bright)}.recap-fx{flex-wrap:wrap;gap:12px;margin:4px 0 0;display:flex}.fx{font-size:calc(.82rem * var(--font-scale));letter-spacing:.02em;font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;font-weight:500;line-height:1.6;display:inline-flex}.fx:before{content:"·";opacity:.7}.fx.up{color:var(--jade)}.fx.down{color:var(--cinnabar-bright)}.choices.key-moment{position:relative}.choices.key-moment:before{content:"☰  落 子 问 命  ☷";text-align:center;letter-spacing:.35em;color:var(--gold);opacity:.7;margin:2px 0 4px;font-size:.72rem;display:block}.choices.key-moment .choice{border-color:#cba85a4d}.choices.key-moment .choice:before{background:var(--gold)}.choices.key-moment .choice:hover{border-color:var(--gold);box-shadow:0 0 16px #cba85a24}.ending-gate{cursor:pointer;perspective:1400px;flex-direction:column;justify-content:center;align-items:center;gap:26px;min-height:calc(100dvh - 80px);animation:.5s ease-out both fadeUp;display:flex}.fate-card{aspect-ratio:3/4;width:min(384px,84vw);transform-style:preserve-3d}.fate-card-inner{border:1px solid var(--gold);background:var(--ink-8);transform-origin:50%;border-radius:8px;width:100%;height:100%;animation:1.6s cubic-bezier(.16,.84,.3,1) both fateSpinIn,3.4s ease-in-out 1.6s infinite alternate fateGlow;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0006,0 24px 70px #0009,0 0 44px #cba85a38}@keyframes fateSpinIn{0%{opacity:0;transform:rotateY(-720deg)scale(.55)}70%{opacity:1}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes fateGlow{to{box-shadow:inset 0 0 0 1px #0006,0 24px 70px #0009,0 0 64px #cba85a80}}.fate-card:hover .fate-card-inner{border-color:var(--gold-bright)}.fate-card-art{opacity:.92;background-position:50%;background-size:cover;position:absolute;inset:0}.fate-card-veil{background:radial-gradient(120% 90% at 50% 32%,#080b1833,#0000 55%),linear-gradient(#080b1859,#080b1833 45%,#080b18eb);position:absolute;inset:0}.fate-card-corner{z-index:2;color:var(--gold-bright);text-shadow:0 0 10px #cba85ab3;font-size:1rem;position:absolute}.fate-card-corner.tl{top:12px;left:14px}.fate-card-corner.br{bottom:12px;right:14px}.fate-card-face{z-index:2;text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 22px 40px;display:flex;position:absolute;inset:0}.fate-seal{width:2em;height:2em;font-family:var(--font-script);color:#f3e4c8;background:var(--cinnabar);border-radius:4px;place-items:center;margin-bottom:16px;font-size:1.4rem;display:grid;transform:rotate(7deg);box-shadow:inset 0 0 0 1px #00000059,0 2px 14px #c9503a80}.fate-tone{font-family:var(--font-display);letter-spacing:.06em;color:#f3e4c8;text-shadow:0 2px 18px #000000e6,0 0 26px #c9503a59;margin:0;font-size:clamp(1.5rem,6vw,2.1rem);line-height:1.3}.fate-sub{letter-spacing:.12em;color:var(--paper-dim);text-shadow:0 1px 6px #000000e6;margin:12px 0 0;font-size:.8rem}.fate-hint{color:var(--gold);letter-spacing:.3em;text-indent:.3em;font-size:.9rem;animation:1.8s ease-in-out infinite pulse}.memoir-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060ec7;justify-content:center;align-items:center;padding:4vh 16px;animation:.3s ease-out both fadeIn;display:flex;position:fixed;inset:0}.memoir{background:var(--ink-9);border:1px solid var(--line-strong);border-radius:8px;width:min(760px,96vw);max-height:92vh;padding:20px 22px 26px;overflow-y:auto;box-shadow:0 30px 80px #0009}.memoir-head{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.memoir-title{font-family:var(--font-display);letter-spacing:.24em;color:var(--gold-bright);font-size:1.5rem}.memoir-count{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.82rem}.memoir-close{margin-left:auto;padding:4px 10px;font-size:1rem}.memoir-empty{color:var(--muted);text-align:center;padding:30px 0;font-style:italic}.memoir-grid{flex-direction:column;gap:16px;display:flex}.memoir-card{border:1px solid var(--line);background:var(--ink-8);border-radius:6px;animation:.4s ease-out both fadeUp;position:relative;overflow:hidden}.memoir-card.key{border-color:#cba85a80;box-shadow:0 0 18px #cba85a1a}.memoir-card-art{opacity:.96;height:168px;box-shadow:inset 0 -50px 40px -18px var(--ink-8);background-position:50% 32%;background-size:cover}.memoir-card-key{font-family:var(--font-display);letter-spacing:.28em;text-indent:.28em;color:var(--gold-bright);text-shadow:0 0 10px #cba85a80;margin-bottom:4px;font-size:.68rem;display:block}.memoir-card-twist{border:1px dashed var(--cinnabar);color:var(--cinnabar-bright);background:#c9503a0f;border-radius:4px;margin:8px 0 0;padding:5px 11px;font-size:.82rem;line-height:1.6}.memoir-card-body{padding:12px 18px 16px;position:relative}.memoir-card-no{color:var(--gold);letter-spacing:.22em;text-shadow:0 0 12px #cba85a4d;margin-bottom:8px;font-size:.78rem;display:block}.memoir-card-narr{line-height:1.9;font-size:calc(17px * var(--font-scale));margin:0}.memoir-card-pick{color:var(--paper-dim);margin:8px 0 0;font-size:.9rem}.memoir-card-pick:before{content:""}.memoir-card-react{border-left:2px solid var(--gold);color:var(--gold-bright);opacity:.92;margin:6px 0 0;padding-left:12px;font-size:.86rem;font-style:italic;line-height:1.7}.memoir-card-art{cursor:zoom-in}.storycard-zoom{width:30px;height:30px;color:var(--gold-bright);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080b18b3;border-radius:50%;place-items:center;font-size:1rem;display:grid;position:absolute;bottom:10px;right:12px}.lightbox{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#020309eb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:3vh 3vw;animation:.25s ease-out both fadeIn;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border:1px solid var(--line-strong);border-radius:6px;max-width:94vw;max-height:84vh;box-shadow:0 20px 70px #000000b3}.lightbox-hint{color:var(--muted);letter-spacing:.3em;font-size:.82rem}.ending-detail-overlay{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04060ed1;justify-content:center;align-items:center;padding:4vh 16px;animation:.3s ease-out both fadeIn;display:flex;position:fixed;inset:0}.ending-detail{background:var(--ink-8);border:1px solid var(--gold);border-radius:8px;width:min(540px,94vw);max-height:92vh;animation:.7s cubic-bezier(.2,.9,.3,1) both edReveal;position:relative;overflow:hidden;box-shadow:0 30px 80px #000000a6,0 0 50px #cba85a2e}@keyframes edReveal{0%{opacity:0;transform:translateY(12px)scale(.97);box-shadow:0 30px 80px #000000a6,0 0 90px #cba85a8c}55%{opacity:1;box-shadow:0 30px 80px #000000a6,0 0 74px #cba85a6b}to{opacity:1;transform:none;box-shadow:0 30px 80px #000000a6,0 0 50px #cba85a2e}}.ed-close{z-index:3;background:#080b1899;border-radius:50%;padding:4px 10px;font-size:1rem;position:absolute;top:8px;right:8px}.ed-art{aspect-ratio:3/2;cursor:zoom-in;background-position:50%;background-size:cover;border:none;width:100%;padding:0;display:block;position:relative}.ed-body{background:linear-gradient(#cba85a0f,#0000 50%);padding:18px 24px 26px}.ed-scene{color:var(--gold);letter-spacing:.12em;font-size:.85rem}.ed-tone{font-family:var(--font-display);letter-spacing:.06em;color:var(--cinnabar-bright);text-shadow:0 0 20px #c9503a4d;margin:8px 0 14px;font-size:1.6rem}.ed-epilogue{color:var(--paper);margin:0;line-height:2}.ed-epilogue.muted{color:var(--muted);font-style:italic}.custom-trigger{color:var(--muted);border-style:dashed}.custom-trigger:hover{color:var(--gold)}.custom-action{border:1px solid var(--gold);border-radius:var(--radius);background:var(--ink-8);flex-direction:column;gap:8px;padding:12px;animation:.25s ease-out both fadeUp;display:flex}.custom-input{font:inherit;resize:vertical;width:100%;color:var(--paper);background:var(--ink-9);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.custom-input:focus{border-color:var(--gold);outline:none}.custom-row{justify-content:flex-end;align-items:center;gap:10px;display:flex}.custom-row button{padding:6px 16px}.custom-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:12px}.ending{text-align:center;padding-top:4vh;animation:.6s ease-out both fadeIn}.ending-art{aspect-ratio:3/2;background-position:50%;background-size:cover;width:100%;max-width:520px;margin:0 auto 14px;animation:.8s ease-out both fadeUp;-webkit-mask-image:radial-gradient(125% 105% at 50% 36%,#000 52%,#0000 100%);mask-image:radial-gradient(125% 105% at 50% 36%,#000 52%,#0000 100%)}.ending-tone{color:var(--cinnabar-bright);letter-spacing:.1em;text-shadow:0 2px 30px #c9503a59;margin:0;font-size:clamp(1.9rem,8.4vw,3.4rem);line-height:1.3;display:inline-block;position:relative}.seal-mark{vertical-align:.5em;width:1.6rem;height:1.6rem;font-family:var(--font-script);color:#f3e4c8;background:var(--cinnabar);border-radius:3px;place-items:center;margin-left:14px;font-size:1rem;animation:.5s cubic-bezier(.2,1.35,.45,1) .45s both sealStamp;display:inline-grid;transform:rotate(8deg);box-shadow:inset 0 0 0 1px #00000059}@keyframes sealStamp{0%{opacity:0;transform:rotate(14deg)scale(2.6)}55%{opacity:1}to{opacity:1;transform:rotate(8deg)scale(1)}}.ending-grade{justify-content:center;align-items:center;gap:12px;margin:4px 0;display:flex}.grade-badge{font-family:var(--font-script);color:#1a1208;background:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:2px 15px;font-size:1.3rem;box-shadow:inset 0 0 0 1px #0000004d}.grade-badge.grade-S{background:var(--cinnabar-bright);border-color:var(--cinnabar-bright);color:#f9eed6;animation:2.6s ease-in-out infinite alternate gradeShine;box-shadow:inset 0 0 0 1px #0000004d,0 0 20px #e0704e99}@keyframes gradeShine{to{box-shadow:inset 0 0 0 1px #0000004d,0 0 30px #ecd28fcc}}.grade-badge.grade-A{background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px #0000004d,0 0 14px #cba85a80}.grade-badge.grade-B{background:var(--jade);border-color:var(--jade);color:#07140f}.grade-badge.grade-C{color:#0c1230;background:#5b62a0;border-color:#5b62a0}.grade-badge.grade-D{background:var(--muted);border-color:var(--muted);color:#11142e}.grade-title{color:var(--paper-dim);letter-spacing:.1em}.ach-unlock-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:10px 0 2px;display:flex}.ach-unlock-label{letter-spacing:.3em;text-indent:.3em;color:var(--gold);opacity:.85;font-size:.74rem;animation:.4s ease-out .9s backwards fadeIn}.ach-unlock-chip{color:var(--gold-bright);cursor:zoom-in;background:linear-gradient(158deg,#cba85a29,#c9503a0f);border:1px solid #cba85a80;border-radius:22px;align-items:center;gap:8px;padding:4px 15px 4px 6px;font-size:.86rem;transition:border-color .2s,box-shadow .2s;animation:.5s cubic-bezier(.2,1.3,.4,1) backwards achChipIn;display:inline-flex;box-shadow:0 0 16px #cba85a2e}.ach-unlock-chip:hover{border-color:var(--gold-bright);box-shadow:0 0 22px #cba85a59}.ach-unlock-img{border:1px solid var(--line-strong);background-position:50%;background-size:cover;border-radius:50%;flex:none;width:32px;height:32px;box-shadow:0 0 10px #cba85a59}span.ach-unlock-chip{cursor:default;padding:4px 15px}@keyframes achChipIn{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.ending-meta{color:var(--muted);letter-spacing:.2em}.ending-cause{color:var(--cinnabar-bright);letter-spacing:.12em;opacity:.9;margin:2px 0 0;font-size:.9rem}.ending-text{text-align:left;background:var(--ink-8);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;text-indent:2em;font-size:calc(17px * var(--font-scale));padding:22px 26px}.local-ending-note{text-align:center;color:var(--paper-dim);opacity:.78;margin:-4px 0 4px;font-size:.85rem}.summary-card-fold>summary{cursor:pointer;text-align:center;color:var(--paper-dim);-webkit-user-select:none;user-select:none;padding:6px 0;font-size:.85rem;list-style:none}.summary-card-fold>summary:hover{color:var(--gold-bright)}.summary-card-fold>summary::-webkit-details-marker{display:none}.summary-card-fold[open]>summary{color:var(--gold)}.summary-card-fold>summary:after{content:" ▾"}.summary-card-fold[open]>summary:after{content:" ▴"}.summary-card-fold .summary-card{margin-top:8px}.summary-card{text-align:left;border:1px dashed var(--line-strong);border-radius:var(--radius);white-space:pre-wrap;color:var(--paper-dim);background:0 0;padding:16px 20px;font-family:inherit;font-size:.9rem}.ending .row{justify-content:center}.ending-actions{flex-direction:column;align-items:center;gap:14px;margin-top:22px;display:flex}.ending-actions-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ending-actions-row.nav{border-top:1px solid var(--line);width:100%;max-width:460px;padding-top:12px}.ending-actions .primary{padding:12px 26px}.ending-actions .ghost-line{border:1px solid var(--line-strong);color:var(--paper-dim);letter-spacing:.06em;background:0 0}.ending-actions .ghost-line:hover{border-color:var(--gold);color:var(--gold-bright)}.panel{background:linear-gradient(162deg, #141d4080, var(--ink-8) 62%)}.panel:before{content:"";pointer-events:none;border:1px solid #cba85a24;border-radius:3px;position:absolute;inset:5px}.panel>h3:before{content:"◈ ";color:var(--gold);opacity:.62;font-size:.9em}.mode-card,.opening{transition:border-color .2s,background .2s,transform .18s,box-shadow .2s;position:relative;overflow:hidden}.mode-card:hover,.opening:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000061}.mode-card.selected,.opening.selected{box-shadow:0 6px 20px #c9503a24,inset 0 0 0 1px #c9503a59}.mode-card.selected:after,.opening.selected:after{content:"择";font-family:var(--font-script);color:#f3e4c8;background:var(--cinnabar);border-radius:0 var(--radius) 0 8px;padding:4px 7px 5px;font-size:.7rem;line-height:1;position:absolute;top:0;right:0;box-shadow:0 2px 8px #c9503a66}.ambition-chip.selected{box-shadow:inset 0 0 0 1px #cba85a66,0 0 14px #cba85a1f}.start-btn{letter-spacing:.28em;text-indent:.28em;border-radius:6px;transition:box-shadow .25s,background .2s,border-color .2s,transform .12s;box-shadow:0 0 22px #cba85a42,0 6px 18px #0000006b}.start-btn:hover:not(:disabled){box-shadow:0 0 36px #cba85a80,0 8px 24px #00000080}.start-btn:active:not(:disabled){transform:translateY(1px)}.modal{background:linear-gradient(162deg, #141d4080, var(--ink-8) 62%);border-color:var(--line-strong);border-radius:8px;box-shadow:0 24px 70px #0009,0 0 40px #cba85a0f}.modal h3{color:var(--gold-bright);letter-spacing:.08em;text-shadow:0 0 16px #cba85a40}.ending-text{background:linear-gradient(162deg, #141d406b, var(--ink-8) 60%);border-color:var(--line-strong);position:relative}.ending-text:before{content:"";pointer-events:none;border:1px solid #cba85a24;border-radius:3px;position:absolute;inset:5px}.archive-tabs button.active:after{content:"◈";text-align:center;color:var(--gold);opacity:.8;margin-top:-1px;font-size:.5rem;display:block}.scenario-card.has-cover{aspect-ratio:1;justify-content:flex-end;min-height:0}.scenario-card:not(.has-cover){text-align:center;justify-content:center;align-items:center}.scenario-card:not(.has-cover) .scenario-intro{-webkit-line-clamp:3}input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(90deg,#cba85a8c,#cba85a29);border:none;border-radius:3px;width:100%;height:5px;margin:10px 0;padding:0}input[type=range]::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 35% 30%, var(--gold-bright), var(--gold) 70%);border:1px solid var(--gold-bright);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 10px #cba85a8c,0 1px 3px #00000080}input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 35% 30%, var(--gold-bright), var(--gold) 70%);border:1px solid var(--gold-bright);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 10px #cba85a8c}input[type=range]:focus{outline:none}.modal label{text-align:left}.play.vn{flex-direction:column;width:auto;max-width:none;height:auto;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.play.vn .play-ambient{z-index:0;opacity:.5;filter:blur(20px)saturate(.7)brightness(.55);box-shadow:none;position:absolute;inset:0;transform:scale(1.18)}.vn-stage{z-index:1;position:absolute;inset:0}.vn-scene{z-index:1;background-position:50%;background-size:cover;animation:.9s cubic-bezier(.22,.7,.2,1) both vnPan;position:absolute;inset:0}@keyframes vnPan{0%{opacity:.2;transform:translate(4%)scale(1.04)}to{opacity:1;transform:none}}.vn-scrim{z-index:2;pointer-events:none;background:linear-gradient(#080b1899 0%,#0000 26% 100%);position:absolute;inset:0}.vn-hud{z-index:20;flex-direction:column;gap:9px;padding:14px max(58px,6vw) 14px clamp(16px,4vw,44px);display:flex;position:absolute;top:0;left:0;right:0}.vn-hud-row{align-items:center;gap:12px;display:flex}.vn-title{font-family:var(--font-display);letter-spacing:.08em;color:var(--paper);text-shadow:0 1px 12px #000000d9;font-size:1.06rem}.vn-hud-row .play-menu{margin-left:8px}.vn .play-menu-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b186b;border-color:#cba85a33}.vn-eye{width:34px;height:34px;font-family:var(--font-display);color:var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b186b;border:1px solid #cba85a33;border-radius:50%;flex:none;margin-left:auto;padding:0;font-size:.92rem;line-height:1;transition:color .2s,border-color .2s,background .2s}.vn-eye:hover{color:var(--gold-bright);border-color:var(--gold)}.vn-vitals{flex-wrap:wrap;gap:8px 12px;transition:opacity .3s;display:flex}.vn-vital{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 6px #000000b3;background:#080b1866;border:1px solid #cba85a29;border-radius:20px;align-items:baseline;gap:7px;padding:3px 12px;font-size:.78rem;display:inline-flex}.vn-vital-name{color:var(--muted)}.vn-vital-band.sev-high{color:var(--jade)}.vn-vital-band.sev-normal{color:var(--paper-dim)}.vn-vital-band.sev-low{color:var(--gold)}.vn-vital-band.sev-critical{color:var(--cinnabar-bright);animation:1.2s ease-in-out infinite lowPulse}.vn-vital-val{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.74rem;position:relative}.vn-vital-cap{color:var(--gold);opacity:.72;cursor:help;margin-left:3px;font-size:.64rem}.vn-path{z-index:6;align-items:center;gap:12px;width:min(760px,94vw);margin-inline:auto;padding:0 8px 9px;display:flex;position:relative}.vn-path-track{background:#cba85a2e;border-radius:2px;flex:1;height:2px;overflow:hidden}.vn-path-fill{background:linear-gradient(90deg, var(--cinnabar), var(--gold-bright));height:100%;transition:width .6s;display:block;box-shadow:0 0 8px #cba85a80}.vn-path-label{letter-spacing:.16em;color:var(--gold);white-space:nowrap;text-shadow:0 1px 6px #000c;font-size:.72rem}.vn-panel{z-index:6;max-height:86vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px 3px #000000b3;background:linear-gradient(#0000 0%,#080b1494 16%,#070911e0 52%,#05070ef5 100%);border:none;border-radius:0;flex-direction:column;padding:44px clamp(16px,4vw,44px) 18px;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .32s;animation:.5s vnPanelRise;display:flex;position:absolute;bottom:0;left:0;right:0}.vn-panel>*{width:100%;max-width:800px;margin-inline:auto}@keyframes vnPanelRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.play.vn.peek .vn-panel{opacity:0;pointer-events:none;transform:translateY(100%)}.play.vn.peek .vn-vitals{opacity:0;pointer-events:none}.vn-panel-head{align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.vn-label-col{flex-direction:column;gap:2px;min-width:0;display:flex}.vn-scene-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--gold-bright);text-shadow:0 0 12px #cba85a40;font-size:.94rem}.vn-keymark{font-family:var(--font-display);letter-spacing:.28em;text-indent:.28em;color:var(--gold-bright);text-shadow:0 0 12px #cba85a8c;font-size:.72rem}.vn-zoom{width:30px;height:30px;color:var(--gold);border:1px solid var(--line-strong);background:#080b1880;border-radius:7px;place-items:center;margin-left:auto;padding:0;font-size:.82rem;display:grid}.vn-zoom:hover{color:var(--gold-bright);border-color:var(--gold)}.vn-ambition{margin:0 0 10px}.vn-body{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.vn-recap{opacity:.85;border-bottom:1px dashed #cba85a33;margin:0 0 9px;padding:0 0 8px}.vn-recap .picked{margin:0}.vn-prose .narrative{text-indent:2em;font-size:calc(17.5px * var(--font-scale));letter-spacing:.02em;color:#e6e7f4;margin:0;line-height:1.85}.vn-prose .narrative+.narrative{margin-top:.7em}.vn-recap .picked{font-size:calc(.9rem * var(--font-scale))}.vn-recap .reaction{font-size:calc(.92rem * var(--font-scale));line-height:1.85}.vn .choices{padding-top:12px}.vn .choice-text{font-size:calc(17.5px * var(--font-scale));line-height:1.8}.vn-meta{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;padding-top:10px;display:flex}.vn-meta .inventory,.vn-meta .memory{margin:0;padding:0}@media (width<=560px){.vn-panel{margin-bottom:10px;width:96vw;max-height:66vh;margin-inline:auto}.vn-vitals{gap:6px 8px}.vn-vital{padding:2px 9px;font-size:.74rem}.vn-title{font-size:.98rem}}@media (orientation:landscape) and (height<=520px){.vn-hud{gap:5px;padding-top:8px}.vn-panel{max-height:76vh;padding-top:24px;padding-bottom:10px}.vn-panel-head{margin-bottom:6px}.vn-path{padding-bottom:5px}.vn .choices{gap:6px;padding-top:8px}.vn .choice{padding:9px 14px 9px 18px}}@media (width<=600px){:root{font-size:15px}.play{height:calc(100dvh - 40px)}.logo{font-size:3.4rem}.seal{right:-1.1em}}@media (width<=480px){.collection-strip{flex-wrap:wrap;justify-content:center;gap:10px 16px;padding:10px 14px}.cs-gauge{flex:40%;min-width:116px}}@media (hover:none){.lang-toggle,.play-menu-btn,.vn-eye{width:40px;height:40px}.vn-zoom{width:38px;height:38px}.memoir-close,.ed-close{min-width:40px;min-height:40px}.card-seen,.gal-tile-seal{opacity:1}.font-scale-btn{padding:7px 14px}.font-scale.compact .font-scale-btn{padding:6px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.vn-vital-val.bump-up{animation:1.8s ease-out both bumpUp!important}.vn-vital-val.bump-down{animation:1.8s ease-out both bumpDown!important}.home-banner .ticks{animation:60s linear infinite spin!important}.home-banner .ticks.fine{animation:90s linear infinite spinRev!important}.home-banner .inner{animation:75s linear infinite spin!important}.home-banner .orbit{animation:60s linear infinite spin!important}.home-banner .orbit .g{animation:60s linear infinite spinRev!important}body:before{animation:7s ease-in-out infinite alternate twinkle!important}.logo{animation:.01ms both fadeIn,4.5s ease-in-out infinite alternate logoGlow!important}.grade-badge.grade-S{animation:2.6s ease-in-out infinite alternate gradeShine!important}.fate-card-inner{animation:.5s ease-out both fadeIn,3.4s ease-in-out .5s infinite alternate fateGlow!important}.badge-show-img{animation:.45s ease-out both fadeIn,3.5s ease-in-out .45s infinite alternate badgeGlow!important}.ach-unlock-chip{animation:.4s ease-out backwards fadeIn!important}.seal-mark{animation:.4s ease-out .45s backwards fadeIn!important}.ending-detail{animation:.4s ease-out both fadeIn!important}}@keyframes badgeGlow{to{filter:drop-shadow(0 0 60px #ecd28fbf)}}.gen-card{border-style:dashed;border-color:var(--cinnabar)}.gen-card:hover{border-color:var(--cinnabar-bright)}.gen-card .scenario-emoji{color:var(--cinnabar-bright)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060812bd;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out both fadeUp;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);width:100%;max-width:520px;max-height:88vh;padding:26px 26px 22px;overflow-y:auto}.modal h3{margin:0 0 6px}.share-modal{max-width:720px}.share-modal h3{text-align:center;color:var(--gold);letter-spacing:.06em}.share-modal-body{align-items:flex-start;gap:22px;margin-top:14px;display:flex}.share-preview{background:radial-gradient(120% 80% at 50% 0,#c9a05c14,#0000 70%),#00000052;border:1px solid #c9a05c47;border-radius:6px;flex:0 0 300px;justify-content:center;align-items:center;max-width:300px;min-height:200px;display:flex;overflow:hidden;box-shadow:0 6px 22px #00000073,inset 0 0 0 1px #0006}.share-preview img{object-fit:contain;width:100%;height:auto;max-height:62vh;animation:.25s ease-out both fadeUp;display:block}.share-side{flex-direction:column;flex:1 1 0;align-self:stretch;min-width:0;display:flex}.share-loading,.share-err{color:var(--muted);letter-spacing:.08em;padding:60px 0;font-size:.9rem}.share-loading{animation:1.2s ease-in-out infinite pulse}.share-err{color:var(--cinnabar-bright)}.share-msg{color:var(--gold);min-height:1.1em;margin:8px 0 0;font-size:.86rem}.share-modal-actions{gap:8px;display:flex}.share-modal-actions .primary{flex:2 1 0}.share-modal-actions button{white-space:nowrap;flex:1 1 0;padding-inline:10px}.share-social{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.share-social-label{color:var(--muted);letter-spacing:.05em;margin-bottom:9px;font-size:.76rem;display:block}.share-social-row{flex-wrap:wrap;gap:8px;display:flex}.share-social-row button{background:#c9a05c0f;border-color:#c9a05c4d;border-radius:999px;flex:0 auto;padding:7px 16px;font-size:.82rem;transition:background .15s,border-color .15s}.share-social-row button:hover{background:#c9a05c29;border-color:#c9a05c8c}.share-tip{color:var(--muted);opacity:.85;margin:14px 0 0;font-size:.74rem;line-height:1.6}.share-close{align-self:flex-end;margin-top:auto;padding-left:22px;padding-right:22px}@media (width<=600px){.share-modal-body{flex-direction:column;gap:16px}.share-preview{flex:none;align-self:center;max-width:100%}.share-close{align-self:stretch}}.gen-modal input[type=text],.gen-modal input:not([type]),.gen-modal input[type=password]{width:100%}.suggest-row{flex-wrap:wrap;gap:8px;margin:-6px 0 4px;display:flex}.gen-config{border-top:1px solid var(--line);margin:14px 0;padding-top:8px}.gen-config summary{cursor:pointer;color:var(--paper-dim);font-size:.85rem}.gen-progress{color:var(--cinnabar-bright);align-items:center;gap:10px;margin:14px 0 4px;font-size:.9rem;display:flex}.gen-actions{justify-content:flex-end}.spinner{border:2px solid #e0603f4d;border-top-color:var(--cinnabar-bright);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}
