body.viewer-shell{margin:0;width:100vw;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background-color:#f8fafc;color:#0f172a;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.viewer-main{flex:1;display:flex;justify-content:center;align-items:stretch;max-width:none;width:100%;margin:0;height:100%;min-height:100%;padding:0;position:relative;overflow:hidden}.viewer-main [hidden]{display:none!important}.viewer-menu{position:fixed;top:max(18px,calc(env(safe-area-inset-top,0) + 12px));right:max(18px,calc(env(safe-area-inset-right,0) + 12px));z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.viewer-menu__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:18px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#ffffffeb;cursor:pointer;box-shadow:0 10px 22px #94a3b82e;border:1px solid rgba(148,163,184,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.viewer-menu__toggle:hover,.viewer-menu__toggle:focus-visible{transform:translateY(-1px);box-shadow:0 16px 30px #94a3b838;background:#fffffffa;border-color:#3b82f666}.viewer-menu__toggle:focus-visible{outline:3px solid rgba(59,130,246,.35);outline-offset:2px}.viewer-menu__icon{position:relative;width:20px;height:14px;display:inline-flex;flex-direction:column;justify-content:space-between}.viewer-menu__icon span{display:block;width:100%;height:2px;border-radius:999px;background:#1e293b8c;transition:background .2s ease}.viewer-menu__toggle:hover .viewer-menu__icon span,.viewer-menu__toggle:focus-visible .viewer-menu__icon span{background:#1e40af8c}.viewer-menu__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.viewer-menu__panel{min-width:220px;background:#fffffff5;border-radius:18px;border:1px solid rgba(148,163,184,.28);box-shadow:0 24px 44px #94a3b840;padding:16px;display:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:calc(100dvh - 120px);overflow-y:auto}.viewer-menu__panel.is-open{display:block}.viewer-menu__heading{margin:0 0 12px;font-size:15px;font-weight:700;color:#334155;letter-spacing:.2px}.viewer-menu__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.viewer-menu__list a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-weight:600;color:#475569;background:#f1f5f9cc;border:1px solid transparent;transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease}.viewer-menu__list button.viewer-menu__link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:12px;font-weight:600;color:#475569;background:#f1f5f9cc;border:1px solid transparent;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease}.viewer-menu__list-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:inherit}.viewer-menu__list-icon svg{width:100%;height:100%;fill:currentColor}.viewer-menu__list a:hover,.viewer-menu__list a:focus-visible,.viewer-menu__list button.viewer-menu__link-button:hover,.viewer-menu__list button.viewer-menu__link-button:focus-visible{background:#dbeafed9;border-color:#94a3b873;transform:translate(2px);color:#1d4ed8;outline:none}.viewer-menu__list button.viewer-menu__link-button[disabled]{opacity:.55;cursor:not-allowed;background:#f1f5f999;transform:none}.viewer-menu__list button.viewer-menu__link-button[disabled]:hover,.viewer-menu__list button.viewer-menu__link-button[disabled]:focus-visible{background:#f1f5f999;border-color:transparent;color:#94a3b8;transform:none}.viewer-menu__list-note{margin-top:4px;padding-left:4px;font-size:12px;color:#94a3b8}.viewer-menu__footer{margin-top:12px;font-size:12px;color:#94a3b8;text-align:right}.viewer-menu__control-group{display:grid;gap:10px;padding:12px 0 4px;border-top:1px solid rgba(148,163,184,.2);margin-top:10px}.viewer-menu__control-title{font-size:13px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em}.viewer-menu__control-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.viewer-menu__divider{margin:14px 0;border:0;border-top:1px solid rgba(148,163,184,.28)}.viewer-menu__control-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(148,163,184,.35);background:#f8fafce6;color:#1e293b;border-radius:10px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease,box-shadow .2s ease}.viewer-menu__control-button:hover,.viewer-menu__control-button:focus-visible{background:#dbeafed9;border-color:#3b82f666;color:#1d4ed8;box-shadow:0 8px 18px #94a3b82e;transform:translateY(-1px);outline:none}.viewer-menu__control-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.viewer-menu__control-button.is-active{background:#bfdbfee6;border-color:#2563eb80;color:#1d4ed8;box-shadow:0 10px 20px #2563eb26}.viewer-menu__control-value{font-size:13px;font-weight:700;color:#334155;border:1px solid rgba(148,163,184,.35);background:#f8fafccc;border-radius:10px;padding:6px 12px;min-width:56px;text-align:center}.viewer-setup{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 32px 56px #0f172a1f;padding:28px;margin-bottom:28px}.viewer-setup__task-name{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.viewer-setup__heading{margin:0;font-size:26px;color:#0f172a}.viewer-setup__helper{margin:8px 0 0;color:#475569;font-size:15px}@media (max-width: 640px){.viewer-menu{top:max(10px,calc(env(safe-area-inset-top,0) + 8px));right:max(10px,calc(env(safe-area-inset-right,0) + 8px))}.viewer-menu__toggle{width:40px;height:40px}.viewer-menu__panel{width:min(92vw,280px);max-width:92vw;padding:12px;max-height:calc(100dvh - 90px)}.viewer-menu__control-group{gap:8px;align-items:stretch}.viewer-menu__control-actions{flex-direction:column;align-items:stretch;gap:6px}.viewer-menu__control-button,.viewer-menu__control-value{flex:1 1 auto;justify-content:center;text-align:center}.viewer-menu__control-value{min-width:0}.viewer-menu__divider{margin:12px 0 10px}}
