#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#e8eef8}#ui-root>*{pointer-events:auto}.xy-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;animation:xy-fade .15s ease-out}@keyframes xy-fade{0%{opacity:0}to{opacity:1}}.xy-panel{width:min(940px,100%);max-height:94vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#101a2e;border:1px solid #4a4a6a;border-radius:10px;padding:16px 18px 20px;box-sizing:border-box;box-shadow:0 12px 40px #0009}.xy-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.xy-head h2{margin:0;font-size:20px;font-weight:700}.xy-x{flex:none;width:34px;height:34px;border-radius:8px;border:1px solid #4a4a6a;background:#22223a;color:#cfd8e8;font-size:16px;line-height:1;cursor:pointer}.xy-x:hover{background:#31314f}.xy-sub{font-size:13px;color:#9ab0d0;margin:0 0 12px;line-height:1.5}.xy-sub b{color:#ffd166;font-weight:600}.xy-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.xy-lane-head{font-size:13px;font-weight:700;color:#8ab4f8;text-align:center;padding-bottom:4px;margin-bottom:6px;border-bottom:1px solid #2a3a5a}.xy-lane{display:flex;flex-direction:column;gap:8px}.tech-card{border:1px solid #4a4a6a;border-radius:8px;padding:8px 10px;background:#23233a;transition:transform .08s ease,border-color .15s ease,background .15s ease}.tech-card .tc-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tech-card .tc-name{font-size:15px;font-weight:700;color:#fff}.tech-card .tc-cost{font-size:11px;color:#9ab0d0;white-space:nowrap}.tech-card .tc-desc{font-size:11px;color:#c8d4e8;margin-top:3px;line-height:1.35}.tech-card .tc-state{font-size:11px;font-weight:700;margin-top:6px;letter-spacing:.02em}.tech-card.researched{background:#1e3a2a;border-color:#4ea86e}.tech-card.researched .tc-state{color:#6ee08a}.tech-card.current{background:#3a2f14;border-color:#ffd166;box-shadow:0 0 0 1px #ffd16659}.tech-card.current .tc-state{color:#ffd166}.tech-card.available{background:#14243a;border-color:#4a7ec0;cursor:pointer}.tech-card.available .tc-state{color:#8ab4f8}.tech-card.available:hover{background:#1b3352;border-color:#7aa8ee;transform:translateY(-1px)}.tech-card.available:active{transform:translateY(0) scale(.99)}.tech-card.locked{background:#1a1a2a;border-color:#33334d;opacity:.68}.tech-card.locked .tc-state{color:#6a6a8a}@media (max-width: 560px){.xy-panel{padding:12px 12px 16px}.xy-head h2{font-size:17px}.xy-lanes{gap:6px}.tech-card{padding:6px 7px}.tech-card .tc-name{font-size:13px}.tech-card .tc-desc,.tech-card .tc-cost{font-size:10px}}.xy-panel--narrow{width:min(430px,100%)}.xy-tabs{display:flex;gap:8px;margin:2px 0 16px}.xy-tabs button{flex:1;padding:10px;border-radius:8px;border:1px solid #33334d;background:#1a1a2a;color:#9ab0d0;font-size:15px;cursor:pointer;font-family:inherit}.xy-tabs button.on{background:#24406b;color:#fff;border-color:#4a7ec0}.xy-form label{display:block;font-size:13px;color:#9ab0d0;margin-bottom:7px}.xy-row{display:flex;gap:8px}.xy-row input{flex:1;min-width:0;padding:11px 12px;border-radius:8px;border:1px solid #33334d;background:#0c1322;color:#e8eef8;font-size:15px;font-family:inherit;outline:none}.xy-row input:focus{border-color:#4a7ec0}.xy-ghost{flex:none;padding:0 14px;border-radius:8px;border:1px dashed #4a4a6a;background:transparent;color:#9ab0d0;font-size:14px;font-family:inherit;cursor:pointer}.xy-ghost:hover{border-color:#7aa8ee;color:#cfe0ff}.xy-primary{width:100%;margin-top:16px;padding:12px;border-radius:8px;border:none;background:#c8934a;color:#241d10;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer}.xy-primary:disabled{opacity:.6;cursor:default}.xy-hint{font-size:12px;color:#6f7f99;margin:10px 0 0;line-height:1.5}.xy-err{font-size:13px;color:#ff8a7a;margin:10px 0 0}.xy-overlay{background:#3c32238c}.xy-panel{background:radial-gradient(circle at 18% 12%,#fffcf0e6,#f7f0def5 60%),#f7f0de;border:2px solid #bda882;border-radius:14px;color:#2f2b26;box-shadow:0 14px 38px #46371e59}.xy-head h2{color:#2f2b26;letter-spacing:.04em}.xy-x{background:#efe3c8;border:1.5px solid #c2ab86;color:#5a5140}.xy-x:hover{background:#e6d7b6}.xy-sub{color:#6b6355}.xy-sub b{color:#a8622a}.xy-lane-head{color:#8a6a2f;border-bottom:1.5px dashed #cdb994}.tech-card{background:#fdf9ee;border:1.5px solid #d3c3a2;color:#2f2b26}.tech-card .tc-name{color:#2f2b26}.tech-card .tc-cost{color:#8a7d66}.tech-card .tc-desc{color:#5c5245}.tech-card.researched{background:#e2eedd;border-color:#8fb387}.tech-card.researched .tc-state{color:#4d7a45}.tech-card.current{background:#f7ecd0;border-color:#c99a3f;box-shadow:0 0 0 1.5px #c99a3f59}.tech-card.current .tc-state{color:#a8761f}.tech-card.available{background:#fdf6e3;border-color:#b98f4e;cursor:pointer}.tech-card.available .tc-state{color:#a8622a}.tech-card.available:hover{background:#f8edd4;border-color:#a8761f;transform:translateY(-1px)}.tech-card.locked{background:#f2ecdd;border-color:#ddd0b4;opacity:.72}.tech-card.locked .tc-state{color:#a0937a}.xy-tabs button{background:#f3ead6;border:1.5px solid #cdb994;color:#7a6d58}.xy-tabs button.on{background:#e9d5a8;border-color:#b8894f;color:#4a3a1c}.xy-form label{color:#6b6355}.xy-row input{background:#fffdf6;border:1.5px solid #cdb994;color:#2f2b26}.xy-row input:focus{border-color:#b8894f}.xy-ghost{border:1.5px dashed #bfa87f;color:#7a6d58}.xy-ghost:hover{border-color:#a8761f;color:#4a3a1c}.xy-primary{background:#c8934a;color:#241d10}.xy-hint{color:#8a7d66}.xy-err{color:#ad3f28}.cr-list{list-style:none;margin:8px 0 6px;padding:0;max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.cr-list li{border-left:3px solid #c8934a;padding:6px 0 6px 12px;margin-bottom:12px}.cr-list .cr-turn{font-size:12px;color:#a8622a;letter-spacing:.05em}.cr-list p{margin:4px 0 0;font-size:14px;line-height:1.75;color:#3a352e}.cr-list .cr-empty{border-left-color:#ddd0b4;color:#9a8d76;font-size:13px;padding-left:12px}.pr-current{margin:12px 0 6px;padding:12px 14px;border-radius:10px;background:#fdf9ee;border:1.5px solid #d3c3a2}.pr-current-head{display:flex;justify-content:space-between;font-size:14px;color:#4a4235;margin-bottom:9px}.pr-current-head b{color:#a8622a}.pr-bar{height:9px;border-radius:5px;background:#e8dcc2;overflow:hidden}.pr-bar-in{height:100%;background:linear-gradient(90deg,#c8934a,#d9a441);border-radius:5px;transition:width .25s ease}.pr-title{margin:16px 0 8px;font-size:14px;color:#8a6a2f;font-weight:600;letter-spacing:.05em;border-bottom:1.5px dashed #cdb994;padding-bottom:5px}.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}.pr-card{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border-radius:9px;border:1.5px solid #d3c3a2;background:#fdf9ee;color:#2f2b26;font-family:inherit;text-align:left;cursor:pointer;transition:.15s}.pr-card:hover{border-color:#b8894f;background:#f8edd4;transform:translateY(-1px)}.pr-card.on{border-color:#a8622a;background:#f7ecd0;box-shadow:0 0 0 1.5px #a8622a40}.pr-name{font-size:15px}.pr-cost{font-size:13px;color:#a8622a;text-align:right}.pr-meta{grid-column:1 / -1;font-size:11.5px;color:#8a7d66}.pr-none{font-size:13px;color:#9a8d76;margin:4px 0}.xy-end{text-align:center}.xy-end-mark{width:88px;height:88px;margin:6px auto 14px;border:3px solid #a8622a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;color:#a8622a}.xy-end-title{margin:0 0 10px;font-size:26px;color:#2f2b26}.xy-end-reason{margin:0 0 8px;font-size:15px;color:#5c5245;line-height:1.7}.xy-panel{max-height:min(88vh,660px);overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 560px){.xy-panel{padding:16px;border-radius:12px}.xy-head h2{font-size:19px}.pr-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.xy-primary{padding:13px;font-size:16px}}#rotate-hint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:none;align-items:center;justify-content:center;background:#f7f2e4;font-family:Kaiti SC,STKaiti,KaiTi,serif;color:#2f2b26}#rotate-hint .rh-inner{text-align:center;padding:24px}#rotate-hint .rh-icon{font-size:54px;color:#c8934a;margin-bottom:10px}#rotate-hint p{margin:0 0 8px;font-size:22px;letter-spacing:.1em}#rotate-hint small{color:#8a7d66;font-size:13px}@media (orientation: portrait) and (max-width: 900px){#rotate-hint{display:flex}}
