:root{--ink:#18142e;--panel:#1c1639de;--violet:#836cff;--pink:#ff6eb2;--cyan:#69e7ff;--gold:#ffd778;--text:#fff;--muted:#c8c1e8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--text);background:#090714;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0}.app{isolation:isolate;background:linear-gradient(155deg,#261b59,#17122f 48%,#110c22);width:100%;max-width:520px;height:100dvh;min-height:640px;margin:auto;position:relative;overflow:hidden}.ambient-bg{z-index:-2;background:radial-gradient(circle at 13% 16%,#765bff55,#0000 31%),radial-gradient(circle at 88% 42%,#ff68b53d,#0000 27%),linear-gradient(#30245c99,#0000 40%);position:absolute;inset:0}.ambient-bg:after{content:"";opacity:.28;background-image:linear-gradient(120deg,#0000 45%,#ffffff10 46%,#0000 47%),radial-gradient(circle,#fff 1px,#0000 1px);background-size:80px 80px,26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.status-bar{height:58px;padding:calc(8px + env(safe-area-inset-top)) 13px 6px;background:linear-gradient(#090616e6,#130d2785);border-bottom:1px solid #a895ff3d;grid-template-columns:1fr auto auto 36px;align-items:center;gap:7px;display:grid}.player-badge{align-items:center;gap:7px;display:flex}.player-badge>span{background:linear-gradient(145deg,#ff7cba,#755fff);border-radius:50%;place-items:center;width:37px;height:37px;display:grid;box-shadow:0 0 0 2px #d8cfff,0 0 17px #9c6aff}.player-badge b{color:#c9c2ff;font-size:12px}.player-badge em{color:#fff;font-size:17px;font-style:normal}.resource{background:#0c09299c;border:1px solid #a79cff42;border-radius:14px;align-items:center;gap:4px;padding:6px 8px;font-size:12px;display:flex}.resource i{color:var(--gold);font-style:normal}.resource:nth-of-type(3) i{color:#ff77b7}.round-icon{color:#d9d3fa;letter-spacing:2px;background:#ffffff10;border-radius:13px;height:31px}.view{height:calc(100dvh - 118px);padding:10px 12px;display:none;overflow:hidden}.view.active{display:block}.page-title,.character-head{justify-content:space-between;align-items:flex-end;gap:10px;min-height:55px;display:flex}.character-head small,.page-title small{color:#afa6ed;font-size:12px}.character-head h1,.page-title h2{margin:1px 0 0;font-family:Songti SC,STSong,serif;font-size:25px;line-height:1.1}.character-head p{color:#d1caed;margin:4px 0 0;font-size:12px}.roster-shortcut{text-align:center;background:linear-gradient(135deg,#ffffff1a,#8f74ff1b);border:1px solid #b8aaff70;border-radius:14px;min-width:77px;padding:6px 8px}.roster-shortcut span{color:#ffe2f2;font-size:21px;font-weight:800;line-height:1;display:block}.roster-shortcut small{font-size:10px}.affection-row{color:#d7d0ef;align-items:center;gap:6px;height:30px;font-size:12px;display:flex}.affection-row>span{white-space:nowrap}.affection-row>span b{color:#ff8cc1}.affection-row>.affection-track{background:#08061c;border:1px solid #c8bfff52;border-radius:7px;flex:1;height:7px;overflow:hidden}.affection-track i{background:linear-gradient(90deg,#866eff,#ff6daf,#ffd36f);width:0;height:100%;transition:width .4s;display:block;box-shadow:0 0 10px #ff71bc}.affection-row>small{color:#928aae;font-size:10px}.character-stage{touch-action:none;background:#111029;border:1px solid #b7a5ff79;border-radius:28px;height:min(52vh,480px);min-height:320px;position:relative;overflow:hidden;box-shadow:0 16px 42px #0008,inset 0 0 0 3px #ffffff0a}.character-stage:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 56%,#130c2a 96%),radial-gradient(circle at 50% 27%,#0000 15%,#1d153328 60%);position:absolute;inset:0}.character-glow{filter:blur(40px);background:#c96cff36;border-radius:50%;width:75%;height:66%;position:absolute;bottom:-6%;left:13%}#characterImage{object-fit:cover;object-position:center 24%;transform-origin:50% 70%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;transition:transform .28s cubic-bezier(.2,.9,.25,1),filter .25s;position:absolute;transform:translate(0,0)scale(1.02)}.character-stage.dragging #characterImage{transition:none}.character-stage.react #characterImage{animation:.62s characterReact}@keyframes characterReact{0%,to{transform:scale(1.02)}35%{transform:scale(1.045)rotate(-.8deg)}68%{transform:scale(1.03)rotate(.5deg)}}.touch-zone{z-index:3;background:0 0;border-radius:50%;outline:none;position:absolute}.touch-zone:focus-visible{box-shadow:inset 0 0 0 2px #fff7}.touch-zone.shoulder{width:80%;height:26%;top:43%;left:10%}.touch-zone.hand{width:72%;height:24%;bottom:4%;left:14%}.gesture-tip{z-index:4;color:#e8e2ff;pointer-events:none;background:#100b26b8;border:1px solid #ffffff24;border-radius:14px;width:max-content;max-width:86%;padding:5px 10px;font-size:11px;transition:opacity .25s;position:absolute;bottom:83px;left:50%;transform:translate(-50%)}.speech-bubble{z-index:4;background:linear-gradient(100deg,#352468e8,#651f55d9);border:1px solid #d3c9ff70;border-radius:16px;min-height:56px;padding:10px 15px 10px 35px;position:absolute;bottom:18px;left:18px;right:18px;box-shadow:0 8px 18px #0008}.speech-bubble:before{content:"♥";color:#ff88be;text-shadow:0 0 9px #ff64b1;position:absolute;top:13px;left:13px}.speech-bubble p{color:#fff7fc;margin:0;font-size:13px;line-height:1.55}.reaction-tag{z-index:5;color:#fff;pointer-events:none;opacity:0;background:#ff6eafe8;border-radius:15px;padding:5px 11px;font-size:12px;font-weight:700;position:absolute;top:16%;left:50%;transform:translate(-50%,8px)}.reaction-tag.show{animation:1.1s forwards floatTag}@keyframes floatTag{0%{opacity:0;transform:translate(-50%,12px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-35px)}}.spark{z-index:5;color:#ff93c3;pointer-events:none;font-size:20px;animation:1s forwards spark;position:absolute}@keyframes spark{to{opacity:0;transform:translate(var(--dx),-55px) scale(.5)}}.profile-strip{grid-template-columns:34px 1fr 34px;align-items:center;gap:4px;height:50px;display:grid}.profile-strip>button{color:#d9d0ff;background:#ffffff10;border-radius:50%;height:31px;font-size:28px;line-height:1}.profile-strip>div{text-align:center}.profile-strip span{color:#c1b9e7;font-size:11px;display:block}.profile-strip b{color:#7eedf1;font-size:12px;display:block}.action-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.action-grid button{background:linear-gradient(145deg,#41336fba,#251d4fba);border:1px solid #b8a5ff40;border-radius:14px;min-width:0;height:64px;padding:5px 2px;box-shadow:inset 0 1px #ffffff1e}.action-grid button:active{transform:translateY(2px)}.action-grid span{color:#ff91c4;font-size:17px;line-height:20px;display:block}.action-grid b{white-space:nowrap;font-size:11px;display:block}.action-grid small{color:#a9a2ca;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.daily-contract{background:linear-gradient(100deg,#1a4f5a6b,#4d265867);border:1px solid #7de1e75c;border-radius:13px;align-items:center;gap:7px;height:49px;margin-top:7px;padding:6px 8px;display:flex}.daily-contract>div:first-child{flex:1;min-width:0}.daily-contract small{color:#9cdddf;font-size:9px;display:block}.daily-contract b{font-size:11px;display:block}.goal-pips{gap:3px;display:flex}.goal-pips i{background:#251e43;border:1px solid #8c7fd1;border-radius:50%;width:9px;height:9px}.goal-pips i.done{background:#ff77b8;box-shadow:0 0 7px #ff71b7}.daily-contract button{background:linear-gradient(135deg,#7461e9,#d94c9b);border-radius:9px;padding:6px 8px;font-size:10px}.daily-contract button:disabled{opacity:.38}.bottom-nav{z-index:8;height:60px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:#100c25f2;border-top:1px solid #a896ff42;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #090617aa}.bottom-nav button{color:#8f88b5;background:0 0;font-size:11px;position:relative}.bottom-nav button span{font-size:20px;line-height:23px;display:block}.bottom-nav button.active{color:#fff}.bottom-nav button.active span{color:#ff79b6;text-shadow:0 0 9px #ff64ad}.bottom-nav em{color:#fff;background:#745ff0;border-radius:9px;padding:0 4px;font-size:9px;font-style:normal;position:absolute;top:0;right:17%}.page-title{align-items:center;padding:4px 2px 12px}.page-title>span{color:#c9c2ea;background:#ffffff10;border-radius:12px;padding:6px 9px;font-size:11px}.partner-card{background:linear-gradient(110deg,#35276fc9,#5b285db3);border:1px solid #9d89ff70;border-radius:18px;align-items:center;gap:10px;height:78px;padding:8px;display:flex}.partner-card img{object-fit:cover;border:1px solid #efdcff;border-radius:15px;width:58px;height:58px}.partner-card>div{flex:1;min-width:0}.partner-card small{color:#b9b0dc;font-size:10px}.partner-card h3{margin:1px 0;font-size:16px}.partner-card p{color:#73e6e2;margin:0;font-size:11px}.partner-card button{background:#ffffff17;border-radius:10px;padding:7px 9px;font-size:11px}.city-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;display:grid}.city-stats div{text-align:center;background:#ffffff09;border:1px solid #ffffff17;border-radius:13px;padding:9px 4px}.city-stats span{color:#a9a2c5;font-size:10px;display:block}.city-stats b{color:#fff;margin-top:2px;font-size:15px;display:block}.mission-list{gap:7px;display:grid}.mission{background:linear-gradient(110deg,#28204fe8,#1b1738e8);border:1px solid #8f7bdf55;border-radius:16px;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;min-height:84px;padding:11px;display:grid}.mission-icon{background:linear-gradient(145deg,#7163db,#cc549a);border-radius:13px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.mission h3{margin:0;font-size:14px}.mission p{color:#aca4ca;margin:3px 0;font-size:10px}.mission .odds{color:#73e8e2;font-size:10px}.mission button{background:linear-gradient(135deg,#7d68f1,#e15b9d);border-radius:10px;padding:8px 10px;font-size:11px}.rival-card{background:#421b3869;border:1px solid #f06b9c4d;border-radius:16px;grid-template-columns:1fr 90px auto;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:grid}.rival-card small,.rival-card p{color:#b8afcf;margin:0;font-size:10px}.rival-card h3{margin:1px 0;font-size:14px}.rival-meter{background:#110c24;border-radius:8px;height:7px;overflow:hidden}.rival-meter i{background:linear-gradient(90deg,#ff658e,#ffb46c);width:66%;height:100%;display:block}.rival-card>b{color:#ffb6c9;font-size:12px}.roster-page{overflow:hidden}.roster-tools{padding-bottom:8px}.roster-tools input{color:#fff;background:#100c2b9e;border:1px solid #9f8fe858;border-radius:13px;outline:0;width:100%;height:38px;padding:0 13px;font-size:12px}.roster-tools input::placeholder{color:#8e86ab}.roster-tools>div{gap:6px;margin-top:7px;display:flex}.roster-tools button{color:#afa8cb;background:#ffffff0d;border-radius:10px;flex:1;padding:5px;font-size:11px}.roster-tools button.active{color:#fff;background:#7661e5}.unlock-all{color:#83eee3!important}.roster-grid{scrollbar-width:none;grid-template-columns:repeat(3,1fr);gap:8px;height:calc(100dvh - 228px);padding:2px 2px 14px;display:grid;overflow-y:auto}.roster-grid::-webkit-scrollbar{display:none}.roster-card{text-align:left;background:#1b153b;border:1px solid #9684e55f;border-radius:16px;min-width:0;height:142px;padding:0;position:relative;overflow:hidden}.roster-card .avatar{background-position:50%;background-size:cover;transition:transform .25s;position:absolute;inset:0}.roster-card:active .avatar{transform:scale(1.04)}.roster-card:after{content:"";background:linear-gradient(#0000 45%,#100b26f2 94%);position:absolute;inset:0}.roster-info{z-index:2;position:absolute;bottom:7px;left:8px;right:8px}.roster-info b{font-size:12px;display:block}.roster-info small{white-space:nowrap;text-overflow:ellipsis;color:#c4bddc;font-size:9px;display:block;overflow:hidden}.rarity-chip{z-index:3;color:#ffd87c;background:#101024c9;border-radius:7px;padding:2px 5px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.roster-card.UR{box-shadow:inset 0 0 0 1px #ffd872}.roster-card.SSR{box-shadow:inset 0 0 0 1px #db76ff}.chapter-card{background:linear-gradient(135deg,#392a72b8,#7c2f66a8);border:1px solid #a188ff65;border-radius:19px;padding:16px}.chapter-card small{color:#cfc5ff;font-size:11px}.chapter-card h3{margin:4px 0;font-size:18px}.chapter-card p{color:#c8c0df;margin:0;font-size:12px;line-height:1.55}.chapter-progress{background:#130d2c;border-radius:8px;height:7px;margin-top:11px;overflow:hidden}.chapter-progress i{background:linear-gradient(90deg,#69e7e3,#ff76b4);width:10%;height:100%;display:block}.achievement-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px;display:grid}.achievement{background:#ffffff09;border:1px solid #ffffff17;border-radius:15px;padding:11px}.achievement.locked{filter:grayscale();opacity:.48}.achievement span{font-size:20px}.achievement b{margin-top:4px;font-size:12px;display:block}.achievement small{color:#a9a1c4;font-size:10px}.memory-log{background:#0f0b27a8;border:1px solid #ffffff17;border-radius:16px;margin-top:9px;padding:12px}.memory-log h3{margin:0 0 7px;font-size:14px}.memory-item{color:#c5bddf;border-top:1px solid #ffffff10;padding:5px 0;font-size:11px}.memory-item:first-child{border-top:0}.modal-layer{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#080514b8;place-items:end center;padding:18px;display:grid;position:absolute;inset:0}.modal-layer[hidden]{display:none}.modal{width:100%;max-height:80vh;padding:25px 17px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(160deg,#352766,#17122f 70%);border:1px solid #b7a6ff7a;border-radius:26px 26px 18px 18px;position:relative;overflow-y:auto;box-shadow:0 -16px 60px #000b}.close-modal{color:#cfc7ed;background:0 0;font-size:28px;position:absolute;top:9px;right:13px}.modal>small{color:#ff8bc0;font-size:11px}.modal h2{margin:5px 34px 6px 0;font-size:22px}.modal>p{color:#c9c2df;margin:0 0 12px;font-size:13px;line-height:1.6}.choice-list{gap:8px;display:grid}.choice-list button{text-align:left;background:linear-gradient(105deg,#3e3072,#512954);border:1px solid #a892ff51;border-radius:13px;justify-content:space-between;align-items:center;padding:11px 12px;font-size:12px;display:flex}.choice-list button b{display:block}.choice-list button small{color:#9dece7;font-size:10px}.choice-list button:disabled{opacity:.38}.toast{z-index:40;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#34245ceb;border:1px solid #d7c9ff7d;border-radius:16px;max-width:82%;padding:7px 13px;font-size:12px;transition:all .25s;position:absolute;top:68px;left:50%;transform:translate(-50%,-12px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-height:760px){.app{min-height:600px}.status-bar{height:52px}.view{height:calc(100dvh - 108px);padding-top:6px}.character-head{min-height:48px}.character-head h1{font-size:21px}.affection-row{height:25px}.character-stage{height:calc(100dvh - 360px);min-height:275px}.profile-strip{height:43px}.action-grid button{height:58px}.daily-contract{height:44px;margin-top:5px}.bottom-nav{height:56px}.speech-bubble{bottom:12px}.gesture-tip{bottom:75px}.roster-grid{height:calc(100dvh - 212px)}}@media (max-width:360px){.resource{padding:5px;font-size:10px}.character-head h1{font-size:20px}.action-grid{gap:4px}.action-grid b{font-size:10px}.roster-grid{grid-template-columns:repeat(2,1fr)}}#characterImage{background-position:50% 24%;background-repeat:no-repeat;background-size:cover}.partner-card>.partner-image{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #efdcff;border-radius:15px;flex:0 0 58px;width:58px;height:58px}.app,.view{min-height:0}.bond-view{overflow:hidden}.milestone-strip{grid-template-columns:repeat(3,1fr);gap:6px;height:43px;margin:3px 0 7px;display:grid}.milestone-strip button{color:#847e9f;background:#ffffff09;border:1px solid #8579bd45;border-radius:12px;grid-template-columns:22px 1fr auto;align-items:center;gap:3px;min-width:0;padding:5px 7px;display:grid;box-shadow:inset 0 1px #ffffff0a}.milestone-strip button span{font-size:15px}.milestone-strip button b{white-space:nowrap;font-size:10px}.milestone-strip button small{font-size:9px}.milestone-strip button.unlocked{color:#fff;background:linear-gradient(135deg,#634084b8,#a13f7ca8);border-color:#ff8fc66e;box-shadow:0 0 14px #f66bb52b,inset 0 1px #ffffff2b}.milestone-strip button.claimed span{color:#7ff0e7}.character-stage{background:radial-gradient(circle at 50% 25%,#6a487d 0,#1b1537 58%,#0b0818 100%);border-radius:23px;height:clamp(300px,100dvh - 424px,520px);min-height:300px}.avatar-viewport{z-index:0;background:linear-gradient(#4d3866,#18102c);transition:filter .6s,opacity .45s;position:absolute;inset:0;overflow:hidden}#avatarCanvas{z-index:2;opacity:0;touch-action:none;width:100%;height:100%;transition:opacity .55s;display:block;position:absolute;inset:0}.avatar-viewport.ready #avatarCanvas{opacity:1}.avatar-viewport.ready #characterImage{opacity:.18;filter:blur(9px)brightness(.72);transform:scale(1.08)}.avatar-viewport.portrait-only #avatarCanvas{opacity:0}.avatar-loading{z-index:3;color:#eee8ff;background:#100a25c9;border:1px solid #ffffff25;border-radius:15px;padding:7px 11px;font-size:10px;transition:opacity .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.avatar-loading.hidden{opacity:0;pointer-events:none}.stage-hud{z-index:15;pointer-events:none;grid-template-columns:auto minmax(72px,1fr) 31px 31px;align-items:center;gap:5px;display:grid;position:absolute;top:8px;left:8px;right:8px}.stage-hud>*{pointer-events:auto}.consent-chip{color:#9df8e6;white-space:nowrap;text-overflow:ellipsis;background:#102c2bbf;border:1px solid #95ead65f;border-radius:13px;max-width:130px;padding:5px 7px;font-size:8px;line-height:1;overflow:hidden}.heat-meter{background:#0c0825c9;border:1px solid #ffffff1c;border-radius:13px;align-items:center;gap:4px;padding:4px 6px;display:flex}.heat-meter small,.heat-meter strong{white-space:nowrap;font-size:8px}.heat-meter small{color:#d9d0f0}.heat-meter strong{color:#ff9ec9}.heat-meter>i{background:#160d2a;border-radius:7px;flex:1;height:5px;overflow:hidden}.heat-meter b{background:linear-gradient(90deg,#826eff,#ff5aa7,#ffd05f);width:0;height:100%;transition:width .2s;display:block;box-shadow:0 0 8px #ff66ad}.hud-button{color:#fff;background:#17102fd9;border:1px solid #ffffff25;border-radius:50%;width:31px;height:31px;font-size:12px;box-shadow:0 4px 12px #0008}.hud-button:active{transform:scale(.94)}.intimacy-rail,.gift-dock{z-index:12;flex-direction:column;gap:7px;display:flex;position:absolute;top:54px}.intimacy-rail{left:7px}.gift-dock{right:7px}.intimacy-rail button{text-align:left;background:linear-gradient(135deg,#392858d9,#812e6fd1);border:1px solid #ecd1ff61;border-radius:12px;width:66px;min-height:42px;padding:5px 4px;box-shadow:0 5px 16px #0007}.intimacy-rail span{color:#ff99c9;background:#ff6eb22d;border-radius:50%;place-items:center;width:19px;height:19px;margin-right:2px;display:inline-grid}.intimacy-rail b{white-space:nowrap;font-size:8px}.gift-dock button{background:#251743d9;border:1px solid #ffd7ec59;border-radius:14px;width:44px;height:48px;padding:3px;box-shadow:0 5px 16px #0007}.gift-dock span{font-size:20px;line-height:23px;display:block}.gift-dock small{color:#ffe0aa;font-size:8px;display:block}.focus-dock{z-index:14;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#0e0925cf;border:1px solid #ffffff24;border-radius:14px;justify-content:flex-start;gap:3px;width:max-content;max-width:calc(100% - 20px);padding:3px;display:flex;position:absolute;bottom:102px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 5px 16px #0008}.focus-dock::-webkit-scrollbar{display:none}.focus-dock button{color:#aca3cb;background:0 0;border-radius:10px;flex:none;min-width:35px;padding:5px 6px;font-size:8px}.focus-dock button.active{color:#fff;background:linear-gradient(135deg,#705ee5,#c14d99)}.focus-dock #resetCamera{min-width:27px;font-size:12px}.fever-button{z-index:13;text-align:left;background:linear-gradient(135deg,#b84386e8,#6a4ae3e8);border:1px solid #ffb2d679;border-radius:14px;min-width:92px;padding:5px 7px;position:absolute;top:55px;right:57px;box-shadow:0 0 18px #f35ba53d}.fever-button span{float:left;color:#ffd7e9;margin-right:5px;font-size:17px}.fever-button b,.fever-button small{white-space:nowrap;display:block}.fever-button b{font-size:9px}.fever-button small{color:#f9d5e8;font-size:7px}.fever-button:disabled{opacity:.42;filter:grayscale(.65)}.combo-badge{z-index:16;color:#fff;letter-spacing:.8px;opacity:0;pointer-events:none;background:#d6468ddf;border:1px solid #ffe2f47d;border-radius:18px;padding:7px 13px;font-size:12px;font-weight:900;transition:all .18s;position:absolute;top:18%;left:50%;transform:translate(-50%,10px)scale(.8)}.combo-badge.show{opacity:1;transform:translate(-50%)scale(1)}.touch-zone{z-index:10;touch-action:none;border:1px solid #0000;place-items:center;display:grid}.touch-zone i{color:#ffe8f5;opacity:.3;background:#7a356b59;border:1px solid #ffe5f44b;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-style:normal;transition:all .18s;display:grid;box-shadow:0 0 12px #ff6ead70}.touch-zone:active i,.touch-zone.pressing i{opacity:1;background:#e04d99;transform:scale(1.32)}.touch-zone.hair{width:35%;height:21%;top:7%;left:33%}.touch-zone.face{width:29%;height:18%;top:20%;left:36%}.touch-zone.chest{width:34%;height:15%;top:36%;left:34%}.touch-zone.hand{width:20%;height:23%;top:43%;left:68%}.touch-zone.waist{width:32%;height:12%;top:49%;left:35%}.touch-zone.hip{width:39%;height:16%;top:59%;left:32%}.touch-zone.feet{width:38%;height:16%;bottom:8%;left:31%}.touch-zone.toes{width:24%;height:10%;bottom:1%;left:38%}.character-stage[data-focus=face] .touch-zone:not(.face),.character-stage[data-focus=hair] .touch-zone:not(.hair),.character-stage[data-focus=chest] .touch-zone:not(.chest),.character-stage[data-focus=hand] .touch-zone:not(.hand),.character-stage[data-focus=waist] .touch-zone:not(.waist):not(.hip),.character-stage[data-focus=feet] .touch-zone:not(.feet):not(.toes),.character-stage[data-focus=toes] .touch-zone:not(.toes){opacity:0;pointer-events:none}.character-stage[data-focus=face] .touch-zone.face{width:64%;height:48%;top:13%;left:18%}.character-stage[data-focus=hair] .touch-zone.hair{width:72%;height:58%;top:8%;left:14%}.character-stage[data-focus=chest] .touch-zone.chest{width:72%;height:54%;top:23%;left:14%}.character-stage[data-focus=hand] .touch-zone.hand{width:72%;height:62%;top:20%;left:14%}.character-stage[data-focus=waist] .touch-zone.waist{width:72%;height:43%;top:25%;left:14%}.character-stage[data-focus=waist] .touch-zone.hip{width:70%;height:32%;top:58%;left:15%}.character-stage[data-focus=feet] .touch-zone.feet{width:76%;height:58%;bottom:18%;left:12%}.character-stage[data-focus=feet] .touch-zone.toes{width:60%;height:28%;bottom:6%;left:20%}.character-stage[data-focus=toes] .touch-zone.toes{width:76%;height:58%;bottom:10%;left:12%}.speech-bubble{z-index:17;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:15px;min-height:52px;padding:9px 12px 9px 31px;bottom:10px;left:12px;right:12px}.speech-bubble p{font-size:11px;line-height:1.45}.speech-bubble:before{top:11px;left:10px}.gesture-tip{z-index:17;font-size:9px;bottom:70px}.reaction-tag{z-index:18}.spark-layer{z-index:19;pointer-events:none;position:absolute;inset:0}.spark{z-index:19}.character-stage[data-outfit=evening] .avatar-viewport{filter:saturate(1.12)contrast(1.04)hue-rotate(-8deg)}.character-stage[data-outfit=resort] .avatar-viewport{filter:saturate(1.15)contrast(1.03)hue-rotate(8deg)}.character-stage[data-outfit=resort]:after{content:"泳池私享造型";z-index:11;color:#d9fbff;background:#0e5665b8;border:1px solid #9bedff70;border-radius:12px;padding:4px 7px;font-size:8px;position:absolute;top:208px;right:8px}.character-stage.outfit-changing .avatar-viewport{animation:.9s outfitChange}.character-stage.fever{box-shadow:0 0 36px #ff5aa58c,inset 0 0 40px #a35cff42}.character-stage.fever:before{animation:.7s ease-in-out infinite alternate feverGlow}@keyframes outfitChange{0%{opacity:1;filter:brightness()}45%{opacity:.1;filter:brightness(3)blur(14px)}to{opacity:1}}@keyframes feverGlow{to{background-color:#ff4e9e25}}.adult-gate{z-index:80;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:radial-gradient(circle at 50% 35%,#50336be8,#090613f7 66%);place-items:center;padding:22px;display:grid;position:absolute;inset:0}.adult-gate.hidden{display:none}.adult-gate section{background:linear-gradient(155deg,#3a285ecf,#171029f2);border:1px solid #d2b8ff75;border-radius:26px;width:100%;max-width:390px;padding:28px 22px;box-shadow:0 24px 80px #000}.adult-gate span{color:#ff9fc9;font-size:11px}.adult-gate h2{margin:6px 0;font-family:Songti SC,STSong,serif;font-size:26px}.adult-gate p{color:#d2c9e6;margin:0 0 17px;font-size:12px;line-height:1.7}.adult-gate button{background:linear-gradient(135deg,#715ce8,#e04f9a);border-radius:14px;width:100%;padding:12px;font-weight:700}.adult-gate .gate-exit{color:#aaa1bd;background:#ffffff0c;margin-top:8px;font-weight:500}.modal-layer{z-index:60}.modal{max-height:min(82dvh,720px)}.choice-list button:focus-visible,.focus-dock button:focus-visible,.hud-button:focus-visible{outline-offset:2px;outline:2px solid #8ff5e8}[data-view=journey],[data-view=business]{overflow-y:auto}.achievement-grid{padding-bottom:4px}.memory-log{margin-bottom:16px}@media (max-height:820px){.character-head{min-height:48px}.character-head h1{font-size:21px}.milestone-strip{height:38px;margin-bottom:5px}.character-stage{height:clamp(278px,100dvh - 398px,445px);min-height:278px}.profile-strip{height:42px}.action-grid button{height:54px}.daily-contract{height:43px;margin-top:4px}.intimacy-rail{gap:4px}.intimacy-rail button{min-height:35px}.gift-dock{gap:4px}.gift-dock button{height:42px}.focus-dock{bottom:96px}}@media (max-height:690px){.character-head p,.character-head small{display:none}.affection-row{height:22px}.milestone-strip{height:32px}.milestone-strip button{padding:2px 5px}.character-stage{height:285px;min-height:285px}.profile-strip,.daily-contract{display:none}.action-grid button,.status-bar{height:48px}.view{height:calc(100dvh - 104px);padding-top:4px}.consent-chip{display:none}.stage-hud{grid-template-columns:minmax(80px,1fr) 31px 31px}.heat-meter{grid-column:1}.intimacy-rail button{width:58px}.intimacy-rail b{font-size:7px}.fever-button{display:none}}@media (max-width:370px){.milestone-strip button{grid-template-columns:17px 1fr}.milestone-strip button small{display:none}.intimacy-rail button{width:57px}.intimacy-rail span{display:none}.gift-dock button{width:39px}.focus-dock button{min-width:30px;padding:5px 4px}.consent-chip{max-width:100px}.action-grid b{font-size:9px}.action-grid small{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--mobile-topbar:calc(52px + env(safe-area-inset-top));--mobile-nav:calc(56px + env(safe-area-inset-bottom))}.app{height:100vh;max-width:520px;height:100dvh}.status-bar{height:var(--mobile-topbar);padding:calc(7px + env(safe-area-inset-top)) 12px 6px}.view{height:calc(100dvh - var(--mobile-topbar) - var(--mobile-nav));overscroll-behavior:contain;padding:8px 10px}.bottom-nav{height:var(--mobile-nav);padding:4px 8px calc(4px + env(safe-area-inset-bottom))}#bondView.active{grid-template-rows:auto auto auto minmax(0,1fr) auto auto auto;min-height:0;display:grid}#bondView .character-stage{height:auto;min-height:0}.intimacy-rail button,.gift-dock button,.action-grid button,.bottom-nav button{touch-action:manipulation}.intimacy-rail button{min-height:44px}.gift-dock button{min-height:46px}.focus-dock button{min-height:34px}@media (min-width:380px) and (max-width:405px) and (min-height:820px) and (max-height:880px){.view{padding:7px 9px}.character-head{min-height:49px}.character-head h1{font-size:22px}.affection-row{height:27px}.milestone-strip{height:38px;margin:2px 0 5px}.profile-strip{height:42px}.action-grid button{height:55px}.daily-contract{height:43px;margin-top:4px}.character-stage{border-radius:22px}.intimacy-rail,.gift-dock{top:52px}.focus-dock{bottom:95px}.speech-bubble{bottom:8px}.gesture-tip{bottom:66px}}@media (orientation:landscape) and (max-height:500px){.app{max-width:100%}#bondView.active{grid-template-rows:auto auto 1fr;grid-template-columns:145px minmax(0,1fr) 145px}.character-head,.affection-row{grid-column:1}.milestone-strip{grid-column:1;grid-template-columns:1fr;height:auto}.character-stage{grid-area:1/2/4}.profile-strip{grid-area:1/3}.action-grid{grid-area:2/3/4;grid-template-columns:1fr 1fr;align-content:center}.daily-contract{display:none}}@supports (-webkit-touch-callout:none){.touch-zone,.character-stage{-webkit-touch-callout:none}}@supports not (height:100dvh){.app{height:-webkit-fill-available}}.character-stage.scene-changing .avatar-viewport{animation:.76s cubic-bezier(.2,.72,.2,1) sceneReveal}.character-stage[data-scene=river]{box-shadow:0 16px 42px #0008,inset 0 0 44px #39bfd736}.character-stage[data-scene=river] .avatar-viewport{filter:saturate(1.03)contrast(1.05)hue-rotate(13deg)}.character-stage[data-scene=rain]{box-shadow:0 16px 42px #000a,inset 0 0 52px #578aff4d}.character-stage[data-scene=rain] .avatar-viewport{filter:saturate(.86)contrast(1.1)hue-rotate(18deg)}.character-stage[data-scene=cinema]{box-shadow:0 16px 46px #000b,inset 0 0 52px #b62b594d}.character-stage[data-scene=cinema] .avatar-viewport{filter:saturate(1.05)contrast(1.13)brightness(.82)sepia(.08)}.character-stage[data-scene=wardrobe] .avatar-viewport{filter:saturate(.98)contrast(1.03)sepia(.13)brightness(1.04)}.character-stage[data-scene=studio]{box-shadow:0 16px 42px #000a,inset 0 0 54px #734dff4d}.character-stage[data-scene=studio] .avatar-viewport{filter:saturate(1.15)contrast(1.08)hue-rotate(-12deg)}.character-stage[data-scene=gallery] .avatar-viewport{filter:saturate(.78)contrast(1.11)sepia(.22)}.character-stage[data-scene=pool]{box-shadow:0 16px 42px #0009,inset 0 0 56px #40d7e85c}.character-stage[data-scene=pool] .avatar-viewport{filter:saturate(1.12)contrast(1.05)hue-rotate(9deg)brightness(1.04)}@keyframes sceneReveal{0%{opacity:.28;filter:brightness(1.9)blur(8px);transform:scale(1.045)}to{opacity:1;transform:scale(1)}}.app.privacy-cover>.view,.app.privacy-cover>.status-bar,.app.privacy-cover>.bottom-nav{filter:blur(18px)brightness(.12);pointer-events:none;transform:scale(1.02)}.app.privacy-cover:after{content:"♥\a 私人画面已暂停";white-space:pre;z-index:55;color:#d9c9ef;text-align:center;letter-spacing:.08em;background:#080611;place-items:center;font-size:14px;line-height:2;display:grid;position:absolute;inset:0}@media (width:393px) and (height:852px){.status-bar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}#bondView.active{grid-template-rows:49px 27px 44px minmax(300px,1fr) 44px 55px 48px}.milestone-strip{height:44px}.daily-contract{height:48px}.daily-contract button,.fever-button{min-height:44px}.character-stage{min-height:300px}.touch-zone i{width:28px;height:28px}.focus-dock button{min-width:40px;min-height:36px}.hud-button{width:36px;height:36px}.bottom-nav button{min-height:44px}.modal{max-height:calc(100dvh - 58px)}}.focus-dock button.recommended:not(.active){color:#b9fff1;box-shadow:inset 0 0 0 1px #70e7d45c}.intimacy-rail button.recommended{border-color:#91f4dfb8;box-shadow:0 0 14px #58dbc34d,0 5px 16px #0007}.character-stage.date-active{border-color:#ff9dcc;animation:1.6s ease-in-out infinite dateHeartbeat}.character-stage.date-active .gesture-tip{background:linear-gradient(90deg,#9b377be8 var(--date-progress,0%),#421c49e8 0);color:#fff;border-color:#ff9dcc8c;font-weight:700}.character-stage[data-full-body=false] .touch-zone.waist,.character-stage[data-full-body=false] .touch-zone.hip,.character-stage[data-full-body=false] .touch-zone.feet,.character-stage[data-full-body=false] .touch-zone.toes,.character-stage[data-full-body=false] [data-special=embrace],.character-stage[data-full-body=false] [data-special=hip],.character-stage[data-full-body=false] [data-special=toes],.character-stage[data-full-body=false] .focus-dock [data-focus=waist],.character-stage[data-full-body=false] .focus-dock [data-focus=feet],.character-stage[data-full-body=false] .focus-dock [data-focus=toes]{display:none}@keyframes dateHeartbeat{50%{box-shadow:0 0 27px #ff5ca064,inset 0 0 34px #873ea32b}}#rosterView.active{grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid}.roster-grid{height:auto;min-height:0}.toast{top:calc(var(--mobile-topbar) + 8px);white-space:normal;text-align:center;max-width:calc(100% - 28px);line-height:1.4}.status-bar{grid-template-columns:1fr auto auto 44px}.round-icon{min-width:44px;height:44px}.stage-hud{grid-template-columns:auto minmax(64px,1fr) 44px 44px}.hud-button{width:44px;height:44px}.profile-strip{grid-template-columns:44px 1fr 44px}.profile-strip>button{width:44px;height:44px}.focus-dock button{min-width:44px;min-height:44px;padding:6px 5px;font-size:10px}.focus-dock #resetCamera{min-width:44px}.intimacy-rail button{width:74px;min-height:44px}.intimacy-rail b{white-space:normal;font-size:11px;line-height:1.15}.gift-dock button{min-width:44px;min-height:48px}.gift-dock small{font-size:10px}.action-grid small,.consent-chip{font-size:10px}.heat-meter small,.heat-meter strong{font-size:9px}.profile-strip b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.immersive-exit,.immersive-character{z-index:31;color:#fff;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#110b26a8;border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:24px;transition:opacity .22s,transform .22s,visibility .22s;position:absolute;transform:translateY(-6px);box-shadow:0 8px 24px #0008}.immersive-exit{left:max(9px,env(safe-area-inset-left));top:calc(8px + env(safe-area-inset-top))}.immersive-character{top:calc(8px + env(safe-area-inset-top));font-size:30px;line-height:1}.immersive-previous{left:calc(50% - 53px)}.immersive-next{right:calc(50% - 53px)}.immersive-hint{z-index:30;left:50%;bottom:calc(146px + env(safe-area-inset-bottom));color:#f1eaff;text-align:center;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#100a25b8;border:1px solid #ffffff2b;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:8px 13px;font-size:11px;line-height:1.3;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,8px)}.immersive-hint.show{opacity:.92;transform:translate(-50%)}.app:not(.immersive-mode) .stage-hud{grid-template-columns:auto minmax(64px,1fr) 44px 44px 44px}.app.immersive-mode>.status-bar,.app.immersive-mode>.bottom-nav{opacity:0;visibility:hidden;pointer-events:none}.app.immersive-mode #bondView.active{z-index:10;width:100%;height:100dvh;min-height:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.app.immersive-mode #bondView>:not(.character-stage){display:none}.app.immersive-mode #bondView .character-stage{width:100%;height:100dvh;min-height:0;box-shadow:none;background:#090714;border:0;border-radius:0;margin:0}.app.immersive-mode #bondView .character-stage:before{background:linear-gradient(#09071424 0,#0000 23% 62%,#090714b8 100%),radial-gradient(circle at 50% 28%,#0000 18%,#120a2726 72%)}.app.immersive-mode .character-stage[data-outfit=resort]:after{display:none}.app.immersive-mode .stage-hud{left:auto;right:max(9px,env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top));gap:6px;width:auto;display:flex}.app.immersive-mode .stage-hud>*{display:none}.app.immersive-mode .stage-hud #safePause{opacity:.18;pointer-events:auto;background:#110b267a;transition:opacity .22s,background .22s;display:block}.app.immersive-mode.immersive-ui-visible .stage-hud #safePause,.app.immersive-mode.immersive-ui-visible .stage-hud #soundToggle{opacity:.92;pointer-events:auto;display:block}.app.immersive-mode.immersive-ui-visible .stage-hud #soundToggle{background:#110b26b8}.app.immersive-mode.immersive-ui-visible .immersive-exit,.app.immersive-mode.immersive-ui-visible .immersive-character{opacity:.9;visibility:visible;pointer-events:auto;transform:translateY(0)}.app.immersive-mode .intimacy-rail{left:max(8px,env(safe-area-inset-left));opacity:0;visibility:hidden;pointer-events:none;gap:9px;transition:opacity .22s,transform .22s,visibility .22s;top:50%;transform:translateY(-46%)}.app.immersive-mode.immersive-ui-visible .intimacy-rail{opacity:.94;visibility:visible;pointer-events:auto;transform:translateY(-50%)}.app.immersive-mode .intimacy-rail button{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#26133da8;border-radius:50%;place-items:center;width:46px;height:46px;min-height:46px;padding:0;display:grid}.app.immersive-mode .intimacy-rail button span{background:0 0;width:auto;height:auto;margin:0;font-size:20px}.app.immersive-mode .intimacy-rail button b{display:none}.app.immersive-mode .gift-dock,.app.immersive-mode .focus-dock{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s}.app.immersive-mode.immersive-ui-visible .gift-dock,.app.immersive-mode.immersive-ui-visible .focus-dock{opacity:.9;visibility:visible;pointer-events:auto}.app.immersive-mode .gift-dock{right:max(8px,env(safe-area-inset-right));top:50%;transform:translateY(-42%)}.app.immersive-mode.immersive-ui-visible .gift-dock{transform:translateY(-50%)}.app.immersive-mode .focus-dock{bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,8px)}.app.immersive-mode.immersive-ui-visible .focus-dock{transform:translate(-50%)}.app.immersive-mode .fever-button{right:max(12px,env(safe-area-inset-right));top:calc(62px + env(safe-area-inset-top));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s;bottom:auto;transform:translateY(-6px)}.app.immersive-mode.immersive-ui-visible .fever-button:not(:disabled){opacity:.88;visibility:visible;pointer-events:auto;transform:translateY(0)}.app.immersive-mode .fever-button:disabled{opacity:0;pointer-events:none}.app.immersive-mode .touch-zone i{opacity:0}.app.immersive-mode .touch-zone:active i,.app.immersive-mode .touch-zone.pressing i{opacity:.92}.app.immersive-mode .gesture-tip{opacity:0}.app.immersive-mode .character-stage.date-active .gesture-tip,.app.immersive-mode .character-stage.challenge-active .gesture-tip{opacity:.92}.app.immersive-mode.immersive-ui-visible .character-stage.date-active .immersive-character,.app.immersive-mode.immersive-ui-visible .character-stage.challenge-active .immersive-character{opacity:0;visibility:hidden;pointer-events:none}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.hair{width:32%;height:17%;top:5%;left:34%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.face{width:26%;height:17%;top:22%;left:37%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.chest{width:26%;height:13%;top:37%;left:37%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.hand{width:19%;height:18%;top:43%;left:67%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.waist{width:22%;height:10%;top:49%;left:39%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.hip{width:26%;height:13%;top:59%;left:37%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.feet{width:28%;height:14%;bottom:9%;left:36%}.app.immersive-mode .character-stage[data-focus=full] .touch-zone.toes{width:18%;height:9%;bottom:1%;left:41%}.app.immersive-mode .character-stage.scene-changing .avatar-viewport,.app.immersive-mode .character-stage.outfit-changing .avatar-viewport{animation:.42s immersiveReveal}@keyframes immersiveReveal{0%{opacity:.42;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}.app.immersive-mode .speech-bubble{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));background:linear-gradient(100deg,#221844c7,#491d43bd);border-color:#ffffff32;box-shadow:0 8px 24px #0006}.app.immersive-mode .toast{top:calc(12px + env(safe-area-inset-top))}@media (orientation:landscape) and (max-height:500px){.app.immersive-mode #bondView.active{grid-template:none;display:block}.app.immersive-mode #bondView .character-stage{height:100dvh}.app.immersive-mode .intimacy-rail{grid-template-columns:repeat(2,46px);display:grid;top:50%}.app.immersive-mode .gift-dock{grid-template-columns:repeat(3,44px);display:grid;top:50%}.app.immersive-mode .speech-bubble{left:25%;right:25%}}@media (prefers-reduced-motion:reduce){.immersive-exit,.immersive-character,.immersive-hint,.app.immersive-mode .intimacy-rail,.app.immersive-mode .gift-dock,.app.immersive-mode .focus-dock{transition:none}}.app.immersive-mode.immersive-ui-visible .stage-hud #safePause,.app.immersive-mode.immersive-ui-visible .stage-hud #soundToggle{opacity:.92;visibility:visible;pointer-events:auto;display:block}.app.immersive-mode .focus-dock button{min-width:44px;min-height:44px}.app.immersive-mode .fever-button{min-height:44px}.app.immersive-mode .speech-bubble{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s;transform:translateY(12px)}.app.immersive-mode .character-stage.dialogue-visible .speech-bubble{opacity:1;visibility:visible;transform:translateY(0)}.character-stage[data-sprite=true] .avatar-viewport:before{content:"";z-index:0;background:var(--sprite-image) var(--sprite-position,center)/400% 500% no-repeat;filter:blur(26px)brightness(.46)saturate(.72);opacity:.82;position:absolute;inset:-28px;transform:scale(1.13)}.character-stage[data-sprite=true] #characterImage{z-index:1;aspect-ratio:1;width:100%;height:auto;top:50%;left:0;right:auto;transform:translateY(-50%)scale(1.001);box-shadow:0 0 48px 25px #0907148c}.character-stage[data-sprite=true].react #characterImage{animation:.62s spriteCharacterReact}@keyframes spriteCharacterReact{0%,to{transform:translateY(-50%)scale(1.001)}35%{transform:translateY(-50%)scale(1.028)rotate(-.4deg)}68%{transform:translateY(-50%)scale(1.012)rotate(.25deg)}}.touch-feedback{--touch-tone:#ff70b6;border:1px solid color-mix(in srgb,var(--touch-tone) 76%,white);background:radial-gradient(circle,#fff9 0 5%,color-mix(in srgb,var(--touch-tone) 35%,transparent) 18%,transparent 64%);width:58px;height:58px;box-shadow:0 0 0 1px #fff3 inset,0 0 24px color-mix(in srgb,var(--touch-tone) 68%,transparent);opacity:.92;will-change:transform,opacity;border-radius:50%;animation:.46s cubic-bezier(.18,.84,.28,1) forwards touchCharge;position:absolute;transform:translate(-50%,-50%)scale(.58)}.touch-feedback:before,.touch-feedback:after{content:"";border-radius:inherit;border:1px solid #fff9;position:absolute;inset:9px}.touch-feedback:after{box-shadow:0 0 14px var(--touch-tone);background:#fff9;inset:18px}.touch-feedback.hair{--touch-tone:#c797ff}.touch-feedback.face{--touch-tone:#ff74bd}.touch-feedback.chest{--touch-tone:#ff9ccc}.touch-feedback.hand{--touch-tone:#72eee3}.touch-feedback.waist{--touch-tone:#f6a4ff}.touch-feedback.hip{--touch-tone:#ff728d}.touch-feedback.feet{--touch-tone:#80dfff}.touch-feedback.toes{--touch-tone:#7de8ff}.touch-feedback.tap{animation:.44s ease-out forwards touchTap}.touch-feedback.complete{animation:.7s cubic-bezier(.15,.88,.25,1) forwards touchComplete}.touch-feedback.cancel{animation:.24s ease-out forwards touchCancel}@keyframes touchCharge{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes touchTap{0%{opacity:.96;transform:translate(-50%,-50%)scale(.8)}55%{opacity:.82;transform:translate(-50%,-50%)scale(1.42)}to{opacity:0;transform:translate(-50%,-50%)scale(1.85)}}@keyframes touchComplete{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.65)}to{opacity:0;transform:translate(-50%,-50%)scale(2.35)}}@keyframes touchCancel{to{opacity:0;transform:translate(-50%,-50%)scale(.28)}}.cinematic-vignette{z-index:8;opacity:0;pointer-events:none;background:linear-gradient(#06030bbd 0 10%,#0000 27% 67%,#06030bd6 91%),radial-gradient(circle at 50% 42%,#0000 25%,#16052080 82%);transition:opacity .38s;position:absolute;inset:-1px}.character-stage.cinematic-active .cinematic-vignette{opacity:1;animation:5.6s both cinematicVignette}.character-stage.cinematic-active .avatar-viewport{animation:5.6s cubic-bezier(.2,.74,.2,1) both cinematicDrift}.resonance-banner{z-index:28;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#32133ac7,#7b275db8 52%,#34308dc2);border:1px solid #ffeaf38f;border-radius:22px;justify-items:center;width:min(86%,360px);padding:13px 18px 15px;display:grid;position:absolute;top:24%;left:50%;transform:translate(-50%,18px)scale(.88);box-shadow:0 16px 52px #000a,0 0 34px #ff64ae59}.resonance-banner small{color:#a9fff1;letter-spacing:.34em;font-size:10px;font-weight:800}.resonance-banner strong{background:linear-gradient(90deg,#fff,#ffadd1 48%,#96fff0);color:#0000;letter-spacing:.06em;text-shadow:0 0 24px #fff5;-webkit-background-clip:text;background-clip:text;margin:2px 0 -1px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-style:italic;line-height:1.05}.resonance-banner span{color:#fff1f8;letter-spacing:.06em;font-size:11px}.resonance-banner.show{visibility:visible;animation:5.6s cubic-bezier(.18,.78,.2,1) both resonanceBanner}@keyframes cinematicVignette{0%,to{opacity:0}8%,84%{opacity:1}}@keyframes cinematicDrift{0%{transform:scale(1)}20%{transform:scale(1.018)}54%{transform:scale(1.008)}78%{transform:scale(1.024)}to{transform:scale(1)}}@keyframes resonanceBanner{0%{opacity:0;transform:translate(-50%,20px)scale(.86)}8%,23%{opacity:1;transform:translate(-50%)scale(1)}78%{opacity:.94;transform:translate(-50%,-3px)scale(1)}to{opacity:0;transform:translate(-50%,-18px)scale(.96)}}.character-stage[data-mood=warm] .character-glow,.character-stage[data-mood=soft] .character-glow{filter:blur(34px);background:#ff7bb34f}.character-stage[data-mood=playful] .character-glow{filter:blur(32px);background:#cb68ff59}.character-stage[data-mood=racing] .character-glow{filter:blur(28px);background:linear-gradient(90deg,#ff4d9f66,#765cff5c,#5ff6e65c);animation:.8s ease-in-out infinite alternate moodRush}.character-stage[data-reaction=face] .cinematic-vignette,.character-stage[data-reaction=hair] .cinematic-vignette,.character-stage[data-reaction=chest] .cinematic-vignette{box-shadow:inset 0 0 68px #ff87c12e}.character-stage[data-reaction=hand] .cinematic-vignette{box-shadow:inset 0 0 68px #74f7e62b}.character-stage[data-reaction=waist] .cinematic-vignette,.character-stage[data-reaction=hip] .cinematic-vignette{box-shadow:inset 0 0 76px #ff5c9f35}.character-stage[data-reaction=feet] .cinematic-vignette,.character-stage[data-reaction=toes] .cinematic-vignette{box-shadow:inset 0 0 72px #6deaff30}@keyframes moodRush{to{opacity:.92;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.touch-feedback,.touch-feedback.tap,.touch-feedback.complete,.touch-feedback.cancel,.character-stage.cinematic-active .cinematic-vignette,.character-stage.cinematic-active .avatar-viewport,.resonance-banner.show,.character-stage[data-mood=racing] .character-glow{animation:none}.touch-feedback.tap,.touch-feedback.complete,.touch-feedback.cancel{opacity:0}.resonance-banner.show{opacity:1;transform:translate(-50%)}}.character-stage #characterImage,.roster-card .avatar,.partner-card>.partner-image{filter:brightness(1.09)saturate(.93)contrast(.98)}.avatar-viewport.portrait-only #characterImage{filter:brightness(1.09)saturate(.93)contrast(.98)}.avatar-viewport.ready #characterImage{filter:blur(9px)brightness(.79)saturate(.88)}.character-stage.glow #characterImage{filter:brightness(1.16)saturate(.98)contrast(.98)}.app.immersive-mode .character-stage.date-active .intimacy-rail,.app.immersive-mode .character-stage.date-active .gift-dock,.app.immersive-mode .character-stage.date-active .focus-dock,.app.immersive-mode .character-stage.date-active .fever-button,.app.immersive-mode .character-stage.challenge-active .intimacy-rail,.app.immersive-mode .character-stage.challenge-active .gift-dock,.app.immersive-mode .character-stage.challenge-active .focus-dock,.app.immersive-mode .character-stage.challenge-active .fever-button{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.app.immersive-mode .character-stage.date-active .gesture-tip,.app.immersive-mode .character-stage.challenge-active .gesture-tip{bottom:calc(76px + env(safe-area-inset-bottom))}.character-stage.cinematic-active .touch-zone{pointer-events:none}.app.immersive-mode .stage-hud #safePause{opacity:0;visibility:visible;pointer-events:none;display:block}.app.immersive-mode .immersive-exit,.app.immersive-mode .immersive-character{opacity:0;visibility:visible;pointer-events:none}.app.immersive-mode.immersive-ui-visible .stage-hud #safePause,.app.immersive-mode.immersive-ui-visible .stage-hud #soundToggle,.app.immersive-mode.immersive-ui-visible .immersive-exit,.app.immersive-mode.immersive-ui-visible .immersive-character{pointer-events:auto}.close-modal{place-items:center;min-width:44px;min-height:44px;display:grid}.photo-controls{gap:6px;margin:8px 0;display:grid}.photo-control-row{gap:6px;padding:2px;display:flex;overflow-x:auto}.photo-control-row button{color:#fff;background:#211b35;border:1px solid #ffffff40;border-radius:12px;flex:none;min-height:44px;padding:8px 12px}.photo-control-row button[aria-pressed=true]{background:#60417c;border-color:#dbf}.photo-control-row button:disabled{opacity:.4}.color-preset-row button{min-width:72px;padding-left:30px;position:relative}.color-preset-row button:before{content:"";background:var(--swatch);border:2px solid #fff9;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:9px;transform:translateY(-50%);box-shadow:0 0 0 1px #0005}.character-stage[data-display-mode=photo] #avatarCanvas,.character-stage[data-display-mode=photo] #avatarLoading{display:none!important}.character-stage[data-display-mode=photo] #characterImage{opacity:1!important;filter:none!important;transition:none!important;animation:none!important}.character-stage[data-display-mode=photo][data-sprite=false] #characterImage{background-position:50%!important;background-size:contain!important;transform:none!important}.character-stage[data-display-mode=photo][data-sprite=true] #characterImage{transform:translateY(-50%)!important}.app.immersive-mode.immersive-ui-visible #bondView>#photoControls{z-index:40;top:calc(66px + env(safe-area-inset-top));background:#17122de8;border-radius:14px;max-height:150px;padding:8px;position:fixed;left:65px;right:65px;overflow-y:auto;display:grid!important}#avatarCanvas{filter:brightness(1.08)saturate(.94)contrast(1.045)}.avatar-viewport.ready:not(.portrait-only) #characterImage{filter:blur(10px)brightness(.76)saturate(.86);transform:scale(1.09)}.avatar-viewport.portrait-only #characterImage{opacity:1;filter:brightness(1.1)saturate(.94)contrast(1.055);transform:translate(0,0)scale(1.02)}.character-stage[data-sprite=true] .avatar-viewport{perspective:1000px;transform-style:preserve-3d}.character-stage[data-sprite=true] .avatar-viewport:before{will-change:transform,filter;animation:9s ease-in-out infinite alternate spriteAtmosphere}.character-stage[data-sprite=true] .avatar-viewport:after{content:"";z-index:3;pointer-events:none;mix-blend-mode:soft-light;opacity:.72;background:radial-gradient(circle at 42% 31%,#fff3 0,#0000 18%),linear-gradient(112deg,#0000 32%,#cbbdff17 46%,#0000 60%);animation:6.4s ease-in-out infinite alternate portraitLight;position:absolute;inset:0}.character-stage[data-sprite=true] .avatar-viewport.ready #characterImage{opacity:.05;filter:blur(13px)brightness(.7)saturate(.8);animation:none}.character-stage[data-sprite=true] .avatar-viewport.portrait-only #characterImage{opacity:1;filter:brightness(1.1)saturate(.94)contrast(1.055);transform:translate3d(0,-50%,0) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1));transform-origin:50% 54%;will-change:transform,filter;animation:5.8s ease-in-out infinite spriteAlive;-webkit-mask-image:linear-gradient(#0000 0,#000 7% 93%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 7% 93%,#0000 100%)}.character-stage[data-sprite=true].react .avatar-viewport.ready #characterImage{animation:none}.character-stage[data-sprite=true].react .avatar-viewport.portrait-only #characterImage{animation:.62s cubic-bezier(.2,.86,.24,1) spriteCharacterReactV6}@keyframes spriteAtmosphere{0%{filter:blur(26px)brightness(.45)saturate(.7);transform:translate(-5px,-2px)scale(1.13)}to{filter:blur(29px)brightness(.53)saturate(.78);transform:translate(6px,3px)scale(1.17)}}@keyframes portraitLight{0%{opacity:.45;transform:translate(-2%)}to{opacity:.82;transform:translate(3%,1%)}}@keyframes spriteAlive{0%,to{transform:translate3d(0,-50%,0) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) rotateZ(-.13deg) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1))}50%{transform:translate3d(0,-50.45%,10px) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) rotateZ(.13deg) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1)) scale(1.006)}}@keyframes spriteCharacterReactV6{0%,to{transform:translate3d(0,-50%,0) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1))}35%{transform:translate3d(0,-50.7%,13px) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) rotateZ(-.45deg) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1)) scale(1.022)}68%{transform:translate3d(0,-50.2%,6px) perspective(1000px) rotateX(var(--portrait-pitch,0deg)) rotateY(var(--portrait-yaw,0deg)) rotateZ(.24deg) scale(var(--portrait-focus,1)) scale(var(--portrait-scale,1)) scale(1.008)}}@media (prefers-reduced-motion:reduce){.character-stage[data-sprite=true] .avatar-viewport:before,.character-stage[data-sprite=true] .avatar-viewport:after,.character-stage[data-sprite=true] .avatar-viewport.portrait-only #characterImage,.character-stage[data-sprite=true].react .avatar-viewport.portrait-only #characterImage{animation:none}.character-stage[data-sprite=true].react .avatar-viewport.portrait-only #characterImage{filter:brightness(1.15)saturate(.96)contrast(1.055)}}.app.immersive-mode .immersive-exit{opacity:.2;visibility:visible;pointer-events:auto;box-shadow:none;background:#100b2652;border-color:#ffffff18;transform:translateY(0)}.app.immersive-mode .immersive-exit:active{opacity:.78;transform:scale(.94)}.app.immersive-mode.immersive-ui-visible .immersive-exit{opacity:.9;background:#110b26a8;border-color:#ffffff30;box-shadow:0 8px 24px #0008}.avatar-viewport.model-ready #avatarCanvas{opacity:1;filter:brightness(1.035)saturate(.98)contrast(1.025)}.avatar-viewport.model-ready #characterImage{opacity:.32;filter:blur(18px)brightness(.58)saturate(.78);transform:scale(1.14)}.avatar-viewport.model-ready:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(at 50% 42%,#0000 21%,#0a061d2e 62%,#0805158c 100%),linear-gradient(#bda5ff12,#0000 34%,#08051452);position:absolute;inset:0}.avatar-viewport.model-ready .avatar-loading{z-index:4}.action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.action-grid button{padding-inline:1px}.action-grid small{font-size:8px}@media (max-width:390px){.action-grid{gap:4px}.action-grid b{font-size:9px}.action-grid small{font-size:7px}}.action-grid{scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-template-columns:none;grid-auto-columns:minmax(102px,30%);grid-auto-flow:column;gap:7px;padding:1px 2px 5px;scroll-padding-inline:2px;display:grid;overflow:auto hidden}.action-grid::-webkit-scrollbar{display:none}.action-grid button{scroll-snap-align:start;text-align:center;width:100%;height:58px;padding:5px 7px}.action-grid b{font-size:11px}.action-grid small{text-overflow:ellipsis;font-size:9px}.pose-reset{z-index:32;left:max(9px,env(safe-area-inset-left));color:#eee8ff;opacity:.48;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#100b266b;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;min-height:36px;padding:5px 9px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:62px;box-shadow:0 6px 18px #0005}.pose-reset[hidden]{display:none}.pose-reset span{font-size:15px}.pose-reset b{white-space:nowrap;font-size:9px;font-weight:600}.pose-reset:active{opacity:.9;transform:scale(.96)}.app.immersive-mode .pose-reset{top:calc(61px + env(safe-area-inset-top));opacity:.16}.app.immersive-mode.immersive-ui-visible .pose-reset{opacity:.72}.pose-library-modal{padding:10px 10px max(10px,env(safe-area-inset-bottom))}.pose-library-modal .modal{max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));grid-template-rows:auto auto auto minmax(0,1fr);padding-bottom:12px;display:grid;overflow:hidden}.pose-library-modal .choice-list{overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;padding:1px 2px 10px;overflow-y:auto}.pose-library-modal .choice-list button{align-items:center;min-height:63px;padding:9px 10px;scroll-margin-top:8px}.pose-library-modal .choice-list button>span:first-child{min-width:0}.pose-library-modal .choice-list button b,.pose-library-modal .choice-list button small{white-space:normal;line-height:1.25}.pose-library-modal .choice-list button>span:last-child{color:#ffadd1;margin-left:6px;font-size:10px}@media (min-width:380px) and (max-width:405px) and (min-height:820px) and (max-height:880px){#bondView.active{grid-template-rows:46px 25px 38px minmax(376px,1fr) 40px 63px 43px}.character-head{min-height:46px}.affection-row{height:25px}.milestone-strip{height:38px}.action-grid{grid-auto-columns:108px}.action-grid button{height:58px}.daily-contract{height:43px}.profile-strip{height:40px}}@media (max-width:370px){.action-grid{grid-auto-columns:100px}.action-grid b{font-size:10px}.action-grid small{font-size:8px}.pose-library-modal .choice-list{grid-template-columns:1fr}}.immersive-ui-toggle,.immersive-pose-shortcut{z-index:34;color:#f6efff;opacity:.24;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);min-width:44px;min-height:44px;box-shadow:none;background:#100b2661;border:1px solid #ffffff1b;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background .2s;display:none;position:absolute}@keyframes mobileCharacterReact{0%,to{transform:none}50%{transform:scale(1.012)}}@keyframes mobileOutfitChange{0%{opacity:1}45%{opacity:.45}to{opacity:1}}@media (max-width:500px){.character-stage{contain:layout paint style;box-shadow:0 8px 22px #0007}.character-glow{display:none}.modal-layer,.speech-bubble,.immersive-exit,.immersive-character,.immersive-hint,.app.immersive-mode .intimacy-rail button,.resonance-banner,.pose-reset,.immersive-ui-toggle,.immersive-pose-shortcut{-webkit-backdrop-filter:none!important}.character-stage.react #characterImage{animation:.28s mobileCharacterReact}.character-stage.outfit-changing .avatar-viewport{animation:.34s mobileOutfitChange}.character-stage[data-mood=racing] .character-glow,.character-stage.fever:before{animation:none}.spark:nth-child(n+9){display:none}}.immersive-ui-toggle{right:max(9px,env(safe-area-inset-right));top:calc(61px + env(safe-area-inset-top));border-radius:50%;flex-direction:column}.immersive-ui-toggle span{font-size:13px;line-height:12px}.immersive-ui-toggle b{font-size:8px;line-height:11px}.immersive-pose-shortcut{right:max(10px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));border-radius:999px;gap:3px;padding:0 8px}.immersive-pose-shortcut span{font-size:10px}.immersive-pose-shortcut b{color:#ffadd1;font-size:12px}.app.immersive-mode .immersive-ui-toggle,.app.immersive-mode .immersive-pose-shortcut{pointer-events:auto;display:flex}.app.immersive-mode.immersive-ui-visible .immersive-ui-toggle,.app.immersive-mode.immersive-ui-visible .immersive-pose-shortcut{opacity:.9;background:#110b26b8;border-color:#ffffff30;box-shadow:0 8px 24px #0008}.app.immersive-mode .immersive-ui-toggle:active,.app.immersive-mode .immersive-pose-shortcut:active{opacity:.9;transform:scale(.94)}.app.immersive-mode .immersive-character{opacity:.2;visibility:visible;pointer-events:auto;box-shadow:none;background:#100b2652;border-color:#ffffff18;transform:translateY(0)}.app.immersive-mode .stage-hud #soundToggle{opacity:.22;visibility:visible;pointer-events:auto;box-shadow:none;background:#100b2652;border-color:#ffffff18;display:block}.app.immersive-mode .intimacy-rail{opacity:.26;visibility:visible;pointer-events:auto;transform:translateY(-50%)}.app.immersive-mode .intimacy-rail button{pointer-events:auto;box-shadow:none;background:#1a102b75;border-color:#ffffff17}.app.immersive-mode.immersive-ui-visible .immersive-character,.app.immersive-mode.immersive-ui-visible .stage-hud #soundToggle{opacity:.92;background:#110b26b8;border-color:#ffffff30;box-shadow:0 8px 24px #0008}.app.immersive-mode.immersive-ui-visible .intimacy-rail{opacity:.94}.app.immersive-mode:not(.immersive-ui-visible) .gift-dock,.app.immersive-mode:not(.immersive-ui-visible) .focus-dock,.app.immersive-mode:not(.immersive-ui-visible) .fever-button{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.app.immersive-mode .immersive-exit{z-index:35;opacity:.2;visibility:visible;pointer-events:auto;min-width:44px;min-height:44px}.photo-load-status{z-index:39;color:#fff;text-align:center;background:#161022e8;border-radius:14px;max-width:80%;padding:12px 16px;font-size:13px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.photo-load-status[hidden],.photo-load-status button[hidden],.photo-pager[hidden]{display:none}.photo-load-status button{color:#fff;background:#71569e;border-radius:10px;min-height:44px;margin:8px auto 0;padding:8px 18px;display:block}.photo-pager{z-index:34;bottom:calc(10px + env(safe-area-inset-bottom));color:#fff;background:#100b269c;border:1px solid #ffffff30;border-radius:16px;align-items:center;max-width:calc(100% - 108px);display:flex;position:absolute;left:12px}.photo-pager button{color:#fff;background:0 0;border-radius:12px;min-width:44px;min-height:44px;font-size:25px}.photo-pager span{text-align:center;pointer-events:none;min-width:66px;max-width:116px}.photo-pager b,.photo-pager small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;display:block;overflow:hidden}.photo-pager small{color:#e1d8ed;font-size:9px}.photo-fit-toggle{z-index:34;right:9px;top:calc(110px + env(safe-area-inset-top));color:#fff;background:#100b269c;border:1px solid #ffffff30;border-radius:12px;min-width:44px;min-height:44px;padding:7px;font-size:10px;position:absolute}.character-motion-button{z-index:34;right:9px;top:calc(160px + env(safe-area-inset-top));color:#fff;background:#100b269c;border:1px solid #ffffff30;border-radius:12px;min-width:44px;min-height:44px;padding:7px;font-size:10px;position:absolute}.character-motion-button[hidden]{display:none}.sunglasses-toggle{z-index:34;right:9px;top:calc(210px + env(safe-area-inset-top));color:#fff;background:#100b269c;border:1px solid #ffffff30;border-radius:12px;min-width:44px;min-height:44px;padding:7px;font-size:10px;position:absolute}.sunglasses-toggle[hidden]{display:none}.app:not(.immersive-mode) .photo-pager{bottom:80px}.app.immersive-mode .character-stage[data-display-mode=photo][data-photo-fit=cover] #characterImage{background-size:cover!important;background-position:var(--photo-position,center)!important}.app.immersive-mode .character-stage[data-display-mode=photo][data-photo-fit=contain] #characterImage{background-position:50%!important;background-size:contain!important}.app.immersive-mode .avatar-viewport{filter:none!important}.app.immersive-mode .speech-bubble{bottom:calc(68px + env(safe-area-inset-bottom))}.character-stage[data-display-mode=photo] .focus-dock{display:none!important}.app.immersive-mode .immersive-exit{opacity:.7;font-size:11px;transform:none}.app.immersive-mode:not(.immersive-ui-visible) .intimacy-rail,.app.immersive-mode:not(.immersive-ui-visible) .stage-hud,.app.immersive-mode:not(.immersive-ui-visible) .immersive-character{visibility:hidden!important;pointer-events:none!important;opacity:0!important}.app.immersive-mode:not(.immersive-ui-visible) :is(.intimacy-rail,.stage-hud,.immersive-character,.gift-dock,.fever-button){transition:none!important}.app.immersive-mode .immersive-pose-shortcut,.app.immersive-mode .immersive-ui-toggle{opacity:.65}.pose-library-modal .choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pose-library-modal .choice-list .photo-choice{flex-direction:column;align-items:stretch;gap:7px;min-width:0;padding:8px;display:flex;overflow:hidden}.photo-choice img{aspect-ratio:1;object-fit:contain;background:#100b26;border-radius:8px;width:100%;height:auto;display:block}.pose-library-modal .choice-list .photo-choice>span:last-child{text-align:right;margin:0;font-size:11px}.pose-library-modal .choice-list .photo-choice:disabled{opacity:.8;background:#49335e;border-color:#ddb6ff}.photo-pager button:active,.photo-fit-toggle:active,.photo-choice:active{transform:scale(.97)}.photo-pager{max-width:calc(100% - 172px)}.photo-pager span{flex:1;min-width:0}.daily-interaction-button{z-index:34;right:82px;bottom:calc(10px + env(safe-area-inset-bottom));color:#fff;background:#100b269c;border:1px solid #ffffff30;border-radius:16px;min-width:60px;min-height:44px;font-size:12px;position:absolute}.app:not(.immersive-mode) .daily-interaction-button{bottom:80px;right:12px}.daily-interaction-button:active{background:#73568c}.daily-feedback{z-index:36;color:#fff;text-align:center;pointer-events:none;background:#201632d9;border-radius:16px;max-width:85%;padding:9px 14px;font-size:13px;animation:.2s ease-out dailyFeedbackIn;position:absolute;top:25%;left:50%;transform:translate(-50%)}.daily-feedback[hidden]{display:none}@keyframes dailyFeedbackIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.daily-feedback{animation:none}.photo-pager button,.photo-fit-toggle,.photo-choice{transition:none!important;transform:none!important}}.app.immersive-mode #avatarCanvas,.app.immersive-mode .avatar-viewport{touch-action:none}@media (min-width:380px) and (max-width:405px) and (min-height:820px) and (max-height:880px){.app.immersive-mode .immersive-previous{left:calc(50% - 51px)}.app.immersive-mode .immersive-next{right:calc(50% - 51px)}.app.immersive-mode .intimacy-rail{left:max(7px,env(safe-area-inset-left));gap:7px}.app.immersive-mode .intimacy-rail button{width:44px;height:44px;min-height:44px}.app.immersive-mode .immersive-pose-shortcut{bottom:calc(10px + env(safe-area-inset-bottom))}}.daily-sticker{z-index:37;left:max(12px,env(safe-area-inset-left));pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;color:#fff0cf;filter:drop-shadow(0 3px 7px #160c2b8a);width:112px;animation:2.5s both dailyStickerLife;position:absolute;top:42%}.daily-sticker[data-phase=ready]{animation-duration:1.7s}.daily-sticker-art{width:92px;height:76px;margin:auto;position:relative}.daily-sticker-icon{color:#ffe2ad;transform-origin:50% 80%;width:65px;height:65px;display:block;position:absolute;top:4px;left:14px}.daily-sticker-icon svg{width:100%;height:100%;display:block}.daily-sticker-caption{letter-spacing:.04em;text-shadow:0 2px 5px #160c2b;background:#21152c9e;border-radius:9px;padding:2px 4px;font-size:11px;line-height:1.5;display:block}.daily-sticker>small{letter-spacing:.08em;color:#eee0ef;text-shadow:0 1px 4px #160c2b;margin-top:3px;font-size:9px;display:block}.daily-sticker-spark{opacity:0;width:5px;height:5px;transform:rotate(calc(var(--spark-index)*72deg)) translateY(-25px);background:#aef9e2;border-radius:2px;animation:1.4s ease-out .3s both dailyStickerSpark;position:absolute;top:34px;left:44px}.daily-sticker--wave .daily-sticker-main{animation:1.5s ease-in-out both dailyStickerWave}.daily-sticker--highfive .daily-sticker-main{animation:1.4s both dailyStickerClapLeft;left:0}.daily-sticker--highfive .daily-sticker-partner{color:#b8efe7;animation:1.4s both dailyStickerClapRight;left:30px}.daily-sticker--sparkle .daily-sticker-main,.daily-sticker--bounce .daily-sticker-main{animation:1.4s both dailyStickerBounce}.daily-sticker--sway .daily-sticker-main{animation:1.8s ease-in-out both dailyStickerSway}.daily-sticker--photo .daily-sticker-main{animation:1.5s both dailyStickerPhoto}.daily-sticker--rps .daily-sticker-main{animation:1.4s both dailyStickerBounce}.daily-sticker-left,.daily-sticker-right{width:48px;height:48px;animation:1s both dailyStickerBounce;top:15px}.daily-sticker-left{left:0}.daily-sticker-right{color:#b8efe7;animation-delay:.12s;left:45px}@keyframes dailyStickerLife{0%{opacity:0;transform:translateY(7px)scale(.95)}12%,82%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}@keyframes dailyStickerWave{0%,to{transform:rotate(0)}18%,52%{transform:rotate(-17deg)}35%,70%{transform:rotate(15deg)}}@keyframes dailyStickerClapLeft{0%{transform:translate(-10px)rotate(-15deg)}40%,55%{transform:translate(12px)rotate(9deg)}to{transform:translate(2px)rotate(-5deg)}}@keyframes dailyStickerClapRight{0%{transform:translate(10px)rotate(15deg)scaleX(-1)}40%,55%{transform:translate(-12px)rotate(-9deg)scaleX(-1)}to{transform:translate(-2px)rotate(5deg)scaleX(-1)}}@keyframes dailyStickerBounce{0%,to{transform:translateY(0)scale(1)}25%{transform:translateY(-10px)scale(1.06)}52%{transform:translateY(2px)scale(.97)}74%{transform:translateY(-4px)scale(1.02)}}@keyframes dailyStickerSway{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-7px)rotate(7deg)}}@keyframes dailyStickerPhoto{0%,to{transform:scale(1)}35%{transform:scale(.91)}52%{transform:scale(1.09)}70%{transform:scale(1)}}@keyframes dailyStickerSpark{0%{opacity:0;transform:rotate(calc(var(--spark-index)*72deg)) translateY(-24px) scale(.5)}25%{opacity:.9}to{opacity:0;transform:rotate(calc(var(--spark-index)*72deg)) translateY(-45px) scale(.2)}}.daily-sticker--still,.daily-sticker--still *{animation:none!important}.daily-sticker--still .daily-sticker-partner{transform:scaleX(-1)}.daily-sticker--still .daily-sticker-spark{opacity:.65}.modal-layer.daily-interaction-modal{padding:10px 10px max(10px,env(safe-area-inset-bottom));background:linear-gradient(#0000 40%,#100b2624 73%,#100b2670);-webkit-backdrop-filter:none!important}.daily-interaction-modal .modal{overscroll-behavior:contain;background:linear-gradient(145deg,#302445f5,#151122f5);border:1px solid #efd7ff55;border-radius:22px;width:min(100%,480px);max-height:min(47dvh,410px);padding:17px 14px 14px;box-shadow:0 8px 30px #0007}.daily-interaction-modal .modal h2{margin:4px 40px 6px 0;font-size:19px}.daily-interaction-modal .modal>p{margin-bottom:10px;font-size:12px;line-height:1.5}.daily-interaction-modal .choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.daily-interaction-modal .choice-list button{background:linear-gradient(120deg,#57426d91,#322640bf);border-color:#d4b3ed42;gap:5px;min-width:0;min-height:48px;padding:9px 10px}.daily-interaction-modal .choice-list button>span:first-child{min-width:0}.daily-interaction-modal .choice-list button b{font-size:12px;line-height:1.4}.daily-interaction-modal .choice-list button small{color:#c7cfda;font-size:10px;line-height:1.4}.daily-interaction-modal .choice-list button:focus-visible{outline-offset:1px;outline:2px solid #b4f4e8}@media (max-height:520px){.daily-sticker{width:92px;top:32%}.daily-sticker-art{height:64px;transform:scale(.8)}.daily-sticker-caption{font-size:10px}.daily-interaction-modal .modal{max-height:49dvh;padding-top:12px}.daily-interaction-modal .modal>p{margin-bottom:6px}}@media (prefers-reduced-motion:reduce){.daily-sticker,.daily-sticker *{animation:none!important}.daily-sticker-spark{opacity:.65}.daily-sticker-partner{transform:scaleX(-1)}}
