


:root{
  --ease: cubic-bezier(.19,1,.22,1);
  --e-swell: cubic-bezier(.22,1,.36,1);
  --e-dive: cubic-bezier(.65,0,.35,1);
  --e-exit: cubic-bezier(.4,0,1,1);
  --e-step: cubic-bezier(.23,1,.32,1);
  --t-tap:.12s; --t-fade:.15s; --t-swap:.2s; --t-enter:.24s;
  --t-quick:.32s; --t-step:.4s; --t-glide:.55s; --t-count:.7s; --t-draw:.8s; --t-reveal:.9s;
  --t-skel:1.7s; --t-breathe:2.4s; --t-story:4s; --t-crawl:8s;
  --stagger:.07s; --stagger-in:.04s; --stagger-cell:.008s;

  --e-bounce: cubic-bezier(.34,1.36,.64,1);
  --e-bounce-hard: cubic-bezier(.34,3.85,.64,1);
  --t-hold:2s;
  --blur-1:2px; --blur-2:3px; --blur-3:8px;
  --d-1:4px; --d-2:6px; --d-3:8px; --d-4:12px;
  --shimmer:linear-gradient(100deg,var(--paper-deep) 22%,var(--paper-lit) 45%,var(--paper-deep) 68%);
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem;
  --s-6:2rem;   --s-7:3rem;  --s-8:4rem;   --s-9:6rem;
}


@view-transition{navigation:auto}
::view-transition-old(root),
::view-transition-new(root){animation-duration:var(--t-swap);animation-timing-function:var(--ease)}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*){animation:none!important}
}

.winlayer,.source-dock,body.world-page{

  --paper:      #ffffff;
  --paper-lit:  #fafafa;
  --paper-deep: #f7f7f8;
  --paper-edge: #ececef;
  --ink:        #0d0d0d;
  --ink-soft:   #6b7280;
  --ink-faint:  #636A76;

  --win-title:  #262628;
  --win-sub:    #6E6E73;

  --rule:       rgba(0,0,0,.07);
  --rule-firm:  #d1d5db;
  --accent:     #0d0d0d;
  --accent-ink: #262626;

  --ochre:      #8a6414;
  --slate:      #54677A;


  --serif:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --display:"Spectral",Georgia,"Times New Roman",serif;
  --ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,Menlo,monospace;


  --gutter: clamp(1.1rem, 4.4vw, 4.4rem);
  --measure: 1240px;


  --card-r: 12px;
  --card-r-sub: 8px;
  --r-1:8px; --r-2:12px; --r-pill:999px;
  --card-fill: #f7f7f8;
  --card-fill-2: #ececef;
  --card-shadow: 0 6px 22px -14px rgba(13,13,13,.08);
  --card-shadow-hover: 0 12px 30px -14px rgba(13,13,13,.12);


  --glass-rgb:247 247 248;
  --glass-a-card:.72;
  --glass-a-over:.82;
  --glass-spec:rgba(255,255,255,.62);
  --glass-fallback:#f7f7f8;
  --fill-accent:rgba(13,13,13,.08);
}
@media (max-width:0px){
  .winlayer,.source-dock,body.world-page{

    --paper:#0d0d0d;--paper-lit:#1c1c1c;--paper-deep:#171717;--paper-edge:#262626;
    --ink:#ececec;--ink-soft:#9ca3af;--ink-faint:#9ca3af;
    --win-title:#F5F5F7;--win-sub:#98989D;
    --rule:#262626;--rule-firm:#3f3f46;
    --accent:#ececec;--accent-ink:#d4d4d8;
    --ochre:#c9a548;--slate:#7d93a8;
    --card-fill:#171717;--card-fill-2:#262626;
    --card-shadow:0 10px 30px -18px rgba(0,0,0,.50);
    --card-shadow-hover:0 16px 36px -18px rgba(0,0,0,.56);
    --glass-rgb:23 23 23;
    --glass-a-card:.72;
    --glass-spec:rgba(255,255,255,.07);
    --glass-fallback:#171717;
    --fill-accent:rgba(236,236,236,.12);
  }
}



.world-root .card{
  background:var(--paper-deep); border:1px solid var(--rule);
  border-radius:var(--r-2); padding:var(--s-4);
  box-shadow:none;
  transition:border-color var(--t-fade) var(--ease);
}
.world-root .card--sub{ background:var(--card-fill-2); border-radius:var(--r-1); padding:var(--s-3); box-shadow:none; }
.world-root a.card,.world-root button.card{ display:block; text-align:left; text-decoration:none; color:inherit; cursor:pointer; }
.world-root .card:hover{ border-color:var(--ink-2); }


.reveal{ transition-delay:var(--rd,0s);
  transition:opacity var(--t-reveal) var(--ease), transform var(--t-reveal) var(--ease); }
html.reveal-armed .reveal{ opacity:.0001; transform:translateY(14px);
  will-change:transform,opacity; }
html.reveal-armed .reveal.in{ opacity:1; transform:none; }

html.vt .reveal{ transition-duration:var(--t-swap); transition-delay:0s!important; }


.r1{transition-delay:calc(var(--stagger) * 1)} .r2{transition-delay:calc(var(--stagger) * 2)}
.r3{transition-delay:calc(var(--stagger) * 3)} .r4{transition-delay:calc(var(--stagger) * 4)}
.r5{transition-delay:calc(var(--stagger) * 5)} .r6{transition-delay:calc(var(--stagger) * 6)}
.r7{transition-delay:calc(var(--stagger) * 7)} .r8{transition-delay:calc(var(--stagger) * 8)}
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}


a:hover,a:active,button:hover,button:active,summary:hover,label:hover,
[role="button"]:hover,[role="button"]:active,[tabindex]:hover,[tabindex]:active,
.card:hover,.card:active,
:focus-visible{transition-duration:0s!important}


.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}


@keyframes rp-skel-shimmer{ 0%{ background-position:160% 0; } 100%{ background-position:-60% 0; } }
@media (prefers-reduced-motion:reduce){
  .sc-mem-grid .cell,.ap-alb .thumb,.ap-pcell,.ig-media-b{ animation:none; }
}

.world-root *{ box-sizing:border-box; }


body.world-page{

  background-color:var(--paper);
  margin:0;
}
.world-root{
  color:var(--ink);
  font-family:var(--serif);
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.5;
  overflow-x:hidden;
  min-height:100vh;
}
.world-root ::selection{ background:rgba(165,55,28,.18); color:var(--ink); }

.winlayer{ position:fixed; inset:0; z-index:460; pointer-events:none; }

.pane{--pane-width:480px;position:fixed;top:0;right:0;bottom:0;width:var(--pane-width);z-index:470;display:flex;flex-direction:column;background:var(--paper,var(--void));border-left:1px solid var(--rule,var(--line));box-shadow:var(--card-shadow,0 12px 40px rgba(0,0,0,.18));transform:translateX(100%);opacity:0;filter:blur(var(--blur-1));pointer-events:none;transition:transform var(--t-swap) var(--e-swell),opacity var(--t-swap) var(--e-swell),filter var(--t-swap) var(--e-swell)}
.pane.is-open{transform:translateX(0);opacity:1;filter:none;pointer-events:auto;transition:transform var(--t-quick) var(--e-swell),opacity var(--t-quick) var(--e-swell),filter var(--t-quick) var(--e-swell)}.pane-handle{position:absolute;left:-5px;top:0;bottom:0;width:10px;cursor:ew-resize}.pane-head{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--rule,var(--line));background:var(--paper-deep,var(--void-2))}.pane-kicker{font:var(--type-meta) var(--ui);color:var(--ink-2)}.pane-title{display:block;font:600 14px var(--ui);color:var(--ink)}.pane-kicker:empty,.pane-title:empty{display:none}.pane-actions{display:flex;gap:var(--s-1)}.pane-actions button{min-height:36px;border:0;background:transparent;color:var(--ink);font:var(--type-meta) var(--ui);cursor:pointer;padding:var(--s-2)}.pane-actions button:hover{background:var(--void-3)}.pane-actions button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pane-frame{width:100%;height:100%;border:0;background:var(--paper,var(--void));opacity:1;transition:opacity var(--t-fade) var(--e-swell)}.pane.is-loading .pane-frame{opacity:0}.pane-skel{position:absolute;left:var(--s-4);right:var(--s-4);top:64px;z-index:1;display:none;pointer-events:none}.pane.is-loading .pane-skel{display:block}.pane-skel .skel{height:12px;margin:0 0 var(--s-2);border-radius:var(--r-1)}
@media(max-width:1179px){.pane{width:min(480px,100vw)}}@media(max-width:820px){.pane{width:100%}.pane-handle{display:none}.pane-head{padding-left:var(--s-4)}}@media(prefers-reduced-motion:reduce){.pane{transition:none;filter:none}.pane-frame{transition:none}}
@media(min-width:1180px){
  body.chat-view .pane{z-index:auto;position:relative;top:auto;right:auto;bottom:auto;grid-column:2;grid-row:2;
    width:0;min-width:0;min-height:0;height:auto;overflow:hidden;opacity:0;transform:none;filter:blur(var(--blur-1));
    border-left-color:transparent;box-shadow:none;pointer-events:none;
    transition:opacity var(--t-swap) var(--e-swell),border-color var(--t-swap) var(--e-swell),filter var(--t-swap) var(--e-swell)}
  body.chat-view .pane.is-open{width:min(var(--pane-width),38vw);opacity:1;filter:none;border-left-color:var(--rule,var(--line));
    transform:none;pointer-events:auto;
    transition:opacity var(--t-quick) var(--e-swell),border-color var(--t-quick) var(--e-swell),filter var(--t-quick) var(--e-swell)}
  body.chat-view .pane-frame{min-height:0}
}


html:has(>body.pane-document>main>.cl-outer),html:has(>body.pane-document>main>.cg-outer),
html:has(>body.pane-document>main>.gm-outer),html:has(>body.pane-document>main>.dr-outer){
  scrollbar-gutter:auto}
body.pane-document:has(>main>.cl-outer),body.pane-document:has(>main>.cg-outer),
body.pane-document:has(>main>.gm-outer),body.pane-document:has(>main>.dr-outer){
  display:flex;flex-direction:column}
body.pane-document>main:has(>.cl-outer),body.pane-document>main:has(>.cg-outer),
body.pane-document>main:has(>.gm-outer),body.pane-document>main:has(>.dr-outer){
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-width:none;margin:0;padding:0;container-type:inline-size}
body.pane-document>main>.cl-outer,body.pane-document>main>.cg-outer,
body.pane-document>main>.gm-outer,body.pane-document>main>.dr-outer{
  flex:1 1 auto;height:auto;min-height:0}



.win{
  position:absolute; top:0; left:0; pointer-events:auto; display:none;
  flex-direction:column; overflow:hidden; border-radius:var(--r-2);
  background:var(--paper-lit); opacity:0; --x:0px; --y:0px; --s:.96; --px:0px;
  --win-size-t:0s;
  transform:translate(var(--x),var(--y)) translateX(var(--px)) scale(var(--s));
  transition:opacity var(--t-enter) var(--e-swell),
    width var(--win-size-t) var(--e-swell), height var(--win-size-t) var(--e-swell);
  box-shadow:none; border:1px solid var(--rule);
  will-change:transform,opacity;
  container-type:inline-size;
}
.win.open{ display:flex; }
.win.shown{ opacity:1; --s:1;
  transition:opacity var(--t-enter) var(--e-swell), transform var(--t-enter) var(--e-swell),
    width var(--win-size-t) var(--e-swell), height var(--win-size-t) var(--e-swell); }
.win.dragging{ transition:none; }
.win.dragging .win__body{ pointer-events:none; }
.win.closing{ opacity:0; --s:.96; transition:opacity var(--t-fade) var(--e-exit), transform var(--t-fade) var(--e-exit); }
.win.minimized{ display:none; }

.win.maximized{ border-radius:var(--r-1);
  --win-size-t:var(--t-enter); will-change:transform,opacity,width,height; }
.win.maximized .win__resize{ display:none; }


body.surface-beside .win{
  --px:var(--d-4); --s:1; filter:blur(var(--blur-1));
  transition:opacity var(--t-quick) var(--e-swell),
    filter var(--t-quick) var(--e-swell);
}
body.surface-beside .win.shown{ --px:0px; filter:none;
  transition:opacity var(--t-quick) var(--e-swell), transform var(--t-quick) var(--e-swell),
    filter var(--t-quick) var(--e-swell); }
body.surface-beside .win.closing{
  --px:var(--d-4); filter:blur(var(--blur-1));
  transition:opacity var(--t-swap) var(--e-exit), transform var(--t-swap) var(--e-exit),
    filter var(--t-swap) var(--e-exit);
}
body.surface-beside .win.dragging,
body.surface-beside .win.shown.dragging,
.win.shown.dragging{ transition:none; }
.win--compact{
  width:min(390px,calc(100vw - 48px)); height:min(620px,calc(100vh - 96px));
  min-width:280px;min-height:320px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);
  transform-origin:center;
}
.win--wide,#win-imessage{
  width:min(720px,calc(100vw - 48px)); height:min(500px,calc(100vh - 96px));
  min-width:400px; min-height:280px; max-width:calc(100vw - 20px); max-height:calc(100vh - 20px);
}

#win-imessage{ transform:translate(var(--x),var(--y)) translateX(var(--px)) scale(var(--s)); transform-origin:center; }
body.surface-beside .win--compact,
body.surface-beside .win--wide,
body.surface-beside #win-imessage{ min-width:280px; min-height:240px; }
@media(max-width:820px){
  .win--compact, .win--wide, #win-imessage{
    min-width:0; min-height:0; width:calc(100vw - 12px); height:calc(100vh - 24px);
  }
}

.win__resize{
  position:absolute; z-index:8; box-sizing:border-box; touch-action:none;
}
.win__resize--n{ top:0; left:70px; right:10px; height:6px; cursor:ns-resize; }
.win__resize--s{ bottom:0; left:10px; right:10px; height:6px; cursor:ns-resize; }
.win__resize--e{ top:38px; right:0; bottom:10px; width:6px; cursor:ew-resize; }
.win__resize--w{ top:38px; left:0; bottom:10px; width:6px; cursor:ew-resize; }
.win__resize--ne{ top:0; right:0; width:14px; height:14px; cursor:nesw-resize; }
.win__resize--se{ bottom:0; right:0; width:16px; height:16px; cursor:nwse-resize; }
.win__resize--sw{ bottom:0; left:0; width:14px; height:14px; cursor:nesw-resize; }
.win .is-cited{ outline:2px solid var(--ink); outline-offset:2px; }


.win__bar{
  height:38px; flex:0 0 auto; display:flex; align-items:center; gap:var(--s-2); padding:0 var(--s-3);
  background:var(--paper-deep); border-bottom:1px solid var(--rule);
  cursor:grab; touch-action:none; user-select:none;
  font-family:var(--ui);
}
.win__bar.grabbing{ cursor:grabbing; }
.win__lights{ display:flex; gap:7px; }

.win__light{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:var(--paper-deep);box-shadow:0 0 0 .5px var(--rule-firm) inset;cursor:pointer}
.win__light.x{background:#ff5f57}.win__light.min{background:#febc2e}.win__light.max{background:#28c840}
.win__light:hover{filter:brightness(1.12)}

.win__tip-wrap{ position:relative; display:inline-flex; }
.win__tip{
  position:absolute; top:calc(100% + var(--s-2)); left:50%; z-index:7;
  transform:translate(-50%,0) scale(.98); transform-origin:50% 0;
  padding:var(--s-1) var(--s-2); border-radius:var(--r-1);
  background:var(--paper); color:var(--ink); border:1px solid var(--rule);
  box-shadow:var(--card-shadow);
  font-family:var(--ui); font-size:13px; line-height:1.25; white-space:nowrap;
  opacity:0; pointer-events:none;
  transition:opacity var(--t-tap) var(--e-swell), transform var(--t-tap) var(--e-swell);
}
.win__tip-wrap:hover .win__tip,
.win__light:focus-visible + .win__tip{
  opacity:1; transform:translate(-50%,0) scale(1);
  transition-duration:var(--t-fade);
  transition-delay:var(--stagger);
}

.win__title{ font-family:var(--ui); font-size:13px; font-weight:590; color:var(--win-title); letter-spacing:0; }
.win__sub{ font-family:var(--ui); font-size:.68rem; color:var(--win-sub); margin-left:-2px; }

.win__sub{
  opacity:0; transform:translateY(var(--d-2)) scale(.97); filter:blur(var(--blur-1));
  transition:opacity var(--t-enter) var(--e-swell), transform var(--t-enter) var(--e-swell),
    filter var(--t-enter) var(--e-swell);
}
.win__sub:not(:empty){
  opacity:1; transform:none; filter:none;
  transition:opacity var(--t-quick) var(--e-swell), transform var(--t-quick) var(--e-swell),
    filter var(--t-quick) var(--e-swell);
}
.win__body{ flex:1; overflow:hidden; display:flex; flex-direction:column; background:var(--paper-lit); position:relative; }
.win__stub{ margin:auto; padding:2rem; text-align:center; font-family:var(--serif); color:var(--ink-faint); }
.win__retry{ margin-left:.5rem; border:1px solid currentColor; border-radius:var(--r-1); background:none;
  color:inherit; font:inherit; font-size:12px; padding:.2rem .6rem; cursor:pointer; }
.win__stub--load{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:var(--s-3); color:var(--ink);
}
.win__stub-word{ font:var(--type-meta) var(--ui); color:var(--ink); }
.win-matrix{ display:grid; grid-template-columns:repeat(4,2px); grid-auto-rows:2px; gap:2px; }
.win-matrix i{ display:block; background:var(--ink-2);
  animation:win-matrix-pulse var(--t-hold) var(--ease) infinite; }
.win-matrix i:nth-child(4n+1){ animation-delay:0s; }
.win-matrix i:nth-child(4n+2){ animation-delay:calc(1 * var(--t-hold) / 10); }
.win-matrix i:nth-child(4n+3){ animation-delay:calc(2 * var(--t-hold) / 10); }
.win-matrix i:nth-child(4n+4){ animation-delay:calc(3 * var(--t-hold) / 10); }
.win-matrix i.is-gap{ visibility:hidden; animation:none; }
@keyframes win-matrix-pulse{
  0%,45%,100%{ background-color:var(--ink-2); }
  15%{ background-color:var(--ink); }
}


.win__stub .skel{
  background:var(--shimmer); background-size:250% 100%;
  animation:rp-skel-shimmer var(--t-skel) var(--e-dive) infinite;
}
.win__stub .skel::after{ content:none; }

@keyframes win-slot-reveal{ from{ opacity:0; filter:blur(var(--blur-1)); } to{ opacity:1; filter:none; } }
.win__slot:not(:has(.win__stub)) > *{ animation:win-slot-reveal var(--t-enter) var(--e-swell); }



@media(max-width:819px){.winlayer{display:none}}

.appscroll{ flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }


.sc-app{ --sc-ground:#FFFFFF; --sc-ink:#000000; --sc-ink-2:#7C7C7C; --sc-edge:rgba(0,0,0,.1);
  display:flex; flex-direction:column; height:100%; font-family:var(--ui); color:var(--sc-ink); background:var(--sc-ground); }
@media (max-width:0px){
  .sc-app{ --sc-ground:#000; --sc-ink:#F5F5F5; --sc-ink-2:#8E8E93; --sc-edge:#181818; }
}
.sc-bar{ background:var(--sc-ground); color:var(--sc-ink); padding:11px 14px 10px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--sc-edge); }
.sc-ghost{ width:26px; height:26px; flex:0 0 auto; fill:var(--sc-ink); }
.sc-htitle{ font-weight:800; font-size:19px; letter-spacing:.2px; }
.sc-tabs{ display:flex; background:var(--sc-ground); border-bottom:1px solid var(--sc-edge); }
.sc-tab{ flex:1; text-align:center; padding:11px 0; font-family:inherit; font-weight:700; font-size:13px; color:var(--sc-ink-2); cursor:pointer; letter-spacing:.3px;
  appearance:none; background:none; border:0; border-bottom:2px solid transparent; }
.sc-tab.on{ color:var(--sc-ink); border-bottom-color:var(--sc-ink); }
#win-snapchat .appscroll{ overflow:hidden; display:flex; flex-direction:column; min-height:0; }
#win-snapchat #scChat,
#win-snapchat #scMem{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
#win-snapchat #scMem{ overflow-y:auto; }
#win-snapchat #scChat .win-frag,
#win-snapchat #scChat .sc-world{ flex:1 1 auto; min-height:0; height:auto; display:flex; flex-direction:column; overflow:hidden; }
#win-snapchat #scChat .rp-search,
#win-snapchat #scChat .rp-thread-open{ flex:0 0 auto; }
#win-snapchat #scChat #scConvList,
#win-snapchat #scChat #thread-list{ flex:1 1 auto; min-height:0; overflow-y:auto; max-height:none; }
.sc-memhead{ padding:12px 14px 4px; font-weight:800; font-size:15px; color:var(--sc-ink); }
.sc-memhead small{ font-weight:600; color:var(--sc-ink-2); font-size:11px; margin-left:4px; }
.sc-mem-h{ padding:14px 14px 6px 6px; font-weight:800; font-size:13px; color:var(--sc-ink); letter-spacing:.2px; }
.sc-mem-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.sc-mem-foot{ text-align:center; font-family:var(--ui); font-size:12px; font-weight:600;
  color:var(--sc-ink-2); padding:12px 14px 18px; }

.sc-mem-grid .cell{ appearance:none; border:0; padding:0; cursor:pointer;
  position:relative; aspect-ratio:9/16; overflow:hidden;
  background:var(--shimmer);
  background-size:250% 100%; animation:rp-skel-shimmer var(--t-skel) var(--e-dive) infinite; }
.sc-mem-grid .cell img{ width:100%; height:100%; object-fit:cover; display:block; }

.sc-mem-grid .cell video{ width:100%; height:100%; object-fit:cover; display:block;
  background:var(--paper-deep); }

.sc-mem-grid .cell .overlay{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; pointer-events:none; z-index:1; }
.sc-mem-grid .cell .stamp{ position:absolute; left:6px; bottom:5px; color:#fff; font-size:10px; font-weight:700; text-shadow:0 1px 3px rgba(0,0,0,.85); z-index:2; }



.sc-stories{ padding:0 0 10px; }
.sc-stories-toggle{ display:flex; background:#fff; border-bottom:1px solid #eee; margin-bottom:2px; }
.sc-stories-btn{ appearance:none; border:0; background:transparent; flex:1; text-align:center; padding:10px 0;
  font-family:var(--ui); font-weight:700; font-size:12px; color:#9a9a9a; cursor:pointer; letter-spacing:.2px;
  border-bottom:2px solid transparent; }
.sc-stories-btn.on{ color:#111; border-bottom-color:#f23c57; }
.sc-stories-note{ padding:10px 14px 4px; font-family:var(--ui); font-size:11px; line-height:1.4; color:#9a9a9a; }
.sc-story-list{ padding:4px 0; }
.sc-story-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 14px;
  border-bottom:1px solid #f5f5f5; }
.sc-story-main{ display:flex; align-items:center; gap:8px; min-width:0; }
.sc-story-from{ font-family:var(--ui); font-weight:600; font-size:13.5px; color:#111; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.sc-story-type{ font-family:var(--ui); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#f23c57; }
.sc-story-date{ flex:0 0 auto; font-family:var(--ui); font-size:11px; color:#9a9a9a; white-space:nowrap; }


.sc-watchers{ padding:2px 0 4px; }
.sc-watcher-row{ appearance:none; width:100%; border:0; background:transparent; cursor:pointer;
  display:flex; align-items:center; gap:10px; padding:8px 14px; text-align:left; font:inherit; }
.sc-watcher-row:hover{ background:#fafafa; }
.sc-watcher-av{ width:32px; height:32px; border-radius:50%; flex:0 0 auto; overflow:hidden;
  background:#f23c57; color:#fff; font-family:var(--ui); font-size:12px; font-weight:800;
  display:flex; align-items:center; justify-content:center; }
.sc-watcher-av img{ width:100%; height:100%; object-fit:cover; display:block; }
.sc-watcher-main{ min-width:0; display:flex; flex-direction:column; gap:1px; }
.sc-watcher-name{ font-family:var(--ui); font-weight:700; font-size:13.5px; color:#111;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sc-watcher-sub{ font-family:var(--ui); font-size:11px; color:#9a9a9a; }
.sc-rawtoggle{ appearance:none; display:block; width:100%; border:0; border-top:1px solid #eee;
  background:transparent; cursor:pointer; text-align:center; padding:10px 0;
  font-family:var(--ui); font-size:11px; letter-spacing:.04em; color:#9a9a9a; }
.sc-rawtoggle:hover{ color:#111; }
.sc-story-list-raw[hidden]{ display:none; }



.sc-mem-grid .cell .hint{
  position:absolute; top:6px; left:6px; right:6px; color:#fff; font-size:9px; font-weight:600;
  line-height:1.25; text-shadow:0 1px 3px rgba(0,0,0,.85);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}


.im-app{ display:flex; flex-direction:column; height:100%; font-family:var(--ui); background:#fff; color:#000; }
.im-desktop-app{ flex-direction:row; min-width:0; min-height:0; }
.im-side{ width:290px; flex:0 0 290px; min-width:290px; min-height:0; overflow:hidden; display:flex; flex-direction:column; border-right:1px solid #e5e5ea; background:#fff; }
#win-imessage .im-side .win-frag{ flex:1 1 auto; min-height:0; height:auto; display:flex; flex-direction:column; overflow:hidden; }
#win-imessage .im-side .im-thread-pane{ flex:1 1 auto; min-height:0; height:auto; display:flex; flex-direction:column; overflow:hidden; border:0; padding:0; }
#win-imessage .im-side .rp-search,
#win-imessage .im-side .im-pins{ flex:0 0 auto; }
#win-imessage .im-side .im-conv-list{ flex:1 1 auto; min-height:0; overflow-y:auto; }
.im-main{ flex:1; min-width:0; display:flex; flex-direction:column; overflow:hidden; background:#fff; }
.im-main .win-frag{ min-width:0; display:flex; flex-direction:column; min-height:0; }
.im-main .win-frag .rp-thread-head{ flex:0 0 auto; }
.im-main .win-frag .im-thread-pane{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; }

.im-main .win-frag #thread-list{ flex:1 1 auto; max-height:none; min-height:0; justify-content:flex-start; }

.im-row{ display:flex; margin:2px 10px; }
@media (max-width:0px){
  #win-imessage .im-app,#win-imessage .im-side,#win-imessage .im-main{background:#1e1e1e;color:#fff}
  #win-imessage .im-side{border-right-color:#2c2c2e}
}


.ig-app{ --ig-bg:#FFFFFF; --ig-fg:#262626; --ig-fg-2:#737373;
  --ig-fill:#EFEFEF; --ig-line:#DBDBDB; --ig-hover:#FAFAFA; --ig-ring:#DBDBDB;
  display:flex; flex-direction:column; height:100%; font-family:var(--ui);
  background:var(--ig-bg); color:var(--ig-fg); }
.ig-ring{ width:56px; height:56px; border-radius:50%; flex:0 0 auto; padding:2.5px; background:var(--ig-ring); }
.ig-ring img{ width:100%; height:100%; border-radius:50%; object-fit:cover; border:2.5px solid var(--ig-bg); display:block; }

.ig-ring-blank{ background:var(--ig-fill); display:flex; align-items:center; justify-content:center; }

.ig-ring-mono{ font-size:16px; font-weight:600; color:var(--ig-fg-2); letter-spacing:.02em; }
.ig-ring.sm{ width:34px; height:34px; padding:2px; }
.ig-ring.sm img{ border-width:2px; }
.ig-inbox{ display:flex; flex-direction:column; height:100%; }
.ig-ibhd{ display:flex; align-items:center; justify-content:space-between; padding:12px 14px 8px; flex:0 0 auto; }
.ig-ibname{ font-size:20px; font-weight:700; display:flex; align-items:center; gap:5px; }
.ig-ibname svg{ width:16px; height:16px; }
.ig-ibhd .ig-new svg{ width:24px; height:24px; }
.ig-search{ margin:2px 14px 8px; display:flex; align-items:center; gap:8px; background:var(--ig-fill); border-radius:10px; padding:8px 12px; color:var(--ig-fg-2); font-size:14px; flex:0 0 auto; }
.ig-search svg{ width:16px; height:16px; flex:0 0 auto; }

.ig-search-input{ flex:1; min-width:0; border:0; background:transparent; outline:none;
  font-family:var(--ui); font-size:14px; color:var(--ig-fg); }
.ig-search-input::placeholder{ color:var(--ig-fg-2); }
.ig-seg{ display:flex; gap:22px; padding:2px 16px 4px; font-size:14px; flex:0 0 auto; }
.ig-seg span{ color:var(--ig-fg-2); padding-bottom:8px; }
.ig-seg span.on{ color:var(--ig-fg); font-weight:600; box-shadow:0 1px 0 var(--ig-fg); }
.ig-list{ flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.ig-item{ appearance:none; width:100%; background:transparent; border:0; cursor:pointer; text-align:left;
  display:flex; align-items:center; gap:12px; padding:8px 14px; }
.ig-item:hover{ background:var(--ig-hover); }
.ig-it-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.ig-it-u{ font-size:14px; font-weight:600; color:var(--ig-fg); }
.ig-it-p{ font-size:13px; color:var(--ig-fg-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ig-unread-dot{ width:8px; height:8px; border-radius:999px; background:#4A5DF9; flex:0 0 auto; }
.ig-cam{ color:var(--ig-fg-2); flex:0 0 auto; } .ig-cam svg{ width:22px; height:22px; }
.ig-thread{ display:flex; flex-direction:column; height:100%; }
.ig-hd{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid var(--ig-line); flex:0 0 auto; }
.ig-chev{ font-size:26px; width:16px; color:var(--ig-fg); cursor:pointer; line-height:1; }
.ig-who{ flex:1; line-height:1.15; }
.ig-who .u{ font-weight:700; font-size:14px; }
.ig-who .s{ font-size:11px; color:var(--ig-fg-2); }
.ig-icons{ display:flex; gap:16px; color:var(--ig-fg); }
.ig-icons svg{ width:24px; height:24px; }
.ig-day{ text-align:center; font-size:12px; font-weight:300; color:var(--ig-fg-2); margin:14px 0 8px; }
.ig-row{ display:flex; margin:3px 12px; align-items:flex-end; gap:8px; }
.ig-row.in{ justify-content:flex-start; } .ig-row.out{ justify-content:flex-end; }
.ig-mini{ width:24px; height:24px; border-radius:50%; overflow:hidden; flex:0 0 auto; background:var(--ig-fill); }
.ig-mini img{ width:100%; height:100%; object-fit:cover; display:block; }

.ig-b{ max-width:62%; padding:9px 14px; border-radius:18px; font-size:15px; line-height:1.35;
  overflow-wrap:anywhere; word-break:break-word; white-space:pre-wrap; }
.ig-row.in .ig-b{ background:var(--ig-fill); color:var(--ig-fg); }
.ig-row.out .ig-b{ background:#6234FA; color:#fff; }
.ig-row.in.ig-stack .ig-b{ border-radius:4px 18px 18px 18px; }
.ig-row.out.ig-stack .ig-b{ border-radius:18px 4px 18px 18px; }
.ig-bar{ flex:0 0 auto; display:flex; align-items:center; gap:8px; padding:9px 12px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid var(--ig-line); }
.ig-field{ flex:1; border:1px solid var(--ig-line); border-radius:20px; padding:8px 14px; font-size:13px; color:var(--ig-fg-2); }


.ig-media-b{ max-width:68%; border-radius:14px; overflow:hidden; min-height:120px;
  background:var(--shimmer);
  background-size:250% 100%; animation:rp-skel-shimmer var(--t-skel) var(--e-dive) infinite; }
.ig-inline-media{ display:block; width:100%; max-height:280px; object-fit:cover; }
.ig-inline-media-audio{ display:block; width:220px; max-width:100%; }
.ig-share-card{ position:relative; width:300px; max-width:100%; border-radius:18px; overflow:hidden; background:#262626; }
.ig-share-card.ig-share-reel{ width:200px; }
.ig-share-card .ig-inline-media{ max-height:355px; min-height:180px; }
.ig-share-overlay{ position:absolute; left:10px; right:10px; top:10px; display:flex; align-items:center; gap:7px;
  color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.75); }
.ig-share-avatar{ width:22px;height:22px;border-radius:50%;background:#4A5DF9;color:#fff;display:inline-flex;
  align-items:center;justify-content:center;font-size:10px; }
.ig-share-play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:36px; height:36px;
  border-radius:50%; background:rgba(0,0,0,.45); }
.ig-share-play::before{ content:""; position:absolute; left:14px; top:10px; width:0; height:0;
  border-style:solid; border-width:8px 0 8px 12px; border-color:transparent transparent transparent #fff; }
.ig-share-caption{ padding:8px 10px; color:#F5F5F5; font-size:12px; line-height:1.35; background:#262626; }
.ig-quiet-note{ margin:0 14px 8px; font-family:var(--ui); font-size:11px; line-height:1.4; color:var(--ig-fg-2); }


.ig-b-quiet{ font-style:italic; color:var(--ig-fg-2); }
.ig-row.in .ig-b-quiet, .ig-row.out .ig-b-quiet{ background:var(--ig-fill); color:var(--ig-fg-2); }


.ig-panes{ flex:1; min-height:0; position:relative; }
.ig-pane{ height:100%; }
.ig-nav{ flex:0 0 auto; display:flex; border-top:1px solid var(--ig-line); background:var(--ig-bg); }
.ig-nav > button{ flex:1; text-align:center; padding:8px 0 calc(8px + env(safe-area-inset-bottom)); font-family:inherit; font-size:10px;
  color:var(--ig-fg-2); display:flex; flex-direction:column; align-items:center; gap:3px; cursor:pointer;
  appearance:none; background:none; border:0; }
.ig-nav > button.on{ color:var(--ig-fg); }
.ig-nav svg{ width:21px; height:21px; }


.ig-stories{ height:100%; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.ig-st-head{ padding:14px 14px 6px; font-family:var(--ui); font-weight:700; font-size:15px; color:var(--ig-fg); }
.ig-st-head small{ display:block; margin-top:2px; font-weight:600; color:var(--ig-fg-2); font-size:11px; }
.ig-st-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; padding:6px 0 0; }
.ig-st-cell{ appearance:none; border:0; padding:0; margin:0; cursor:pointer; position:relative;
  aspect-ratio:9/16; overflow:hidden; background:#000; }
.ig-st-cell img, .ig-st-cell video{ width:100%; height:100%; object-fit:cover; display:block; }
.ig-st-vid{ position:absolute; top:6px; right:6px; color:#fff; font-size:11px; text-shadow:0 1px 3px rgba(0,0,0,.85); }
.ig-st-date{ position:absolute; left:6px; bottom:5px; color:#fff; font-size:10px; font-weight:700;
  text-shadow:0 1px 3px rgba(0,0,0,.85); }
.ig-sv{ position:absolute; inset:0; background:#000; z-index:6; flex-direction:column; }
.ig-sv-bars{ flex:0 0 auto; display:flex; gap:4px; padding:8px 8px 0; }
.ig-sv-seg{ flex:1; height:2px; background:rgba(255,255,255,.35); border-radius:1px; overflow:hidden; }

.ig-sv-fill{ height:100%; width:0; background:#fff; transition:width var(--t-story) linear; }
.ig-sv-x{ position:absolute; top:6px; right:8px; z-index:1; appearance:none; border:0; background:none;
  color:#fff; font-size:24px; line-height:1; padding:6px 8px; cursor:pointer; }
.ig-sv-stage{ flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden; min-height:0; }
.ig-sv-stage img, .ig-sv-stage video{ max-width:100%; max-height:100%; object-fit:contain; display:block; }


.ig-posts{ height:100%; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.ig-prof-stats{ display:flex; align-items:stretch; justify-content:space-around;
  padding:14px 10px 10px; border-bottom:1px solid var(--ig-line); flex:0 0 auto; }
.ig-stat{ flex:1; text-align:center; font-family:var(--ui); color:var(--ig-fg); line-height:1.15; }
.ig-stat b{ display:block; font-size:16px; font-weight:700; }
.ig-stat span{ display:block; margin-top:2px; font-size:12px; font-weight:400; color:var(--ig-fg-2); }

.ig-hl{ padding:10px 14px 12px; border-bottom:1px solid var(--ig-line); }
.ig-hl-stub{ font-family:var(--ui); font-size:12px; line-height:1.4; color:var(--ig-fg-2);
  text-align:center; padding:6px 4px; }
.ig-pg-head{ padding:14px 14px 6px; font-family:var(--ui); font-weight:700; font-size:15px; color:var(--ig-fg); }
.ig-pg-head small{ display:block; margin-top:2px; font-weight:600; color:var(--ig-fg-2); font-size:11px; }
.ig-pg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; }
.ig-pg-cell{ appearance:none; border:0; padding:0; margin:0; cursor:pointer; position:relative;
  aspect-ratio:3/4; overflow:hidden; background:var(--ig-fill); }
.ig-pg-cell img, .ig-pg-cell video{ width:100%; height:100%; object-fit:cover; display:block; }
.ig-pg-miss{ width:100%; height:100%; background:var(--ig-fill); }
.ig-pg-reel{ position:absolute; right:6px; bottom:6px; color:#fff; font-size:13px; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.ig-pg-carousel{ position:absolute; right:6px; top:6px; color:#fff; font-size:13px; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.ig-pd{ height:100%; display:flex; flex-direction:column; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.ig-pd-hd{ flex:0 0 auto; display:flex; align-items:center; gap:8px; padding:8px 12px; }
.ig-pd-date{ color:var(--ig-fg-2); font-size:11px; }
.ig-pd-stage{ position:relative; flex:0 0 auto; aspect-ratio:4/5; background:#000; }
.ig-pd-media{ width:100%; height:100%; }
.ig-pd-media img, .ig-pd-media video{ width:100%; height:100%; object-fit:contain; display:block; }
.ig-pd-miss{ width:100%; height:100%; background:#111; }
.ig-pd-nav{ position:absolute; top:50%; transform:translateY(-50%); appearance:none; border:0;
  background:rgba(0,0,0,.35); color:#fff; font-size:22px; line-height:1; padding:6px 10px; cursor:pointer; }
.ig-pd-nav.l{ left:6px; } .ig-pd-nav.r{ right:6px; }
.ig-pd-count{ position:absolute; bottom:8px; right:10px; color:#fff; font-size:11px; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.ig-pd-reel{ padding:8px 14px 0; font-family:var(--ui); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ig-fg-2); }
.ig-pd-caption{ padding:6px 14px 14px; font-family:var(--ui); font-size:13.5px; line-height:1.4; color:var(--ig-fg); }
@media (max-width:0px){
  .ig-app{

    --ig-bg:#0D1014; --ig-fg:#F5F5F5; --ig-fg-2:#A8A8A8;
    --ig-fill:#25292E; --ig-line:#363636; --ig-hover:#161B21; --ig-ring:#3A3F45;
  }
}


.gp-app{ display:flex; flex-direction:column; height:100%; font-family:"Roboto",var(--ui); background:#131314; color:#e3e3e3; }
.gp-shell{ flex-direction:row; min-height:0; }
.gp-side{ flex:0 0 256px; display:flex; flex-direction:column; gap:2px; padding:14px 10px 16px;
  border-right:1px solid #3c4043; overflow-y:auto; min-height:0; background:#1e1f20; }
.gp-side-item{ appearance:none; border:0; background:transparent; width:100%; text-align:left; font:inherit; cursor:pointer;
  display:block; padding:8px 12px; border-radius:18px; font-size:13px; font-weight:500;
  color:#e3e3e3; text-decoration:none; }
.gp-side-item:hover{ background:#303134; }
.gp-side-item.on{ background:#394457; color:#a8c7fa; }
.gp-side-div{ height:1px; background:#3c4043; margin:10px 8px; }
.gp-side-storage{ padding:8px 10px 0; }
.gp-side-storage-label{ font-size:12px; font-weight:500; color:#e3e3e3; margin-bottom:6px; }
.gp-side-storage-bar{ height:4px; border-radius:2px; background:#3c4043; overflow:hidden; }
.gp-side-storage-bar > span{ display:block; height:100%; background:#8ab4f8; border-radius:2px; }
.gp-side-storage-meta{ margin-top:6px; font-size:11px; line-height:1.35; color:#c4c7c5; }
.gp-main{ flex:1; min-width:0; min-height:0; display:flex; flex-direction:column; }
.gp-main > .appscroll{ flex:1; min-height:0; }
.gp-hd{ display:flex; align-items:center; gap:12px; padding:0 16px; flex:0 0 64px; height:64px; box-sizing:border-box; }
.gp-search{ flex:1; display:flex; align-items:center; gap:9px; background:#303134; border-radius:22px; padding:8px 14px; color:#c4c7c5; font-size:14px; margin:0; border:0; }
.gp-search svg{ width:17px; height:17px; flex:0 0 auto; }
.gp-search-input{ flex:1; min-width:0; border:0; background:transparent; font:inherit; color:inherit; outline:none; }

.gp-ava{ width:28px; height:28px; border-radius:50%; background:#1a73e8; color:#fff; font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.gp-date{ padding:14px 14px 7px; font-size:13px; font-weight:500; color:#e3e3e3; }
.gp-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:3px; padding:0 3px; }
.gp-grid .cell{ position:relative; aspect-ratio:1/1; overflow:hidden; background:#303134; }
.gp-grid .cell img{ width:100%; height:100%; object-fit:cover; display:block; }
.gp-nav{ flex:0 0 auto; display:flex; border-top:1px solid #3c4043; }
.gp-nav div{ flex:1; text-align:center; padding:9px 0 calc(9px + env(safe-area-inset-bottom)); font-size:11px; color:#c4c7c5; display:flex; flex-direction:column; align-items:center; gap:3px; }
.gp-nav div.on{ color:#a8c7fa; }
.gp-nav svg{ width:20px; height:20px; }


.ap-app{ display:flex; flex-direction:column; height:100%; font-family:var(--ui); background:#fff; color:#000; }
.ap-shell{ flex-direction:row; min-height:0; }
.ap-side{ flex:0 0 168px; display:flex; flex-direction:column; gap:1px; padding:12px 8px 16px;
  border-right:1px solid #e5e5ea; overflow-y:auto; min-height:0; background:rgba(246,246,246,.92); }

.ap-side-item{ appearance:none; border:0; background:transparent; text-align:left; font:inherit;
  display:flex; align-items:center; gap:8px; width:100%; padding:7px 10px; border-radius:8px;
  font-size:13px; font-weight:500; color:#1c1c1e; cursor:pointer; }
.ap-side-ico{ flex:0 0 auto; width:16px; height:16px; color:#007AFF; }
.ap-side-item > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ap-side-item:hover{ background:rgba(0,0,0,.06); }

.ap-side-item.on{ background:rgba(0,0,0,.09); color:#1c1c1e; }
.ap-side-group{ margin:12px 10px 4px; font-size:11px; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:#8e8e93; }
.ap-main{ flex:1; min-width:0; min-height:0; display:flex; flex-direction:column; }
.ap-main > .appscroll{ flex:1; min-height:0; }
.ap-hd{ display:flex; align-items:baseline; justify-content:space-between; padding:14px 16px 6px; }
.ap-hd .t{ font-size:30px; font-weight:700; letter-spacing:-.02em; }
.ap-hd .plus{ color:#007AFF; font-size:24px; }
.ap-sub{ padding:0 16px 8px; font-size:14px; color:#8e8e93; }

.ap-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:18px 14px; padding:10px 16px 16px; }
.ap-alb{ appearance:none; border:0; background:none; padding:0; margin:0; text-align:left; font:inherit; color:inherit; cursor:pointer; display:block; width:100%; }
.ap-alb .thumb{ aspect-ratio:1/1; border-radius:10px; overflow:hidden;
  background:var(--shimmer);
  background-size:250% 100%; animation:rp-skel-shimmer var(--t-skel) var(--e-dive) infinite; }
.ap-alb .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ap-alb .nm{ margin-top:7px; font-size:14px; font-weight:500; color:#000; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ap-alb .ct{ font-size:13px; color:#8e8e93; }
.ap-nav{ flex:0 0 auto; display:flex; border-top:1px solid #e5e5ea; background:rgba(255,255,255,.94); }
.ap-nav div{ flex:1; text-align:center; padding:8px 0 calc(8px + env(safe-area-inset-bottom)); font-size:10px; color:#8e8e93; display:flex; flex-direction:column; align-items:center; gap:2px; }
.ap-nav div.on{ color:#007AFF; }
.ap-nav svg{ width:20px; height:20px; }
@media (max-width:0px){

  #win-aphotos .ap-app{background:#191919;color:#fff}
  #win-aphotos .ap-side{background:#202020;border-right-color:#2c2c2e}
  #win-aphotos .ap-side-item{color:#f5f5f7}
  #win-aphotos .ap-side-ico{color:#0a84ff}
  #win-aphotos .ap-side-item:hover{background:#292b2b}
  #win-aphotos .ap-side-item.on{background:#2e3030;color:#f7fafc}
  #win-aphotos .ap-side-group{color:#8e8e93}
  #win-aphotos .ap-alb .nm,#win-aphotos .ap-dtitle{color:#fff}
  #win-aphotos .ap-nav{background:rgba(0,0,0,.94);border-top-color:#2c2c2e}
  #win-aphotos .ap-alb .thumb,#win-aphotos .ap-pcell{background:#1c1c1e}
}


.ap-dhd{ padding:10px 16px 4px; }
.ap-back{ appearance:none; border:0; background:none; padding:0; margin:0 0 4px; font:inherit; color:#007AFF; font-size:16px; cursor:pointer; }
.ap-dtitle{ font-size:22px; font-weight:700; letter-spacing:-.02em; color:#000; margin-top:2px; }
.ap-dsub{ font-size:13px; color:#8e8e93; margin:1px 0 4px; }
.ap-pgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; padding:0 0 16px; }

.ap-libhd{ padding:12px 14px 4px; }
.ap-libhd-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.ap-lib-title{ font-size:22px; font-weight:700; letter-spacing:-.02em; }
.ap-lib-link{ appearance:none; border:0; background:none; padding:0; margin:0;
  font:inherit; color:#007AFF; font-size:15px; cursor:pointer; }

.ap-seg{ display:inline-flex; align-items:stretch; margin:8px 0 2px;
  border:1px solid #c7c7cc; border-radius:7px; overflow:hidden; background:#f2f2f7; }
.ap-seg-btn{ appearance:none; border:0; border-right:1px solid #c7c7cc; background:transparent;
  padding:5px 11px; font:600 12px var(--ui); color:#3a3a3c; cursor:pointer; }
.ap-seg-btn:last-child{ border-right:0; }
.ap-seg-btn.on{ background:#fff; color:#000; }
.ap-periodgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:14px 12px; padding:10px 12px 8px; }
.ap-period{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.ap-period-label{ display:flex; align-items:baseline; justify-content:space-between; gap:8px;
  font-size:13px; font-weight:600; padding:0 2px; }
.ap-period-label span{ font-weight:400; font-size:12px; color:#8e8e93; }
.ap-period .ap-pcell{ aspect-ratio:1/1; border-radius:6px; }
.ap-libgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:2px; padding:4px 2px 8px; }
.ap-month{ grid-column:1 / -1; font-size:13px; font-weight:600; letter-spacing:-.01em;
  padding:12px 6px 6px; color:inherit; }
.ap-foot{ text-align:center; font-size:12px; color:#8e8e93; padding:10px 12px 18px; }
.ap-more{ display:block; margin:4px auto 8px; appearance:none; border:0; background:none;
  color:#007AFF; font-size:13px; cursor:pointer; padding:6px 12px; }
@media (max-width:0px){
  #win-aphotos .ap-lib-title,#win-aphotos .ap-month{color:#fff}
  #win-aphotos .ap-foot{color:#8e8e93}
  #win-aphotos .ap-seg{background:#1c1c1e;border-color:#3a3a3c}
  #win-aphotos .ap-seg-btn{color:#ebebf5;border-right-color:#3a3a3c}
  #win-aphotos .ap-seg-btn.on{background:#2c2c2e;color:#fff}
  #win-aphotos .ap-period-label{color:#fff}
  #win-aphotos .ap-period-label span{color:#8e8e93}
}
.ap-pcell{ position:relative; aspect-ratio:1/1; overflow:hidden; cursor:pointer;
  background:var(--shimmer);
  background-size:250% 100%; animation:rp-skel-shimmer var(--t-skel) var(--e-dive) infinite; }
.ap-pcell img{ width:100%; height:100%; object-fit:cover; display:block; }

.ap-pcell-miss{ display:flex; align-items:center; justify-content:center; cursor:default;
  background:#e5e5ea; animation:none; }
.ap-pcell-miss img{ display:none; }
.ap-miss-label{ font-size:9px; color:#8e8e93; text-align:center; padding:0 4px; line-height:1.3; }
.ap-badges{ position:absolute; top:4px; left:4px; display:flex; gap:4px; color:#fff; font-size:9px;
  font-weight:700; letter-spacing:.02em; text-shadow:0 1px 2px rgba(0,0,0,.8); }
.ap-fav{ position:absolute; bottom:3px; left:4px; color:#fff; font-size:11px; line-height:1; text-shadow:0 1px 2px rgba(0,0,0,.8); }
.ap-vbadge{ position:absolute; bottom:3px; right:4px; display:inline-flex; align-items:center; gap:3px;
  color:#fff; font-size:9px; font-weight:600; line-height:1; text-shadow:0 1px 2px rgba(0,0,0,.8); }

.ap-vcam{ width:12px; height:8px; flex:0 0 auto; fill:currentColor;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.8)); }


.ap-lb{ position:absolute; inset:0; background:#000; z-index:5; flex-direction:column; }
.ap-lb-top{ flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:10px 14px; }
.ap-lb-x{ appearance:none; border:0; background:none; color:#fff; font-size:22px; line-height:1; padding:4px 8px; cursor:pointer; }
.ap-lb-ct{ color:#8e8e93; font-size:12px; }
.ap-lb-img{ flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden; min-height:0; }
.ap-lb-img img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }

.ap-lb-img video{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.ap-lb-nav{ flex:0 0 auto; display:flex; justify-content:space-between; padding:8px 10px calc(8px + env(safe-area-inset-bottom)); }
.ap-lb-nav button{ appearance:none; border:0; background:none; color:#fff; font-size:26px; line-height:1; padding:4px 14px; cursor:pointer; }
.ap-lb-nav button:disabled{ opacity:.25; cursor:default; }
#apLb .ap-lb-nav{ display:none; }
#gpLb .ap-lb-ct{ display:none; }

#scLbDay{ color:#8e8e93; font-size:12px; text-decoration:none; }
#scLbDay:hover{ color:#fff; }
#gpLb .ap-lb-nav,#scLb .ap-lb-nav{ position:absolute; inset:0; display:block; padding:0; pointer-events:none; }
#gpLb .ap-lb-nav button,#scLb .ap-lb-nav button{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:64px;
  border-radius:22px; background:rgba(0,0,0,.18); padding:0; opacity:0; pointer-events:auto;
  transition:opacity var(--t-fade) var(--ease), background var(--t-fade) var(--ease); }
#gpLb:hover .ap-lb-nav button:not(:disabled),#scLb:hover .ap-lb-nav button:not(:disabled){ opacity:1; }
#gpLb .ap-lb-nav button:hover,#scLb .ap-lb-nav button:hover{ background:rgba(0,0,0,.34); }
#gpLb .ap-lb-nav button:disabled,#scLb .ap-lb-nav button:disabled{ opacity:0; pointer-events:none; }
#gpLbPrevBtn,#scLbPrevBtn{ left:14px; }
#gpLbNextBtn,#scLbNextBtn{ right:14px; }




@media (prefers-reduced-motion:reduce){
  .win{ transition:opacity .001s; --s:1; --px:0px; }
  .win.closing{ transition:opacity .001s; }
  .win.maximized{ --win-size-t:0s; }
  body.surface-beside .win,
  body.surface-beside .win.closing{ transition:opacity .001s; --px:0px; filter:none; }
  .win__sub{ transition:none; }
  .win__tip{ transition:none; }
  .win__stub .skel{ animation:none; }
  .win-matrix i{ animation:none; }
  .win__slot > *{ animation:none; }
}


.win__sub{ font-size:13px; }

#win-snapchat:has(#scTabChat.on):has(.sc-thread-who) .sc-bar{display:none}

#win-imessage{container-type:inline-size;container-name:imessage}
@container imessage (max-width:560px){.im-side{display:none}}

.rp-thread-head:has(+ .im-thread-pane){margin:0;padding:12px 16px;background:#f6f6f8;border-bottom:1px solid #dedee3;flex-wrap:nowrap}
.rp-thread-head:has(+ .im-thread-pane) .rp-thread-title{font:600 14px/1.3 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;letter-spacing:0;color:#17171a}
.rp-thread-head:has(+ .im-thread-pane) .rp-thread-avatar{width:32px;height:32px;font:12px -apple-system,BlinkMacSystemFont,sans-serif;background:#d4d6dc;color:#555}
.rp-thread-head:has(+ .im-thread-pane) .rp-thread-caption{display:none}
.rp-thread-head:has(+ .im-thread-pane) .rp-thread-open :is(button,a){font:12px -apple-system,BlinkMacSystemFont,sans-serif;color:#707078}
@media (max-width:0px){
  .rp-thread-head:has(+ .im-thread-pane){background:#1c1c1e;border-color:#2c2c2e}
  .rp-thread-head:has(+ .im-thread-pane) .rp-thread-title{color:#fff}
  .rp-thread-head:has(+ .im-thread-pane) .rp-thread-avatar{background:#48484a;color:#fff}
  .rp-thread-head:has(+ .im-thread-pane) .rp-thread-open :is(button,a){color:#98989d}
}
