/* 由 web/build-ui.js 自动生成，勿手改；源是小程序 wxss。 */
/* ===== source: app.wxss ===== */
html, body {
  min-height: 100%;
  background: #f7efe3;
  color: #15120f;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif;
}

view,
text,
button,
input {
  box-sizing: border-box;
}

button {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1;
  box-sizing: border-box;
}

button::after {
  border: 0;
}

.ali-resize-canvas {
  position: fixed;
  left: calc(-2000 * var(--rpx));
  top: calc(-2000 * var(--rpx));
  width: 1024px;
  height: 1024px;
}


/* ===== source: pages/index/index.wxss ===== */
@font-face {
  /* Font is embedded as a data URI so DevTools does not load a local TTF path. */
  font-family: "LemiZhixiaSplash";
  src: url("data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMmg28xAAAACsAAAAYGNtYXBVeqrHAAABDAAAAkpnbHlmX9ZV6QAAA1gAAEb8aGVhZC4m5tQAAEpUAAAANmhoZWEIXgMrAABKjAAAACRobXR4ck4NBwAASrAAAACMbG9jYR1fLrYAAEs8AAAASG1heHAEOwG8AABLhAAAACBuYW1lfGMBggAAS6QAAAP2cG9zdFvy/aQAAE+cAAABWAAEA0QBkAAFAAgCigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAIAAAAEQAAAAAAAAEAAAAABVS1dOAMAAQf8MA0j/YADIBBAAuAAEAAEAAAAAAfQCvAAAACAAAgAAAAMAAAADAAAAHAABAAAAAAFEAAMAAQAAABwABAEoAAAARgBAAAUABgBBAEkAVADXThZOzk9gT39ULFnLW4hepl8AX8NgxWEfYcJipGOMZa1n1Gtka9tuKXUodUx2hH/7gziIq4vKi9GRzP8M//8AAABBAEkAVADXThZOzk9gT39ULFnLW4hepl8AX8NgxWEfYcJipGOMZa1n1Gtka9tuKXUodUx2hH/7gziIq4vKi9GRzP8M////wP+5/6//S7HusTewprCIq9ymPqSCoWWhDKBKn0me8J5OnW2chppmmECUsZQ7ke6K8IrNiZaAIHzkd3J0VHROblQBFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAF3/YAGaA0gAAwAHAAsAFwAdACcAKwAxAD0ASAAABSERIQMVMzUHIzUzJxUzNTMVIzUjFTM1JxUjFTM1JxUzFSMVMzUzNScjNTMnFTM1IzUnFTMVIxUzNSM1MzUDFTMHFTM1IzczNQGa/sMBPfOmIWRkQyIhZCGmIYWmpkJCZEJkISFCpkJjQUKmQkKmRkamZkYgoAPo/VZxcVAvzjgXL1BxcXpCImQ8ISUhRiE9JCJoIkaBISUhISUh/REhLyEhLyEAAgAs/+4B1wIeAE8AXgAAFiY1PwE2NTQnJic0PwE2MzI3Njc2NzYzMhcWHwMWMzYXHgEVFhUUBgcOARUUHwEWHwIUBgcGIyInJi8CJi8BJgcGBw4BDwEGBw4BBzY1NCcmLwEGDwIeAT8BQhYCJQMPEAERBAsHFgooQAcIDhMUDAcCAi8ZBBIODQgMAQkKCQwDDRQJAwENCAMGDgoMCAEEDggIBBYycwkIAw4VDQQJCv0BFhkNERURJAYPBWwSEw4LbQUFDAQFExAKAgMacY4TCBITDQsJklIRAQEBDggDBQgIBQIOCgYJIzUdCQcKEwMBDxIgBA0oHxoTAgYLAgkIKDkrCwkC/g4GAz1YKSg1KVgDAQEKAAAAAAEANP/uAQ0CFgA6AAAXNzMyFjc+ATc0JicjBiY1EzU0Nz4BHwE2NTQmJyMiBwYjIgcOARUUFhcWMzIVBgcUDgEHDgEHFBYXM5YGGQwYDQ4RAQ8OEhEJCAQDDQoJIREPHywwBQkJCAoMDgwKEBYIAQUPFREPAREQQRIGAQEBEg0MEQIBCREBYREMBgYDAQEFHAwRAQMBAwMPCgsOAgEa7nYUEAQBAg4PDhEBAAABACn/6gINAg0AIQAAPwEVHgEzNi8DNDMyNz4BNTQmIwUiBwYVFBYXNzIWHQHzBQEWDSIBAwEBFWk0ERISEv5mGQoDFBCSDgzeBdMQFgImZH6+FwIBEA4QEwMTBwYOEwEBCQ3QAAAAAAIAUQARAzMCmACHAJsAACQ3NjU0IwciJyInLgEnJjUmNTQ3NDMXMg8CBhceAR8BNzI2PwI0Mx8BMzIWNz4BNTQmIyciNT8CPgE3NiYjIgcGDwEUIyImLwEiNzU2NTY1NjU0JyYjIgcOAQcGDwEULwEiJj8BNiYjIg8CDgEjJyIGFRQWHwEWFQcVFBceARcWMx4BMwM0Nh8BFg8BDgErASImByI1NzY1At0IESJ8a2wwGQwLAQEBAQ1yDAICAQIBARwWSEkVHgIIBw0oKAUCBgMMDhIPTw0BAQMCAwEBExEaAwIEBQ8VKhYeDAIBAgQSCgUICQkEAQICAg1wBgcCBQEREB8BAgEBDgddDRQSDmYKAQMCFRYVIFDpUOkHBXYKAQ0BBwc6CxgMDAMDEQQKEiIBAwMCDAwHDjVqTicLBAs6GSsVFhsBAQEbFUVEDAIBAQEDEw4NEAILEA0gESIRDxEeHh1CDwIBAgsWCQ8WCywWEAoEBgYNDTweKw0BBAgFYhESICwtCwgFFA0NEwEDAQyOIlorGiMLCwIDAYIFBgEEAgd0BwYBAQ08JBUAAgBnAAwDHQKcADIAaQAAJCY1PwE2PwE+ATMyFhUUBwYHBg8BFB8BFhcWFRQHBiMiJyYvASYjJiMGBwYPAgYjIickJjU0PwI2NzY3PgE3NjMyFxYVBwYHBhUUFxYfAxYVFAcGIyIvAiYjIg8BBg8BBgcGIycBow4CH0EpBwMTDBEVARAHFg8BBzByNg0UCgcOCxkihAEBAgIQGQYCCQYMEwYI/scNCgMCJCsrFwMJCQcKCwkQDB0fBA0bNBEQCwkVCgcLCSs8BAMFAhYDCBQCBgsVCxQQCgpkx+klDBATEAcDSiZqNQYGCTB4PAwOEwwFDhgpigICQU0SCRwSFAMmEgwREgcHXpSPcAwOBgcGChQ1eGkMBQwNFjAPEAwMCxMMBQkqOQQKQwsWOwcKFAIAAAUAVv/+Ay0CqgA3AGAAgwCaAK8AAAAWBw4BDwEUFxYzMjc0NzY/ATY1NCYnJiciJj8BNjU0JyYjIg8BDgEPAQYVFBcWMzI2PwE+ARcFARQXHgEzMjY1EzQ3Njc2NTQnJiMiDwMGFRQXFjMyPwE2MzIGHQEHATQnJiMiBgcVBxQGIycuAScmIyIHBhUUFhcWFxYzMjc2NTcuAScmIyIPAwYVFBcWMzI/ATY3NjUENz4BNTQnJicmIyIHBhUUFxYXFjcC3gQCBA4HAgwMDRMJAwgMDAQYFHiWBgMDGgQFCxIWCT4FDQYYBAcMDw0LCSwCBAQBB/3tAgQPCg8SAhUWFQoKCQ4KCQ54OAkKCQwIDDYEAgQCAgGnFQMHDRIBAwIDCAsaCggDCwkHCwomJgMHIw8FApQMCgQJDwkbExsFFAYLEAkYCCQHATEDCg0GIh8IDQ0JDQUVLAoNAfMFBg8mEQoMCAsYAwMSJiMJDBIYAQcDAwY1CAgJBRIUhQwXDC8IBggMDQsNWwMFAQv+fAYECgsSEAFeGg8PFQoNDQoMBgtkLAkMDQwMByoEBQOdlQEWFgYBEg+NqwYGAQMIAgIMCgsKEgQOBwEiDhTKCREFAgwqHioICBQJBRAmDzYICo4BBBIKCgkwJAsICg8JBh86CwEAAAAABABO/7MDNgL1AJcAsQC/AOwAACQ2NzY3PgE3NjU0JiciLwEuATc2NzQ3NDMWMxcyNjU0Ji8BIiY1NzQmIyYGDwEUIy8BIgYHBhUUFh8BFjMXMhYVBxQvASYHDgEVBwYXFjMyDwEGDwEGIyInJicmIyIHBhUUHwEWFRQHBgcOAQcGBwYVFBcWMzI/AzY3PgEXFh8CFjMyNzY1NCYvASYnJicmNzY3NjMXLgEHIjc2NzY7ARceARUUBg8BDgEjJgYrAScmDwIGLwEiJj0BNB8BARQXFBYzMjY9AQM0NzY3NjU0JyYjIg8CBhUUFxYzMj8BPgE3Nj8BNjMWBxUC9RsEAgcBBAIBGyETJDgGBwECAgILDhlPDxYSDnQIBQIRDREQAQIOOzwHDwULEhA9HA0UBgYFEHUiDQUEAgJAFzEPAwUEAwsDBQMIHSsHCQ0JBghXCQIGBQIDAhMaBxAKBxAMAwQPIQYDBgdUTTIeCgkUCgQNCgUNCJdHDAYTDwEMjWESCQsBCwUBCgJcDggGAgQBCAUJEgkSElkCDAUDDE4GBAxi/qkBEQ0OEgITGBUHDAsLDRBfVwkKCw0JCwsGDAYEEwEDBQMB/BYYDDUPJA0HDBoXAQQCAQUHChMLEgwBAxIODRIBAgcHPg4TAQ8RPQ4EAgIFCwwREQEBAgEDBjkPAgMDGAcTCYA/AwIOEQgOHgsFExgFDwkKCgo2BAcFAwcMAwgDJysKCxALBREFBxxCDQcDAzMpGxEFEgcICRIFAgUGUScFDCs+CQNAAQELTR8JBgIECAofDywFBQEBAoQLTxoNAQQGB2cOAgT+lhsOEBQUEEABZBoSFxkKCw0KCxBiXQoLCwwLCAsHDAUGEwEEAgb5AAAAAwBK/7cDOwLyAFIAbAB+AAAEFjMyNjU3NTQ2MzI2Fzc+ATU0Jy4BDwEGByImNTQ3PgE1NDc2PwM+ATU0JyYjIgcGDwIOAQ8BBgcGDwEGFxQWHwEyNzY/AjQ3NjcyFhUDADU0Jy4BDwEiBwYVHwEeATMyNz4BNzY1PwEGHQEUIwcjIiY1JzQzNjMyFQcCdxIPEREBCAgGDgc1DxEHBw8Kd3g+BgUDAgMIHxsUF5UNDwkKDQYGSEhSKBMTAggEBAYKAQMBDwkKDgwFAgkKDV0tBwYE/tcICBcSjw8HJgQEAh0XR0gRFQcEAwJHDF0CBAYHCiRJCgQ1FBUR1dYJBgEBAgIUDQwKCAYBBwQEBAUDPBIkEgoCBgcFBygEEQsMCg8DFRIWCQYYFHROKGlaFBwHCRMCAg8HEm94DQECAwYH/lQCFxkQCA8LAQICDidmZBccAwEQEQ0RYjlyGwILAgYFmwsCC3IAAAAABQBG//YDPgKyAFsAbgCHAJcA3AAAFiY1ND8BPgE1NCcmJyY1ND8DNCYjJyY1NDY3NjMfATIfATI/ATY3NjMyFxYVDwIUMxcWFx4BFRQHBg8BBgcGDwEUHwEWFxYVFAcGIyInJicmIyIHBgcOASM2MzI3Nj8BNCMnIg8BBhUUFxYXBCMiJyYjIicmJzU0NzMXHgEPAQ4BBw4BIyY3Nj8BNCYjJyIGFRcUMxcSIyInJicuASMHBg8BBiY1ND8CNjMyFxYVFAcGDwEGDwEGBzY/Az4BJyYnJicmNTQ3NjMyHwEWFx4BFx4BFxYVFAe0FQUwBAUPFCYWAwoTAQYEMR4PDgoUARALBgUJAyAIEQMGDwsHAiABCyUwFxEUAwkGCAgPCyACBRccDg4PCQoJCRcdBQQFAxIcBg0JNAMEAy8UAQhUCQIfAQYfEQHQMUMiDh0SDR0BOGGPFhsBAQIGBQIdFQkDAgQDBAXIBgUCCbpbBg8NAgIEBgQMNWpQHCEKA2oKFQ4MCQUIAgoLCw8gExoQLzlACAEDBQULBQUSCgYPChUDCAQJBQYLBQMTBBMOBwpUBgoDBwwPIBUaCQwpSgQDAwEDIA0QAgEBAgEBDX8WBAEOBggKeAYHAgIDARMOCQkWFRcdJR1EBwUEEBQNCw0PDAYGERkECSMvDArYB2lDBQUEB38CBAYGFw/hAQEKER+pNwEFAhoVFilWIxQaPg0rKy4GBAQDBowIAgEZEgIHBwgCCAwKBCEWDRYI5hYMBwsGDBIEFhIZIEIuAgIEBwcBBgYICxEOCQoPCQUQKgUPCRIJCxgNCQcSCgAAAAAEAHn/vwMLAukAPQBjAHcAigAAABYVDwEGLwEuASMiFRQWHwEWMzI2PwETNDY7ATI3MjY1NCYjByImNTc0JicmIyIGDwEVFAYjBSIGFx4BMyUABgcOAQcUFxYzMjc2NTc0NjMFMg8CFBcWMzI2PwE2PwE0JiMlEgcGFRQfARYzMjc2NTQvASYnJiMSJyYnJiMiBwYVFBcWFxYzMjY1Af8FBAECDTkGDAYhDw1TBgoZIQYCBQYHIDQaDBAVEWQHBQILCggEDhIBAQUI/rsTFAQBFA8BRf6kGgIEAgELCgwHBhYDBggB6woDDQIPDAkMEgMIBgUCGhb91lQLAwpICQsNCwwHFiIUCAfbBCEYBw0RCgwIFB8KDQ4YASIEBuAnDgMNAQIjCxIDEwEcGhMBDAgGARINEBMCBwdLChEFAhMPSwQGBAIWEgwOAwFBFBQZPx0LCwoDCBVMCAcECj0KEgoHEQ8mIhMQFBcE/oEYBgYKCksJCgwPCwgYJBIGAboDKhcHCgwLCAsaIQ0ZDQAFAIz/nQL0AwoAIwBzALIAwwDXAAAWPwI2PwE2NzQ2Mz8BPgE1NCYHBg8BDgEPAg4BBwYHBhYzEhUUFh8BMhUUBwYHBiMiLwImJyYjIgYVFBYfARYVFA8BBgcGBwYVFBcWMzI3Njc2FxYXFjMyNzY1NC8BJicmJyY1NDc2NzY3NjU0JyYjJz4BJzc1NDYzNz4BNS4BIyIPASI1NjUuASMiBh0BFAYjByI9ATQ2JzQmIyIGBxUUIwcGFRQWFxY3MhUXHgE/ASY1JzQ2MzcyFgcVFAYXFCMHAgcGFRQfARYXFjMyNzY1NC8BJiPJBQoODhUDCgEGB6X+DhAWE1GmtBoZAgMKCw4MCREEFw/DEhGvCwQoFgQHBQQXJBEIBgcMEQoMPQQEGgoEHBgOBwwNCgpGJggJOnEKBRQMAhRBJxwEEwYECQUqGQgYBxPO0B0CAgcILg8PAREOEB4ECAEBEQ0MEQQIdAoBARENDQ8BCjAcEA4UGgsBAR0Xko0BBQR4BgMBAQENcSMMAgoSEhMLCg0MBgs3BAsJFyxCRZggfD4IBAkKAREOEBEBBgYJARgZQ4dbYjUxPhAZAQYiDQ8BCwQDBDUXBwQQFQ0DAxENCwwJJQMCAwQXBgUXEQoQDQgMCDckCgUjNwQUBQkSCR8SDwIJAwQDBAkJLSoQCxcNBREpHRg+BAYFAgEQDgwQAgELDBsLDg8LJwcFBQkMBgsGDQ8PDSIMAQEeDQ8CAQMKQBkcAQY2CjEEBQYFBhAIDwgNAwGxEwQIDAkSEREJEAgJDAo1BQAAAAIAbf+sAxcCrABgAHMAAAQmLwEDNCYjBgcGBwYHDgEjIicmNTQ3Nj8BNCYPAQYmNTQ2NzYzNzI2PwE2NzY3MhYHBg8BFRQzNhcyNjUnNDY3NjMyFx4BFRcUFjM3MhcWFRQGBwYjDwEiBhUWFxUUBiMAJyY1NDc2MzclMhceAQcOASMFAlESAwMLAwZ5PgwCEC0EEwwPCwsDHxsCCAxzEBYSDywvLgkGAQMGAgEfEhQBBQEECo0bCAUFBwoJBwkKCQYGBghwEQcRFBAaDxU5BgQKAhMO/ncOCQQIFIYBQRIICQgDBRIL/j1UDwwPAVoHBQYBAgtfqw8QDAsNBwdZkQ4FAwEFARYODhQBAwEHCR1CHh8CFhQpJyUDCAUBCAiADA0HBgcGDQqBCAUFBgsUCxMBAgICAwbmchANEgKrDg0KBwcSBgoIBxUICg8QAAAAAAQAOwBlA0oCQwAtAEUAWQBzAAAkJy4BJyY1NzQ3NjMyFxYHBgcVFBcWFxYXFhcyJyY1NDYzMhYXFgcUBgcGIyInJCY1NDc2PwE+ATMyFhcWBw4BBwYHDgEjJCMiJyYnJjU0OwEyHwEWFxYVFAcWJi8BJicmJyY1NDY3NjMyFxYfARYVFAcGIwGxPSEsDQ0EFgUJDwwKAgUCAgcZEB55UhYDAg8TDRICCgMZFxUcFCj+JhUDDhIOBg8MDRQFAwILFwsDBAUNDQG8CQsKEREfHgMOCRAkDgMV8wwGKAMCCgoEDw8DBgoFBgY/BwYNFG0IBBkbGinlGAkCDAoZN3IMIQ8dCAMCCQEUDx4SDg0LNy4SGAEEBIoSEAgJNTE2DgsNCwcLJUklBg4NCpoOFR84HR8QHToeBgYQD3MHCUEEBAsRCQoNEgIBBQYJXwwHBgsTAAQATv+XAw8C/gBRAL0A4gD2AAAAJicmJyIGDwIGFjMyNj8BPgEfATI2NzQmIyciNTc1NDYzFxY3PgE3NCYnJiMnIjU2JzQfAR4BFRYVFA8CFRQvASYjIgcGFxYzMjc2NTY1LwEzMjY1NCYnJiMHIjc2NTQ2OwEyNjU0JiMnIjU2NTQ2HwEyNzY1NCcmJyYjJiMiJjU3NCYnIgYHFRQGIyciBwYWFxYzFzIWFQYXFRQjJiMiBw4BFRQWMxcyFhUHFRQGIy8BIgcOARUUFhcWMyc3NicmIyIGDwEDBx4BMzI2NzUTNRcWMzI3NjU0JyYnJiMiDwEmJyYjIgYPAQYHFAcUFhcWNj8CAuEbGFeDGhwBAwkBEQ8LEQECAQQKcw0QARENdwkBBQYfPR4LDwENDAkOZggCAQy5CAUBAgEBDBYDBhQGBRcdIRgPCQMBpbMNExANBAiQCgEDAwVGDRERDUYIAgQGYAwFDQIHFRMmDRkGAwEQDQ8RAQQHZhQHAQoKBgxbBwUCAQ8WDQsaCw4RC0UHBgEFBnAMBwYKDAwKBg2MAQITBgcMEgEBAwEBEg0NDgIEKAkLCgoLBxIYBwgFCgxiAwwOCxACBwgMAQ0MDhMDCw4BJRwCBwIbGTDfERMUDx4KAwEFEAsNEAMJHgQFAwECAQEPCwsQAQMCCBwNDQEIAQUHGzUrVkALAwkDBQEXFgsPGQ0RNaBqbBEMDBEBAQELFBMFBBALDRABCRgNBwMBBAYLCwMGFgEBAQQGNxATARIQNQYFAxcMEgQCAgUHFAwCCwICAQ8LCxECBAYmAwUEAgEDAxAKCQ8DAjKrGAkDEg3F/tBBDhENDxEBPwolCQkLCwoIFhIGBQksBA8LCiQwPQUFDBEDAg8QQlMACQCC/7kDAQMrAG0AgQCsAMEA0gDjAPcBCAEbAAA2Jj8ENjM2Mz4BNy8BJjYzMh8BFj8BNhYVBwYHBicjIgYXFhcVFzM3Njc2NzYzMhcWFRQHBgcGFRQfAR4BFxYVFAcGIyInJi8CDwQGIyInJjU0PwE2JyYnJisBJyIHDgEPAw4BJxQ1ND8CNjMeARUUDwIOASMiJwQjIicuAScmNT4BMzIWFRQXFBceATMWMx8BMj0BPgEzMhYXFhUUBw4BKwE2IyIvASYnJjU0NzYzMhcWFxYVBgcuAScmNTY3Mx4BFRYHBgcGIzY1NDc1NCsBBhUUFxUUFjM3ACcmJyY1NDc2MzIXFhcWFRQHBgcAJzQ2MzYzMhceARUOASsBJyQjIi8BJjU0NzYzMh8CFhUUB5AOAQ8NFQwEMkuaBgQCBwQBEhITBg8CClkOEgIGEBghFgYFARkTAQMKAg0FAQsLCAsNBhgXBQQIChgNCQkKDgoJDwQQFQ8JAwQJCgwKCA8GOQUDIx8BB2k5GjYEBgEYFQoDFA4DFA4IFg4SAR4IBA4JAwgBNx8mEx8qBAQBDg0OFAECAg0OCRAXZw0CDQ4MEgICBAUYEFgjCAoIChoQCxAIBwcFJxkHAhL4HQEDAyl5FhcBAwEkLUtiAQdLCQEEBkQBRwgbHAgMCgsJCRMgCQMLFP4qAhANGzQ0GgwOARAMM2UBhgcLCDoGAgkTCwwiEAkS3BUPT0+SSTACAQgGHRYQEhlADAMBARUNChIBAwIDBlc7BQIQBRIFAwwICgwHCycgBwYFBhAUKw8MCwoLDAYODCMmGQ0GBQ0KBw0KBglXBglVewgBAgEGBK6AQQ4PAtYTBwdBJxsBEQ0FA1oXCwwCQQIDKR8nTw4PEA4WDC4VDw0CAgIMGQ0NCwsUDBQQDhGTCQcVEQ0KDA0FBBsYBwsVCaMbEyRHLAEBGBQwPSEDCD8LEQsbCQEHFAsdBgMC/voFFyEKCAoOBwYRIgkLBQgTAQHDGQwTAQIBEQwNEQLVCTQFBwMGFwkcDwQOFgsABwB3/7QDDAMcAKkAugDlAPcBBwEtAYIAAAQnLgE1NDY3NjMXMjU2LgErASImJzQ2NzYWOwEyNjc0Ji8BLgEvAS4BNTQ2NzMyNic1NCYPAiInJjU0Nz4BMzcyNjU0Jjc1NCMHIyInJjU0NzY/AzY/ATIWFQcOAQ8BDgIVFBYzPwEyFx4BFRQHBisBIgYdAQcUFx4BNzMXFg8CDgEPASIGFRQWOwEyFxYVFAYHBisBIgYHFBYzNzIVFAYHBiYjBQA1NzQ3PgEzMhYVBg8CBiMWJic1JjUnNDMyFh8BFRQWFx4BFxYVFAcGIyInJi8CNCMnIhcVFxUUBiMkNSY3NTQjLwEiBwYfARUUNxc+AT0BNCYjJyIGFRcUFjsBFjYXMjY/AjU0IyciJyIGHQEUFjM2Fx4BFRQGBwYjIgYdARQ7AQImJyY1NCYHBiMiJjU0Nj8CMjYvAT4BMzIWHwEUFxQ/ATI1NDc0NzU3NjMyFg8BFAcVFDM2MzIWFRQPASIVFAcGIyImNTQ3NTQjDwEiBhUWBw4BBwGCCQ0OEA8GD28KAQIKDzUNEgEQDQYMBTEHBAEGFDsTFwECAgMYGEsIBQIFDzU0Cw4NAQQOCH0HBAEBC0cFDQgIAgIUBwgxRFsZDRICAQkJURAKAgYSQz4OBwwNGAUQjwcEAQMDCgYMSzADCAQBGRNVBwQGEjsLCQwNCxElDhEGAQQLjCIPDwsTCf7U/ucMAwEPDA4RAwYDAwQXUxIBAwEeDQ8BAQQGEiMMBAYKCwcECBEIAQICBAIBEAwBGAEBDCkKBgMEAgEKNQQFAwNBAwMCAwU6ewkFCAcBBgUIKxsMBgIEBxEUCgwNCwgOEgYILLkQBAIFBx4iCxENCyIgBgQBAgETDQsPAQEBB3UIAgECBRgOEAEBBAocIRARHEcLBgQVDhECBR5OBQMCAQMMC0wBAhALDA8BAgIKDwoCEAsLEgEBAQQHEwYBAQEWExwePB4XFwIFBwsOBQEDAQYIDQYDCw0CAwUEDQcCBwsHDgcDBhEEAQEHBxUCEgwKCAcCEAEDChARBgIDAgEUDBYEAQQHCwkHAgQBAQQGLmIoFRUBAgMHEgYECRAKDwEDBREMBAIfDA8BAQEBAU8kXRESDA4TDSopGRcb8xAM8k59WyERD0NBBwcBBhYMBwgGEAsCAwsHAQECBQOapwwQlwgICwIJAQEEAw8IAggBAVoCBB4DAQECAx4EAloBAQYIMDcDBwIBAgYUBwUCAgEOCgwPAQEFEQoEAZ8LCwkUCAQBAxQNChABAQEGByEOERAMFAwGCwIECQkUBAIDDBwUDwgUDAMHBBIOHAECChIPFRILEAkCBgEEBAUSDAsJAwAAAAQASv+vAzwC+AAfADcAqgDCAAAANj8BNiYjJwcGFQcGBwYHBhUUFjMyNjc2NzY3PgEzFyYWFQYVBgcOASMnIiY1NDY3PgE1PgEXNwAXFCcmJyYjIgcGFRQXFhcWMzI3PgE1NCc1NDY3PgE3NjU0JyYjIg8BBiYnNCc0NjMXNz4BNTQmKwEiJicmNS4BJy4BIyIGFRYXFAYjJyIHDgEVFBYzFjY7ATIWFRYXFAcOAQ8BBhUUFjMyPwE2PwEyFRcBNCcmJyYjIgcGFRQXFhceARcWMzI3NjcDEh4CCAIdHpl2MwEFLhISBBcOCg8EDQknDgEEBfwBAwICAgEFB9kNBwIBAQIBBAbi/e0BChgMBQUKBg0NKCQEBxcPBwQFBQwMGQgNBAsQAwgcBQMBAwQGHh4PEhQPPAgBAQEBAQEBEgwQEwIDBAg6EwoNEBQPDh0OGwYFAQUJBxAHRRIRDgoIFyYIBwUCAcQGIiYICg0MCgcGEQsZDAsHBgYWAQEvHhyvHh8BAgE0Bt/LUzcOBQ4VDQsoLqVmBQQD5QMLIBEfOgcCAQMIEyYTEB4QBgQBAv5NCwoECAUBBQoQEAoYCAEYChkRRFgHBwUGBAsICQ4JCBECCgIBBTAxBgQBAQETDg4UAxUNGg0aDQ8SFBBCIAkFAQEBFA0OEwEBAwU9QAgDBAUDHQcTEBQECQ4EAglhAiIICCkeBwwKDAsIBw8MGwkHAwgWAAAABgCS/4gC8gMfAIwAzwDpAPoBEAEkAAAkHQEUBw4BIyIvASYnIyIHBhUUFhcWHwEyNzY3Nj0BNDY7ATcyNzI2NzQmJyMPASI1NCc1NDsBNjM3Mjc2NzY1NCcuASMHIiYnNCc1NDc2Nz4BNzYnJgcGDwEOAQcGBxUUFx4BPwIyFhcUFxYVFCMPAQYjIgcGFxYzNzIWFxUUIwcGIyIHBhUUFxYzNxIWBwYPARQXFjMyNj8BPgE1NCYnJgYrASI3Nj0BNCcmIyIHDgEdARcUFxYVFCcjIgYHBhUUFxYzMjc2PQEmNTQ2MyEEBhUUHwEeARcWOwEXMjc2NzY1JicmIycmBxcyFg8CFCsBIjU0JzQ2MxcSJicmIyIPAQYVFBcWMzI3Njc2NzY1BDY1NC8CJiMiBwYVFB8BFhcWMwHBAQECBgQSExcQBQoHCgwLHzwOGhAJAwIGCDc5JhMMDwEODQtTUgoCChsLEggGBBAGAQoFCwdCBgUBAwkkEw0QBwwEBiQ8REISJBITAQ4HDApeCwcDAgEBDj4XHAsXBgQUBwtrFggBDtsHDAgIBwIKFOr2BwEFAgECCRcMEgECAgMaHQ4dDpsMAQMDChAHAw0MAQMCDNQWGQICEgcICwgMAQUNAcL+nxYCAQETFRkuJDAPICYDBAIiBg4+ZhetBAUBAQEIlQoCBQZxsw8LBAcRCCYEEQsIDgoQCgYIBP6sEwQgDQcJCwsOAxwFCAsMLwoeFAoTCQUGCQEHDAoJEAQMEgIZDxcYMRUHBQEDDw4MEQIDAgoPBwIJAQECAxECBQwIBAUBBQYQEgIHAQQEAQQGCg0eBAQKCAIGAwMTBhAIBQIBDQEGDQoEAgQIAQECFBIPBAIIFQILAQEKCAsFCBMCAgkHBiAnCwMIEw4NFRYsFRsZAQEBCB43KQkJEAEEDg43OAYFAwQIAhkXJUcRCAQIChMiDRYLBS0WGREiGRYWAgMBAgUjJTIjBgEBAgE9BgUREAkKDRgGAwMBJRADAQ9KBwcNCwYQGhYJEAUJZhMNCQc4DgYJCg0FBTAGDg4ABgAm/78DWwLpAFUAdQDDANcA5wD5AAAENT8ENCYjJyIGBwYPAQ4BIyInJjU0NzY3Nj8BNj0BNj8ENjc2MzIXFhUUBgcGDwUGDwIVFBYzFzIWFxYVFAYjBiciBwMUBwYjIickJyMnJicmPwETPgEzHgEVDwMVFBYXFhcWFRQGBycmJyY/AQ8DBgcGIyInJjU0PwM2NzYnJisBJyY1NDYfATMyNT8CPgEzMhYXFgcGFQcVFBYzFxYVFAcGJyYjJyYjIgcGHQEPAQYjNiMiLwEmNTQ3NjMyFxYXHgEHBgcCIyInJi8BNDYzMhcWFxYHFiY1NDc2NzYzMhcWFRQPAQYjArEBAgIIBAMHUwQIAQ0ZEgISDBMIAwIYERUHAQEDHkMMCBI2JQkIEwcDDAssQxgEAwobDAEDBQcEygkLBQ4TCxAgDQEODAoKBQr+qgMJ7AsMNwMEDAETDQ4QAwQGBAkLXLYjEg4eVAsHAgYJMQkKBgcJCwoLDQcuDQ4YDAgDAgcENR8TEE0CDAMEAwIQDQwQAQEBAQYGBU8jGRQYChEKBgYEBQQFAgEdiwYMCzgHCgsJBwoSLQMFAQMQ3AcRBw0OARIOEQgPDwYfoBQEDBoLEg8KCAIsCQ00ESYjO5dfBwUFBgV0fFULCxIIBQQKZXeNexMFBQojCBQCAgYODgMWBwYKEAQPEAcBAQIIAws3OAIFBQYCBQsODRQBAg3+kxUKCARfARYCAg88cgFeDhMBEg9oaJJmBAoIAQkOAh0MFQECchEKDp8RTQsNCgYJCQwLCgg9ERIgDggHAgMDHA8TAQUOZ2sTCw8NDRYXChKjAgQGAgEgHQECAgEBAgMEDQ2iJxxMDTsHCQwJDAgOLQQKBhcIASYQID4IDhAOJT4WDAcRDQgIGzQUDQgMBARYEAAAAAUAqv+PAtoDGgCKAMYA2gDvAQgAAAAnJjU0NzYzMh8CMzI1JjU0JzUvATQmIw8CBisBByImNTQ3NjM2MzI3MzczMjcuAS8BJicmNTQ3NjMyFx4BPwI2NTQvAiMmIycuATU0Nh8DHgEVFAcOAQ8BBh8BHgEXHgE7ATYzNzIXFhUPAgYHBgciJyY1ND8DNjU0DwEiFRcUBiMCJic1NjU0NzQmIwYmKwEHBiMiJjU0NzYzNzI9ATQzMhYXFRQzNjcyNzMyFhUUBiMHIgcjIgYdAQcUBiMmJzQ3Njc2MzIXFhUUBwYHBiMiJwI1ND8BNjMyFx4BBxQPAQYHBiMiJwAmLwEmNTQ3NjMyFxYfAhYVFAYHIwcGIwGpJQoECA8OCQUDBAkBAQIFBQZDQS4IDwsPDxEdOioNDAkEDGECBQICFwYKExILBgsMBAoZHQMGKAIJqRgFAgUMCxETEHWHFA8SCAc2DAcEBggFDAIGEBAVBw4qHQ0PAgwICgYHEhQKBQQJBQkBC4ALChoUEBIBAQIIBAYKBh0dQTcUFR0aM4YLHg8QAQ4yZAwHFRASEQ+NEAcYCwcBEgv3AQs+IQcLDAoJCR9ACAkHBz4NjgoJBwUMCgEJaxgOCgsKBwH2CAN0EAgKDAYIDxgSQw4MCgIDAgQBExkGCwUMDwUBAQoGCwYDCCFCBwMDAgICAREPHAIFAQEEBAQQAwcLDgsIBgkSBAwNBQcvBAIFAQ4CAQECFAsPEQIKDQMEFQ4NCwo/DAcJBAUECgQLBAEBDhAPDSAVHA4TAQ8IBwYIGAwVAwIHAQQMohQc/n0SDiENFFgsBAgBAQEFExAZAgICChIoGB4CDAMCARIODhADAQUMYGINE0gUCwk4HAcMCQ0KCB04CAUBWA4NCXQKBAgNDAgJVxQKCQf+mgQDWQwMCAoOBQgTDjEIDwoRBQEBAAIAKQAMA1sCmwBgAK4AACQPAQYPASI1LwEmLwImJyYjIgYfARYXFA8CBg8BFBcWMzI3Nj8BNjc+ATU0JyYjIg8CBgcGIyI1JzQnNTQ2OwE2MzcyNjc2NTQnJg8BIyImNSY1NCcmIyIHDgEVEhc2FRQXHgEXFjMyHwEWMzI3PgE3NjU0JiciBg8BFCcjJicuAS8BNzU0NzY/AT4BNzY1NCcmIyIHBgcGIyI/ATQnJiMiBw4BHQEGFQYdAQcBAwkSDB4EBwECAwIGAgMUBwgOEwEECAkHDhgTBwIKDA4IB0KDUw0eDRAHChAGCA0FDR4CBAYCAQQKDQUJNQoTBAINCxFNAwYDAwgLDwcICgwKA/kCASYgFioLCxoiEhAeGyAEBRUNCxcBBQw7SiYOCwEBAQo1WCYFCQQLCw0LCAswYgoDBAEECQsNBggLDAEBAYIDBAMJAQocKRothy4ZBgMXEkusVQcBAwYGEgsMDQ0DEh8VAwkEEgsJDA8DAwEDCQEKeBQKHgsDAQIOCggDDQ8KAgUFB2JhEgwLAwQUC/5pVWgtNxogKwYEAQECAgIbGSIvDBQBEQ06DgECBAEMDzM2NAoDFSsTAwYECw8PCwsGGzAFEdQTCgsDBBELHwwULFU1YgAAAAABAIT/3QMAAssApAAAJSMiJy4BJyY9ATQzNzY/AT4BNz4BNTQnJiMiBwYHIyImPwE+ATc+AT8CPgE3NjU0JgcGDwIiJj8BNDY/ATY3Njc2NTQmIyIHBg8BDgEHBgcGFRQXHgEzPwIyDwEOARUUIwcGDwEOAQcGFx4BPwMzMhUHFA8DBhUUFjsBNjM3MzIVFxQXFhceAR8BMjc+ATc2NTQnNCYjIgcVDgEiKwECUSg4LBcTAgIKTTQbFxMnEA0PCAoRCQV3bAMGBAEDAQYREzIXFBwJCwQCFhMfPiMJBAMBBAUEFQwLPiwYEg4HCVipQwEEARMGEAUGDAkOdQQIAgICAwgyCww6DA0DAxQGEAgJLzEEBwQLTy0zGxIRBwUElQMHAREVNiNFNDMhHxofAwIBEg8fAgIEExBCIgkEFRgTJyQLCwYFAwIFBAIQCwsLDgETDgYGWxAHAgEIBAMFAQkJCAMQFQQGCAUBBgh6BQQCBgQDERELExATAx4vEgEBAQQFCRAJCAkIAiEBChgYMBgJBgICBwMMChQPBAEBAQYHCWgKAgoFBwYYERIBFApOKh4jCgcFAgEDAhwVDh0XDA8QICsNCAAAAAAHADr/+gNgAsQAMgBJAF0AnQCwAM4A9gAAFiY1NDczMjYXMi8BJjc0Njc2MzIXMxcyFx4BFxUHFRQzNzYWFRQGKwEiDwEiDwIGKwEmJyY1NDc2PwE2MzIWFxYVFAcGDwEGIxMiLwEmJy4BNSY2NzYXFhcWFRQHAT8CMjU0PwE1NCsBJisBIgYXFRQPAg4BIyImPwE0IyciFRcUBwYjIiYvATU0JiMGIyIGHwIwMQcWFR4BMwA1NDc2MzIfARYXFhUUBiMiLwEEJicmPQE3PgE3Nh8BHgEdARYVFAcOAQcOAQciDwE2NTY1NCc0JiMiLwIiBhUWBh0BFBczMhceARUUIyInIhUWFR4BMzf9FBkPCBEIDQIBBAEfHB46Ox4/PxAIGRkCAQhCEBgVECAzGiUkSDnZBwgOpAsFCAgKVQoPChEEAQsQFT0KDj8GEA4XLAwOAQwLBwM5ORciAR5bNjUKAQEKGQkQAgMEAQEBAQEPDQ4QAQMIMAoEBQcSDREBAQMGDR0NBAECAQECAgUF/skDChMIBz8VFRISDQUIbAEjHwEEAQIaFRk0khwbAQEBEw8EDQUKBcPOAQEEBhEgHG0GBQEBCV0WCw0OIU4mDAEBBg+qBhIPHwEBAQwfWC0dIAEBAQEBAx0fLDY7CAMCFA8QEwEBAgECATsTCAcICgsKYQ0NCwMGDAsWFkcMARcEAgMIAhELCxIEAgEGDAUWIgH+8AECAQoWCyFSCgEFBCgOBxUrDQ8SD3kIAQpzDwoNDg1fHwYEAQQNOTYBGAoGBgIJEwgHEwMdDAkNEA4TAzLRHxhqNiIwFRoBAQIGARwcYRQoKBQVHQUDAQEBAkAMGzVJJAUFAgEEBAYLFQsXBwIBARAMIQILDhkRBwIAAAIAmv/NAucCnwBOAKcAAAQnJjU0NzYzHwEWFxYzMjY1NjU0LwE1NCYjIi8CJiMiBgcGDwEGDwIGIyImNzY/ATY/AjY3NjMyFzIXMhceARcWFRQHFAcOASMiLwEuATU3NjU0Njc0IyciJyY1NDc2MzIXMxcyNTc0IyciJy4BNTQ2NxcyNic1NDYzMhYXFRQzMh8BFh8BFAYjBiYrASIGFRQHFDMXMhYVFAcGKwEnIgYVBxQGIwJdFhQPBQkNJQMKCAMEAgcCAQYEDx4WRG9vCQgBDBQEAgYPBQUbExYDEAoQBgIIBwIGCDK0kQ8IJRMWGQEDAwUFHxYLCxy2EwEBAgEMVBYIBAoLDxsOKQUIAg41DwYLDhAORQkGAREODxEBChgMNxIJAhMPDhwOHwYFAw1eDhESBgkFVwcGAhIOIQgLFBQMBAILAQMDBgmJnTlsUgsEBAIBAgMICX2eHRYkaSwjGBRKW4IqETk+FTAzBAEDBRwXX7+yWSAVFh4ECU4TEBAFChJECgoBFAwEDAkKAQELVg0BAgMQCg4SAQEGCTQPExEQPQgBAQEUCw4SAQEHCCknDQITCxcJAgEGCHwQEgAGAIz/rAL3Av0AVABuAH8AjQCbAL0AADYmNzY3Nj8BNj8BNjcyNi8CLgE1JjU0NzQ2NzYWOwEWMwUeAQ8BBgcUDwIGBwYjJyMfARYXFhcWFRQHBiMiJyYvAiYnJgcOAQ8CBg8BBiMiJxYmNTQ2PwI2NzQ3NT4BMzIWDwUGIxYmNRM0NjMyFw8BFAcGIyInAjY3NDc0IyciFRcUMxc2NTc1NCYjJyIdARQzFxY2NTc0JiMnIhUUBxUUFjMXHgEVBgcGIyciBg8BFRQ3MheTBwEBDiJHFQoMHBcIAQIBPykVGgEBGhQHDAYMCQ8BTRgcAQQCAQICAwIFBTJYFEceKBMQMA4HCwwJCxAaFCRzLwcHDygUDBkRJkgNCwkFgRIFAgMEDgoBAwsKFBMBCgMEBBAHG+MKAxASGwEBAQwJCwYGgQUBBAp7CgEJdhQEBgeBCgiA0gYTBweIDQIGCUoLEAIZAwpDBgYBBAhEQ7QQDQoJGTsRCAgYEwgFAwICAxwVK1RUKhYbAgEBAQ8CHhk3GQIIEhokKiUwAjYWHA8KIgwPCwcNCAoUDxxUKAUFECIQCxMQHjsKBLMRDAgTCQcWREkFAQQOCxIUPhIUGEwgRg0KARUSEB4s5hMKCQMCHAQGFywKCAhHCQeSC0cDBgMECEsJBpgGBdMIBQcLLhUEBgYEARIMGAEBAgMGQwMIAQMAAAAEAFYABgM0AqEAKwBKAJoAsAAAATc2NzY1NCYnJiMiDwEGBwYHBh0BFBceATM/AT4BNz4BNTc0JzQmJyYrATcSIwciJjUnNDsBNz4BNzYmIwciJjc1NDMXMhYdARcVJQ4BDwEGBwYvAS4BJyYjIgcOARUUFxYXFjMyNz4BNzY3Njc2JyYnIiY/ATY1NCcmIyIGBwYPAgYVFBcWMzI/ATY3PgEXHgEfARYXHgEPAQYHBhUUHwIzFxYzMjc2NTQnJicmIwEMBg0HBg4MAwYRDFIRDiAEAQMBIx2DNRQaBgIDAQQbFx07HR1NEJQGBwMMLS4SEQICExBdCAcBEJgIAwEBkwEDAgUGBwMOHQcQBwcKBwQKCRQ/IgMGDxEPDAMHCgwKBj9gXAcFBBoBBgoRCREEBwcGTgUSCggTCgYQCQUNCxIlEhgzFxYJAQvXCQYGLB8CAgYIEQoJCScdCQ4CJgcPCgsJCxAEARFmFQQOIQYPMadTGyQBAgIQEwcNB2l0XBYdAQIm/moCBwVnCQEBDA4QFQEFCFsOAQcHiAGIoRIlEyY/KQ8GCQMEAgMCBgwKGggVBwEMChwUMGJ2jkADCAQHBzwDBQYJDwkIDBMOqQwHDwkFFQ0hFgoHAgIDAQECAwIJFXEEEwcIBggrHwEDDQsJCgorFwgAAAAOACP/ywNhAuAAFgA2AEUAVACwAOEBDwEjATgBTAFgAXUBiAGcAAA3Bh8CHgEXFjMyNzI3Mjc2PwE2Ji8BFgYjByMiNyc1NDMyNz4BNTQmJyYjIjUnNDMXMgcUBxUmHQEUKwEiJjUnNTQzFzMmNSc0FzMyFQYXFAYjJyMTNz4BNzY1NCYPAgYVFBY3Nj8BNjIHBhUfARUUJyMiByIHBhUUFjM3NjMyFw8BBhUUFxYzMj8CNjcVFBceATMyNzY0NSc0NjM3PgE1NCMiByMiJjUnNCcuAScBNTQmJy4BLwEmBhUUFhceARcyFx4BDwEUBxQHFAYvAQYHBhUUFhcWFx4BMzI3PgE3Njc+AT0BNCYnJicmBhUUFh8BHgEVBwYHFAcUBicuASMiBwYVFBcWMzI2PwE2NQYWFxYzMj8BNjU0JyYjIgcGBwYXBj8BNjc2NTQnJiMiBwYHBhUUFxYXJzQnJicmIyIHBhUUFxYXFjMyNicCBwYHBhUUFxYzMjc2NzY1NCcmJwQHBhUUFxYXFjMyNzY1NCcuAScmIwYnJicmIyIHBhUUHwEWMzI3NjckJyYnJiMiBwYVFBcWFxYzMjc2N3wxAgIIAhkRCRQfD0RFDQ0lAgQBGhlyZAQGNwMGAQEHEwoLDQ4LCRIIAwhDCAIEggg5BQQEBiEgSwMHRAgCAgMFISBmPA0eChEVD3ONGxYQChRHBAYBAgEDCRszNRUHAxENUQMGBQMiSA0JCgsMDQpaBAcCBBALEggCBQQHcQ0QHyNKBwQDAgQBBwgBkRMRGDwcFQ0SDgwPJxILFAgFAQQBAwQJLQ0HBQwLDhwGDQYEChEUAeEBAQITEjo9DRIODVsGBQIBBQIFBwoVCA4HBhchHRMeAgIEywsKAwYKCUgJCAwMBgkmJwcBugkYKAgKBwoMCgolIwkDBxUpByQvBwYMCAYKGjMIBQwSAUoHIAYEDwoHDgcQGgIIDRABPwoEBSMcBwYMCwgJDh8OBwiICxkdCQgLCQgJNgkIBQQTAv5+AhwTCAkJCwsEERsICQYDFgH1AjFBhhIcAQEBAwMJL7MZGwED6AUBBy4CCAEBDQsLDwEBCC8JAgg1G080BzUHAgU2AgYCOAcwCAEJFxcFAwECDQsDBQUIERESAxYZBhYPEQICAgsBBg4IF2oDBwEDEQcHDBACAQIiRw0MCwkKDAleBgJPDgYKDBEEDAVwBwUEAQ8MHwQGBiwwJwoNA/6t3REVAgQFAgEBEQ4LDwIDBAECAQUHyR8QRUcKAwIJAQwICAoRBAQEAQICBRwU1gcqTyYlExcCBwUBEA0NEAEJAQQGSXN1GTQHBQECBQsKCRUIChwUI34ybhEEAglHCQkHCg4HHywHByEHFyYICQsKBwsHHyMJCwYGEQKhCQUcGAMOCQgKCRQdBBMNASkKOQwHBw0KBQwXMgYDCAgKAb8QCAQGByYSBQ0LBwgJDRwJBTsJGhMGCwsICgkuBwMKFKUGLBQICQkMBwccHgkCCw4AAAMAlP+YAvADEABPAIcA5gAAADQjJyIHBhUUFhcWMhceAQcDBiMiDwEiBwYVFBYzFj8CPgE3MhYPARQXFjMyNzY1NzQ2Mzc+ATU0Jy4BIwcjIiY1EzQzFzI2NTQmJyYjJxIHBgciJjU3NDYzFzI3NjU0JicuASciLwEiJjU3NDYXFhcWMzI2NTQnLgEvASI3NjU0NjMXMgcLATIWNzIWBwYVFBYzMjY3Njc2MzcyNzY1NCYjByImNTQ3PgE1NCYjIgYPARQjByMiJic0JicuASMiBhUUFxUUBiMHDgEVFBYzPwEyFhceARceATMyNi8BNCc1NDY7ATUBwgHqEQgLDgwLIQ8PBAEOAQkPIBgICA8UDRMXFmIwYC8IBQECEAcICwgNAQUHTQ0QEAYPBkADBAMFCzcNEQsJBQ3magmFRwsEBAQGixMKBw0LDBgMEwpJBQMBBQY5OxYJDRIXChkNaAsBAwMFzQkCB00MGAwGBAEHEg0LEgEFAQMJcA0HDBINaAYGBAECEQ0NEQEHCJ8DBAQBAgEBEQwOEgUFBnEPEhUOag8FAwEBAQICEQsPEAECAgQGSAHmAgcJCQ0MEQECAQEDDv7DCwIBBQkSDBMBAwEGAwUEBQdkFQcEBwkUYwcGBQESDBIJAwEFBAUBJgoBEQ0JEQQCBv5/AQYFAwo7BgMHCwgLCxACAgEBAQIDBTQGBAEGAwIRCxcGAwIBBwoaGgUEBwn+0wIHAQEDBxoYDREPDBobCwIFDA0OEwMCAwkUBw4HDRAQDjcJBAUGDhoODBARDRceBAUDAgERDQ0UBAEKCgsUCgsOFA8VBw4DBAMGAAMARP/gA0MCyACuAREBKAAABCciLwEmJyYjIgcGBwYjIicuATU0PwI2PwE2NTQnJicmNTQ3NjMyFxYfARYzMj8CNjcjBiMiJjU0NzYXMzI2NT8BNA8BIgYVBg8CBg8CBg8BIicmNzY/ATY3NDc0NzY/ATMyJzU0PwEyFh0BFDsBMhcyFx4BBwYHBgcOASMnJjU3Nj8BNjU0IyciDwEGFQcUMzYXHgEVFAcGBwYHBgcGFRQfARYVFAcGIyInJDUvATUiDwEGBwYHBiMiJyY1ND8CNj8BNj8BPgEnJgcjJyImNTQ3NjMfAR4BFRQHDgEPAQYHBhUUFxY/ATY3NjMyFxYVFAcGBwYVFB8BFhUUBwYjIicmLwEfAxYGIyInEicmLwEmJyY1NDc2MzIXFh8BFhUUBiMC+wsBCiYPJAQDBAMhFAwOBgYKCwUZDwUHBgQFGycODQgJBggRJwsHAwUEAgIaJYEMFw0QGxMVAwQCAQELWgcGAgoDBQoHBQcDEgoMCwoDFggFCQcCAwYqURwNAhULDBENHzUZCw4RFAQKBgUGBA8JCxUCAwgFAghiBwEBAgEKGC8WGQUNIgoFEQYDB3QVCQsLBQj9uQICCAICBgMbGAkMDAsKChEbDxEOPB0CAQIBAwUEjw4QDwgLUGkSGAYJGw4TCgMCBAUFARsdCgwSCwMJFSMGBygLBwwNBwgMGBcBAQICARENBwYaCA4aGAUGCAgLDAgIFiMWBxUNFQsHGwobAwUtFxIDBQ8JBwgfEgUMBwQDBQUTHwsMDAoJBQseCgUHBAYkQQISDhoDAwIEBktMDQEBBQc4dykrWy8tMhMEAgsKEJ1JOUxfCAQTEigDAQ1qEwoCEQ1uCwECAx0RIhASEwkKAggTCwsWEAQBBQIITSISGgoBAgIWEgsNHTQSBhwIAwQEA08NEgsJCwMSF2djNAYBCgImFgwMCgoJDBUgExMRSigDAgQDAwICEA0SCgUBBAEXEQsMEikTGw8DAw0SCAQHARYcChQHBQgGFBsEAwMFHgoLCQgPBgcSERcTUFENEwMCSQUJFhQGBQcKCwsMBRAeEgcIDBYABgBP/7cDNQLxAC8AWAB1AJIAqwDAAAAANzY1NCcmJyYnJjU0NzY3NjU0JyYjIgcGDwEGFRQXFjMyNzY3Njc+AR8BFh8BFjMFNCYnJiMiBgcUFh8BMg8CBhYzMjc2NzY3NjU0JyYjIg8BBiMiNDUTEhYzMjc2NzY3PgE3NjU0JyYjIg8BDgEPAg4BFxMiBwYHBgcGBwYVFBcWMzI3Njc+ATc2NTQnLgEjBhYXFjMyNzY3Njc2NTQnJiMiDwEGDwEGFSYvASYnJiMiBgcGFRQXFhcWMzI2NQMpCgIMDR5KawYDCwcDDQgLEw5EUyYIDggLDgwHAlgpAgQEFjFUNg8O/gIWFEQ4DREBEQ1aDQEOCwEbEw0LLiIJBggICgwHCzMEAQMYjhMNCgcFGXxZDRoIBgwKDAkLDyJIPz0dCQkB6QgFCQlEMxgJBw0ICgoKNzUQIQsHBAQPCt0KCQUHBwonMiINBwYKEAwLRwUhEQqMDhsqFgYGBw4EBgssLAcIDhQBtxgIAwoMDBQ1UgYDBAQMDwgGDwoHFGptMAkOEQoHDwcEdDsEAQMTKEEpDCITFgIKEg0OFAEFDJaMEh4HGRYECQkMDQgMBh4CBAIBBP5GEQQCElJVCxkMCwgNCgkIDiU8MCgTBw8NAX0GBgk+JQ4MCAwPCgcHJC8NHg4MBwUICQoMDgcEBhgtHA8ICwgJEAo9BRkNBw7zDBIeCgMJBwcLDgghGwQVDwAABABk/6sDIQL9AFEAqADbAPAAAAAHBicmLwImIyIPARQfARYPAQYHBhUUFxYzMj8DNjMyFxYXFhcWMzI3NjU0LwEmJy4BNzY3PgE3NjU0JicmIyYvAiMiBwYVFBYXFh8CAxUUFjMyNjc1JzQ2Mz8BPgE1NCYjIg8CIjU2JzQ2PwE+ATU0Jg8BIyI3NS4BIyIGFRQXFRQGByIHBgcGFRQWFzI3MzIVFxQGIw8BBhUWFzI/ATIWFQclPgE3Njc2NzYmJyYnJgYVFBYXFjMyFg8CDgEVHgEzMjc+ATc2NzY1NCcmIyIPAQ4BBxM0JyYnJiMiBwYVFBYfARYzMjc2NwJkLwQFBRYYIQcLEwgCEUALCAc1PQ0HCw4JChtCKwUEAwZEMCIXDAQTCQQTCls4BgEEPiMIEQQFEQ8IBz0+O2YCDAsFEA8gQk5HcxMODREBBAQGMlYNEhIQEQlrBAcBAgQFPg0REg48AwcBARANDhMBBQYxGREGAREOFy4EBQIDBSJgHwEfCQRyBgUB/t4CBQIEAQYCARMTJk4OEhAONhkHBQEGDwIDARgRDQoNHQ0aBgcICQoICRIFFQgpDxs6BwkIBxALDEgOBgQGFQECYC8DAwQNDhMFFQsQCyYFBgQxLwoPCwgOBhU5JwYDKBgUCgQSCgQQDQUuHwIFBD4qChYJDAcOFQQCCAQGCg4GDAwSAgQGCAf9dE0OEhEOEJAGBgIGARMLDhEBBgEJFSgGBAECAhENDRIBAggqDhATDxkNAwQEAQIDEAMHDRQBBAZEBQQBBQEfHAMBBQQGTrwXLhcfEjQWFBcCBQQBFQ4OEQEEBQZAjhQnFBIYBgYUCRMGCA0NCQsGCwMQBAGzDQsVJgUEChMLDQoyCAMKFgAAAAAEAKz/7QLYArsAdgCeALEAwQAABTMyNh8BMzI2NTQmJyYrASImNTQ/AjQzFzMyFjc+ATU2LwEjIiY1NjU0JzQ7ATIWNzMWNzY3Nj8CNjc2Ji8BJi8CJiMiBwYHBh8CFhceARcWMxcyFQcUBiMnIgcGFRQWMxcWMzIPARQjJyMiBwYVFBY7ARIzMgcGDwEOAisBIiYHIjU0NzU0HwEyNTQnJiciJyI1Nic0OwEfASYPARQGIyciNS8BNDMWNjsBFzMeARUHFCMnIiYvATQ2Mx8BAcNADhsOQD4OEhAOBQXNBwgBAQEMVQoECQUMDgMbGFkHBgEBDhQKFgsSIBUoBwYFAwMIAwIaHy0fOjkqNhwiETYCAQIBAQIFARERDRJpDgIGCG4UBgESDSIwGQ4CAQ6CPxMJAhIP9JcUDwIGCgUDBQ0RHg4dDg0BDzIeGQsbCwgNAgEMQwIfqQICBgZvDAEBCwsUCRMCOAMGAgtnBQcBBAYGNTgSAQEBEg0OEQEBBAgNBxYpDAEBAQEQCx0DAgYHDBYXCw0BAQIFBiglNhwhPzYfHgICAgICAQIBATcdOh0tSycRFggFBQ5ECAYBEgMHDRIBAg5PDgITCAQNEwKED1dNMRINBAEBDRcNJg4CAhoYBgMCAg04GwsCAQYMUgYFCAsmJwwBAQOmBQdPCwUHBFYHAgQEAAAAAQC0/1oBNQBRABYAACQGDwEOAQcGDwEGFRQWMzI2NzY3NiYjAQETAgEEFBUEAgEDFRALDgkoDwMUElERDhMqRRwCBQQIBg4TDg5LZhMXAAABACQATAHrAgYAQwAAJDU0LwQ/AjY1NCcmIyIHBg8BLwEmJyYjIgcGFRQfAgcGBwYVFBcWMzI3Nj8CNj8DJwcfAxYXFjMyNwHrCQoGWkMpJUcLAwkPBwYOCow9UgoOBQgOCgMLR1GiBAoJAwoRDQ0QJCIUNAoEFxYsLC8nKiIkEA0NEQpmBgsKCwReRSolSgoQCAYPAwoLjDtTCwoEEAYIEApKUaUECwoLBggQCw8mJRQ0CwQVFiwsLygpJSYPCxAAAAAAAQAAAAEAACUAEY1fDzz1AAMD6AAAAADlaBoOAAAAAOYjiUAAI/9aA2EDSAAAAAcAAgAAAAAAAAABAAAEEP9gAMgDhAAjACMDYQABAAAAAAAAAAAAAAAAAAAAIwH0AF0CAwAsAUEANAI2ACkDhABRA4QAZwOEAFYDhABOA4QASgOEAEYDhAB5A4QAjAOEAG0DhAA7A4QATgOEAIIDhAB3A4QASgOEAJIDhAAmA4QAqgOEACkDhACEA4QAOgOEAJoDhACMA4QAVgOEACMDhACUA4QARAOEAE8DhABkA4QArALdALQCDwAkAAAAYgDuAUQBeAJOAuYD4AUqBd4HFAfaCQQJrApUC6INKA8oEDoRxhMeFIAVchZWF6QYhBmMGogcwB34H44goiHwIvQjHCN+AAEAAAAjAZ0ADgAAAAAAAQACAB4ABwAABAAAAAAAAAAAAAAUAPYAAQAAAAAAAABGAAAAAQAAAAAAAQAYAEYAAQAAAAAAAgAHAF4AAQAAAAAAAwAnAGUAAQAAAAAABAAUAIwAAQAAAAAABQANAKAAAQAAAAAABgAcAK0AAQAAAAAACAAaAMkAAQAAAAAAEAAYAOMAAQAAAAAAEQAHAPsAAwABBAkAAACKAQIAAwABBAkAAQAwAYwAAwABBAkAAgAOAbwAAwABBAkAAwBOAcoAAwABBAkABAAoAhgAAwABBAkABQAaAkAAAwABBAkABgA4AloAAwABBAkACAAwApIAAwABBAkAEAAwAsIAAwABBAkAEQAOAvLCqTIwMjUgSGFuZ3pob3UgTGVtaSBOZXR3b3JrIFRlY2hub2xvZ3kgQ28uLCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuTGVtaUxlbWlaaGlYaWFRaWFuRmVuZ1RpUmVndWxhcjEuMDAwO1VLV047TGVtaVpoaVhpYVFpYW5GZW5nVGktUmVndWxhckxlbWlaaGlYaWFRaWFuRmVuZ1RpVmVyc2lvbiAxLjAwMExlbWlaaGlYaWFRaWFuRmVuZ1RpLVJlZ3VsYXJMZW1pIENyZWF0aW9u77ybTGVtaSBGb250c0xlbWlMZW1pWmhpWGlhUWlhbkZlbmdUaVJlZ3VsYXIAqQAyADAAMgA1ACAASABhAG4AZwB6AGgAbwB1ACAATABlAG0AaQAgAE4AZQB0AHcAbwByAGsAIABUAGUAYwBoAG4AbwBsAG8AZwB5ACAAQwBvAC4ALAAgAEwAdABkAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ATABlAG0AaQBMAGUAbQBpAFoAaABpAFgAaQBhAFEAaQBhAG4ARgBlAG4AZwBUAGkAUgBlAGcAdQBsAGEAcgAxAC4AMAAwADAAOwBVAEsAVwBOADsATABlAG0AaQBaAGgAaQBYAGkAYQBRAGkAYQBuAEYAZQBuAGcAVABpAC0AUgBlAGcAdQBsAGEAcgBMAGUAbQBpAFoAaABpAFgAaQBhAFEAaQBhAG4ARgBlAG4AZwBUAGkAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABMAGUAbQBpAFoAaABpAFgAaQBhAFEAaQBhAG4ARgBlAG4AZwBUAGkALQBSAGUAZwB1AGwAYQByAEwAZQBtAGkAIABDAHIAZQBhAHQAaQBvAG7/GwBMAGUAbQBpACAARgBvAG4AdABzAEwAZQBtAGkATABlAG0AaQBaAGgAaQBYAGkAYQBRAGkAYQBuAEYAZQBuAGcAVABpAFIAZQBnAHUAbABhAHIAAAACAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAjACMAAAAkACwANwECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwDwB3VuaTRFMTYHdW5pNEVDRQd1bmk0RjYwB3VuaTRGN0YHdW5pNTQyQwd1bmk1OUNCB3VuaTVCODgHdW5pNUVBNgd1bmk1RjAwB3VuaTVGQzMHdW5pNjBDNQd1bmk2MTFGB3VuaTYxQzIHdW5pNjJBNAd1bmk2MzhDB3VuaTY1QUQHdW5pNjdENAd1bmk2QjY0B3VuaTZCREIHdW5pNkUyOQd1bmk3NTI4B3VuaTc1NEMHdW5pNzY4NAd1bmk3RkZCB3VuaTgzMzgHdW5pODhBQgd1bmk4QkNBB3VuaThCRDEHdW5pOTFDQwd1bmlGRjBD") format("truetype");
}

/* End embedded splash font. */

.stage {
  --splash-paw-pink: rgba(242, 195, 168, 0.72);
  min-height: calc(100 * var(--vhu));
  padding: 0;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 180, 72, 0.22), transparent 26%),
    radial-gradient(circle at 92% 86%, rgba(239, 188, 162, 0.28), transparent 28%),
    #f5eee4;
}

.phone {
  position: relative;
  width: 100%;
  height: calc(100 * var(--vhu));
  min-height: calc(100 * var(--vhu));
  padding: calc(176 * var(--rpx)) calc(28 * var(--rpx)) 0;
  background: #fffaf2;
  box-shadow: none;
  overflow: hidden;
  box-sizing: border-box;
}

.status {
  display: none;
}

.status-icons {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  font-size: calc(20 * var(--rpx));
}

.battery {
  width: calc(34 * var(--rpx));
  height: calc(18 * var(--rpx));
  border: calc(3 * var(--rpx)) solid #15120f;
  border-radius: calc(6 * var(--rpx));
  position: relative;
}

.battery::after {
  content: "";
  position: absolute;
  right: calc(4 * var(--rpx));
  top: calc(3 * var(--rpx));
  width: calc(18 * var(--rpx));
  height: calc(6 * var(--rpx));
  border-radius: calc(4 * var(--rpx));
  background: #15120f;
}

.screen {
  height: calc(calc(100 * var(--vhu)) - calc(176 * var(--rpx)));
  padding: calc(20 * var(--rpx)) calc(4 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(178 * var(--rpx)));
  box-sizing: border-box;
  overflow-y: auto;
}

.screen-chat {
  padding-top: calc(176 * var(--rpx));
  overflow: hidden;
}

/* 进入子包页前盖住首页的全屏中性遮罩：让首页「退到后台前的最后一帧」是它而非首页
   内容，返回动画只会露出它，过渡期不闪现旧首页；回到前台后在 onShow 撤掉揭出目标 tab。
   inset:0 全屏覆盖，z-index 200 高于 hero(58)/tabbar(50)/floating-pet(90)，低于隐私弹窗(9999)。 */
.tab-switch-cover {
  position: absolute;
  inset: 0;
  z-index: 200;
  background: #fffaf2;
}

.splash {
  position: absolute;
  inset: calc(176 * var(--rpx)) 0 0;
  z-index: 20;
  background: #fffaf2;
  overflow: hidden;
}

.splash-copy {
  position: relative;
  z-index: 3;
  padding: calc(46 * var(--rpx)) calc(62 * var(--rpx)) 0;
}

.splash-copy text {
  display: block;
  font-family: "LemiZhixiaSplash", "PingFang SC", sans-serif;
  font-size: calc(73 * var(--rpx));
  line-height: 1.5;
  font-weight: 900;
  letter-spacing: 0;
}

.splash-copy > text:first-child {
  font-size: calc(80 * var(--rpx));
}

.splash-copy-line text,
.splash-copy > text:nth-child(3) {
  font-size: calc(80 * var(--rpx));
}

.splash-copy-line {
  display: flex;
  align-items: center;
  gap: calc(16 * var(--rpx));
}

.splash-copy-line text {
  flex: 0 0 auto;
}

.splash-title-photo {
  flex: 0 0 auto;
  width: calc(230 * var(--rpx));
  height: calc(90 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  overflow: hidden;
  background: var(--splash-paw-pink);
}

.splash-title-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.splash-paw {
  position: absolute;
  right: calc(62 * var(--rpx));
  top: calc(414 * var(--rpx));
  z-index: 2;
  width: calc(126 * var(--rpx));
  height: calc(106 * var(--rpx));
  border-radius: 52% 48% 44% 56%;
  transform: rotate(30deg);
  background:
    radial-gradient(circle at 14% 34%, var(--splash-paw-pink) 0 calc(13 * var(--rpx)), transparent calc(14 * var(--rpx))),
    radial-gradient(circle at 36% 17%, var(--splash-paw-pink) 0 calc(14 * var(--rpx)), transparent calc(15 * var(--rpx))),
    radial-gradient(circle at 62% 16%, var(--splash-paw-pink) 0 calc(14 * var(--rpx)), transparent calc(15 * var(--rpx))),
    radial-gradient(circle at 84% 34%, var(--splash-paw-pink) 0 calc(13 * var(--rpx)), transparent calc(14 * var(--rpx))),
    radial-gradient(circle at 52% 68%, var(--splash-paw-pink) 0 calc(38 * var(--rpx)), transparent calc(39 * var(--rpx)));
}

.splash-cat-plate {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(882 * var(--rpx));
  bottom: 0;
  z-index: 1;
  height: auto;
  min-height: 0;
  background: #ffffff;
  border-radius: calc(48 * var(--rpx)) calc(48 * var(--rpx)) 0 0;
  box-shadow: 0 calc(18 * var(--rpx)) calc(52 * var(--rpx)) rgba(96, 72, 50, 0.08);
  pointer-events: none;
}

.splash-cat {
  position: absolute;
  left: 0;
  top: calc(382 * var(--rpx));
  z-index: 2;
  width: calc(750 * var(--rpx));
  height: calc(800 * var(--rpx));
}

.splash-bottom {
  position: absolute;
  left: calc(62 * var(--rpx));
  right: calc(62 * var(--rpx));
  bottom: calc(env(safe-area-inset-bottom) + calc(72 * var(--rpx)));
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.splash-bottom text {
  display: block;
}

.splash-bottom > text:first-child {
  max-width: calc(620 * var(--rpx));
  font-size: calc(42 * var(--rpx));
  line-height: 1.18;
  font-weight: 900;
  text-align: center;
}

.splash-bottom > text:nth-child(2) {
  margin-top: calc(12 * var(--rpx));
  max-width: calc(620 * var(--rpx));
  color: #7e746a;
  font-size: calc(32 * var(--rpx));
  line-height: 1.45;
  text-align: center;
}

.splash-bottom button {
  width: calc(326 * var(--rpx));
  height: calc(88 * var(--rpx));
  margin-top: calc(30 * var(--rpx));
  padding: 0 calc(24 * var(--rpx)) 0 calc(12 * var(--rpx));
  border-radius: calc(44 * var(--rpx));
  background: #ffae3d;
  color: #ffffff;
  font-size: calc(34 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--rpx));
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.splash-bottom button text {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  word-break: keep-all;
}

.start-icon {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  transform: translateX(calc(-10 * var(--rpx)));
  border-radius: 50%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.onboarding,
.profile-detail {
  position: absolute;
  inset: calc(176 * var(--rpx)) calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(34 * var(--rpx)));
  z-index: 18;
  background: #fffaf2;
  overflow: hidden;
}

.onboarding {
  padding: calc(34 * var(--rpx)) calc(28 * var(--rpx)) calc(46 * var(--rpx));
  overflow-y: auto;
  box-sizing: border-box;
}

.onboarding-head text {
  display: block;
}

.onboarding-head text:first-child {
  font-size: calc(44 * var(--rpx));
  line-height: 1.12;
  font-weight: 900;
}

.onboarding-head text:last-child {
  margin-top: calc(12 * var(--rpx));
  color: #82786f;
  font-size: calc(24 * var(--rpx));
  line-height: 1.45;
}

.type-grid {
  margin-top: calc(24 * var(--rpx));
  display: flex;
  gap: calc(14 * var(--rpx));
  overflow-x: auto;
  padding-bottom: calc(8 * var(--rpx));
}

.type-card {
  flex: 0 0 calc(118 * var(--rpx));
  width: calc(118 * var(--rpx));
  min-width: calc(118 * var(--rpx));
  height: calc(118 * var(--rpx));
  padding: calc(12 * var(--rpx)) calc(8 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #ffffff;
  color: #17130f;
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(57, 42, 28, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--rpx));
}

.type-card text:first-child {
  font-size: calc(34 * var(--rpx));
  line-height: 1;
}

.type-card text:last-child {
  width: 100%;
  font-size: calc(23 * var(--rpx));
  line-height: 1.2;
  font-weight: 800;
  text-align: center;
  white-space: nowrap;
}

.type-card-active {
  background: #ffae3d;
}

.pet-type-upload-tip {
  display: block;
  margin-top: calc(12 * var(--rpx));
  color: #9a5a26;
  font-size: calc(21 * var(--rpx));
  line-height: 1.45;
  font-weight: 800;
}

.pet-type-upload-tip-compact {
  margin-top: calc(8 * var(--rpx));
  color: #b46a2d !important;
  font-size: calc(20 * var(--rpx)) !important;
  line-height: 1.4 !important;
}

.custom-type-row {
  margin-top: calc(14 * var(--rpx));
  padding: calc(16 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(8 * var(--rpx)) calc(22 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.custom-type-row text {
  display: block;
  color: #9a9085;
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
}

.custom-type-row input {
  margin-top: calc(8 * var(--rpx));
  height: calc(42 * var(--rpx));
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 800;
}

.avatar-builder {
  margin-top: calc(22 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(34 * var(--rpx));
  background: #f2c3a8;
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
}

.avatar-preview {
  width: calc(174 * var(--rpx));
  height: calc(174 * var(--rpx));
  border-radius: calc(36 * var(--rpx));
  background: rgba(255, 255, 255, 0.68);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}

.avatar-preview img {
  width: calc(166 * var(--rpx));
  height: calc(166 * var(--rpx));
}

.avatar-ai {
  background:
    radial-gradient(circle at 70% 28%, rgba(255, 255, 255, 0.9), transparent 30%),
    #fff0db;
}

.avatar-actions {
  flex: 1;
  display: grid;
  gap: calc(12 * var(--rpx));
}

.avatar-actions button {
  min-height: calc(72 * var(--rpx));
  padding: calc(12 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: rgba(255, 255, 255, 0.72);
  color: #211811;
  text-align: left;
}

.avatar-actions text {
  display: block;
}

.avatar-actions text:first-child {
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  white-space: nowrap;
  word-break: keep-all;
}

.avatar-actions text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8c7467;
  font-size: calc(20 * var(--rpx));
}

.photo-mode-active {
  background: #15120f !important;
  color: #ffffff !important;
}

.photo-mode-active text:last-child {
  color: rgba(255, 255, 255, 0.66);
}

.profile-avatar-progress {
  margin-top: calc(16 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border: calc(2 * var(--rpx)) solid #ffe2bd;
  border-radius: calc(24 * var(--rpx));
  background: #fffaf2;
}

.profile-avatar-progress-compact {
  margin-top: calc(14 * var(--rpx));
}

.profile-avatar-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
}

.profile-avatar-progress-head text:first-child {
  flex: 1;
  min-width: 0;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  line-height: 1.35;
}

.profile-avatar-progress-head text:last-child {
  flex: 0 0 auto;
  color: #c07a35;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
}

.profile-avatar-progress-track {
  width: 100%;
  height: calc(12 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
  border-radius: calc(6 * var(--rpx));
  background: #f0dfca;
  overflow: hidden;
}

.profile-avatar-progress-fill {
  height: 100%;
  border-radius: calc(6 * var(--rpx));
  background: linear-gradient(90deg, #ffae3d, #f27a52);
  transition: width 0.28s ease;
}

.profile-avatar-progress-hint {
  display: block;
  margin-top: calc(10 * var(--rpx));
  color: #8c7467;
  font-size: calc(20 * var(--rpx));
  line-height: 1.35;
}

.profile-avatar-progress-note {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #9a5a26;
  font-size: calc(20 * var(--rpx));
  line-height: 1.35;
  font-weight: 800;
}

.profile-avatar-cancel {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  height: calc(60 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #f1e6d8;
  color: #9a5a26;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-avatar-feedback {
  margin: calc(18 * var(--rpx)) 0 0;
  padding: calc(20 * var(--rpx));
  border: calc(2 * var(--rpx)) solid #ffe2bd;
  border-radius: calc(24 * var(--rpx));
  background: #fff8ef;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
}

.profile-avatar-feedback-compact {
  margin-top: calc(18 * var(--rpx));
}

.profile-avatar-feedback button {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2;
}

.profile-avatar-feedback-title {
  display: block;
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
  line-height: 1.35;
}

.profile-avatar-feedback-rate {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(12 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
}

.profile-avatar-feedback .profile-avatar-feedback-btn {
  width: 100% !important;
  min-width: 0;
  height: calc(66 * var(--rpx));
  border: calc(2 * var(--rpx)) solid #f2d2ad;
  border-radius: calc(18 * var(--rpx));
  background: #fffaf2;
  color: #6f5f50;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.profile-avatar-feedback .profile-avatar-feedback-btn.is-active,
.profile-avatar-feedback .profile-avatar-feedback-chip.is-active {
  border-color: #ffae3d;
  background: #ffae3d;
  color: #15120f;
}

.profile-avatar-feedback-reasons {
  margin-top: calc(16 * var(--rpx));
}

.profile-avatar-feedback-subtitle {
  display: block;
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
  line-height: 1.35;
}

.profile-avatar-feedback-chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--rpx));
  margin-top: calc(12 * var(--rpx));
}

.profile-avatar-feedback .profile-avatar-feedback-chip {
  flex: 1 1 calc(236 * var(--rpx));
  min-width: calc(236 * var(--rpx));
  min-height: calc(72 * var(--rpx));
  padding: calc(10 * var(--rpx)) calc(24 * var(--rpx)) !important;
  border: calc(2 * var(--rpx)) solid #f2d2ad;
  border-radius: calc(18 * var(--rpx));
  background: #ffffff;
  color: #6f5f50;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.28;
}

.profile-avatar-feedback-actions {
  margin-top: calc(14 * var(--rpx));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(12 * var(--rpx));
}

.profile-avatar-feedback .profile-avatar-feedback-submit,
.profile-avatar-feedback .profile-avatar-feedback-regenerate {
  width: calc(220 * var(--rpx)) !important;
  height: calc(60 * var(--rpx));
  margin: 0 !important;
  border-radius: calc(18 * var(--rpx));
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.profile-avatar-feedback .profile-avatar-feedback-submit {
  width: 100% !important;
  background: #ffae3d;
  color: #15120f;
}

.profile-avatar-feedback .profile-avatar-feedback-submit[disabled] {
  background: #efe5d8;
  color: #9d8f80;
}

.profile-avatar-feedback .profile-avatar-feedback-regenerate {
  width: 100% !important;
  background: #15120f;
  color: #ffffff;
}

.profile-avatar-feedback-thanks {
  display: block;
  margin-top: calc(12 * var(--rpx));
  color: #c07a35;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
  line-height: 1.35;
}

.form-card {
  margin-top: calc(20 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(34 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.06);
}

.field-pair {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(14 * var(--rpx));
}

.field-row {
  min-height: calc(150 * var(--rpx));
  margin-bottom: calc(14 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff8ef;
  box-sizing: border-box;
  overflow: hidden;
}

.field-row text {
  display: block;
  color: #9a9085;
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
}

.field-row input,
.picker-value {
  margin-top: calc(6 * var(--rpx));
  height: calc(34 * var(--rpx));
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 800;
  line-height: calc(34 * var(--rpx));
}

.picker-value + input,
.field-row picker + input,
.field-row input + input {
  margin-top: calc(10 * var(--rpx));
}

.field-helper {
  margin-top: calc(4 * var(--rpx));
  color: #c07a35 !important;
  font-size: calc(18 * var(--rpx)) !important;
  line-height: 1.2;
}

.period-toggle-row {
  margin-top: calc(6 * var(--rpx));
  width: 100%;
  display: flex;
  gap: calc(10 * var(--rpx));
  box-sizing: border-box;
}

.period-toggle-btn {
  flex: 1 1 0;
  min-width: 0;
  height: calc(48 * var(--rpx));
  padding: 0;
  border-radius: calc(14 * var(--rpx));
  border: calc(1 * var(--rpx)) solid #e8ddd2;
  background: #ffffff;
  color: #8c7d70;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
  line-height: calc(48 * var(--rpx));
  text-align: center;
}

.period-toggle-btn::after {
  border: 0;
}

.period-toggle-active {
  background: #15120f;
  border-color: #15120f;
  color: #ffffff;
}

.note-field {
  margin-bottom: 0;
}

.personality-field {
  display: flex;
  flex-direction: column;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--rpx));
  margin-top: calc(10 * var(--rpx));
}

.tag-chip {
  padding: calc(8 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #f1e8de;
  color: #6d5d51;
  font-size: calc(18 * var(--rpx));
  font-weight: 800;
  line-height: 1.2;
}

.tag-chip text {
  display: inline;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.tag-chip-editable {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * var(--rpx));
  padding-right: calc(10 * var(--rpx));
}

.tag-remove {
  color: #b58a6b !important;
  font-size: calc(20 * var(--rpx)) !important;
  line-height: 1 !important;
}

.custom-tag-row {
  margin-top: calc(12 * var(--rpx));
  display: flex;
  align-items: center;
  gap: calc(10 * var(--rpx));
}

.custom-tag-row input {
  flex: 1;
  min-width: 0;
  height: calc(50 * var(--rpx));
  margin-top: 0;
  padding: 0 calc(16 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #ffffff;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  line-height: calc(50 * var(--rpx));
  box-sizing: border-box;
}

.record-field .custom-tag-row input {
  background: #fff8ef;
}

.custom-tag-row button {
  flex: 0 0 calc(88 * var(--rpx));
  width: calc(88 * var(--rpx));
  height: calc(50 * var(--rpx));
  border-radius: calc(25 * var(--rpx));
  background: #15120f;
  color: #ffffff;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.detail-tag-list {
  margin-top: calc(14 * var(--rpx));
}

.detail-tag-chip {
  background: #f7f0e7;
  color: #6d5d51;
}

.create-profile-action {
  position: sticky;
  bottom: calc(-46 * var(--rpx));
  z-index: 6;
  /* 抵消 .onboarding calc(46 * var(--rpx)) 底内边距，让按钮贴到容器底缘常驻 */
  margin: calc(22 * var(--rpx)) calc(-28 * var(--rpx)) calc(-46 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(18 * var(--rpx)));
  box-sizing: border-box;
  /* 渐隐到页底色，遮住从按钮下方滚过的字段 */
  background: linear-gradient(180deg, rgba(255, 250, 242, 0) 0%, #fffaf2 32%);
}

.create-profile-button {
  width: 100%;
  height: calc(88 * var(--rpx));
  margin: 0;
  padding: 0 calc(28 * var(--rpx)) 0 calc(18 * var(--rpx));
  border-radius: calc(44 * var(--rpx));
  background: #ffae3d;
  color: #ffffff;
  font-size: calc(32 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--rpx));
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.create-profile-button text {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - calc(92 * var(--rpx)));
  white-space: nowrap;
  word-break: keep-all;
  font-size: inherit;
  line-height: 1;
}

.profile-detail {
  background: #f2c3a8;
}

.detail-cover {
  position: relative;
  height: 50%;
  padding: calc(30 * var(--rpx));
  background: #f2c3a8;
}

.detail-cover img {
  position: absolute;
  left: calc(82 * var(--rpx));
  top: 70px;
  z-index: 3;
  width: 250px;
  height: 250px;
}

.detail-sheet {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  height: auto;
  max-height: none;
  padding: calc(34 * var(--rpx)) calc(30 * var(--rpx)) calc(42 * var(--rpx));
  border-radius: calc(48 * var(--rpx)) calc(48 * var(--rpx)) 0 0;
  background: #ffffff;
  overflow-y: auto;
  box-sizing: border-box;
}

.detail-title {
  display: block;
  font-size: calc(34 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.detail-distance {
  display: block;
  margin-top: calc(14 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
}

.detail-stats {
  margin-top: calc(28 * var(--rpx));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(18 * var(--rpx));
}

.detail-stats-secondary {
  margin-top: calc(16 * var(--rpx));
}

.stat {
  height: calc(126 * var(--rpx));
  padding: calc(22 * var(--rpx)) calc(10 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
}

.stat text {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stat text:first-child {
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.stat text:last-child {
  margin-top: calc(12 * var(--rpx));
  color: #695f56;
  font-size: calc(24 * var(--rpx));
}

.about-card {
  margin-top: calc(26 * var(--rpx));
  padding: calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  border: calc(2 * var(--rpx)) dashed #eadfd6;
  box-sizing: border-box;
}

.about-card text {
  display: block;
}

.about-card text:first-child {
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
}

.about-card text:last-child {
  margin-top: calc(12 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.55;
}

.deworming-card,
.vaccine-card {
  min-height: calc(138 * var(--rpx));
  background: #f8faf9;
  border-style: solid;
}

.deworming-card text:last-child,
.vaccine-card text:last-child {
  min-height: calc(68 * var(--rpx));
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.detail-actions {
  position: static;
  margin-top: calc(26 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: center;
}

.want-button {
  width: 100%;
  height: calc(88 * var(--rpx));
  padding: 0 calc(28 * var(--rpx)) 0 calc(18 * var(--rpx));
  border-radius: calc(44 * var(--rpx));
  background: #ffae3d;
  color: #ffffff;
  font-size: calc(32 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--rpx));
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.want-button text {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - calc(92 * var(--rpx)));
  white-space: nowrap;
  word-break: keep-all;
  line-height: 1;
}

.hero {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: calc(10 * var(--rpx)) 0 0;
}

.hero-chat-fixed {
  position: fixed;
  left: calc(32 * var(--rpx));
  right: calc(32 * var(--rpx));
  top: calc(176 * var(--rpx));
  z-index: 58;
  padding: calc(10 * var(--rpx)) 0 calc(22 * var(--rpx));
  background: #fffaf2;
  box-sizing: border-box;
}

.hero > view:first-child {
  padding-right: calc(102 * var(--rpx));
  box-sizing: border-box;
}

.eyebrow,
.subtitle,
.card-label,
.pet-meta,
.task-card text:last-child,
.note-card text:last-child,
.trend-copy text:last-child {
  color: #8f857a;
}

.eyebrow {
  display: block;
  font-size: calc(24 * var(--rpx));
  font-weight: 700;
}

.title {
  display: block;
  margin-top: calc(8 * var(--rpx));
  max-width: calc(440 * var(--rpx));
  font-size: calc(46 * var(--rpx));
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: 0;
}

.title-lifetime {
  max-width: none;
  white-space: nowrap;
}

.subtitle {
  display: block;
  margin-top: calc(14 * var(--rpx));
  max-width: calc(480 * var(--rpx));
  font-size: calc(25 * var(--rpx));
  line-height: 1.5;
}

.subtitle-oneline {
  max-width: none;
  white-space: nowrap;
}

.bell {
  width: calc(74 * var(--rpx));
  min-width: calc(74 * var(--rpx));
  max-width: calc(74 * var(--rpx));
  height: calc(74 * var(--rpx));
  padding: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #15120f;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(44, 33, 21, 0.08);
  font-size: calc(30 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-entry {
  position: absolute;
  top: calc(10 * var(--rpx));
  right: 0;
}

.profile-entry img {
  width: calc(34 * var(--rpx));
  height: calc(34 * var(--rpx));
}

.sheet-close-button img {
  width: calc(24 * var(--rpx));
  height: calc(24 * var(--rpx));
  display: block;
}

.pet-card {
  position: relative;
  min-height: calc(282 * var(--rpx));
  margin: calc(30 * var(--rpx)) calc(8 * var(--rpx)) calc(22 * var(--rpx));
  padding: calc(34 * var(--rpx)) calc(28 * var(--rpx));
  border-radius: calc(38 * var(--rpx));
  background: linear-gradient(142deg, #f4c5aa 0%, #ffc35c 100%);
  overflow: hidden;
}

.pet-card::after {
  content: "";
  position: absolute;
  right: calc(26 * var(--rpx));
  bottom: calc(22 * var(--rpx));
  width: calc(136 * var(--rpx));
  height: calc(112 * var(--rpx));
  border-radius: 52% 48% 44% 56%;
  background:
    radial-gradient(circle at 20% 26%, rgba(151, 89, 47, 0.2) 0 calc(15 * var(--rpx)), transparent calc(16 * var(--rpx))),
    radial-gradient(circle at 50% 12%, rgba(151, 89, 47, 0.2) 0 calc(16 * var(--rpx)), transparent calc(17 * var(--rpx))),
    radial-gradient(circle at 78% 28%, rgba(151, 89, 47, 0.2) 0 calc(15 * var(--rpx)), transparent calc(16 * var(--rpx))),
    radial-gradient(circle at 52% 68%, rgba(151, 89, 47, 0.2) 0 calc(40 * var(--rpx)), transparent calc(41 * var(--rpx)));
}

.pet-copy {
  position: relative;
  z-index: 2;
  max-width: calc(390 * var(--rpx));
}

.card-label {
  display: block;
  font-size: calc(24 * var(--rpx));
  color: rgba(47, 32, 24, 0.62);
  font-weight: 700;
}

.pet-name {
  display: block;
  margin-top: calc(8 * var(--rpx));
  font-size: calc(54 * var(--rpx));
  line-height: 1;
  font-weight: 900;
}

.pet-meta {
  display: block;
  margin-top: calc(12 * var(--rpx));
  color: rgba(47, 32, 24, 0.72);
  font-size: calc(23 * var(--rpx));
  line-height: 1.35;
}

.pet-tags {
  max-width: calc(390 * var(--rpx));
  margin-top: calc(18 * var(--rpx));
  display: flex;
  flex-wrap: nowrap;
  gap: calc(8 * var(--rpx));
  overflow: hidden;
}

.pet-tags text {
  max-width: calc(122 * var(--rpx));
  padding: calc(9 * var(--rpx)) calc(11 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: rgba(255, 255, 255, 0.66);
  font-size: calc(18 * var(--rpx));
  line-height: 1.1;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

.pet-image-frame {
  position: absolute;
  right: calc(12 * var(--rpx));
  bottom: calc(10 * var(--rpx));
  z-index: 1;
  width: calc(260 * var(--rpx));
  height: calc(224 * var(--rpx));
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: visible;
}

.pet-image {
  width: 100%;
  height: 100%;
  max-width: calc(260 * var(--rpx));
  max-height: calc(224 * var(--rpx));
  object-fit: contain;
}

.pet-switch {
  display: flex;
  gap: calc(14 * var(--rpx));
  padding: 0 calc(8 * var(--rpx)) calc(8 * var(--rpx));
  overflow-x: auto;
}

.pet-pill {
  position: relative;
  min-width: calc(160 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(48 * var(--rpx)) calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(57, 42, 28, 0.06);
}

.pet-pill-delete {
  position: absolute;
  top: calc(8 * var(--rpx));
  right: calc(8 * var(--rpx));
  z-index: 2;
  width: calc(34 * var(--rpx));
  height: calc(34 * var(--rpx));
  padding: 0;
  border-radius: 50%;
  background: rgba(21, 18, 15, 0.08);
  color: #6f5f50;
  font-size: calc(25 * var(--rpx));
  line-height: calc(34 * var(--rpx));
  font-weight: 900;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pet-pill text {
  display: block;
}

.pet-pill-name {
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
}

.pet-pill-type {
  margin-top: calc(6 * var(--rpx));
  font-size: calc(21 * var(--rpx));
  color: #9a9085;
}

.pet-pill-active {
  background: #15120f;
  color: #ffffff;
}

.pet-pill-active .pet-pill-delete {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.pet-pill-active .pet-pill-type {
  color: rgba(255, 255, 255, 0.7);
}

.pet-pill-add {
  padding-right: calc(20 * var(--rpx));
  border: calc(2 * var(--rpx)) dashed rgba(151, 118, 82, 0.42);
  background: #fff8ef;
  color: #6f5f50;
}

.pet-pill-add .pet-pill-name {
  font-size: calc(24 * var(--rpx));
}

.panel {
  margin: calc(20 * var(--rpx)) calc(8 * var(--rpx)) 0;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: calc(6 * var(--rpx)) calc(4 * var(--rpx)) calc(18 * var(--rpx));
}

.section-head text:first-child {
  font-size: calc(32 * var(--rpx));
  font-weight: 900;
}

.section-head text:last-child {
  color: #f3a33a;
  font-size: calc(23 * var(--rpx));
  font-weight: 800;
}

.section-head.compact {
  padding: 0 0 calc(18 * var(--rpx));
  align-items: center;
  gap: calc(14 * var(--rpx));
}

.section-head.compact text:first-child {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.care-section-head {
  margin-top: calc(24 * var(--rpx));
}

.section-head.compact button {
  flex: 0 0 calc(104 * var(--rpx));
  width: calc(104 * var(--rpx)) !important;
  min-width: 0;
  height: calc(48 * var(--rpx));
  margin: 0 !important;
  padding: 0 !important;
  border-radius: calc(24 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.task-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16 * var(--rpx));
}

.task-card {
  min-height: calc(186 * var(--rpx));
  padding: calc(24 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
}

.task-card text {
  display: block;
}

/* 小图标固化为本地 PNG（真机系统 emoji 字体缺字形会空白），img 需显式宽高 */
.task-icon {
  display: block;
  width: calc(38 * var(--rpx));
  height: calc(38 * var(--rpx));
}

.task-card text:nth-child(2) {
  margin-top: calc(14 * var(--rpx));
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
}

.task-card text:last-child {
  margin-top: calc(8 * var(--rpx));
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.orange {
  background: #fff0db;
}

.mint {
  background: #dff4e6;
}

.lavender {
  background: #e8defb;
}

.yellow {
  background: #fff1a8;
}

.peach {
  background: #ffe9de;
}

.coral {
  background: #ffe0d4;
}

.sky {
  background: #d8efff;
}

.health {
  background: #dff4e6;
}

.card-ai {
  background: linear-gradient(145deg, #ffe9de 0%, #ffd2bd 100%);
}

.card-check {
  background: linear-gradient(145deg, #d8efff 0%, #bfe4fb 100%);
}

.card-voice {
  background: linear-gradient(145deg, #dff4e6 0%, #c7ead3 100%);
}

.card-hospital {
  background: linear-gradient(145deg, #e8defb 0%, #d7c8fb 100%);
}

.card-friendly {
  background: linear-gradient(145deg, #fff1a8 0%, #ffe28a 100%);
}

.card-feeding {
  background: linear-gradient(145deg, #fff7d8 0%, #ffeeb1 100%);
}

.card-deworming {
  background: linear-gradient(145deg, #e4f5ea 0%, #cfeedd 100%);
}

.card-vaccine {
  background: linear-gradient(145deg, #f0e7ff 0%, #dfd2fb 100%);
}

.card-health {
  background: linear-gradient(145deg, #f8faf9 0%, #e7f0ee 100%);
}

.care-card-grid {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(14 * var(--rpx));
}

.care-mini-card {
  min-height: calc(136 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  box-shadow: 0 calc(10 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.care-mini-head {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--rpx));
}

.care-mini-icon {
  flex: 0 0 calc(30 * var(--rpx));
  width: calc(30 * var(--rpx));
  height: calc(30 * var(--rpx));
}

.care-mini-head text:last-child {
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  line-height: 1.15;
  font-weight: 900;
}

.care-mini-card > text {
  display: block;
  margin-top: calc(12 * var(--rpx));
  min-height: calc(56 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.record-ai-button {
  width: 100%;
  height: calc(52 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: rgba(255, 255, 255, 0.76);
  color: #15120f;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.record-ai-button {
  margin-top: 0;
  background: #fff0db;
}

.note-card,
.trend-card,
.health-follow-card {
  margin-top: calc(18 * var(--rpx));
  padding: calc(26 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.06);
}

.note-card text {
  display: block;
}

.note-card text:first-child {
  color: #15120f;
  font-size: calc(29 * var(--rpx));
  font-weight: 900;
}

.note-card text:last-child {
  margin-top: calc(12 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  line-height: 1.55;
}

.record-profile-card {
  min-height: calc(126 * var(--rpx));
  padding: calc(22 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.06);
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
}

.record-profile-card img,
.record-profile-avatar {
  flex: 0 0 auto;
  width: calc(82 * var(--rpx));
  height: calc(82 * var(--rpx));
  border-radius: 50%;
  background: #fff0db;
  object-fit: contain;
  box-sizing: border-box;
}

.record-profile-card view {
  flex: 1;
  min-width: 0;
}

.record-profile-card text {
  display: block;
}

.record-profile-card text:first-child {
  color: #15120f;
  font-size: calc(30 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.record-profile-card text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(23 * var(--rpx));
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.record-profile-card button {
  flex: 0 0 auto;
  width: calc(96 * var(--rpx));
  height: calc(52 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #fff0db;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.trend-card {
  min-height: calc(190 * var(--rpx));
  display: flex;
  align-items: flex-end;
  gap: calc(14 * var(--rpx));
}

.trend-bars {
  display: flex;
  align-items: flex-end;
  gap: calc(12 * var(--rpx));
  flex: 0 0 auto;
}

.trend-empty-bars {
  display: flex;
  align-items: flex-end;
  gap: calc(12 * var(--rpx));
}

.trend-bar-wrap {
  width: calc(54 * var(--rpx));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(6 * var(--rpx));
}

.trend-bar-wrap text {
  display: block;
  max-width: 100%;
  color: #8f857a;
  font-size: calc(16 * var(--rpx));
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.bar {
  width: calc(42 * var(--rpx));
  border-radius: calc(22 * var(--rpx)) calc(22 * var(--rpx)) calc(10 * var(--rpx)) calc(10 * var(--rpx));
  background: #ffae3d;
}

.bar-active {
  box-shadow: inset 0 calc(-10 * var(--rpx)) calc(16 * var(--rpx)) rgba(255, 255, 255, 0.22);
}

.h1 {
  height: calc(76 * var(--rpx));
}

.h2 {
  height: calc(112 * var(--rpx));
  background: #d7c8fb;
}

.h3 {
  height: calc(92 * var(--rpx));
  background: #cfeedd;
}

.h4 {
  height: calc(136 * var(--rpx));
}

.h5 {
  height: calc(104 * var(--rpx));
  background: #f2c3a8;
}

.trend-copy {
  margin-left: calc(16 * var(--rpx));
  padding-bottom: calc(8 * var(--rpx));
  flex: 1;
}

.trend-copy text {
  display: block;
}

.trend-copy text:first-child {
  font-size: calc(31 * var(--rpx));
  font-weight: 900;
}

.trend-copy text:last-child {
  margin-top: calc(8 * var(--rpx));
  font-size: calc(23 * var(--rpx));
  line-height: 1.4;
}

.trend-add-btn {
  width: calc(50 * var(--rpx));
  height: calc(50 * var(--rpx));
  border-radius: calc(25 * var(--rpx));
  background: #fff0db;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: center;
  margin-left: calc(6 * var(--rpx));
}

.trend-add-btn text {
  color: #e0620d;
  font-size: calc(32 * var(--rpx));
  font-weight: 700;
  line-height: 1;
}

.weight-quick-editor {
  margin-top: calc(16 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(22 * var(--rpx));
  background: #fffbf5;
  border: calc(1 * var(--rpx)) solid #ffe4c4;
}

.weight-quick-row {
  display: flex;
  align-items: center;
  gap: calc(14 * var(--rpx));
  margin-bottom: calc(14 * var(--rpx));
}

.weight-quick-label {
  width: calc(70 * var(--rpx));
  color: #8f857a;
  font-size: calc(23 * var(--rpx));
  font-weight: 600;
  flex-shrink: 0;
}

.weight-quick-picker {
  padding: calc(10 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(14 * var(--rpx));
  background: #ffffff;
  border: calc(1 * var(--rpx)) solid #e8ddd0;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
}

.weight-quick-input {
  flex: 1;
  padding: calc(10 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(14 * var(--rpx));
  background: #ffffff;
  border: calc(1 * var(--rpx)) solid #e8ddd0;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
}

.weight-quick-unit {
  color: #8f857a;
  font-size: calc(23 * var(--rpx));
  flex-shrink: 0;
}

.weight-quick-actions {
  display: flex;
  gap: calc(16 * var(--rpx));
  justify-content: flex-end;
}

.weight-quick-cancel {
  width: calc(120 * var(--rpx));
  height: calc(56 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #f0ece6;
  color: #7a6e62;
  font-size: calc(22 * var(--rpx));
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.weight-quick-save {
  width: calc(160 * var(--rpx));
  height: calc(56 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #e0620d;
  color: #ffffff;
  font-size: calc(22 * var(--rpx));
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.health-log-row {
  min-height: calc(92 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff8ef;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(18 * var(--rpx));
}

.health-empty-row {
  min-height: calc(108 * var(--rpx));
  padding: calc(22 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff8ef;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(8 * var(--rpx));
}

.health-empty-row text:first-child {
  color: #15120f;
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
}

.health-empty-row text:last-child {
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
}

.health-log-row + .health-log-row {
  margin-top: calc(12 * var(--rpx));
}

.health-log-row view {
  flex: 1;
  min-width: 0;
}

.health-log-row view text {
  display: block;
}

.health-log-row view text:first-child {
  color: #15120f;
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
}

.health-log-row view text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.35;
}

.health-log-row > text {
  flex: 0 0 auto;
  padding: calc(10 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #dff4e6;
  color: #2d5a45;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
}

.health-status-badge {
  max-width: calc(190 * var(--rpx));
  text-align: center;
  white-space: nowrap;
}

.health-log-row > .health-status-recovered {
  background: #dff4e6;
  color: #2d7a4f;
}

.health-log-row > .health-status-vet {
  background: #ffe0dc;
  color: #b82828;
}

.health-log-row > .health-status-observe {
  background: #fff0d2;
  color: #9a6a21;
}

.chat-panel {
  position: relative;
  height: 100%;
  min-height: 0;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  --keyboard-offset: 0px;
}

.chat-scroll {
  flex: 1;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 0 0 calc(env(safe-area-inset-bottom) + calc(170 * var(--rpx)) + var(--keyboard-offset));
  overflow: hidden;
}

.chat-bottom-anchor {
  height: calc(10 * var(--rpx));
}

.chat-row {
  margin-top: calc(14 * var(--rpx));
  display: flex;
  align-items: flex-end;
  gap: calc(14 * var(--rpx));
}

.chat-row.user {
  justify-content: flex-end;
}

.chat-avatar {
  flex: 0 0 auto;
  width: calc(58 * var(--rpx));
  height: calc(58 * var(--rpx));
  border: calc(4 * var(--rpx)) solid #ffffff;
  border-radius: 50%;
  background: #fff0db;
  box-shadow: 0 calc(6 * var(--rpx)) calc(16 * var(--rpx)) rgba(61, 47, 31, 0.12);
}

.chat-bubble {
  max-width: calc(500 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  line-height: 1.5;
}

.chat-content {
  display: block;
  white-space: pre-wrap;
  line-height: 1.62;
  font-weight: 520;
}

.chat-row.ai .chat-bubble {
  background: #ffffff;
}

.chat-row.user .chat-bubble {
  background: #ffae3d;
  font-weight: 700;
}

.chat-image {
  width: calc(260 * var(--rpx));
  height: calc(220 * var(--rpx));
  border-radius: calc(22 * var(--rpx));
  display: block;
  background: rgba(255, 255, 255, 0.42);
}

.chat-image + text {
  margin-top: calc(10 * var(--rpx));
  display: block;
}

.chat-note {
  display: block;
  margin-top: calc(14 * var(--rpx));
  padding-top: calc(12 * var(--rpx));
  border-top: calc(1 * var(--rpx)) solid rgba(143, 133, 122, 0.16);
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.48;
  font-weight: 500;
}

.chat-feedback-row {
  margin-top: calc(14 * var(--rpx));
  display: flex;
  gap: calc(10 * var(--rpx));
  flex-wrap: wrap;
}

.chat-feedback-row text {
  padding: calc(7 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #f7efe6;
  color: #75675b;
  font-size: calc(19 * var(--rpx));
  line-height: 1.2;
  font-weight: 700;
}

.chat-feedback-state {
  display: block;
  margin-top: calc(10 * var(--rpx));
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.4;
}

.chat-emergency-row {
  margin-top: calc(14 * var(--rpx));
}

.chat-emergency-row button {
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: calc(9 * var(--rpx)) calc(18 * var(--rpx));
  border: 0;
  border-radius: calc(20 * var(--rpx));
  background: #fff2ee;
  color: #b34b36;
  font-size: calc(20 * var(--rpx));
  line-height: 1.2;
  font-weight: 800;
}

.profile-tab-panel {
  position: relative;
  height: 100%;
  margin: calc(-20 * var(--rpx)) calc(-4 * var(--rpx)) calc(-1 * (env(safe-area-inset-bottom) + calc(178 * var(--rpx))));
  overflow-y: auto;
  background: #fff8ef;
}

.profile-hero {
  position: relative;
  z-index: 2;
  min-height: calc(390 * var(--rpx));
  padding: calc(104 * var(--rpx)) calc(34 * var(--rpx)) calc(44 * var(--rpx));
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
}

.profile-cover-button {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  width: 100%;
  height: calc(390 * var(--rpx));
  min-height: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  background: #f2c3a8;
}

button.profile-cover-button {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: calc(390 * var(--rpx)) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.profile-cover-button::after,
.avatar-ring::after,
.auth-actions button::after,
.inline-auth-actions button::after {
  border: 0;
}

.profile-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.profile-cover-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(21, 18, 15, 0.12) 0%, rgba(21, 18, 15, 0.48) 48%, rgba(21, 18, 15, 0.82) 100%);
}

.profile-cover-button > text {
  position: absolute;
  right: calc(34 * var(--rpx));
  bottom: calc(22 * var(--rpx));
  padding: calc(8 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: rgba(21, 18, 15, 0.62);
  color: #ffffff;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
}

.user-row {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 calc(8 * var(--rpx));
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
  color: #ffffff;
}

.avatar-ring {
  position: relative;
  flex: 0 0 auto;
  width: calc(60 * var(--rpx));
  height: calc(60 * var(--rpx));
  padding: 0;
  border: calc(4 * var(--rpx)) solid #fffaf2;
  border-radius: 50%;
  background: #fff0db;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 calc(8 * var(--rpx)) calc(18 * var(--rpx)) rgba(57, 43, 29, 0.14);
}

button.avatar-ring {
  display: block !important;
  flex: 0 0 calc(60 * var(--rpx)) !important;
  width: calc(60 * var(--rpx)) !important;
  min-width: calc(60 * var(--rpx)) !important;
  max-width: calc(60 * var(--rpx)) !important;
  height: calc(60 * var(--rpx)) !important;
  min-height: calc(60 * var(--rpx)) !important;
  max-height: calc(60 * var(--rpx)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
}

.avatar-ring img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.avatar-ring text {
  display: none;
}

.user-copy {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.user-name,
.user-bio-line {
  display: block;
}

.user-name {
  color: #ffffff;
  font-size: calc(32 * var(--rpx));
  line-height: 1.1;
  font-weight: 900;
}

.user-bio-line {
  margin-top: calc(8 * var(--rpx));
  color: rgba(255, 255, 255, 0.84);
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.auth-actions {
  margin-top: calc(14 * var(--rpx));
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
  max-width: 100%;
}

.auth-actions button,
.inline-auth-actions button {
  height: calc(46 * var(--rpx));
  border-radius: calc(23 * var(--rpx));
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-actions button {
  flex: 0 0 auto;
  min-width: calc(92 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  background: rgba(255, 255, 255, 0.94);
  color: #15120f;
}

.auth-actions button:last-child {
  background: #ffae3d;
  color: #15120f;
}

.inline-auth-form {
  margin-top: calc(14 * var(--rpx));
  display: grid;
  gap: calc(12 * var(--rpx));
}

.inline-auth-form input {
  height: calc(54 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: rgba(255, 255, 255, 0.94);
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  box-sizing: border-box;
}

.inline-auth-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(10 * var(--rpx));
  max-width: 100%;
}

.inline-auth-actions button {
  min-width: 0;
  width: 100%;
  padding: 0 calc(8 * var(--rpx));
  background: rgba(255, 255, 255, 0.94);
  color: #15120f;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.inline-auth-actions button:last-child {
  background: #15120f;
  color: #ffffff;
}

.auth-card {
  margin-top: calc(18 * var(--rpx));
  padding: calc(22 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(10 * var(--rpx)) calc(28 * var(--rpx)) rgba(58, 44, 31, 0.07);
  display: grid;
  gap: calc(14 * var(--rpx));
}

.auth-card text {
  display: block;
}

.auth-card text:first-child {
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
}

.auth-card text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.auth-card input {
  height: calc(62 * var(--rpx));
  padding: 0 calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #fff8ef;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  box-sizing: border-box;
}

.auth-card button {
  width: 100%;
  background: #15120f;
  color: #ffffff;
}

.profile-content {
  position: relative;
  z-index: 2;
  padding: calc(36 * var(--rpx)) calc(38 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(178 * var(--rpx)));
  box-sizing: border-box;
}

.plan-card,
.menu-card {
  border-radius: calc(32 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(10 * var(--rpx)) calc(28 * var(--rpx)) rgba(58, 44, 31, 0.07);
}

.plan-card {
  position: relative;
  min-height: calc(212 * var(--rpx));
  padding: calc(32 * var(--rpx)) calc(38 * var(--rpx));
}

.plan-card text {
  display: block;
}

.plan-card text:first-child {
  color: #11264a;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.plan-card text:nth-child(2) {
  margin-top: calc(8 * var(--rpx));
  color: #11264a;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
}

.free-badge {
  position: absolute;
  top: calc(56 * var(--rpx));
  right: calc(222 * var(--rpx));
  padding: calc(7 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #ffe9de;
  color: #ed8a68 !important;
  font-size: calc(18 * var(--rpx)) !important;
  font-weight: 900;
}

.plan-card button {
  position: absolute;
  right: calc(38 * var(--rpx));
  top: calc(74 * var(--rpx));
  width: calc(154 * var(--rpx));
  height: calc(64 * var(--rpx));
  border-radius: calc(32 * var(--rpx));
  background: #ed875f;
  color: #ffffff;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.usage {
  position: absolute;
  left: calc(38 * var(--rpx));
  right: calc(230 * var(--rpx));
  bottom: calc(34 * var(--rpx));
}

.usage text {
  color: #4d6d99 !important;
  font-size: calc(21 * var(--rpx)) !important;
  font-weight: 800;
}

.progress {
  height: calc(10 * var(--rpx));
  margin-top: calc(12 * var(--rpx));
  border-radius: calc(8 * var(--rpx));
  background: #edf1f6;
  overflow: hidden;
}

.progress view {
  height: 100%;
  background: #ed875f;
}

.menu-card {
  margin-top: calc(38 * var(--rpx));
  overflow: hidden;
}

.menu-row {
  min-height: calc(94 * var(--rpx));
  padding: 0 calc(36 * var(--rpx));
  display: grid;
  grid-template-columns: calc(42 * var(--rpx)) 1fr calc(28 * var(--rpx));
  align-items: center;
  gap: calc(20 * var(--rpx));
  border-bottom: calc(2 * var(--rpx)) solid #f1eee9;
}

.menu-row:last-child {
  border-bottom: 0;
}

.menu-row img {
  width: calc(34 * var(--rpx));
  height: calc(34 * var(--rpx));
}

.menu-row text {
  display: block;
}

.menu-row view text:first-child {
  color: #071834;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.menu-row view text:last-child {
  margin-top: calc(4 * var(--rpx));
  color: #9ba8b8;
  font-size: calc(19 * var(--rpx));
}

.menu-row > text {
  color: #c3cfdd;
  font-size: calc(36 * var(--rpx));
}

.memory-review-summary {
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff4e5;
}

.memory-review-summary text {
  display: block;
}

.memory-review-summary text:first-child {
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.memory-review-summary text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f7e70;
  font-size: calc(20 * var(--rpx));
  line-height: 1.35;
}

/* 记忆面板：脱离 .panel-body 的双列 grid，单列 flex 铺满整页宽 */
.panel-body.memory-panel {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--rpx));
}

.memory-list {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--rpx));
}

/* 记忆卡：整条可点击进详情，左侧色条标状态，正文突出，元信息次级 */
.memory-card {
  position: relative;
  padding: calc(24 * var(--rpx)) calc(26 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  border-left: calc(8 * var(--rpx)) solid #d9e6df;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.05);
  box-sizing: border-box;
}

.memory-card.is-pending { border-left-color: #f0b429; }
.memory-card.is-confirmed { border-left-color: #43a47a; }
.memory-card.is-rejected { border-left-color: #cdc2b4; opacity: 0.72; }

.memory-card-head {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
}

.memory-status-badge {
  padding: calc(4 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  font-size: calc(19 * var(--rpx));
  font-weight: 800;
  background: #fff5e0;
  color: #a9781e;
}

.memory-card.is-confirmed .memory-status-badge { background: #e6f4ec; color: #2f8a5f; }
.memory-card.is-rejected .memory-status-badge { background: #f0ece6; color: #8a7c6e; }

.memory-type-tag {
  margin-left: auto;
  font-size: calc(20 * var(--rpx));
  font-weight: 700;
  color: #9a8d80;
}

.memory-card-summary {
  margin-top: calc(14 * var(--rpx));
  color: #241d16;
  font-size: calc(27 * var(--rpx));
  line-height: 1.5;
  font-weight: 600;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.memory-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(14 * var(--rpx));
}

.memory-card-meta {
  font-size: calc(20 * var(--rpx));
  color: #a09083;
}

.memory-card-arrow {
  font-size: calc(34 * var(--rpx));
  line-height: 1;
  color: #c4b8aa;
}

.memory-usage-note {
  margin-bottom: calc(16 * var(--rpx));
  padding: calc(22 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #f4f9f6;
  border: calc(1 * var(--rpx)) solid #e2efe8;
}

.memory-usage-title {
  display: block;
  color: #2f6b57;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.memory-usage-text {
  display: block;
  margin-top: calc(10 * var(--rpx));
  color: #5a6b63;
  font-size: calc(21 * var(--rpx));
  line-height: 1.5;
}

.memory-usage-line {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #6d7c74;
  font-size: calc(20 * var(--rpx));
  line-height: 1.45;
}

/* 记忆详情底部弹层：点任意记忆卡进入，编辑/确认/忽略/删除都在这里完成 */
.memory-detail-mask {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 200;
  background: rgba(20, 15, 10, 0.42);
  display: flex;
  align-items: flex-end;
}

.memory-detail-sheet {
  width: 100%;
  max-height: calc(82 * var(--vhu));
  overflow-y: auto;
  padding: calc(24 * var(--rpx)) calc(32 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(36 * var(--rpx)));
  background: #fbf7f1;
  border-radius: calc(32 * var(--rpx)) calc(32 * var(--rpx)) 0 0;
  box-sizing: border-box;
}

.memory-detail-grip {
  width: calc(72 * var(--rpx));
  height: calc(8 * var(--rpx));
  margin: calc(4 * var(--rpx)) auto calc(22 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #e0d6c9;
}

.memory-detail-head {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  margin-bottom: calc(24 * var(--rpx));
}

.memory-detail-label {
  display: block;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
  color: #9a8d80;
}

.memory-detail-summary {
  display: block;
  margin-top: calc(12 * var(--rpx));
  color: #1f1812;
  font-size: calc(30 * var(--rpx));
  line-height: 1.6;
  font-weight: 600;
}

.memory-detail-metas {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--rpx));
  margin-top: calc(22 * var(--rpx));
}

.memory-detail-metas text {
  font-size: calc(21 * var(--rpx));
  color: #8f7e70;
}

.memory-detail-reason {
  display: block;
  margin-top: calc(14 * var(--rpx));
  font-size: calc(21 * var(--rpx));
  line-height: 1.5;
  color: #8f7e70;
}

.memory-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: calc(14 * var(--rpx));
  margin-top: calc(30 * var(--rpx));
}

.memory-detail-actions button {
  flex: 1;
  min-width: calc(200 * var(--rpx));
  height: calc(84 * var(--rpx));
  line-height: calc(84 * var(--rpx));
  margin: 0 !important;
  border: 0;
  border-radius: calc(24 * var(--rpx));
  font-size: calc(25 * var(--rpx));
  font-weight: 800;
}

.memory-detail-actions button::after { border: 0; }

.memory-detail-actions .mb-edit { background: #fff0db; color: #9a6a16; }
.memory-detail-actions .mb-confirm { background: #e6f4ec; color: #2f8a5f; }
.memory-detail-actions .mb-reject { background: #f0ece6; color: #7c6f64; }
.memory-detail-actions .mb-delete { background: #fff2ee; color: #b34b36; }

.memory-detail-close {
  width: 100%;
  height: calc(84 * var(--rpx));
  line-height: calc(84 * var(--rpx));
  margin-top: calc(14 * var(--rpx)) !important;
  border-radius: calc(24 * var(--rpx));
  background: #f0ece6;
  color: #7c6f64;
  font-size: calc(25 * var(--rpx));
  font-weight: 800;
}

.memory-detail-close::after { border: 0; }

/* 详情弹层内编辑态：复用 .memory-editor 卡片，输入框在浅色 sheet 上给底色便于辨识 */
.memory-detail-sheet .memory-editor {
  margin-top: 0;
}

.memory-detail-sheet .panel-edit-row {
  margin-bottom: calc(16 * var(--rpx));
  min-height: calc(124 * var(--rpx));
}

.memory-detail-sheet input,
.memory-detail-sheet textarea {
  margin-top: calc(10 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #f4eee5;
  box-sizing: border-box;
}

.memory-detail-sheet input {
  min-height: calc(64 * var(--rpx));
  line-height: 1.4;
}

.memory-editor {
  margin-top: calc(18 * var(--rpx));
  padding: calc(22 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(10 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.memory-editor-title {
  display: block;
  margin-bottom: calc(16 * var(--rpx));
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.memory-editor-actions {
  display: flex;
  gap: calc(14 * var(--rpx));
  margin-top: calc(18 * var(--rpx));
}

.memory-editor-actions button {
  flex: 1;
  min-width: 0 !important;
  height: calc(64 * var(--rpx));
  margin: 0 !important;
  border-radius: calc(24 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.memory-editor-actions button:last-child {
  background: #fff0db;
  color: #6f5f50;
}

.memory-editor-actions button::after {
  border: 0;
}

.quick-row {
  position: fixed;
  left: calc(28 * var(--rpx));
  right: calc(28 * var(--rpx));
  bottom: calc(env(safe-area-inset-bottom) + calc(260 * var(--rpx)) + var(--keyboard-offset));
  z-index: 55;
  display: flex;
  gap: calc(10 * var(--rpx));
  overflow-x: auto;
  padding: calc(4 * var(--rpx)) 0;
}

.quick-row text {
  flex: 0 0 auto;
  padding: calc(13 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(22 * var(--rpx));
  background: #fff0db;
  color: #564c42;
  font-size: calc(22 * var(--rpx));
  font-weight: 700;
  white-space: nowrap;
  word-break: keep-all;
}

.input-bar {
  position: fixed;
  left: calc(28 * var(--rpx));
  right: calc(28 * var(--rpx));
  bottom: calc(env(safe-area-inset-bottom) + calc(154 * var(--rpx)) + var(--keyboard-offset));
  z-index: 55;
  height: calc(74 * var(--rpx));
  padding: calc(10 * var(--rpx)) calc(10 * var(--rpx)) calc(10 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(37 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(30 * var(--rpx)) rgba(61, 47, 31, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(10 * var(--rpx));
}

.input-bar input {
  flex: 1;
  min-width: 0;
  height: calc(54 * var(--rpx));
  color: #15120f;
  font-size: calc(23 * var(--rpx));
}

.input-bar text {
  color: #a39a91;
  font-size: calc(23 * var(--rpx));
}

.input-bar button {
  width: calc(104 * var(--rpx));
  height: calc(54 * var(--rpx));
  border-radius: calc(27 * var(--rpx));
  background: #15120f;
  color: #ffffff;
  font-size: calc(23 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.input-bar .chat-image-button {
  width: calc(82 * var(--rpx));
  background: #fff0db;
  color: #e0620d;
  font-size: calc(22 * var(--rpx));
}

/* 待发图片预览（选图后悬于输入栏上方，可输入问题后图文一起发） */
.chat-pending-image {
  position: fixed;
  left: calc(28 * var(--rpx));
  right: calc(28 * var(--rpx));
  z-index: 56;
  height: calc(64 * var(--rpx));
  padding: calc(8 * var(--rpx)) calc(16 * var(--rpx)) calc(8 * var(--rpx)) calc(8 * var(--rpx));
  border-radius: calc(32 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(30 * var(--rpx)) rgba(61, 47, 31, 0.12);
  display: flex;
  align-items: center;
  gap: calc(14 * var(--rpx));
}

.chat-pending-image .chat-pending-thumb {
  width: calc(48 * var(--rpx));
  height: calc(48 * var(--rpx));
  border-radius: calc(12 * var(--rpx));
  flex: none;
  background: #f1ece5;
}

.chat-pending-image .chat-pending-hint {
  flex: 1;
  min-width: 0;
  color: #7a5f45;
  font-size: calc(21 * var(--rpx));
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.chat-pending-image .chat-pending-remove {
  flex: none;
  width: calc(40 * var(--rpx));
  height: calc(40 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #f1ece5;
  color: #7a5f45;
  font-size: calc(28 * var(--rpx));
  line-height: calc(40 * var(--rpx));
  text-align: center;
}

.skip-profile-button {
  margin: calc(16 * var(--rpx)) auto 0;
  width: calc(320 * var(--rpx));
  height: calc(58 * var(--rpx));
  border-radius: calc(29 * var(--rpx));
  background: rgba(255, 255, 255, 0.72);
  color: #7a5f45;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  width: calc(100 * var(--vwu));
  height: calc(env(safe-area-inset-bottom) + calc(132 * var(--rpx)));
  padding: calc(18 * var(--rpx)) 0 calc(env(safe-area-inset-bottom) + calc(8 * var(--rpx)));
  border-top: calc(1 * var(--rpx)) solid rgba(78, 61, 45, 0.08);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 calc(-8 * var(--rpx)) calc(24 * var(--rpx)) rgba(59, 44, 29, 0.06);
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  box-sizing: border-box;
  overflow: visible;
}

.tab {
  flex: 0 0 25%;
  width: 25%;
  min-width: 0;
  height: calc(96 * var(--rpx));
  border-radius: 0;
  color: #e0620d;
  font-size: calc(20 * var(--rpx));
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(7 * var(--rpx));
  overflow: visible;
}

.tab img {
  display: block;
  width: calc(38 * var(--rpx));
  height: calc(38 * var(--rpx));
  opacity: 0.58;
}

.tab text {
  display: block;
  width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
}

.tab-active {
  background: transparent;
  color: #e0620d;
}

.tab-active img {
  opacity: 1;
}

.panel-sheet {
  position: fixed;
  left: calc(24 * var(--rpx));
  right: calc(24 * var(--rpx));
  bottom: calc(env(safe-area-inset-bottom) + calc(148 * var(--rpx)));
  z-index: 70;
  max-height: calc(70 * var(--vhu));
  padding: calc(28 * var(--rpx));
  border-radius: calc(34 * var(--rpx));
  background: #fffaf2;
  box-shadow: 0 calc(-18 * var(--rpx)) calc(40 * var(--rpx)) rgba(42, 31, 20, 0.18);
  box-sizing: border-box;
  overflow-y: auto;
}

.panel-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(18 * var(--rpx));
  min-height: calc(52 * var(--rpx));
  padding-right: calc(112 * var(--rpx));
  margin-bottom: calc(22 * var(--rpx));
  box-sizing: border-box;
}

.panel-head text {
  display: block;
}

.panel-head text:first-child {
  color: #15120f;
  font-size: calc(32 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.panel-head text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.35;
}

.panel-head button {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(52 * var(--rpx));
  height: calc(52 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.panel-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(16 * var(--rpx));
}

.wechat-profile-actions {
  grid-column: 1 / -1;
  padding: calc(20 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff4e5;
  display: grid;
  gap: calc(14 * var(--rpx));
}

.wechat-profile-actions > text {
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.wechat-profile-actions input {
  height: calc(62 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #ffffff;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  box-sizing: border-box;
}

.wechat-profile-actions view {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(12 * var(--rpx));
}

.wechat-profile-actions button {
  width: 100% !important;
  height: calc(56 * var(--rpx));
  min-width: 0;
  margin: 0 !important;
  border-radius: calc(28 * var(--rpx));
  background: #ffffff;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wechat-profile-actions button:last-child {
  background: #15120f;
  color: #ffffff;
}

.account-actions-row {
  grid-column: 1 / -1;
  margin-top: calc(8 * var(--rpx));
  display: flex;
  gap: calc(16 * var(--rpx));
  justify-content: center;
  flex-wrap: wrap;
}

.account-actions-row button {
  flex: 1;
  min-width: calc(180 * var(--rpx));
  height: calc(64 * var(--rpx));
  padding: 0 calc(24 * var(--rpx));
  border-radius: calc(32 * var(--rpx));
  font-size: calc(23 * var(--rpx));
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

button.account-action-save {
  background: #15120f;
  color: #ffffff;
}

button.account-action-logout {
  background: #fff0ee;
  color: #b82828;
}

.account-reset-row {
  grid-column: 1 / -1;
  margin-top: calc(8 * var(--rpx));
  display: flex;
  justify-content: center;
}

button.account-reset-button {
  width: calc(320 * var(--rpx)) !important;
  min-width: 0;
  height: calc(64 * var(--rpx));
  margin: 0 auto !important;
  padding: 0 calc(28 * var(--rpx)) !important;
  border-radius: calc(32 * var(--rpx));
  background: #fff0ee;
  color: #b82828;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  line-height: 1 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
  box-sizing: border-box;
}

.panel-edit-row {
  min-width: 0;
  min-height: calc(92 * var(--rpx));
  padding: calc(18 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
  box-sizing: border-box;
}

.panel-edit-row.full,
.panel-media-row.full,
.panel-list,
.panel-action,
.panel-note {
  grid-column: 1 / -1;
}

.panel-edit-row > text:first-child {
  display: block;
  margin-bottom: calc(10 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
}

.panel-edit-row > text:last-child {
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.panel-edit-row input,
.panel-edit-row textarea {
  width: 100%;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  line-height: 1.4;
  box-sizing: border-box;
}

.panel-edit-row textarea {
  min-height: calc(130 * var(--rpx));
}

.panel-list {
  display: grid;
  gap: calc(12 * var(--rpx));
}

.panel-media-row {
  display: grid;
  grid-template-columns: calc(180 * var(--rpx)) minmax(0, 1fr);
  gap: calc(14 * var(--rpx));
  align-items: stretch;
}

.panel-media-row button {
  width: 100% !important;
  min-width: 0;
  height: calc(164 * var(--rpx));
  margin: 0 !important;
  padding: 0 !important;
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

.panel-media-row .panel-avatar-card {
  height: calc(164 * var(--rpx));
}

.panel-media-row .panel-cover-card {
  height: calc(164 * var(--rpx));
}

.panel-media-row img {
  width: 100%;
  height: 100%;
}

.panel-media-row text {
  position: absolute;
  left: calc(12 * var(--rpx));
  right: calc(12 * var(--rpx));
  bottom: calc(12 * var(--rpx));
  height: calc(40 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: rgba(21, 18, 15, 0.62);
  color: #ffffff;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.quality-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quality-status,
.quality-section {
  grid-column: 1 / -1;
  padding: calc(22 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
  box-sizing: border-box;
}

.quality-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(18 * var(--rpx));
}

.quality-status view {
  flex: 1;
  min-width: 0;
}

.quality-status text,
.quality-card text,
.quality-section > text,
.quality-row text,
.quality-alert,
.quality-empty {
  display: block;
}

.quality-status text:first-child {
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.quality-status text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  line-height: 1.4;
}

.quality-status button {
  flex: 0 0 auto;
  width: calc(112 * var(--rpx)) !important;
  min-width: 0;
  height: calc(56 * var(--rpx));
  margin: 0 !important;
  border-radius: calc(28 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.quality-card {
  min-height: calc(132 * var(--rpx));
  padding: calc(22 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
  box-sizing: border-box;
}

.quality-card-clickable {
  position: relative;
}

.quality-card-clickable::after {
  content: "说明";
  position: absolute;
  right: calc(18 * var(--rpx));
  top: calc(18 * var(--rpx));
  color: #c07a35;
  font-size: calc(19 * var(--rpx));
  font-weight: 900;
}

.quality-filter-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(12 * var(--rpx));
}

.quality-filter-row button {
  width: 100% !important;
  min-width: 0;
  height: calc(58 * var(--rpx));
  margin: 0 !important;
  padding: 0 calc(12 * var(--rpx)) !important;
  border-radius: calc(18 * var(--rpx));
  background: #ffffff;
  color: #6f5f50;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  line-height: 1 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
  box-sizing: border-box;
}

.quality-filter-row button.is-active {
  background: #15120f;
  color: #ffffff;
}

.quality-permission {
  grid-column: 1 / -1;
  color: #8f857a;
  font-size: calc(20 * var(--rpx));
  line-height: 1.45;
}

.quality-guide {
  grid-column: 1 / -1;
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-left: calc(6 * var(--rpx)) solid #6ba59e;
  border-radius: calc(18 * var(--rpx));
  background: #f2faf8;
  box-sizing: border-box;
}

.quality-guide text {
  display: block;
  color: #4f665f;
  font-size: calc(20 * var(--rpx));
  line-height: 1.45;
  font-weight: 700;
}

.quality-guide text + text {
  margin-top: calc(8 * var(--rpx));
}

.quality-card text:first-child {
  color: #8f857a;
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
}

.quality-card text:nth-child(2) {
  margin-top: calc(10 * var(--rpx));
  color: #11264a;
  font-size: calc(34 * var(--rpx));
  line-height: 1;
  font-weight: 900;
}

.quality-card text:last-child {
  margin-top: calc(10 * var(--rpx));
  color: #8aa1bf;
  font-size: calc(19 * var(--rpx));
  line-height: 1.35;
}

.quality-section > text:first-child {
  margin-bottom: calc(14 * var(--rpx));
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.quality-trend-section {
  gap: calc(12 * var(--rpx));
}

.quality-trend-row {
  min-height: calc(82 * var(--rpx));
  padding: calc(14 * var(--rpx)) 0;
  border-top: calc(2 * var(--rpx)) solid #f1eee9;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(150 * var(--rpx)) calc(72 * var(--rpx));
  gap: calc(14 * var(--rpx));
  align-items: center;
}

.quality-trend-row view:first-child {
  min-width: 0;
}

.quality-trend-row text {
  display: block;
}

.quality-trend-row view:first-child text:first-child {
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
}

.quality-trend-row view:first-child text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.3;
}

.quality-trend-track {
  height: calc(16 * var(--rpx));
  border-radius: calc(8 * var(--rpx));
  background: #f1eee9;
  overflow: hidden;
}

.quality-trend-track view {
  height: 100%;
  border-radius: calc(8 * var(--rpx));
  background: #6ba59e;
}

.quality-trend-row > text:last-child {
  color: #11264a;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.quality-row {
  min-height: calc(74 * var(--rpx));
  padding: calc(14 * var(--rpx)) 0;
  border-top: calc(2 * var(--rpx)) solid #f1eee9;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(calc(92 * var(--rpx)), auto);
  column-gap: calc(18 * var(--rpx));
  align-items: center;
}

.quality-row-clickable {
  grid-template-columns: minmax(0, 1fr) minmax(calc(116 * var(--rpx)), auto) calc(68 * var(--rpx));
}

.quality-row text:first-child {
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-row text:nth-child(2) {
  color: #6ba59e;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  text-align: right;
  white-space: normal;
  word-break: break-word;
}

.quality-row text:last-child {
  grid-column: 1 / -1;
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(20 * var(--rpx));
  line-height: 1.35;
}

.quality-row.quality-row-clickable > text:last-child {
  grid-column: 1 / -1;
  margin-top: 0;
}

.quality-row .quality-row-action {
  color: #ffae3d;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.quality-alert {
  margin-top: calc(10 * var(--rpx));
  padding: calc(12 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #fff0db;
  color: #b66538;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
}

.quality-empty {
  color: #9ba8b8;
  font-size: calc(21 * var(--rpx));
  line-height: 1.5;
}

.quality-sample-row {
  min-height: calc(96 * var(--rpx));
  padding: calc(16 * var(--rpx)) 0;
  border-top: calc(2 * var(--rpx)) solid #f1eee9;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(76 * var(--rpx));
  gap: calc(14 * var(--rpx));
  align-items: center;
}

.quality-sample-row view {
  min-width: 0;
}

.quality-sample-row text {
  display: block;
}

.quality-sample-row view text:first-child {
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-sample-row view text:nth-child(2),
.quality-sample-row view text:nth-child(3) {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-sample-row > text:last-child {
  color: #c07a35;
  font-size: calc(21 * var(--rpx));
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.quality-sample-detail {
  display: block;
  margin-top: calc(-2 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #f7f2ea;
  color: #5f554b;
  font-size: calc(19 * var(--rpx));
  line-height: 1.45;
  word-break: break-all;
  white-space: pre-wrap;
}

.quality-card-detail {
  grid-column: 1 / -1;
  margin-top: calc(-10 * var(--rpx));
}

.panel-list-row {
  min-height: calc(92 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
  box-sizing: border-box;
}

.panel-list-row view {
  flex: 1;
  min-width: 0;
}

.panel-list-row text {
  display: block;
}

.panel-list-row text:first-child {
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
  line-height: 1.25;
}

.panel-list-row text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.panel-list-row button {
  flex: 0 0 auto;
  width: calc(96 * var(--rpx));
  height: calc(52 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #fff0db;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feedback-history {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: calc(28 * var(--rpx));
  box-sizing: border-box;
}

.feedback-history-title {
  display: block;
  margin-bottom: calc(14 * var(--rpx));
  color: #b6ada3;
  font-size: calc(21 * var(--rpx));
  font-weight: 600;
}

.feedback-history-item {
  width: 100%;
  min-width: 0;
  padding: calc(16 * var(--rpx)) calc(20 * var(--rpx));
  margin-bottom: calc(12 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #faf8f4;
  border-left: calc(4 * var(--rpx)) solid #e8ddd0;
  box-sizing: border-box;
}

.feedback-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
  min-width: 0;
}

.feedback-history-head view {
  flex: 1;
  min-width: 0;
}

.feedback-history-item-title {
  display: block;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  line-height: 1.3;
  font-weight: 900;
}

.feedback-history-text {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #6b6058;
  font-size: calc(23 * var(--rpx));
  line-height: 1.45;
  word-break: break-word;
}

.feedback-history-toggle {
  flex: 0 0 auto;
  min-width: calc(58 * var(--rpx));
  color: #c07a35;
  font-size: calc(21 * var(--rpx));
  line-height: 1.3;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.feedback-history-full {
  display: block;
  width: 100%;
  margin-top: calc(14 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #ffffff;
  color: #4f463f;
  font-size: calc(21 * var(--rpx));
  line-height: 1.5;
  word-break: break-word;
  white-space: pre-wrap;
  box-sizing: border-box;
}

.feedback-history-date {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #b6ada3;
  font-size: calc(19 * var(--rpx));
}

.panel-action {
  width: 100%;
  height: calc(74 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.panel-note {
  display: block;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.55;
}

.chat-history-mask {
  position: fixed;
  inset: 0;
  z-index: 92;
  padding: 0 calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(24 * var(--rpx)));
  background: rgba(21, 18, 15, 0.34);
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
}

.chat-history-sheet {
  width: 100%;
  max-height: calc(76 * var(--vhu));
  padding: calc(30 * var(--rpx)) calc(28 * var(--rpx)) calc(32 * var(--rpx));
  border-radius: calc(34 * var(--rpx)) calc(34 * var(--rpx)) calc(24 * var(--rpx)) calc(24 * var(--rpx));
  background: #fffaf2;
  box-shadow: 0 calc(-16 * var(--rpx)) calc(36 * var(--rpx)) rgba(43, 31, 20, 0.16);
  box-sizing: border-box;
}

.chat-history-head {
  position: relative;
  padding-right: calc(112 * var(--rpx));
  margin-bottom: calc(22 * var(--rpx));
}

.chat-history-head text {
  display: block;
}

.chat-history-head text:first-child {
  color: #15120f;
  font-size: calc(32 * var(--rpx));
  font-weight: 900;
}

.chat-history-head text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
}

.chat-history-head button {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(52 * var(--rpx));
  height: calc(52 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-history-empty {
  min-height: calc(180 * var(--rpx));
  padding: calc(28 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(10 * var(--rpx));
}

.chat-history-empty text:first-child {
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.chat-history-empty text:last-child {
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.45;
}

.chat-history-list {
  max-height: calc(56 * var(--vhu));
}

.chat-history-turn {
  margin-top: calc(14 * var(--rpx));
  padding: calc(16 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: rgba(255, 255, 255, 0.74);
  box-sizing: border-box;
}

.chat-history-turn-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
  margin-bottom: calc(10 * var(--rpx));
}

.chat-history-turn-head text {
  color: #8f857a;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
}

.chat-history-turn-head button {
  width: calc(88 * var(--rpx));
  height: calc(44 * var(--rpx));
  margin: 0;
  border-radius: calc(22 * var(--rpx));
  background: #fff0db;
  color: #c75a2a;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-history-turn-head button::after {
  border: 0;
}

.chat-history-item {
  margin-top: calc(10 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #ffffff;
}

.chat-history-turn .chat-history-item:first-of-type {
  margin-top: 0;
}

.chat-history-item.user {
  background: #fff0db;
}

.chat-history-item > text {
  display: block;
}

.chat-history-item > text:first-child {
  color: #e0620d;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
}

.chat-history-item > text:nth-child(2) {
  margin-top: calc(8 * var(--rpx));
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  line-height: 1.5;
}

.chat-history-note {
  margin-top: calc(12 * var(--rpx));
  padding-top: calc(10 * var(--rpx));
  border-top: calc(1 * var(--rpx)) solid rgba(143, 133, 122, 0.16);
  color: #8f857a !important;
  font-size: calc(20 * var(--rpx)) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

.record-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 90;
  padding: 0 calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(24 * var(--rpx)));
  background: rgba(21, 18, 15, 0.34);
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
}

.record-sheet {
  width: 100%;
  max-height: calc(78 * var(--vhu));
  padding: calc(30 * var(--rpx)) calc(28 * var(--rpx)) calc(32 * var(--rpx));
  border-radius: calc(34 * var(--rpx)) calc(34 * var(--rpx)) calc(24 * var(--rpx)) calc(24 * var(--rpx));
  background: #fffaf2;
  box-shadow: 0 calc(-16 * var(--rpx)) calc(36 * var(--rpx)) rgba(43, 31, 20, 0.16);
  overflow-y: auto;
  box-sizing: border-box;
}

.record-sheet-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(18 * var(--rpx));
  min-height: calc(52 * var(--rpx));
  padding-right: calc(112 * var(--rpx));
  margin-bottom: calc(24 * var(--rpx));
  box-sizing: border-box;
}

.record-sheet-head text {
  display: block;
}

.record-sheet-head text:first-child {
  color: #15120f;
  font-size: calc(32 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.record-sheet-head text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.35;
}

.record-sheet-head button {
  position: absolute;
  top: 0;
  right: 0;
  flex: 0 0 auto;
  width: calc(52 * var(--rpx));
  height: calc(52 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.care-context-badge {
  margin: calc(-6 * var(--rpx)) 0 calc(22 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: calc(16 * var(--rpx));
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
}

.care-context-badge img {
  width: calc(62 * var(--rpx));
  height: calc(62 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #fff0db;
  flex: 0 0 auto;
}

.care-context-badge text {
  display: block;
}

.care-context-badge text:first-child {
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.care-context-badge text:last-child {
  margin-top: calc(4 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.record-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(16 * var(--rpx));
}

.record-field {
  min-width: 0;
  min-height: calc(154 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-sizing: border-box;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.04);
}

.record-field-full {
  grid-column: 1 / -1;
}

.record-field > text {
  display: block;
  margin-bottom: calc(10 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  font-weight: 800;
}

.record-field input,
.record-field textarea {
  width: 100%;
  min-height: calc(44 * var(--rpx));
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  line-height: 1.4;
  box-sizing: border-box;
}

.record-field picker + input,
.record-field input + input {
  margin-top: calc(10 * var(--rpx));
}

.record-field textarea {
  height: calc(132 * var(--rpx));
}

.record-helper {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #c07a35 !important;
  font-size: calc(20 * var(--rpx)) !important;
  line-height: 1.35;
}

.record-avatar-editor {
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
}

.record-avatar-editor img {
  flex: 0 0 auto;
  width: calc(126 * var(--rpx));
  height: calc(126 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #fff0db;
}

.record-avatar-editor view {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: calc(12 * var(--rpx));
}

.record-avatar-editor button {
  height: calc(56 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #fff0db;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.status-choice-row {
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
}

.status-choice-row button {
  min-width: calc(128 * var(--rpx));
  height: calc(54 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  border-radius: calc(27 * var(--rpx));
  background: #fff0db;
  color: #564c42;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.status-choice-row .status-choice-active {
  background: #15120f;
  color: #ffffff;
}

.record-action-row {
  margin-top: calc(30 * var(--rpx));
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
}

.record-save-button,
.record-delete-button {
  width: 100%;
  height: calc(82 * var(--rpx));
  border-radius: calc(41 * var(--rpx));
  font-size: calc(27 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

button.record-save-button,
button.record-delete-button {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 calc(24 * var(--rpx)) !important;
  line-height: 1 !important;
  box-sizing: border-box;
}

.record-action-row button.record-save-button {
  flex: 1 1 0;
}

.record-action-row-editing button.record-delete-button {
  flex: 0 0 calc(216 * var(--rpx));
  width: calc(216 * var(--rpx)) !important;
}

.record-action-row-editing button.record-save-button {
  width: auto !important;
}

.record-save-button {
  background: #ffae3d;
  color: #15120f;
}

.record-delete-button {
  background: #ffe0dc;
  color: #b82828;
}

.record-profile-action-row {
  position: sticky;
  bottom: calc(-32 * var(--rpx));
  z-index: 5;
  margin-top: calc(32 * var(--rpx));
  /* 抵消 .record-sheet calc(32 * var(--rpx)) 底内边距，让按钮条贴到弹层底缘常驻 */
  margin-bottom: calc(-32 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(20 * var(--rpx)));
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  /* 渐隐到弹层底色，遮住从按钮下方滚过的字段，避免穿透重叠 */
  background: linear-gradient(180deg, rgba(255, 250, 242, 0) 0%, #fffaf2 30%);
}

button.record-profile-save-button {
  width: calc(520 * var(--rpx)) !important;
  max-width: 100%;
  margin: 0 auto !important;
}

/* 会员方案面板（钱包 → 档位 → 充值 → 桩说明，按阅读顺序自上而下）
   覆盖 .panel-body 的双列 grid，改为单列纵向铺满，避免内容挤在左半边。 */
.plan-panel {
  display: flex;
  flex-direction: column;
  gap: calc(28 * var(--rpx));
}

/* 钱包条：当前余额 + 当前档位，一眼定位「我在哪」 */
.plan-wallet {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
  padding: calc(26 * var(--rpx)) calc(30 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: linear-gradient(135deg, #ffae7a, #ff8f5c);
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(255, 143, 92, 0.28);
}
.plan-wallet-main {
  display: flex;
  align-items: baseline;
  gap: calc(10 * var(--rpx));
}
.plan-wallet-amount {
  font-size: calc(56 * var(--rpx));
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
}
.plan-wallet-unit {
  font-size: calc(24 * var(--rpx));
  color: rgba(255, 255, 255, 0.92);
}
.plan-wallet-plan {
  margin-left: auto;
  padding: calc(6 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: rgba(255, 255, 255, 0.26);
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  color: #ffffff;
}
.plan-wallet-hint {
  font-size: calc(20 * var(--rpx));
  color: rgba(255, 255, 255, 0.88);
}

/* 分区 */
.plan-section {
  display: flex;
  flex-direction: column;
  gap: calc(18 * var(--rpx));
}
.plan-section-title {
  font-size: calc(26 * var(--rpx));
  font-weight: 800;
  color: #3d2f1f;
}

/* 档位卡：每张横向铺满，依次纵向排列（左信息 + 右价格/按钮） */
.plan-tier-list {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--rpx));
}
.plan-tier-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(20 * var(--rpx));
  width: 100%;
  padding: calc(24 * var(--rpx)) calc(26 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  border: calc(2 * var(--rpx)) solid transparent;
  box-shadow: 0 calc(8 * var(--rpx)) calc(20 * var(--rpx)) rgba(61, 47, 31, 0.05);
  box-sizing: border-box;
}
.plan-tier-current {
  border-color: #e7d8cb;
  background: #fbf6f1;
}
.plan-tier-recommended {
  border-color: #ff8f5c;
  box-shadow: 0 calc(14 * var(--rpx)) calc(30 * var(--rpx)) rgba(255, 143, 92, 0.2);
}
.plan-tier-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
}
.plan-tier-head {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
}
.plan-tier-label {
  font-size: calc(30 * var(--rpx));
  font-weight: 900;
  color: #3d2f1f;
}
.plan-tier-badge {
  padding: calc(4 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ff8f5c;
  color: #ffffff;
  font-size: calc(18 * var(--rpx));
  font-weight: 800;
  white-space: nowrap;
}
.plan-tier-badge-current {
  background: #b9a591;
}
.plan-tier-highlights {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}
.plan-tier-hl {
  position: relative;
  padding-left: calc(22 * var(--rpx));
  font-size: calc(21 * var(--rpx));
  color: #6f5a48;
  line-height: 1.5;
}
.plan-tier-hl::before {
  content: "";
  position: absolute;
  left: calc(4 * var(--rpx));
  top: calc(14 * var(--rpx));
  width: calc(8 * var(--rpx));
  height: calc(8 * var(--rpx));
  border-radius: 50%;
  background: #ffb892;
}
.plan-tier-action {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(4 * var(--rpx));
  width: calc(180 * var(--rpx));
}
.plan-tier-price {
  display: flex;
  align-items: baseline;
  gap: calc(2 * var(--rpx));
}
.plan-tier-price-main {
  font-size: calc(36 * var(--rpx));
  font-weight: 900;
  color: #f3753f;
  line-height: 1.2;
}
.plan-tier-price-unit {
  font-size: calc(18 * var(--rpx));
  color: #c0764a;
}
.plan-tier-price-original {
  margin-left: calc(6 * var(--rpx));
  font-size: calc(20 * var(--rpx));
  color: #b3a293;
  text-decoration: line-through;
}
.plan-tier-price-sub {
  font-size: calc(18 * var(--rpx));
  color: #a98e78;
  margin-bottom: calc(8 * var(--rpx));
}
button.plan-tier-buy {
  width: 100% !important;
  margin: 0 !important;
  border-radius: calc(999 * var(--rpx));
  background: #fbe7da;
  color: #d9743f !important;
  font-size: calc(22 * var(--rpx)) !important;
  font-weight: 800;
  line-height: calc(62 * var(--rpx));
  padding: 0 !important;
}
button.plan-tier-buy-primary {
  background: linear-gradient(135deg, #ff9c66, #f3753f);
  color: #ffffff !important;
}
button.plan-tier-buy::after {
  border: none;
}
.plan-tier-owned {
  width: 100%;
  text-align: center;
  font-size: calc(20 * var(--rpx));
  color: #a98e78;
  line-height: calc(62 * var(--rpx));
}

/* 爪币充值：四列横向卡片 */
.plan-pack-grid {
  display: flex;
  gap: calc(12 * var(--rpx));
}
.plan-pack-card {
  flex: 1 1 0;
  min-width: 0;
  box-sizing: border-box;
  padding: calc(22 * var(--rpx)) calc(10 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(6 * var(--rpx)) calc(16 * var(--rpx)) rgba(61, 47, 31, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plan-pack-amount {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: calc(4 * var(--rpx));
  white-space: nowrap;
}
.plan-pack-num {
  font-size: calc(30 * var(--rpx));
  font-weight: 900;
  color: #3d2f1f;
  line-height: 1.2;
}
.plan-pack-unit {
  font-size: calc(18 * var(--rpx));
  color: #9a7d6b;
}
.plan-pack-bonus-row {
  height: calc(34 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: calc(8 * var(--rpx)) 0 calc(10 * var(--rpx));
}
.plan-pack-bonus {
  padding: calc(2 * var(--rpx)) calc(12 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #fff0e6;
  color: #f3753f;
  font-size: calc(16 * var(--rpx));
  font-weight: 800;
  white-space: nowrap;
}
.plan-pack-price {
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
  color: #f3753f;
}

/* 支付桩说明：底部单行横排 */
.plan-stub-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #f7f1ea;
}
.plan-stub-dot {
  color: #c4a98f;
  font-weight: 900;
}
.plan-stub-text {
  font-size: calc(19 * var(--rpx));
  color: #a98e78;
  white-space: nowrap;
}

/* 聊天内 paywall 气泡 */
.chat-paywall {
  margin-top: calc(12 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #fff7f1;
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
}
.chat-paywall-title {
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
  color: #3d2f1f;
}
.chat-paywall-subtitle {
  font-size: calc(22 * var(--rpx));
  color: #6f5a48;
}
.chat-paywall-credit {
  font-size: calc(22 * var(--rpx));
  color: #c0764a;
}
.chat-paywall-tiers {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
}
.chat-paywall-tier-label {
  font-size: calc(22 * var(--rpx));
  color: #6f5a48;
}
.chat-paywall-ctas {
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
}
button.chat-paywall-cta {
  margin: 0 !important;
  padding: 0 calc(22 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #f1e3d7;
  color: #6f5a48 !important;
  font-size: calc(22 * var(--rpx)) !important;
  line-height: calc(64 * var(--rpx));
}
button.chat-paywall-cta::after {
  border: none;
}
button.chat-paywall-cta-primary {
  background: #f3995f;
  color: #ffffff !important;
  font-weight: 800;
}

/* B5 诊前卡 */
.previsit-card-canvas {
  position: fixed;
  left: calc(-9999 * var(--rpx));
  top: calc(-9999 * var(--rpx));
  width: calc(620 * var(--rpx));
  height: calc(900 * var(--rpx));
}
.chat-previsit-card {
  margin-top: calc(12 * var(--rpx));
  padding: calc(22 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #fffaf4;
  border: calc(2 * var(--rpx)) solid #f0d9c5;
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--rpx));
}
.chat-previsit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.chat-previsit-title {
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
  color: #3d2f1f;
}
.chat-previsit-badge {
  padding: calc(2 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
  color: #ffffff;
}
.chat-previsit-badge-appointment {
  background: #e0913c;
}
.chat-previsit-badge-urgent {
  background: #d9534f;
}
.chat-previsit-section {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
}
.chat-previsit-section-label {
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  color: #6f5a48;
}
.chat-previsit-rows {
  display: flex;
  flex-wrap: wrap;
  gap: calc(6 * var(--rpx)) calc(24 * var(--rpx));
}
.chat-previsit-row {
  display: flex;
  gap: calc(8 * var(--rpx));
}
.chat-previsit-row-k {
  font-size: calc(22 * var(--rpx));
  color: #9b8676;
}
.chat-previsit-row-v {
  font-size: calc(22 * var(--rpx));
  color: #3d2f1f;
}
.chat-previsit-items {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--rpx));
}
.chat-previsit-item {
  font-size: calc(22 * var(--rpx));
  color: #4d3d2c;
}
.chat-previsit-action {
  font-size: calc(22 * var(--rpx));
  color: #c0764a;
  font-weight: 700;
}
.chat-previsit-share-hint {
  font-size: calc(22 * var(--rpx));
  color: #3d2f1f;
  font-weight: 800;
}
.chat-previsit-disclaimer {
  font-size: calc(20 * var(--rpx));
  color: #9b8676;
  line-height: 1.5;
}
.chat-previsit-reminder {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
}
.chat-previsit-reminder-hint {
  font-size: calc(20 * var(--rpx));
  color: #9b8676;
  line-height: 1.5;
}
.chat-previsit-ai-label {
  font-size: calc(18 * var(--rpx));
  color: #b3a291;
}
.chat-previsit-ctas {
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
}
button.chat-previsit-cta {
  margin: 0 !important;
  padding: 0 calc(22 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #f1e3d7;
  color: #6f5a48 !important;
  font-size: calc(22 * var(--rpx)) !important;
  line-height: calc(64 * var(--rpx));
}
button.chat-previsit-cta::after {
  border: none;
}
button.chat-previsit-cta-primary {
  background: #f3995f;
  color: #ffffff !important;
  font-weight: 800;
}

/* B9 分诊导流位（结构 B 第一阶段：推荐位 + 点击埋点验证） */
.chat-previsit-routing {
  margin-top: calc(8 * var(--rpx));
  padding: calc(16 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #fbf1e8;
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--rpx));
}
.chat-previsit-routing-label {
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  color: #6f5a48;
}
.chat-previsit-routing-channels {
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
}
button.chat-previsit-routing-btn {
  margin: 0 !important;
  flex: 1;
  min-width: calc(240 * var(--rpx));
  padding: calc(12 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(14 * var(--rpx));
  background: #f1e3d7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(4 * var(--rpx));
  line-height: 1.3;
}
button.chat-previsit-routing-btn::after {
  border: none;
}
button.chat-previsit-routing-btn-primary {
  background: #f3995f;
}
.chat-previsit-routing-btn-label {
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
  color: #6f5a48;
}
button.chat-previsit-routing-btn-primary .chat-previsit-routing-btn-label {
  color: #ffffff;
}
.chat-previsit-routing-btn-hint {
  font-size: calc(18 * var(--rpx));
  color: #9b8676;
}
button.chat-previsit-routing-btn-primary .chat-previsit-routing-btn-hint {
  color: #fff3ea;
}
.chat-previsit-routing-disclosure {
  font-size: calc(18 * var(--rpx));
  color: #b3a291;
  line-height: 1.5;
}

/* B5 48h 回访卡 */
.chat-followup-card {
  margin-top: calc(12 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #f2f7fb;
  border: calc(2 * var(--rpx)) solid #cfe0ec;
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--rpx));
}
.chat-followup-title {
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  color: #2f4258;
}
.chat-followup-question {
  font-size: calc(22 * var(--rpx));
  color: #46586b;
  line-height: 1.5;
}
.chat-followup-options {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--rpx));
}
button.chat-followup-option {
  margin: 0 !important;
  padding: 0 calc(22 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #ffffff;
  color: #2f4258 !important;
  font-size: calc(22 * var(--rpx)) !important;
  line-height: calc(60 * var(--rpx));
  border: calc(2 * var(--rpx)) solid #cfe0ec;
}
button.chat-followup-option::after {
  border: none;
}


/* ===== source: components/floating-pet/floating-pet.wxss ===== */
.floating-pet-normalize-canvas {
  position: fixed;
  left: calc(-2000 * var(--rpx));
  top: calc(-2000 * var(--rpx));
  width: 1024px;
  height: 1024px;
}

.floating-pet {
  position: fixed;
  right: calc(22 * var(--rpx));
  bottom: calc(env(safe-area-inset-bottom) + calc(142 * var(--rpx)));
  z-index: 90;
  width: calc(176 * var(--rpx));
  height: calc(190 * var(--rpx));
  pointer-events: auto;
}

.floating-pet-body {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  width: calc(176 * var(--rpx));
  height: calc(168 * var(--rpx));
  transform-origin: 50% 88%;
  filter: drop-shadow(0 calc(16 * var(--rpx)) calc(16 * var(--rpx)) rgba(83, 52, 28, 0.18));
  animation: floatingPetBreathe 2.6s ease-in-out infinite;
  overflow: visible;
}

.floating-pet-body-play {
  animation: floatingPetHop 1.1s ease-in-out infinite;
}

.floating-pet-body-nap {
  animation: floatingPetNap 2.4s ease-in-out infinite;
}

.floating-pet-image {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  max-width: calc(176 * var(--rpx));
  max-height: calc(168 * var(--rpx));
}

.floating-pet-glow {
  position: absolute;
  left: calc(26 * var(--rpx));
  right: calc(26 * var(--rpx));
  bottom: calc(18 * var(--rpx));
  height: calc(48 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 174, 61, 0.2);
  filter: blur(calc(12 * var(--rpx)));
  animation: floatingPetGlow 2.6s ease-in-out infinite;
}

.floating-pet-shadow {
  position: absolute;
  left: calc(22 * var(--rpx));
  right: calc(22 * var(--rpx));
  bottom: calc(2 * var(--rpx));
  height: calc(26 * var(--rpx));
  border-radius: 50%;
  background: rgba(61, 47, 31, 0.16);
  filter: blur(calc(3 * var(--rpx)));
  animation: floatingPetShadow 2.6s ease-in-out infinite;
}

.floating-pet-sparkle {
  position: absolute;
  z-index: 3;
  width: calc(10 * var(--rpx));
  height: calc(10 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 calc(14 * var(--rpx)) rgba(255, 174, 61, 0.48);
  animation: floatingPetSparkle 2.3s ease-in-out infinite;
}

.floating-pet-sparkle.one {
  left: calc(18 * var(--rpx));
  top: calc(42 * var(--rpx));
}

.floating-pet-sparkle.two {
  right: calc(12 * var(--rpx));
  top: calc(68 * var(--rpx));
  animation-delay: 0.55s;
}

.floating-pet-sparkle.three {
  left: calc(76 * var(--rpx));
  top: calc(12 * var(--rpx));
  width: calc(8 * var(--rpx));
  height: calc(8 * var(--rpx));
  animation-delay: 1.1s;
}

@keyframes floatingPetBreathe {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(calc(-8 * var(--rpx))) scale(1.03);
  }
}

@keyframes floatingPetHop {
  0%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
  38% {
    transform: translateY(calc(-24 * var(--rpx))) rotate(-4deg) scale(1.04);
  }
  68% {
    transform: translateY(calc(-8 * var(--rpx))) rotate(4deg) scale(0.99);
  }
}

@keyframes floatingPetNap {
  0%, 100% {
    transform: translateY(calc(10 * var(--rpx))) rotate(-5deg) scale(0.94);
    opacity: 0.92;
  }
  50% {
    transform: translateY(calc(4 * var(--rpx))) rotate(-3deg) scale(0.97);
    opacity: 1;
  }
}

@keyframes floatingPetGlow {
  0%, 100% {
    opacity: 0.52;
    transform: scaleX(0.92);
  }
  50% {
    opacity: 0.9;
    transform: scaleX(1.08);
  }
}

@keyframes floatingPetShadow {
  0%, 100% {
    opacity: 0.55;
    transform: scaleX(1);
  }
  50% {
    opacity: 0.34;
    transform: scaleX(0.82);
  }
}

@keyframes floatingPetSparkle {
  0%, 100% {
    opacity: 0.2;
    transform: translateY(calc(8 * var(--rpx))) scale(0.7);
  }
  50% {
    opacity: 1;
    transform: translateY(calc(-8 * var(--rpx))) scale(1.08);
  }
}


/* ===== source: styles/feature.wxss ===== */
.feature-stage {
  min-height: calc(100 * var(--vhu));
  padding: 0;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 180, 72, 0.22), transparent 26%),
    radial-gradient(circle at 92% 86%, rgba(239, 188, 162, 0.28), transparent 28%),
    #f5eee4;
}

.feature-phone {
  position: relative;
  width: 100%;
  height: calc(100 * var(--vhu));
  min-height: calc(100 * var(--vhu));
  padding: calc(176 * var(--rpx)) calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(34 * var(--rpx)));
  background: #fffaf2;
  box-shadow: none;
  overflow: hidden;
  box-sizing: border-box;
}

.feature-status {
  display: none;
}

.feature-status-icons {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  font-size: calc(20 * var(--rpx));
}

.feature-battery {
  width: calc(34 * var(--rpx));
  height: calc(18 * var(--rpx));
  border: calc(3 * var(--rpx)) solid #15120f;
  border-radius: calc(6 * var(--rpx));
  position: relative;
}

.feature-battery::after {
  content: "";
  position: absolute;
  right: calc(4 * var(--rpx));
  top: calc(3 * var(--rpx));
  width: calc(18 * var(--rpx));
  height: calc(6 * var(--rpx));
  border-radius: calc(4 * var(--rpx));
  background: #15120f;
}

.feature-scroll {
  height: calc(calc(100 * var(--vhu)) - calc(176 * var(--rpx)) - env(safe-area-inset-bottom) - calc(150 * var(--rpx)));
  overflow-y: auto;
}

.feature-content {
  padding: calc(18 * var(--rpx)) calc(4 * var(--rpx)) calc(34 * var(--rpx));
}

.feature-topbar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(10 * var(--rpx)) 0 calc(18 * var(--rpx));
}

.feature-back,
.feature-round {
  width: calc(74 * var(--rpx));
  min-width: calc(74 * var(--rpx));
  max-width: calc(74 * var(--rpx));
  height: calc(74 * var(--rpx));
  padding: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #15120f;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(44, 33, 21, 0.08);
  font-size: calc(42 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-round img {
  width: calc(38 * var(--rpx));
  height: calc(38 * var(--rpx));
}

.feature-topcopy {
  flex: 1;
  min-width: 0;
  padding-left: calc(90 * var(--rpx));
  padding-right: calc(90 * var(--rpx));
  box-sizing: border-box;
}

.feature-topbar .feature-back,
.feature-topbar .feature-round {
  position: absolute;
  top: calc(10 * var(--rpx));
}

.feature-topbar .feature-back {
  left: 0;
}

.feature-topbar .feature-round {
  right: 0;
}

.feature-kicker,
.feature-subtitle,
.feature-muted,
.feature-mini-card text:last-child,
.feature-place-card > text,
.feature-tip text,
.feature-result text {
  color: #8f857a;
}

.feature-kicker {
  display: block;
  font-size: calc(23 * var(--rpx));
  font-weight: 800;
}

.feature-title {
  display: block;
  margin-top: calc(6 * var(--rpx));
  font-size: calc(42 * var(--rpx));
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.feature-subtitle {
  display: block;
  margin-top: calc(10 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  line-height: 1.45;
}

.feature-hero {
  position: relative;
  min-height: calc(292 * var(--rpx));
  margin: calc(10 * var(--rpx)) calc(8 * var(--rpx)) calc(22 * var(--rpx));
  padding: calc(30 * var(--rpx)) calc(28 * var(--rpx));
  border-radius: calc(38 * var(--rpx));
  overflow: hidden;
}

.feature-hero text {
  position: relative;
  z-index: 2;
  display: block;
}

.feature-hero-title {
  max-width: calc(520 * var(--rpx));
  color: #15120f;
  font-size: calc(46 * var(--rpx));
  line-height: 1.08;
  font-weight: 900;
}

.feature-hero-desc {
  max-width: calc(520 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
  color: rgba(47, 32, 24, 0.72);
  font-size: calc(24 * var(--rpx));
  line-height: 1.45;
}

.feature-hero img {
  display: none;
}

.feature-hero::after {
  content: "";
  position: absolute;
  right: calc(26 * var(--rpx));
  bottom: calc(22 * var(--rpx));
  width: calc(128 * var(--rpx));
  height: calc(106 * var(--rpx));
  border-radius: 52% 48% 44% 56%;
  background:
    radial-gradient(circle at 20% 26%, rgba(151, 89, 47, 0.18) 0 calc(14 * var(--rpx)), transparent calc(15 * var(--rpx))),
    radial-gradient(circle at 50% 12%, rgba(151, 89, 47, 0.18) 0 calc(15 * var(--rpx)), transparent calc(16 * var(--rpx))),
    radial-gradient(circle at 78% 28%, rgba(151, 89, 47, 0.18) 0 calc(14 * var(--rpx)), transparent calc(15 * var(--rpx))),
    radial-gradient(circle at 52% 68%, rgba(151, 89, 47, 0.18) 0 calc(38 * var(--rpx)), transparent calc(39 * var(--rpx)));
}

.feature-hero.orange {
  background: linear-gradient(142deg, #f4c5aa 0%, #ffc35c 100%);
}

.feature-hero.mint {
  background: linear-gradient(142deg, #dff4e6 0%, #ffe08a 100%);
}

.feature-hero.coral {
  background: linear-gradient(142deg, #ffe0d4 0%, #ffb35b 100%);
}

.feature-hero.sky {
  background: linear-gradient(142deg, #d8efff 0%, #ffe08a 100%);
}

.feature-section {
  margin: calc(20 * var(--rpx)) calc(8 * var(--rpx)) 0;
}

.feature-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: calc(4 * var(--rpx)) calc(4 * var(--rpx)) calc(16 * var(--rpx));
}

.feature-section-head text:first-child {
  color: #15120f;
  font-size: calc(31 * var(--rpx));
  font-weight: 900;
}

.feature-section-head text:last-child {
  color: #f3a33a;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
}

.feature-card,
.feature-result,
.feature-tip,
.feature-place-card {
  border-radius: calc(30 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.06);
}

.feature-card {
  padding: calc(24 * var(--rpx));
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(14 * var(--rpx));
}

.feature-mini-card {
  min-height: calc(132 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #fff7ec;
}

.feature-mini-card text {
  display: block;
}

.feature-mini-card text:first-child {
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
}

.feature-mini-card text:last-child {
  margin-top: calc(8 * var(--rpx));
  font-size: calc(21 * var(--rpx));
  line-height: 1.35;
}

.feature-primary {
  width: 100%;
  height: calc(78 * var(--rpx));
  margin-top: calc(18 * var(--rpx));
  border-radius: calc(39 * var(--rpx));
  background: #15120f;
  color: #ffffff;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.feature-secondary {
  height: calc(58 * var(--rpx));
  padding: 0 calc(20 * var(--rpx));
  border-radius: calc(29 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.feature-tip {
  margin-top: calc(16 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(22 * var(--rpx));
  background: #fff0db;
}

.feature-tip text {
  display: block;
  font-size: calc(22 * var(--rpx));
  line-height: 1.45;
}

.feature-result {
  margin-top: calc(18 * var(--rpx));
  padding: calc(24 * var(--rpx));
  border: calc(2 * var(--rpx)) dashed #efddd0;
}

.feature-result text {
  display: block;
  margin-top: calc(12 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  line-height: 1.55;
}

.feature-result text:first-child {
  margin-top: 0;
  color: #15120f;
  font-size: calc(30 * var(--rpx));
  font-weight: 900;
}

.feature-chip-row {
  display: flex;
  gap: calc(12 * var(--rpx));
  flex-wrap: wrap;
}

.feature-chip {
  min-width: calc(92 * var(--rpx));
  height: calc(58 * var(--rpx));
  padding: 0 calc(20 * var(--rpx));
  border-radius: calc(29 * var(--rpx));
  background: #ffffff;
  color: #302720;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.feature-chip-active {
  background: #ffae3d;
  color: #15120f;
}

.feature-place-list {
  display: grid;
  gap: calc(14 * var(--rpx));
}

.feature-place-card {
  padding: calc(22 * var(--rpx)) calc(24 * var(--rpx));
  background: #fff7ec;
}

.feature-place-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
}

.feature-place-head text:first-child {
  min-width: 0;
  color: #15120f;
  font-size: calc(27 * var(--rpx));
  line-height: 1.2;
  font-weight: 900;
}

.feature-place-head text:last-child {
  flex: 0 0 auto;
  color: #f3a33a;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
}

.feature-place-card > text {
  display: block;
  margin-top: calc(10 * var(--rpx));
  font-size: calc(22 * var(--rpx));
  line-height: 1.45;
}

.feature-tags {
  margin-top: calc(14 * var(--rpx));
  display: flex;
  gap: calc(10 * var(--rpx));
  flex-wrap: wrap;
}

.feature-tags text {
  padding: calc(8 * var(--rpx)) calc(12 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #ffffff;
  color: #564c42;
  font-size: calc(20 * var(--rpx));
  font-weight: 800;
}

.feature-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  width: calc(100 * var(--vwu));
  height: calc(env(safe-area-inset-bottom) + calc(132 * var(--rpx)));
  padding: calc(18 * var(--rpx)) 0 calc(env(safe-area-inset-bottom) + calc(8 * var(--rpx)));
  border-top: calc(1 * var(--rpx)) solid rgba(78, 61, 45, 0.08);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 calc(-8 * var(--rpx)) calc(24 * var(--rpx)) rgba(59, 44, 29, 0.06);
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  box-sizing: border-box;
}

.feature-tab {
  flex: 0 0 25%;
  width: 25%;
  min-width: 0;
  height: calc(96 * var(--rpx));
  color: #e0620d;
  font-size: calc(20 * var(--rpx));
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(7 * var(--rpx));
}

.feature-tab img {
  width: calc(38 * var(--rpx));
  height: calc(38 * var(--rpx));
  opacity: 0.58;
}

.feature-tab text {
  display: block;
  width: 100%;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.feature-tab-active {
  color: #e0620d;
}

.feature-tab-active img {
  opacity: 1;
}

/* 行内小图标：真机系统 emoji 字体缺字形会空白，统一用主包 assets/emoji 下的 PNG */
.emoji-row {
  display: flex;
  align-items: flex-start;
  gap: calc(8 * var(--rpx));
}

.inline-emoji {
  flex: 0 0 auto;
  width: calc(26 * var(--rpx));
  height: calc(26 * var(--rpx));
  margin-top: calc(2 * var(--rpx));
}

/* button 内图标+文字并排（button 默认文本居中，这里改用 flex 居中） */
.btn-emoji-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--rpx));
}

.btn-emoji-row .inline-emoji {
  margin-top: 0;
}


/* ===== source: pages/check/check.wxss ===== */

/* 选择部位按钮整体放小，一行约三个，不占太大版面 */
.feature-chip-row {
  gap: calc(12 * var(--rpx));
}

.feature-chip {
  flex: 0 0 calc((100% - calc(24 * var(--rpx))) / 3);
  min-width: 0;
  height: calc(50 * var(--rpx));
  padding: 0;
  border-radius: calc(25 * var(--rpx));
  font-size: calc(22 * var(--rpx));
}

.upload-area {
  min-height: calc(320 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #fff7ec;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.upload-placeholder {
  padding: calc(40 * var(--rpx));
  text-align: center;
}

.upload-icon {
  display: block;
  width: calc(72 * var(--rpx));
  height: calc(72 * var(--rpx));
  margin: 0 auto calc(16 * var(--rpx));
}

.upload-placeholder text {
  display: block;
  color: #8f857a;
  font-size: calc(24 * var(--rpx));
}

.upload-placeholder text:first-of-type {
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.preview-image {
  width: 100%;
  height: calc(320 * var(--rpx));
}

.result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: calc(16 * var(--rpx));
}

.result-header text:first-child {
  font-size: calc(36 * var(--rpx));
  font-weight: 900;
  color: #f3a33a;
}

.result-header text:last-child {
  color: #f3a33a;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.advice-text {
  margin-top: calc(20 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #fff0db;
  color: #8f6d3d !important;
  font-size: calc(24 * var(--rpx)) !important;
}

.result-disclaimer {
  margin-top: calc(16 * var(--rpx));
  padding: 0 calc(4 * var(--rpx));
}

/* 盖过 .feature-result text 的 calc(24 * var(--rpx))/margin-top，保持免责行原字号 */
.result-disclaimer text {
  margin-top: 0;
  font-size: calc(20 * var(--rpx));
  line-height: 1.5;
  color: #8f857a;
}


/* ===== source: pages/voice/voice.wxss ===== */

.voice-record-card {
  margin-top: calc(40 * var(--rpx));
  padding: calc(48 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(38 * var(--rpx));
  background: linear-gradient(180deg, #effcf5 0%, #f7fffb 100%);
  text-align: center;
  border: calc(2 * var(--rpx)) solid rgba(84, 191, 145, 0.18);
  box-shadow: 0 calc(14 * var(--rpx)) calc(34 * var(--rpx)) rgba(70, 154, 119, 0.12);
}

.record-ring {
  width: calc(220 * var(--rpx));
  height: calc(220 * var(--rpx));
  margin: 0 auto calc(32 * var(--rpx));
  border-radius: 50%;
  border: calc(18 * var(--rpx)) solid rgba(93, 204, 159, 0.26);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s;
}

.record-ring.recording {
  border-color: rgba(93, 204, 159, 0.72);
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

.record-center {
  width: calc(160 * var(--rpx));
  height: calc(160 * var(--rpx));
  border-radius: 50%;
  background: linear-gradient(135deg, #68d8b5 0%, #85c8ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(14 * var(--rpx)) calc(30 * var(--rpx)) rgba(67, 153, 133, 0.22);
}

.record-icon {
  width: calc(56 * var(--rpx));
  height: calc(56 * var(--rpx));
}

.record-status {
  color: #21463b;
  font-size: calc(30 * var(--rpx));
  font-weight: 900;
  line-height: 1.35;
}

.record-tips {
  margin-top: calc(24 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff0db;
}

.record-tips text {
  display: block;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.6;
}

.voice-result-card {
  margin-top: calc(28 * var(--rpx));
  padding: calc(28 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.08);
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: calc(24 * var(--rpx));
}

.audio-evidence-section {
  width: 100%;
  box-sizing: border-box;
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #eefaf4;
  border: calc(2 * var(--rpx)) solid rgba(87, 184, 137, 0.16);
}

.audio-evidence-label {
  display: block;
  color: #21463b;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  margin-bottom: calc(10 * var(--rpx));
}

.audio-evidence-type {
  display: inline-flex;
  max-width: 100%;
  box-sizing: border-box;
  padding: calc(8 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #dff4e6;
  color: #2d5a45;
  font-size: calc(22 * var(--rpx));
  font-weight: 800;
  line-height: 1.35;
}

.audio-evidence-text,
.audio-evidence-confidence {
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: #557064;
  font-size: calc(22 * var(--rpx));
  line-height: 1.55;
  margin-top: calc(10 * var(--rpx));
  word-break: break-word;
}

.emotion-section {
  width: 100%;
  min-width: 0;
}

.emotion-label {
  display: block;
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
  margin-bottom: calc(12 * var(--rpx));
}

.emotion-tags {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--rpx));
  width: 100%;
  min-width: 0;
}

.emotion-tags text {
  display: block;
  max-width: 100%;
  box-sizing: border-box;
  padding: calc(12 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #e8defb;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
}

.speech-section {
  width: 100%;
  min-width: 0;
}

.speech-label {
  display: block;
  color: #8f857a;
  font-size: calc(24 * var(--rpx));
  margin-bottom: calc(10 * var(--rpx));
}

.speech-bubble {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff7ec;
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  line-height: 1.5;
  font-style: italic;
}

.advice-section {
  width: 100%;
  box-sizing: border-box;
  padding: calc(20 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: #dff4e6;
}

.advice-label {
  display: block;
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
  margin-bottom: calc(10 * var(--rpx));
}

.advice-content {
  display: block;
  color: #2d5a45;
  font-size: calc(24 * var(--rpx));
  line-height: 1.55;
}


/* ===== source: pages/hospital/hospital.wxss ===== */

.location-status {
  margin: calc(20 * var(--rpx)) calc(8 * var(--rpx)) 0;
  padding: calc(18 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.location-icon {
  flex: 0 0 calc(30 * var(--rpx));
  width: calc(30 * var(--rpx));
  height: calc(30 * var(--rpx));
}

.location-status text {
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
}

.feature-round {
  width: calc(74 * var(--rpx));
  height: calc(74 * var(--rpx));
  border-radius: 50%;
  background: #ffffff;
  color: #15120f;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(44, 33, 21, 0.08);
  font-size: calc(42 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-tags-with-action {
  align-items: center;
  flex-wrap: nowrap;
}

.feature-tags-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  gap: calc(10 * var(--rpx));
  flex-wrap: wrap;
}

.place-nav-button {
  flex: 0 0 calc(88 * var(--rpx));
  width: calc(88 * var(--rpx));
  height: calc(44 * var(--rpx));
  margin: 0;
  border-radius: calc(22 * var(--rpx));
  background: #15120f;
  color: #ffffff;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}


/* ===== source: pages/friendly/friendly.wxss ===== */

.location-status {
  margin: calc(20 * var(--rpx)) calc(8 * var(--rpx)) 0;
  padding: calc(18 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.location-icon {
  flex: 0 0 calc(30 * var(--rpx));
  width: calc(30 * var(--rpx));
  height: calc(30 * var(--rpx));
}

.location-status text {
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 800;
}

.feature-round {
  width: calc(74 * var(--rpx));
  height: calc(74 * var(--rpx));
  border-radius: 50%;
  background: #ffffff;
  color: #15120f;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(44, 33, 21, 0.08);
  font-size: calc(42 * var(--rpx));
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-tags-with-action {
  align-items: center;
  flex-wrap: nowrap;
}

.feature-tags-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  gap: calc(10 * var(--rpx));
  flex-wrap: wrap;
}

.place-nav-button {
  flex: 0 0 calc(88 * var(--rpx));
  width: calc(88 * var(--rpx));
  height: calc(44 * var(--rpx));
  margin: 0;
  border-radius: calc(22 * var(--rpx));
  background: #15120f;
  color: #ffffff;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}


/* ===== source: pages/avatar/avatar.wxss ===== */

.avatar-hero {
  background: linear-gradient(142deg, #ffe9de 0%, #ffae3d 100%);
}

.avatar-hero .feature-hero-title {
  max-width: calc(520 * var(--rpx));
}

.avatar-hero .feature-hero-desc {
  max-width: none;
}

.avatar-hero img {
  display: none;
}

.hero-desc-line {
  display: block;
  margin-top: calc(6 * var(--rpx));
  white-space: nowrap;
}

.hero-desc-line:first-child {
  margin-top: 0;
}

.hero-desc-strong {
  font-weight: 700;
}

.avatar-wallet-bar {
  margin: calc(18 * var(--rpx)) calc(8 * var(--rpx)) 0;
  padding: calc(20 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: linear-gradient(135deg, #fff3d6 0%, #ffe2b0 100%);
  box-shadow: 0 calc(10 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.06);
  box-sizing: border-box;
}

.avatar-wallet-main {
  display: flex;
  align-items: baseline;
  gap: calc(6 * var(--rpx));
}

.avatar-wallet-amount {
  font-size: calc(40 * var(--rpx));
  font-weight: 900;
  color: #15120f;
  line-height: 1;
}

.avatar-wallet-unit {
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  color: #a8762a;
}

.avatar-wallet-hint {
  display: block;
  margin-top: calc(10 * var(--rpx));
  font-size: calc(19 * var(--rpx));
  line-height: 1.4;
  color: #8a6a2f;
  white-space: nowrap;
}

.avatar-cost-hint {
  display: block;
  margin-top: calc(14 * var(--rpx));
  padding: 0 calc(4 * var(--rpx));
  font-size: calc(20 * var(--rpx));
  line-height: 1.45;
  color: #8f857a;
}

.wardrobe-earn-btn {
  background: #ffae3d !important;
  color: #15120f !important;
}

.wardrobe-empty-title {
  display: block;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  line-height: 1.45;
}

.wardrobe-empty-sub {
  display: block;
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  font-weight: 700;
  line-height: 1.45;
}

.wardrobe-roadmap-card {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  padding: calc(22 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff7ec;
  box-sizing: border-box;
}

.advanced-tryon-card {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  padding: calc(22 * var(--rpx)) calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: linear-gradient(135deg, #fff1f6 0%, #f1f4ff 100%);
  border: calc(2 * var(--rpx)) solid #ffd6e6;
  box-sizing: border-box;
}

.advanced-tryon-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(12 * var(--rpx));
}

.advanced-tryon-title {
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.advanced-tryon-badge {
  flex: 0 0 auto;
  padding: calc(5 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ffae3d;
  color: #15120f;
  font-size: calc(19 * var(--rpx));
  font-weight: 900;
  white-space: nowrap;
}

.advanced-tryon-body {
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
  margin-top: calc(12 * var(--rpx));
}

.advanced-tryon-desc {
  flex: 1;
  min-width: 0;
  color: #6f6358;
  font-size: calc(21 * var(--rpx));
  font-weight: 600;
  line-height: 1.5;
}

.advanced-tryon-ref {
  flex: 0 0 auto;
  width: calc(150 * var(--rpx));
  height: calc(150 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: rgba(255, 255, 255, 0.6);
}

.advanced-tryon-btn {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  border-radius: calc(999 * var(--rpx));
  background: #15120f;
  color: #fff;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  line-height: 2;
}

.advanced-tryon-disabled {
  background: #e7dfd6 !important;
  color: #b3a99c !important;
}

.advanced-tryon-progress {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
}

.advanced-tryon-progress-track {
  flex: 1 1 auto;
  height: calc(14 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ece3d8;
  overflow: hidden;
}

.advanced-tryon-progress-fill {
  height: 100%;
  border-radius: calc(999 * var(--rpx));
  background: #15120f;
  transition: width 0.3s ease;
}

.advanced-tryon-progress-label {
  flex: 0 0 auto;
  min-width: calc(64 * var(--rpx));
  text-align: right;
  color: #15120f;
  font-size: calc(20 * var(--rpx));
  font-weight: 900;
}

.advanced-tryon-hint {
  display: block;
  margin-top: calc(10 * var(--rpx));
  color: #b08968;
  font-size: calc(19 * var(--rpx));
  font-weight: 700;
  line-height: 1.45;
}

/* AI 形象生成进度条：对齐档案页 profile-avatar-progress 的展示（进度条+百分比+人性化文案+提示）。 */
.avatar-generate-progress {
  margin-top: calc(16 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border: calc(2 * var(--rpx)) solid #ffe2bd;
  border-radius: calc(24 * var(--rpx));
  background: #fffaf2;
}

.avatar-generate-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(16 * var(--rpx));
}

.avatar-generate-progress-head text:first-child {
  flex: 1;
  min-width: 0;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
  line-height: 1.35;
}

.avatar-generate-progress-head text:last-child {
  flex: 0 0 auto;
  color: #c07a35;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
}

.avatar-generate-progress-track {
  width: 100%;
  height: calc(12 * var(--rpx));
  margin-top: calc(14 * var(--rpx));
  border-radius: calc(6 * var(--rpx));
  background: #f0dfca;
  overflow: hidden;
}

.avatar-generate-progress-fill {
  height: 100%;
  border-radius: calc(6 * var(--rpx));
  background: linear-gradient(90deg, #ffae3d, #f27a52);
  transition: width 0.28s ease;
}

.avatar-generate-progress-hint {
  display: block;
  margin-top: calc(10 * var(--rpx));
  color: #8c7467;
  font-size: calc(20 * var(--rpx));
  line-height: 1.35;
}

.wardrobe-roadmap-head {
  display: block;
  color: #15120f;
  font-size: calc(23 * var(--rpx));
  font-weight: 900;
}

.wardrobe-roadmap {
  margin-top: calc(16 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--rpx));
}

.wardrobe-roadmap-item {
  display: flex;
  align-items: flex-start;
  gap: calc(14 * var(--rpx));
}

.wardrobe-roadmap-tag {
  flex: 0 0 auto;
  margin-top: calc(2 * var(--rpx));
  padding: calc(5 * var(--rpx)) calc(16 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  font-size: calc(19 * var(--rpx));
  font-weight: 900;
  white-space: nowrap;
}

.wardrobe-roadmap-tag.free {
  background: #e3f6ec;
  color: #2f9e6b;
}

.wardrobe-roadmap-tag.credit {
  background: #fff0d6;
  color: #d08a1e;
}

.wardrobe-roadmap-tag.member {
  background: #e9f2fb;
  color: #3a7bc0;
}

.wardrobe-roadmap-text {
  flex: 1 1 0;
  min-width: 0;
  font-size: calc(21 * var(--rpx));
  line-height: 1.4;
  color: #5f574e;
}

.avatar-stage-card {
  margin: calc(26 * var(--rpx)) calc(8 * var(--rpx)) 0;
  padding: calc(22 * var(--rpx));
  border-radius: calc(34 * var(--rpx));
  background: #ffffff;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.06);
}

.stage-action-card {
  margin: calc(18 * var(--rpx)) calc(8 * var(--rpx)) 0;
  padding: calc(22 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #fff7ec;
  box-shadow: 0 calc(12 * var(--rpx)) calc(28 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.stage-action-title {
  display: block;
  color: #15120f;
  font-size: calc(26 * var(--rpx));
  font-weight: 900;
}

.stage-action-row {
  margin-top: calc(16 * var(--rpx));
  display: flex;
  gap: calc(16 * var(--rpx));
}

.stage-action-row .feature-secondary {
  flex: 1;
  min-width: 0;
  margin-top: 0;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.stage-action-row .feature-secondary.stage-action-on {
  background: #ffe2c2;
  color: #b86514;
  border-color: #f3a33a;
}

.stage-action-hint {
  display: block;
  margin-top: calc(14 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.5;
}

.avatar-scene {
  position: relative;
  height: calc(456 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.94) 0 calc(116 * var(--rpx)), transparent calc(190 * var(--rpx))),
    radial-gradient(circle at 18% 22%, rgba(255, 174, 61, 0.22), transparent calc(132 * var(--rpx))),
    linear-gradient(180deg, rgba(255, 238, 208, 0.96) 0%, rgba(255, 250, 242, 0.96) 100%);
  overflow: hidden;
}

.avatar-scene.sleep {
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.14) 0 calc(118 * var(--rpx)), transparent calc(190 * var(--rpx))),
    linear-gradient(180deg, #1f2745 0%, #6f6b83 100%);
}

.avatar-scene.eat {
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.82) 0 calc(116 * var(--rpx)), transparent calc(190 * var(--rpx))),
    linear-gradient(180deg, #dff4e6 0%, #fff7ec 100%);
}

.avatar-scene.idle {
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.86) 0 calc(116 * var(--rpx)), transparent calc(190 * var(--rpx))),
    linear-gradient(180deg, #fff1a8 0%, #fffaf2 100%);
}

.scene-floor {
  position: absolute;
  left: calc(38 * var(--rpx));
  right: calc(38 * var(--rpx));
  bottom: calc(34 * var(--rpx));
  height: calc(132 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.48);
  filter: blur(calc(2 * var(--rpx)));
}

.scene-sun,
.scene-moon {
  position: absolute;
  right: calc(48 * var(--rpx));
  top: calc(42 * var(--rpx));
  width: calc(80 * var(--rpx));
  height: calc(80 * var(--rpx));
  border-radius: 50%;
}

.scene-sun {
  background: #ffae3d;
  box-shadow: 0 0 calc(42 * var(--rpx)) rgba(255, 174, 61, 0.38);
}

.scene-moon {
  display: none;
  background: #fff8df;
  box-shadow: calc(-18 * var(--rpx)) calc(6 * var(--rpx)) 0 #1f2745 inset;
}

.sleep .scene-sun {
  display: none;
}

.sleep .scene-moon {
  display: block;
}

.avatar-shadow {
  position: absolute;
  left: calc(124 * var(--rpx));
  bottom: calc(38 * var(--rpx));
  width: calc(354 * var(--rpx));
  height: calc(62 * var(--rpx));
  border-radius: 50%;
  background: rgba(61, 47, 31, 0.18);
  filter: blur(calc(2 * var(--rpx)));
}

.fluffy-avatar {
  position: absolute;
  left: calc(98 * var(--rpx));
  bottom: calc(48 * var(--rpx));
  z-index: 3;
  width: calc(410 * var(--rpx));
  height: calc(360 * var(--rpx));
  transform-origin: 50% 88%;
  filter: drop-shadow(0 calc(24 * var(--rpx)) calc(24 * var(--rpx)) rgba(91, 58, 33, 0.18));
}

.fluffy-avatar img {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.fluffy-avatar-pending img,
.fluffy-avatar-pending .avatar-outfit,
.fluffy-avatar-pending .avatar-breathe-glow,
.fluffy-avatar-pending .avatar-eye-shine {
  opacity: 0;
}

.avatar-breathe-glow {
  position: absolute;
  left: calc(72 * var(--rpx));
  right: calc(72 * var(--rpx));
  bottom: calc(32 * var(--rpx));
  z-index: 1;
  height: calc(96 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 174, 61, 0.18);
  filter: blur(calc(14 * var(--rpx)));
  animation: glowPulse 2.2s ease-in-out infinite;
}

.avatar-outfit {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: calc(250 * var(--rpx));
  pointer-events: none;
}

.avatar-outfit .outfit-neck,
.avatar-outfit .outfit-body,
.avatar-outfit .outfit-accent {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.avatar-outfit .outfit-neck {
  top: calc(64 * var(--rpx));
  width: calc(150 * var(--rpx));
  height: calc(44 * var(--rpx));
  border-radius: 50%;
  background: #ffcf4a;
  box-shadow: 0 calc(8 * var(--rpx)) calc(14 * var(--rpx)) rgba(73, 45, 24, 0.12);
}

.avatar-outfit .outfit-body {
  top: calc(108 * var(--rpx));
  width: calc(208 * var(--rpx));
  height: calc(112 * var(--rpx));
  border-radius: calc(48 * var(--rpx)) calc(48 * var(--rpx)) calc(34 * var(--rpx)) calc(34 * var(--rpx));
  background: rgba(255, 207, 74, 0.92);
  opacity: 0.92;
}

.avatar-outfit .outfit-accent {
  top: calc(82 * var(--rpx));
  width: calc(46 * var(--rpx));
  height: calc(46 * var(--rpx));
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 0 calc(8 * var(--rpx)) rgba(255, 255, 255, 0.28);
}

.outfit-ribbon .outfit-body {
  display: none;
}

.outfit-ribbon .outfit-neck {
  width: calc(178 * var(--rpx));
  height: calc(50 * var(--rpx));
  border-radius: calc(16 * var(--rpx)) calc(16 * var(--rpx)) calc(28 * var(--rpx)) calc(28 * var(--rpx));
  clip-path: polygon(0 12%, 42% 50%, 0 88%, 0 12%, 100% 12%, 58% 50%, 100% 88%, 100% 12%);
}

/* 真实透明底衣服叠加在分身身体区（贴合下半身轮廓） */
.fluffy-avatar img.avatar-outfit-image {
  position: absolute;
  left: 50%;
  bottom: calc(0 * var(--rpx));
  transform: translateX(-50%);
  z-index: 4;
  width: calc(260 * var(--rpx));
  height: calc(150 * var(--rpx));
  pointer-events: none;
  /* 只过渡 opacity（不过渡 left/top）：位移瞬时完成、被下方隐藏窗口盖住，
     位置算好后仅做一次短促淡入，用户看到的是「图直接出现在合适位置」。 */
  opacity: 1;
  transition: opacity 0.18s ease;
}

/* 换款/切换时先透明：等 computeOutfitOverlayFit 用剪影算好正确位置，再置回 ready 淡入，
   隐藏「图先落默认底部再移到头顶/躯干」的归位动作。 */
.fluffy-avatar img.avatar-outfit-image.outfit-repositioning {
  opacity: 0;
  transition: none;
}

.fluffy-avatar-pending .avatar-outfit-image {
  opacity: 0;
}

/* 卡通兜底：小裙子（女） */
.outfit-dress .outfit-neck {
  top: calc(70 * var(--rpx));
  width: calc(120 * var(--rpx));
  height: calc(36 * var(--rpx));
  background: #ff9ec0;
}

.outfit-dress .outfit-body {
  top: calc(100 * var(--rpx));
  width: calc(220 * var(--rpx));
  height: calc(132 * var(--rpx));
  border-radius: calc(40 * var(--rpx)) calc(40 * var(--rpx)) calc(90 * var(--rpx)) calc(90 * var(--rpx));
  background: linear-gradient(180deg, #ffc2d8 0%, #ff9ec0 100%);
  opacity: 0.96;
}

.outfit-dress .outfit-accent {
  top: calc(96 * var(--rpx));
  width: calc(40 * var(--rpx));
  height: calc(40 * var(--rpx));
  background: #fff3f8;
  box-shadow: 0 0 0 calc(6 * var(--rpx)) rgba(255, 158, 192, 0.32);
}

/* 卡通兜底：小西装（男） */
.outfit-suit .outfit-neck {
  top: calc(66 * var(--rpx));
  width: calc(96 * var(--rpx));
  height: calc(40 * var(--rpx));
  border-radius: calc(12 * var(--rpx)) calc(12 * var(--rpx)) calc(22 * var(--rpx)) calc(22 * var(--rpx));
  background: #3a4a63;
}

.outfit-suit .outfit-body {
  top: calc(100 * var(--rpx));
  width: calc(206 * var(--rpx));
  height: calc(120 * var(--rpx));
  border-radius: calc(34 * var(--rpx)) calc(34 * var(--rpx)) calc(30 * var(--rpx)) calc(30 * var(--rpx));
  background: linear-gradient(180deg, #4a5d7a 0%, #34435c 100%);
  opacity: 0.96;
}

.outfit-suit .outfit-accent {
  top: calc(90 * var(--rpx));
  width: calc(30 * var(--rpx));
  height: calc(30 * var(--rpx));
  border-radius: calc(8 * var(--rpx));
  background: #e23b4e;
  box-shadow: 0 0 0 calc(5 * var(--rpx)) rgba(255, 255, 255, 0.4);
}

/* 卡通兜底：限定可爱胸背（机制③连续打卡 3 天解锁）——肩带 + 胸前护片 + 卡扣 */
.outfit-harness .outfit-neck {
  top: calc(78 * var(--rpx));
  width: calc(150 * var(--rpx));
  height: calc(30 * var(--rpx));
  border-radius: calc(20 * var(--rpx)) calc(20 * var(--rpx)) calc(10 * var(--rpx)) calc(10 * var(--rpx));
  background: linear-gradient(180deg, #ffd0a6 0%, #ff9f6e 100%);
}

.outfit-harness .outfit-body {
  top: calc(100 * var(--rpx));
  width: calc(172 * var(--rpx));
  height: calc(96 * var(--rpx));
  border-radius: calc(40 * var(--rpx)) calc(40 * var(--rpx)) calc(46 * var(--rpx)) calc(46 * var(--rpx));
  background: linear-gradient(180deg, #ffb684 0%, #ff8850 100%);
  opacity: 0.96;
}

.outfit-harness .outfit-accent {
  top: calc(122 * var(--rpx));
  width: calc(34 * var(--rpx));
  height: calc(34 * var(--rpx));
  border-radius: calc(9 * var(--rpx));
  background: #fff2e2;
  box-shadow: 0 0 0 calc(5 * var(--rpx)) rgba(255, 159, 110, 0.4);
}

/* 卡通兜底：限定坚持皇冠（机制③连续打卡 7 天解锁） */
.outfit-crown .outfit-neck {
  top: calc(8 * var(--rpx));
  width: calc(120 * var(--rpx));
  height: calc(44 * var(--rpx));
  border-radius: calc(8 * var(--rpx)) calc(8 * var(--rpx)) 0 0;
  background: linear-gradient(180deg, #ffe27a 0%, #ffcf40 100%);
  clip-path: polygon(0 100%, 15% 20%, 30% 70%, 50% 0, 70% 70%, 85% 20%, 100% 100%);
}

.outfit-crown .outfit-body {
  display: none;
}

.outfit-crown .outfit-accent {
  top: calc(20 * var(--rpx));
  width: calc(22 * var(--rpx));
  height: calc(22 * var(--rpx));
  border-radius: 50%;
  background: #ff6b8b;
  box-shadow: 0 0 0 calc(4 * var(--rpx)) rgba(255, 207, 64, 0.4);
}

.outfit-hoodie .outfit-neck,
.outfit-hoodie .outfit-body {
  background: #7bc6ff;
}

.outfit-gentleman .outfit-neck,
.outfit-gentleman .outfit-body {
  background: #4d6b8f;
}

.outfit-gentleman .outfit-accent {
  width: calc(30 * var(--rpx));
  height: calc(88 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: #f7f1dc;
}

.outfit-pinafore .outfit-neck,
.outfit-pinafore .outfit-body {
  background: #ff8ab3;
}

.outfit-pinafore .outfit-body {
  width: calc(230 * var(--rpx));
  border-radius: calc(70 * var(--rpx)) calc(70 * var(--rpx)) calc(36 * var(--rpx)) calc(36 * var(--rpx));
}

.outfit-raincoat .outfit-neck,
.outfit-raincoat .outfit-body {
  background: #b8f0df;
}

.outfit-raincoat .outfit-accent {
  background: #fff36d;
}

.avatar-eye-shine {
  position: absolute;
  z-index: 4;
  width: calc(16 * var(--rpx));
  height: calc(16 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0 calc(18 * var(--rpx)) rgba(255, 255, 255, 0.72);
  animation: eyeBlink 3.2s ease-in-out infinite;
  pointer-events: none;
}

.avatar-eye-shine.left {
  left: calc(152 * var(--rpx));
  top: calc(132 * var(--rpx));
}

.avatar-eye-shine.right {
  right: calc(154 * var(--rpx));
  top: calc(132 * var(--rpx));
  animation-delay: 0.12s;
}

.play .fluffy-avatar {
  animation: avatarHop 1.4s ease-in-out infinite;
}

.sleep .fluffy-avatar {
  transform: rotate(-5deg) translateY(calc(22 * var(--rpx))) scale(0.96);
  opacity: 0.94;
  animation: avatarBreathe 2.4s ease-in-out infinite;
}

.eat .fluffy-avatar {
  animation: avatarNod 1.2s ease-in-out infinite;
}

.idle .fluffy-avatar {
  animation: avatarBreathe 2.8s ease-in-out infinite;
}

.fur-sparkle {
  position: absolute;
  z-index: 2;
  width: calc(18 * var(--rpx));
  height: calc(18 * var(--rpx));
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 calc(18 * var(--rpx)) rgba(255, 174, 61, 0.36);
  animation: sparkleFloat 2.6s ease-in-out infinite;
}

.fur-sparkle.one {
  left: calc(96 * var(--rpx));
  top: calc(116 * var(--rpx));
}

.fur-sparkle.two {
  right: calc(118 * var(--rpx));
  top: calc(152 * var(--rpx));
  animation-delay: 0.5s;
}

.fur-sparkle.three {
  left: calc(150 * var(--rpx));
  top: calc(64 * var(--rpx));
  width: calc(12 * var(--rpx));
  height: calc(12 * var(--rpx));
  animation-delay: 1s;
}

.avatar-prop {
  position: absolute;
  left: calc(74 * var(--rpx));
  bottom: calc(108 * var(--rpx));
  z-index: 4;
  min-width: calc(80 * var(--rpx));
  height: calc(58 * var(--rpx));
  padding: 0 calc(16 * var(--rpx));
  border-radius: calc(29 * var(--rpx));
  background: rgba(255, 255, 255, 0.82);
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.avatar-prop-icon {
  width: calc(32 * var(--rpx));
  height: calc(32 * var(--rpx));
}

.sleep .avatar-prop {
  left: calc(440 * var(--rpx));
  top: calc(122 * var(--rpx));
  bottom: auto;
  color: #fff8df;
  background: rgba(255, 255, 255, 0.12);
}

.avatar-status-row {
  margin-top: calc(18 * var(--rpx));
  display: flex;
  justify-content: space-between;
  gap: calc(20 * var(--rpx));
  align-items: center;
}

.avatar-status-row view {
  flex: 1;
  min-width: 0;
}

.avatar-status-row > text {
  flex: 0 0 auto;
}

.avatar-status-row text {
  display: block;
}

.avatar-status-row view text:first-child {
  color: #15120f;
  font-size: calc(30 * var(--rpx));
  font-weight: 900;
}

.avatar-status-row view text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
}

.avatar-status-row > text {
  color: #f3a33a;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.avatar-upload-card {
  min-height: calc(154 * var(--rpx));
  padding: calc(20 * var(--rpx));
  border-radius: calc(30 * var(--rpx));
  background: #fff7ec;
  display: flex;
  align-items: center;
  gap: calc(18 * var(--rpx));
}

.avatar-upload-card img {
  width: calc(116 * var(--rpx));
  height: calc(116 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff0db;
  flex: 0 0 auto;
}

.avatar-upload-card text {
  display: block;
}

.avatar-upload-card text:first-child {
  color: #15120f;
  font-size: calc(28 * var(--rpx));
  font-weight: 900;
}

.avatar-upload-card text:not(:first-child) {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  line-height: 1.4;
}

.avatar-action-stack {
  margin-top: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(14 * var(--rpx));
}

.avatar-action-stack .feature-primary,
.avatar-action-stack .feature-secondary {
  width: calc(520 * var(--rpx));
  max-width: 100%;
  margin-top: 0;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
}

.avatar-action-stack .feature-secondary {
  display: flex;
}

.avatar-action-row {
  flex-direction: row;
  align-items: stretch;
  gap: calc(16 * var(--rpx));
}

/* 取消生成：误触兜底入口，弱化为浅色，与主操作区分。 */
.avatar-cancel-btn {
  background: #f1e6d8 !important;
  color: #9a5a26 !important;
}

.advanced-tryon-cancel {
  margin-top: calc(12 * var(--rpx));
  background: #f1e6d8;
  color: #9a5a26;
}

.advanced-tryon-actions {
  display: flex;
  gap: calc(14 * var(--rpx));
  margin-top: calc(16 * var(--rpx));
}

.advanced-tryon-actions .advanced-tryon-btn {
  flex: 1 1 0;
  width: auto;
  margin-top: 0;
}

.advanced-tryon-btn-real {
  background: #b9651f;
}

.advanced-tryon-save {
  margin-top: calc(12 * var(--rpx));
  background: #2f9e5e;
  color: #fff;
}

.avatar-action-row .feature-secondary {
  flex: 1;
  width: auto;
  min-width: 0;
  justify-content: center;
}

.wardrobe-section {
  width: auto;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.wardrobe-progress {
  width: 100%;
  max-width: 100%;
  padding: calc(20 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #fff7ec;
  box-sizing: border-box;
  overflow: hidden;
}

.wardrobe-progress > text {
  display: block;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  line-height: 1.35;
  word-break: break-all;
}

.wardrobe-progress view {
  margin-top: calc(16 * var(--rpx));
  display: flex;
  flex-wrap: wrap;
  gap: calc(14 * var(--rpx));
}

.wardrobe-progress button,
.wardrobe-tabs button {
  min-width: 0;
  min-height: calc(64 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ffffff;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
  box-sizing: border-box;
}

.wardrobe-tabs {
  margin-top: calc(16 * var(--rpx));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(10 * var(--rpx));
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.wardrobe-progress button {
  flex: 1 1 calc(220 * var(--rpx));
}

.wardrobe-tabs button {
  width: 100%;
  margin: 0;
}

.wardrobe-tabs button::after {
  border: none;
}

.wardrobe-tabs .wardrobe-tab-active {
  background: #15120f;
  color: #ffffff;
}

.wardrobe-undress {
  margin-top: calc(10 * var(--rpx));
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.wardrobe-undress button {
  width: 100%;
  min-height: calc(64 * var(--rpx));
  padding: 0 calc(18 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ffffff;
  color: #15120f;
  font-size: calc(22 * var(--rpx));
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
}

.wardrobe-grid {
  margin-top: calc(16 * var(--rpx));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(14 * var(--rpx));
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.wardrobe-item {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  min-height: calc(190 * var(--rpx));
  padding: calc(16 * var(--rpx));
  border-radius: calc(28 * var(--rpx));
  background: #ffffff;
  text-align: left;
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
  box-sizing: border-box;
  overflow: hidden;
}

.wardrobe-item::after {
  border: none;
}

.wardrobe-item > view:last-child {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.wardrobe-selected {
  box-shadow: 0 0 0 calc(4 * var(--rpx)) #ffae3d inset, 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.wardrobe-locked {
  opacity: 0.72;
}

.wardrobe-preview {
  width: calc(260 * var(--rpx));
  height: calc(150 * var(--rpx));
  max-width: 100%;
  border-radius: calc(22 * var(--rpx));
  color: #15120f;
  font-size: calc(34 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.wardrobe-preview-image {
  width: 100%;
  height: 100%;
}

/* 顶满画布、无留白的横幅款（皇冠）缩略图缩一档，观感与其他单品协调（问题②）。
   只缩缩略图渲染框，不动 PNG 资产本身，故直接穿戴叠加尺寸不受影响。
   width 再收窄一档（72%→56%），flex 居中 + margin:auto 保证仍水平/垂直居中。 */
.wardrobe-preview-inset {
  width: 56%;
  height: 56%;
  margin: auto;
}

.wardrobe-item text {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wardrobe-item text:first-child {
  margin-top: calc(12 * var(--rpx));
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

/* 标题（item.name）之外的所有 text——性别·物种 / 连续打卡进度 / 赠券角标——统一小号灰字。
   用 :not(:first-child) 而非 nth-child(2)+last-child：限定打卡款多一条赠券角标时，
   进度文案「连续打卡 X/Y 天」会落到第 3 个非 last-child 位置，旧选择器漏掉它 → 字号回退默认放大。 */
.wardrobe-item text:not(:first-child) {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.3;
  white-space: normal;
  word-break: break-all;
}

.wardrobe-filter-empty {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  padding: calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #fff7ec;
  box-sizing: border-box;
}

.wardrobe-filter-empty text {
  display: block;
  color: #8f857a;
  font-size: calc(22 * var(--rpx));
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.wardrobe-empty {
  margin-top: calc(16 * var(--rpx));
  width: 100%;
  padding: calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  box-sizing: border-box;
}

.wardrobe-empty text {
  display: block;
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
  line-height: 1.45;
}

.wardrobe-empty text:last-child {
  margin-top: calc(8 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
  font-weight: 700;
}

.behavior-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: calc(12 * var(--rpx));
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.behavior-card {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: calc(128 * var(--rpx));
  padding: calc(16 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: #ffffff;
  text-align: left;
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.behavior-card text {
  display: block;
  max-width: 100%;
  overflow: hidden;
  word-break: break-word;
}

.behavior-card-icon {
  display: block;
  width: calc(34 * var(--rpx));
  height: calc(34 * var(--rpx));
}

.behavior-card text:nth-child(2) {
  margin-top: calc(8 * var(--rpx));
  color: #15120f;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.behavior-card text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(19 * var(--rpx));
  line-height: 1.3;
}

.behavior-active {
  background: #ffae3d;
}

.behavior-active text:last-child {
  color: rgba(47, 32, 24, 0.72);
}

.sync-list {
  display: grid;
  gap: calc(12 * var(--rpx));
}

.sync-item {
  padding: calc(20 * var(--rpx)) calc(22 * var(--rpx));
  border-radius: calc(26 * var(--rpx));
  background: #ffffff;
  display: flex;
  gap: calc(18 * var(--rpx));
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(61, 47, 31, 0.05);
}

.sync-item > text {
  color: #f3a33a;
  font-size: calc(24 * var(--rpx));
  font-weight: 900;
}

.sync-item view text {
  display: block;
}

.sync-item view text:first-child {
  color: #15120f;
  font-size: calc(25 * var(--rpx));
  font-weight: 900;
}

.sync-item view text:last-child {
  margin-top: calc(6 * var(--rpx));
  color: #8f857a;
  font-size: calc(21 * var(--rpx));
}

@keyframes avatarHop {
  0%, 100% {
    transform: translateY(0) rotate(-1deg) scale(1);
  }
  50% {
    transform: translateY(calc(-14 * var(--rpx))) rotate(1.5deg) scale(1.012);
  }
}

@keyframes avatarBreathe {
  0%, 100% {
    transform: translateY(calc(8 * var(--rpx))) scale(0.99);
  }
  50% {
    transform: translateY(calc(12 * var(--rpx))) scale(1.018);
  }
}

@keyframes avatarNod {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(2deg) translateY(calc(8 * var(--rpx))) scale(1.01);
  }
}

@keyframes sparkleFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
    opacity: 0.55;
  }
  50% {
    transform: translateY(calc(-10 * var(--rpx))) scale(1.18);
    opacity: 1;
  }
}

@keyframes glowPulse {
  0%, 100% {
    transform: scale(0.92);
    opacity: 0.45;
  }
  50% {
    transform: scale(1.08);
    opacity: 0.9;
  }
}

@keyframes eyeBlink {
  0%, 88%, 100% {
    transform: scaleY(1);
    opacity: 0.92;
  }
  92%, 95% {
    transform: scaleY(0.2);
    opacity: 0.45;
  }
}

/* 满意度反馈 */
.avatar-feedback {
  margin-top: calc(24 * var(--rpx));
  padding: calc(24 * var(--rpx));
  background: #fff8ef;
  border-radius: calc(24 * var(--rpx));
  box-shadow: 0 calc(6 * var(--rpx)) calc(18 * var(--rpx)) rgba(255, 174, 61, 0.12);
}

.avatar-feedback-title {
  display: block;
  font-size: calc(28 * var(--rpx));
  font-weight: 600;
  color: #5a4632;
  margin-bottom: calc(16 * var(--rpx));
}

.avatar-feedback-rate {
  display: flex;
  gap: calc(16 * var(--rpx));
}

.avatar-feedback-btn {
  flex: 1;
  font-size: calc(26 * var(--rpx));
  color: #7a6650;
  background: #fffaf2;
  border: calc(2 * var(--rpx)) solid #ffe2bd;
  border-radius: calc(999 * var(--rpx));
  padding: calc(14 * var(--rpx)) 0;
  line-height: 1.4;
}

.avatar-feedback-btn.is-active {
  color: #fff;
  background: #ffae3d;
  border-color: #ffae3d;
}

.avatar-feedback-reasons {
  margin-top: calc(18 * var(--rpx));
}

.avatar-feedback-subtitle {
  display: block;
  font-size: calc(24 * var(--rpx));
  color: #9b8b76;
  margin-bottom: calc(12 * var(--rpx));
}

.avatar-feedback-chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--rpx));
  margin-bottom: calc(16 * var(--rpx));
}

.avatar-feedback-chip {
  font-size: calc(24 * var(--rpx));
  color: #7a6650;
  background: #fffaf2;
  border: calc(2 * var(--rpx)) solid #ffe2bd;
  border-radius: calc(999 * var(--rpx));
  padding: calc(10 * var(--rpx)) calc(22 * var(--rpx));
  line-height: 1.5;
}

.avatar-feedback-chip.is-active {
  color: #fff;
  background: #f7b26a;
  border-color: #f7b26a;
}

.avatar-feedback-thanks {
  display: block;
  margin-top: calc(14 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  color: #ffae3d;
}

/* 陪玩浮层：真实倒计时 + 玩法互动 */
.play-session-mask {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(40, 26, 12, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  padding: 0 calc(40 * var(--rpx));
}

.play-session-card {
  width: 100%;
  max-width: calc(620 * var(--rpx));
  background: linear-gradient(160deg, #fff3d6 0%, #ffffff 70%);
  border-radius: calc(28 * var(--rpx));
  padding: calc(36 * var(--rpx)) calc(32 * var(--rpx)) calc(28 * var(--rpx));
  box-shadow: 0 calc(16 * var(--rpx)) calc(48 * var(--rpx)) rgba(40, 26, 12, 0.25);
}

.play-session-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.play-session-title {
  font-size: calc(32 * var(--rpx));
  font-weight: 600;
  color: #5a3a13;
}

.play-session-timer {
  font-size: calc(44 * var(--rpx));
  font-weight: 700;
  color: #ff8a1e;
  font-variant-numeric: tabular-nums;
}

.play-session-progress {
  margin-top: calc(20 * var(--rpx));
  height: calc(14 * var(--rpx));
  border-radius: calc(14 * var(--rpx));
  background: #ffe2b0;
  overflow: hidden;
}

.play-session-progress-fill {
  height: 100%;
  border-radius: calc(14 * var(--rpx));
  background: linear-gradient(90deg, #ffcf4a 0%, #ff8a1e 100%);
  transition: width 0.4s ease;
}

.play-session-scene {
  margin-top: calc(22 * var(--rpx));
  border-radius: calc(20 * var(--rpx));
  background: linear-gradient(180deg, #fff7ec 0%, #ffeccd 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: calc(20 * var(--rpx)) calc(22 * var(--rpx)) calc(18 * var(--rpx));
  overflow: hidden;
}

/* 宠物分身舞台：分身形象 + 影子 + 光斑 + 互动道具/爱心动效。 */
.play-pet-stage {
  position: relative;
  width: 100%;
  height: calc(240 * var(--rpx));
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.play-pet-avatar {
  position: relative;
  width: calc(200 * var(--rpx));
  height: calc(200 * var(--rpx));
  z-index: 2;
  transform-origin: 50% 100%;
  animation: playPetBreathe 2.6s ease-in-out infinite;
}

.play-pet-avatar.play-react-a {
  animation: playPetBreathe 2.6s ease-in-out infinite, playPetPounceA 0.6s ease;
}

.play-pet-avatar.play-react-b {
  animation: playPetBreathe 2.6s ease-in-out infinite, playPetPounceB 0.6s ease;
}

.play-pet-shadow {
  position: absolute;
  bottom: calc(14 * var(--rpx));
  left: 50%;
  width: calc(180 * var(--rpx));
  height: calc(26 * var(--rpx));
  background: rgba(120, 80, 30, 0.18);
  border-radius: 50%;
  transform: translateX(-50%);
  filter: blur(calc(2 * var(--rpx)));
  z-index: 1;
  animation: playPetShadow 2.6s ease-in-out infinite;
}

.play-pet-prop {
  position: absolute;
  top: calc(8 * var(--rpx));
  right: calc(96 * var(--rpx));
  width: calc(48 * var(--rpx));
  height: calc(48 * var(--rpx));
  z-index: 3;
}

.play-pet-prop.play-react-a,
.play-pet-prop.play-react-b {
  animation: playPropWiggle 0.6s ease;
}

.play-pet-heart {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(40 * var(--rpx));
  height: calc(40 * var(--rpx));
  z-index: 3;
  transform: translateX(-50%);
  opacity: 0;
}

.play-pet-heart.play-react-a,
.play-pet-heart.play-react-b {
  animation: playHeartFloat 0.9s ease-out;
}

.play-pet-spark {
  position: absolute;
  width: calc(12 * var(--rpx));
  height: calc(12 * var(--rpx));
  border-radius: 50%;
  background: #ffd34a;
  opacity: 0.7;
  z-index: 1;
}

.play-pet-spark.one {
  top: calc(30 * var(--rpx));
  left: calc(80 * var(--rpx));
  animation: playSpark 2.8s ease-in-out infinite;
}

.play-pet-spark.two {
  top: calc(70 * var(--rpx));
  right: calc(70 * var(--rpx));
  animation: playSpark 3.4s ease-in-out infinite 0.6s;
}

.play-pet-spark.three {
  top: calc(120 * var(--rpx));
  left: calc(130 * var(--rpx));
  animation: playSpark 3.1s ease-in-out infinite 1.2s;
}

@keyframes playPetBreathe {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(calc(-6 * var(--rpx))) scale(1.03); }
}

@keyframes playPetPounceA {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(calc(-26 * var(--rpx))) scale(1.08) rotate(-4deg); }
  70% { transform: translateY(calc(4 * var(--rpx))) scale(0.97) rotate(3deg); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes playPetPounceB {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(calc(-26 * var(--rpx))) scale(1.08) rotate(4deg); }
  70% { transform: translateY(calc(4 * var(--rpx))) scale(0.97) rotate(-3deg); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes playPetShadow {
  0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.18; }
  50% { transform: translateX(-50%) scale(0.86); opacity: 0.12; }
}

@keyframes playPropWiggle {
  0% { transform: rotate(0) scale(1); }
  30% { transform: rotate(-18deg) scale(1.15); }
  60% { transform: rotate(14deg) scale(1.1); }
  100% { transform: rotate(0) scale(1); }
}

@keyframes playHeartFloat {
  0% { opacity: 0; transform: translateX(-50%) translateY(calc(10 * var(--rpx))) scale(0.6); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translateX(-50%) translateY(calc(-48 * var(--rpx))) scale(1.1); }
}

@keyframes playSpark {
  0%, 100% { opacity: 0.2; transform: scale(0.6); }
  50% { opacity: 0.85; transform: scale(1.15); }
}

.play-session-reaction {
  margin-top: calc(10 * var(--rpx));
  font-size: calc(26 * var(--rpx));
  color: #7a5320;
  text-align: center;
}

.play-session-meta {
  margin-top: calc(18 * var(--rpx));
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: calc(24 * var(--rpx));
  color: #a8804a;
}

.play-session-actions {
  margin-top: calc(22 * var(--rpx));
  display: flex;
  flex-wrap: wrap;
  gap: calc(18 * var(--rpx));
}

.play-action-btn {
  flex: 1 1 calc(50% - calc(9 * var(--rpx)));
  min-width: calc(50% - calc(9 * var(--rpx)));
  background: #fff;
  border: calc(2 * var(--rpx)) solid #ffd28a;
  border-radius: calc(18 * var(--rpx));
  padding: calc(20 * var(--rpx)) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.3;
}

.play-action-btn::after {
  border: none;
}

.play-action-icon {
  width: calc(44 * var(--rpx));
  height: calc(44 * var(--rpx));
}

.play-action-label {
  margin-top: calc(6 * var(--rpx));
  font-size: calc(26 * var(--rpx));
  color: #5a3a13;
}

.play-session-footer {
  margin-top: calc(26 * var(--rpx));
  display: flex;
  gap: calc(18 * var(--rpx));
}

.play-session-stop,
.play-session-claim {
  flex: 1;
  border-radius: calc(18 * var(--rpx));
  font-size: calc(28 * var(--rpx));
  padding: calc(18 * var(--rpx)) 0;
}

.play-session-stop::after,
.play-session-claim::after {
  border: none;
}

.play-session-stop {
  background: #fff0d6;
  color: #8a6a3a;
}

.play-session-claim {
  background: #ff8a1e;
  color: #fff;
}

.play-session-claim-disabled {
  background: #ffd9a8;
  color: #fff;
}

/* ---- 健康数字孪生：孪生态发光/蔫蔫 + 每日自评卡 ---- */
/* 孪生态视觉钩子：叠在 .fluffy-avatar 上，随今日自评状态改变分身表现（进度.txt 情感回报核心）。 */
.fluffy-avatar.twin-radiant {
  filter: saturate(1.12) brightness(1.06);
  animation: twin-radiant-glow 2.6s ease-in-out infinite;
}

@keyframes twin-radiant-glow {
  0%, 100% { filter: saturate(1.1) brightness(1.04) drop-shadow(0 0 calc(6 * var(--rpx)) rgba(255, 196, 84, 0.45)); }
  50% { filter: saturate(1.18) brightness(1.1) drop-shadow(0 0 calc(18 * var(--rpx)) rgba(255, 196, 84, 0.85)); }
}

.fluffy-avatar.twin-sluggish {
  filter: saturate(0.82) brightness(0.96);
  transform: translateY(calc(4 * var(--rpx)));
}

.fluffy-avatar.twin-concern {
  filter: saturate(0.9) brightness(0.98);
}

/* 状态条：分身画像下方一行孪生态文案 + radiant 徽章。 */
.twin-status {
  margin-top: calc(12 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
  background: #fff6e9;
}

.twin-status-radiant { background: #fff2d0; }
.twin-status-sluggish { background: #eef1f6; }
.twin-status-concern { background: #fdeede; }

.twin-status-caption {
  font-size: calc(24 * var(--rpx));
  color: #6a5640;
  line-height: 1.5;
}

.twin-status-badge {
  font-size: calc(22 * var(--rpx));
  color: #c8892b;
  font-weight: 600;
}

/* 机制①分身嘴说诊疗 · 日常口吻气泡 */
.twin-voice-bubble {
  margin-top: calc(12 * var(--rpx));
  padding: calc(14 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #fff3e2;
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--rpx));
}

.twin-voice-bubble-name {
  font-size: calc(22 * var(--rpx));
  color: #b86514;
  font-weight: 600;
}

.twin-voice-bubble-body {
  font-size: calc(24 * var(--rpx));
  color: #b86514;
  line-height: 1.5;
}

/* 机制①分身嘴说诊疗 · 严肃卡（最近问诊 rank≥2） */
.twin-voice-serious {
  margin-top: calc(12 * var(--rpx));
  padding: calc(18 * var(--rpx)) calc(20 * var(--rpx));
  border-radius: calc(18 * var(--rpx));
  background: #fdecec;
  border: calc(2 * var(--rpx)) solid #f3b6b6;
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--rpx));
}

.twin-voice-serious-head {
  font-size: calc(25 * var(--rpx));
  font-weight: 700;
  color: #c0392b;
}

.twin-voice-serious-body {
  font-size: calc(24 * var(--rpx));
  color: #7a3b34;
  line-height: 1.55;
}

.twin-voice-serious-cta {
  align-self: flex-start;
  margin-top: calc(4 * var(--rpx));
  padding: calc(10 * var(--rpx)) calc(24 * var(--rpx));
  font-size: calc(23 * var(--rpx));
  color: #fff;
  background: #d9534f;
  border-radius: calc(999 * var(--rpx));
}

.self-check-card {
  margin-top: calc(18 * var(--rpx));
  padding: calc(20 * var(--rpx)) calc(14 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: linear-gradient(180deg, #fff8ee 0%, #fff 100%);
  box-shadow: 0 calc(8 * var(--rpx)) calc(24 * var(--rpx)) rgba(214, 168, 106, 0.14);
}

.self-check-head {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
  margin-bottom: calc(16 * var(--rpx));
}

.self-check-title {
  font-size: calc(30 * var(--rpx));
  font-weight: 700;
  color: #5a4632;
}

.self-check-sub {
  font-size: calc(22 * var(--rpx));
  color: #a08a70;
  line-height: 1.5;
}

.self-check-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-bottom: calc(12 * var(--rpx));
}

.self-check-label {
  flex-shrink: 0;
  width: calc(64 * var(--rpx));
  white-space: nowrap;
  margin-right: calc(10 * var(--rpx));
  font-size: calc(24 * var(--rpx));
  font-weight: 600;
  color: #6a5640;
}

.self-check-options {
  display: flex;
  flex-wrap: nowrap;
  flex: 1;
  min-width: 0;
  gap: calc(12 * var(--rpx));
}

.self-check-opt {
  display: block;
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: calc(6 * var(--rpx)) 0;
  font-size: calc(21 * var(--rpx));
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  border-radius: calc(999 * var(--rpx));
  background: #f3ede3;
  color: #8a7358;
  border: none;
}

.self-check-opt-on {
  background: #ffe2c2;
  color: #b86514;
}

.self-check-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(20 * var(--rpx));
}

.self-check-submit {
  margin: 0;
  padding: calc(14 * var(--rpx)) calc(40 * var(--rpx));
  font-size: calc(26 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #f3a33a;
  color: #fff;
  border: none;
}

.self-check-submit::after {
  border: none;
}

.self-check-submit-off {
  background: #ffe2c2;
  color: #c9a06a;
}

.self-check-skip {
  font-size: calc(22 * var(--rpx));
  color: #b0a08a;
  padding: calc(8 * var(--rpx)) calc(12 * var(--rpx));
}

/* 机制②健康周报分享卡 */
.health-report-card {
  margin: calc(20 * var(--rpx)) calc(24 * var(--rpx)) 0;
  padding: calc(24 * var(--rpx));
  border-radius: calc(24 * var(--rpx));
  background: linear-gradient(180deg, #fffdf7 0%, #fff6e8 100%);
  box-shadow: 0 calc(6 * var(--rpx)) calc(20 * var(--rpx)) rgba(255, 176, 92, 0.12);
}

.health-report-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.health-report-title {
  font-size: calc(28 * var(--rpx));
  font-weight: 600;
  color: #6b4f2a;
}

.health-report-toggle {
  font-size: calc(24 * var(--rpx));
  color: #ff8a1e;
}

.health-report-body {
  margin-top: calc(18 * var(--rpx));
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--rpx));
}

.health-report-headline {
  font-size: calc(27 * var(--rpx));
  font-weight: 600;
  color: #4a3a24;
}

.health-report-meta {
  font-size: calc(23 * var(--rpx));
  color: #9a866a;
}

.health-report-dims {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--rpx));
  margin-top: calc(4 * var(--rpx));
}

.health-report-dim {
  display: flex;
  flex-direction: column;
  padding: calc(12 * var(--rpx)) calc(18 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: rgba(255, 224, 186, 0.4);
}

.health-report-dim-label {
  font-size: calc(22 * var(--rpx));
  color: #8a745a;
}

.health-report-dim-value {
  font-size: calc(24 * var(--rpx));
  color: #5a4526;
  margin-top: calc(4 * var(--rpx));
}

.health-report-highlights {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--rpx));
  margin-top: calc(6 * var(--rpx));
}

.health-report-hl {
  font-size: calc(23 * var(--rpx));
  color: #6f5a3c;
  line-height: 1.5;
}

.health-report-disclaimer {
  font-size: calc(20 * var(--rpx));
  color: #b0a08a;
  line-height: 1.5;
  margin-top: calc(6 * var(--rpx));
}

.health-report-share {
  margin: calc(12 * var(--rpx)) 0 0;
  padding: calc(14 * var(--rpx)) calc(40 * var(--rpx));
  font-size: calc(26 * var(--rpx));
  border-radius: calc(999 * var(--rpx));
  background: #ff8a1e;
  color: #fff;
  border: none;
}

.health-report-share::after {
  border: none;
}

.health-report-empty {
  margin-top: calc(16 * var(--rpx));
}

.health-report-empty-hint {
  font-size: calc(23 * var(--rpx));
  color: #9a866a;
  line-height: 1.5;
}

/* ①路线图第2步·陪玩收尾一问：轻量采集卡（遗罩模态，镜像 play-session-mask）。 */
.play-checkin-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.45); display: flex; align-items: center; justify-content: center; z-index: 210; padding: calc(40 * var(--rpx)); box-sizing: border-box; }
.play-checkin-card { width: 100%; max-width: calc(560 * var(--rpx)); background: #fffaf3; border-radius: calc(32 * var(--rpx)); padding: calc(40 * var(--rpx)) calc(36 * var(--rpx)); box-shadow: 0 calc(16 * var(--rpx)) calc(48 * var(--rpx)) rgba(0,0,0,0.18); }
.play-checkin-head { margin-bottom: calc(28 * var(--rpx)); }
.play-checkin-title { display: block; color: #15120f; font-size: calc(30 * var(--rpx)); font-weight: 900; line-height: 1.4; }
.play-checkin-sub { display: block; margin-top: calc(10 * var(--rpx)); color: #8f857a; font-size: calc(23 * var(--rpx)); line-height: 1.4; }
.play-checkin-options { display: flex; gap: calc(20 * var(--rpx)); }
.play-checkin-opt { flex: 1; margin: 0; padding: calc(22 * var(--rpx)) 0; border-radius: calc(22 * var(--rpx)); background: #f1e6d8; color: #6b5f52; font-size: calc(27 * var(--rpx)); font-weight: 700; line-height: 1.2; }
.play-checkin-opt::after { border: none; }
.play-checkin-opt-on { background: #ffb340; color: #fff; }
.body-measure-weight { margin-top: calc(26 * var(--rpx)); display: flex; align-items: center; justify-content: center; gap: calc(14 * var(--rpx)); }
.body-measure-weight-label { color: #9a8f82; font-size: calc(24 * var(--rpx)); }
.body-measure-weight-input { width: calc(160 * var(--rpx)); padding: calc(12 * var(--rpx)) calc(18 * var(--rpx)); border-radius: calc(18 * var(--rpx)); background: #f1e6d8; color: #6b5f52; font-size: calc(27 * var(--rpx)); font-weight: 700; text-align: center; }
.body-measure-weight-unit { color: #6b5f52; font-size: calc(25 * var(--rpx)); font-weight: 700; }
.play-checkin-actions { margin-top: calc(32 * var(--rpx)); display: flex; flex-direction: column; align-items: center; gap: calc(16 * var(--rpx)); }
.play-checkin-submit { width: 100%; margin: 0; padding: calc(24 * var(--rpx)) 0; border-radius: calc(24 * var(--rpx)); background: #ff8c1a; color: #fff; font-size: calc(28 * var(--rpx)); font-weight: 900; }
.play-checkin-submit::after { border: none; }
.play-checkin-submit-off { background: #e6d7c4; color: #b3a08a; }
.play-checkin-skip { color: #9a8f82; font-size: calc(23 * var(--rpx)); }

/* 诊前卡就地弹窗（严肃卡「查看诊前卡」不跳问询页直接弹）：遮罩复用 play-checkin-mask。
   信息层级：风险横幅头（随 appointment/urgent 变色）→ 建议行动高亮框 → 下一步去哪 →
   资料分组白色小卡（弱化为参考资料）→ 底部细则。头/尾固定，中间滚动。 */
.previsit-popup { width: 100%; max-width: calc(640 * var(--rpx)); max-height: calc(82 * var(--vhu)); background: #fffaf4; border-radius: calc(28 * var(--rpx)); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 calc(16 * var(--rpx)) calc(48 * var(--rpx)) rgba(0,0,0,0.18); }
.previsit-popup-head { display: flex; align-items: center; justify-content: space-between; padding: calc(26 * var(--rpx)) calc(28 * var(--rpx)); }
.previsit-popup-head-appointment { background: linear-gradient(135deg, #f2a04c, #e0913c); }
.previsit-popup-head-urgent { background: linear-gradient(135deg, #e2645f, #d9534f); }
.previsit-popup-head-text { display: flex; align-items: center; gap: calc(16 * var(--rpx)); }
.previsit-popup-title { font-size: calc(32 * var(--rpx)); font-weight: 900; color: #ffffff; }
.previsit-popup-badge { padding: calc(4 * var(--rpx)) calc(18 * var(--rpx)); border-radius: calc(999 * var(--rpx)); font-size: calc(22 * var(--rpx)); font-weight: 800; background: rgba(255,255,255,0.24); color: #ffffff; }
.previsit-popup-close { width: calc(52 * var(--rpx)); height: calc(52 * var(--rpx)); line-height: calc(48 * var(--rpx)); text-align: center; border-radius: 50%; background: rgba(255,255,255,0.24); color: #ffffff; font-size: calc(34 * var(--rpx)); flex-shrink: 0; }
.previsit-popup-body { flex: 1; min-height: 0; padding: calc(24 * var(--rpx)) calc(28 * var(--rpx)); box-sizing: border-box; }
/* ② 建议行动：最重要的一句话，放最前、大字、色框高亮。 */
.previsit-popup-action { display: flex; flex-direction: column; gap: calc(8 * var(--rpx)); padding: calc(20 * var(--rpx)) calc(22 * var(--rpx)); border-radius: calc(20 * var(--rpx)); margin-bottom: calc(20 * var(--rpx)); }
.previsit-popup-action-appointment { background: #fdf1e2; border-left: calc(8 * var(--rpx)) solid #e0913c; }
.previsit-popup-action-urgent { background: #fdeceb; border-left: calc(8 * var(--rpx)) solid #d9534f; }
.previsit-popup-action-label { font-size: calc(22 * var(--rpx)); font-weight: 800; color: #9b8676; }
.previsit-popup-action-text { font-size: calc(28 * var(--rpx)); font-weight: 800; color: #3d2f1f; line-height: 1.5; }
.previsit-popup-section-label { font-size: calc(24 * var(--rpx)); font-weight: 800; color: #6f5a48; }
/* ③ 下一步去哪：行动区，跟在建议行动后面。 */
.previsit-popup-routing { display: flex; flex-direction: column; gap: calc(12 * var(--rpx)); margin-bottom: calc(20 * var(--rpx)); }
.previsit-popup-routing-channels { display: flex; gap: calc(14 * var(--rpx)); }
.previsit-popup-routing-btn { flex: 1; margin: 0; padding: calc(16 * var(--rpx)) calc(12 * var(--rpx)); border-radius: calc(18 * var(--rpx)); background: #f1e6d8; display: flex; flex-direction: column; gap: calc(4 * var(--rpx)); }
.previsit-popup-routing-btn::after { border: none; }
.previsit-popup-routing-btn-primary { background: #ffe3c2; border: calc(2 * var(--rpx)) solid #e0913c; }
.previsit-popup-routing-btn-label { font-size: calc(25 * var(--rpx)); font-weight: 800; color: #3d2f1f; }
.previsit-popup-routing-btn-hint { font-size: calc(20 * var(--rpx)); color: #9b8676; line-height: 1.4; }
/* ④ 资料分组：白色小卡分块（档案/时间线/居家观察/已排除/分级依据），视觉上退为「带去医院的资料」。 */
.previsit-popup-section { display: flex; flex-direction: column; gap: calc(10 * var(--rpx)); padding: calc(18 * var(--rpx)) calc(20 * var(--rpx)); border-radius: calc(18 * var(--rpx)); background: #ffffff; border: calc(2 * var(--rpx)) solid #f0d9c5; margin-bottom: calc(14 * var(--rpx)); }
.previsit-popup-rows { display: flex; flex-wrap: wrap; gap: calc(8 * var(--rpx)) calc(28 * var(--rpx)); }
.previsit-popup-row { display: flex; gap: calc(8 * var(--rpx)); }
.previsit-popup-row-k { font-size: calc(23 * var(--rpx)); color: #9b8676; }
.previsit-popup-row-v { font-size: calc(23 * var(--rpx)); color: #3d2f1f; font-weight: 700; }
.previsit-popup-items { display: flex; flex-direction: column; gap: calc(8 * var(--rpx)); }
.previsit-popup-item-row { display: flex; gap: calc(10 * var(--rpx)); }
.previsit-popup-item-dot { font-size: calc(23 * var(--rpx)); color: #c0764a; font-weight: 900; flex-shrink: 0; }
.previsit-popup-item { font-size: calc(23 * var(--rpx)); color: #4d3d2c; line-height: 1.55; }
.previsit-popup-share-hint { display: block; margin-top: calc(6 * var(--rpx)); font-size: calc(22 * var(--rpx)); color: #3d2f1f; font-weight: 800; }
/* ⑤ 底部细则：披露/免责/AI 标注统一最弱层级。 */
.previsit-popup-footer { display: flex; flex-direction: column; gap: calc(6 * var(--rpx)); margin-top: calc(12 * var(--rpx)); }
.previsit-popup-fine { display: block; font-size: calc(20 * var(--rpx)); color: #b3a08a; line-height: 1.5; }
.previsit-popup-ctas { display: flex; gap: calc(16 * var(--rpx)); padding: calc(20 * var(--rpx)) calc(28 * var(--rpx)) calc(calc(20 * var(--rpx)) + env(safe-area-inset-bottom)); background: #fffaf4; border-top: calc(2 * var(--rpx)) solid #f0d9c5; }
.previsit-popup-cta { flex: 1; margin: 0; padding: calc(20 * var(--rpx)) 0; border-radius: calc(22 * var(--rpx)); background: #f1e6d8; color: #6b5f52; font-size: calc(26 * var(--rpx)); font-weight: 800; }
.previsit-popup-cta::after { border: none; }
.previsit-popup-cta-primary { background: #ff8c1a; color: #ffffff; }


/* ===== web 基线层（build-ui.js 追加，非小程序源码） ===== */
:root {
  /* 设计画布 750×1624rpx（小程序基准机型比例）。
     手机（默认）：--rpx 只由屏宽驱动（与小程序 rpx = 屏宽/750 同口径），画布贴满整屏、
     四边不留舞台底色；1vh 跟真实视口高走。桌面宽屏见下方 @media 覆盖。 */
  --design-h: 1624;
  --stage-pad: 0px;
  --rpx: calc(min(100vw, 480px) / 750);
  --phone-w: calc(750 * var(--rpx));
  /* wxss 里 1vh = 手机画布高的 1%（build-ui.js 转换 vh 时引用）；手机上画布高 = 真实视口高 */
  --vhu: 1vh;
  /* wxss 里 1vw = 手机画布宽的 1%（build-ui.js 转换 vw 时引用） */
  --vwu: calc(750 * var(--rpx) / 100);
  /* 网页版顶部留白：小程序的 176rpx 顶边距是给真机状态栏+胶囊的，网页版状态条
     display:none 且浏览器自带标题栏，只保留少量呼吸空间（下方按选择器覆盖）。 */
  --web-top-inset: calc(32 * var(--rpx));
}
/* 移动浏览器地址栏收展时视口不跳动（不支持 dvh 的内核回退 1vh） */
@supports (height: 1dvh) {
  :root { --vhu: 1dvh; }
}
/* 桌面宽屏：--rpx 加视口高约束，整机等比缩小居中成一部手机，开屏等绝对定位排版完整不被裁 */
@media (min-width: 520px) {
  :root {
    --stage-pad: 20px;
    --rpx: min(
      calc(480px / 750),
      calc((100vh - 2 * var(--stage-pad)) / var(--design-h))
    );
    --vhu: calc(var(--design-h) * var(--rpx) / 100);
  }
}
html, body { margin: 0; padding: 0; }
/* 手机画布在视口里居中（宽或高受限时四周留 stage 背景） */
.stage { min-height: calc(100 * var(--vhu)); display: flex; align-items: center; justify-content: center; }
* { -webkit-tap-highlight-color: transparent; }
view, scroll-view, swiper, picker, form, rich-text { display: block; }
text { display: inline; }
img { border: none; }
img[mode="aspectFit"] { object-fit: contain; }
img[mode="aspectFill"] { object-fit: cover; }
button { font-family: inherit; font-size: inherit; color: inherit; cursor: pointer; appearance: none; -webkit-appearance: none; text-align: center; }
input {
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  color: inherit;
  padding: 0;
  min-width: 0;
}
/* 桌面浏览器：手机宽度居中呈现，与小程序等比 */
.phone { width: 100%; max-width: var(--phone-w); margin: 0 auto; }
/* 关键：transform 让所有 position:fixed 后代（输入栏/快捷行/tabbar/悬浮宠物/弹层）
   以 .phone 为包含块，桌面居中时不会跑到手机框外。 */
.phone { transform: translateZ(0); --keyboard-offset: 0px; }
/* 桌面宽屏：手机画布加圆角投影，呈现成一部居中的手机 */
@media (min-width: 520px) {
  .phone { border-radius: 36px; box-shadow: 0 30px 80px rgba(60, 42, 24, 0.18); }
}
/* 顶部 176rpx（真机状态栏+胶囊位）压缩为 --web-top-inset，消除网页版页顶大块空白。
   注意 .screen-chat 的 176rpx 顶边距是给 fixed 的 .hero-chat-fixed 让位的（≈其高度），不改。 */
.phone, .feature-phone { padding-top: var(--web-top-inset); }
.screen { height: calc(calc(100 * var(--vhu)) - var(--web-top-inset)); }
.splash { inset: var(--web-top-inset) 0 0; }
.onboarding, .profile-detail { inset: var(--web-top-inset) calc(28 * var(--rpx)) calc(env(safe-area-inset-bottom) + calc(34 * var(--rpx))); }
.hero-chat-fixed { top: var(--web-top-inset); }
.feature-scroll { height: calc(calc(100 * var(--vhu)) - var(--web-top-inset) - env(safe-area-inset-bottom) - calc(150 * var(--rpx))); }
.tabbar { width: 100%; }
/* 隐藏聊天滚动条（小程序 show-scrollbar=false 的等价） */
.chat-scroll { overflow-y: auto; }
.chat-scroll::-webkit-scrollbar, .screen::-webkit-scrollbar { display: none; }
.chat-scroll, .screen { scrollbar-width: none; }
/* 隐藏的 file input（网页选图入口） */
.web-hidden-file { display: none; }
/* hidden 属性必须压过 view{display:block} 等基线规则 */
[hidden] { display: none !important; }
/* 网页版 toast（等价 wx.showToast 无图标形态） */
.web-toast {
  position: fixed;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 9000;
  max-width: 70%;
  padding: calc(20 * var(--rpx)) calc(32 * var(--rpx));
  border-radius: calc(16 * var(--rpx));
  background: rgba(17, 17, 17, 0.82);
  color: #fff;
  font-size: calc(28 * var(--rpx));
  line-height: 1.5;
  text-align: center;
  pointer-events: none;
}
