/* The hub's document viewer (asg-doc-viewer.js). A dark reading room in both themes, as a document viewer is: the
   pages stay true white, the chrome recedes. It sits on <body>, outside the hub's dark-mode inversion. It grows out
   of the chip that opened it and goes back the same way; Reduce Motion makes that a cross-fade. */
/* Above the Joris panel (2147483500) and its dropdowns (2147483600): a document covers the chat it came from. */
.asgdv{position:fixed;inset:0;z-index:2147483620;display:flex;align-items:center;justify-content:center;padding:24px;
  --dv-chrome:rgba(28,28,30,.92);--dv-ink:#f5f5f7;--dv-faint:rgba(245,245,247,.68);--dv-line:rgba(255,255,255,.12);--dv-wash:rgba(255,255,255,.1);
  font:400 15px/1.45 'ASG Outfit','SF Pro Text',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--dv-ink)}
html.asgdv-locked{overflow:hidden}
.asgdv-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .22s ease}
.asgdv-sheet{position:relative;display:flex;flex-direction:column;width:min(980px,100%);height:min(92vh,1200px);border-radius:18px;overflow:hidden;
  background:#1b1b1d;box-shadow:0 30px 80px rgba(0,0,0,.45);opacity:0;transform:scale(.94);transition:transform .32s cubic-bezier(.2,.9,.25,1),opacity .2s ease}
.asgdv.is-open .asgdv-scrim{opacity:1}
.asgdv.is-open .asgdv-sheet{opacity:1;transform:none}
.asgdv-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;background:var(--dv-chrome);border-bottom:1px solid var(--dv-line);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}
.asgdv-head>.asgdv-icon{flex:none;width:22px;height:22px;color:var(--dv-faint)}
.asgdv-words{flex:1;min-width:0}
.asgdv-title{margin:0;font-size:15px;font-weight:650;line-height:1.3;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asgdv-sub{margin:1px 0 0;font-size:12.5px;font-weight:500;line-height:1.35;letter-spacing:.01em;color:var(--dv-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asgdv-tools{display:flex;gap:6px;flex:none}
.asgdv-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:999px;background:var(--dv-wash);color:var(--dv-ink);
  cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s ease-out,background-color .15s ease}
.asgdv-btn:active{transform:scale(.92)}
.asgdv-btn:disabled{opacity:.4;cursor:default}
.asgdv-btn:focus-visible{outline:2px solid var(--dv-ink);outline-offset:2px}
.asgdv-btn .asgdv-icon{width:18px;height:18px;display:inline-flex}
.asgdv-icon svg{width:100%;height:100%}
@media (hover:hover) and (pointer:fine){.asgdv-btn:not(:disabled):hover{background:rgba(255,255,255,.18)}}
.asgdv-body{flex:1;overflow:auto;overscroll-behavior:contain;outline:none;background:#2a2a2d}
.asgdv-wait{margin:24px;color:var(--dv-faint)}
.asgdv-pages{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px}
.asgdv-page{flex:none;background:#fff;border-radius:3px;box-shadow:0 2px 10px rgba(0,0,0,.35);overflow:hidden}
.asgdv-page canvas{display:block;width:100%;height:100%}
.asgdv-image{display:block;max-width:100%;margin:16px auto;border-radius:6px}
.asgdv-text{margin:0;padding:20px;white-space:pre-wrap;word-break:break-word;font:13.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#111;background:#fff;min-height:100%}
.asgdv-note{margin:28px 24px;font-size:15px;line-height:1.5;color:var(--dv-ink)}
@media (max-width:720px){
  .asgdv{padding:0;align-items:stretch}
  .asgdv-sheet{width:100%;height:100%;border-radius:0}
  .asgdv-pages{padding:10px;gap:10px}
  .asgdv-btn{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  .asgdv-sheet{transform:none!important;transition:opacity .18s ease}
  .asgdv-btn{transition:background-color .15s ease}.asgdv-btn:active{transform:none}
}
@media (prefers-reduced-transparency:reduce){.asgdv-head{background:#1c1c1e;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){
  .asgdv{--dv-faint:#f5f5f7;--dv-line:rgba(255,255,255,.5)}
  .asgdv-btn{border:1.5px solid var(--dv-ink)}
}
