.join-shell[data-v-7cd9d5eb]{min-height:100%}.join-err[data-v-7cd9d5eb],.join-wait[data-v-7cd9d5eb]{text-align:center;color:var(--text-dim);padding:40px 16px;position:relative;z-index:1}.join-err .sub[data-v-7cd9d5eb]{margin:12px 0 20px;font-size:14px}.join-err .btn[data-v-7cd9d5eb]{display:inline-block;margin:0 6px;padding:8px 16px;border:1px solid currentColor;border-radius:8px;text-decoration:none;color:inherit;background:transparent;cursor:pointer;font:inherit}.game-toast[data-v-7cd9d5eb]{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:100;max-width:90%;padding:10px 12px 10px 16px;background:#b42828eb;color:#fff;border-radius:8px;font-size:14px;display:flex;align-items:center;gap:10px;cursor:pointer}.toast-x[data-v-7cd9d5eb]{border:none;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.pause-overlay[data-v-7cd9d5eb]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#000000b8;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:24px}.pause-title[data-v-7cd9d5eb]{font-size:20px;font-weight:600;margin:0 0 8px}.pause-sub[data-v-7cd9d5eb]{margin:0;font-size:14px;opacity:.85}:root{--scroll-track: #1a1512;--scroll-thumb: #5a4a36;--scroll-thumb-hover: #d9b45b}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:4px}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px;border:2px solid var(--scroll-track)}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}*::-webkit-scrollbar-corner{background:var(--scroll-track)}:root{--ink: #140c0a;--ink-soft: #2a1814;--paper: #f2e6d4;--paper-warm: #e8c872;--cinnabar: #9a2e2e;--cinnabar-deep: #5c1515;--bronze: #b08d57;--bronze-pale: #d9c4a0;--text: #f5ebe0;--text-dim: #a89888;--shu: #3d7a52;--wei: #3a5f8c;--wu: #8c3a32;--line: rgba(176, 141, 87, .35);--shadow: rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1,h2,h3,.calligraphy{font-family:STSong,SimSun,Songti SC,serif;font-weight:700;letter-spacing:.12em}a{color:var(--bronze-pale);text-decoration:none}.phone{margin:0 auto;height:100%;max-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--ink);box-shadow:0 0 60px var(--shadow)}.phone-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center top;background-repeat:no-repeat;opacity:1;pointer-events:none}.phone-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#140c0a80,#140c0ac7 48%,#140c0af0)}.phone-bg.is-character:after{background:linear-gradient(180deg,#140c0a61,#140c0aad 52%,#140c0aeb)}.phone-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.phone-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.phone-head .brand{font-family:STSong,SimSun,serif;font-size:20px;color:var(--bronze-pale);letter-spacing:.35em;text-indent:.35em;justify-self:start}.phone-head .hero-name{justify-self:center;max-width:42vw;padding:0 4px;font-family:STSong,SimSun,serif;font-size:18px;font-weight:700;letter-spacing:.28em;text-indent:.28em;color:var(--paper-warm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.65)}.phone-head .hero-name.empty{min-height:1.2em}.phone-head .day-seal{justify-self:end}.phone-head .day-seal-placeholder{visibility:hidden;min-width:72px;padding:4px 10px;border:2px solid transparent}.day-seal{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:4px 10px;border:2px solid var(--cinnabar);color:var(--paper-warm);font-family:STSong,serif;font-size:15px;letter-spacing:.2em;background:linear-gradient(180deg,#9a2e2e59,#5c151580);box-shadow:inset 0 0 0 1px #e8c87240}.phone-body{flex:1;min-height:0;padding:16px 14px 20px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.phone-foot{flex-shrink:0;max-height:38dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;border-top:2px solid var(--bronze);padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--ink-soft),#0d0806);z-index:2}.res-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.res-cell{text-align:center;padding:8px 4px 6px;background:linear-gradient(180deg,#3a2a22,#261912);border:1px solid var(--bronze);box-shadow:inset 0 1px #ffffff0f}.res-cell .num{font-size:26px;font-weight:700;color:var(--paper-warm);line-height:1;font-variant-numeric:tabular-nums}.res-cell .lab{font-size:13px;color:var(--bronze-pale);margin-top:4px;letter-spacing:.3em;text-indent:.3em}.res-cell.is-dead .num{color:#7a4545;text-decoration:line-through}.page-title{text-align:center;margin-bottom:14px}.page-title h2{font-size:22px;color:var(--paper-warm);letter-spacing:.4em;text-indent:.4em}.page-title p{font-size:12px;color:var(--text-dim);margin-top:6px}.faction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.faction-col h3{text-align:center;font-size:28px;margin-bottom:10px;opacity:.95}.faction-col.shu h3{color:#6fbf8a}.faction-col.wei h3{color:#7eb0e8}.faction-col.wu h3{color:#e08070}.sticker-list{display:flex;flex-direction:column;gap:10px}.sticker-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;cursor:pointer;position:relative;width:100%}.sticker-btn:disabled{cursor:not-allowed}.sticker-frame{position:relative;width:100%;aspect-ratio:1;max-width:108px;margin:0 auto;border-radius:50%;overflow:hidden;border:3px solid var(--bronze);box-shadow:0 4px 12px var(--shadow);transition:transform .12s,box-shadow .12s}.sticker-btn:not(:disabled):active .sticker-frame{transform:scale(.96)}.sticker-frame img{width:100%;height:100%;object-fit:cover;display:block}.sticker-frame .fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#b83232,#6b1515 70%);font-family:STSong,serif;font-size:22px;color:var(--bronze-pale)}.sticker-btn.is-mine .sticker-frame,.sticker-btn.is-selected .sticker-frame{border-color:var(--paper-warm);box-shadow:0 0 0 3px #e8c87259,0 6px 16px var(--shadow)}.sticker-btn.is-taken .sticker-frame{filter:grayscale(.85) brightness(.55);border-color:#4a4038;opacity:.7}.sticker-name{text-align:center;font-size:13px;color:var(--text-dim);margin-top:4px}.sticker-btn.is-mine .sticker-name,.sticker-btn.is-selected .sticker-name{color:var(--paper-warm);font-weight:600}.hint-line{text-align:center;font-size:12px;color:var(--text-dim);margin-top:14px;line-height:1.6}.wait-panel{text-align:center;padding:36px 12px}.wait-panel .dots{font-size:20px;letter-spacing:8px;color:var(--bronze);margin-bottom:16px}.wait-panel .msg{font-size:20px;font-family:STSong,serif;color:var(--paper);letter-spacing:.15em}.wait-panel .sub{margin-top:12px;font-size:14px;color:var(--text-dim)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;padding:14px 16px;border:1px solid var(--bronze);background:linear-gradient(180deg,#3d2e26,#2a1e18);color:var(--text);font-size:17px;font-family:inherit;letter-spacing:.2em;text-indent:.2em;cursor:pointer;margin-top:10px}.btn:active{filter:brightness(1.08)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#b83838,#7a2020);border-color:#c45050;color:var(--paper);font-weight:600}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text-dim);font-size:15px}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.btn-row .btn{margin-top:0}.btn-row-3{grid-template-columns:1fr 1fr 1fr}.money-banner{text-align:center;margin-bottom:16px;padding:12px;border:1px dashed var(--bronze);background:#00000040}.money-banner .label{font-size:14px;color:var(--text-dim)}.money-banner .val{font-size:36px;font-weight:700;color:var(--paper-warm);font-variant-numeric:tabular-nums}.step-row{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:10px;background:#0000004d;border:1px solid var(--line)}.step-row .meta{flex:1}.step-row .meta .k{font-size:17px;color:var(--paper)}.step-row .meta .hint{font-size:12px;color:var(--text-dim);margin-top:2px}.step-row .val{font-size:28px;font-weight:700;color:var(--paper-warm);min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.step-btn{width:44px;height:44px;border:1px solid var(--bronze);background:var(--ink-soft);color:var(--bronze-pale);font-size:24px;line-height:1;cursor:pointer;flex-shrink:0}.step-btn:disabled{opacity:.3}.loc-line{text-align:center;font-size:14px;color:var(--text-dim);margin-bottom:10px}.loc-line b{color:var(--paper-warm);font-weight:600}.weather-card{text-align:center;padding:24px 16px;margin-bottom:16px;border:1px solid var(--line);background:#00000059}.weather-card .icon{font-size:48px;line-height:1}.weather-card .place{font-family:STSong,serif;font-size:22px;color:var(--paper-warm);margin:10px 0 6px;letter-spacing:.2em}.weather-card .cost{color:#d07070;font-size:16px;letter-spacing:.1em}.weather-card .action{margin-top:8px;font-size:13px;color:var(--text-dim)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:0}.modal-sheet{width:100%;max-width:430px;max-height:88vh;max-height:88dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;background:linear-gradient(180deg,#2a1c18,#140c0a);border-top:3px solid var(--bronze);padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.modal-sheet h2{text-align:center;font-size:20px;color:var(--paper-warm);margin-bottom:4px}.modal-sheet .price-tip{text-align:center;font-size:12px;color:var(--text-dim);margin-bottom:14px;line-height:1.6}.dev-nav{padding:20px 14px 40px;min-height:100%;position:relative;z-index:1}.dev-nav h1{font-size:24px;color:var(--bronze-pale);text-align:center;letter-spacing:.3em;margin-bottom:6px}.dev-nav .intro{text-align:center;font-size:13px;color:var(--text-dim);margin-bottom:24px;line-height:1.7}.dev-nav ul{list-style:none}.dev-nav li{margin-bottom:8px}.dev-nav a{display:block;padding:14px 16px;border:1px solid var(--line);background:#ffffff08;color:var(--text);font-size:15px}.dev-nav a:hover{border-color:var(--bronze);color:var(--paper-warm)}.dev-nav a small{display:block;font-size:12px;color:var(--text-dim);margin-top:4px;letter-spacing:0}.dev-phase{margin-bottom:20px}.dev-phase h2{margin-bottom:8px}.dev-phase h2 a{display:inline;padding:0;border:none;background:none;font-size:16px;color:var(--bronze-pale);letter-spacing:.1em}.dev-phase ul{padding-left:8px}.dev-phase li a{font-size:14px;padding:10px 14px}.dev-nav code{font-size:12px;color:var(--cinnabar)}.gap-top{margin-top:12px}
