*{box-sizing:border-box;margin:0;padding:0}body{color:#e8e6e3;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0a0a0f;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;overflow:hidden}#app{width:100vw;height:100vh;position:relative;overflow:hidden}#gameCanvas{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}#ui-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}#ui-layer>*{pointer-events:auto}.ghost-ui{background:linear-gradient(#0000,#000c);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.action-bar{justify-content:center;gap:8px;display:flex}.btn{color:#e8e6e3;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:12px 24px;font-size:14px;transition:all .2s;display:flex}.btn:active{background:#ffffff1a;transform:scale(.95)}.btn-primary{background:#b4a07826;border-color:#b4a07866}.btn-danger{background:#c8505026;border-color:#c8505066}.info-panel{pointer-events:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0ff2;border:1px solid #ffffff1a;border-radius:16px;width:80%;max-width:320px;padding:20px;animation:.3s fadeIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.info-panel h3{color:#d4c4a8;margin-bottom:8px;font-size:18px}.info-panel .role{color:#888;margin-bottom:12px;font-size:12px}.info-panel .emotion{border-radius:12px;margin-bottom:12px;padding:4px 12px;font-size:12px;display:inline-block}.emotion-anger{color:#e87878;background:#c83c3c33}.emotion-fear{color:#a8a8e8;background:#7878c833}.emotion-sadness{color:#78a0c8;background:#3c507833}.emotion-joy{color:#d4c860;background:#b4a03c33}.emotion-neutral{color:#aaa;background:#80808033}.info-panel .memory{color:#bbb;max-height:120px;margin-bottom:16px;font-size:13px;line-height:1.6;overflow-y:auto}.possession-view{background:#05050afa;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.portrait-area{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.portrait{background:#b4a0780d;border:2px solid #b4a0784d;border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;animation:4s ease-in-out infinite breathe;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #b4a0781a}.portrait-canvas{width:100%;height:100%;display:block}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.possession-name{text-align:center;color:#d4c4a8;text-shadow:0 2px 10px #000c;font-size:20px;position:absolute;bottom:20px;left:0;right:0}.dialogue-area{background:linear-gradient(#0000,#00000080);min-height:200px;padding:16px}.dialogue-text{color:#ddd;min-height:60px;margin-bottom:16px;font-size:15px;line-height:1.7}.dialogue-options{flex-direction:column;gap:8px;display:flex}.option-btn{color:#ccc;cursor:pointer;pointer-events:auto;text-align:left;background:#0006;border:1px solid #ffffff26;border-radius:10px;min-height:44px;padding:14px 16px;font-size:14px;transition:all .2s}.option-btn:active{color:#e8e6e3;background:#b4a07826;border-color:#b4a0784d}.leave-btn{border-radius:6px;padding:8px 16px;font-size:12px;position:absolute;top:16px;right:16px}.status-bar{pointer-events:auto;background:linear-gradient(#0009,#0000);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:absolute;top:0;left:0;right:0}.status-bar .mode{color:#888;text-transform:uppercase;letter-spacing:1px;font-size:12px}.status-bar .time{color:#666;font-size:12px}.tutorial-tip{text-align:center;color:#888;pointer-events:none;font-size:14px;animation:2s ease-in-out infinite pulse;position:absolute;top:20%;left:0;right:0}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@media (width>=768px){.portrait{width:200px;height:200px;font-size:80px}}
