.tools-shellbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.tools-offline{margin-top:10px;padding:10px 14px;border-radius:var(--r-card);background:#f3dfc2;border:1px solid var(--line);font-size:var(--fs-small);line-height:1.7;color:var(--ink)}.tools-update{margin-top:10px;padding:10px 14px;border-radius:var(--r-card);background:#dcead2;border:1px solid var(--line);font-size:var(--fs-small);line-height:1.7;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tools-alert{margin-top:10px;padding:10px 14px;border-radius:var(--r-card);background:#f2cfc4;border:1px solid var(--line);font-size:var(--fs-small);line-height:1.7;color:var(--ink)}.tools-guide-dots{display:flex;gap:6px;justify-content:center;margin:10px 0 2px}.tools-guide-dot{width:8px;height:8px;border-radius:50%;background:var(--paper-deep);border:1px solid var(--line)}.tools-guide-dot--on{background:var(--apricot)}.tools-sync{font-size:var(--fs-small);color:var(--ink-soft);padding:4px 10px;border-radius:var(--r-chip);background:var(--card);border:1px solid var(--line)}.tools-sync--synced{color:#4c7a3f}.tools-sync--failed{color:#a44a3f}.tools-sync--syncing,.tools-sync--pending{color:#9a6a1f}.tools-horn{position:relative;border:1px solid var(--line);background:var(--card);border-radius:50%;width:38px;height:38px;font-size:18px;cursor:pointer}.tools-horn__dot{position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;background:#d96f4e;border:2px solid var(--card)}.tools-search{position:relative;flex:1 1 220px;min-width:180px}.tools-search__input{width:100%;box-sizing:border-box;min-height:38px;padding:6px 14px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--card);font-size:var(--fs-body);color:var(--ink)}.tools-search__results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-pop);padding:6px;display:grid;gap:2px;max-height:320px;overflow-y:auto}.tools-search__item{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border:none;background:none;cursor:pointer;text-align:left;padding:8px 10px;border-radius:10px;font-size:var(--fs-body);color:var(--ink)}.tools-search__item:hover{background:var(--paper-deep)}.tools-search__sub{color:var(--ink-soft);font-size:var(--fs-small)}.tools-search__empty{padding:10px;color:var(--ink-soft);font-size:var(--fs-small)}.tools-music{position:relative;display:inline-flex;gap:4px;align-items:center}.tools-music__main,.tools-music__more,.tools-feedback-btn{border:1px solid var(--line);background:var(--card);cursor:pointer;min-height:38px;padding:6px 12px;border-radius:var(--r-chip);font-size:var(--fs-small);color:var(--ink)}.tools-music__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:260px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-pop);padding:12px;display:grid;gap:8px}.tools-music__row{display:flex;align-items:center;gap:10px;font-size:var(--fs-small)}.tools-music__discs{display:grid;gap:6px}.tools-music__disc{border:1px solid var(--line);background:var(--card);cursor:pointer;padding:6px 10px;border-radius:var(--r-chip);text-align:left;font-size:var(--fs-small)}.tools-music__disc--active{background:var(--apricot);font-weight:700}.tools-feedback-item{border-top:1px solid var(--line);padding-top:8px;display:grid;gap:4px}.tools-linkbtn{border:none;background:none;cursor:pointer;color:var(--ink-soft);font-size:var(--fs-small);padding:0;text-align:left}.tools-wake-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper-deep);padding:18px;text-align:center;display:grid;gap:8px;justify-items:center}.tools-ar-stage{position:relative;overflow:hidden;border-radius:var(--r-card);background:var(--paper-deep);min-height:180px}:root{--paper: #faf3e6;--paper-deep: #f4e8d2;--card: #fffaf1;--ink: #51453a;--ink-soft: #a08d76;--line: #eee1cb;--apricot: #eebd90;--apricot-deep: #d99f63;--on-accent: #6b4e2e;--leaf: #aed3ba;--sky: #bfd6ea;--blush: #f5cfc9;--butter: #f7e3ab;--lilac: #d6cbe9;--line-collect: #97bf92;--line-board: #9db1cf;--line-spire: #b7a3d6;--line-td: #e2b07c;--rarity-n: #f1ead9;--rarity-r: #c2dcb4;--rarity-sr: #f4d194;--rarity-ssr: #f6c3cf;--good: #86ac6e;--bad: #cf7d63;--danger: #cb6f5c;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");--wash: radial-gradient(1100px 560px at 12% -6%, rgba(245, 207, 201, .38), transparent 62%), radial-gradient(980px 520px at 92% -2%, rgba(191, 214, 234, .32), transparent 62%), radial-gradient(900px 680px at 50% 112%, rgba(247, 227, 171, .3), transparent 62%);--ink-2: var(--ink-soft);--paper-2: var(--paper-deep);--radius-m: 16px;--c-card: var(--card);--c-ink: var(--ink);--c-ink-soft: var(--ink-soft);--c-line: var(--line);--c-accent: #e2a468;--c-accent-deep: #c9854e;--c-leaf: var(--leaf);--c-sky: var(--sky);--c-rose: #eda9b8;--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--fs-hero: 28px;--fs-title: 20px;--fs-h: 16px;--fs-body: 14px;--fs-small: 12px;--fs-num: 15px}:root[data-font=large]{--fs-hero: 32px;--fs-title: 23px;--fs-h: 18px;--fs-body: 16px;--fs-small: 14px;--fs-num: 17px;--r-card: 22px;--r-btn: 999px;--r-chip: 999px;--r-modal: 26px;--shadow-card: 0 6px 24px rgba(148, 116, 76, .1), 0 2px 6px rgba(148, 116, 76, .05);--shadow-pop: 0 18px 48px rgba(148, 116, 76, .2), 0 4px 12px rgba(148, 116, 76, .08);--shadow-soft: 0 4px 16px rgba(148, 116, 76, .08);--dur-tap: .12s;--dur-page: .24s;--dur-flip-n: .45s;--dur-flip-r: .55s;--dur-flip-sr: .7s;--dur-flip-ssr: .9s;--ease: cubic-bezier(.22, .9, .3, 1);--stage-landscape-w: 844px;--stage-landscape-h: 390px;--stage-desktop-w: 1440px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tap-min: 44px;--gap: 12px;--gap-lg: 20px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-body);color:var(--ink);background-color:var(--paper);background-image:var(--grain),var(--wash);background-repeat:repeat,no-repeat;background-size:180px 180px,cover;background-attachment:scroll,fixed;-webkit-font-smoothing:antialiased}button{font-family:inherit}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.stage{min-height:100%;margin:0 auto;padding:calc(var(--gap) + var(--safe-top)) var(--gap) calc(var(--gap-lg) + var(--safe-bottom));max-width:560px}@media(orientation:landscape)and (min-width:700px){.stage{max-width:var(--stage-landscape-w)}}html,body{overflow-x:hidden}img,canvas,svg,video{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:10px 22px;border:none;border-radius:var(--r-btn);font-size:var(--fs-h);font-weight:600;color:var(--ink);background:var(--apricot);cursor:pointer;transition:transform var(--dur-tap) var(--ease),background var(--dur-tap) var(--ease),opacity var(--dur-tap)}.btn:active{transform:scale(.97)}.btn--primary{background:var(--apricot);color:var(--on-accent);box-shadow:var(--shadow-card)}.btn--primary:hover{background:var(--apricot-deep)}.btn--ghost{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.btn--disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn img{width:22px;height:22px;object-fit:contain}.card{background-color:var(--card);background-image:var(--grain);background-size:180px 180px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--gap-lg)}.card__title{font-size:var(--fs-h);font-weight:700;margin:0 0 8px}.card__sub{color:var(--ink-soft);font-size:var(--fs-small)}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.tabs__item{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 16px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--card);font-size:var(--fs-body);color:var(--ink-soft);cursor:pointer;transition:all var(--dur-tap) var(--ease)}.tabs__item--active{background:var(--apricot);border-color:var(--apricot-deep);color:var(--on-accent);font-weight:700}.tabs__item img{width:20px;height:20px;object-fit:contain}.tabs__badge{width:8px;height:8px;border-radius:50%;background:var(--danger, #cb6f5c);flex:0 0 auto}.lineentry__badge{position:absolute;top:10px;right:10px;width:11px;height:11px;border-radius:50%;background:var(--danger, #cb6f5c);box-shadow:0 0 0 2px var(--card);z-index:2}.modal__mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#604e3852;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);animation:fadeIn var(--dur-page) var(--ease)}.modal{width:100%;max-width:430px;max-height:84vh;overflow-y:auto;background-color:var(--card);background-image:var(--grain);background-size:180px 180px;border-radius:var(--r-modal);box-shadow:var(--shadow-pop);padding:var(--gap-lg);animation:popIn var(--dur-page) var(--ease)}.modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal__title{font-size:var(--fs-title);font-weight:800;margin:0}.modal__close{width:var(--tap-min);height:var(--tap-min);border:none;border-radius:50%;background:var(--card);font-size:18px;color:var(--ink-soft);cursor:pointer}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}}.resourcebar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-chip);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid color-mix(in srgb,var(--line) 55%,transparent);box-shadow:var(--shadow-card)}.resourcebar__coin{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-num);font-weight:800}.resourcebar__coin img{width:22px;height:22px;object-fit:contain}.resourcebar__spacer{flex:1}.resourcebar__account{display:inline-flex;align-items:center;gap:6px;border:none;background:none;cursor:pointer;font-size:var(--fs-small);color:var(--ink-soft);padding:6px 4px}.resourcebar__account img{width:26px;height:26px;border-radius:50%;object-fit:cover}.lineentry{position:relative;display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;cursor:pointer;padding:0;background:var(--card);box-shadow:var(--shadow-card);transition:transform var(--dur-tap) var(--ease)}.lineentry:active{transform:scale(.98)}.lineentry__art{width:100%;height:92px;object-fit:cover;display:block}.lineentry__body{padding:10px 14px 12px}.lineentry__name{font-size:var(--fs-h);font-weight:800;display:flex;align-items:center;gap:8px}.lineentry__dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.lineentry__desc{color:var(--ink-soft);font-size:var(--fs-small);margin-top:3px}.lineentry__phase{position:absolute;top:10px;right:10px;background:color-mix(in srgb,var(--card) 90%,transparent);color:var(--ink-soft);font-size:var(--fs-small);font-weight:700;padding:3px 10px;border-radius:var(--r-chip)}.roomhead{display:flex;align-items:center;gap:12px;margin-bottom:var(--gap)}.roomhead__back{width:var(--tap-min);height:var(--tap-min);border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:18px;cursor:pointer}.roomhead__title{font-size:var(--fs-title);font-weight:800;margin:0}.checklist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.checklist li{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:10px 12px;font-size:var(--fs-body);box-shadow:var(--shadow-soft)}.checklist__no{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--paper-deep);color:var(--ink-soft);font-size:var(--fs-small);font-weight:800;display:inline-flex;align-items:center;justify-content:center}.checklist__note{color:var(--ink-soft);font-size:var(--fs-small);display:block;margin-top:2px}
