html[data-theme=light]{--text-1: #2b2118;--text-2: #6b5a48;--text-3: #b5651d;--text-4: #fffaf0;--text-5: #e0457b;--text-6: #3a7d44;--bg-1: #f4ead8;--bg-2: rgba(255, 248, 235, .94);--bg-3: rgba(120, 90, 60, .12);--bg-4: #c8843a;--bg-5: rgba(255, 250, 240, .7);--bg-6: rgba(255, 140, 180, .35)}html[data-theme=dark]{--text-1: #f6ead2;--text-2: #bba98c;--text-3: #f0b45c;--text-4: #1d140c;--text-5: #ff7aa8;--text-6: #8fd694;--bg-1: #0b0a12;--bg-2: rgba(28, 22, 18, .94);--bg-3: rgba(255, 230, 190, .1);--bg-4: #e7a54d;--bg-5: rgba(20, 16, 12, .55);--bg-6: rgba(255, 110, 160, .3)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg-1);color:var(--text-1);font-family:"Noto Serif SC",Songti SC,PingFang SC,serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}button{font:inherit;color:var(--text-1);background:var(--bg-3);border:1px solid var(--bg-3);border-radius:10px;min-height:44px;min-width:44px;padding:8px 14px;cursor:pointer}button.primary{background:var(--bg-4);color:var(--text-4)}button:disabled{opacity:.45;cursor:default}.topbar{position:absolute;top:calc(env(safe-area-inset-top) + 10px);right:calc(env(safe-area-inset-right) + 10px);display:flex;gap:8px}.topbar button{background:var(--bg-5);border-radius:50%;width:44px;padding:0;font-size:18px}.hud{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:calc(env(safe-area-inset-left) + 10px);display:flex;flex-direction:column;gap:6px;pointer-events:none!important}.pill{background:var(--bg-5);padding:6px 12px;border-radius:999px;font-size:14px}.pill .love{color:var(--text-5)}.pill .friend{color:var(--text-6)}.carname{font-size:15px;color:var(--text-3);letter-spacing:2px}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--text-1);opacity:.6;pointer-events:none!important}.prompt{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 120px);transform:translate(-50%);background:var(--bg-5);padding:8px 16px;border-radius:999px;font-size:15px;display:none;pointer-events:none!important;white-space:nowrap}.toast{position:absolute;left:50%;top:22%;transform:translate(-50%);background:var(--bg-2);color:var(--text-3);padding:10px 20px;border-radius:12px;opacity:0;transition:opacity .4s;pointer-events:none!important;text-align:center;max-width:86vw}.toast.show{opacity:1}.hint{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);transform:translate(-50%);font-size:12px;color:var(--text-2);pointer-events:none!important;text-align:center}.heart-fx{position:absolute;inset:0;background:radial-gradient(circle,transparent 35%,var(--bg-6) 100%);opacity:0;transition:opacity .8s;pointer-events:none!important}.heart-fx.show{opacity:1}.touch-only{display:none!important}body[data-input=touch] .touch-only{display:flex!important}body[data-input=touch] .mouse-only{display:none!important}.joy-base{position:absolute;width:120px;height:120px;margin:-60px;border-radius:50%;background:var(--bg-5);display:none;pointer-events:none!important}.joy-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px;border-radius:50%;background:var(--bg-3);border:2px solid var(--text-2)}.act-btn{position:absolute;right:calc(env(safe-area-inset-right) + 24px);bottom:calc(env(safe-area-inset-bottom) + 40px);width:76px;height:76px;border-radius:50%;background:var(--bg-4);color:var(--text-4);align-items:center;justify-content:center;font-size:15px}.run-btn{position:absolute;right:calc(env(safe-area-inset-right) + 112px);bottom:calc(env(safe-area-inset-bottom) + 30px);width:56px;height:56px;border-radius:50%;background:var(--bg-5);align-items:center;justify-content:center;font-size:13px}.run-btn.on{background:var(--bg-4);color:var(--text-4)}.modal{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:var(--bg-5);padding:16px}.modal.open{display:flex}.card{background:var(--bg-2);border-radius:16px;width:min(520px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.card header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:var(--text-3);font-size:18px}.card .content{overflow-y:auto;padding:0 16px 8px;line-height:1.7}.card footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;justify-content:flex-end}.title-big{font-size:40px;letter-spacing:10px;color:var(--text-3);text-align:center;margin:8px 0}.sub{color:var(--text-2);text-align:center}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.row .opts{display:flex;gap:6px;flex-wrap:wrap}.row .opts button.sel{background:var(--bg-4);color:var(--text-4)}.dialog{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);transform:translate(-50%);width:min(720px,calc(100% - 20px));background:var(--bg-2);border-radius:16px;display:none;flex-direction:column;max-height:60vh}.dialog.open{display:flex}.dialog header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 0;color:var(--text-3);font-size:17px}.dialog .text{padding:6px 16px;overflow-y:auto;line-height:1.8;font-size:16px}.dialog .choices{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 14px}.dialog .choices button{flex:1 1 auto}
