:root{--bg: #000;--surface: #1c1c1e;--surface-2: #262628;--text: #fff;--text-2: #8d8d93;--text-3: #5b5b60;--hairline: #2c2c2e;--line: #3a3a3c;--accent: #4a8cf7;--bubble-me: #2c6ee8;--bar: #0a0a0b;--night: #050507;--glass: rgba(60, 60, 68, .72);--dock-ring: #313139;--font: -apple-system, "SF Pro Text", Roboto, system-ui, sans-serif;--serif: Fraunces, Georgia, serif;--ease-ios: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--vt-origin: 50% 85%;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg)}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.phone{position:relative;width:100%;max-width:430px;height:var(--tg-viewport-stable-height, 100dvh);margin:0 auto;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.statusbar{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px 28px 0;font-size:15px;font-weight:600;flex-shrink:0}.statusbar-icons{display:flex;align-items:center;gap:6px}.home-indicator{position:relative;align-self:center;width:134px;height:5px;border-radius:3px;background:#fff;margin:0 0 8px;flex-shrink:0}.navrow{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 0;height:54px;flex-shrink:0}.back{display:flex;align-items:center;gap:2px;font-size:17px;color:var(--accent);min-height:44px;background:none;border:none;padding:0;cursor:pointer}.link{color:var(--accent);font-size:17px;min-height:44px;display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}.largetitle{margin:4px 20px 0;font-size:34px;font-weight:700;letter-spacing:-.02em}.search{margin:12px 20px 0;height:36px;border-radius:10px;background:var(--surface);display:flex;align-items:center;gap:6px;padding:0 8px;flex-shrink:0}.search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:17px}.search input::placeholder{color:var(--text-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.avatar{flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-2);animation:dot 1.3s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.pop{animation:pop .24s var(--ease-out) both}.bubble{max-width:270px;padding:8px 13px;border-radius:18px;font-size:17px;line-height:1.3;color:#fff;overflow-wrap:anywhere}.bubble.npc{align-self:flex-start;background:var(--surface-2)}.bubble.me{align-self:flex-end;background:var(--bubble-me)}.chip{min-height:44px;padding:10px 16px;border-radius:18px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-size:17px;line-height:1.3;text-align:left;cursor:pointer;align-self:flex-end;max-width:300px}.chip:active{background:#4a8cf724}.btn-primary{min-height:44px;padding:10px 16px;border-radius:18px;background:var(--bubble-me);color:#fff;font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;width:100%}.banner-slot{position:fixed;top:0;left:50%;z-index:10;width:100%;max-width:430px;transform:translate(-50%);padding:10px 8px 0;pointer-events:none}.banner{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;width:100%;padding:12px 14px;border-radius:22px;border:1px solid var(--hairline);background:var(--surface-2);color:var(--text);cursor:pointer;animation:drop .42s var(--ease-ios) both;touch-action:none;view-transition-name:banner;transition:transform .3s var(--ease-ios)}@keyframes drop{0%{opacity:0;transform:translateY(-110%)}to{opacity:1;transform:none}}@keyframes lift{to{opacity:0;transform:translateY(-110%)}}.banner.leaving{animation:lift .22s cubic-bezier(.4,0,1,1) both}.banner.dragging{animation:none;transition:none}.btn-ghost{min-height:44px;background:none;border:none;color:var(--text-2);font-size:15px;cursor:pointer}.memo{align-self:center;padding:2px 0 8px;font-size:11px;color:var(--text-2)}.hint{margin:0 0 4px;align-self:center;text-align:center;font-size:13px;color:var(--text-2)}.map-node:before{content:"";position:absolute;top:-10px;right:-4px;bottom:-10px;left:-4px}.folders.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:var(--surface);color:var(--text);font-size:13px}.stats{display:grid;grid-template-columns:repeat(2,1fr);border-radius:14px;background:var(--surface)}.stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px}.stats>div+div{border-left:1px solid var(--hairline)}.stats b{font-size:22px;font-weight:600}.stats span{font-size:13px;color:var(--text-2)}.folders{display:flex;gap:20px;padding:0 20px;scroll-padding:0 20px;margin-top:14px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--hairline);flex-shrink:0}.folders::-webkit-scrollbar{display:none}.folder{position:relative;display:flex;align-items:center;gap:6px;min-height:44px;padding:0;background:none;border:none;color:var(--text-2);font-size:15px;font-weight:500;white-space:nowrap;cursor:pointer}.folder[aria-selected=true]{color:var(--accent)}.folder[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:1px;background:var(--accent)}.folder-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--hairline);color:#e5e5ea;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.folder[aria-selected=true] .folder-count{background:var(--bubble-me);color:#fff}.home-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);row-gap:22px;padding:14px 15px 0}.app{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;padding:0;background:none;border:none;cursor:pointer;color:#fff;font-size:12px;line-height:1.2}.app-icon{position:relative;width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface);transition:transform .12s ease-out,filter .12s ease-out}.app:active .app-icon{transform:scale(.92);filter:brightness(.8)}.app-icon.accent{background:var(--accent)}.badge{position:absolute;top:-9px;right:-9px;min-width:26px;height:26px;padding:0 6px;border-radius:13px;border:2px solid var(--dock-ring);background:var(--bubble-me);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.dock{position:relative;margin:0 15px 10px;padding:15px 0;border-radius:30px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(4,1fr);flex-shrink:0}.group-title{margin:28px 36px 8px;font-size:13px;color:var(--text-2)}.group{margin:0 20px;border-radius:10px;background:var(--surface);overflow:hidden}.group-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 16px;width:100%;background:none;border:none;color:var(--text);font-size:17px;text-align:left}.group-row{position:relative}.group-row+.group-row:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--hairline)}button.group-row{cursor:pointer}button.group-row:active{background:var(--surface-2)}.group-note{margin:8px 36px 0;font-size:13px;line-height:1.35;color:var(--text-2)}.value{color:var(--text-2);font-size:17px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;border-radius:10px;background:#121214;margin:4px 16px 12px}.segmented button{position:relative;min-height:32px;border:none;border-radius:7px;background:none;color:var(--text);font-size:13px;cursor:pointer}.segmented button:before{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.segmented button[aria-checked=true]{background:var(--line);font-weight:600}.switch{position:relative;width:51px;height:31px;flex-shrink:0;border-radius:16px;border:none;padding:0;background:var(--line);cursor:pointer;transition:background .2s ease-out}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;transition:transform .2s ease-out}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.back,.link,.btn-ghost{transition:opacity .25s ease-out}.back:active,.link:active,.btn-ghost:active{opacity:.4;transition:none}.btn-primary{transition:filter .25s ease-out,transform .25s var(--ease-out)}.btn-primary:active{filter:brightness(.82);transform:scale(.98);transition:none}.chip{transition:background .25s ease-out,transform .25s var(--ease-out)}.chip:active{transform:scale(.98);transition:none}button.group-row{transition:background .3s ease-out}button.group-row:active{transition:none}.folder{transition:color .2s ease-out}.segmented button{transition:background .2s ease-out}.app:active .app-icon{transition:none}.phone>.statusbar{view-transition-name:statusbar}.phone .home-indicator{view-transition-name:home-indicator}[role=dialog] .statusbar,[role=dialog] .home-indicator{view-transition-name:none}::view-transition-group(statusbar),::view-transition-group(home-indicator),::view-transition-group(banner){animation-duration:.42s;animation-timing-function:var(--ease-ios)}::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:var(--ease-ios);animation-fill-mode:both}@keyframes vt-in-right{0%{transform:translate(100%)}}@keyframes vt-out-left{to{transform:translate(-30%);filter:brightness(.6)}}@keyframes vt-in-left{0%{transform:translate(-30%);filter:brightness(.6)}}@keyframes vt-out-right{to{transform:translate(100%)}}:root[data-vt=push]::view-transition-old(root){animation-name:vt-out-left}:root[data-vt=push]::view-transition-new(root){animation-name:vt-in-right}:root[data-vt=pop]::view-transition-old(root){animation-name:vt-out-right;z-index:1}:root[data-vt=pop]::view-transition-new(root){animation-name:vt-in-left}@keyframes vt-app-in{0%{transform:scale(.14);opacity:0;border-radius:40px}40%{opacity:1}}@keyframes vt-app-out{to{transform:scale(.14);opacity:0}}@keyframes vt-home-back{0%{transform:scale(1.08);filter:brightness(.6)}}@keyframes vt-home-away{to{transform:scale(1.08);filter:brightness(.6)}}:root[data-vt=open]::view-transition-new(root){animation-name:vt-app-in;transform-origin:var(--vt-origin)}:root[data-vt=open]::view-transition-old(root){animation-name:vt-home-away}:root[data-vt=close]::view-transition-old(root){animation-name:vt-app-out;transform-origin:var(--vt-origin);z-index:1;animation-duration:.36s}:root[data-vt=close]::view-transition-new(root){animation-name:vt-home-back}@keyframes vt-up-away{to{transform:translateY(-100%)}}@keyframes vt-down-in{0%{transform:translateY(-100%)}}@keyframes vt-settle{0%{transform:scale(1.06);opacity:.3}}:root[data-vt=unlock]::view-transition-old(root){animation-name:vt-up-away;z-index:1}:root[data-vt=unlock]::view-transition-new(root){animation-name:vt-settle}:root[data-vt=lock]::view-transition-new(root){animation-name:vt-down-in;z-index:1}:root[data-vt=lock]::view-transition-old(root){animation:none}:root[data-vt=fade]::view-transition-old(root),:root[data-vt=fade]::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}:root[data-vt=send]::view-transition-old(root),:root[data-vt=send]::view-transition-new(root){animation:none}::view-transition-group(reply){animation-duration:.38s;animation-timing-function:var(--ease-ios)}::view-transition-old(reply),::view-transition-new(reply){height:100%;animation-duration:.2s}::view-transition-group(photo){animation-duration:.4s;animation-timing-function:var(--ease-ios)}::view-transition-old(photo),::view-transition-new(photo){height:100%;object-fit:cover}:root[data-vt=photo]::view-transition-old(root),:root[data-vt=photo]::view-transition-new(root){animation-duration:.28s;animation-timing-function:ease-out}@media (prefers-reduced-motion: reduce){.app-icon,.switch,.switch:after,.btn-primary,.chip,.banner{transition:none}.btn-primary:active,.chip:active,.app:active .app-icon{transform:none}.dot,.pop,.banner,.banner.leaving{animation:none}::view-transition-group(*){animation-duration:.15s}}
