@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: rgba(203, 168, 90, .42);--radius: 5px;font-size:16px;--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}*{box-sizing:border-box}html{background:var(--ink-9)}body{margin:0;color:var(--paper);font-family:var(--font-serif);font-weight:400;line-height:1.95;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%,rgba(150,110,204,.2),transparent 72%),radial-gradient(62% 52% at 12% 30%,rgba(92,96,198,.15),transparent 74%),radial-gradient(64% 54% at 90% 38%,rgba(64,118,198,.14),transparent 74%),radial-gradient(74% 62% at 72% 92%,rgba(104,172,156,.12),transparent 76%),radial-gradient(60% 50% at 16% 88%,rgba(160,84,110,.1),transparent 74%),linear-gradient(165deg,#0c1230,#080b1c 58%,#05060f);background-size:220px 220px,cover,cover,cover,cover,cover,cover;background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-position:center;background-attachment:fixed}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(2.2px 2.2px at 22% 16%,rgba(255,255,255,.95),transparent 60%),radial-gradient(2.6px 2.6px at 76% 24%,rgba(236,210,143,.9),transparent 60%),radial-gradient(2px 2px at 58% 72%,rgba(255,255,255,.85),transparent 60%),radial-gradient(2.4px 2.4px at 12% 64%,rgba(208,224,255,.85),transparent 60%),radial-gradient(2px 2px at 90% 80%,rgba(236,210,143,.8),transparent 60%),radial-gradient(130% 120% at 50% 40%,transparent 64%,rgba(2,4,12,.42) 100%);background-repeat:no-repeat}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.85;background-image:radial-gradient(1.6px 1.6px at 24px 28px,rgba(255,255,255,.95),transparent),radial-gradient(1.4px 1.4px at 150px 22px,rgba(236,210,143,.9),transparent),radial-gradient(1px 1px at 92px 66px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 58px 128px,rgba(255,255,255,.6),transparent),radial-gradient(1.3px 1.3px at 178px 112px,rgba(255,255,255,.75),transparent),radial-gradient(1.2px 1.2px at 116px 176px,rgba(236,210,143,.7),transparent),radial-gradient(1px 1px at 200px 150px,rgba(255,255,255,.55),transparent);background-repeat:repeat;background-size:230px 230px;animation:twinkle 7s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.6}to{opacity:.95}}.app{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:24px 16px 48px}.lang-toggle{position:fixed;top:12px;right:12px;z-index:90;width:34px;height:34px;padding:0;font-family:var(--font-display);font-size:1.05rem;color:var(--gold);background:#0e1430b3;border:1px solid var(--line-strong);border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:color .2s,border-color .2s,transform .2s}.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);padding:10px 18px;cursor:pointer;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);font-weight:600;letter-spacing:.15em;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{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{color:var(--paper)}input,select{font:inherit;width:100%;margin-top:4px;padding:9px 12px;color:var(--paper);background:var(--ink-9);border:1px solid var(--line);border-radius:var(--radius)}input:focus,select:focus{outline:none;border-color:var(--gold)}input::placeholder{color:#586089}label{display:block;margin:14px 0;color:var(--paper-dim);font-size:.9rem}.error{color:var(--cinnabar-bright)}.loading{color:var(--gold);font-style:italic;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.row{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}::-webkit-scrollbar-track{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.home{position:relative;text-align:center;padding-top:4vh}.hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(520px,96vw);margin:1vh 0 26px}.home-banner{position:absolute;top:50%;left:50%;width:min(520px,94vw);height:min(520px,94vw);margin-top:calc(min(520px,94vw)/-2);margin-left:calc(min(520px,94vw)/-2);pointer-events:none;z-index:0;animation:bannerIn 1.8s ease-out both}.home-banner .ring,.home-banner .ticks,.home-banner .inner,.home-banner .orbit{position:absolute;border-radius:50%}.home-banner .ring{top:0;right:0;bottom:0;left:0;border:1px solid rgba(203,168,90,.3);box-shadow:inset 0 0 100px #cba85a0d}.home-banner .ticks{top:-1px;right:-1px;bottom:-1px;left:-1px;background:repeating-conic-gradient(from 0deg,rgba(203,168,90,.5) 0 .5deg,transparent .5deg 7.5deg);-webkit-mask:radial-gradient(circle,transparent 87%,#000 89%,#000 99%,transparent 100%);mask:radial-gradient(circle,transparent 87%,#000 89%,#000 99%,transparent 100%);animation:spin 60s linear infinite}.home-banner .ticks.fine{background:repeating-conic-gradient(from 0deg,rgba(203,168,90,.28) 0 .3deg,transparent .3deg 1.5deg);-webkit-mask:radial-gradient(circle,transparent 91%,#000 92%,#000 96%,transparent 97%);mask:radial-gradient(circle,transparent 91%,#000 92%,#000 96%,transparent 97%);animation:spinRev 90s linear infinite}.home-banner .inner{top:15%;right:15%;bottom:15%;left:15%;border:1px dashed rgba(203,168,90,.26);box-shadow:inset 0 0 80px #cba85a14,0 0 50px #6fae9b0d;animation:spin 75s linear infinite}.home-banner .orbit{top:0;right:0;bottom:0;left:0;animation:spin 60s linear infinite}.home-banner .orbit.orbit2{transform:rotate(90deg)}.home-banner .orbit .g{position:absolute;left:50%;top:0;transform:translate(-50%);font-family:var(--font-display);font-size:1.5rem;color:var(--gold-bright);opacity:.78;text-shadow:0 0 14px rgba(203,168,90,.6);animation:spinRev 60s linear infinite}.home-banner .orbit .g.o2{top:auto;bottom:0}@keyframes spinRev{to{transform:rotate(-360deg)}}@keyframes bannerIn{0%{opacity:0}to{opacity:.92}}.home>*{position:relative;z-index:1}.hero-title{position:relative;z-index:2;display:inline-block;animation:fadeUp .7s ease-out both}.hero-title:before{content:"";position:absolute;top:-34%;right:-24%;bottom:-34%;left:-24%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(8,11,24,.62),rgba(8,11,24,.28) 60%,transparent 80%)}.hero-div{display:block;width:120px;height:1px;margin:16px auto 12px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:fadeUp .7s .1s ease-out both}.logo{position:relative;font-size:5rem;margin:0;letter-spacing:.18em;text-indent:.18em;color:transparent;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 55%,#8a6f34);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px rgba(203,168,90,.35));animation:fadeUp .7s ease-out both,logoGlow 4.5s ease-in-out .7s infinite alternate}@keyframes logoGlow{to{filter:drop-shadow(0 0 30px rgba(203,168,90,.62))}}.seal{position:absolute;right:-1.5em;bottom:.5em;display:grid;place-items:center;width:2.2em;height:2.2em;font-family:var(--font-script);font-size:.9rem;line-height:1.1;letter-spacing:0;color:#f3e4c8;-webkit-text-fill-color:#f3e4c8;text-indent:0;background:var(--cinnabar);border-radius:3px;transform:rotate(6deg);box-shadow:0 0 0 1px #00000059 inset,0 2px 10px #c9503a59;writing-mode:vertical-rl}.roman{font-family:var(--font-roman);font-size:.82rem;letter-spacing:.55em;text-indent:.55em;color:var(--gold);opacity:.8;margin:0;animation:fadeUp .7s .12s ease-out both}.tagline{color:var(--paper-dim);margin:14px 0 0;letter-spacing:.34em;text-indent:.34em;animation:fadeUp .7s .18s ease-out both}.home-hook{margin:12px 0 0;font-size:.84rem;letter-spacing:.06em;color:var(--paper-dim);animation:fadeUp .7s .16s ease-out both}.home-hint{margin:8px 0 0;font-size:.8rem;letter-spacing:.14em;color:var(--jade);opacity:.9;animation:fadeUp .7s .2s ease-out both}.collection-strip{display:inline-flex;align-items:center;gap:12px;margin:0 auto 30px;padding:9px 20px;font-size:.86rem;letter-spacing:.04em;color:var(--paper-dim);background:#0c102680;border:1px solid var(--line-strong);border-radius:999px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeUp .7s .24s ease-out both;transition:border-color .2s,background .2s,color .2s}.collection-strip:hover{border-color:var(--gold);background:#cba85a1a;color:var(--paper)}.collection-strip b{color:var(--gold-bright);font-variant-numeric:tabular-nums;font-weight:600}.collection-strip .cs-sep{color:var(--line-strong)}.collection-strip .cs-go{color:var(--gold);letter-spacing:.1em}.colophon{display:flex;flex-direction:column;align-items:center;gap:20px;margin:46px 0 12px;animation:fadeUp .7s .3s ease-out both}.colophon-rule{position:relative;width:132px;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);color:var(--gold);font-size:.6rem;line-height:0;text-align:center}.colophon-rule:after{content:"❖";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 8px;background:var(--ink-9)}.colophon-mark{display:inline-flex;align-items:center;gap:14px;padding:7px 12px;text-decoration:none;border-radius:var(--radius);transition:background .25s}.colophon-mark:hover{background:#c9503a0f}.colophon-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:2.4em;height:2.4em;font-family:var(--font-script);font-size:.95rem;line-height:1;color:#f3e4c8;background:var(--cinnabar);border-radius:3px;transform:rotate(-5deg);box-shadow:0 0 0 1px #00000059 inset,0 2px 10px #c9503a4d;transition:transform .25s,box-shadow .25s,background .25s}.colophon-mark:hover .colophon-seal{background:var(--cinnabar-bright);transform:rotate(0) scale(1.04);box-shadow:0 0 0 1px #00000059 inset,0 4px 16px #e0704e73}.colophon-meta{display:flex;flex-direction:column;gap:4px;text-align:left}.colophon-invite{font-size:.84rem;letter-spacing:.08em;color:var(--paper-dim);transition:color .25s}.colophon-mark:hover .colophon-invite{color:var(--gold-bright)}.colophon-repo{font-family:var(--font-roman);font-size:.72rem;letter-spacing:.1em;color:var(--gold);opacity:.7}.free-badge{position:absolute;top:10px;right:10px;z-index:1;padding:2px 8px;font-size:.68rem;letter-spacing:.04em;color:var(--jade);background:#080b18b8;border:1px solid rgba(111,174,155,.5);border-radius:2px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.continue-card{display:block;width:100%;margin-bottom:22px;padding:14px;border:1px dashed var(--gold);color:var(--gold-bright);background:#cba85a0f;animation:fadeUp .6s .15s ease-out both}.continue-card:hover{background:#cba85a1f;border-color:var(--gold-bright)}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.scenario-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px;text-align:left;background:var(--ink-8);min-height:190px;border:1px solid var(--line);overflow:hidden;animation:fadeUp .6s ease-out both}.card-cover{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.5;z-index:0;transition:opacity .3s,transform .4s}.has-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(to top,var(--ink-9) 8%,rgba(8,11,24,.45) 55%,rgba(8,11,24,.15))}.has-cover .scenario-emoji,.has-cover .scenario-title,.has-cover .scenario-intro{position:relative;z-index:1}.has-cover .scenario-title{text-shadow:0 1px 8px rgba(0,0,0,.8)}.has-cover .scenario-intro{color:var(--paper-dim);text-shadow:0 1px 6px rgba(0,0,0,.9)}.has-cover:hover .card-cover{opacity:.7;transform:scale(1.05)}.scenario-card:nth-child(1){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:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(203,168,90,.22);border-radius:3px;pointer-events:none;transition:border-color .25s}.scenario-card:hover{transform:translateY(-5px);border-color:var(--gold);background:var(--ink-7);box-shadow:0 14px 38px #00000080,0 0 22px #cba85a2e}.scenario-card:hover:before{border-color:#cba85a8c}.card-rune{position:absolute;top:8px;left:11px;z-index:1;font-size:.95rem;line-height:1;color:var(--gold);opacity:.4;transition:opacity .25s,text-shadow .25s;pointer-events:none}.scenario-card:hover .card-rune{opacity:.85;text-shadow:0 0 10px rgba(203,168,90,.5)}.scenario-emoji{font-size:2.1rem;line-height:1.2;transition:transform .25s;filter:drop-shadow(0 0 8px rgba(203,168,90,.25))}.scenario-card:hover .scenario-emoji{transform:scale(1.12)}.scenario-title{font-size:1.25rem;font-weight:600;letter-spacing:.08em;color:var(--gold-bright)}.scenario-intro{color:var(--muted);font-size:.85rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.import-card{border-style:dashed;justify-content:center;align-items:center;text-align:center}.saves{margin-top:28px;text-align:left;animation:fadeUp .6s .5s ease-out both}.saves-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.saves-title{color:var(--gold);letter-spacing:.2em;font-size:.95rem}.saves-title:before{content:"✦ ";color:var(--gold);opacity:.65}.saves-empty{color:var(--muted);font-size:.85rem}.slot-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.slot{display:flex;align-items:stretch;gap:8px}.slot-load{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--ink-8);border:1px solid var(--line);padding:10px 14px}.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{padding:6px 12px;font-size:.85rem;white-space:nowrap}.achievements{margin-top:24px;text-align:left;animation:fadeUp .6s .5s ease-out both}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:12px}.ach{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--ink-8)}.ach.done{border-color:var(--cinnabar);background:#c9503a12}.ach.locked{opacity:.55}.ach-icon{font-size:1.4rem;line-height:1}.ach-img{flex:none;width:52px;height:52px;background-size:cover;background-position:center;border-radius:6px;border:1px solid var(--line-strong);box-shadow:0 0 10px #cba85a2e;padding:0;cursor:zoom-in;transition:transform .15s,box-shadow .2s}.ach-clickable{text-align:left;cursor:zoom-in;font:inherit;width:100%;transition:transform .15s,box-shadow .2s,border-color .2s}.ach-clickable:hover{border-color:var(--gold);box-shadow:0 0 16px #cba85a38}.ach-clickable:hover .ach-img{transform:scale(1.08);box-shadow:0 0 16px #cba85a73}.badge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:5vh 16px;cursor:zoom-out;background:#04060ed9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);perspective:1200px;animation:fadeIn .25s ease-out both}.badge-show{display:flex;flex-direction:column;align-items:center;gap:18px;cursor:default;text-align:center;max-width:90vw}.badge-show-img{width:min(300px,72vw);height:min(300px,72vw);background-size:contain;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 0 40px rgba(203,168,90,.5));transform-origin:center;animation:fateSpinIn 1.3s cubic-bezier(.16,.84,.3,1) both,badgeFloat 3.5s ease-in-out 1.3s infinite alternate}@keyframes badgeFloat{to{filter:drop-shadow(0 0 60px rgba(236,210,143,.75));transform:translateY(-6px)}}.badge-show-name{margin:0;font-family:var(--font-display);font-size:1.8rem;letter-spacing:.12em;color:var(--gold-bright);text-shadow:0 0 22px rgba(203,168,90,.4);animation:fadeUp .6s .5s ease-out both}.badge-show-desc{margin:0;max-width:26em;color:var(--paper-dim);line-height:1.9;animation:fadeUp .6s .65s ease-out both}.ach-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ach-name{font-weight:600;color:var(--paper);font-size:.9rem}.ach.done .ach-name{color:var(--cinnabar-bright)}.ach-desc{font-size:.74rem;color:var(--muted)}.gallery{margin-top:24px;text-align:left;animation:fadeUp .6s .55s ease-out both}.gallery-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.gallery-name{font-weight:600;min-width:8em}.gallery-count{color:var(--gold);font-size:.85rem;margin-left:8px;font-variant-numeric:tabular-nums}.gallery-tones{display:flex;flex-wrap:wrap;gap:6px}.ending-chip{font-size:.8rem;padding:2px 10px;border-radius:12px;border:1px solid var(--line-strong)}.ending-chip.seen{color:var(--cinnabar-bright);border-color:var(--cinnabar);background:#c9503a14}.ending-chip.locked{color:var(--muted);border-style:dashed}.archive{animation:fadeIn .5s ease-out both}.archive-back{margin-bottom:8px}.archive-title{margin:10px 0 2px;text-align:center;font-family:var(--font-display);letter-spacing:.32em;font-size:1.9rem;color:var(--gold-bright);text-shadow:0 0 18px rgba(203,168,90,.28)}.archive-sub{margin:0 0 22px;text-align:center;color:var(--muted);letter-spacing:.28em;font-size:.82rem}.archive-tabs{display:flex;gap:8px;justify-content:center;border-bottom:1px solid var(--line);margin-bottom:8px;flex-wrap:wrap}.archive-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px 12px;color:var(--muted);letter-spacing:.12em;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)}.archive-tabs .tab-num{margin-left:7px;font-size:.74rem;color:var(--gold);font-variant-numeric:tabular-nums;opacity:.85}.archive .saves,.archive .achievements,.archive .gallery{margin-top:8px}.play-act{padding:6px 12px;font-size:.9rem}.auto-toggle.on{background:var(--gold);color:#1a1208;border-color:var(--gold);font-weight:600}.auto-hint{color:var(--gold);font-size:.85rem;font-style:italic;margin:0 0 4px;animation:pulse 1.6s ease-in-out infinite}.choice.recommended{border-color:var(--gold)}.choice.recommended .choice-text{color:var(--gold)}.setup{animation:fadeUp .5s ease-out both}.setup-cover{height:180px;margin:8px 0 4px;border-radius:var(--radius);background-size:cover;background-position:center 35%;border:1px solid var(--line);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}.setup h2{margin:16px 0 4px;letter-spacing:.08em}.setup-intro{color:var(--muted)}.panel{position:relative;background:var(--ink-8);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:16px 0}.panel h3{margin-top:0;font-size:1rem;color:var(--gold);letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:10px}.opening-list{display:flex;flex-direction:column;gap:10px}.opening{display:flex;flex-direction:column;gap:4px;text-align:left}.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{display:flex;gap:12px;flex-wrap:wrap}.len-row{display:flex;gap:10px;flex-wrap:wrap}.len-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;padding:8px 16px}.len-chip.selected{border-color:var(--gold);background:#cba85a1a}.len-chip .len-name{font-family:var(--font-display);font-size:1.05rem;color:var(--paper)}.len-chip.selected .len-name{color:var(--gold-bright)}.len-chip .len-turns{font-size:.78rem;color:var(--muted);letter-spacing:.05em}.mode-card{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px 16px;background:var(--ink-8);border:1px solid var(--line)}.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{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ambition-chip{padding:6px 14px;font-size:.9rem;border-radius:16px}.ambition-chip.selected{border-color:var(--gold);color:var(--gold);background:#c9a05c1a}.start-btn{width:100%;padding:14px;font-size:1.05rem;margin-top:8px}.test-result{font-size:.9rem}.hint{color:var(--muted);font-size:.85rem;margin:8px 0 0}.label-row{display:flex;justify-content:space-between;align-items:baseline}a.ext{color:var(--gold);font-size:.85rem;text-decoration:none;white-space:nowrap}a.ext:hover{color:var(--cinnabar-bright);text-decoration:underline}.combo{position:relative}.combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;margin:0;padding:4px;list-style:none;background:var(--ink-7);border:1px solid var(--line-strong);border-radius:var(--radius);max-height:260px;overflow-y:auto;box-shadow:0 10px 30px #00000080}.combo-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;border-radius:2px;cursor:pointer}.combo-item:hover{background:var(--ink-6)}.combo-item.selected{color:var(--cinnabar-bright)}.combo-hint{color:var(--muted);font-size:.8rem;white-space:nowrap}.play{display:flex;flex-direction:column;height:calc(100vh - 48px)}.play-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line);position:relative}.play-header:after{content:"";position:absolute;left:0;right:0;bottom:2px;border-bottom:1px solid rgba(59,48,35,.6)}.play-title{font-weight:600;letter-spacing:.06em}.play-turn{color:var(--gold);margin-left:auto;font-size:.9rem;font-variant-numeric:tabular-nums}.attr-panel{display:flex;gap:18px;flex-wrap:wrap;background:var(--ink-8);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;margin-top:12px}.attr{display:flex;align-items:center;gap:8px;flex:1;min-width:140px}.attr-name{font-size:.85rem;color:var(--paper-dim);white-space:nowrap}.attr-bar{flex:1;height:6px;background:var(--ink-9);border-radius:3px;overflow:hidden;border:1px solid var(--line)}.attr-fill{height:100%;transition:width .6s ease,background .4s}.attr-fill.sev-high{background:linear-gradient(90deg,var(--jade),#b8d8bd)}.attr-fill.sev-normal{background:linear-gradient(90deg,var(--gold),var(--jade))}.attr-fill.sev-low{background:linear-gradient(90deg,#a0642f,var(--gold))}.attr-fill.sev-critical{background:var(--cinnabar);animation:lowPulse 1.2s ease-in-out infinite}@keyframes lowPulse{50%{opacity:.5}}.attr-band{font-size:.72rem;letter-spacing:.05em;white-space:nowrap;padding:0 6px;border-radius:2px;border:1px solid transparent}.attr-band.sev-high{color:var(--jade);border-color:#8fb99659}.attr-band.sev-normal{color:var(--paper-dim)}.attr-band.sev-low{color:var(--gold);border-color:#c9a05c59}.attr-band.sev-critical{color:#f6ead2;background:var(--cinnabar);border-color:var(--cinnabar);animation:lowPulse 1.2s ease-in-out infinite}.attr-value{position:relative;font-size:.85rem;min-width:2.2em;text-align:right;font-variant-numeric:tabular-nums}.ambition-bar{display:flex;align-items:baseline;gap:8px;margin-top:8px;padding:6px 12px;border-left:2px solid var(--gold);background:#c9a05c0f}.ambition-label{font-size:.78rem;color:var(--gold);letter-spacing:.2em;white-space:nowrap}.ambition-text{font-size:.9rem;color:var(--paper-dim);flex:1;min-width:0}.goal-progress{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.goal-progress-track{width:72px;height:6px;border-radius:3px;background:#c9a05c2e;overflow:hidden}.goal-progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--cinnabar-bright));transition:width .6s ease}.goal-progress-pct{font-size:.76rem;color:var(--gold);font-variant-numeric:tabular-nums}.inventory{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:0 4px}.inventory-label{font-size:.8rem;color:var(--muted);letter-spacing:.2em}.item-chip{font-size:.8rem;padding:2px 10px;color:var(--paper-dim);background:var(--ink-8);border:1px solid var(--line-strong);border-radius:12px;animation:fadeUp .4s ease-out both}.memory{margin-top:8px;padding:0 4px}.memory>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:.8rem;color:var(--muted);letter-spacing:.2em}.memory>summary::-webkit-details-marker{display:none}.memory>summary:before{content:"▸";letter-spacing:0}.memory[open]>summary:before{content:"▾"}.memory-count{letter-spacing:0;font-size:.72rem;color:var(--cinnabar-bright);border:1px solid rgba(201,80,58,.5);border-radius:10px;padding:0 7px}.memory-list{margin:8px 0 0;padding:0 0 0 4px;list-style:none;display:flex;flex-direction:column;gap:4px}.memory-list li{font-size:.82rem;color:var(--paper-dim);line-height:1.5;padding-left:14px;position:relative}.memory-list li:before{content:"·";position:absolute;left:4px;color:var(--cinnabar)}.attr-delta{position:absolute;right:0;top:-1.15em;font-size:.78rem;pointer-events:none;animation:deltaFloat 2s ease-out both}.attr-delta.up{color:var(--jade)}.attr-delta.down{color:var(--cinnabar-bright)}@keyframes deltaFloat{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:none}70%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.log{flex:1;overflow-y:auto;padding:16px 4px}.intro{color:var(--muted);font-style:italic}.turn{margin-bottom:26px}.turn-no{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:.8rem;letter-spacing:.3em;margin-bottom:8px}.turn-no:before,.turn-no:after{content:"";flex:1;border-top:1px solid var(--line)}.turn.current .turn-no{color:var(--cinnabar-bright)}.turn.current .turn-no:before,.turn.current .turn-no:after{border-color:#c9503a59}.narrative{margin:0 0 8px;white-space:pre-wrap;text-indent:2em}.picked{color:var(--paper-dim);font-size:.9rem;margin:0}.picked:before{content:"▸ ";color:var(--cinnabar)}.reaction{margin:6px 0 0;padding:4px 0 4px 12px;border-left:2px solid var(--gold);color:var(--gold-bright);font-size:.88rem;font-style:italic;line-height:1.7;opacity:.92}.twist{margin:8px 0 0;padding:6px 12px;border:1px dashed var(--cinnabar);border-radius:4px;color:var(--cinnabar-bright);font-size:.84rem;letter-spacing:.04em;background:#c9503a0f}.typewriter{cursor:pointer}.caret{color:var(--cinnabar-bright);animation:pulse .8s steps(2) infinite}.error-box{border:1px solid var(--cinnabar);background:#c9503a0f;border-radius:var(--radius);padding:12px 16px;margin:12px 0}.error-box p{color:var(--cinnabar-bright);margin:0 0 8px}.choices{display:flex;flex-direction:column;gap:10px;padding-top:14px}.choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--ink-8);border:1px solid var(--line);padding:12px 16px 12px 18px;animation:fadeUp .4s ease-out both}.choice:nth-child(2){animation-delay:.07s}.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:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cinnabar);opacity:0;transition:opacity .2s}.choice:hover{background:var(--ink-7);border-color:var(--line-strong);transform:translate(3px)}.choice:hover:before{opacity:1}.choice-text{line-height:1.7}.choice-fx{display:flex;gap:6px;flex-wrap:wrap}.fx{font-size:.75rem;line-height:1.6;padding:0 8px;border-radius:2px;border:1px solid;font-variant-numeric:tabular-nums}.fx.up{color:var(--jade);border-color:#8fb99666}.fx.down{color:var(--cinnabar-bright);border-color:#e0603f66}.turn.key-moment{position:relative;border:1px solid rgba(203,168,90,.4);border-radius:6px;overflow:hidden;padding:0 16px 14px;background:linear-gradient(180deg,rgba(203,168,90,.07),transparent 38%),var(--ink-8);box-shadow:0 0 24px #cba85a14}.turn-art{height:200px;margin:0 -16px 6px;background-size:cover;background-position:center 35%;opacity:.96;box-shadow:inset 0 -56px 42px -18px var(--ink-8)}.turn-art.thumb{float:left;width:140px;height:94px;margin:2px 14px 4px 0;border:1px solid var(--line-strong);border-radius:4px;box-shadow:0 2px 10px #00000059;background-size:cover;background-position:center;padding:0;cursor:zoom-in;transition:transform .15s,box-shadow .2s,border-color .2s}.turn-art.thumb:hover{transform:scale(1.04);border-color:var(--gold);box-shadow:0 0 14px #cba85a59}.turn.has-thumb:after{content:"";display:block;clear:both}.turn.has-thumb .narrative{text-indent:0}@media (max-width: 520px){.turn-art.thumb{width:104px;height:70px;margin-right:10px}}.turn.key-moment .turn-no{position:relative;padding-top:4px}.turn.key-moment .turn-no{color:var(--gold);letter-spacing:.22em;text-shadow:0 0 12px rgba(203,168,90,.3)}.turn.key-moment .turn-no:before,.turn.key-moment .turn-no:after{border-color:#cba85a66}.turn.key-moment:after{content:"";position:absolute;top:0;right:8px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(203,168,90,.45);box-shadow:0 0 14px #cba85a29;pointer-events:none}.turn.key-moment:before{content:"";position:absolute;top:6px;right:14px;width:34px;height:34px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(203,168,90,.6) 0 1.2deg,transparent 1.2deg 15deg);-webkit-mask:radial-gradient(circle,transparent 54%,#000 60%);mask:radial-gradient(circle,transparent 54%,#000 60%);opacity:.65;animation:spin 28s linear infinite;pointer-events:none}.choices.key-moment{position:relative}.choices.key-moment:before{content:"☰  落 子 问 命  ☷";display:block;text-align:center;font-size:.72rem;letter-spacing:.35em;color:var(--gold);opacity:.7;margin:2px 0 4px}.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{min-height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;cursor:pointer;perspective:1400px;animation:fadeUp .5s ease-out both}.fate-card{width:min(384px,84vw);aspect-ratio:3 / 4;transform-style:preserve-3d}.fate-card-inner{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--gold);box-shadow:0 0 0 1px #0006 inset,0 24px 70px #0009,0 0 44px #cba85a38;background:var(--ink-8);transform-origin:center;animation:fateSpinIn 1.6s cubic-bezier(.16,.84,.3,1) both,fateGlow 3.4s ease-in-out 1.6s infinite alternate}@keyframes fateSpinIn{0%{transform:rotateY(-720deg) scale(.55);opacity:0}70%{opacity:1}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes fateGlow{to{box-shadow:0 0 0 1px #0006 inset,0 24px 70px #0009,0 0 64px #cba85a80}}.fate-card:hover .fate-card-inner{border-color:var(--gold-bright)}.fate-card-art{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.92}.fate-card-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 32%,rgba(8,11,24,.2),transparent 55%),linear-gradient(to bottom,#080b1859,#080b1833 45%,#080b18eb)}.fate-card-corner{position:absolute;z-index:2;color:var(--gold-bright);font-size:1rem;text-shadow:0 0 10px rgba(203,168,90,.7)}.fate-card-corner.tl{top:12px;left:14px}.fate-card-corner.br{bottom:12px;right:14px}.fate-card-face{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 22px 40px}.fate-seal{display:grid;place-items:center;width:2em;height:2em;margin-bottom:16px;font-family:var(--font-script);font-size:1.4rem;color:#f3e4c8;background:var(--cinnabar);border-radius:4px;transform:rotate(7deg);box-shadow:0 0 0 1px #00000059 inset,0 2px 14px #c9503a80}.fate-tone{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2.1rem);line-height:1.3;letter-spacing:.06em;color:#f3e4c8;text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 26px rgba(201,80,58,.35)}.fate-sub{margin:12px 0 0;font-size:.8rem;letter-spacing:.12em;color:var(--paper-dim);text-shadow:0 1px 6px rgba(0,0,0,.9)}.fate-hint{color:var(--gold);letter-spacing:.3em;text-indent:.3em;font-size:.9rem;animation:pulse 1.8s ease-in-out infinite}.memoir-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:4vh 16px;background:#04060ec7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out both}.memoir{width:min(760px,96vw);max-height:92vh;overflow-y:auto;background:var(--ink-9);border:1px solid var(--line-strong);border-radius:8px;padding:20px 22px 26px;box-shadow:0 30px 80px #0009}.memoir-head{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.memoir-title{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.24em;color:var(--gold-bright)}.memoir-count{color:var(--gold);font-size:.82rem;font-variant-numeric:tabular-nums}.memoir-close{margin-left:auto;font-size:1rem;padding:4px 10px}.memoir-empty{color:var(--muted);font-style:italic;text-align:center;padding:30px 0}.memoir-grid{display:flex;flex-direction:column;gap:16px}.memoir-card{position:relative;overflow:hidden;border:1px solid rgba(203,168,90,.4);border-radius:6px;background:var(--ink-8);box-shadow:0 0 18px #cba85a0f;animation:fadeUp .4s ease-out both}.memoir-card-art{height:220px;background-size:cover;background-position:center 35%;opacity:.96;box-shadow:inset 0 -56px 42px -18px var(--ink-8)}.memoir-card-body{padding:12px 18px 16px;position:relative}.memoir-card-no{display:block;color:var(--gold);font-size:.78rem;letter-spacing:.22em;text-shadow:0 0 12px rgba(203,168,90,.3);margin-bottom:8px}.memoir-card-narr{margin:0;line-height:1.9}.memoir-card-pick{margin:8px 0 0;color:var(--paper-dim);font-size:.9rem}.memoir-card-pick:before{content:""}.memoir-card-react{margin:6px 0 0;padding-left:12px;border-left:2px solid var(--gold);color:var(--gold-bright);font-size:.86rem;font-style:italic;line-height:1.7;opacity:.92}.turn-art,.memoir-card-art{cursor:zoom-in}.storycard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:4vh 16px;background:#04060ed1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;animation:fadeIn .3s ease-out both}.storycard{width:min(520px,92vw);background:var(--ink-8);border:1px solid var(--gold);border-radius:8px;overflow:hidden;cursor:default;box-shadow:0 30px 80px #000000a6,0 0 50px #cba85a38;animation:fateSpinIn 1.2s cubic-bezier(.16,.84,.3,1) both}.storycard-art{display:block;width:100%;aspect-ratio:3 / 2;background-size:cover;background-position:center;border:none;padding:0;position:relative;cursor:zoom-in}.storycard-zoom{position:absolute;bottom:10px;right:12px;width:30px;height:30px;display:grid;place-items:center;font-size:1rem;color:var(--gold-bright);background:#080b18b3;border:1px solid var(--line-strong);border-radius:50%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.storycard-face{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 24px 26px;text-align:center;background:linear-gradient(to bottom,rgba(203,168,90,.07),transparent 60%)}.storycard-label{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.22em;color:var(--gold-bright);text-shadow:0 0 16px rgba(203,168,90,.35)}.storycard-go{padding:11px 30px;letter-spacing:.18em}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:3vh 3vw;background:#020309eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;animation:fadeIn .25s ease-out both}.lightbox-img{max-width:94vw;max-height:84vh;object-fit:contain;border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 20px 70px #000000b3}.lightbox-hint{color:var(--muted);letter-spacing:.3em;font-size:.82rem}.ending-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:4vh 16px;background:#04060ed1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out both}.ending-detail{position:relative;width:min(540px,94vw);max-height:92vh;overflow-y:auto;background:var(--ink-8);border:1px solid var(--gold);border-radius:8px;overflow:hidden;box-shadow:0 30px 80px #000000a6,0 0 50px #cba85a2e}.ed-close{position:absolute;top:8px;right:8px;z-index:3;font-size:1rem;padding:4px 10px;background:#080b1899;border-radius:50%}.ed-art{display:block;width:100%;aspect-ratio:3 / 2;background-size:cover;background-position:center;border:none;padding:0;position:relative;cursor:zoom-in}.ed-body{padding:18px 24px 26px;background:linear-gradient(to bottom,rgba(203,168,90,.06),transparent 50%)}.ed-scene{color:var(--gold);font-size:.85rem;letter-spacing:.12em}.ed-tone{margin:8px 0 14px;font-family:var(--font-display);font-size:1.6rem;letter-spacing:.06em;color:var(--cinnabar-bright);text-shadow:0 0 20px rgba(201,80,58,.3)}.ed-epilogue{margin:0;line-height:2;color:var(--paper)}.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{display:flex;flex-direction:column;gap:8px;border:1px solid var(--gold);border-radius:var(--radius);padding:12px;background:var(--ink-8);animation:fadeUp .25s ease-out both}.custom-input{font:inherit;width:100%;resize:vertical;color:var(--paper);background:var(--ink-9);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.custom-input:focus{outline:none;border-color:var(--gold)}.custom-row{display:flex;justify-content:flex-end;gap:10px}.custom-row button{padding:6px 16px}.ending{text-align:center;padding-top:4vh;animation:fadeIn .6s ease-out both}.ending-art{width:100%;max-width:520px;height:240px;margin:0 auto 14px;background-size:cover;background-position:center;-webkit-mask-image:radial-gradient(125% 105% at 50% 36%,#000 52%,transparent 100%);mask-image:radial-gradient(125% 105% at 50% 36%,#000 52%,transparent 100%);animation:fadeUp .8s ease-out both}.ending-tone{position:relative;display:inline-block;font-size:3.4rem;margin:0;color:var(--cinnabar-bright);letter-spacing:.1em;text-shadow:0 2px 30px rgba(201,80,58,.35)}.seal-mark{display:inline-grid;place-items:center;vertical-align:.5em;margin-left:14px;width:1.6rem;height:1.6rem;font-family:var(--font-script);font-size:1rem;color:#f3e4c8;background:var(--cinnabar);border-radius:3px;transform:rotate(8deg);box-shadow:0 0 0 1px #00000059 inset}.ending-grade{display:flex;gap:12px;align-items:center;justify-content:center;margin:4px 0}.grade-badge{font-family:var(--font-script);font-size:1.3rem;padding:2px 14px;border-radius:4px;color:#1a1208;background:var(--gold);border:1px solid var(--gold)}.grade-badge.grade-S{background:var(--cinnabar-bright);border-color:var(--cinnabar-bright);color:#f6ead2}.grade-badge.grade-A{background:var(--gold)}.grade-badge.grade-D{background:var(--muted);border-color:var(--muted)}.grade-title{color:var(--paper-dim);letter-spacing:.1em}.ending-meta{color:var(--muted);letter-spacing:.2em}.ending-cause{color:var(--cinnabar-bright);letter-spacing:.12em;font-size:.9rem;margin:2px 0 0;opacity:.9}.ending-text{text-align:left;background:var(--ink-8);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;white-space:pre-wrap;text-indent:2em}.local-ending-note{text-align:center;color:var(--paper-dim);font-size:.85rem;opacity:.78;margin:-4px 0 4px}.summary-card-fold>summary{cursor:pointer;text-align:center;color:var(--paper-dim);font-size:.85rem;list-style:none;padding:6px 0;-webkit-user-select:none;user-select: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;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:16px 20px;white-space:pre-wrap;color:var(--paper-dim);font-family:inherit;font-size:.9rem}.ending .row{justify-content:center}.ending-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px}.ending-actions-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.ending-actions-row.nav{padding-top:12px;border-top:1px solid var(--line);width:100%;max-width:460px}.ending-actions .primary{padding:12px 26px}.ending-actions .ghost-line{background:transparent;border:1px solid var(--line-strong);color:var(--paper-dim);letter-spacing:.06em}.ending-actions .ghost-line:hover{border-color:var(--gold);color:var(--gold-bright)}@media (max-width: 600px){:root{font-size:15px}.play{height:calc(100dvh - 40px)}.attr{min-width:110px}.logo{font-size:3.4rem}.seal{right:-1.1em}}.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{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#060812bd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeUp .2s ease-out both}.modal{width:100%;max-width:520px;max-height:88vh;overflow-y:auto;padding:26px 26px 22px;background:var(--ink-8, #0e1430);border:1px solid var(--line-strong);border-radius:4px;box-shadow:0 16px 48px #0009}.modal h3{margin:0 0 6px;color:var(--paper)}.gen-modal input[type=text],.gen-modal input:not([type]),.gen-modal input[type=password]{width:100%}.suggest-row{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 4px}.gen-config{margin:14px 0;border-top:1px solid var(--line);padding-top:8px}.gen-config summary{cursor:pointer;color:var(--paper-dim);font-size:.85rem}.gen-progress{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:var(--cinnabar-bright);font-size:.9rem}.gen-actions{justify-content:flex-end}.spinner{width:16px;height:16px;border:2px solid rgba(224,96,63,.3);border-top-color:var(--cinnabar-bright);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
