*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--page)}
body{font-family:var(--font-soft);font-weight:var(--weight-regular);letter-spacing:-.012em;color:var(--text);overscroll-behavior:none;user-select:none;-webkit-user-select:none;font-synthesis:none}
.viewport{position:fixed;inset:0;overflow:hidden;background-color:var(--wallpaper-color);background-image:var(--wallpaper-image);background-position:var(--wallpaper-position);background-size:var(--wallpaper-size);background-repeat:var(--wallpaper-repeat);touch-action:none}
.stage{display:flex;width:calc(var(--home-page-count) * 100vw);height:100dvh;transform:translate3d(0,0,0);will-change:transform}
.stage.animating{transition:transform 440ms cubic-bezier(.18,.88,.22,1.12)}
.stage.animating .profile-info-wallpaper{transition:transform 440ms cubic-bezier(.18,.88,.22,1.12)}
.screen{width:100vw;height:100dvh;flex:0 0 100vw;padding:var(--edge-y) var(--gap);overflow:hidden}
.page-content{display:grid;gap:var(--block-gap);align-content:start}
.page-one{grid-template-rows:var(--grid4) var(--grid2)}
.page-two,.page-four{grid-template-rows:repeat(3,var(--grid2))}
.page-three{grid-template-rows:var(--grid4) var(--grid2)}
[data-media-view]{background-color:var(--image-placeholder)}

.profile{--profile-avatar-size:120px;--profile-avatar-text-gap:13px;--profile-section-overlap:15px;--profile-cover-overhang:10px;--profile-name-size:20px;--profile-name-line:24px;--profile-id-size:10.5px;--profile-id-line:14px;--profile-bio-size:13.5px;--profile-bio-line:18px;--profile-location-size:11.5px;--profile-location-line:15px;position:relative;width:100%;height:var(--grid4);overflow:hidden;border-radius:var(--radius);display:flex;flex-direction:column}
.profile-cover{position:relative;z-index:0;width:100%;height:calc(50% + var(--profile-cover-overhang));flex:0 0 calc(50% + var(--profile-cover-overhang));background-position:center;background-size:cover;background-repeat:no-repeat}
.profile-info{position:relative;z-index:1;flex:1 1 auto;min-height:0;margin-top:calc(-1 * var(--profile-section-overlap));border-radius:var(--radius) var(--radius) 0 0}
.profile-info-bg{position:absolute;z-index:0;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;contain:paint}
.profile-info-wallpaper{position:absolute;z-index:0;left:0;top:0;width:100vw;height:100dvh;background-color:var(--wallpaper-color);background-image:var(--wallpaper-image);background-position:var(--wallpaper-position);background-size:var(--wallpaper-size);background-repeat:var(--wallpaper-repeat);transform:translate3d(0,0,0);will-change:transform}
.profile-info-fill{position:absolute;z-index:1;inset:0;background:rgb(255 255 255 / var(--component-bg-alpha));pointer-events:none;transform:translateZ(0)}
.profile-avatar{position:absolute;z-index:2;top:0;left:50%;width:var(--profile-avatar-size);height:var(--profile-avatar-size);border-radius:50%;transform:translate(-50%,-50%);border:0;outline:0;box-shadow:var(--avatar-shadow)}
.profile-details{position:absolute;z-index:2;top:calc(var(--profile-avatar-size) / 2 + var(--profile-avatar-text-gap));left:15px;right:15px;display:flex;flex-direction:column;align-items:center;text-align:center}
.profile-name{font-family:var(--font-ui);font-size:var(--profile-name-size);line-height:var(--profile-name-line);font-weight:var(--weight-semibold);letter-spacing:-.028em;color:var(--text-strong)}
.profile-id{margin-top:2px;font-family:var(--font-ui);font-size:var(--profile-id-size);line-height:var(--profile-id-line);font-weight:var(--weight-regular);letter-spacing:-.01em;color:var(--text-muted)}
.profile-bio{max-width:95%;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:var(--profile-bio-size);line-height:var(--profile-bio-line);font-weight:var(--weight-regular);letter-spacing:-.012em;color:var(--text)}
.profile-location{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:max-content;min-height:22px;margin-top:6px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary) 42%,transparent);font-family:var(--font-ui);font-size:var(--profile-location-size);line-height:var(--profile-location-line);font-weight:var(--weight-regular);color:var(--text-secondary)}
.profile-location-icon{width:.75em;height:1em;display:block;color:currentColor;opacity:.58;flex:0 0 auto}

.inline-fa{font-style:normal;font-weight:900;line-height:1;text-rendering:auto;-webkit-font-smoothing:antialiased}
.app-solid{width:calc(var(--app-icon-size) * .51);height:calc(var(--app-icon-size) * .51);display:grid;place-items:center;font-size:var(--icon-size,calc(var(--app-icon-size) * .444));line-height:1;color:var(--app-icon-color);transition:opacity 120ms ease}
.app-inline-svg{width:var(--icon-size,calc(var(--app-icon-size) * .444));height:var(--icon-size,calc(var(--app-icon-size) * .444));display:block;fill:var(--app-icon-color);color:var(--app-icon-color);transition:opacity 120ms ease}
.icon-wallet{--icon-size:28px}.icon-chat{--icon-size:28px}.icon-weather{--icon-size:28px}.icon-calendar-app{--icon-size:27px}
.icon-douyin{--icon-size:27.5px}.icon-youtube{--icon-size:29px}.icon-x{--icon-size:30.5px}.icon-check{--icon-size:31px}.icon-heart{--icon-size:28px}
.icon-food{--icon-size:27px}.icon-shopping{--icon-size:28px}.icon-weibo{--icon-size:29.7px}.icon-idol{--icon-size:27px}.icon-redbook{--icon-size:46.656px}.icon-instagram{--icon-size:27px}
.icon-music{--icon-size:27px}.icon-reading{--icon-size:26px}.icon-game{--icon-size:27px}.icon-browser{--icon-size:27px}.icon-house{--icon-size:27px}.icon-pet{--icon-size:27px}.icon-online{--icon-size:26px}.icon-store{--icon-size:27px}
.icon-phone{--icon-size:26px}.icon-message{--icon-size:30px}.icon-theme{--icon-size:26px}.icon-settings{--icon-size:26.5px}

.duo-row{display:grid;grid-template-columns:repeat(2,var(--grid2));grid-template-rows:var(--grid2);gap:var(--gap);width:var(--grid4);height:var(--grid2)}
.apps-2x2{display:grid;grid-template:repeat(2,1fr)/repeat(2,1fr);gap:var(--gap);width:var(--grid2);height:var(--grid2);min-width:0;min-height:0}
.app-cell{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.app-shell{width:var(--app-icon-size);height:var(--app-icon-size);flex:0 0 auto;border-radius:var(--app-icon-radius);background-color:var(--app-icon-shell-color);background-position:center;background-size:cover;background-repeat:no-repeat;display:grid;place-items:center;transition:width 120ms ease,height 120ms ease,border-radius 120ms ease}
.app-label{font-family:var(--font-ui);font-size:12px;line-height:12px;font-weight:var(--weight-regular);letter-spacing:-.018em;color:var(--text);white-space:nowrap;transform:translateY(-3px)}
.app-shell.theme-custom-icon>i,.app-shell.theme-custom-icon>svg{opacity:0}

.apps-4x2{display:grid;grid-template:repeat(2,1fr)/repeat(4,1fr);gap:var(--gap);width:var(--grid4);height:var(--grid2);min-width:0;min-height:0}

.home-status,.home-call,.home-diary{background:rgb(255 255 255 / var(--component-bg-alpha));border-radius:var(--radius);overflow:hidden}
.home-polaroid{
  --polaroid-ink:#343434;
  --polaroid-muted:color-mix(in srgb,var(--text-secondary) 78%,transparent);
  --polaroid-accent:var(--app-icon-color);
  --polaroid-frame-dark:var(--polaroid-accent);
  --polaroid-frame-dot:rgba(255,255,255,.58);
  --polaroid-shadow:0 8px 16px rgba(0,0,0,.11);
  --polaroid-photo-inset:inset 0 0 4px rgba(0,0,0,.14);
  --polaroid-card-shift:-20px;
  --polaroid-paw-shift:-28px;
  --polaroid-tag-shift:38px;
  --polaroid-caption-shift:-2px;
  --polaroid-left-w:42%;
  --polaroid-right-w:52%;
  --polaroid-left-side:8px;
  --polaroid-left-bottom:40px;
  --polaroid-right-side:9px;
  --polaroid-right-bottom:48px;
  position:relative;width:var(--grid4);height:var(--grid4);isolation:isolate;overflow:hidden;border-radius:var(--radius);
  background:rgb(255 255 255 / var(--component-bg-alpha))
}
.home-polaroid-bubble{position:absolute;z-index:10;left:5.5%;top:4.5%;max-width:53%;min-height:39px;padding:8px 17px 8px 16px;border-radius:999px;background:var(--polaroid-accent);display:flex;align-items:center;font-family:var(--font-ui);font-size:13px;line-height:20px;font-weight:var(--weight-medium);letter-spacing:-.02em;color:var(--white);white-space:nowrap;box-shadow:0 3px 8px rgba(0,0,0,.06)}
.home-polaroid-bubble::after{content:'';position:absolute;left:11px;bottom:-10px;width:24px;height:18px;background:var(--polaroid-accent);clip-path:polygon(0 0,100% 0,0 100%);transform:skewX(-12deg)}
.home-polaroid-face{position:absolute;z-index:5;left:24%;top:17.5%;font-family:var(--font-ui);font-size:13px;line-height:18px;font-weight:var(--weight-semibold);letter-spacing:-.04em;color:var(--polaroid-muted);transform:rotate(1deg)}
.home-polaroid-decor{position:absolute;z-index:6;display:grid;place-items:center;color:var(--polaroid-ink);pointer-events:none}
.home-polaroid-decor.music{right:7%;top:7%;font-size:38px;color:var(--polaroid-accent);transform:rotate(-15deg)}
.home-polaroid-burst{position:absolute;z-index:4;right:29%;top:15%;width:48px;height:42px;background:rgba(255,255,255,.93);clip-path:polygon(50% 0,57% 14%,69% 5%,73% 21%,88% 15%,85% 31%,100% 34%,87% 47%,99% 58%,83% 64%,89% 80%,72% 77%,67% 94%,55% 83%,45% 100%,38% 83%,22% 94%,21% 77%,3% 80%,12% 64%,0 55%,15% 46%,2% 34%,18% 31%,15% 14%,32% 20%,39% 4%);filter:drop-shadow(0 0 1px rgba(75,75,75,.85)) drop-shadow(0 2px 3px rgba(0,0,0,.06));transform:rotate(-7deg)}
.home-polaroid-card{position:absolute;z-index:3;height:auto;border-radius:2px;transform-origin:center;overflow:hidden;box-shadow:var(--polaroid-shadow)}
.home-polaroid-card.left{left:8%;bottom:9%;width:var(--polaroid-left-w);padding:var(--polaroid-left-side) var(--polaroid-left-side) var(--polaroid-left-bottom);background:var(--white);transform:translateY(var(--polaroid-card-shift)) rotate(-7deg)}
.home-polaroid-card.right{z-index:2;right:8%;top:30%;width:var(--polaroid-right-w);padding:var(--polaroid-right-side) var(--polaroid-right-side) var(--polaroid-right-bottom);transform:translateY(var(--polaroid-card-shift)) rotate(4deg);background-color:var(--polaroid-frame-dark);background-image:radial-gradient(circle,var(--polaroid-frame-dot) 0 1.7px,transparent 1.9px);background-size:15px 15px}
.home-polaroid-photo{width:100%;height:auto;aspect-ratio:1/1;border-radius:1px;background-position:center;background-size:cover;background-repeat:no-repeat;background-color:color-mix(in srgb,var(--image-placeholder) 82%,var(--white));box-shadow:var(--polaroid-photo-inset)}
.home-polaroid-tag{position:absolute;z-index:8;right:1.6%;bottom:14%;width:57px;height:114px;border:2px solid rgba(105,105,105,.66);border-radius:50%;background:rgba(255,255,255,.95);box-shadow:inset 0 0 0 3px rgba(255,255,255,.95),inset 0 0 0 4px rgba(120,120,120,.36),0 4px 10px rgba(0,0,0,.06);display:grid;place-items:center;transform:translateY(var(--polaroid-tag-shift)) rotate(1deg)}
.home-polaroid-tag span{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-ui);font-size:14px;line-height:1.05;font-weight:var(--weight-medium);letter-spacing:.08em;color:var(--polaroid-ink)}
.home-polaroid-caption{position:absolute;z-index:6;right:18%;bottom:3.5%;display:flex;align-items:center;gap:6px;color:rgba(55,55,55,.84);font-family:var(--font-ui);font-size:19px;line-height:22px;font-weight:var(--weight-semibold);letter-spacing:-.04em;transform:translateY(var(--polaroid-caption-shift)) rotate(-1deg)}
.home-polaroid-caption .spark{font-size:14px;letter-spacing:.08em;font-weight:var(--weight-regular)}
.home-polaroid-paws{position:absolute;z-index:6;left:7%;bottom:6%;display:flex;color:var(--polaroid-accent);font-size:50px;line-height:1;transform:translateY(var(--polaroid-paw-shift)) rotate(10deg)}
.home-polaroid-paws .paw{display:inline-block;transform:rotate(-6deg)}

.home-status{width:var(--grid4);height:var(--grid2);padding:14px var(--gap);display:grid;grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr);column-gap:10px;align-items:center}
.home-status-side{height:112px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.home-status-side.left{align-items:flex-end}.home-status-side.right{align-items:flex-start}
.home-status-bubble{max-width:100%;min-height:31px;padding:6px 10px;border-radius:12px;background:color-mix(in srgb,var(--theme-primary) 31%,var(--white));display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:11px;line-height:16px;font-weight:var(--weight-regular);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-status-center{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.home-status-avatar{width:100px;height:100px;flex:0 0 100px;border-radius:50%;box-shadow:var(--avatar-shadow);background-position:center;background-size:cover;background-repeat:no-repeat}
.home-status-name{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:15px;line-height:19px;font-weight:var(--weight-semibold);color:var(--text-strong)}

.home-call{--call-avatar-size:clamp(80px,calc(var(--grid2) * .36),90px);--call-name-size:clamp(14px,calc(var(--grid2) * .06),15px);--call-name-line:clamp(18px,calc(var(--grid2) * .076),19px);--call-action-size:clamp(51px,calc(var(--grid2) * .22),55px);--call-action-icon-size:clamp(20px,calc(var(--grid2) * .09),22px);--call-person-gap:clamp(5px,calc(var(--grid2) * .025),7px);--call-pad-y:clamp(3px,calc(var(--grid2) * .025),7px);width:var(--grid2);height:var(--grid2);padding:var(--call-pad-y) 15px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.home-call-person{display:flex;flex-direction:column;align-items:center;gap:var(--call-person-gap);min-width:0}
.home-call-avatar{width:var(--call-avatar-size);height:var(--call-avatar-size);flex:0 0 var(--call-avatar-size);border-radius:50%;box-shadow:var(--avatar-shadow);background-position:center;background-size:cover;background-repeat:no-repeat}
.home-call-name{max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:var(--call-name-size);line-height:var(--call-name-line);font-weight:var(--weight-medium);color:var(--text-strong)}
.home-call-actions{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 6px;transform:translateY(-10px)}
.home-call-action{width:var(--call-action-size);height:var(--call-action-size);border:0;border-radius:50%;display:grid;place-items:center;background:var(--theme-primary);color:var(--white);font-size:var(--call-action-icon-size);line-height:1}

.home-diary{width:var(--grid2);height:var(--grid2);padding:15px 8px 8px;display:flex;flex-direction:column}
.home-diary-head{min-height:0;padding:0 7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.home-diary-title{font-family:var(--font-ui);font-size:34px;line-height:38px;font-weight:600;letter-spacing:-.04em;color:var(--text-strong)}
.home-diary-date{margin-top:8px;font-family:var(--font-ui);font-size:14px;line-height:18px;font-weight:var(--weight-medium);color:var(--text-muted);white-space:nowrap}
.home-diary-compose{width:100%;height:calc(var(--grid2) / 3 - 2px);min-height:calc(var(--grid2) / 3 - 2px);margin-top:auto;padding:8px 16px 8px 10px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-soft);display:flex;align-items:center;gap:12px}
.home-diary-avatar{width:42px;height:42px;flex:0 0 42px;align-self:center;border-radius:50%;box-shadow:var(--avatar-shadow);background-position:center;background-size:cover;background-repeat:no-repeat}
.home-diary-prompt{min-width:0;height:42px;display:flex;align-items:center;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:15px;line-height:20px;font-weight:var(--weight-regular);color:var(--text-muted)}

.airdrop,.calendar,.photo-card,.chat,.dock{background:rgb(255 255 255 / var(--component-bg-alpha))}

.airdrop{--airdrop-bar-h:46px;width:100%;height:var(--grid2);overflow:hidden;border-radius:var(--radius);display:grid;grid-template-rows:var(--airdrop-bar-h) minmax(0,1fr) var(--airdrop-bar-h)}
.airdrop-head{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px;text-align:center}
.airdrop-title{font-family:var(--font-ui);font-size:15px;line-height:18px;font-weight:var(--weight-semibold);letter-spacing:-.018em;color:var(--text-strong)}
.airdrop-sub{margin-top:3px;font-size:10.5px;line-height:14px;font-weight:var(--weight-regular);color:var(--text-muted);white-space:nowrap}
.airdrop-image{width:100%;height:100%;min-height:0}
.airdrop-actions{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;text-align:center;font-family:var(--font-ui);font-size:12.5px;font-weight:var(--weight-regular);color:var(--text)}
.airdrop-action{height:100%;display:flex;align-items:center;justify-content:center}
.airdrop-sep{height:100%;background:rgba(150,150,150,.22)}

.calendar{--calendar-avatar-size:50px;--calendar-strip-h:59px;--calendar-row-gap:18px;--calendar-inline:15px;width:100%;height:var(--grid2);padding:0 var(--calendar-inline);overflow:hidden;border-radius:var(--radius);display:grid;grid-template-rows:var(--calendar-avatar-size) var(--calendar-strip-h);row-gap:var(--calendar-row-gap);align-content:center}
.calendar-profile{display:flex;align-items:center;gap:12px;min-width:0}
.calendar-avatar{width:var(--calendar-avatar-size);height:var(--calendar-avatar-size);flex:0 0 auto;border-radius:5px}
.calendar-meta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.calendar-name{font-family:var(--font-ui);font-size:16px;line-height:19px;font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text-strong)}
.calendar-bio{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:15px;font-weight:var(--weight-regular);color:var(--text-secondary)}
.date-strip{height:var(--calendar-strip-h);display:grid;grid-template-columns:repeat(7,1fr);column-gap:4px}
.date-item{min-width:0;height:var(--calendar-strip-h);display:grid;grid-template-rows:12px 29px;row-gap:18px;justify-items:center;align-items:center}
.weekday{font-family:var(--font-ui);font-size:10.5px;line-height:12px;font-weight:var(--weight-regular);letter-spacing:-.01em;color:var(--text-secondary)}
.daynum{position:relative;width:29px;height:29px;border:0;border-radius:50%;display:grid;place-items:center;font-family:var(--font-ui);font-size:12px;line-height:1;font-weight:var(--weight-regular);color:var(--text)}
.daynum::before{content:'';position:absolute;left:50%;top:50%;width:34px;height:34px;border:1.5px dashed #AFAFAF;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}

.photo-card{--photo-top-inset:10px;--photo-bottom-inset:2px;--photo-inner-gap:6px;--photo-notice-h:22px;--photo-icon-color:var(--theme-primary);--photo-square-size:min(156px,calc(var(--grid2) - var(--photo-top-inset) - var(--photo-bottom-inset) - var(--photo-inner-gap) - var(--photo-notice-h)));width:100%;height:var(--grid2);padding:var(--photo-top-inset) 0 var(--photo-bottom-inset);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--photo-inner-gap);overflow:hidden;border-radius:var(--radius)}
.photo-square{width:var(--photo-square-size);height:var(--photo-square-size);flex:0 0 auto;border-radius:var(--radius)}
.photo-notice{height:var(--photo-notice-h);flex:0 0 var(--photo-notice-h);max-width:100%;margin:0;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-ui);font-size:10px;line-height:1;font-weight:var(--weight-regular);letter-spacing:-.01em;color:var(--text-secondary);white-space:nowrap}
.photo-notice .inline-fa{width:14px;height:14px;font-size:14px;color:var(--photo-icon-color)}

.chat{--chat-pad:15px;--chat-meta-gap:2px;--chat-self-bg:var(--theme-primary);--chat-peer-bg:var(--surface-soft);--chat-tail-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6.6-1 1.1-1.3 1.4l-.3.3c-4.6 4.6-5.9 11.4-3.4 17.4s8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9z'/%3E%3C/svg%3E");width:100%;height:var(--grid2);padding:var(--chat-pad);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.chat-message{min-width:0;flex:0 0 auto;display:flex;flex-direction:column;gap:var(--chat-meta-gap)}
.chat-message-right{align-items:flex-end}
.chat-message-left{align-items:flex-start}
.bubble{position:relative;flex:0 0 auto;min-height:0;width:max-content;max-width:min(72vw,280px);padding:5px 12px;border-radius:12px;display:flex;align-items:center;font-family:var(--font-ui);font-size:14px;line-height:21px;font-weight:var(--weight-regular);letter-spacing:-.015em;color:var(--text)}
.bubble::after{content:'';position:absolute;width:10px;height:10px;bottom:-1px;background:inherit;-webkit-mask-image:var(--chat-tail-svg);mask-image:var(--chat-tail-svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:38px 38px;mask-size:38px 38px;-webkit-mask-position:left bottom;mask-position:left bottom;pointer-events:none}
.bubble-right{background:var(--chat-self-bg)}
.bubble-left{background:var(--chat-peer-bg)}
.chat[data-chat-tail="end"] .bubble-right::after{right:-3px;left:auto;transform:scaleX(-1)}
.chat[data-chat-tail="end"] .bubble-left::after{left:-3px;right:auto}
.chat[data-chat-tail="start"] .bubble-right::after{right:-3px;left:auto;top:-1px;bottom:auto;transform:scale(-1,-1)}
.chat[data-chat-tail="start"] .bubble-left::after{left:-3px;right:auto;top:-1px;bottom:auto;transform:scaleY(-1)}
.chat[data-chat-tail="none"] .bubble::after{display:none}
.chat-meta{height:11px;display:flex;align-items:center;gap:4px;padding:0 2px;font-family:var(--font-ui);font-size:9px;line-height:11px;font-weight:var(--weight-regular);letter-spacing:0;color:var(--text-faint);white-space:nowrap}
.chat-message-right .chat-meta{justify-content:flex-end}
.chat-message-left .chat-meta{justify-content:flex-start}
.chat-read{width:12px;height:12px;display:block;flex:0 0 12px;color:var(--text-faint);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

.pager{position:fixed;z-index:2;left:50%;bottom:calc(var(--dock-h) + var(--edge-y) + var(--block-gap));transform:translateX(-50%);height:8px;display:flex;align-items:center;justify-content:center;gap:7px;pointer-events:none}
.dot{width:8px;height:8px;border-radius:999px;background:var(--white);transition:width 220ms ease}.dot.active{width:16px}
.dock{position:fixed;z-index:1;left:calc(var(--gap) - var(--dock-left-extra));right:var(--gap);bottom:var(--edge-y);height:var(--dock-h);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-around;padding:0 8px}

.editable-component{cursor:pointer}
.global-editor{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:calc(15 * var(--editor-u));pointer-events:none;visibility:hidden;isolation:isolate}
.global-editor.mounted{visibility:visible}
.global-editor.open{pointer-events:auto}
.editor-scrim{position:absolute;z-index:0;inset:0;background:transparent;opacity:0;-webkit-backdrop-filter:blur(var(--modal-scrim-blur));backdrop-filter:blur(var(--modal-scrim-blur));transition:opacity var(--editor-motion) cubic-bezier(.2,.8,.2,1)}
.global-editor.mounted .editor-scrim{will-change:opacity}
.global-editor.open .editor-scrim{opacity:1}
.editor-panel{position:relative;z-index:1;width:var(--modal-width);max-height:var(--modal-max-height);overflow:hidden;border:var(--modal-border);border-radius:var(--modal-radius);background:var(--modal-background);box-shadow:var(--modal-shadow);display:flex;flex-direction:column;opacity:0;transform:translate3d(0,calc(5 * var(--editor-u)),0);backface-visibility:hidden;transition:opacity calc(var(--editor-motion) * .82) ease,transform var(--editor-motion) cubic-bezier(.2,.8,.2,1)}
.global-editor.mounted .editor-panel{will-change:opacity,transform}
.global-editor.open .editor-panel{opacity:1;transform:translate3d(0,0,0)}
.editor-head{flex:0 0 auto;padding:var(--modal-head-padding);text-align:center;border-bottom:calc(1 * var(--editor-u)) solid var(--line-soft)}
.editor-title{font-family:var(--font-ui);font-weight:var(--weight-semibold);font-size:calc(18 * var(--editor-u));line-height:calc(22 * var(--editor-u));letter-spacing:calc(-.35 * var(--editor-u));color:var(--text-strong)}
.editor-subtitle{margin-top:calc(4 * var(--editor-u));font-family:var(--font-soft);font-weight:var(--weight-regular);font-size:calc(11 * var(--editor-u));line-height:calc(14 * var(--editor-u));letter-spacing:calc(.55 * var(--editor-u));color:var(--text-muted)}
.editor-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--modal-body-padding);display:flex;flex-direction:column;gap:var(--modal-content-gap);scrollbar-width:none}
.editor-body::-webkit-scrollbar{display:none}
.editor-media{display:flex;flex-direction:column;gap:calc(8 * var(--editor-u));padding:0;background:transparent}
.editor-media + .editor-media{padding-top:calc(14 * var(--editor-u));border-top:calc(1 * var(--editor-u)) solid var(--line-soft)}
.editor-media-label{font-family:var(--font-ui);font-size:calc(11 * var(--editor-u));line-height:calc(15 * var(--editor-u));font-weight:var(--weight-medium);color:var(--editor-label);text-align:left}
.editor-media-row{display:grid;grid-template-columns:calc(104 * var(--editor-u)) minmax(0,1fr);gap:calc(12 * var(--editor-u));align-items:stretch}
.editor-preview{position:relative;min-height:calc(92 * var(--editor-u));overflow:hidden;border-radius:calc(8 * var(--editor-u));background:var(--image-placeholder) center/cover no-repeat;box-shadow:inset 0 0 0 calc(1 * var(--editor-u)) rgba(105,105,105,.06)}
.editor-preview[data-icon-modal-preview]{display:grid;place-items:center}
.editor-media-controls{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:calc(8 * var(--editor-u))}
.editor-input,.editor-control-shell{width:100%;height:var(--ui-control-height);padding:0 var(--ui-control-pad-x);border:calc(1 * var(--editor-u)) solid var(--ui-control-border);outline:0;border-radius:var(--ui-control-radius);background:var(--white);box-shadow:none;transition:border-color 120ms ease,background-color 120ms ease}
.editor-input{appearance:none;-webkit-appearance:none;font-family:var(--font-ui);font-size:calc(12 * var(--editor-u));line-height:1;font-weight:var(--weight-regular);letter-spacing:-.01em;color:var(--editor-copy)}
.editor-input::placeholder{color:var(--text-faint)}
.editor-input:focus,.editor-input:focus-visible,.editor-control-shell:focus-within{border-color:var(--theme-primary);background:var(--white);box-shadow:none;outline:0}
.editor-input[data-source-mode="local"]{font-size:calc(10 * var(--editor-u));color:var(--editor-label)}
.editor-upload{height:calc(34 * var(--editor-u));border:0;outline:0;border-radius:calc(10 * var(--editor-u));background:var(--editor-upload-bg);font-family:var(--font-ui);font-size:calc(11 * var(--editor-u));font-weight:var(--weight-medium);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:calc(7 * var(--editor-u));padding:0 calc(10 * var(--editor-u));box-shadow:none}
.editor-upload .fa-solid{width:calc(13 * var(--editor-u));height:calc(13 * var(--editor-u));display:grid;place-items:center;font-size:calc(12 * var(--editor-u));line-height:1;flex:0 0 auto}
.editor-upload .fa-folder-open{color:var(--theme-primary)}
.editor-fields{display:flex;flex-direction:column;gap:calc(12 * var(--editor-u));padding-top:calc(2 * var(--editor-u));border-top:calc(1 * var(--editor-u)) solid var(--line-soft)}
.editor-field{display:flex;flex-direction:column;align-items:stretch;gap:calc(5 * var(--editor-u))}
.editor-field:first-child{margin-top:calc(12 * var(--editor-u))}
.editor-field-label{padding-left:calc(1 * var(--editor-u));font-family:var(--font-ui);font-size:calc(10 * var(--editor-u));line-height:calc(13 * var(--editor-u));font-weight:var(--weight-medium);color:var(--editor-label);text-align:left;white-space:nowrap}
.editor-style-controls{display:flex;flex-direction:column;gap:calc(12 * var(--editor-u));padding-top:calc(2 * var(--editor-u))}
.editor-color-field,.editor-choice-field{display:flex;align-items:center;justify-content:space-between;gap:calc(14 * var(--editor-u))}
.editor-color-label,.editor-choice-label{font-family:var(--font-ui);font-size:calc(11 * var(--editor-u));line-height:calc(15 * var(--editor-u));font-weight:var(--weight-medium);color:var(--editor-label)}
.editor-color-input{appearance:none;-webkit-appearance:none;width:var(--editor-color-size);height:var(--editor-color-size);flex:0 0 var(--editor-color-size);padding:0;border:0;border-radius:50%;outline:0;background:transparent;overflow:hidden;cursor:pointer;box-shadow:none}
.editor-color-input::-webkit-color-swatch-wrapper{padding:0}
.editor-color-input::-webkit-color-swatch{border:0;border-radius:50%}
.editor-color-input::-moz-color-swatch{border:0;border-radius:50%}
.editor-color-input:focus-visible{outline:calc(2 * var(--editor-u)) solid var(--theme-primary);outline-offset:calc(2 * var(--editor-u))}
.editor-choice-field{position:relative;overflow:visible;cursor:pointer}
.editor-choice-label{position:relative;z-index:2;flex:1 1 auto;min-width:0;pointer-events:none}
.editor-choice-select-wrap{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-width:0}
.editor-choice-select{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;min-height:100%;padding:0 calc(30 * var(--editor-u)) 0 46%;border:0;outline:0;border-radius:inherit;background:transparent;font-family:var(--font-ui);font-size:calc(10 * var(--editor-u));line-height:normal;font-weight:var(--weight-regular);color:var(--text);cursor:pointer;box-shadow:none;text-align:right;text-align-last:right}
.editor-choice-select-wrap::after{content:'';position:absolute;z-index:2;right:calc(13 * var(--editor-u));top:50%;width:calc(6 * var(--editor-u));height:calc(6 * var(--editor-u));border-right:calc(1 * var(--editor-u)) solid var(--text-muted);border-bottom:calc(1 * var(--editor-u)) solid var(--text-muted);transform:translateY(calc(-50% - calc(2 * var(--editor-u)))) rotate(45deg);pointer-events:none}
.editor-choice-select:focus,.editor-choice-select:focus-visible{outline:0}
.editor-range-field{display:flex;flex-direction:column;gap:calc(9 * var(--editor-u));padding:calc(2 * var(--editor-u)) calc(1 * var(--editor-u)) calc(3 * var(--editor-u))}
.editor-range-head{display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--editor-u))}
.editor-range-label{font-family:var(--font-ui);font-size:calc(11 * var(--editor-u));line-height:calc(15 * var(--editor-u));font-weight:var(--weight-medium);color:var(--editor-label)}
.editor-range-value{min-width:calc(38 * var(--editor-u));text-align:right;font-family:var(--font-ui);font-size:calc(10 * var(--editor-u));line-height:calc(14 * var(--editor-u));font-weight:var(--weight-medium);color:var(--text-muted);font-variant-numeric:tabular-nums}
.ui-range{--range-progress:100%;appearance:none;-webkit-appearance:none;width:100%;height:var(--ui-range-height);margin:0;border:0;outline:0;background:linear-gradient(var(--ui-range-active-color),var(--ui-range-active-color)) 0 50% / var(--range-progress) var(--ui-range-track-height) no-repeat,repeating-linear-gradient(90deg,var(--ui-range-rest-color) 0 var(--ui-range-dash-width),transparent var(--ui-range-dash-width) var(--ui-range-dash-gap)) 100% 50% / calc(100% - var(--range-progress)) var(--ui-range-track-height) no-repeat;cursor:ew-resize}
.ui-range::-webkit-slider-runnable-track{height:var(--ui-range-height);background:transparent;border:0}
.ui-range::-webkit-slider-thumb{-webkit-appearance:none;width:var(--ui-range-height);height:var(--ui-range-height);margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.ui-range::-moz-range-track{height:var(--ui-range-height);background:transparent;border:0}
.ui-range::-moz-range-progress{background:transparent}
.ui-range::-moz-range-thumb{width:var(--ui-range-height);height:var(--ui-range-height);border:0;border-radius:0;background:transparent;box-shadow:none}
.ui-range:focus-visible{outline:calc(1 * var(--editor-u)) dashed color-mix(in srgb,var(--ui-range-active-color) 70%,transparent);outline-offset:calc(3 * var(--editor-u))}
.editor-reset-wrap{padding-top:calc(2 * var(--editor-u))}
.editor-reset,.api-icon-button{border:calc(1 * var(--editor-u)) dashed rgba(105,105,105,.36);background:transparent}
.editor-reset{width:100%;height:calc(38 * var(--editor-u));border-radius:calc(10 * var(--editor-u));font-family:var(--font-ui);font-size:calc(11 * var(--editor-u));font-weight:var(--weight-medium);color:var(--editor-label);cursor:pointer}
.editor-actions{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--editor-u));padding:var(--modal-actions-padding);border-top:calc(1 * var(--editor-u)) solid var(--line-soft)}
.editor-action{height:var(--ui-action-height);border:var(--ui-action-border-width) dashed var(--ui-action-border-color);border-radius:var(--ui-action-radius);background:var(--ui-action-background);font-family:var(--font-ui);font-size:calc(13 * var(--editor-u));font-weight:var(--weight-medium);color:var(--ui-action-color);cursor:pointer;box-shadow:none}
.editor-action:disabled{opacity:.5;cursor:default}
.global-image-picker{display:none}
@media (prefers-reduced-motion:reduce){.global-editor,.editor-scrim,.editor-panel{transition:none}}
