body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Open Sans,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hide-scrollbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none!important}[data-scroll-container=main].hide-scrollbar::-webkit-scrollbar{display:none!important}:root{--dh-accent:#1868db;--dh-accent-strong:#1558bc;--dh-accent-bg:#e9f2fe;--dh-accent-bg-strong:#cfe1fd;--dh-surface:#fff;--dh-hover-bg:#0515240f;--dh-active-bg:#0515241f;--dh-border:#0b120e24;--dh-text:#292a2e;--dh-text-secondary:#505258;--dh-text-muted:#6b6e76;--dh-text-disabled:#080f214a;--dh-warning:#e06c00;--dh-indent:16px;--dh-row-h:32px;--dh-popup-shadow:0 8px 12px #1e1f2126, 0 0 1px #1e1f214f;--dh-popup-radius:8px;--dh-focus-ring:#4688ec}@media (pointer:coarse){:root{--dh-row-h:44px}}.dhupdate{z-index:10002;box-sizing:border-box;background:var(--dh-notice-bg,#f8e6a0);min-height:40px;color:var(--dh-notice-text,#4a3b00);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:8px 16px;font-size:14px;line-height:20px;animation:.25s cubic-bezier(0,.4,0,1) backwards dhUpdateIn;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #1e1f2124}.dhupdate[data-phase=update-ready]{background:var(--dh-notice-strong-bg,#cfe1fd);color:var(--dh-notice-strong-text,#10305c)}.dhupdate-text{text-align:center;overflow-wrap:anywhere;margin:0}.dhupdate-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.dhupdate-action{background:var(--dh-accent,#1868db);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:14px;font-weight:500}.dhupdate-action:hover{background:var(--dh-accent-strong,#1558bc)}.dhupdate-action--ghost{color:inherit;background:0 0;font-weight:400;text-decoration:underline}.dhupdate-action--ghost:hover{background:var(--dh-hover-bg,#0515240f)}.dhupdate-action:focus-visible{outline:2px solid var(--dh-focus-ring,#4688ec);outline-offset:2px}@keyframes dhUpdateIn{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dhupdate{animation:none}}.dhflag-host{z-index:10001;pointer-events:none;flex-direction:column;gap:12px;width:min(400px,100vw - 40px);display:flex;position:fixed;bottom:20px;left:20px}.dhflag{pointer-events:auto;box-sizing:border-box;border-radius:var(--dh-popup-radius,8px);background:var(--dh-surface,#fff);width:100%;box-shadow:var(--dh-popup-shadow,0 8px 12px #1e1f2126, 0 0 1px #1e1f214f);color:var(--dh-text,#292a2e);align-items:flex-start;gap:16px;padding:16px;animation:.25s cubic-bezier(0,.4,0,1) backwards dhFlagIn;display:flex}.dhflag[data-state=closing]{pointer-events:none;animation:.2s cubic-bezier(.6,0,.8,.6) forwards dhFlagOut}.dhflag-body{flex:1;min-width:0}.dhflag-title{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:20px}.dhflag-desc{color:var(--dh-text-secondary,#505258);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:18px}.dhflag-actions{gap:12px;margin-top:8px;display:flex}.dhflag-action{color:var(--dh-accent,#1868db);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:14px;font-weight:500}.dhflag-action:hover{color:var(--dh-accent-strong,#1558bc);text-decoration:underline}.dhflag-action:focus-visible{outline:2px solid var(--dh-focus-ring,#4688ec);outline-offset:2px}.dhflag-close{width:24px;height:24px;color:var(--dh-text-secondary,#505258);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.dhflag-close:hover{background:var(--dh-hover-bg,#0515240f)}.dhflag-close:focus-visible{outline:2px solid var(--dh-focus-ring,#4688ec);outline-offset:2px}@keyframes dhFlagIn{0%{opacity:0;transform:translate(-50%)}to{opacity:1;transform:translate(0)}}@keyframes dhFlagOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-15%)}}@media (prefers-reduced-motion:reduce){.dhflag,.dhflag[data-state=closing]{animation:none}}
